From 8cd16c40eb284f5cd968c9fc306573d79510d676 Mon Sep 17 00:00:00 2001
From: Stefano Borini <sborini@enthought.com>
Date: Fri, 21 Jul 2017 17:22:01 +0100
Subject: [PATCH] Dakota communicator now handles parameters with names

---
 .../dummy_mco/dakota/dakota_communicator.py     | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/force_bdss/core_plugins/dummy_mco/dakota/dakota_communicator.py b/force_bdss/core_plugins/dummy_mco/dakota/dakota_communicator.py
index 37aa364..ae0cb1f 100644
--- a/force_bdss/core_plugins/dummy_mco/dakota/dakota_communicator.py
+++ b/force_bdss/core_plugins/dummy_mco/dakota/dakota_communicator.py
@@ -9,13 +9,20 @@ class DakotaCommunicator(BaseMCOCommunicator):
         data = sys.stdin.read()
         values = list(map(float, data.split()))
 
-        value_types = self.model.value_types
-        if len(values) != len(value_types):
-            raise ValueError("Length of provided data differs from the number "
-                             "of expected types. {} {}".format(values,
-                                                               value_types))
+        parameters = self.model.parameters
+
+        if len(values) != len(parameters):
+            raise ValueError(
+                "The passed information length is {}, "
+                "but the model specifies {} values.".format(
+                    len(values), len(parameters)
+                ))
+
+        value_types = [p.value_type for p in parameters]
+        value_names = [p.name for p in parameters]
 
         return DataSourceParameters(
+            value_names=value_names,
             value_types=value_types,
             values=numpy.array(values)
         )
-- 
GitLab