Add cba GRPC remove options. 68/95868/1
authorBrinda Santh <brindasanth@in.ibm.com>
Tue, 17 Sep 2019 19:56:20 +0000 (15:56 -0400)
committerBrinda Santh <brindasanth@in.ibm.com>
Tue, 17 Sep 2019 19:56:20 +0000 (15:56 -0400)
Change-Id: Iaba18e145f11fc608f5b6efa8bdfb46c623d7ccf
Issue-ID: CCSDK-1682
Signed-off-by: Brinda Santh <brindasanth@in.ibm.com>
components/model-catalog/proto-definition/proto/BluePrintManagement.proto
ms/blueprintsprocessor/modules/inbounds/designer-api/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/designer/api/BluePrintManagementGRPCHandler.kt
ms/blueprintsprocessor/modules/inbounds/designer-api/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/designer/api/BluePrintManagementGRPCHandlerTest.kt

index 2e0693c..8c6cadb 100644 (file)
@@ -21,8 +21,9 @@ message BluePrintDownloadInput {
 
 message BluePrintRemoveInput {
     org.onap.ccsdk.cds.controllerblueprints.common.api.CommonHeader commonHeader = 1;
-    string blueprintName = 2;
-    string blueprintVersion = 3;
+    org.onap.ccsdk.cds.controllerblueprints.common.api.ActionIdentifiers actionIdentifiers = 2;
+    // Extra optional dynamic properties used to remove.
+    google.protobuf.Struct properties = 3;
 }
 
 message BluePrintManagementOutput {
@@ -55,6 +56,11 @@ enum UploadAction {
     PUBLISH = 3;
 }
 
+enum RemoveAction {
+    // Delete CBA from database, deploy path and clean cache.
+    DEFAULT = 0;
+}
+
 service BluePrintManagementService {
     rpc downloadBlueprint (BluePrintDownloadInput) returns (BluePrintManagementOutput);
     rpc uploadBlueprint (BluePrintUploadInput) returns (BluePrintManagementOutput);
index a3bf370..0f804b8 100644 (file)
@@ -129,14 +129,28 @@ open class BluePrintManagementGRPCHandler(private val bluePrintModelHandler: Blu
     StreamObserver<BluePrintManagementOutput>) {
 
         runBlocking {
-            val blueprintName = request.blueprintName
-            val blueprintVersion = request.blueprintVersion
+            val blueprintName = request.actionIdentifiers.blueprintName
+            val blueprintVersion = request.actionIdentifiers.blueprintVersion
             val blueprint = "blueprint $blueprintName:$blueprintVersion"
 
             log.info("request(${request.commonHeader.requestId}): Received delete $blueprint")
+
+            /** Get the Remove Action */
+            val removeAction = request.actionIdentifiers?.actionName.emptyTONull()
+                    ?: RemoveAction.DEFAULT.toString()
+
             try {
-                bluePrintModelHandler.deleteBlueprintModel(blueprintName, blueprintVersion)
-                responseObserver.onNext(successStatus(request.commonHeader))
+                when (removeAction) {
+                    RemoveAction.DEFAULT.toString() -> {
+                        bluePrintModelHandler.deleteBlueprintModel(blueprintName, blueprintVersion)
+                        responseObserver.onNext(successStatus(request.commonHeader))
+                    }
+                    else -> {
+                        responseObserver.onNext(failStatus(request.commonHeader,
+                                "Remove action($removeAction) not implemented",
+                                BluePrintProcessorException("Not implemented")))
+                    }
+                }
             } catch (e: Exception) {
                 responseObserver.onNext(failStatus(request.commonHeader,
                         "request(${request.commonHeader.requestId}): Failed to delete $blueprint", e))
index 691cfd7..54dd46e 100644 (file)
@@ -183,8 +183,10 @@ class BluePrintManagementGRPCHandlerTest {
 
         return BluePrintRemoveInput.newBuilder()
                 .setCommonHeader(commonHeader)
-                .setBlueprintName("sample")
-                .setBlueprintVersion("1.0.0")
+                .setActionIdentifiers(ActionIdentifiers.newBuilder()
+                        .setBlueprintName("sample")
+                        .setBlueprintVersion("1.0.0")
+                        .setActionName(RemoveAction.DEFAULT.toString()).build())
                 .build()
     }
 }