- private String normaliseNodeTypeName(NodeTemplate nodeType) {
- String nodeTypeName = nodeType.getType();
- Metadata metadata = nodeType.getMetaData();
- if (metadata != null && hasAllottedResource(metadata.getAllProperties())) {
- if (nodeType.getType().contains("org.openecomp.resource.vf.")) {
- nodeTypeName = "org.openecomp.resource.vf.allottedResource";
- }
- if (nodeType.getType().contains("org.openecomp.resource.vfc.")) {
- nodeTypeName = "org.openecomp.resource.vfc.AllottedResource";
+ /**
+ * @param memberNodes
+ * @param groupModel
+ * @return a list of Resources
+ * @throws XmlArtifactGenerationException
+ * if a member node template is a widget and there is no configuration defined for that relation's
+ * widget type
+ */
+ private List<Resource> generateResourcesAndWidgets(final ArrayList<NodeTemplate> memberNodes,
+ final Resource groupModel) throws XmlArtifactGenerationException {
+ log.debug(String.format("Processing member nodes for Group %s (invariant UUID %s)", //
+ groupModel.getModelName(), groupModel.getModelId()));
+
+ List<Resource> resources = new ArrayList<>();
+
+ for (NodeTemplate nodeTemplate : memberNodes) {
+ String nodeTypeName = nodeTemplate.getType();
+ final String metadataType = nodeTemplate.getMetaData().getValue("type");
+
+ log.debug(String.format("Get model for %s (metadata type %s)", nodeTypeName, metadataType));
+ Resource memberModel = Model.getModelFor(nodeTypeName, metadataType);
+
+ if (memberModel != null) {
+ memberModel.populateModelIdentificationInformation(nodeTemplate.getMetaData().getAllProperties());
+
+ log.debug(String.format("Generating grouped %s (%s) from TOSCA type %s",
+ memberModel.getClass().getSuperclass().getSimpleName(), memberModel.getClass(), nodeTypeName));
+
+ addRelatedModel(groupModel, memberModel);
+ if (memberModel.getModelType() == ModelType.RESOURCE) {
+ resources.add(memberModel);
+ }