Repository: incubator-ariatosca
Updated Branches:
  refs/heads/Unified_coerce dd99f0fbc -> 2c2fe8688


Unified_coerce


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/2c2fe868
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/2c2fe868
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/2c2fe868

Branch: refs/heads/Unified_coerce
Commit: 2c2fe86889cb9beae375b2aba08ab21092e84397
Parents: dd99f0f
Author: max-orlov <[email protected]>
Authored: Wed Mar 8 17:02:34 2017 +0200
Committer: max-orlov <[email protected]>
Committed: Wed Mar 8 17:02:34 2017 +0200

----------------------------------------------------------------------
 aria/modeling/bases.py            | 13 ++++++++-
 aria/modeling/service.py          | 45 -------------------------------
 aria/modeling/service_template.py | 49 ----------------------------------
 aria/modeling/utils.py            | 13 ---------
 4 files changed, 12 insertions(+), 108 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/2c2fe868/aria/modeling/bases.py
----------------------------------------------------------------------
diff --git a/aria/modeling/bases.py b/aria/modeling/bases.py
index a4db320..769d620 100644
--- a/aria/modeling/bases.py
+++ b/aria/modeling/bases.py
@@ -388,7 +388,18 @@ class InstanceModelMixin(ModelMixin):
         pass
 
     def coerce_values(self, context, container, report_issues):
-        pass
+        if container is None:
+            return
+        for value in vars(container).values():
+            if value is not None and isinstance(value, ModelMixin):
+                if isinstance(value, dict):
+                    value = value.values()
+
+                if isinstance(value, list):
+                    for item in value:
+                        item.coerce_values(context, container, report_issues)
+                else:
+                    utils.coerce_value(context, container, value, 
report_issues)
 
     def dump(self, context):
         pass

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/2c2fe868/aria/modeling/service.py
----------------------------------------------------------------------
diff --git a/aria/modeling/service.py b/aria/modeling/service.py
index eb8acb5..705e87b 100644
--- a/aria/modeling/service.py
+++ b/aria/modeling/service.py
@@ -234,17 +234,6 @@ class ServiceBase(InstanceModelMixin): # pylint: 
disable=too-many-public-methods
         utils.validate_dict_values(context, self.outputs)
         utils.validate_dict_values(context, self.operations)
 
-    def coerce_values(self, context, container, report_issues):
-        utils.coerce_dict_values(context, container, self.meta_data, 
report_issues)
-        utils.coerce_list_values(context, container, self.nodes, report_issues)
-        utils.coerce_list_values(context, container, self.groups, 
report_issues)
-        utils.coerce_list_values(context, container, self.policies, 
report_issues)
-        if self.substitution is not None:
-            self.substitution.coerce_values(context, container, report_issues)
-        utils.coerce_dict_values(context, container, self.inputs, 
report_issues)
-        utils.coerce_dict_values(context, container, self.outputs, 
report_issues)
-        utils.coerce_dict_values(context, container, self.operations, 
report_issues)
-
     def dump(self, context):
         if self.description is not None:
             console.puts(context.style.meta(self.description))
@@ -553,13 +542,6 @@ class NodeBase(InstanceModelMixin):
         utils.validate_dict_values(context, self.capabilities)
         utils.validate_list_values(context, self.outbound_relationships)
 
-    def coerce_values(self, context, container, report_issues):
-        utils.coerce_dict_values(context, self, self.properties, report_issues)
-        utils.coerce_dict_values(context, self, self.interfaces, report_issues)
-        utils.coerce_dict_values(context, self, self.artifacts, report_issues)
-        utils.coerce_dict_values(context, self, self.capabilities, 
report_issues)
-        utils.coerce_list_values(context, self, self.outbound_relationships, 
report_issues)
-
     def dump(self, context):
         console.puts('Node: {0}'.format(context.style.node(self.name)))
         with context.style.indent:
@@ -656,10 +638,6 @@ class GroupBase(InstanceModelMixin):
         utils.validate_dict_values(context, self.properties)
         utils.validate_dict_values(context, self.interfaces)
 
-    def coerce_values(self, context, container, report_issues):
-        utils.coerce_dict_values(context, container, self.properties, 
report_issues)
-        utils.coerce_dict_values(context, container, self.interfaces, 
report_issues)
-
     def dump(self, context):
         console.puts('Group: {0}'.format(context.style.node(self.name)))
         with context.style.indent:
@@ -754,9 +732,6 @@ class PolicyBase(InstanceModelMixin):
     def validate(self, context):
         utils.validate_dict_values(context, self.properties)
 
-    def coerce_values(self, context, container, report_issues):
-        utils.coerce_dict_values(context, container, self.properties, 
report_issues)
-
     def dump(self, context):
         console.puts('Policy: {0}'.format(context.style.node(self.name)))
         with context.style.indent:
