+ return resources;
+ }
+
+ private void generateModelFromNodeTemplate(ISdcCsarHelper csarHelper, Service serviceModel,
+ List<Resource> resources, final List<Group> serviceGroups, ArtifactGeneratorToscaParser parser,
+ NodeTemplate nodeTemplate) {
+ String nodeTypeName = parser.normaliseNodeTypeName(nodeTemplate);
+ Model model = Model.getModelFor(nodeTypeName, nodeTemplate.getMetaData().getValue("type"));
+ if (model != null) {
+ if (nodeTemplate.getMetaData() != null) {
+ model.populateModelIdentificationInformation(nodeTemplate.getMetaData().getAllProperties());
+ }
+
+ parser.addRelatedModel(serviceModel, model);
+ if (model instanceof Resource) {
+ generateResourceModel(csarHelper, resources, parser, nodeTemplate, nodeTypeName);
+ }
+ } else {
+ for (Group group : serviceGroups) {
+ if (group.getMembers().contains(nodeTemplate.getName())
+ && WidgetConfigurationUtil.isSupportedInstanceGroup(group.getType())) {
+ log.debug(String.format("Adding group %s (type %s) with members %s", group.getName(),
+ group.getType(), group.getMembers()));
+
+ Resource groupModel = parser.createInstanceGroupModel(
+ parser.mergeProperties(group.getMetadata().getAllProperties(), group.getProperties()));
+ serviceModel.addResource(groupModel);
+ resources.add(groupModel);
+ }