[VID-12] Delivery of remaining features for v1.1 45/4545/1
authorjimmydot <jf2512@att.com>
Tue, 30 May 2017 20:06:51 +0000 (16:06 -0400)
committerjimmydot <jf2512@att.com>
Tue, 30 May 2017 20:06:51 +0000 (16:06 -0400)
Change-Id: I50305ba25aaa34ee1ca7640237f31ab824655a34
Signed-off-by: jimmydot <jf2512@att.com>
23 files changed:
lf_config/OpenECOMP-VID-LF-release-notes.txt
vid-app-common/src/main/java/org/openecomp/vid/asdc/beans/tosca/ToscaMeta.java
vid-app-common/src/main/java/org/openecomp/vid/asdc/rest/RestfulAsdcClient.java
vid-app-common/src/main/java/org/openecomp/vid/controller/AaiController.java
vid-app-common/src/main/java/org/openecomp/vid/controller/VidHomeController.java [deleted file]
vid-app-common/src/main/webapp/app/vid/scripts/constants/componentConstants.js
vid-app-common/src/main/webapp/app/vid/scripts/constants/fieldConstants.js
vid-app-common/src/main/webapp/app/vid/scripts/constants/parameterConstants.js
vid-app-common/src/main/webapp/app/vid/scripts/constants/vidConfiguration.js
vid-app-common/src/main/webapp/app/vid/scripts/controller/InstantiationController.js
vid-app-common/src/main/webapp/app/vid/scripts/controller/ServiceModelController.js
vid-app-common/src/main/webapp/app/vid/scripts/controller/aaiSubscriberController.js
vid-app-common/src/main/webapp/app/vid/scripts/controller/creationDialogController.js
vid-app-common/src/main/webapp/app/vid/scripts/controller/subscriberSearch.js
vid-app-common/src/main/webapp/app/vid/scripts/directives/parameterBlockDirective.js
vid-app-common/src/main/webapp/app/vid/scripts/services/aaiService.js
vid-app-common/src/main/webapp/app/vid/scripts/services/creationService.js
vid-app-common/src/main/webapp/app/vid/scripts/services/dataService.js
vid-app-common/src/main/webapp/app/vid/scripts/services/utilityService.js
vid-app-common/src/main/webapp/app/vid/scripts/view-models/createInstanceServiceModels.htm
vid-app-common/src/main/webapp/app/vid/scripts/view-models/creationDialog.htm
vid-app-common/src/main/webapp/app/vid/scripts/view-models/serviceModels.htm
vid-app-common/version.properties [changed mode: 0644->0755]

index 7cb89e6..169d2cd 100644 (file)
@@ -7,8 +7,8 @@ ${gerrit_repo_root}/vid/lf_config/vid-pre-init.sql
 
 2.  Set up and run the mariadb docker image:
 
-docker run --name vid-mariadb -e MYSQL_DATABASE=vid_openecomp -e MYSQL_USER=vidadmin -e MYSQL_PASSWORD=<db password here> -e MYSQL_ROOT_PASSWORD=<root db password here> -v /path/to/vid-my.cnf:/etc/mysql/my.cnf -v /path/to/vid-pre-init.sql:/docker-entrypoint-initdb.d/vid-pre-init.sql -v /var/lib/mysql -d mariadb:10
+docker run --name vid-mariadb -e MYSQL_DATABASE=vid_openecomp_epsdk -e MYSQL_USER=vidadmin -e MYSQL_PASSWORD=<db password here> -e MYSQL_ROOT_PASSWORD=<root db password here> -v /path/to/vid-my.cnf:/etc/mysql/my.cnf -v /path/to/vid-pre-init.sql:/docker-entrypoint-initdb.d/vid-pre-init.sql -v /var/lib/mysql -d mariadb:10
 
 3.  Set up and run the vid-server docker image:
 
-docker run -e VID_MYSQL_DBNAME=vid_openecomp -e VID_MYSQL_PASS=<db password here> --name vid-server -p 8080:8080 --link vid-mariadb:vid-mariadb-docker-instance -d <openecomp-nexus>:<openecomp-nexus-port>/openecomp/vid:1.0.0
+docker run -e VID_MYSQL_DBNAME=vid_openecomp_epsdk -e VID_MYSQL_PASS=<db password here> --name vid-server -p 8080:8080 --link vid-mariadb:vid-mariadb-docker-instance -d <openecomp-nexus>:<openecomp-nexus-port>/openecomp/vid:1.0.0
index 6693837..a5295c4 100755 (executable)
@@ -1,9 +1,9 @@
 /*-\r
- * ============LICENSE_START=======================================================
- * VID
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
+ * ============LICENSE_START=======================================================\r
+ * VID\r
+ * ================================================================================\r
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.\r
+ * ================================================================================\r
  * Licensed under the Apache License, Version 2.0 (the "License");\r
  * you may not use this file except in compliance with the License.\r
  * You may obtain a copy of the License at\r
@@ -14,7 +14,7 @@
  * distributed under the License is distributed on an "AS IS" BASIS,\r
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
  * See the License for the specific language governing permissions and\r
- * limitations under the License.
+ * limitations under the License.\r
  * ============LICENSE_END=========================================================\r
  */\r
 \r
