Consider component model when retrieving capability types 96/122696/4
authorKrupaNagabhushan <krupa.nagabhushan@est.tech>
Thu, 15 Jul 2021 14:29:02 +0000 (15:29 +0100)
committerMichael Morris <michael.morris@est.tech>
Wed, 28 Jul 2021 13:04:26 +0000 (13:04 +0000)
Issue-ID: SDC-3642
Signed-off-by: KrupaNagabhushan <krupa.nagabhushan@est.tech>
Change-Id: Ie09b5f8d64b95fc2db14f19d3857a9935075b2fe

catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/CapabilitiesBusinessLogic.java
catalog-be/src/main/java/org/openecomp/sdc/be/servlets/TypesFetchServlet.java
catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/api/ICapabilityTypeOperation.java
catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/CapabilityTypeOperation.java
catalog-ui/src/app/ng2/pages/workspace/req-and-capabilities/req-and-capabilities.service.ts
catalog-ui/src/app/ng2/services/tosca-types.service.ts

index be9b519..c070d89 100644 (file)
@@ -566,9 +566,9 @@ public class CapabilitiesBusinessLogic extends BaseBusinessLogic {
                     .equals(capabilityDefinition.getUniqueId()));
     }
 
-    public Either<Map<String, CapabilityTypeDefinition>, ResponseFormat> getAllCapabilityTypes() {
+    public Either<Map<String, CapabilityTypeDefinition>, ResponseFormat> getAllCapabilityTypes(String modelName) {
         Either<Map<String, CapabilityTypeDefinition>, JanusGraphOperationStatus> capabilityTypeCacheAll = capabilityTypeOperation
-            .getAllCapabilityTypes();
+            .getAllCapabilityTypes(modelName);
         if (capabilityTypeCacheAll.isRight()) {
             JanusGraphOperationStatus operationStatus = capabilityTypeCacheAll.right().value();
             if (JanusGraphOperationStatus.NOT_FOUND == operationStatus) {
index cafcbfd..c3c42e2 100644 (file)
@@ -184,7 +184,8 @@ public class TypesFetchServlet extends AbstractValidationsServlet {
         @ApiResponse(responseCode = "404", description = "Capability types not found")})
     @PermissionAllowed(AafPermission.PermNames.INTERNAL_ALL_VALUE)
     public Response getAllCapabilityTypesServlet(@Context final HttpServletRequest request,
-                                                 @HeaderParam(value = Constants.USER_ID_HEADER) String userId) {
+                                                 @HeaderParam(value = Constants.USER_ID_HEADER) String userId,
+                                                 @Parameter(description = "model", required = false) @QueryParam("model") String modelName) {
         Wrapper<Response> responseWrapper = new Wrapper<>();
         Wrapper<User> userWrapper = new Wrapper<>();
         try {
@@ -193,7 +194,7 @@ public class TypesFetchServlet extends AbstractValidationsServlet {
             if (responseWrapper.isEmpty()) {
                 String url = request.getMethod() + " " + request.getRequestURI();
                 log.debug("Start handle request of {} | modifier id is {}", url, userId);
-                Either<Map<String, CapabilityTypeDefinition>, ResponseFormat> allDataTypes = capabilitiesBusinessLogic.getAllCapabilityTypes();
+                Either<Map<String, CapabilityTypeDefinition>, ResponseFormat> allDataTypes = capabilitiesBusinessLogic.getAllCapabilityTypes(modelName);
                 if (allDataTypes.isRight()) {
                     log.info("Failed to get all capability types. Reason - {}", allDataTypes.right().value());
                     Response errorResponse = buildErrorResponse(allDataTypes.right().value());
index 88485d7..0e7faf7 100644 (file)
@@ -46,5 +46,5 @@ public interface ICapabilityTypeOperation {
 
     public Either<CapabilityTypeDefinition, StorageOperationStatus> getCapabilityType(String uniqueId, boolean inTransaction);
 
-    Either<Map<String, CapabilityTypeDefinition>, JanusGraphOperationStatus> getAllCapabilityTypes();
+    Either<Map<String, CapabilityTypeDefinition>, JanusGraphOperationStatus> getAllCapabilityTypes(String modelName);
 }
index 0763559..f4073ba 100644 (file)
@@ -409,11 +409,11 @@ public class CapabilityTypeOperation extends AbstractOperation implements ICapab
         return getCapabilityType(uniqueId, true);
     }
 
-    public Either<Map<String, CapabilityTypeDefinition>, JanusGraphOperationStatus> getAllCapabilityTypes() {
+    public Either<Map<String, CapabilityTypeDefinition>, JanusGraphOperationStatus> getAllCapabilityTypes(String modelName) {
         Map<String, CapabilityTypeDefinition> capabilityTypes = new HashMap<>();
         Either<Map<String, CapabilityTypeDefinition>, JanusGraphOperationStatus> result = Either.left(capabilityTypes);
         Either<List<CapabilityTypeData>, JanusGraphOperationStatus> getAllCapabilityTypes = janusGraphGenericDao
-            .getByCriteria(NodeTypeEnum.CapabilityType, null, CapabilityTypeData.class);
+            .getByCriteriaForModel(NodeTypeEnum.CapabilityType, null, modelName, CapabilityTypeData.class);
         if (getAllCapabilityTypes.isRight()) {
             JanusGraphOperationStatus status = getAllCapabilityTypes.right().value();
             if (status != JanusGraphOperationStatus.NOT_FOUND) {
index f9b98c6..f999c2e 100644 (file)
@@ -44,7 +44,7 @@ export class ReqAndCapabilitiesService {
         if (!this.capabilitiesListUpdated){
             // -- COMMON for both --
             this.capabilityTypesList = [];
-            let capabilityTypesResult = await this.toscaTypesServiceNg2.fetchCapabilityTypes();
+            let capabilityTypesResult = await this.toscaTypesServiceNg2.fetchCapabilityTypes(this.workspaceService.metadata.model);
             Object.keys(capabilityTypesResult).forEach(key => {this.capabilityTypesList.push(capabilityTypesResult[key])})
             this.capabilitiesListUpdated = true;
         }
index 2fc2e7a..fc72811 100644 (file)
@@ -40,15 +40,21 @@ export class ToscaTypesServiceNg2 {
   }
 
   async fetchRelationshipTypes(modelName: string): Promise<RelationshipTypesMap> {
-    return this.http.get<RelationshipTypesMap>(this.baseUrl + 'relationshipTypes', {params: {model: modelName}}).toPromise();
+    if(modelName) {
+      return this.http.get<RelationshipTypesMap>(this.baseUrl + 'relationshipTypes', {params: {model: modelName}}).toPromise();
+    }
+    return this.http.get<RelationshipTypesMap>(this.baseUrl + 'relationshipTypes').toPromise();
   }
 
   async fetchNodeTypes(): Promise<NodeTypesMap> {
     return this.http.get<NodeTypesMap>(this.baseUrl + 'nodeTypes').toPromise();
   }
 
-  async fetchCapabilityTypes(): Promise<CapabilityTypesMap> {
+    async fetchCapabilityTypes(modelName: string): Promise<CapabilityTypesMap> {
+    if(modelName) {
+      return this.http.get<CapabilityTypesMap>(this.baseUrl + 'capabilityTypes', {params: {model: modelName}}).toPromise();
+    }
     return this.http.get<CapabilityTypesMap>(this.baseUrl + 'capabilityTypes').toPromise();
-  }
+    }
 }