</parent>
<artifactId>jython-tosca-parser</artifactId>
- <version>0.3.1-SNAPSHOT</version>
+ <version>${jython.tosca.parser.version}</version>
<dependencies>
<dependency>
package org.openecomp.sdc.toscaparser.api;
+import java.util.Map;
+
import org.openecomp.sdc.toscaparser.jython.JyNodeTemplate;
+import com.google.common.base.MoreObjects.ToStringHelper;
+
public class NodeTemplate extends EntityTemplate {
+ private final JyNodeTemplate jyNodeTemplate;
+
public NodeTemplate(JyNodeTemplate jyNodeTemplate) {
super(jyNodeTemplate);
+ this.jyNodeTemplate = jyNodeTemplate;
+ }
+
+ public Map<String, String> getMetadata() {
+ return jyNodeTemplate.getJyMetadata();
}
+
+ @Override
+ protected ToStringHelper toStringHelper() {
+ return super.toStringHelper()
+ .add("metadata", getMetadata());
+ }
}
import static com.google.common.collect.ImmutableList.toImmutableList;
import java.util.List;
+import java.util.Map;
import java.util.Objects;
import org.openecomp.sdc.toscaparser.api.parameters.Input;
JySubstitutionMappings jySubstitutionMappings = jyTopologyTemplate.getJySubstitutionMappings();
return jySubstitutionMappings != null ? new SubstitutionMappings(jySubstitutionMappings) : null;
}
+
+ public Map<String, String> getMetadata() {
+ return jyTopologyTemplate.getJyMetadata();
+ }
@Override
public String toString() {
.add("nodeTemplates", getNodeTemplates())
.add("groups", getGroups())
.add("substitutionMappings", getSubstitutionMappings())
+ .add("metadata", getMetadata())
.toString();
}
}
package org.openecomp.sdc.toscaparser.jython;
+import java.util.Map;
+
public interface JyNodeTemplate extends JyEntityTemplate {
+ Map<String, String> getJyMetadata();
}
package org.openecomp.sdc.toscaparser.jython;
import java.util.List;
+import java.util.Map;
import org.openecomp.sdc.toscaparser.jython.parameters.JyInput;
List<JyInput> getJyInputs();
List<JyGroup> getJyGroups();
JySubstitutionMappings getJySubstitutionMappings();
+ Map<String, String> getJyMetadata();
}
from toscaparser.entity_template import EntityTemplate
from toscaparser.relationship_template import RelationshipTemplate
from toscaparser.utils.gettextutils import _
+from toscaparser.utils import validateutils
from org.openecomp.sdc.toscaparser.jython import JyNodeTemplate
log = logging.getLogger('tosca')
'''Node template from a Tosca profile.'''
def __init__(self, name, node_templates, custom_def=None,
available_rel_tpls=None, available_rel_types=None):
- super(NodeTemplate, self).__init__(name, node_templates[name],
+ nodeTemplate = node_templates[name]
+ super(NodeTemplate, self).__init__(name, nodeTemplate,
'node_type',
custom_def)
self.templates = node_templates
- self._validate_fields(node_templates[name])
+ self._validate_fields(nodeTemplate)
self.custom_def = custom_def
self.related = {}
self.relationship_tpl = []
self.available_rel_types = available_rel_types
self._relationships = {}
self.sub_mapping_tosca_template = None
+ self.meta_data = None
+ if self.METADATA in nodeTemplate:
+ self.meta_data = nodeTemplate.get(self.METADATA)
+ validateutils.validate_map(self.meta_data)
+
+ def getJyMetadata(self):
+ return self.meta_data
@property
def relationships(self):
operation['implementation'])
finally:
if self.temp_dir:
- shutil.rmtree(self.temp_dir)
+ shutil.rmtree(self.temp_dir, False, self._printPath)
+
+
+ def _printPath(self, func, path, exc_info):
+ print('Could not delete: ' + path)
+
def _validate_external_reference(self, tpl_file, resource_file,
raise_exc=True):
from toscaparser.substitution_mappings import SubstitutionMappings
from toscaparser.tpl_relationship_graph import ToscaGraph
from toscaparser.utils.gettextutils import _
+from toscaparser.utils import validateutils
from org.openecomp.sdc.toscaparser.jython import JyTopologyTemplate
# Topology template key names
SECTIONS = (DESCRIPTION, INPUTS, NODE_TEMPLATES,
RELATIONSHIP_TEMPLATES, OUTPUTS, GROUPS,
- SUBSTITUION_MAPPINGS, POLICIES) = \
+ SUBSTITUION_MAPPINGS, POLICIES, METADATA) = \
('description', 'inputs', 'node_templates',
'relationship_templates', 'outputs', 'groups',
- 'substitution_mappings', 'policies')
+ 'substitution_mappings', 'policies', 'metadata')
log = logging.getLogger("tosca.model")
self.tpl = template
self.sub_mapped_node_template = sub_mapped_node_template
if self.tpl:
+ self.meta_data = None
+ if METADATA in self.tpl:
+ self.meta_data = self.tpl.get(METADATA)
+ validateutils.validate_map(self.meta_data)
self.custom_defs = custom_defs
self.rel_types = rel_types
self.parsed_params = parsed_params
def getJySubstitutionMappings(self):
return self.substitution_mappings
+
+ def getJyMetadata(self):
+ return self.meta_data
def _inputs(self):
inputs = []
<logback.version>1.1.2</logback.version>
<junit.version>4.12</junit.version>
<snakeyaml.version>1.14</snakeyaml.version>
+ <jython.tosca.parser.version>0.4.0-SNAPSHOT</jython.tosca.parser.version>
<!-- Repositories -->
<!-- <nexusServerName>mavencentral.it.att.com</nexusServerName> -->
<dependency>\r
<groupId>org.openecomp.sdc.sdc-distribution-client</groupId>\r
<artifactId>jython-tosca-parser</artifactId>\r
- <version>0.3.1-SNAPSHOT</version>\r
+ <version>${jython.tosca.parser.version}</version>\r
</dependency>\r
\r
\r