From 2fa7d8ebca8a3210426ff8121377fc2cfd0517f0 Mon Sep 17 00:00:00 2001
From: Stefano Borini <sborini@enthought.com>
Date: Mon, 17 Jul 2017 10:57:39 +0100
Subject: [PATCH] Adding result class

---
 force_bdss/data_sources/base_data_source.py   |  3 +++
 force_bdss/data_sources/data_source_result.py | 22 +++++++++++++++++++
 2 files changed, 25 insertions(+)
 create mode 100644 force_bdss/data_sources/data_source_result.py

diff --git a/force_bdss/data_sources/base_data_source.py b/force_bdss/data_sources/base_data_source.py
index 49c1140..469ed8b 100644
--- a/force_bdss/data_sources/base_data_source.py
+++ b/force_bdss/data_sources/base_data_source.py
@@ -12,5 +12,8 @@ class BaseDataSource(six.with_metaclass(abc.ABCMeta)):
     def name(self):
         return self.bundle.name
 
+    @abc.abstractmethod
     def run(self):
+        """Executes the data source evaluation/fetching and returns
+        the list of results as a DataSourceResult instance."""
         pass
diff --git a/force_bdss/data_sources/data_source_result.py b/force_bdss/data_sources/data_source_result.py
new file mode 100644
index 0000000..17e52fb
--- /dev/null
+++ b/force_bdss/data_sources/data_source_result.py
@@ -0,0 +1,22 @@
+from traits.api import HasTraits, Array, List, String, Instance
+
+from .base_data_source import BaseDataSource
+
+
+class DataSourceResult(HasTraits):
+    """Represents the result of a simulator.
+    It contains the resulting cuba key, the associated uncertainty and the
+    originating simulator.
+    Difference between uncertainty and quality: uncertainty is a numerical value
+    of the value, as in the case of an experimental simulation.
+    quality is the level of accuracy of the (e.g.c omputational) method, as
+    the importance and reliability of that value. It should be an enumeration
+    value such as HIGH, MEDIUM, POOR"""
+
+    originator = Instance(BaseDataSource)
+    value_types = List(String)
+    results = Array(shape=(None, None))
+    accuracy = Array(shape=(None, None))
+    quality = Array(shape=(None, None))
+
+
-- 
GitLab