@@ -831,9 +806,6 @@ class SubstitutionBase(InstanceModelMixin):
     def validate(self, context):
         utils.validate_dict_values(context, self.mappings)
 
-    def coerce_values(self, context, container, report_issues):
-        utils.coerce_dict_values(context, container, self.mappings, 
report_issues)
-
     def dump(self, context):
         console.puts('Substitution:')
         with context.style.indent:
@@ -1050,10 +1022,6 @@ class RelationshipBase(InstanceModelMixin):
         utils.validate_dict_values(context, self.properties)
         utils.validate_dict_values(context, self.interfaces)
 
-    def coerce_values(self, context, container, report_issues):
-        utils.coerce_dict_values(context, container, self.properties, 
report_issues)
-        utils.coerce_dict_values(context, container, self.interfaces, 
report_issues)
-
     def dump(self, context):
         if self.name:
             console.puts('{0} ->'.format(context.style.node(self.name)))
@@ -1167,9 +1135,6 @@ class CapabilityBase(InstanceModelMixin):
     def validate(self, context):
         utils.validate_dict_values(context, self.properties)
 
-    def coerce_values(self, context, container, report_issues):
-        utils.coerce_dict_values(context, container, self.properties, 
report_issues)
-
     def dump(self, context):
         console.puts(context.style.node(self.name))
         with context.style.indent:
@@ -1279,10 +1244,6 @@ class InterfaceBase(InstanceModelMixin):
         utils.validate_dict_values(context, self.inputs)
         utils.validate_dict_values(context, self.operations)
 
-    def coerce_values(self, context, container, report_issues):
-        utils.coerce_dict_values(context, container, self.inputs, 
report_issues)
-        utils.coerce_dict_values(context, container, self.operations, 
report_issues)
-
     def dump(self, context):
         console.puts(context.style.node(self.name))
         if self.description:
@@ -1395,9 +1356,6 @@ class OperationBase(InstanceModelMixin):
         # TODO must be associated with interface or service
         utils.validate_dict_values(context, self.inputs)
 
-    def coerce_values(self, context, container, report_issues):
-        utils.coerce_dict_values(context, container, self.inputs, 
report_issues)
-
     def dump(self, context):
         console.puts(context.style.node(self.name))
         if self.description:
@@ -1508,9 +1466,6 @@ class ArtifactBase(InstanceModelMixin):
     def validate(self, context):
         utils.validate_dict_values(context, self.properties)
 
-    def coerce_values(self, context, container, report_issues):
-        utils.coerce_dict_values(context, container, self.properties, 
report_issues)
-
     def dump(self, context):
         console.puts(context.style.node(self.name))
         if self.description:

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/2c2fe868/aria/modeling/service_template.py
----------------------------------------------------------------------
diff --git a/aria/modeling/service_template.py 
b/aria/modeling/service_template.py
index ebbe904..6ac61e6 100644
--- a/aria/modeling/service_template.py
+++ b/aria/modeling/service_template.py
@@ -324,17 +324,6 @@ class ServiceTemplateBase(TemplateModelMixin):
         if self.artifact_types is not None:
             self.artifact_types.validate(context)
 
-    def coerce_values(self, context, container, report_issues):
-        utils.coerce_dict_values(context, container, self.meta_data, 
report_issues)
-        utils.coerce_list_values(context, container, self.node_templates, 
report_issues)
-        utils.coerce_list_values(context, container, self.group_templates, 
report_issues)
-        utils.coerce_list_values(context, container, self.policy_templates, 
report_issues)
-        if self.substitution_template is not None:
-            self.substitution_template.coerce_values(context, container, 
report_issues)
-        utils.coerce_dict_values(context, container, self.inputs, 
report_issues)
-        utils.coerce_dict_values(context, container, self.outputs, 
report_issues)
-        utils.coerce_dict_values(context, container, self.operation_templates, 
report_issues)
-
     def dump(self, context):
         if self.description is not None:
             console.puts(context.style.meta(self.description))
@@ -522,13 +511,6 @@ class NodeTemplateBase(TemplateModelMixin):
         utils.validate_dict_values(context, self.capability_templates)
         utils.validate_list_values(context, self.requirement_templates)
 
