[VID-15] fixes for various issues
[vid.git] / vid-app-common / src / main / java / org / openecomp / vid / controller / VidController.java
index e22448a..f7bf3a5 100755 (executable)
@@ -41,6 +41,7 @@ import javax.ws.rs.client.Client;
 import org.json.JSONObject;\r
 import org.json.JSONTokener;\r
 import org.openecomp.vid.exceptions.VidServiceUnavailableException;\r
+import org.openecomp.vid.model.ModelUtil;\r
 import org.openecomp.vid.model.ModelConstants;\r
 import org.openecomp.vid.model.Network;\r
 import org.openecomp.vid.model.ServiceModel;\r
@@ -191,12 +192,11 @@ public class VidController extends RestrictedBaseController {
         LOG.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + methodName + " start");\r
         boolean isNewFlow = false;\r
         \r
-        String asdcModelNamespace = VidProperties.getAsdcModelNamespace();\r
+        String asdcModelNamespaces[] = VidProperties.getAsdcModelNamespace();\r
+        String[] vnfTags = ModelUtil.getTags(asdcModelNamespaces, ModelConstants.VNF);\r
+        String[] networkTags = ModelUtil.getTags(asdcModelNamespaces, ModelConstants.NETWORK);\r
+        String[] vfModuleTags = ModelUtil.getTags(asdcModelNamespaces, ModelConstants.VF_MODULE);\r
         \r
-        String vnfTag = asdcModelNamespace + ModelConstants.VNF;\r
-       String networkTag = asdcModelNamespace + ModelConstants.NETWORK;\r
-       String vfModuleTag = asdcModelNamespace + ModelConstants.VF_MODULE;\r
-       \r
                try {\r
                        final ServiceModel serviceModel = new ServiceModel();\r
                        final Map<String, VNF> vnfs = new HashMap<String, VNF> ();\r
@@ -214,7 +214,8 @@ public class VidController extends RestrictedBaseController {
                                final NodeTemplate nodeTemplate = component.getValue();\r
                                final String type = nodeTemplate.getType();\r
                                \r
-                               if (type.startsWith(vnfTag)) {\r
+                               // is it a VNF?\r
+                               if ( ModelUtil.isType (type, vnfTags) ) {\r
                     LOG.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + methodName + " found node template type: " + type);\r
 \r
                                        final UUID vnfUuid = UUID.fromString(nodeTemplate.getMetadata().getUUID());\r
@@ -234,8 +235,9 @@ public class VidController extends RestrictedBaseController {
                                                isNewFlow = true;\r
                                        }\r
                                }\r
-                               // Networks\r
-                               if (type.startsWith(networkTag)) {\r
+                               \r
+                               // is it a Network?\r
+                               if ( ModelUtil.isType (type, networkTags) ) {\r
                                        LOG.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + methodName + " found node template type: " + type);\r
                                        final UUID networkUuid = UUID.fromString(nodeTemplate.getMetadata().getUUID());\r
                                        final Network network = new Network();\r
@@ -291,9 +293,8 @@ public class VidController extends RestrictedBaseController {
                                        // VF Module Customization UUID: We may have the complete set of all VF Modules for all VNFs under service and VF Modules under each VNF.\r
                                        // Keep using the VF Modules under VNFs but we need to get the customization uuid from the service level and put them\r
                                        // under each VF module at the VNF level\r
+                                       if ( ModelUtil.isType (type, vfModuleTags) ) {\r
                                        \r
-                                       if (type.startsWith(vfModuleTag)) {\r
-                                               \r
                                                VfModule vfMod = VfModule.extractVfModule(modelCustomizationName, group);\r
                                                \r
                                                // Add the vf module customization uuid from the service model\r
@@ -323,6 +324,10 @@ public class VidController extends RestrictedBaseController {
                        LOG.error("Failed to retrieve service definitions from SDC", e);\r
                        throw new VidServiceUnavailableException("Failed to retrieve service definitions from SDC", e);\r
                }\r
+               catch (Exception e) {\r
+                       LOG.error("Failed to retrieve service definitions from SDC", e);\r
+                       throw new VidServiceUnavailableException("Failed to retrieve service definitions from SDC", e);\r
+               }\r
        }\r
 \r
        public ServiceModel getCustomizedServices(ToscaModel asdcServiceToscaModel, ServiceModel serviceModel) {\r