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