@@ -104,12 +104,14 @@ public class ToscaMeta {
                \r
                try {\r
                        while ((line = br.readLine()) != null) {\r
-                               final String[] entry = line.split(":");\r
-                               \r
-                               if (entry.length != 2) throw new AsdcCatalogException("TOSCA.meta file cannot be parsed (more than 1 colon found on a single line");\r
-                               if (!entry[1].startsWith(" ")) throw new AsdcCatalogException("TOSCA.meta file cannot be parsed (: not immediately followed by ' ')");\r
-                               \r
-                               metadata.put(entry[0], entry[1].substring(1));\r
+                               if ( line.length() > 0 ) {\r
+                                       final String[] entry = line.split(":");\r
+                                       \r
+                                       if (entry.length != 2) throw new AsdcCatalogException("TOSCA.meta file cannot be parsed (more than 1 colon found on a single line");\r
+                                       if (!entry[1].startsWith(" ")) throw new AsdcCatalogException("TOSCA.meta file cannot be parsed (: not immediately followed by ' ')");\r
+                                       \r
+                                       metadata.put(entry[0], entry[1].substring(1));\r
+                               }\r
                        }\r
                } catch (IOException e) {\r
                        metadata.clear();\r
index 26d45cc..9f7c3a5 100755 (executable)
@@ -22,16 +22,19 @@ package org.openecomp.vid.asdc.rest;
 \r
 import java.io.IOException;\r
 import java.io.InputStream;\r
+import java.io.FileInputStream;\r
+import java.io.File;\r
 import java.net.URI;\r
 import java.nio.file.Files;\r
 import java.nio.file.Path;\r
 import java.nio.file.StandardCopyOption;\r
+import java.text.DateFormat;\r
+import java.text.SimpleDateFormat;\r
 import java.util.Collection;\r
 import java.util.Collections;\r
 import java.util.Map;\r
 import java.util.Map.Entry;\r
 import java.util.UUID;\r
-import java.util.logging.Logger;\r
 import java.util.zip.ZipFile;\r
 \r
 import javax.ws.rs.NotFoundException;\r
@@ -44,6 +47,7 @@ import javax.ws.rs.core.GenericType;
 import javax.ws.rs.core.MediaType;\r
 import javax.ws.rs.core.MultivaluedHashMap;\r
 \r
+import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;\r
 import org.openecomp.vid.asdc.AsdcCatalogException;\r
 import org.openecomp.vid.asdc.AsdcClient;\r
 import org.openecomp.vid.asdc.beans.Artifact;\r
@@ -64,8 +68,11 @@ import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
  */\r
 public class RestfulAsdcClient implements AsdcClient {\r
 \r
-       /** The Constant LOGGER. */\r
-       private static final Logger LOGGER = Logger.getLogger(RestfulAsdcClient.class.getName());\r
+       /** The Constant LOG. */\r
+       private static final EELFLoggerDelegate LOG = EELFLoggerDelegate.getLogger(RestfulAsdcClient.class);\r
+       \r
+       /** The Constant dateFormat. */\r
+       final static DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss:SSSS");\r
        \r
        /** The client. */\r
        private final Client client;\r
@@ -422,7 +429,6 @@ public class RestfulAsdcClient implements AsdcClient {
         */\r
        private ToscaCsar getToscaModel(InputStream csarInputStream) throws AsdcCatalogException {\r
                final Path csarFile;\r
-               \r
                try {\r
                        csarFile = Files.createTempFile("csar", ".zip");\r
                        Files.copy(csarInputStream, csarFile, StandardCopyOption.REPLACE_EXISTING);\r
@@ -444,10 +450,17 @@ public class RestfulAsdcClient implements AsdcClient {
                                final ToscaCsar.Builder csarBuilder = new ToscaCsar.Builder(parentModel);\r
                                \r
                                for (Map<String, Map<String, String>> imports : parentModel.getImports()) {\r
+                                       LOG.debug("imports = " + imports.toString());\r
                                        for (Entry<String, Map<String, String>> entry : imports.entrySet()) {\r
-                                               final InputStream toscaChildEntryYamlStream = csar.getInputStream(csar.getEntry("Definitions/" + entry.getValue().get("file")));\r
-                                               final ToscaModel childModel = yaml.loadAs(toscaChildEntryYamlStream, ToscaModel.class);\r
-                                               csarBuilder.addVnf(childModel);\r
+                                               if ( entry.getValue() != null) {\r
+                                                       String fname = entry.getValue().get("file");\r
+                                                       if ( ( fname != null ) && (fname.startsWith("service") || fname.startsWith("resource")) ) {\r
+                                                               LOG.debug("fname = " + fname);\r
+                                                               final InputStream toscaChildEntryYamlStream = csar.getInputStream(csar.getEntry("Definitions/" + fname ));\r
+                                                               final ToscaModel childModel = yaml.loadAs(toscaChildEntryYamlStream, ToscaModel.class);\r
+                                                               csarBuilder.addVnf(childModel);\r
+                                                       }\r
+                                               }\r
                                        }\r
                                }\r
                                \r
index 7cb25c2..92b7528 100755 (executable)
@@ -126,7 +126,10 @@ public class AaiController extends RestrictedBaseController{
                        User user = (User) session.getAttribute(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME));\r
                        if (user != null)\r
                        {\r
-                               userId = user.getHrid();\r
+                               //userId = user.getHrid();\r
+                               userId = user.getLoginId();\r
+                               if (userId == null)\r
+                                       userId = user.getOrgUserId();\r
                        }\r
                }\r
 \r
diff --git a/vid-app-common/src/main/java/org/openecomp/vid/controller/VidHomeController.java b/vid-app-common/src/main/java/org/openecomp/vid/controller/VidHomeController.java
deleted file mode 100755 (executable)
index cfb915b..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/*-\r
- * ============LICENSE_START=======================================================\r
- * VID\r
- * ================================================================================\r
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.\r
- * ================================================================================\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- * \r
- *      http://www.apache.org/licenses/LICENSE-2.0\r
- * \r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * ============LICENSE_END=========================================================\r
- */\r
-\r
-package org.openecomp.vid.controller;\r
-\r
-\r
-import javax.servlet.ServletContext;\r
-import javax.servlet.http.HttpServletRequest;\r
-\r
-\r
-import org.springframework.beans.factory.annotation.Autowired;\r
-\r
-import org.springframework.web.bind.annotation.RequestMapping;\r
-import org.springframework.web.bind.annotation.RequestMethod;\r
-import org.springframework.web.bind.annotation.RestController;\r
-import org.springframework.web.servlet.ModelAndView;\r
-\r
-import org.openecomp.portalsdk.core.controller.RestrictedBaseController;\r
-\r
-\r
-/**\r
- * The Class VidHomeController.\r
- */\r
-@RestController\r
-public class VidHomeController extends RestrictedBaseController{\r
-       \r
-       /** The view name. */\r
-       String viewName;\r
-       \r
-       \r
-       /** The servlet context. */\r
-       private @Autowired ServletContext servletContext;\r
-       \r
-       /**\r
-        * Welcome.\r
-        *\r
-        * @param request the request\r
-        * @return the model and view\r
-        */\r
-       @RequestMapping(value = {"/vidhome" }, method = RequestMethod.GET)\r
-       public ModelAndView welcome(HttpServletRequest request) {\r
-               \r
-         return new ModelAndView(getViewName());               \r
-       }\r
-       \r
-       /* (non-Javadoc)\r
-        * @see org.openecomp.portalsdk.core.controller.RestrictedBaseController#getViewName()\r
-        */\r
-       public String getViewName() {\r
-               return viewName;\r
-       }\r
-       \r
-       /* (non-Javadoc)\r
-        * @see org.openecomp.portalsdk.core.controller.RestrictedBaseController#setViewName(java.lang.String)\r
-        */\r
-       public void setViewName(String viewName) {\r
-               this.viewName = viewName;\r
-       }\r
-\r
-       \r
-\r
-}\r
index 855f990..d2db094 100755 (executable)
-/*-\r
- * ============LICENSE_START=======================================================\r
- * VID\r
- * ================================================================================\r
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.\r
- * ================================================================================\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- * \r
- *      http://www.apache.org/licenses/LICENSE-2.0\r
- * \r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * ============LICENSE_END=========================================================\r
- */\r
-\r
-"use strict";\r
-\r
-appDS2.constant("COMPONENT", (function() {\r
-    return {\r
-    A_LA_CARTE : "a la carte",\r
-    CLOUD_REGION_ID : "cloudRegionID",\r
-    COMPONENT_STATUS : "ComponentStatus",\r
-    CREATE_COMPONENT : "createComponent",\r
-    DELETE_COMPONENT : "deleteComponent",\r
-    ENTITY : "entity",\r
-    GET_COMPONENT_LIST : "getComponentList",\r
-    GET_SUBS : "getSubs",\r
-    GET_SUB_DETAILS : "getSubDetails",\r
-    GLOBAL_CUSTOMER_ID : "globalCustomerId",\r
-    MACRO : "Macro",\r
-       MODEL_VERSION_1 : "1",\r
-       MSO_CREATE_REQ : "createInstance",\r
-       MSO_DELETE_REQ : "deleteInstance",\r
-    NAME : "name",\r
-       NETWORK : "network",\r
-       NETWORKS : "networks",\r
-\r
-       QUERY_SERVICE_INSTANCE : "queryServiceInstance",\r
-       REFRESH_PROPERTIES : "refreshProperties",\r
-       SERVICE : "service",\r
-       SERVICE_TYPE : "serviceType",\r
-       SHOW_COMPONENT_DETAILS : "showComponentDetails",\r
-       STATUS : "status",\r
-       SUBSCRIBER_NAME : "subscriberName",\r
-       TENANT_ID : "tenantID",\r
-       TENANT_NAME : "tenantName",\r
-       TRUE : "true",\r
+/*-
+ * ============LICENSE_START=======================================================
+ * VID
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+"use strict";
+
+appDS2.constant("COMPONENT", (function() {
+    return {
+    A_LA_CARTE : "a la carte",
+    CLOUD_REGION_ID : "cloudRegionID",
+    COMPONENT_STATUS : "ComponentStatus",
+    CREATE_COMPONENT : "createComponent",
+    DELETE_COMPONENT : "deleteComponent",
+    ENTITY : "entity",
+    GET_COMPONENT_LIST : "getComponentList",
+    GET_SUBS : "getSubs",
+    GET_SUB_DETAILS : "getSubDetails",
+    GLOBAL_CUSTOMER_ID : "globalCustomerId",
+    MACRO : "Macro",
+       MODEL_VERSION_1 : "1",
+       MSO_CREATE_REQ : "createInstance",
+       MSO_DELETE_REQ : "deleteInstance",
+    NAME : "name",
+       NETWORK : "network",
+       NETWORKS : "networks",
+
+       QUERY_SERVICE_INSTANCE : "queryServiceInstance",
+       REFRESH_PROPERTIES : "refreshProperties",
+       SERVICE : "service",
+       SERVICE_TYPE : "serviceType",
+       SHOW_COMPONENT_DETAILS : "showComponentDetails",
+       STATUS : "status",
+       SUBSCRIBER_NAME : "subscriberName",
+       TENANT_ID : "tenantID",
+       TENANT_NAME : "tenantName",
+       TRUE : "true",
        \r
-       VF_MODULE : "vfModule",\r
-       VNF : "vnf",\r
-       VNF_CODE : "vnfCode",\r
-       VNF_FUNCTION : "vnfFunction",\r
-       VNF_ROLE : "vnfRole",\r
-       VNF_TYPE : "vnfType",\r
-       VOLUME_GROUP : "volumeGroup",\r
-       \r
-       \r
-       // IDs\r
-       CIDR_MASK_1 : "255.255.255.000",\r
-       //COMPONENT_LIST_NAMED_QUERY_ID : "ed0a0f5b-cf79-4784-88b2-911cd726cd3d",\r
-       CUSTOMER_ID_1 : "icore9883749",\r
-       DELETE_INSTANCE_ID_1 : "ff305d54-75b4-ff1b-fff1-eb6b9e5460ff",\r
-       GATEWAY_ADDRESS_1 : "10.10.125.1",\r
-       GLOBAL_SUBSCRIBER_ID_1 : "C12345",\r
-       INSTANCE_ID_1 : "ff305d54-75b4-431b-adb2-eb6b9e5ff000",\r
-       INSTANCE_ID_2 : "ff305d54-75b4-ff1b-adb2-eb6b9e5460ff",\r
-       INSTANCE_ID_3 : "ff305d54-75b4-ff1b-bdb2-eb6b9e5460ff",\r
-       MODEL_ID_1 : "sn5256d1-5a33-55df-13ab-12abad84e764",\r
-       MODEL_ID_2 : "ff5256d1-5a33-55df-aaaa-12abad84e7ff",\r
-       MODEL_ID_3 : "ff3514e3-5a33-55df-13ab-12abad84e7ff",\r
-       MODEL_ID_4 : "ff5256d1-5a33-55df-13ab-12abad84e7ff",\r
-       MODEL_ID_5 : "ff5256d1-5a33-55df-13ab-22abad84e7ff",\r
-       MODEL_NAME_VERSION_ID_1 : "ab6478e4-ea33-3346-ac12-ab121484a333",\r
-       MODEL_NAME_VERSION_ID_2 : "fe6478e4-ea33-3346-aaaa-ab121484a3fe",\r
-       MODEL_NAME_VERSION_ID_3 : "fe6985cd-ea33-3346-ac12-ab121484a3fe",\r
-       MODEL_NAME_VERSION_ID_4 : "fe6478e4-ea33-3346-ac12-ab121484a3fe",\r
-       MODEL_NAME_VERSION_ID_5 : "fe6478e4-ea33-3346-bc12-ab121484a3fe",\r
-       SERVICE_INSTANCE_ID_1 : "bc305d54-75b4-431b-adb2-eb6b9e546014",\r
-       SUBSCRIBER_NAME_GED12 : "General Electric Division 12",\r
-       VNF_INSTANCE_ID : "VNF_INSTANCE_ID_12345",\r
-       VPN_ID_1 : "1a2b3c4d5e6f",\r
-       \r
-       // PATHS\r
-       ASSIGN : "?r=",\r
-       AAI_GET_SERVICE_INSTANCE_PATH : "aai_get_service_instance/",\r
-       AAI_GET_SERVICES : "aai_get_services",\r
-       AAI_GET_TENANTS : "aai_get_tenants/",\r
-       AAI_SUB_DETAILS_PATH : "aai_sub_details/",\r
-       AAI_SUB_VIEWEDIT_PATH : "aai_sub_viewedit",\r
-       ASDC_GETMODEL_PATH : "asdc/getModel/",\r
-       CREATE_INSTANCE_PATH : "/models/services/createInstance", \r
-       FORWARD_SLASH : "/",\r
-       GET_SYSTEM_PROP_VNF_PROV_STATUS_PATH : "get_system_prop_vnf_prov_status",\r
-       GET_USER_ID : "getuserID",\r
-       INSTANTIATE_ROOT_PATH : "#/instantiate?subscriberId=",\r
-       INSTANTIATE_PATH : "/instantiate",\r
-       INVALID_STRING : "/INVALID_STRING/",\r
-       INVALID_STRING_MSO_CREATE_SVC_INSTANCE : "INVALID_STRING_mso_create_svc_instance",\r
-       MSO_CREATE_NW_INSTANCE : "mso_create_nw_instance",\r
-       MSO_CREATE_NW_INSTANCE_PATH : "mso_create_nw_instance/",\r
-       MSO_CREATE_SVC_INSTANCE : "mso_create_svc_instance",\r
-       MSO_DELETE_SVC_INSTANCE_PATH : "mso_delete_svc_instance/",\r
-       SELECTED_SERVICE_SUB_PATH : "#/instances/subdetails?selectedServiceSubscription=",\r
-       SELECTED_SUB_PATH : "#/instances/subdetails?selectedSubscriber=",\r
-       SELECTEDSERVICEINSTANCE_SUB_PATH : "&selectedServiceInstance=",\r
-       SELECTEDSUBSCRIBER_SUB_PATH : "&selectedSubscriber=",\r
-       SERVICE_TYPE_LIST_PATH : "#/instances/serviceTypes?serviceTypeList=",\r
-       SERVICE_MODLES_INSTANCES_SUBSCRIBERS_PATH : 'serviceModels.htm#/instances/subscribers',\r
-       SERVICES_DIST_STATUS_PATH : "rest/models/services?distributionStatus=",\r
-       SERVICES_PATH : "rest/models/services/",\r
-       SERVICETYPE_SUB_PATH : "&serviceType=",\r
-       SERVICEINSTANCEID_SUB_PATH : "&serviceInstanceId=",\r
-       SERVICEMODELS_INSTANCES_SERVICES_PATH : "serviceModels.htm#/instances/services",\r
-       SERVICEMODELS_MODELS_SERVICES_PATH : "serviceModels.htm#/models/services",\r
-       SUBDETAILS_SELECTEDSUBSCRIBER : "#subdetails?selectedSubscriber=",\r
-       SUBSCRIBERNAME_SUB_PATH : "&subscriberName=",\r
-       WELCOME_PATH : "welcome.htm",\r
-       \r
-       //Template Urls\r
-       AAI_GET_SUBS_URL : "app/vid/scripts/view-models/aaiGetSubs.htm",\r
-       AAI_GET_SUBSCRIBER_URL : "app/vid/scripts/view-models/aaiGetSubscriberList.htm",\r
-       AAI_SERVICE_TYPES_URL : "app/vid/scripts/view-models/aaiServiceTypes.htm",\r
-       AAI_SUB_DETAILS_URL : "app/vid/scripts/view-models/aaiSubDetails.htm",\r
-       CREATE_INSTANCE_SERVICE_MODELS_URL : "app/vid/scripts/view-models/createInstanceServiceModels.htm",\r
-       INSTANTIATE_URL : "app/vid/scripts/view-models/instantiate.htm",\r
-       SERVICE_MODELS : "app/vid/scripts/view-models/serviceModels.htm",\r
-       \r
-       \r
-       \r
-       FULL_NAME_MAP : {\r
-           "model-invariant-id" : "Model ID",\r
-           "model-version-id" : "Model Version ID"\r
-       },\r
-       PARTIAL_NAME_MAP : {\r
-           "id" : "ID",\r
-           "uuid" : "UUID",\r
-           "vfmodule" : "VF Module",\r
-           "vnf" : "VNF",\r
-           "volumegroup" : "Volume Group"\r
-       }\r
-       \r
-    };\r
-})())\r
+       VF_MODULE : "vfModule",
+       VNF : "vnf",
+       VNF_CODE : "vnfCode",
+       VNF_FUNCTION : "vnfFunction",
+       VNF_ROLE : "vnfRole",
+       VNF_TYPE : "vnfType",
+       VOLUME_GROUP : "volumeGroup",
+       
+       
+       // IDs
+       CIDR_MASK_1 : "255.255.255.000",
+       //COMPONENT_LIST_NAMED_QUERY_ID : "ed0a0f5b-cf79-4784-88b2-911cd726cd3d",
+       CUSTOMER_ID_1 : "icore9883749",
+       DELETE_INSTANCE_ID_1 : "ff305d54-75b4-ff1b-fff1-eb6b9e5460ff",
+       GATEWAY_ADDRESS_1 : "10.10.125.1",
+       GLOBAL_SUBSCRIBER_ID_1 : "C12345",
+       INSTANCE_ID_1 : "ff305d54-75b4-431b-adb2-eb6b9e5ff000",
+       INSTANCE_ID_2 : "ff305d54-75b4-ff1b-adb2-eb6b9e5460ff",
+       INSTANCE_ID_3 : "ff305d54-75b4-ff1b-bdb2-eb6b9e5460ff",
+       MODEL_ID_1 : "sn5256d1-5a33-55df-13ab-12abad84e764",
+       MODEL_ID_2 : "ff5256d1-5a33-55df-aaaa-12abad84e7ff",
+       MODEL_ID_3 : "ff3514e3-5a33-55df-13ab-12abad84e7ff",
+       MODEL_ID_4 : "ff5256d1-5a33-55df-13ab-12abad84e7ff",
+       MODEL_ID_5 : "ff5256d1-5a33-55df-13ab-22abad84e7ff",
+       MODEL_NAME_VERSION_ID_1 : "ab6478e4-ea33-3346-ac12-ab121484a333",
+       MODEL_NAME_VERSION_ID_2 : "fe6478e4-ea33-3346-aaaa-ab121484a3fe",
+       MODEL_NAME_VERSION_ID_3 : "fe6985cd-ea33-3346-ac12-ab121484a3fe",
+       MODEL_NAME_VERSION_ID_4 : "fe6478e4-ea33-3346-ac12-ab121484a3fe",
+       MODEL_NAME_VERSION_ID_5 : "fe6478e4-ea33-3346-bc12-ab121484a3fe",
+       SERVICE_INSTANCE_ID_1 : "bc305d54-75b4-431b-adb2-eb6b9e546014",
+       SUBSCRIBER_NAME_GED12 : "General Electric Division 12",
+       VNF_INSTANCE_ID : "VNF_INSTANCE_ID_12345",
+       VPN_ID_1 : "1a2b3c4d5e6f",
+       
+       // PATHS
+       ASSIGN : "?r=",
+       AAI_GET_SERVICE_INSTANCE_PATH : "aai_get_service_instance/",
+       AAI_GET_SERVICES : "aai_get_services",
+       AAI_GET_SERVICES_BY_TYPE : "aai_get_models_by_service_type",
+       AAI_GET_TENANTS : "aai_get_tenants/",
+       AAI_SUB_DETAILS_PATH : "aai_sub_details/",
+       AAI_SUB_VIEWEDIT_PATH : "aai_sub_viewedit",
+       ASDC_GETMODEL_PATH : "asdc/getModel/",
+       CREATE_INSTANCE_PATH : "/models/services/createInstance", 
+       FORWARD_SLASH : "/",
+       GET_SYSTEM_PROP_VNF_PROV_STATUS_PATH : "get_system_prop_vnf_prov_status",
+       GET_USER_ID : "getuserID",
+       INSTANTIATE_ROOT_PATH : "#/instantiate?subscriberId=",
+       INSTANTIATE_PATH : "/instantiate",
+       INVALID_STRING : "/INVALID_STRING/",
+       INVALID_STRING_MSO_CREATE_SVC_INSTANCE : "INVALID_STRING_mso_create_svc_instance",
+       MSO_CREATE_NW_INSTANCE : "mso_create_nw_instance",
+       MSO_CREATE_NW_INSTANCE_PATH : "mso_create_nw_instance/",
+       MSO_CREATE_SVC_INSTANCE : "mso_create_svc_instance",
+       MSO_DELETE_SVC_INSTANCE_PATH : "mso_delete_svc_instance/",
+       SELECTED_SERVICE_SUB_PATH : "#/instances/subdetails?selectedServiceSubscription=",
+       SELECTED_SUB_PATH : "#/instances/subdetails?selectedSubscriber=",
+       SELECTEDSERVICEINSTANCE_SUB_PATH : "&selectedServiceInstance=",
+       SELECTEDSUBSCRIBER_SUB_PATH : "&selectedSubscriber=",
+       SERVICE_TYPE_LIST_PATH : "#/instances/serviceTypes?serviceTypeList=",
+       SERVICE_MODLES_INSTANCES_SUBSCRIBERS_PATH : 'serviceModels.htm#/instances/subscribers',
+       SERVICES_DIST_STATUS_PATH : "rest/models/services?distributionStatus=",
+       SERVICES_PATH : "rest/models/services/",
+       SERVICETYPE_SUB_PATH : "&serviceType=",
+       SERVICEINSTANCEID_SUB_PATH : "&serviceInstanceId=",
+       SERVICEMODELS_INSTANCES_SERVICES_PATH : "serviceModels.htm#/instances/services",
+       SERVICEMODELS_MODELS_SERVICES_PATH : "serviceModels.htm#/models/services",
+       SUBDETAILS_SELECTEDSUBSCRIBER : "#subdetails?selectedSubscriber=",
+       SUBSCRIBERNAME_SUB_PATH : "&subscriberName=",
+       WELCOME_PATH : "welcome.htm",
+       
+       //Template Urls
+       AAI_GET_SUBS_URL : "app/vid/scripts/view-models/aaiGetSubs.htm",
+       AAI_GET_SUBSCRIBER_URL : "app/vid/scripts/view-models/aaiGetSubscriberList.htm",
+       AAI_SERVICE_TYPES_URL : "app/vid/scripts/view-models/aaiServiceTypes.htm",
+       AAI_SUB_DETAILS_URL : "app/vid/scripts/view-models/aaiSubDetails.htm",
+       CREATE_INSTANCE_SERVICE_MODELS_URL : "app/vid/scripts/view-models/createInstanceServiceModels.htm",
+       INSTANTIATE_URL : "app/vid/scripts/view-models/instantiate.htm",
+       SERVICE_MODELS : "app/vid/scripts/view-models/serviceModels.htm",
+       
+       
+       
+       FULL_NAME_MAP : {
+           "model-invariant-id" : "Model ID",
+           "model-version-id" : "Model Version ID"
+       },
+       PARTIAL_NAME_MAP : {
+           "id" : "ID",
+           "uuid" : "UUID",
+           "vfmodule" : "VF Module",
+           "vnf" : "VNF",
+           "volumegroup" : "Volume Group"
+       }
+       
+    };
+})())
index 6dbcbc2..291549d 100755 (executable)
@@ -103,7 +103,7 @@ appDS2.factory("FIELD", [ "PARAMETER", function(PARAMETER) {
                SERVICE_INSTANCE_NAME : "service-instance-name",\r
                SERVICE_SUBSCRIPTION : "service-subscription",\r
                SERVICE_SUBSCRIPTIONS : "service-subscriptions",\r
-               SERVICE_TYPE : "service-type",\r
+               SERVICETYPE : "service-type",\r
                STATUS_MESSAGE : "statusMessage",\r
                SUBNAME : "subscriber-name",\r
                TIMESTAMP : "timestamp",\r
@@ -121,6 +121,9 @@ appDS2.factory("FIELD", [ "PARAMETER", function(PARAMETER) {
                VOLUME_GROUP : "volume-group",\r
                VOLUME_GROUP_ID : "volume-group-id",\r
                VOLUME_GROUP_NAME : "volume-group-name",\r
+               SDN_C_PRELOAD : "sdncPreload",\r
+               UPLOAD_SUPPLEMENTORY_DATA_FILE : "uploadSupplementoryDataFile",\r
+               SUPPLEMENTORY_DATA_FILE : "supplementoryDataFile"\r
     };\r
 \r
     var KEY = {\r
@@ -144,7 +147,7 @@ appDS2.factory("FIELD", [ "PARAMETER", function(PARAMETER) {
        MODEL_VNF_TYPE: "NF Type",\r
        MODEL_VNF_ROLE: "NF Role",\r
        MODEL_VNF_FUNCTION: "NF Function",\r
-       MODEL_VNF_CODE: "NF Code",\r
+       MODEL_VNF_CODE: "NF Naming Code",\r
        MODEL_CUSTOMIZATION_NAME: "Resource Name",\r
        PRODUCT_FAMILY : "Product Family",\r
        RESOURCE_DESCRIPTION : "Resource Description",\r
@@ -161,6 +164,9 @@ appDS2.factory("FIELD", [ "PARAMETER", function(PARAMETER) {
        SERVICE_VERSION : "Service Version",\r
        SUBSCRIBER_NAME : "Subscriber Name",\r
        SUPPRESS_ROLLBACK : "Suppress Rollback on Failure",\r
+       SDN_C_PRELOAD : "SDN-C Pre-Load",\r
+       UPLOAD_SUPPLEMENTORY_DATA_FILE : "Upload Supplementory Data file",\r
+       SUPPLEMENTORY_DATA_FILE : "Supplementory Data file (JSON format)",\r
        TENANT : "Tenant",\r
        USER_SERVICE_INSTANCE_NAME : "User Service Instance Name",\r
        VF_MODULE_DESCRIPTION : "VF Module Description",\r
@@ -260,6 +266,10 @@ appDS2.factory("FIELD", [ "PARAMETER", function(PARAMETER) {
                FETCHING_SERVICE_INSTANCE_DATA : "Failed to fetch service instance data from A&AI: Response Code: ",\r
                INVALID_INSTANCE_NAME : "Invalid instance name: ",\r
                INSTANCE_NAME_VALIDATE : "The instance name must contain only alphanumeric or \"_-.\" characters, and must start with an alphabetic character", \r
+               INVALID_LIST : "Invalid list parameter: ",\r
+               INVALID_MAP : "Invalid map parameter: ",\r
+               LIST_VALIDATE : "A list parameter value must have the following syntax: '[<value1>,\.\.\.,<valueN>]'",\r
+               MAP_VALIDATE : "A map parameter value must have the following syntax: '{ <entry_key_1>: <entry_value_1>, \.\.\., <entry_key_n>: <entry_value_n> }'",\r
                MAX_POLLS_EXCEEDED : "Maximum number of poll attempts exceeded",\r
                MISSING_DATA : "Missing data",\r
                MODEL_VERSION_ID_MISSING : "Error: model-version-id is not populated in A&AI",\r
@@ -341,6 +351,47 @@ appDS2.factory("FIELD", [ "PARAMETER", function(PARAMETER) {
            type : PARAMETER.BOOLEAN,\r
            value : false\r
        },\r
+       SDN_C_PRELOAD_CHECKED : {\r
+               name : NAME.SDN_C_PRELOAD,\r
+           id : ID.SDN_C_PRELOAD,\r
+           type : PARAMETER.CHECKBOX,\r
+           value : true,\r
+           isVisible:true,\r
+           isRequired:false\r
+       },\r
+       SDN_C_PRELOAD_UNCHECKED : {\r
+               name : NAME.SDN_C_PRELOAD,\r
+           id : ID.SDN_C_PRELOAD,\r
+           type : PARAMETER.CHECKBOX,\r
+           value : false,\r
+           isVisible:true,\r
+           isRequired:false\r
+       },\r
+       UPLOAD_SUPPLEMENTORY_DATA_FILE_CHECKED : {\r
+               name : NAME.UPLOAD_SUPPLEMENTORY_DATA_FILE,\r
+           id : ID.UPLOAD_SUPPLEMENTORY_DATA_FILE,\r
+           type : PARAMETER.CHECKBOX,\r
+           value : true,\r
+           isVisible:true,\r
+           isRequired:false\r
+       },\r
+       UPLOAD_SUPPLEMENTORY_DATA_FILE_UNCHECKED : {\r
+               name : NAME.UPLOAD_SUPPLEMENTORY_DATA_FILE,\r
+           id : ID.UPLOAD_SUPPLEMENTORY_DATA_FILE,\r
+           type : PARAMETER.CHECKBOX,\r
+           value : false,\r
+           isVisible:true,\r
+           isRequired:false\r
+       },\r
+       SUPPLEMENTORY_DATA_FILE : {\r
+               name : NAME.SUPPLEMENTORY_DATA_FILE,\r
+           id : ID.SUPPLEMENTORY_DATA_FILE,\r
+           type : PARAMETER.FILE,\r
+           isRequired : false,\r
+           isVisible : true,\r
+           fileData:''\r
+       },\r
+\r
        SUBSCRIBER_NAME : {\r
                name : NAME.SUBSCRIBER_NAME,\r
                id : ID.SUBSCRIBER_NAME,\r
index 4e3ad29..693186a 100755 (executable)
@@ -46,7 +46,10 @@ appDS2.constant("PARAMETER", (function() {
                GREATER_THAN: "greater_than",\r
                LESS_THAN: "less_than",\r
                GREATER_OR_EQUAL: "greater_or_equal",\r
-               LESS_OR_EQUAL: "less_or_equal"\r
+               LESS_OR_EQUAL: "less_or_equal",\r
+               DISPLAY_NAME: "displayName",\r
+               CHECKBOX:'checkbox',\r
+               FILE:'file'\r
                \r
     };\r
 })())\r
index 8fdfd3f..f560661 100755 (executable)
@@ -26,6 +26,11 @@ appDS2.constant("VIDCONFIGURATION", (function() {
         * Set to false, to disable the check.\r
         */\r
        var VNF_STATUS_CHECK_ENABLED = false;\r
+       /*\r
+        * UPLOAD_SUPPLEMENTARY_STATUS_CHECK_ENABLED: Determines the Property to Govern Presence of Upload Supplementary File on Volume Group Screen.\r
+        * Set to false, to disable the check.\r
+        */\r
+       var UPLOAD_SUPPLEMENTARY_STATUS_CHECK_ENABLED = false;\r
        /*\r
         * List of valid VNF status combinations\r
         */\r
@@ -93,6 +98,7 @@ appDS2.constant("VIDCONFIGURATION", (function() {
        MSO_POLLING_INTERVAL_MSECS : MSO_POLLING_INTERVAL_MSECS,\r
        VNF_STATUS_CHECK_ENABLED : VNF_STATUS_CHECK_ENABLED,\r
        VNF_VALID_STATUS_LIST : vnfValidStatusList,\r
+               UPLOAD_SUPPLEMENTARY_STATUS_CHECK_ENABLED : UPLOAD_SUPPLEMENTARY_STATUS_CHECK_ENABLED,\r
        MACRO_SERVICES : MACRO_SERVICES,\r
        COMPONENT_LIST_NAMED_QUERY_ID : COMPONENT_LIST_NAMED_QUERY_ID\r
     };\r
index f928f4e..dcbf3e6 100755 (executable)
                        });\r
                        \r
                        DataService.setSubscriberName(serviceObject[FIELD.ID.SUBSCRIBER_NAME]);\r
-                       DataService.setServiceType(serviceObject[FIELD.ID.SERVICE_TYPE]);\r
+                       DataService.setServiceType(serviceObject[COMPONENT.SERVICE_TYPE]);\r
                        DataService.setServiceInstanceId(serviceInstance[FIELD.ID.SERVICE_INSTANCE_ID]);\r
        \r
                        DataService.setGlobalCustomerId(serviceObject[COMPONENT.GLOBAL_CUSTOMER_ID]);\r
                        var vnfModelVersion = null;\r
                        var vnfModelCustomizationUuid = null;\r
                        var vnfModel = null;\r
+                       var vnfModelVersionId = null;\r
                        \r
                        vnfModelInvariantUuid = vnf.object[FIELD.ID.MODEL_INVAR_ID];\r
                        vnfModelVersionId = vnf.object[FIELD.ID.MODEL_VERSION_ID];\r
                        var vnfModelVersion = null;\r
                        var vnfModelCustomizationUuid = null;\r
                        var vnfModel = null;\r
+                       var vnfModelVersionId = null;\r
                        \r
                        vnfModelInvariantUuid = vnf.object[FIELD.ID.MODEL_INVAR_ID];\r
                        vnfModelVersionId = vnf.object[FIELD.ID.MODEL_VERSION_ID];\r
index 5d382e9..dd2cf73 100755 (executable)
                                                                for (var i = 0; i < response.control.length; i++) {\r
                                                                        if (response.control[i].id == COMPONENT.SUBSCRIBER_NAME) {\r
                                                                                subscriberId = response.control[i].value;\r
-                                                                       } else if (response.control[i].id == "service-type") {\r
+                                                                       } else if (response.control[i].id == FIELD.ID.SERVICE_TYPE) {\r
                                                                                serviceType = response.control[i].value;\r
                                                                        }\r
                                                                }\r
                                        if (subVal[FIELD.ID.SERVICE_SUBSCRIPTIONS] != null) {\r
                                                        angular.forEach(subVal[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION], function(serviceSubscription, key) {\r
                                                                $scope.serviceInstanceId = [];\r
-                                                               if (serviceSubscription[FIELD.ID.SERVICE_TYPE] != null) {\r
-                                                                       $scope.serviceType = serviceSubscription[FIELD.ID.SERVICE_TYPE];\r
+                                                               if (serviceSubscription[FIELD.ID.SERVICETYPE] != null) {\r
+                                                                       $scope.serviceType = serviceSubscription[FIELD.ID.SERVICETYPE];\r
                                                                } else {\r
                                                                        $scope.serviceType = FIELD.STATUS.NO_SERVICE_SUBSCRIPTION_FOUND;\r
                                                                }\r
index 5caa329..00c1414 100755 (executable)
@@ -152,20 +152,12 @@ appDS2.controller("aaiSubscriberController", [ "COMPONENT", "FIELD", "PARAMETER"
                                pathQuery = COMPONENT.SERVICES_PATH +globalCustomerId+"/"+$scope.serviceTypeName;\r
                        }\r
                        \r
-                       AaiService.getServiceModels(globalCustomerId,$scope.serviceTypeName,function(response) { // success\r
-                               console.log("service models : "+response.data);\r
-                               DataService.setServiceIdList(response);\r
-                       },  function(response) { // failure\r
-                               $scope.showError(FIELD.ERROR.AAI);\r
-                               $scope.errorMsg = FIELD.ERROR.FETCHING_SERVICES+ response.status;\r
-                               $scope.errorDetails = response.data;\r
-                       });\r
-                       \r
-                       /*$http.get('/aai_get_services/'+globalCustomerId+''+$scope.serviceTypeName)\r
-                       .then(function successCallback(response) {\r
+                       var namedQueryId='6e806bc2-8f9b-4534-bb68-be91267ff6c8';\r
+                       AaiService.getServiceModelsByServiceType(namedQueryId,globalCustomerId,$scope.serviceTypeName,function(response) { // success\r
                                $scope.services = [];\r
-                               if (angular.isArray(response.data)) {\r
-                                       $scope.services = response.data;\r
+                               if (angular.isArray(response.data['inventory-response-item'])) {\r
+                                       $scope.services = response.data['inventory-response-item'][0]['inventory-response-items']['inventory-response-item'];\r
+                                       $scope.serviceType = response.data['inventory-response-item'][0]['service-subscription']['service-type'];\r
                                        $scope.viewPerPage=10;\r
                                        $scope.totalPage=$scope.services.length/$scope.viewPerPage;\r
                                        $scope.sortBy="name";\r
@@ -177,15 +169,100 @@ appDS2.controller("aaiSubscriberController", [ "COMPONENT", "FIELD", "PARAMETER"
                                        $scope.isSpinnerVisible = false;\r
                                        $scope.isProgressVisible = false;\r
                                } else {\r
-                                       $scope.status = "Failed to get service models from SDC.";\r
+                                       $scope.status = "Failed to get service models from ASDC.";\r
                                        $scope.error = true;\r
                                        $scope.isSpinnerVisible = false;\r
                                }\r
-                       }, function errorCallback(response) {\r
-                               console.log("Error: " + response);\r
-                       }); */\r
-               \r
+                               DataService.setServiceIdList(response);\r
+                       },  function(response) { // failure\r
+                               $scope.showError(FIELD.ERROR.AAI);\r
+                               $scope.errorMsg = FIELD.ERROR.FETCHING_SERVICES+ response.status;\r
+                               $scope.errorDetails = response.data;\r
+                       });\r
+                       \r
+                       };\r
                        \r
+                       $scope.createType = "a la carte";\r
+               $scope.deployService = function(service,hideServiceFields) {\r
+                       hideServiceFields = hideServiceFields|| false;\r
+                       var temp = service;\r
+                       service.uuid = service['service-instance']['model-version-id'];\r
+                       \r
+                       console.log("Instantiating ASDC service " + service.uuid);\r
+                       \r
+                       $http.get('rest/models/services/' + service.uuid)\r
+                               .then(function successCallback(getServiceResponse) {\r
+                                       getServiceResponse.data['service'].serviceTypeName =$scope.serviceTypeName ;\r
+                                       getServiceResponse.data['service'].createSubscriberName =$scope.createSubscriberName ;\r
+                                       var serviceModel = getServiceResponse.data;\r
+                                       DataService.setServiceName(serviceModel.service.name);\r
+                                       \r
+                                       DataService.setModelInfo(COMPONENT.SERVICE, {\r
+                                               "modelInvariantId": serviceModel.service.invariantUuid,\r
+                                               "modelVersion": serviceModel.service.version,\r
+                                               "modelNameVersionId": serviceModel.service.uuid,\r
+                                               "modelName": serviceModel.service.name,\r
+                                               "description": serviceModel.service.description,\r
+                                               "category":serviceModel.service.category,\r
+                                               "serviceTypeName":serviceModel.service.serviceTypeName,\r
+                                               "createSubscriberName":serviceModel.service.createSubscriberName\r
+                                       });\r
+                                       DataService.setHideServiceFields(hideServiceFields);\r
+                                       DataService.setALaCarte (true);\r
+                                       $scope.createType = "a la carte";\r
+                                       var broadcastType = "createComponent";\r
+                                       \r
+                                       if (UtilityService.arrayContains (VIDCONFIGURATION.MACRO_SERVICES, serviceModel.service.invariantUuid )) {\r
+                                               DataService.setALaCarte (false);\r
+                                               $scope.createType = "Macro";\r
+                                               var convertedAsdcModel = UtilityService.convertModel(serviceModel);\r
+                                               \r
+                                               //console.log ("display inputs "); \r
+                                               //console.log (JSON.stringify ( convertedAsdcModel.completeDisplayInputs));\r
+                                               \r
+                                               DataService.setModelInfo(COMPONENT.SERVICE, {\r
+                                                       "modelInvariantId": serviceModel.service.invariantUuid,\r
+                                                       "modelVersion": serviceModel.service.version,\r
+                                                       "modelNameVersionId": serviceModel.service.uuid,\r
+                                                       "modelName": serviceModel.service.name,\r
+                                                       "description": serviceModel.service.description,\r
+                                                       "category":serviceModel.service.category,\r
+                                                       "inputs": serviceModel.service.inputs,\r
+                                                       "displayInputs": convertedAsdcModel.completeDisplayInputs,\r
+                                                       "serviceTypeName":serviceModel.service.serviceTypeName,\r
+                                                       "createSubscriberName":serviceModel.service.createSubscriberName\r
+                                               });\r
+                                       };\r
+                                       \r
+                                       $scope.$broadcast(broadcastType, {\r
+                                           componentId : COMPONENT.SERVICE,\r
+                                           callbackFunction : function(response) {\r
+                                               if (response.isSuccessful) {\r
+                                                               vidService.setModel(serviceModel);\r
+                                                               \r
+                                                               var subscriberId = "Not Found";\r
+                                                               var serviceType = "Not Found";\r
+                                                               \r
+                                                               var serviceInstanceId = response.instanceId;\r
+                                                               \r
+                                                               for (var i = 0; i < response.control.length; i++) {\r
+                                                                       if (response.control[i].id == "subscriberName") {\r
+                                                                               subscriberId = response.control[i].value;\r
+                                                                       } else if (response.control[i].id == "serviceType") {\r
+                                                                               serviceType = response.control[i].value;\r
+                                                                       }\r
+                                                               }\r
+                                                               \r
+                                                               \r
+                                                               $scope.refreshSubs(subscriberId,serviceType,serviceInstanceId);\r
+                                                       \r
+                                               }\r
+                                           }\r
+                                       });\r
+                                       \r
+                               }, function errorCallback(response) {\r
+                                       console.log("Error: " + response);\r
+                               });\r
                };\r
                \r
                 $scope.cancelCreateSIType = function(){\r
@@ -207,6 +284,7 @@ appDS2.controller("aaiSubscriberController", [ "COMPONENT", "FIELD", "PARAMETER"
        }\r
 \r
        $scope.refreshSubs = function() {\r
+               $scope.init();\r
                $scope.fetchSubs(FIELD.PROMPT.REFRESH_SUB_LIST);\r
                $scope.fetchServices();\r
        };\r
index 6a1c14c..eb17091 100755 (executable)
@@ -20,8 +20,8 @@
 \r
 "use strict";\r
 \r
-var creationDialogController = function( COMPONENT, FIELD, $scope, $http, $timeout, $log,\r
-               CreationService, UtilityService, DataService) {\r
+var creationDialogController = function( COMPONENT, FIELD, PARAMETER, $scope, $http, $timeout, $log,\r
+               CreationService, UtilityService, DataService,VIDCONFIGURATION) {\r
 \r
        $scope.isDialogVisible = false;\r
        $scope.summaryControl = {};\r
@@ -73,8 +73,29 @@ var creationDialogController = function( COMPONENT, FIELD, $scope, $http, $timeo
                        return false;\r
                }\r
                return true;\r
-       }\r
-\r
+       };\r
+       var validateMap = function(mname) {\r
+               var patt1 = /^{(\s*\w+\s*:\s*\w+\s*)(\s*,\s*\w+\s*:\s*\w+\s*)*}$/im;\r
+               if ( mname == null ){\r
+                       return true;\r
+               }\r
+               if ( !mname.match(patt1) ) {\r
+                       return false;\r
+               }\r
+               return true;\r
+       };\r
+       \r
+       var validateList = function(lname) {\r
+               var patt1 = /^\[(\s*\w+\s*)(\s*,\s*\w+\s*)*\]$/i;\r
+               if ( lname == null ){\r
+                       return true;\r
+               }\r
+               if ( !lname.match(patt1) ) {\r
+                       return false;\r
+               }\r
+               return true;\r
+       };\r
+               \r
        $scope.userParameterChanged = function(id) {\r
                CreationService.updateUserParameterList(id, $scope.userProvidedControl);\r
        }\r
@@ -108,7 +129,50 @@ var creationDialogController = function( COMPONENT, FIELD, $scope, $http, $timeo
                                return;\r
                        }\r
                }\r
-               \r
+               var arbitraryParametersList = DataService.getArbitraryParameters();\r
+               var p = null;\r
+               if (UtilityService.hasContents (arbitraryParametersList)) {\r
+                       for (var i = 0; i < arbitraryParametersList.length; i++) {\r
+                               p = arbitraryParametersList[i];\r
+                               if (p.type === PARAMETER.MAP) {\r
+                                       //validate a map: { <entry_key_1>: <entry_value_1>, ... , <entry_key_n>: <entry_value_n> }\r
+                                       // need to find the value in paramList\r
+                                       for (var j = 0; j < paramList.length; j++) {\r
+                                               if (paramList[j].id === p.id) {\r
+                                                       p.value = paramList[j].value;\r
+                                                       var isValid = validateMap (p.value);\r
+                                                       if ( isValid ) {\r
+                                                               $scope.isErrorVisible = false;\r
+                                                               break;\r
+                                                       } \r
+                                                       else {\r
+                                                               showError(FIELD.ERROR.INVALID_MAP + p.id, \r
+                                                                               FIELD.ERROR.MAP_VALIDATE);\r
+                                                               return;\r
+                                                       }       \r
+                                               }\r
+                                       }\r
+                               } else if (p.type === PARAMETER.LIST) {\r
+                                       //validate a list: { value or a list of comma separated values }\r
+                                       // need to find the value in paramList\r
+                                       for (var j = 0; j < paramList.length; j++) {\r
+                                               if (paramList[j].id === p.id) {\r
+                                                       p.value = paramList[j].value;\r
+                                                       var isValid = validateList (p.value);\r
+                                                       if ( isValid ) {\r
+                                                               $scope.isErrorVisible = false;\r
+                                                               break;\r
+                                                       } \r
+                                                       else {\r
+                                                               showError(FIELD.ERROR.INVALID_LIST + p.id, \r
+                                                                               FIELD.ERROR.LIST_VALIDATE);\r
+                                                               return;\r
+                                                       }       \r
+                                               }\r
+                                       }\r
+                               }\r
+                       }\r
+               }\r
                var requestDetails = CreationService\r
                                .getMsoRequestDetails($scope.userProvidedControl.getList());\r
 \r
@@ -158,6 +222,6 @@ var creationDialogController = function( COMPONENT, FIELD, $scope, $http, $timeo
        \r
 }\r
 \r
-appDS2.controller("creationDialogController", [ "COMPONENT", "FIELD", "$scope", "$http",\r
-                               "$timeout", "$log", "CreationService", "UtilityService", "DataService",\r
+appDS2.controller("creationDialogController", [ "COMPONENT", "FIELD", "PARAMETER", "$scope", "$http",\r
+                               "$timeout", "$log", "CreationService", "UtilityService", "DataService","VIDCONFIGURATION",\r
                                creationDialogController ]);\r
index afd7aba..2cf689e 100755 (executable)
@@ -238,7 +238,7 @@ appDS2.controller("aaiSubscriberSearchController", [ "$scope", "$timeout", "$log
                        });\r
                }\r
        \r
-\r
+       \r
                $scope.getSubscriberDet = function(selectedCustomer){\r
                        window.location.href = COMPONENT.SUBDETAILS_SELECTEDSUBSCRIBER + selectedCustomer;\r
                };\r
index 811a51e..b6a360f 100755 (executable)
@@ -49,7 +49,7 @@ var parameterBlockDirective = function($log, PARAMETER, UtilityService) {
     var checkboxInputStyle = "height: 18px; width: 18px; padding: 2px 5px;";\r
     var selectStyle = "height: 25px; padding: 2px; text-align: center;";\r
     var requiredLabelStyle = "width: 25px; padding: 5px 10px 10px 5px;";\r
-    var textInputPrompt = "Enter data";\r
+    \r
 \r
     var getParameterHtml = function(parameter, editable) {\r
        var style = valueStyle;\r
@@ -60,7 +60,11 @@ var parameterBlockDirective = function($log, PARAMETER, UtilityService) {
        if (UtilityService.hasContents(parameter.description)) {\r
            attributeString += " title=' " + parameter.description + " '";\r
        }\r
-       var html = "<tr><td style='" + nameStyle + "'" + attributeString + ">"\r
+       var rowstyle='';\r
+       if(parameter.type == 'file' && !parameter.isVisiblity){\r
+               rowstyle = ' style="display:none;"';\r
+       }\r
+       var html = "<tr"+rowstyle+"><td style='" + nameStyle + "'" + attributeString + ">"\r
                + getNameHtml(parameter) + "</td><td style='" + style + "'>";\r
        if (editable === undefined) {\r
            if (UtilityService.hasContents(parameter.value)) {\r
@@ -102,6 +106,8 @@ var parameterBlockDirective = function($log, PARAMETER, UtilityService) {
     };\r
 \r
     var getValueHtml = function(parameter) {\r
+       \r
+    var textInputPrompt = "Enter data";\r
        var attributeString = " parameter-id='" + parameter.id + "'";\r
        var additionalStyle = "";\r
        if (parameter.isEnabled === false) {\r
@@ -136,6 +142,14 @@ var parameterBlockDirective = function($log, PARAMETER, UtilityService) {
            name = parameter.id;\r
        }\r
        attributeString += " parameter-name='" + name + "'";\r
+       \r
+       if ( parameter.type === PARAMETER.MAP ) {\r
+               textInputPrompt = "{<key1>: <value1>,\.\.\.,<keyN>: <valueN>}";\r
+       }\r
+       \r
+       if ( parameter.type === PARAMETER.LIST ) {\r
+               textInputPrompt = "[<value1>,\.\.\.,<valueN>]";\r
+       }\r
 \r
        switch (parameter.type) {\r
        case PARAMETER.BOOLEAN:\r
@@ -151,6 +165,18 @@ var parameterBlockDirective = function($log, PARAMETER, UtilityService) {
                        + "</select>";\r
                }\r
            break;\r
+       case PARAMETER.CHECKBOX:\r
+               if (parameter.value) {\r
+                       return "<input type='checkbox' "+attributeString+ " checked='checked' style='"+checkboxInputStyle+"'" \r
+                       + " value='true'/>";\r
+               }else{\r
+                       return "<input type='checkbox' "+attributeString+ "' style='"+checkboxInputStyle+"'" \r
+                       + " value='false'/>";\r
+               }\r
+           break;\r
+       case PARAMETER.FILE:\r
+                       return "<input type='file' "+attributeString+ " id='"+parameter.id+"' value='"+parameter.value+"'/>";\r
+           break;\r
        case PARAMETER.NUMBER:\r
                var value=parameter.value;\r
                var parameterSpec = "<input type='number'" + attributeString + " style='" + textInputStyle + additionalStyle + "'";\r
@@ -258,6 +284,9 @@ var parameterBlockDirective = function($log, PARAMETER, UtilityService) {
        };\r
        if ($(element).prop("type") === "checkbox") {\r
            parameter.value = $(element).prop("checked");\r
+       }else if ($(element).prop("type") === "file") {\r
+           parameter.value = $('#'+id).attr("value");\r
+\r
        } else {\r
            if ($(element).prop("type") === "text") {\r
                $(element).val($(element).val().trim());\r
index 8132e3a..ee99547 100755 (executable)
@@ -82,8 +82,8 @@ var AaiService = function($http, $log, PropertyService, UtilityService, COMPONEN
                                        angular.forEach(subscriber[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION], function(serviceSubscription, key) {\r
                                                var serviceInstanceId = [];\r
                                                var serviceType = "";\r
-                                               if (serviceSubscription[FIELD.ID.SERVICE_TYPE] != null) {\r
-                                                       serviceType = serviceSubscription[FIELD.ID.SERVICE_TYPE];\r
+                                               if (serviceSubscription[FIELD.ID.SERVICETYPE] != null) {\r
+                                                       serviceType = serviceSubscription[FIELD.ID.SERVICETYPE];\r
                                                } else {\r
                                                        serviceType = FIELD.PROMPT.NO_SERVICE_SUB;\r
                                                }\r
@@ -115,7 +115,8 @@ var AaiService = function($http, $log, PropertyService, UtilityService, COMPONEN
                                                                serviceType             : serviceType,\r
                                                                serviceInstanceId       : subVal.serviceInstanceId,\r
                                                                aaiModelInvariantId             : subVal.aaiModelInvariantId,\r
-                                                               aaiModelVersionId : subVal.aaiModelVersionId,\r
+                                                               aaiModelVersionId\r
+                                                               : subVal.aaiModelVersionId,\r
                                                                serviceInstanceName     : subVal.serviceInstanceName\r
                                                        });\r
                                                });\r
@@ -198,7 +199,7 @@ var AaiService = function($http, $log, PropertyService, UtilityService, COMPONEN
                                                var serviceSubscriptions = response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION];\r
                                                \r
                                                for (var i = 0; i < serviceSubscriptions.length; i++) {\r
-                                                       serviceTypes.push(serviceSubscriptions[i][FIELD.ID.SERVICE_TYPE]);\r
+                                                       serviceTypes.push(serviceSubscriptions[i][FIELD.ID.SERVICETYPE]);\r
                                                }\r
                                                successCallbackFunction(serviceTypes);\r
                                        } else {\r
@@ -331,7 +332,25 @@ var AaiService = function($http, $log, PropertyService, UtilityService, COMPONEN
                        }\r
                    })["catch"]\r
                    (UtilityService.runHttpErrorHandler);\r
-}\r
+},\r
+getServiceModelsByServiceType : function(namedQueryId,globalCustomerId,serviceType,successCallbackFunction) {\r
+               $log\r
+               .debug("AaiService:getServiceModelsByServiceType");\r
+               var url =   COMPONENT.AAI_GET_SERVICES_BY_TYPE+COMPONENT.FORWARD_SLASH+namedQueryId+COMPONENT.FORWARD_SLASH+globalCustomerId+COMPONENT.FORWARD_SLASH +serviceType+COMPONENT.ASSIGN + Math.random();\r
+               \r
+               $http.get(url,\r
+                               {\r
+                       timeout : PropertyService\r
+                       .getServerResponseTimeoutMsec()\r
+                               }).then(function(response) {\r
+                                       if (response.data) {\r
+                                               successCallbackFunction(response);\r
+                                       } else {\r
+                                               successCallbackFunction([]);\r
+                                       }\r
+                               })["catch"]\r
+               (UtilityService.runHttpErrorHandler);\r
+       }\r
     }\r
 }\r
 \r
index f6838af..2849812 100755 (executable)
@@ -29,7 +29,7 @@
  * \r
  */\r
 \r
-var CreationService = function($log, AaiService, AsdcService, DataService,\r
+var CreationService = function($log, AaiService, AsdcService, DataService,VIDCONFIGURATION,\r
                ComponentService, COMPONENT, FIELD, PARAMETER, UtilityService) {\r
 \r
        var _this = this;\r
@@ -77,7 +77,11 @@ var CreationService = function($log, AaiService, AsdcService, DataService,
                /*\r
                 * Common fields displayed at the top of all create instance screens.\r
                 */\r
-               addToList(FIELD.NAME.SERVICE_NAME, DataService.getServiceName());\r
+               if(DataService.getModelInfo(_this.componentId)["serviceTypeName"]==null \r
+                               || DataService.getModelInfo(_this.componentId)["serviceTypeName"]==undefined\r
+                               || DataService.getModelInfo(_this.componentId)["serviceTypeName"]==''){\r
+                       addToList(FIELD.NAME.SERVICE_NAME, DataService.getServiceName());\r
+               }\r
 \r
                switch (_this.componentId) {\r
                case COMPONENT.SERVICE:\r
@@ -98,6 +102,15 @@ var CreationService = function($log, AaiService, AsdcService, DataService,
                                        }\r
                                }\r
                        }\r
+                       if(DataService.getModelInfo(_this.componentId)["createSubscriberName"]!=null && DataService.getModelInfo(_this.componentId)["createSubscriberName"]!=''){\r
+                               addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService\r
+                                               .getModelInfo(_this.componentId)["createSubscriberName"]);\r
+                       }\r
+                       if(DataService.getModelInfo(_this.componentId)["serviceTypeName"]!=null && DataService.getModelInfo(_this.componentId)["serviceTypeName"]!=''){\r
+                               addToList(FIELD.NAME.SERVICE_TYPE, DataService\r
+                                               .getModelInfo(_this.componentId)["serviceTypeName"]);\r
+                               addToList(FIELD.NAME.SERVICE_NAME, DataService.getServiceName());\r
+                       }\r
                        addToList(FIELD.NAME.SERVICE_INVARIANT_UUID, DataService\r
                                        .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);\r
                        addToList(FIELD.NAME.SERVICE_VERSION, DataService\r
@@ -115,7 +128,7 @@ var CreationService = function($log, AaiService, AsdcService, DataService,
                        addToList(FIELD.NAME.SERVICE_INSTANCE_NAME, DataService\r
                                        .getServiceInstanceName());\r
                        addToList(FIELD.NAME.MODEL_NAME, DataService\r
-                                       .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);\r
+                                       .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME]);\r
                        addToList(FIELD.NAME.MODEL_INVARIANT_UUID, DataService\r
                                        .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);\r
                        addToList(FIELD.NAME.MODEL_VERSION, DataService\r
@@ -131,7 +144,7 @@ var CreationService = function($log, AaiService, AsdcService, DataService,
                        addToList(FIELD.NAME.SERVICE_INSTANCE_NAME, DataService\r
                                        .getServiceInstanceName());\r
                        addToList(FIELD.NAME.MODEL_NAME, DataService\r
-                                       .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);\r
+                                       .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME]);\r
                        addToList(FIELD.NAME.MODEL_INVARIANT_UUID, DataService\r
                                        .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);\r
                        addToList(FIELD.NAME.MODEL_VERSION, DataService\r
@@ -158,7 +171,7 @@ var CreationService = function($log, AaiService, AsdcService, DataService,
                        addToList(FIELD.NAME.SERVICE_INSTANCE_NAME, DataService\r
                                        .getServiceInstanceName());\r
                        addToList(FIELD.NAME.MODEL_NAME, DataService\r
-                                       .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);\r
+                                       .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME]);\r
                        addToList(FIELD.NAME.MODEL_INVARIANT_UUID, DataService\r
                                        .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);\r
                        addToList(FIELD.NAME.MODEL_VERSION, DataService\r
@@ -181,7 +194,8 @@ var CreationService = function($log, AaiService, AsdcService, DataService,
                        isUserProvidedNaming = true;\r
                }\r
                var parameterList;\r
-               if (_this.componentId === COMPONENT.SERVICE) {\r
+               var hsf = DataService.getHideServiceFields() || false;\r
+               if (_this.componentId === COMPONENT.SERVICE && !hsf) {  \r
                        if ( DataService.getALaCarte() ) {\r
                                parameterList = [ FIELD.PARAMETER.INSTANCE_NAME ];\r
                                parameterList = parameterList.concat([ getSubscribersParameter(),\r
@@ -193,11 +207,11 @@ var CreationService = function($log, AaiService, AsdcService, DataService,
                                        parameterList = [ FIELD.PARAMETER.INSTANCE_NAME ];\r
                                        \r
                                }\r
-                               parameterList = parameterList.concat([ getSubscribersParameter(),\r
-                                   FIELD.PARAMETER.SERVICE_TYPE_DISABLED ]);\r
+                               parameterList = parameterList.concat([ getSubscribersParameter() ]);\r
                                parameterList = parameterList.concat([ getServiceId(),\r
                                        FIELD.PARAMETER.SERVICE_TYPE,\r
                                        FIELD.PARAMETER.LCP_REGION,\r
+                                       FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,\r
                                        FIELD.PARAMETER.TENANT_DISABLED ]);\r
                        }\r
                }\r
@@ -237,8 +251,49 @@ var CreationService = function($log, AaiService, AsdcService, DataService,
                                                FIELD.PARAMETER.TENANT_DISABLED ]);\r
                        }\r
                }\r
-\r
                parameterList.push(FIELD.PARAMETER.SUPPRESS_ROLLBACK);\r
+               if(_this.componentId === COMPONENT.VF_MODULE ){\r
+                       parameterList.push({name: "SDN-C Pre-Load",\r
+                               id: "sdncPreload",\r
+                               type: "checkbox",\r
+                               isEnabled: true,\r
+                               isRequired: false\r
+                               }\r
+                       );\r
+                       parameterList.push({name: "Upload Supplementory Data file",\r
+                               id: "uploadSupplementoryDataFile",\r
+                               type: "checkbox",\r
+                               isEnabled: true,\r
+                               isRequired: false\r
+                               }\r
+                       );\r
+                       \r
+                       parameterList.push({name: "Supplemetory file (JSON format)",\r
+                               id: "supplementoryDataFile",\r
+                               type: "file",\r
+                               isRequired: false,\r
+                               isVisiblity: false\r
+                               }\r
+                       );\r
+               }\r
+               \r
+               if( VIDCONFIGURATION.UPLOAD_SUPPLEMENTARY_STATUS_CHECK_ENABLED  && _this.componentId === COMPONENT.VOLUME_GROUP){\r
+                               parameterList.push({name: "Upload Supplementory Data file",\r
+                                       id: "uploadSupplementoryDataFile",\r
+                                       type: "checkbox",\r
+                                       isEnabled: true,\r
+                                       isRequired: false\r
+                                       }\r
+                               );\r
+                               \r
+                               parameterList.push({name: "Supplemetory file (JSON format)",\r
+                                       id: "supplementoryDataFile",\r
+                                       type: "file",\r
+                                       isRequired: false,\r
+                                       isVisiblity: false\r
+                                       }\r
+                               );\r
+                       }\r
 \r
                addArbitraryParameters(parameterList);\r
 \r
@@ -267,6 +322,7 @@ var CreationService = function($log, AaiService, AsdcService, DataService,
                                        case PARAMETER.RANGE:\r
                                                break;\r
                                        case PARAMETER.LIST:\r
+                                               parameter.type = PARAMETER.LIST;\r
                                                break;\r
                                        case PARAMETER.MAP:\r
                                                parameter.type = PARAMETER.MAP;\r
@@ -284,6 +340,7 @@ var CreationService = function($log, AaiService, AsdcService, DataService,
                                        parameterList.push(parameter);\r
                                }\r
                        }\r
+                       DataService.setArbitraryParameters (parameterList);\r
                }\r
        };\r
 \r
@@ -432,6 +489,9 @@ var CreationService = function($log, AaiService, AsdcService, DataService,
 \r
        var getMsoRequestDetails = function(parameterList) {\r
                console.log("getMsoRequestDetails invoked, parameterList="); console.log(JSON.stringify(parameterList,null,4));\r
+               //console.log("getMsoRequestDetails invoked, DataService.getArbitraryParameters()="); \r
+               //console.log(JSON.stringify(DataService.getArbitraryParameters(),null,4));\r
+               \r
                var modelInfo = DataService.getModelInfo(_this.componentId);\r
                var requestorloggedInId = DataService.getLoggedInUserId();\r
                if (requestorloggedInId ==  null)\r
@@ -733,53 +793,27 @@ var CreationService = function($log, AaiService, AsdcService, DataService,
 \r
        var getServiceId = function() {\r
                var serviceIdList = DataService.getServiceIdList();\r
-               var serviceTypeList = DataService.getSubscriptionServiceTypeList();\r
+               //var serviceTypeList = DataService.getSubscriptionServiceTypeList();\r
                var parameter = FIELD.PARAMETER.PRODUCT_FAMILY;\r
                parameter.optionList = new Array();\r
-               \r
-               if (serviceTypeList == null) {\r
-                       getSubscriptionServiceTypeList();\r
-                       serviceTypeList = DataService.getSubscriptionServiceTypeList();\r
-               }\r
-               var went = 0;\r
-               if ( UtilityService.hasContents (serviceIdList) ) {\r
+               if ( UtilityService.hasContents(serviceIdList) ) {\r
+                       // load them all\r
                        for (var i = 0; i < serviceIdList.length; i++) {\r
-                               var go = 0;\r
-                               var name = serviceIdList[i].id;\r
-       \r
-                               if (UtilityService.hasContents(serviceTypeList) ) { \r
-                                       console.log("STL: " + serviceTypeList);\r
-                                       for (var k = 0; k < serviceTypeList.length; k++) {\r
-                                               if (angular.equals(name,serviceTypeList[k])) {\r
-                                                       go = 1;\r
-                                                       went = 1;\r
-                                               }\r
-                                       }\r
-                               } else { \r
-                                       go = 1;\r
-                                       went = 1;\r
-                               }\r
-                               if (go == 1) {\r
-                                       parameter.optionList.push({\r
-                                               id : serviceIdList[i].id,\r
-                                               name : serviceIdList[i].description\r
-                                       });\r
-                               }\r
-                       }  // load them all, ours wasn't in the list\r
-                       if (went == 0) { \r
-                               for (var i = 0; i < serviceIdList.length; i++) {\r
-                                               parameter.optionList.push({\r
-                                                       id : serviceIdList[i].id,\r
-                                                       name : serviceIdList[i].description\r
-                                               });\r
-                               }\r
+                               parameter.optionList.push({\r
+                                       id : serviceIdList[i].id,\r
+                                       name : serviceIdList[i].description\r
+                               });\r
                        }\r
                }\r
+\r
                return parameter;\r
        };\r
 \r
        var getLcpRegion = function() {\r
                var cloudRegionTenantList = DataService.getCloudRegionTenantList();\r
+               console.log ( "cloudRegionTenantList=");\r
+               console.log ( JSON.stringify (cloudRegionTenantList, null, 4 ));\r
+\r
                var parameter = FIELD.PARAMETER.LCP_REGION;\r
                if ( UtilityService.hasContents (cloudRegionTenantList) ) {\r
                        parameter.optionList = new Array();\r
@@ -842,7 +876,53 @@ var CreationService = function($log, AaiService, AsdcService, DataService,
        };\r
        var updateUserParameterList = function(updatedId, parameterListControl) {\r
                console.log ("updateUserParameterList() updatedId=" + updatedId);\r
-               if (updatedId === FIELD.ID.LCP_REGION) {\r
+               if (updatedId === FIELD.ID.SDN_C_PRELOAD) {\r
+                       var list = parameterListControl.getList(updatedId);\r
+                       if($('input[parameter-id="'+updatedId+'"]').is(':checked')){\r
+                               FIELD.PARAMETER.SDN_C_PRELOAD_CHECKED.value=true;\r
+                               parameterListControl\r
+                               .updateList([ FIELD.PARAMETER.SDN_C_PRELOAD_CHECKED ]);\r
+                       }else{\r
+                               parameterListControl\r
+                               .updateList([ FIELD.PARAMETER.SDN_C_PRELOAD_UNCHECKED ]);\r
+                       }\r
+               }else if (updatedId === FIELD.ID.UPLOAD_SUPPLEMENTORY_DATA_FILE) {\r
+                       if($('input[parameter-id="'+updatedId+'"]').is(':checked')){\r
+                               $('input[parameter-id="'+FIELD.ID.SUPPLEMENTORY_DATA_FILE+'"]').closest('tr').show();\r
+                                FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_CHECKED.value=true;\r
+                               parameterListControl\r
+                               .updateList([ FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_CHECKED ]);\r
+                       }else{\r
+                               $('input[parameter-id="'+FIELD.ID.SUPPLEMENTORY_DATA_FILE+'"]').closest('tr').hide();\r
+                               parameterListControl\r
+                               .updateList([ FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_UNCHECKED ]);\r
+                       }\r
+               } else if (updatedId === FIELD.ID.SUPPLEMENTORY_DATA_FILE) {\r
+                       var filePath =  $('input[parameter-id="'+updatedId+'"]').val();\r
+                       var arr =filePath.split('.');\r
+                       var fileExt  = arr[arr.length-1];\r
+                       if(fileExt!='' && fileExt.toLowerCase()!='json'){\r
+                                $('input[parameter-id="'+updatedId+'"]').val('');\r
+                               showError("Invalid file format.", 'Please select *.json format file.');\r
+                               return false;\r
+                       }\r
+                       var fileJsonData={};\r
+                       var fileInput = document.getElementById(updatedId);\r
+                       var file = fileInput.files[0];\r
+                       var reader = new FileReader();\r
+                       reader.onload = function(e) {\r
+                               try{\r
+                                       fileJsonData = JSON.parse(reader.result);\r
+                                       FIELD.PARAMETER.SUPPLEMENTORY_DATA_FILE['value']=(JSON.stringify(fileJsonData)).toString();\r
+                                       parameterListControl\r
+                                       .updateList([ FIELD.PARAMETER.SUPPLEMENTORY_DATA_FILE ]);\r
+                               }catch(e){\r
+                                       alert('Invalid json format.');\r
+                                       showError("Invalid data format.", 'Please check your file content it is not in json format.');\r
+                               }\r
+                       }\r
+                       reader.readAsText(file);\r
+               } else  if (updatedId === FIELD.ID.LCP_REGION) {\r
                        var list = parameterListControl.getList(updatedId);\r
                        if (list[0].selectedIndex >= 0) {\r
                                parameterListControl\r
@@ -920,5 +1000,5 @@ var CreationService = function($log, AaiService, AsdcService, DataService,
 }\r
 \r
 appDS2.factory("CreationService", [ "$log", "AaiService", "AsdcService",\r
-               "DataService", "ComponentService", "COMPONENT", "FIELD", "PARAMETER",\r
+               "DataService","VIDCONFIGURATION", "ComponentService", "COMPONENT", "FIELD", "PARAMETER",\r
                "UtilityService", CreationService ]);\r
index 7d913fa..bb5adad 100755 (executable)
@@ -124,6 +124,36 @@ var DataService = function($log, DataService) {
                setServiceUuid : function(serviceUuid) {\r
                        _this.serviceUuid = serviceUuid;\r
                },\r
+               getServiceTypeName : function() {\r
+                       return _this.serviceTypeName;\r
+               },\r
+               setServiceTypeName : function(serviceTypeName) {\r
+                       _this.serviceTypeName = serviceTypeName;\r
+               },\r
+               getCreateSubscriberName : function() {\r
+                       return _this.createSubscriberName;\r
+               },\r
+               setCreateSubscriberName : function(createSubscriberName) {\r
+                       _this.createSubscriberName = createSubscriberName;\r
+               },\r
+               getSdncPreload : function() {\r
+                       return _this.sdncPreload;\r
+               },\r
+               setSdncPreload : function(sdncPreload) {\r
+                       _this.sdncPreload = sdncPreload;\r
+               },\r
+               getUploadSupplementoryDataFile : function() {\r
+                       return _this.uploadSupplementoryDataFile;\r
+               },\r
+               setUploadSupplementoryDataFile : function(uploadSupplementoryDataFile) {\r
+                       _this.uploadSupplementoryDataFile = uploadSupplementoryDataFile;\r
+               },\r
+               getSupplementoryDataFile : function() {\r
+                       return _this.supplementoryDataFile;\r
+               },\r
+               setSupplementoryDataFile : function(supplementoryDataFile) {\r
+                       _this.supplementoryDataFile = supplementoryDataFile;\r
+               },\r
                getSubscriberId : function() {\r
                        return _this.subscriberId;\r
                },\r
@@ -236,6 +266,18 @@ var DataService = function($log, DataService) {
                },\r
                setUpdatedVNFProvStatus : function(r) {\r
                        _this.updatedvnfProvStatus = r;\r
+               },\r
+               setArbitraryParameters : function (pList) {\r
+                       _this.arbitraryParameters = pList;\r
+               },\r
+               getArbitraryParameters : function () {\r
+                       return _this.arbitraryParameters;\r
+               },\r
+               setHideServiceFields:function(b){\r
+                       _this.hideServiceFields=b;\r
+               },\r
+               getHideServiceFields:function(){\r
+                       return _this.hideServiceFields;\r
                }\r
        }\r
 }\r
index 1333269..4e4d123 100755 (executable)
@@ -63,7 +63,7 @@
  * string for some known conditions.\r
  */\r
 \r
-var UtilityService = function($log, DataService) {\r
+var UtilityService = function($log, DataService, PARAMETER) {\r
 \r
     var _this = this;\r
     var convertModel = function (serviceModel) {\r
@@ -153,6 +153,7 @@ var UtilityService = function($log, DataService) {
                                                                if (serviceModel.service != null && serviceModel.service.inputs != null &&\r
                                                                                serviceModel.service.inputs[cmdObj.inputName] != null ) {\r
                                                                        networkModelDisplayInputs[cmdObj.inputName] = (serviceModel.service.inputs[cmdObj.inputName]);\r
+                                                                       networkModelDisplayInputs[cmdObj.inputName][PARAMETER.DISPLAY_NAME] = cmdObj.displayName;\r
                                                                }\r
                                                }\r
                                                                \r
@@ -219,6 +220,7 @@ var UtilityService = function($log, DataService) {
                                                                if (serviceModel.service != null && serviceModel.service.inputs != null &&\r
                                                                                serviceModel.service.inputs[cmdObj.inputName] != null ) {\r
                                                                        vnfModelDisplayInputs[cmdObj.inputName] = (serviceModel.service.inputs[cmdObj.inputName]);\r
+                                                                       vnfModelDisplayInputs[cmdObj.inputName][PARAMETER.DISPLAY_NAME] = cmdObj.displayName;\r
                                                                }\r
                                                }\r
                                                                \r
@@ -243,8 +245,8 @@ var UtilityService = function($log, DataService) {
                                        if (hasContents (vnfModel.properties.nf_function) ) {\r
                                                vnf_function = vnfModel.properties.nf_function;\r
                                        }\r
-                                       if (hasContents (vnfModel.properties.nf_code) ) {\r
-                                               vnf_code = vnfModel.properties.nf_code;\r
+                                       if (hasContents (vnfModel.properties.nf_naming_code) ) {\r
+                                               vnf_code = vnfModel.properties.nf_naming_code;\r
                                        }\r
                                }\r
                                convertedAsdcModel.vnfs[vnfCustomizationUuid]["nfType"] = vnf_type;\r
@@ -344,6 +346,7 @@ var UtilityService = function($log, DataService) {
                                                                if (serviceModel.service != null && serviceModel.service.inputs != null &&\r
                                                                                serviceModel.service.inputs[cmdObj.inputName] != null ) {\r
                                                                        networkModelDisplayInputs[cmdObj.inputName] = (serviceModel.service.inputs[cmdObj.inputName]);\r
+                                                                       networkModelDisplayInputs[cmdObj.inputName][PARAMETER.DISPLAY_NAME] = cmdObj.displayName;\r
                                                                }\r
                                                }\r
                                                                \r
@@ -404,6 +407,7 @@ var UtilityService = function($log, DataService) {
                                                                if (serviceModel.service != null && serviceModel.service.inputs != null &&\r
                                                                                serviceModel.service.inputs[cmdObj.inputName] != null ) {\r
                                                                        vnfModelDisplayInputs[cmdObj.inputName] = (serviceModel.service.inputs[cmdObj.inputName]);\r
+                                                                       vnfModelDisplayInputs[cmdObj.inputName][PARAMETER.DISPLAY_NAME] = cmdObj.displayName;\r
                                                                }\r
                                                }\r
                                                                \r
@@ -637,4 +641,4 @@ var UtilityService = function($log, DataService) {
 }\r
 \r
 //app.factory("UtilityService", UtilityService);\r
-appDS2.factory("UtilityService", [ "$log", "DataService", UtilityService ]);\r
+appDS2.factory("UtilityService", [ "$log", "DataService", "PARAMETER", UtilityService ]);\r
index a78b95e..4d02ae8 100755 (executable)
                    <thead  att-table-row type="header">\r
                                <tr>\r
                                        <th att-table-header key="action">Action</th>\r
-                                       <th att-table-header key="uuid">UUID</th>\r
-                                       <th att-table-header key="invariantUUID">Invariant UUID</th>\r
-                                       <th att-table-header default-sort="A" key="name">Name</th>\r
-                           <th att-table-header key="version">Version</th>\r
-                           <th att-table-header key="category">Category</th>\r
-                           <th att-table-header key="distributionStatus">Distribution Status</th>\r
-                           <th att-table-header key="lastUpdaterUserId">Last Updated By</th>\r
-                           <th att-table-header key="toscaModelUrl">Tosca Model</th>\r
+                                       <th att-table-header key="serviceInstanceName">Service Name</th>\r
+                                       <th att-table-header key="serviceDescription">Service Description</th>\r
+                                       <th att-table-header key="serviceType">Service Type</th>\r
+                           <th att-table-header key="serviceUuid">Service UUID</th>\r
+                           <th att-table-header key="serviceInvariantUuid">Service Invariant UUID</th>\r
+                           <th att-table-header key="serviceVersion">Service Version</th>\r
+                           <th att-table-header key="actions">Action</th>\r
                        </tr>\r
                    </thead>\r
                    <tbody att-table-row type="body" row-repeat="service in services">\r
-                       <tr>\r
-                               <td att-table-body ><button type=button ng-click="deployService(service)" att-button btn-type="primary" size="small">Deploy</button></td>\r
-                       <td att-table-body ng-bind="service['uuid']"></td>\r
-                       <td att-table-body ng-bind="service['invariantUUID']"></td>\r
-                       <td att-table-body ng-bind="service['name']"></td>\r
-                       <td att-table-body ng-bind="service['version']"></td>\r
-                       <td att-table-body ng-bind="service['category']"></td>\r
-                       <td att-table-body ng-bind="service['distributionStatus']"></td>\r
-                       <td att-table-body ng-bind="service['lastUpdaterUserId']"></td>\r
-                       <td att-table-body ng-bind="service['toscaModelUrl']"></td>\r
-                       </tr>     \r
+                      <tr>\r
+                               <td att-table-body ><button type=button ng-click="deployService(service,true)" att-button btn-type="primary" size="small">Deploy</button></td>\r
+                       <td att-table-body ng-bind="service['extra-properties']['extra-property'][2]['property-value']"></td>\r
+                       <td att-table-body ng-bind="service['extra-properties']['extra-property'][0]['property-value']"></td>\r
+                       <td att-table-body ng-bind="service['extra-properties']['extra-property'][3]['property-value']"></td>\r
+                       <td att-table-body ng-bind="service['extra-properties']['extra-property'][1]['property-value']"></td>\r
+                       <td att-table-body ng-bind="service['extra-properties']['extra-property'][4]['property-value']"></td>\r
+                       <td att-table-body ng-bind="service['extra-properties']['extra-property'][6]['property-value']"></td>\r
+                       <td att-table-body ><button type=button ng-click="deploService(service)" att-button btn-type="primary" size="small">Previous Versions</button></td>\r
+                       </tr>\r
                    </tbody>      \r
                </table>\r
+               <div >  \r
+                       <center><button type="submit" class="btn btn-primary" size="small" ng-click="cancelCreateSIType();">Cancel</button></center>\r
+               </div>\r
                <table width='100%'>\r
                        <tr>\r
                                        <td width='33%' valign='middle'>\r
index 0ac74a9..11dc1c3 100755 (executable)
@@ -1,64 +1,64 @@
-<!--\r
-  ============LICENSE_START=======================================================\r
-  VID\r
-  ================================================================================\r
-  Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.\r
-  ================================================================================\r
-  Licensed under the Apache License, Version 2.0 (the "License");\r
-  you may not use this file except in compliance with the License.\r
-  You may obtain a copy of the License at\r
-  \r
-       http://www.apache.org/licenses/LICENSE-2.0\r
-  \r
-  Unless required by applicable law or agreed to in writing, software\r
-  distributed under the License is distributed on an "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
-  See the License for the specific language governing permissions and\r
-  limitations under the License.\r
-  ============LICENSE_END=========================================================\r
-  -->\r
+<!--
+  ============LICENSE_START=======================================================
+  VID
+  ================================================================================
+  Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+  ================================================================================
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+  
+       http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  ============LICENSE_END=========================================================
+  -->
+
+<div ng-controller="creationDialogController">
+
+       <div ng-show="isDialogVisible">
+               <div class="titleLine">
+                       <img src="app/vid/images/spinner.gif"
+                               ngx-visible="{{isSpinnerVisible}}"></img>
+                       <h3>Create {{componentName}} -- {{createType}}</h3>
+               </div>
+
+               <div class="error" ng-show="isErrorVisible">
+                       <img src="app/vid/images/error.png"></img>{{error}}
+               </div>
+
+               <div ngx-visible="{{isDataVisible}}">
+                       <parameter-block control="summaryControl"></parameter-block>
+                       <h4>
+                               User Provided Data (<img class="requiredIndicator"
+                                       src="app/vid/images/asterisk.png" height='10' width='10'></img> indicates required field)
+                       </h4>
+                       <parameter-block control="userProvidedControl"
+                               callback="userParameterChanged(id);" editable></parameter-block>
 \r
-<div ng-controller="creationDialogController">\r
-\r
-       <div ng-show="isDialogVisible">\r
-               <div class="titleLine">\r
-                       <img src="app/vid/images/spinner.gif"\r
-                               ngx-visible="{{isSpinnerVisible}}"></img>\r
-                       <h3>Create {{componentName}} -- {{createType}}</h3>\r
-               </div>\r
-\r
-               <div class="error" ng-show="isErrorVisible">\r
-                       <img src="app/vid/images/error.png"></img>{{error}}\r
-               </div>\r
-\r
-               <div ngx-visible="{{isDataVisible}}">\r
-                       <parameter-block control="summaryControl"></parameter-block>\r
-                       <h4>\r
-                               User Provided Data (<img class="requiredIndicator"\r
-                                       src="app/vid/images/asterisk.png" height='10' width='10'></img> indicates required field)\r
-                       </h4>\r
-                       <parameter-block control="userProvidedControl"\r
-                               callback="userParameterChanged(id);" editable></parameter-block>\r
-\r
-                       <div class="prompt">\r
-                               <p>\r
-                                       Enter Data and <span>Confirm</span> to<br />Create <span>{{componentName}}</span>\r
-                               </p>\r
-                               <p>\r
-                                       <span>Cancel</span> to Return to Previous Page.<br />Data entered\r
-                                       will be lost\r
-                               </p>\r
-                       </div>\r
-\r
-               </div>\r
-               <div class="buttonRow">\r
-                       <button ngx-enabled="{{isConfirmEnabled}}" att-button size="small"\r
-                               ng-click="confirm();">Confirm</button>\r
-                       <button type="button" ng-click="cancel();" att-button\r
-                               btn-type="primary" size="small">Cancel</button>\r
-               </div>\r
-       </div>\r
-\r
-       <div ng-include="'app/vid/scripts/view-models/msoCommit.htm'"></div>\r
-\r
-</div>\r
+                       <div class="prompt">
+                               <p>
+                                       Enter Data and <span>Confirm</span> to<br />Create <span>{{componentName}}</span>
+                               </p>
+                               <p>
+                                       <span>Cancel</span> to Return to Previous Page.<br />Data entered
+                                       will be lost
+                               </p>
+                       </div>
+
+               </div>
+               <div class="buttonRow">
+                       <button ngx-enabled="{{isConfirmEnabled}}" att-button size="small"
+                               ng-click="confirm();">Confirm</button>
+                       <button type="button" ng-click="cancel();" att-button
+                               btn-type="primary" size="small">Cancel</button>
+               </div>
+       </div>
+
+       <div ng-include="'app/vid/scripts/view-models/msoCommit.htm'"></div>
+
+</div>
index c0a8ee5..00b8972 100755 (executable)
@@ -52,6 +52,7 @@
                            <th att-table-header key="distributionStatus">Distribution Status</th>\r
                            <th att-table-header key="lastUpdaterUserId">Last Updated By</th>\r
                            <th att-table-header key="toscaModelUrl">Tosca Model</th>\r
+                                       <th att-table-header key="actions">Action</th>\r
                        </tr>\r
                    </thead>\r
                    <tbody att-table-row type="body" row-repeat="service in services">\r
@@ -65,6 +66,7 @@
                        <td att-table-body ng-bind="service['distributionStatus']"></td>\r
                        <td att-table-body ng-bind="service['lastUpdaterUserId']"></td>\r
                        <td att-table-body ng-bind="service['toscaModelUrl']"></td>\r
+                                       <td att-table-body ><button type=button ng-click="deloyService(service)" att-button btn-type="primary" size="small">Previous Versions</button></td>\r
                        </tr>     \r
                    </tbody>      \r
                </table>\r
old mode 100644 (file)
new mode 100755 (executable)