-    def coerce_values(self, context, container, report_issues):
-        utils.coerce_dict_values(context, self, self.properties, report_issues)
-        utils.coerce_dict_values(context, self, self.interface_templates, 
report_issues)
-        utils.coerce_dict_values(context, self, self.artifact_templates, 
report_issues)
-        utils.coerce_dict_values(context, self, self.capability_templates, 
report_issues)
-        utils.coerce_list_values(context, self, self.requirement_templates, 
report_issues)
-
     def dump(self, context):
         console.puts('Node template: 
{0}'.format(context.style.node(self.name)))
         if self.description:
@@ -639,10 +621,6 @@ class GroupTemplateBase(TemplateModelMixin):
         utils.validate_dict_values(context, self.properties)
         utils.validate_dict_values(context, self.interface_templates)
 
-    def coerce_values(self, context, container, report_issues):
-        utils.coerce_dict_values(context, self, self.properties, report_issues)
-        utils.coerce_dict_values(context, self, self.interface_templates, 
report_issues)
-
     def dump(self, context):
         console.puts('Group template: 
{0}'.format(context.style.node(self.name)))
         if self.description:
@@ -744,9 +722,6 @@ class PolicyTemplateBase(TemplateModelMixin):
     def validate(self, context):
         utils.validate_dict_values(context, self.properties)
 
-    def coerce_values(self, context, container, report_issues):
-        utils.coerce_dict_values(context, self, self.properties, report_issues)
-
     def dump(self, context):
         console.puts('Policy template: 
{0}'.format(context.style.node(self.name)))
         if self.description:
@@ -814,9 +789,6 @@ class SubstitutionTemplateBase(TemplateModelMixin):
     def validate(self, context):
         utils.validate_dict_values(context, self.mappings)
 
-    def coerce_values(self, context, container, report_issues):
-        utils.coerce_dict_values(context, self, self.mappings, report_issues)
-
     def dump(self, context):
         console.puts('Substitution template:')
         with context.style.indent:
@@ -1083,10 +1055,6 @@ class RequirementTemplateBase(TemplateModelMixin):
         if self.relationship_template:
             self.relationship_template.validate(context)
 
-    def coerce_values(self, context, container, report_issues):
-        if self.relationship_template is not None:
-            self.relationship_template.coerce_values(context, container, 
report_issues)
-
     def dump(self, context):
         if self.name:
             console.puts(context.style.node(self.name))
@@ -1194,10 +1162,6 @@ class RelationshipTemplateBase(TemplateModelMixin):
         utils.validate_dict_values(context, self.properties)
         utils.validate_dict_values(context, self.interface_templates)
 
-    def coerce_values(self, context, container, report_issues):
-        utils.coerce_dict_values(context, self, self.properties, report_issues)
-        utils.coerce_dict_values(context, self, self.interface_templates, 
report_issues)
-
     def dump(self, context):
         if self.type is not None:
             console.puts('Relationship type: 
{0}'.format(context.style.type(self.type.name)))
@@ -1324,9 +1288,6 @@ class CapabilityTemplateBase(TemplateModelMixin):
     def validate(self, context):
         utils.validate_dict_values(context, self.properties)
 
-    def coerce_values(self, context, container, report_issues):
-        utils.coerce_dict_values(context, self, self.properties, report_issues)
-
     def dump(self, context):
         console.puts(context.style.node(self.name))
         if self.description:
@@ -1440,10 +1401,6 @@ class InterfaceTemplateBase(TemplateModelMixin):
         utils.validate_dict_values(context, self.inputs)
         utils.validate_dict_values(context, self.operation_templates)
 
-    def coerce_values(self, context, container, report_issues):
-        utils.coerce_dict_values(context, container, self.inputs, 
report_issues)
-        utils.coerce_dict_values(context, container, self.operation_templates, 
report_issues)
-
     def dump(self, context):
         console.puts(context.style.node(self.name))
         if self.description:
@@ -1559,9 +1516,6 @@ class OperationTemplateBase(TemplateModelMixin):
     def validate(self, context):
         utils.validate_dict_values(context, self.inputs)
 
-    def coerce_values(self, context, container, report_issues):
-        utils.coerce_dict_values(context, container, self.inputs, 
report_issues)
-
     def dump(self, context):
         console.puts(context.style.node(self.name))
         if self.description:
@@ -1672,9 +1626,6 @@ class ArtifactTemplateBase(TemplateModelMixin):
     def validate(self, context):
         utils.validate_dict_values(context, self.properties)
 
-    def coerce_values(self, context, container, report_issues):
-        utils.coerce_dict_values(context, container, self.properties, 
report_issues)
-
     def dump(self, context):
         console.puts(context.style.node(self.name))
         if self.description:

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/2c2fe868/aria/modeling/utils.py
----------------------------------------------------------------------
diff --git a/aria/modeling/utils.py b/aria/modeling/utils.py
index a071d69..857e81e 100644
--- a/aria/modeling/utils.py
+++ b/aria/modeling/utils.py
@@ -56,19 +56,6 @@ def validate_list_values(context, the_list):
         value.validate(context)
 
 
-def coerce_dict_values(context, container, the_dict, report_issues=False):
-    if not the_dict:
-        return
-    coerce_list_values(context, container, the_dict.itervalues(), 
report_issues)
-
-
-def coerce_list_values(context, container, the_list, report_issues=False):
-    if not the_list:
-        return
-    for value in the_list:
-        value.coerce_values(context, container, report_issues)
-
-
 def instantiate_dict(context, container, the_dict, from_dict):
     if not from_dict:
         return

Reply via email to