move templates API to a intended controller

Issue-ID: VID-730

Signed-off-by: Einat Vinouze <einat.vinouze@intl.att.com>
Change-Id: Ie9b23a0360f902334fd6b877accec322b795c413
diff --git a/vid-app-common/src/main/java/org/onap/vid/controller/AsyncInstantiationController.java b/vid-app-common/src/main/java/org/onap/vid/controller/AsyncInstantiationController.java
index c73a018..3260656 100644
--- a/vid-app-common/src/main/java/org/onap/vid/controller/AsyncInstantiationController.java
+++ b/vid-app-common/src/main/java/org/onap/vid/controller/AsyncInstantiationController.java
@@ -36,10 +36,8 @@
 import org.onap.vid.roles.RoleProvider;
 import org.onap.vid.services.AsyncInstantiationBusinessLogic;
 import org.onap.vid.services.AuditService;
-import org.onap.vid.services.InstantiationTemplatesService;
 import org.onap.vid.utils.SystemPropertiesWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -56,7 +54,6 @@
     public static final String ASYNC_INSTANTIATION = "asyncInstantiation";
 
     protected final AsyncInstantiationBusinessLogic asyncInstantiationBL;
-    protected final InstantiationTemplatesService instantiationTemplates;
     protected final AsyncInstantiationRepository asyncInstantiationRepository;
     private final SystemPropertiesWrapper systemPropertiesWrapper;
 
@@ -68,12 +65,10 @@
 
     @Autowired
     public AsyncInstantiationController(AsyncInstantiationBusinessLogic asyncInstantiationBL,
-        InstantiationTemplatesService instantiationTemplates,
         AsyncInstantiationRepository asyncInstantiationRepository, RoleProvider roleProvider,
         FeatureManager featureManager, SystemPropertiesWrapper systemPropertiesWrapper,
         AuditService auditService) {
         this.asyncInstantiationBL = asyncInstantiationBL;
-        this.instantiationTemplates = instantiationTemplates;
         this.asyncInstantiationRepository = asyncInstantiationRepository;
         this.roleProvider = roleProvider;
         this.featureManager = featureManager;
@@ -95,7 +90,6 @@
             return  asyncInstantiationRepository.listInstantiatedServicesByServiceModelId(serviceModelId);
         }
     }
-
     @RequestMapping(value = "bulk", method = RequestMethod.POST)
     public MsoResponseWrapper2<List<String>> createBulkOfServices(@RequestBody ServiceInstantiation request, HttpServletRequest httpServletRequest) {
         //Push to DB according the model
@@ -174,11 +168,6 @@
         return new MsoResponseWrapper2(200, uuids);
     }
 
-    @GetMapping("templateTopology/{jobId}")
-    public ServiceInstantiation getTemplateTopology(HttpServletRequest request, @PathVariable(value="jobId") UUID jobId) {
-        return instantiationTemplates.getJobRequestAsTemplate(jobId);
-    }
-
     @RequestMapping(value = "/auditStatusForRetry/{trackById}", method = RequestMethod.GET)
     public JobAuditStatus getResourceAuditStatus(HttpServletRequest request, @PathVariable(value="trackById") String trackById) {
         return auditService.getResourceAuditStatus(trackById);
diff --git a/vid-app-common/src/main/java/org/onap/vid/controller/InstantiationTemplatesController.java b/vid-app-common/src/main/java/org/onap/vid/controller/InstantiationTemplatesController.java
new file mode 100644
index 0000000..8aae3d8
--- /dev/null
+++ b/vid-app-common/src/main/java/org/onap/vid/controller/InstantiationTemplatesController.java
@@ -0,0 +1,60 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * VID
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 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=========================================================
+ */
+
+package org.onap.vid.controller;
+
+
+import java.util.UUID;
+import javax.servlet.http.HttpServletRequest;
+import org.onap.vid.dal.AsyncInstantiationRepository;
+import org.onap.vid.model.serviceInstantiation.ServiceInstantiation;
+import org.onap.vid.services.AsyncInstantiationBusinessLogic;
+import org.onap.vid.services.InstantiationTemplatesService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping(InstantiationTemplatesController.INSTANTIATION_TEMPLATES)
+public class InstantiationTemplatesController extends VidRestrictedBaseController {
+
+    public static final String INSTANTIATION_TEMPLATES = "instantiationTemplates";
+
+    protected final AsyncInstantiationBusinessLogic asyncInstantiationBL;
+    protected final InstantiationTemplatesService instantiationTemplates;
+    protected final AsyncInstantiationRepository asyncInstantiationRepository;
+
+
+    @Autowired
+    public InstantiationTemplatesController(AsyncInstantiationBusinessLogic asyncInstantiationBL,
+        InstantiationTemplatesService instantiationTemplates,
+        AsyncInstantiationRepository asyncInstantiationRepository) {
+        this.asyncInstantiationBL = asyncInstantiationBL;
+        this.instantiationTemplates = instantiationTemplates;
+        this.asyncInstantiationRepository = asyncInstantiationRepository;
+    }
+
+    @GetMapping("templateTopology/{jobId}")
+    public ServiceInstantiation getTemplateTopology(HttpServletRequest request, @PathVariable(value="jobId") UUID jobId) {
+        return instantiationTemplates.getJobRequestAsTemplate(jobId);
+    }
+}
diff --git a/vid-webpack-master/cypress/integration/iFrames/instantiation-templates.e2e.ts b/vid-webpack-master/cypress/integration/iFrames/instantiation-templates.e2e.ts
index 0075dc2..bf9c018 100644
--- a/vid-webpack-master/cypress/integration/iFrames/instantiation-templates.e2e.ts
+++ b/vid-webpack-master/cypress/integration/iFrames/instantiation-templates.e2e.ts
@@ -152,7 +152,7 @@
     'fixture:../support/jsonBuilders/mocks/jsons/instantiationTemplates/templates__service_model.json')
   .as('serviceModel');
 
-  cy.route(`**/asyncInstantiation/${templateTopologyEndpoint}/${templateUuid}`,
+  cy.route(`**/instantiationTemplates/${templateTopologyEndpoint}/${templateUuid}`,
     'fixture:../../../vid-automation/src/test/resources/asyncInstantiation/templates__instance_template.json')
   .as('templateTopology');
 
diff --git a/vid-webpack-master/src/app/shared/utils/constants.ts b/vid-webpack-master/src/app/shared/utils/constants.ts
index 6bf5ff1..f09ab08 100644
--- a/vid-webpack-master/src/app/shared/utils/constants.ts
+++ b/vid-webpack-master/src/app/shared/utils/constants.ts
@@ -95,7 +95,7 @@
     public static SERVICES_JOB_INFO_PATH = '../../asyncInstantiation';
     public static SERVICE_MODEL_ID = 'serviceModelId';
     public static SERVICES_RETRY_TOPOLOGY = '../../asyncInstantiation/bulkForRetry';
-    public static INSTANTIATION_TEMPLATE_TOPOLOGY = '../../asyncInstantiation/templateTopology';
+    public static INSTANTIATION_TEMPLATE_TOPOLOGY = '../../instantiationTemplates/templateTopology';
     public static CONFIGURATION_PATH = '../../get_property/{name}/defaultvalue';
     public static SERVICES_JOB_AUDIT_PATH = '/auditStatus';
     public static SERVICES_PROBE_PATH = "../../probe";