Migrate CDS to springboot 3.5 72/142472/1
authorarkadiusz-dawid.mieszczak@t-systems.com <arkadiusz-dawid.mieszczak@t-systems.com>
Mon, 17 Nov 2025 15:46:31 +0000 (15:46 +0000)
committerPeukerL@telekom.de <PeukerL@telekom.de>
Mon, 17 Nov 2025 16:30:08 +0000 (17:30 +0100)
Issue-ID: CCSDK-4141
Change-Id: I3d5d039b931867a7892e57a1a9f5dcd2caa348c0
Signed-off-by: PeukerL@telekom.de <PeukerL@telekom.de>
88 files changed:
components/model-catalog/blueprint-model/archetype-blueprint/src/main/resources/archetype-resources/Tests/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/uat/base/BaseBlueprintsAcceptanceTest.kt
docs/api-reference/media/cds-bp-processor-api-swagger.json
ms/blueprintsprocessor/application/pom.xml
ms/blueprintsprocessor/application/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/uat/utils/UatExecutor.kt
ms/blueprintsprocessor/application/src/main/resources/application-dev.properties
ms/blueprintsprocessor/application/src/main/resources/application-local.yml
ms/blueprintsprocessor/application/src/main/resources/application.properties
ms/blueprintsprocessor/application/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/uat/UatServicesTest.kt
ms/blueprintsprocessor/application/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/uat/utils/ExtendedTemporaryFolder.kt
ms/blueprintsprocessor/application/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/uat/utils/TestSecuritySettings.kt
ms/blueprintsprocessor/functions/ansible-awx-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/ansible/executor/ComponentRemoteAnsibleExecutor.kt
ms/blueprintsprocessor/functions/blueprint-audit-status/pom.xml
ms/blueprintsprocessor/functions/blueprint-audit-status/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/workflow/audit/NoStoreAuditService.kt
ms/blueprintsprocessor/functions/blueprint-audit-status/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/workflow/audit/db/BlueprintAuditStatusRepository.kt
ms/blueprintsprocessor/functions/blueprint-audit-status/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/workflow/audit/db/BlueprintWorkflowAuditStatus.kt
ms/blueprintsprocessor/functions/config-snapshots/pom.xml
ms/blueprintsprocessor/functions/config-snapshots/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/config/snapshots/db/ResourceConfigSnapshot.kt
ms/blueprintsprocessor/functions/config-snapshots/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/config/snapshots/db/ResourceConfigSnapshotRepository.kt
ms/blueprintsprocessor/functions/k8s-connection-plugin/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/k8s/definition/K8sPluginDefinitionApi.kt
ms/blueprintsprocessor/functions/k8s-connection-plugin/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/k8s/instance/K8sPluginInstanceApi.kt
ms/blueprintsprocessor/functions/k8s-connection-plugin/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/k8s/query/K8sPluginQueryApi.kt
ms/blueprintsprocessor/functions/message-prioritization/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/message/prioritization/db/MessagePrioritization.kt
ms/blueprintsprocessor/functions/pom.xml
ms/blueprintsprocessor/functions/resource-resolution/pom.xml
ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/capabilities/IpAssignResolutionCapability.kt
ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/capabilities/NamingResolutionCapability.kt
ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/db/ResourceResolution.kt
ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/db/ResourceResolutionRepository.kt
ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/db/TemplateResolution.kt
ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/db/TemplateResolutionRepository.kt
ms/blueprintsprocessor/functions/restconf-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/restconf/executor/RestconfExecutorExtensions.kt
ms/blueprintsprocessor/functions/restful-executor/pom.xml
ms/blueprintsprocessor/functions/restful-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/restful/executor/function/RestfulServiceClient.kt
ms/blueprintsprocessor/modules/blueprints/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/utils/BluePrintArchiveUtils.kt
ms/blueprintsprocessor/modules/commons/db-lib/pom.xml
ms/blueprintsprocessor/modules/commons/db-lib/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/db/primary/domain/BlueprintModel.kt
ms/blueprintsprocessor/modules/commons/db-lib/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/db/primary/domain/BlueprintModelContent.kt
ms/blueprintsprocessor/modules/commons/db-lib/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/db/primary/domain/BlueprintModelSearch.kt
ms/blueprintsprocessor/modules/commons/db-lib/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/db/primary/repository/BlueprintModelRepository.kt
ms/blueprintsprocessor/modules/commons/db-lib/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/db/primary/service/BlueprintCatalogServiceImpl.kt
ms/blueprintsprocessor/modules/commons/grpc-lib/pom.xml
ms/blueprintsprocessor/modules/commons/message-lib/pom.xml
ms/blueprintsprocessor/modules/commons/pom.xml
ms/blueprintsprocessor/modules/commons/processor-core/pom.xml
ms/blueprintsprocessor/modules/commons/processor-core/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/core/cluster/HazelcastClusterService.kt
ms/blueprintsprocessor/modules/commons/processor-core/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/core/service/BluePrintClusterService.kt
ms/blueprintsprocessor/modules/commons/rest-lib/pom.xml
ms/blueprintsprocessor/modules/commons/rest-lib/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/rest/filters/RestServerLoggingWebFilter.kt
ms/blueprintsprocessor/modules/commons/rest-lib/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/rest/service/BaseBlueprintWebClientService.kt
ms/blueprintsprocessor/modules/commons/rest-lib/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/rest/service/RestClientServiceTest.kt
ms/blueprintsprocessor/modules/commons/ssh-lib/pom.xml
ms/blueprintsprocessor/modules/inbounds/configs-api/pom.xml
ms/blueprintsprocessor/modules/inbounds/designer-api/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/designer/api/domain/JpaJsonNodeConverter.kt
ms/blueprintsprocessor/modules/inbounds/designer-api/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/designer/api/domain/JpaResourceDefinitionConverter.kt
ms/blueprintsprocessor/modules/inbounds/designer-api/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/designer/api/domain/ModelType.kt
ms/blueprintsprocessor/modules/inbounds/designer-api/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/designer/api/domain/ResourceDictionary.kt
ms/blueprintsprocessor/modules/inbounds/designer-api/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/designer/api/repository/ModelTypeReactRepository.kt
ms/blueprintsprocessor/modules/inbounds/designer-api/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/designer/api/repository/ModelTypeRepository.kt
ms/blueprintsprocessor/modules/inbounds/designer-api/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/designer/api/repository/ResourceDictionaryRepository.kt
ms/blueprintsprocessor/modules/inbounds/designer-api/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/designer/api/service/ApplicationRegistrationService.kt
ms/blueprintsprocessor/modules/inbounds/designer-api/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/designer/api/BlueprintModelControllerTest.kt
ms/blueprintsprocessor/modules/inbounds/health-api-common/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/healthapi/service/EndPointExecution.kt
ms/blueprintsprocessor/modules/inbounds/pom.xml
ms/blueprintsprocessor/modules/inbounds/resource-api/pom.xml
ms/blueprintsprocessor/modules/inbounds/selfservice-api/pom.xml
ms/blueprintsprocessor/modules/inbounds/selfservice-api/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/selfservice/api/BluePrintProcessingGRPCHandler.kt
ms/blueprintsprocessor/modules/inbounds/selfservice-api/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/selfservice/api/BluePrintProcessingKafkaConsumer.kt
ms/blueprintsprocessor/modules/inbounds/selfservice-api/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/selfservice/api/ExecutionServiceController.kt
ms/blueprintsprocessor/modules/inbounds/selfservice-api/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/selfservice/api/KafkaPublishAuditService.kt
ms/blueprintsprocessor/modules/inbounds/selfservice-api/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/selfservice/api/NoPublishAuditService.kt
ms/blueprintsprocessor/modules/inbounds/selfservice-api/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/selfservice/api/BluePrintProcessingGRPCHandlerTest.kt
ms/blueprintsprocessor/modules/inbounds/selfservice-api/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/selfservice/api/BluePrintProcessingKafkaConsumerTest.kt
ms/blueprintsprocessor/modules/inbounds/selfservice-api/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/selfservice/api/ExecutionServiceHandlerTest.kt
ms/blueprintsprocessor/modules/inbounds/workflow-api/pom.xml
ms/blueprintsprocessor/modules/services/execution-service/pom.xml
ms/blueprintsprocessor/modules/services/workflow-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/workflow/BlueprintSvcLogicService.kt
ms/blueprintsprocessor/parent/pom.xml
ms/error-catalog/core/pom.xml
ms/error-catalog/pom.xml
ms/error-catalog/services/pom.xml
ms/error-catalog/services/src/main/kotlin/org/onap/ccsdk/cds/error/catalog/services/ErrorCatalogService.kt
ms/error-catalog/services/src/main/kotlin/org/onap/ccsdk/cds/error/catalog/services/domain/Domain.kt
ms/error-catalog/services/src/main/kotlin/org/onap/ccsdk/cds/error/catalog/services/domain/ErrorMessageModel.kt
ms/pom.xml
ms/sdclistener/application/pom.xml
ms/sdclistener/parent/pom.xml
ms/sdclistener/pom.xml
pom.xml

index c0c33b6..77c04b2 100644 (file)
@@ -23,12 +23,12 @@ import org.springframework.test.context.ContextConfiguration
 import org.springframework.test.context.TestPropertySource
 import org.springframework.test.context.junit4.SpringRunner
 import org.springframework.test.context.support.TestPropertySourceUtils
-import org.springframework.util.Base64Utils
+import java.util.Base64
 import java.io.File
 import java.io.IOException
 import java.nio.file.*
 import java.nio.file.attribute.BasicFileAttributes
-import javax.annotation.PreDestroy
+import jakarta.annotation.PreDestroy
 import kotlin.test.BeforeTest
 import kotlin.test.AfterTest
 
@@ -159,7 +159,7 @@ abstract class BaseBlueprintsAcceptanceTest() {
             private const val authPassword = "Heisenberg"
 
             fun clientAuthToken() =
-                "Basic " + Base64Utils.encodeToString("$authUsername:$authPassword".toByteArray())
+                "Basic " + Base64.getEncoder().encodeToString("$authUsername:$authPassword".toByteArray())
         }
 
         class ServerContextInitializer : ApplicationContextInitializer<ConfigurableApplicationContext> {
index 8ec4f71..db1c338 100644 (file)
-{\r
-  "swagger" : "2.0",\r
-  "info" : {\r
-    "description" : "Shows all resources and endpoints which CDS BP processor currently provides with sample requests/responses, parameter description and other information.",\r
-    "version" : "v1",\r
-    "title" : "CDS Blueprint Processor API Reference",\r
-    "termsOfService" : "https://www.onap.org/",\r
-    "contact" : {\r
-      "name" : "ONAP Community",\r
-      "url" : "https://www.onap.org/",\r
-      "email" : "onap-discuss@lists.onap.org"\r
-    },\r
-    "license" : {\r
-      "name" : "Apache 2.0",\r
-      "url" : "http://www.apache.org/licenses/LICENSE-2.0.html"\r
-    }\r
-  },\r
-  "host" : "localhost:8080",\r
-  "tags" : [ {\r
-    "name" : "Blueprint Model Catalog",\r
-    "description" : "Manages all blueprint models which are available in CDS"\r
-  }, {\r
-    "name" : "Execution Service Catalog",\r
-    "description" : "Interaction with CBA which are available in CDS"\r
-  }, {\r
-    "name" : "Model Type Catalog",\r
-    "description" : "Manages data types in CDS"\r
-  }, {\r
-    "name" : "Resource configuration",\r
-    "description" : "Interaction with stored configurations"\r
-  }, {\r
-    "name" : "Resource Dictionary",\r
-    "description" : "Interaction with stored dictionaries"\r
-  }, {\r
-    "name" : "Resource Template",\r
-    "description" : "Interaction with resolved templates"\r
-  }, {\r
-    "name" : "Resources",\r
-    "description" : "Interaction with resolved resources"\r
-  } ],\r
-  "schemes" : [ "http" ],\r
-  "paths" : {\r
-    "/api/v1/blueprint-model" : {\r
-      "get" : {\r
-        "tags" : [ "Blueprint Model Catalog" ],\r
-        "summary" : "List all Blueprint Models",\r
-        "description" : "Lists all meta-data of blueprint models which are saved in CDS.",\r
-        "operationId" : "BlueprintModelController_allBlueprintModel_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "produces" : [ "application/json" ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "OK",\r
-            "schema" : {\r
-              "type" : "array",\r
-              "items" : {\r
-                "$ref" : "#/definitions/BlueprintModelSearch"\r
-              }\r
-            }\r
-          },\r
-          "500" : {\r
-            "description" : "Internal Server Error"\r
-          }\r
-        }\r
-      },\r
-      "post" : {\r
-        "tags" : [ "Blueprint Model Catalog" ],\r
-        "summary" : "Save a Blueprint Model",\r
-        "description" : "Saves a blueprint model by the given CBA zip file input. There is no validation of the attached CBA happening when this API is called.",\r
-        "operationId" : "BlueprintModelController_saveBlueprint_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "consumes" : [ "multipart/form-data" ],\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "in" : "body",\r
-          "name" : "file",\r
-          "description" : "CBA file to be uploaded (example: cba.zip)",\r
-          "required" : true,\r
-          "schema" : {\r
-            "$ref" : "#/definitions/FilePart"\r
-          }\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "OK",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/BlueprintModelSearch"\r
-            }\r
-          },\r
-          "500" : {\r
-            "description" : "Internal Server Error"\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/blueprint-model/bootstrap" : {\r
-      "post" : {\r
-        "tags" : [ "Blueprint Model Catalog" ],\r
-        "summary" : "Bootstrap CDS",\r
-        "description" : "Loads all Model Types, Resource Dictionaries and Blueprint Models which are included in CDS by default. Before starting to work with CDS, bootstrap should be called to load all the basic models that each orginization might support. Parameter values can be set as `false`  to skip loading e.g. the Resource Dictionaries but this is not recommended.",\r
-        "operationId" : "BlueprintModelController_bootstrap_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "consumes" : [ "application/json" ],\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "in" : "body",\r
-          "name" : "body",\r
-          "description" : "Specifies which elements to load",\r
-          "required" : true,\r
-          "schema" : {\r
-            "$ref" : "#/definitions/BootstrapRequest"\r
-          }\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "OK",\r
-            "schema" : {\r
-              "type" : "object"\r
-            }\r
-          },\r
-          "500" : {\r
-            "description" : "Internal Server Error"\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/blueprint-model/by-name/{name}/version/{version}" : {\r
-      "get" : {\r
-        "tags" : [ "Blueprint Model Catalog" ],\r
-        "summary" : "Get a Blueprint Model by Name and Version",\r
-        "description" : "Get Meta-Data of a Blueprint Model by its name and version.",\r
-        "operationId" : "BlueprintModelController_getBlueprintByNameAndVersion_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "name",\r
-          "in" : "path",\r
-          "description" : "Name of the blueprint model",\r
-          "required" : true,\r
-          "type" : "string",\r
-          "x-example" : "pnf_netconf"\r
-        }, {\r
-          "name" : "version",\r
-          "in" : "path",\r
-          "description" : "Version of the blueprint model",\r
-          "required" : true,\r
-          "type" : "string",\r
-          "x-example" : "1.0.0"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "OK",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/BlueprintModelSearch"\r
-            }\r
-          },\r
-          "404" : {\r
-            "description" : "Not Found"\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/blueprint-model/download/by-name/{name}/version/{version}" : {\r
-      "get" : {\r
-        "tags" : [ "Blueprint Model Catalog" ],\r
-        "summary" : "Download a Blueprint Model",\r
-        "description" : "Gets the CBA of a blueprint model by its name and version. Response can be saved to a file to download the CBA.",\r
-        "operationId" : "BlueprintModelController_downloadBlueprintByNameAndVersion_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "name",\r
-          "in" : "path",\r
-          "description" : "Name of the blueprint model",\r
-          "required" : true,\r
-          "type" : "string",\r
-          "x-example" : "pnf_netconf"\r
-        }, {\r
-          "name" : "version",\r
-          "in" : "path",\r
-          "description" : "Version of the blueprint model",\r
-          "required" : true,\r
-          "type" : "string",\r
-          "x-example" : "1.0.0"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "OK",\r
-            "schema" : {\r
-              "type" : "object"\r
-            }\r
-          },\r
-          "404" : {\r
-            "description" : "Not Found"\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/blueprint-model/download/{id}" : {\r
-      "get" : {\r
-        "tags" : [ "Blueprint Model Catalog" ],\r
-        "summary" : "Download a Blueprint Model by ID",\r
-        "description" : "Gets the CBA of a blueprint model by its ID. Response can be saved to a file to download the CBA.",\r
-        "operationId" : "BlueprintModelController_downloadBluePrint_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "id",\r
-          "in" : "path",\r
-          "description" : "ID of the blueprint model to download",\r
-          "required" : true,\r
-          "type" : "string",\r
-          "x-example" : "67ec1f96-ab55-4b81-aff9-23ee0ed1d7a4"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "OK",\r
-            "schema" : {\r
-              "type" : "object"\r
-            }\r
-          },\r
-          "404" : {\r
-            "description" : "Not Found"\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/blueprint-model/enrich" : {\r
-      "post" : {\r
-        "tags" : [ "Blueprint Model Catalog" ],\r
-        "summary" : "Enrich a Blueprint Model",\r
-        "description" : "Enriches the attached CBA and returns the enriched CBA zip file in the response. The enrichment process will complete the package by providing all the definition of types used.",\r
-        "operationId" : "BlueprintModelController_enrichBlueprint_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "consumes" : [ "multipart/form-data" ],\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "in" : "body",\r
-          "name" : "file",\r
-          "description" : "CBA zip file to be uploaded (example: cba_unenriched.zip)",\r
-          "required" : true,\r
-          "schema" : {\r
-            "$ref" : "#/definitions/FilePart"\r
-          }\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "object"\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/blueprint-model/enrichandpublish" : {\r
-      "post" : {\r
-        "tags" : [ "Blueprint Model Catalog" ],\r
-        "summary" : "Enrich and publish a Blueprint Model",\r
-        "description" : "Enriches the attached CBA, validates it and saves it in CDS if validation was successful.",\r
-        "operationId" : "BlueprintModelController_enrichAndPubishlueprint_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "consumes" : [ "multipart/form-data" ],\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "in" : "body",\r
-          "name" : "file",\r
-          "description" : "Unenriched CBA zip file to be uploaded (example: cba_unenriched.zip)",\r
-          "required" : true,\r
-          "schema" : {\r
-            "$ref" : "#/definitions/FilePart"\r
-          }\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "OK",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/BlueprintModelSearch"\r
-            }\r
-          },\r
-          "503" : {\r
-            "description" : "Service Unavailable"\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/blueprint-model/meta-data/{keyword}" : {\r
-      "get" : {\r
-        "tags" : [ "Blueprint Model Catalog" ],\r
-        "summary" : "Search for Blueprints by a Keyword",\r
-        "description" : "Lists all blueprint models by a matching keyword in any of the meta-data of the blueprint models. Blueprint models are just returned if a whole keyword is matching, not just parts of it. Not case-sensitive. Used by CDS UI.",\r
-        "operationId" : "BlueprintModelController_allBlueprintModelMetaData_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "keyword",\r
-          "in" : "path",\r
-          "description" : "Keyword to search for in blueprint model meta-data",\r
-          "required" : true,\r
-          "type" : "string",\r
-          "x-example" : "pnf_netconf"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "array",\r
-              "items" : {\r
-                "$ref" : "#/definitions/BlueprintModelSearch"\r
-              }\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/blueprint-model/name/{name}/version/{version}" : {\r
-      "delete" : {\r
-        "tags" : [ "Blueprint Model Catalog" ],\r
-        "summary" : "Delete a Blueprint Model by Name",\r
-        "description" : "Deletes a blueprint model identified by its name and version from CDS.",\r
-        "operationId" : "BlueprintModelController_deleteBlueprintByName_DELETE.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "parameters" : [ {\r
-          "name" : "name",\r
-          "in" : "path",\r
-          "description" : "Name of the blueprint model",\r
-          "required" : true,\r
-          "type" : "string",\r
-          "x-example" : "pnf_netconf"\r
-        }, {\r
-          "name" : "version",\r
-          "in" : "path",\r
-          "description" : "Version of the blueprint model",\r
-          "required" : true,\r
-          "type" : "string",\r
-          "x-example" : "1.0.0"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "object"\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/blueprint-model/paged" : {\r
-      "get" : {\r
-        "tags" : [ "Blueprint Model Catalog" ],\r
-        "summary" : "Get Blueprints ordered",\r
-        "description" : "Lists all blueprint models which are saved in CDS in an ordered mode.",\r
-        "operationId" : "BlueprintModelController_allBlueprintModelPaged_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "limit",\r
-          "in" : "query",\r
-          "description" : "Maximum number of returned blueprint models",\r
-          "required" : false,\r
-          "type" : "integer",\r
-          "default" : 20,\r
-          "format" : "int32"\r
-        }, {\r
-          "name" : "offset",\r
-          "in" : "query",\r
-          "description" : "Offset",\r
-          "required" : false,\r
-          "type" : "integer",\r
-          "default" : 0,\r
-          "format" : "int32"\r
-        }, {\r
-          "name" : "sort",\r
-          "in" : "query",\r
-          "description" : "Order of returned blueprint models",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "DATE",\r
-          "enum" : [ "DATE", "NAME", "VERSION" ]\r
-        }, {\r
-          "name" : "sortType",\r
-          "in" : "query",\r
-          "description" : "Ascend or descend ordering",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "ASC"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/PageBlueprintModelSearch"\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/blueprint-model/paged/meta-data/{keyword}" : {\r
-      "get" : {\r
-        "tags" : [ "Blueprint Model Catalog" ],\r
-        "summary" : "Search for Blueprints by a Keyword in an ordered mode",\r
-        "description" : "Lists all blueprint models by a matching keyword in any of the meta-data of the blueprint models in an ordered mode. Blueprint models are just returned if a whole keyword is matching, not just parts of it. Not case-sensitive. Used by CDS UI.",\r
-        "operationId" : "BlueprintModelController_allBlueprintModelMetaDataPaged_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "keyword",\r
-          "in" : "path",\r
-          "description" : "Keyword to search for in blueprint model meta-data",\r
-          "required" : true,\r
-          "type" : "string",\r
-          "x-example" : "pnf_netconf"\r
-        }, {\r
-          "name" : "limit",\r
-          "in" : "query",\r
-          "description" : "Maximum number of returned blueprint models",\r
-          "required" : false,\r
-          "type" : "integer",\r
-          "default" : 20,\r
-          "format" : "int32"\r
-        }, {\r
-          "name" : "offset",\r
-          "in" : "query",\r
-          "description" : "Offset",\r
-          "required" : false,\r
-          "type" : "integer",\r
-          "default" : 0,\r
-          "format" : "int32"\r
-        }, {\r
-          "name" : "sort",\r
-          "in" : "query",\r
-          "description" : "Order of returned blueprint models",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "DATE",\r
-          "enum" : [ "DATE", "NAME", "VERSION" ]\r
-        }, {\r
-          "name" : "sortType",\r
-          "in" : "query",\r
-          "description" : "Ascend or descend ordering",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "ASC"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/PageBlueprintModelSearch"\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/blueprint-model/publish" : {\r
-      "post" : {\r
-        "tags" : [ "Blueprint Model Catalog" ],\r
-        "summary" : "Publish a Blueprint Model",\r
-        "description" : "Validates the attached CBA file and saves it in CDS if validation was successful. CBA needs to be already enriched.",\r
-        "operationId" : "BlueprintModelController_publishBlueprint_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "consumes" : [ "multipart/form-data" ],\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "in" : "body",\r
-          "name" : "file",\r
-          "description" : "Enriched CBA zip file to be uploaded (example: cba_enriched.zip)",\r
-          "required" : true,\r
-          "schema" : {\r
-            "$ref" : "#/definitions/FilePart"\r
-          }\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/BlueprintModelSearch"\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/blueprint-model/search/{tags}" : {\r
-      "get" : {\r
-        "tags" : [ "Blueprint Model Catalog" ],\r
-        "summary" : "Search for a Blueprint by Tag",\r
-        "description" : "Searches for all blueprint models which contain the specified input parameter in their tags. Blueprint models which contain just parts of the searched word in their tags are also returned.",\r
-        "operationId" : "BlueprintModelController_searchBlueprintModels_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "tags",\r
-          "in" : "path",\r
-          "description" : "Tag to search for",\r
-          "required" : true,\r
-          "type" : "string",\r
-          "x-example" : "test"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "array",\r
-              "items" : {\r
-                "$ref" : "#/definitions/BlueprintModelSearch"\r
-              }\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/blueprint-model/workflow-spec" : {\r
-      "post" : {\r
-        "tags" : [ "Blueprint Model Catalog" ],\r
-        "summary" : "Get Workflow Specification",\r
-        "description" : "Get the workflow of a blueprint identified by Blueprint and workflow name. Inputs, outputs and data types of workflow is returned.",\r
-        "operationId" : "BlueprintModelController_workflowSpec_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "consumes" : [ "application/json" ],\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "in" : "body",\r
-          "name" : "body",\r
-          "description" : "Blueprint and workflow identification",\r
-          "required" : true,\r
-          "schema" : {\r
-            "$ref" : "#/definitions/WorkFlowSpecRequest"\r
-          }\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "object"\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/blueprint-model/workflows/blueprint-name/{name}/version/{version}" : {\r
-      "get" : {\r
-        "tags" : [ "Blueprint Model Catalog" ],\r
-        "summary" : "Get Workflows of a Blueprint",\r
-        "description" : "Get all available workflows of a Blueprint identified by its name and version.",\r
-        "operationId" : "BlueprintModelController_getWorkflowList_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "name",\r
-          "in" : "path",\r
-          "description" : "Name of the blueprint model",\r
-          "required" : true,\r
-          "type" : "string",\r
-          "x-example" : "pnf_netconf"\r
-        }, {\r
-          "name" : "version",\r
-          "in" : "path",\r
-          "description" : "Version of the blueprint model",\r
-          "required" : true,\r
-          "type" : "string",\r
-          "x-example" : "1.0.0"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "object"\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/blueprint-model/{id}" : {\r
-      "get" : {\r
-        "tags" : [ "Blueprint Model Catalog" ],\r
-        "summary" : "Get a Blueprint Model by ID",\r
-        "description" : "Get meta-data of a blueprint model by its internally created ID.",\r
-        "operationId" : "BlueprintModelController_getBlueprintModel_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "id",\r
-          "in" : "path",\r
-          "description" : "ID of the blueprint model to search for",\r
-          "required" : true,\r
-          "type" : "string",\r
-          "x-example" : "67ec1f96-ab55-4b81-aff9-23ee0ed1d7a4"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "OK",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/BlueprintModelSearch"\r
-            }\r
-          },\r
-          "404" : {\r
-            "description" : "Not Found"\r
-          }\r
-        }\r
-      },\r
-      "delete" : {\r
-        "tags" : [ "Blueprint Model Catalog" ],\r
-        "summary" : "Delete a Blueprint Model by ID",\r
-        "description" : "Delete a blueprint model by its ID. ID is the internally created ID of blueprint, not the name of blueprint.",\r
-        "operationId" : "BlueprintModelController_deleteBlueprint_DELETE.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "parameters" : [ {\r
-          "name" : "id",\r
-          "in" : "path",\r
-          "description" : "ID of the blueprint model to delete",\r
-          "required" : true,\r
-          "type" : "string",\r
-          "x-example" : "67ec1f96-ab55-4b81-aff9-23ee0ed1d7a4"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "OK",\r
-            "schema" : {\r
-              "type" : "object"\r
-            }\r
-          },\r
-          "404" : {\r
-            "description" : "RESOURCE_NOT_FOUND"\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/configs" : {\r
-      "get" : {\r
-        "tags" : [ "Resource configuration" ],\r
-        "summary" : "Retrieve a resource configuration snapshot",\r
-        "description" : "Retrieve a config snapshot, identified by its Resource Id and Type. An extra 'format' parameter can be passed to tell what content-type is expected.",\r
-        "operationId" : "ResourceConfigSnapshotController_get_GET.org.onap.ccsdk.cds.blueprintsprocessor.configs.api",\r
-        "produces" : [ "text/plain", "application/json", "application/xml" ],\r
-        "parameters" : [ {\r
-          "name" : "resourceType",\r
-          "in" : "query",\r
-          "description" : "Resource Type associated of the resource configuration snapshot",\r
-          "required" : true,\r
-          "type" : "string",\r
-          "x-example" : "\"PNF\""\r
-        }, {\r
-          "name" : "resourceId",\r
-          "in" : "query",\r
-          "description" : "Resource Id associated of the resource configuration snapshot",\r
-          "required" : true,\r
-          "type" : "string",\r
-          "x-example" : "\"1\""\r
-        }, {\r
-          "name" : "status",\r
-          "in" : "query",\r
-          "description" : "Status of the snapshot being retrieved",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "RUNNING"\r
-        }, {\r
-          "name" : "format",\r
-          "in" : "query",\r
-          "description" : "Expected format of the snapshot being retrieved",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "text/plain"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "string"\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/configs/allByID" : {\r
-      "get" : {\r
-        "tags" : [ "Resource configuration" ],\r
-        "summary" : "Retrieve all resource configuration snapshots identified by a given resource_id",\r
-        "description" : "Retrieve all config snapshots, identified by its Resource Id, ordered by most recently created/modified date. ",\r
-        "operationId" : "ResourceConfigSnapshotController_getAllByID_GET.org.onap.ccsdk.cds.blueprintsprocessor.configs.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "resourceId",\r
-          "in" : "query",\r
-          "description" : "Resource Id associated of the resource configuration snapshots",\r
-          "required" : true,\r
-          "type" : "string",\r
-          "x-example" : "\"1\""\r
-        }, {\r
-          "name" : "status",\r
-          "in" : "query",\r
-          "description" : "Status of the snapshot being retrieved",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "ANY"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "array",\r
-              "items" : {\r
-                "$ref" : "#/definitions/ResourceConfigSnapshot"\r
-              }\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/configs/allByType" : {\r
-      "get" : {\r
-        "tags" : [ "Resource configuration" ],\r
-        "summary" : "Retrieve all resource configuration snapshots for a given resource type",\r
-        "description" : "Retrieve all config snapshots matching a specified Resource Type, ordered by most recently created/modified date. ",\r
-        "operationId" : "ResourceConfigSnapshotController_getAllByType_GET.org.onap.ccsdk.cds.blueprintsprocessor.configs.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "resourceType",\r
-          "in" : "query",\r
-          "description" : "Resource Type associated of the resource configuration snapshot",\r
-          "required" : true,\r
-          "type" : "string",\r
-          "x-example" : "\"PNF\""\r
-        }, {\r
-          "name" : "status",\r
-          "in" : "query",\r
-          "description" : "Status of the snapshot being retrieved",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "ANY"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "array",\r
-              "items" : {\r
-                "$ref" : "#/definitions/ResourceConfigSnapshot"\r
-              }\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/configs/{resourceType}/{resourceId}/{status}" : {\r
-      "post" : {\r
-        "tags" : [ "Resource configuration" ],\r
-        "summary" : "Store a resource configuration snapshot identified by resourceId, resourceType, status",\r
-        "description" : "Store a resource configuration snapshot, identified by its resourceId and resourceType, and optionally its status, either RUNNING or CANDIDATE.",\r
-        "operationId" : "ResourceConfigSnapshotController_postWithResourceIdAndResourceType_POST.org.onap.ccsdk.cds.blueprintsprocessor.configs.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "resourceType",\r
-          "in" : "path",\r
-          "description" : "Resource Type associated with the resolution",\r
-          "required" : true,\r
-          "type" : "string",\r
-          "x-example" : "\"PNF\""\r
-        }, {\r
-          "name" : "resourceId",\r
-          "in" : "path",\r
-          "description" : "Resource Id associated with the resolution",\r
-          "required" : true,\r
-          "type" : "string",\r
-          "x-example" : "\"1\""\r
-        }, {\r
-          "name" : "status",\r
-          "in" : "path",\r
-          "description" : "Status of the snapshot being retrieved",\r
-          "required" : true,\r
-          "type" : "string",\r
-          "default" : "RUNNING"\r
-        }, {\r
-          "in" : "body",\r
-          "name" : "body",\r
-          "description" : "Config snapshot to store",\r
-          "required" : true,\r
-          "schema" : {\r
-            "type" : "string"\r
-          }\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/ResourceConfigSnapshot"\r
-            }\r
-          }\r
-        }\r
-      },\r
-      "delete" : {\r
-        "tags" : [ "Resource configuration" ],\r
-        "summary" : "Delete a resource configuration snapshot identified by resourceId, resourceType, status.",\r
-        "description" : "Delete a resource configuration snapshot, identified by its resourceId and resourceType, and optionally its status, either RUNNING or CANDIDATE.",\r
-        "operationId" : "ResourceConfigSnapshotController_deleteWithResourceIdAndResourceType_DELETE.org.onap.ccsdk.cds.blueprintsprocessor.configs.api",\r
-        "parameters" : [ {\r
-          "name" : "resourceType",\r
-          "in" : "path",\r
-          "description" : "Resource Type associated with the resolution.",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "resourceId",\r
-          "in" : "path",\r
-          "description" : "Resource Id associated with the resolution.",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "status",\r
-          "in" : "path",\r
-          "description" : "Status of the snapshot being deleted.",\r
-          "required" : true,\r
-          "type" : "string"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "object"\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/dictionary" : {\r
-      "post" : {\r
-        "tags" : [ "Resource Dictionary" ],\r
-        "summary" : "Save a resource dictionary",\r
-        "description" : "Save a resource dictionary by dictionary provided.",\r
-        "operationId" : "ResourceDictionaryController_saveResourceDictionary_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "consumes" : [ "application/json" ],\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "in" : "body",\r
-          "name" : "body",\r
-          "description" : "Resource dictionary to store",\r
-          "required" : true,\r
-          "schema" : {\r
-            "$ref" : "#/definitions/ResourceDictionary"\r
-          }\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/ResourceDictionary"\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/dictionary/by-names" : {\r
-      "post" : {\r
-        "tags" : [ "Resource Dictionary" ],\r
-        "summary" : "Search for a resource dictionary",\r
-        "description" : "Search for a resource dictionary by names provided.",\r
-        "operationId" : "ResourceDictionaryController_searchResourceDictionaryByNames_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "consumes" : [ "application/json" ],\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "in" : "body",\r
-          "name" : "body",\r
-          "description" : "List of names",\r
-          "required" : true,\r
-          "schema" : {\r
-            "type" : "array",\r
-            "items" : {\r
-              "type" : "string"\r
-            }\r
-          }\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "array",\r
-              "items" : {\r
-                "$ref" : "#/definitions/ResourceDictionary"\r
-              }\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/dictionary/definition" : {\r
-      "post" : {\r
-        "tags" : [ "Resource Dictionary" ],\r
-        "summary" : "Save a resource dictionary",\r
-        "description" : "Save a resource dictionary by provided resource definition json.",\r
-        "operationId" : "ResourceDictionaryController_saveResourceDictionary_1_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "consumes" : [ "application/json" ],\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "in" : "body",\r
-          "name" : "body",\r
-          "description" : "Resource definition to generate Resource Dictionary",\r
-          "required" : true,\r
-          "schema" : {\r
-            "$ref" : "#/definitions/ResourceDefinition"\r
-          }\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/ResourceDictionary"\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/dictionary/definition-bulk" : {\r
-      "post" : {\r
-        "tags" : [ "Resource Dictionary" ],\r
-        "summary" : "Save multiple resource dictionaries",\r
-        "description" : "Save multiple resource dictionaries by provided resource definition json array.",\r
-        "operationId" : "ResourceDictionaryController_saveAllResourceDictionary_1_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "consumes" : [ "application/json" ],\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "in" : "body",\r
-          "name" : "body",\r
-          "description" : "Resource definition json array to generate Resource Dictionaries",\r
-          "required" : true,\r
-          "schema" : {\r
-            "type" : "array",\r
-            "items" : {\r
-              "$ref" : "#/definitions/ResourceDefinition"\r
-            }\r
-          }\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/ResourceDictionary"\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/dictionary/paged" : {\r
-      "get" : {\r
-        "tags" : [ "Resource Dictionary" ],\r
-        "summary" : "Get Blueprints Dictionary ordered",\r
-        "description" : "Lists all blueprint Dictionary which are saved in CDS in an ordered mode.",\r
-        "operationId" : "BlueprintModelController_allBlueprintDictionaryPaged_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "limit",\r
-          "in" : "query",\r
-          "description" : "Maximum number of returned blueprint dictionary",\r
-          "required" : false,\r
-          "type" : "integer",\r
-          "default" : 20,\r
-          "format" : "int32"\r
-        }, {\r
-          "name" : "offset",\r
-          "in" : "query",\r
-          "description" : "Offset",\r
-          "required" : false,\r
-          "type" : "integer",\r
-          "default" : 0,\r
-          "format" : "int32"\r
-        }, {\r
-          "name" : "sort",\r
-          "in" : "query",\r
-          "description" : "Order of returned blueprint dictionary",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "DATE",\r
-          "enum" : [ "DATE" ]\r
-        }, {\r
-          "name" : "sortType",\r
-          "in" : "query",\r
-          "description" : "Ascend or descend ordering",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "ASC"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "object"\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/dictionary/resource_dictionary_group" : {\r
-      "get" : {\r
-        "tags" : [ "Resource Dictionary" ],\r
-        "summary" : "Retrieve all resource dictionary groups",\r
-        "description" : "Retrieve all resource dictionary groups.",\r
-        "operationId" : "ResourceDictionaryController_getResourceDictionaryDistinct_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "produces" : [ "application/json" ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "array",\r
-              "items" : {\r
-                "type" : "string"\r
-              }\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/dictionary/search/{tags}" : {\r
-      "get" : {\r
-        "tags" : [ "Resource Dictionary" ],\r
-        "summary" : "Search for a resource dictionary",\r
-        "description" : "Search for a resource dictionary by tags provided.",\r
-        "operationId" : "ResourceDictionaryController_searchResourceDictionaryByTags_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "tags",\r
-          "in" : "path",\r
-          "description" : "Tags list",\r
-          "required" : true,\r
-          "type" : "string",\r
-          "x-example" : "\"status\""\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "array",\r
-              "items" : {\r
-                "$ref" : "#/definitions/ResourceDictionary"\r
-              }\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/dictionary/source-mapping" : {\r
-      "get" : {\r
-        "tags" : [ "Resource Dictionary" ],\r
-        "summary" : "Search for a source mapping",\r
-        "description" : "Search for a source mapping.",\r
-        "operationId" : "ResourceDictionaryController_getResourceSourceMapping_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "produces" : [ "application/json" ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/ResourceSourceMapping"\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/dictionary/{name}" : {\r
-      "get" : {\r
-        "tags" : [ "Resource Dictionary" ],\r
-        "summary" : "Retrieve a resource dictionary",\r
-        "description" : "Retrieve a resource dictionary by name provided.",\r
-        "operationId" : "ResourceDictionaryController_getResourceDictionaryByName_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "name",\r
-          "in" : "path",\r
-          "description" : "Name of the resource",\r
-          "required" : true,\r
-          "type" : "string",\r
-          "x-example" : "\"hostname\""\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/ResourceDictionary"\r
-            }\r
-          }\r
-        }\r
-      },\r
-      "delete" : {\r
-        "tags" : [ "Resource Dictionary" ],\r
-        "summary" : "Remove a resource dictionary",\r
-        "description" : "Remove a resource dictionary by name provided.",\r
-        "operationId" : "ResourceDictionaryController_deleteResourceDictionaryByName_DELETE.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "parameters" : [ {\r
-          "name" : "name",\r
-          "in" : "path",\r
-          "description" : "Name of the resource",\r
-          "required" : true,\r
-          "type" : "string"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "object"\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/execution-service/process" : {\r
-      "post" : {\r
-        "tags" : [ "Execution Service Catalog" ],\r
-        "summary" : "Execute a CBA workflow (action)",\r
-        "description" : "Execute the appropriate CBA's action based on the ExecutionServiceInput object passed as input.",\r
-        "operationId" : "ExecutionServiceController_process_POST.org.onap.ccsdk.cds.blueprintsprocessor.selfservice.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "in" : "body",\r
-          "name" : "body",\r
-          "description" : "ExecutionServiceInput payload.",\r
-          "required" : true,\r
-          "schema" : {\r
-            "$ref" : "#/definitions/ExecutionServiceInput"\r
-          }\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/ExecutionServiceOutput"\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/model-type/by-definition/{definitionType}" : {\r
-      "get" : {\r
-        "tags" : [ "Model Type Catalog" ],\r
-        "summary" : "Retrieve a list of model types",\r
-        "description" : "Retrieve a list of model types by definition type provided.",\r
-        "operationId" : "ModelTypeController_getModelTypeByDefinitionType_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "definitionType",\r
-          "in" : "path",\r
-          "required" : true,\r
-          "type" : "string"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "array",\r
-              "items" : {\r
-                "$ref" : "#/definitions/ModelType"\r
-              }\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/model-type/search/{tags}" : {\r
-      "get" : {\r
-        "tags" : [ "Model Type Catalog" ],\r
-        "summary" : "Retrieve a list of model types",\r
-        "description" : "Retrieve a list of model types by tags provided.",\r
-        "operationId" : "ModelTypeController_searchModelTypes_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "tags",\r
-          "in" : "path",\r
-          "required" : true,\r
-          "type" : "string"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "array",\r
-              "items" : {\r
-                "$ref" : "#/definitions/ModelType"\r
-              }\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/model-type/{name}" : {\r
-      "get" : {\r
-        "tags" : [ "Model Type Catalog" ],\r
-        "summary" : "Retrieve a model type",\r
-        "description" : "Retrieve a model type by name provided.",\r
-        "operationId" : "ModelTypeController_getModelTypeByName_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "name",\r
-          "in" : "path",\r
-          "required" : true,\r
-          "type" : "string"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/ModelType"\r
-            }\r
-          }\r
-        }\r
-      },\r
-      "delete" : {\r
-        "tags" : [ "Model Type Catalog" ],\r
-        "summary" : "Remove a model type",\r
-        "description" : "Remove a model type by name provided.",\r
-        "operationId" : "ModelTypeController_deleteModelTypeByName_DELETE.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",\r
-        "parameters" : [ {\r
-          "name" : "name",\r
-          "in" : "path",\r
-          "required" : true,\r
-          "type" : "string"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/ModelType"\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/resources" : {\r
-      "get" : {\r
-        "tags" : [ "Resources" ],\r
-        "summary" : "Get all resolved resources using the resolution key",\r
-        "description" : "Retrieve all stored resolved resources using the blueprint name, blueprint version, artifact name and the resolution-key.",\r
-        "operationId" : "ResourceController_getAllFromResolutionKeyOrFromResourceTypeAndId_GET.org.onap.ccsdk.cds.blueprintsprocessor.resource.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "bpName",\r
-          "in" : "query",\r
-          "description" : "Name of the CBA",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "bpVersion",\r
-          "in" : "query",\r
-          "description" : "Version of the CBA",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "artifactName",\r
-          "in" : "query",\r
-          "description" : "Artifact name for which to retrieve a resolved resource",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "resolutionKey",\r
-          "in" : "query",\r
-          "description" : "Resolution Key associated with the resolution",\r
-          "required" : false,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "resourceType",\r
-          "in" : "query",\r
-          "description" : "Resource Type associated with the resolution",\r
-          "required" : false,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "resourceId",\r
-          "in" : "query",\r
-          "description" : "Resource Id associated with the resolution",\r
-          "required" : false,\r
-          "type" : "string"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "array",\r
-              "items" : {\r
-                "$ref" : "#/definitions/ResourceResolution"\r
-              }\r
-            }\r
-          }\r
-        }\r
-      },\r
-      "delete" : {\r
-        "tags" : [ "Resources" ],\r
-        "summary" : "Delete resources using resolution key",\r
-        "description" : "Delete all the resources associated to a resolution-key using blueprint metadata, artifact name and the resolution-key.",\r
-        "operationId" : "ResourceController_deleteResolutions_DELETE.org.onap.ccsdk.cds.blueprintsprocessor.resource.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "bpName",\r
-          "in" : "query",\r
-          "description" : "Name of the CBA",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "bpVersion",\r
-          "in" : "query",\r
-          "description" : "Version of the CBA",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "artifactName",\r
-          "in" : "query",\r
-          "description" : "Artifact name for which to retrieve a resolved resource",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "resolutionKey",\r
-          "in" : "query",\r
-          "description" : "Resolution Key associated with the resolution",\r
-          "required" : false,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "resourceType",\r
-          "in" : "query",\r
-          "description" : "resourceType associated with the resolution, must be used with resourceId",\r
-          "required" : false,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "resourceId",\r
-          "in" : "query",\r
-          "description" : "Resolution Key associated with the resolution, must be used with resourceType",\r
-          "required" : false,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "lastN",\r
-          "in" : "query",\r
-          "description" : "Only delete last N occurrences",\r
-          "required" : false,\r
-          "type" : "integer",\r
-          "format" : "int32"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "object"\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/resources/occurrences" : {\r
-      "get" : {\r
-        "tags" : [ "Resources" ],\r
-        "summary" : "Get the map of resolved resources with 'occurrence' as the keys to the resolved resources ",\r
-        "description" : "With optional 'occurrence' options, subset of stored resolved resources can be retrieved using the blueprint name, blueprint version, artifact name and the resolution-key.",\r
-        "operationId" : "ResourceController_getOccurrences_GET.org.onap.ccsdk.cds.blueprintsprocessor.resource.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "bpName",\r
-          "in" : "query",\r
-          "description" : "Name of the CBA.",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "bpVersion",\r
-          "in" : "query",\r
-          "description" : "Version of the CBA.",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "artifactName",\r
-          "in" : "query",\r
-          "description" : "Artifact name for which to retrieve a resolved resource.",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "resolutionKey",\r
-          "in" : "query",\r
-          "description" : "Resolution Key associated with the resolution.",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "firstN",\r
-          "in" : "query",\r
-          "description" : "Number of earlier N occurrences of the resolutions.",\r
-          "required" : false,\r
-          "type" : "integer",\r
-          "format" : "int32"\r
-        }, {\r
-          "name" : "lastN",\r
-          "in" : "query",\r
-          "description" : "Number of latest N occurrences of the resolutions.",\r
-          "required" : false,\r
-          "type" : "integer",\r
-          "format" : "int32"\r
-        }, {\r
-          "name" : "begin",\r
-          "in" : "query",\r
-          "description" : "For Range option - 'begin' is the start occurrence of range of the resolutions.",\r
-          "required" : false,\r
-          "type" : "integer",\r
-          "format" : "int32"\r
-        }, {\r
-          "name" : "end",\r
-          "in" : "query",\r
-          "description" : "For Range option - 'end' is the end occurrence of the range of the resolutions.",\r
-          "required" : false,\r
-          "type" : "integer",\r
-          "format" : "int32"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "array",\r
-              "items" : {\r
-                "$ref" : "#/definitions/ResourceResolution"\r
-              }\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/resources/resource" : {\r
-      "get" : {\r
-        "tags" : [ "Resources" ],\r
-        "summary" : "Fetch a resource value using resolution key",\r
-        "description" : "Retrieve a stored resource value using the blueprint metadata, artifact name, resolution-key along with the name of the resource value to retrieve.",\r
-        "operationId" : "ResourceController_getOneFromResolutionKey_GET.org.onap.ccsdk.cds.blueprintsprocessor.resource.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "bpName",\r
-          "in" : "query",\r
-          "description" : "Name of the CBA",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "bpVersion",\r
-          "in" : "query",\r
-          "description" : "Version of the CBA",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "artifactName",\r
-          "in" : "query",\r
-          "description" : "Artifact name for which to retrieve a resolved resource",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "resolutionKey",\r
-          "in" : "query",\r
-          "description" : "Resolution Key associated with the resolution",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "name",\r
-          "in" : "query",\r
-          "description" : "Name of the resource to retrieve",\r
-          "required" : true,\r
-          "type" : "string"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "object"\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/template/occurrences" : {\r
-      "get" : {\r
-        "tags" : [ "Resource Template" ],\r
-        "summary" : "Get the map of resolved templates with 'occurrence' as the keys to the resolved templates ",\r
-        "description" : "With optional 'occurrence' options, subset of stored resolved templates can be retrieved using the blueprint name, blueprint version, artifact name and the resolution-key.",\r
-        "operationId" : "TemplateController_getOccurrences_GET.org.onap.ccsdk.cds.blueprintsprocessor.resource.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "bpName",\r
-          "in" : "query",\r
-          "description" : "Name of the CBA.",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "bpVersion",\r
-          "in" : "query",\r
-          "description" : "Version of the CBA.",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "artifactName",\r
-          "in" : "query",\r
-          "description" : "Artifact name for which to retrieve a resolved resource.",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "resolutionKey",\r
-          "in" : "query",\r
-          "description" : "Resolution Key associated with the resolution.",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "firstN",\r
-          "in" : "query",\r
-          "description" : "Number of earlier N occurrences of the templates.",\r
-          "required" : false,\r
-          "type" : "integer",\r
-          "format" : "int32"\r
-        }, {\r
-          "name" : "lastN",\r
-          "in" : "query",\r
-          "description" : "Number of latest N occurrences of the templates.",\r
-          "required" : false,\r
-          "type" : "integer",\r
-          "format" : "int32"\r
-        }, {\r
-          "name" : "begin",\r
-          "in" : "query",\r
-          "description" : "For Range option - 'begin' is the start occurrence of range of the templates.",\r
-          "required" : false,\r
-          "type" : "integer",\r
-          "format" : "int32"\r
-        }, {\r
-          "name" : "end",\r
-          "in" : "query",\r
-          "description" : "For Range option - 'end' is the end occurrence of the range of the templates.",\r
-          "required" : false,\r
-          "type" : "integer",\r
-          "format" : "int32"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "array",\r
-              "items" : {\r
-                "$ref" : "#/definitions/TemplateResolution"\r
-              }\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/template/{bpName}/{bpVersion}/{artifactName}/{resolutionKey}" : {\r
-      "post" : {\r
-        "tags" : [ "Resource Template" ],\r
-        "summary" : "Store a resolved template w/ resolution-key",\r
-        "description" : "Store a template for a given CBA's action, identified by its blueprint name, blueprint version, artifact name and resolution key.",\r
-        "operationId" : "TemplateController_postWithResolutionKey_POST.org.onap.ccsdk.cds.blueprintsprocessor.resource.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "bpName",\r
-          "in" : "path",\r
-          "description" : "Name of the CBA",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "bpVersion",\r
-          "in" : "path",\r
-          "description" : "Version of the CBA",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "artifactName",\r
-          "in" : "path",\r
-          "description" : "Artifact name for which to retrieve a resolved resource",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "resolutionKey",\r
-          "in" : "path",\r
-          "description" : "Resolution Key associated with the resolution",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "in" : "body",\r
-          "name" : "body",\r
-          "description" : "Template to store",\r
-          "required" : true,\r
-          "schema" : {\r
-            "type" : "string"\r
-          }\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/TemplateResolution"\r
-            }\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/api/v1/template/{bpName}/{bpVersion}/{artifactName}/{resourceType}/{resourceId}" : {\r
-      "post" : {\r
-        "tags" : [ "Resource Template" ],\r
-        "summary" : "Store a resolved template w/ resourceId and resourceType",\r
-        "description" : "Store a template for a given CBA's action, identified by its blueprint name, blueprint version, artifact name, resourceId and resourceType.",\r
-        "operationId" : "TemplateController_postWithResourceIdAndResourceType_POST.org.onap.ccsdk.cds.blueprintsprocessor.resource.api",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "bpName",\r
-          "in" : "path",\r
-          "description" : "Name of the CBA",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "bpVersion",\r
-          "in" : "path",\r
-          "description" : "Version of the CBA",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "artifactName",\r
-          "in" : "path",\r
-          "description" : "Artifact name for which to retrieve a resolved resource",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "resourceType",\r
-          "in" : "path",\r
-          "description" : "Resource Type associated with the resolution",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "resourceId",\r
-          "in" : "path",\r
-          "description" : "Resource Id associated with the resolution",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "in" : "body",\r
-          "name" : "body",\r
-          "description" : "Template to store",\r
-          "required" : true,\r
-          "schema" : {\r
-            "type" : "string"\r
-          }\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/TemplateResolution"\r
-            }\r
-          }\r
-        }\r
-      }\r
-    }\r
-  },\r
-  "securityDefinitions" : {\r
-    "Basic Auth" : {\r
-      "type" : "basic"\r
-    }\r
-  },\r
-  "definitions" : {\r
-    "ActionIdentifiers" : {\r
-      "type" : "object",\r
-      "required" : [ "actionName", "mode" ],\r
-      "properties" : {\r
-        "blueprintName" : {\r
-          "type" : "string",\r
-          "description" : "Name of the CBA."\r
-        },\r
-        "blueprintVersion" : {\r
-          "type" : "string",\r
-          "description" : "Version of the CBA."\r
-        },\r
-        "actionName" : {\r
-          "type" : "string",\r
-          "description" : "Name of the workflow to execute."\r
-        },\r
-        "mode" : {\r
-          "type" : "string",\r
-          "description" : "Async processing is only supported for gRPC client.",\r
-          "enum" : [ "sync", "async" ]\r
-        }\r
-      }\r
-    },\r
-    "ArtifactDefinition" : {\r
-      "type" : "object",\r
-      "properties" : {\r
-        "type" : {\r
-          "type" : "string"\r
-        },\r
-        "file" : {\r
-          "type" : "string"\r
-        },\r
-        "repository" : {\r
-          "type" : "string"\r
-        },\r
-        "description" : {\r
-          "type" : "string"\r
-        },\r
-        "properties" : {\r
-          "type" : "object",\r
-          "additionalProperties" : {\r
-            "$ref" : "#/definitions/JsonNode"\r
-          }\r
-        },\r
-        "deploy_Path" : {\r
-          "type" : "string"\r
-        }\r
-      }\r
-    },\r
-    "BlueprintModelSearch" : {\r
-      "type" : "object",\r
-      "required" : [ "artifactName", "artifactVersion", "createdDate", "id", "published", "tags", "updatedBy" ],\r
-      "properties" : {\r
-        "id" : {\r
-          "type" : "string",\r
-          "example" : "658f9a48-7f54-41ba-ae18-c69f26f3dc94",\r
-          "description" : "ID of Blueprint model, is automatically created by CDS"\r
-        },\r
-        "artifactUUId" : {\r
-          "type" : "string",\r
-          "example" : null,\r
-          "description" : "Artifact UUID, usually null"\r
-        },\r
-        "artifactType" : {\r
-          "type" : "string",\r
-          "example" : "SDNC_MODEL",\r
-          "description" : "Artifact Type, usually null"\r
-        },\r
-        "artifactVersion" : {\r
-          "type" : "string",\r
-          "example" : "1.0.0",\r
-          "description" : "Artifact Version, usually 1.0.0"\r
-        },\r
-        "artifactDescription" : {\r
-          "type" : "string",\r
-          "example" : "",\r
-          "description" : "Artifact Description, usually empty"\r
-        },\r
-        "internalVersion" : {\r
-          "type" : "integer",\r
-          "format" : "int32",\r
-          "example" : null,\r
-          "description" : "Internal Version of CBA, usually null"\r
-        },\r
-        "createdDate" : {\r
-          "type" : "string",\r
-          "format" : "date-time",\r
-          "example" : "2020-11-19T10:34:56.000Z",\r
-          "description" : "Datetime of the creation of CBA in CDS"\r
-        },\r
-        "artifactName" : {\r
-          "type" : "string",\r
-          "example" : "pnf_netconf",\r
-          "description" : "Artifact Name, defined in Metadata"\r
-        },\r
-        "published" : {\r
-          "type" : "string",\r
-          "example" : "pnf_netconf",\r
-          "description" : "Artifact Name, defined in Metadata"\r
-        },\r
-        "updatedBy" : {\r
-          "type" : "string",\r
-          "example" : "Deutsche Telekom AG",\r
-          "description" : "Name of publisher, defined in Metadata"\r
-        },\r
-        "tags" : {\r
-          "type" : "string",\r
-          "example" : "test",\r
-          "description" : "Tags to identify the CBA, defined in Metadata"\r
-        }\r
-      }\r
-    },\r
-    "BootstrapRequest" : {\r
-      "type" : "object",\r
-      "required" : [ "loadCBA", "loadModelType", "loadResourceDictionary" ],\r
-      "properties" : {\r
-        "loadModelType" : {\r
-          "type" : "boolean",\r
-          "example" : true,\r
-          "description" : "Specifies if default model types should be loaded"\r
-        },\r
-        "loadResourceDictionary" : {\r
-          "type" : "boolean",\r
-          "example" : true,\r
-          "description" : "Specifies if default data dictionaries should be loaded"\r
-        },\r
-        "loadCBA" : {\r
-          "type" : "boolean",\r
-          "example" : true,\r
-          "description" : "Specifies if default blueprint models should be loaded"\r
-        }\r
-      }\r
-    },\r
-    "CapabilityAssignment" : {\r
-      "type" : "object",\r
-      "properties" : {\r
-        "attributes" : {\r
-          "type" : "object",\r
-          "additionalProperties" : {\r
-            "$ref" : "#/definitions/JsonNode"\r
-          }\r
-        },\r
-        "properties" : {\r
-          "type" : "object",\r
-          "additionalProperties" : {\r
-            "$ref" : "#/definitions/JsonNode"\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "CommonHeader" : {\r
-      "type" : "object",\r
-      "required" : [ "originatorId", "requestId", "subRequestId", "timestamp" ],\r
-      "properties" : {\r
-        "timestamp" : {\r
-          "type" : "string",\r
-          "format" : "date-time",\r
-          "example" : 2012-04-23T18:25:43.511Z,\r
-          "description" : "Date of the execution"\r
-        },\r
-        "originatorId" : {\r
-          "type" : "string",\r
-          "description" : "Identify the system/person triggering the request."\r
-        },\r
-        "requestId" : {\r
-          "type" : "string",\r
-          "description" : "Uniquely identify a request."\r
-        },\r
-        "subRequestId" : {\r
-          "type" : "string",\r
-          "description" : "Allow for fine-grain request identifier"\r
-        }\r
-      }\r
-    },\r
-    "ConstraintClause" : {\r
-      "type" : "object",\r
-      "properties" : {\r
-        "equal" : {\r
-          "$ref" : "#/definitions/JsonNode"\r
-        },\r
-        "length" : {\r
-          "$ref" : "#/definitions/JsonNode"\r
-        },\r
-        "pattern" : {\r
-          "type" : "string"\r
-        },\r
-        "schema" : {\r
-          "type" : "string"\r
-        },\r
-        "greater_than" : {\r
-          "$ref" : "#/definitions/JsonNode"\r
-        },\r
-        "greater_or_equal" : {\r
-          "$ref" : "#/definitions/JsonNode"\r
-        },\r
-        "less_than" : {\r
-          "$ref" : "#/definitions/JsonNode"\r
-        },\r
-        "less_or_equal" : {\r
-          "$ref" : "#/definitions/JsonNode"\r
-        },\r
-        "in_range" : {\r
-          "type" : "array",\r
-          "items" : {\r
-            "$ref" : "#/definitions/JsonNode"\r
-          }\r
-        },\r
-        "valid_values" : {\r
-          "type" : "array",\r
-          "items" : {\r
-            "$ref" : "#/definitions/JsonNode"\r
-          }\r
-        },\r
-        "min_length" : {\r
-          "$ref" : "#/definitions/JsonNode"\r
-        },\r
-        "max_length" : {\r
-          "$ref" : "#/definitions/JsonNode"\r
-        }\r
-      }\r
-    },\r
-    "EntrySchema" : {\r
-      "type" : "object",\r
-      "properties" : {\r
-        "type" : {\r
-          "type" : "string"\r
-        },\r
-        "constraints" : {\r
-          "type" : "array",\r
-          "items" : {\r
-            "$ref" : "#/definitions/ConstraintClause"\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "ExecutionServiceInput" : {\r
-      "type" : "object",\r
-      "required" : [ "actionIdentifiers", "commonHeader", "payload" ],\r
-      "properties" : {\r
-        "commonHeader" : {\r
-          "description" : "Headers providing request context.",\r
-          "$ref" : "#/definitions/CommonHeader"\r
-        },\r
-        "actionIdentifiers" : {\r
-          "description" : "Provide information about the action to execute.",\r
-          "$ref" : "#/definitions/ActionIdentifiers"\r
-        },\r
-        "payload" : {\r
-          "description" : "Contain the information to be passed as input to the action.The payload is constituted of two section: the workflow input which is the higher level block (xxx-request) and the input for resource resolution located within the xxx-request block, contained within xxx-properties",\r
-          "$ref" : "#/definitions/ObjectNode"\r
-        }\r
-      }\r
-    },\r
-    "ExecutionServiceOutput" : {\r
-      "type" : "object",\r
-      "required" : [ "actionIdentifiers", "commonHeader", "payload", "status" ],\r
-      "properties" : {\r
-        "commonHeader" : {\r
-          "description" : "Headers providing request context.",\r
-          "$ref" : "#/definitions/CommonHeader"\r
-        },\r
-        "actionIdentifiers" : {\r
-          "description" : "Provide information about the action to execute.",\r
-          "$ref" : "#/definitions/ActionIdentifiers"\r
-        },\r
-        "status" : {\r
-          "description" : "Status of the request.",\r
-          "$ref" : "#/definitions/Status"\r
-        },\r
-        "payload" : {\r
-          "description" : "Contain the information to be passed as input to the action.The payload is constituted of two section: the workflow input which is the higher level block (xxx-request) and the input for resource resolution located within the xxx-request block, contained within xxx-properties",\r
-          "$ref" : "#/definitions/ObjectNode"\r
-        }\r
-      }\r
-    },\r
-    "FilePart" : {\r
-      "type" : "object"\r
-    },\r
-    "Implementation" : {\r
-      "type" : "object",\r
-      "properties" : {\r
-        "primary" : {\r
-          "type" : "string"\r
-        },\r
-        "dependencies" : {\r
-          "type" : "array",\r
-          "items" : {\r
-            "type" : "string"\r
-          }\r
-        },\r
-        "timeout" : {\r
-          "type" : "integer",\r
-          "format" : "int32"\r
-        },\r
-        "lock" : {\r
-          "$ref" : "#/definitions/LockAssignment"\r
-        },\r
-        "operation_host" : {\r
-          "type" : "string"\r
-        }\r
-      }\r
-    },\r
-    "InterfaceAssignment" : {\r
-      "type" : "object",\r
-      "properties" : {\r
-        "operations" : {\r
-          "type" : "object",\r
-          "additionalProperties" : {\r
-            "$ref" : "#/definitions/OperationAssignment"\r
-          }\r
-        },\r
-        "inputs" : {\r
-          "type" : "object",\r
-          "additionalProperties" : {\r
-            "$ref" : "#/definitions/JsonNode"\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "JsonNode" : {\r
-      "type" : "object",\r
-      "properties" : {\r
-        "double" : {\r
-          "type" : "boolean"\r
-        },\r
-        "int" : {\r
-          "type" : "boolean"\r
-        },\r
-        "long" : {\r
-          "type" : "boolean"\r
-        },\r
-        "boolean" : {\r
-          "type" : "boolean"\r
-        },\r
-        "short" : {\r
-          "type" : "boolean"\r
-        },\r
-        "nodeType" : {\r
-          "type" : "string",\r
-          "enum" : [ "ARRAY", "BINARY", "BOOLEAN", "MISSING", "NULL", "NUMBER", "OBJECT", "POJO", "STRING" ]\r
-        },\r
-        "object" : {\r
-          "type" : "boolean"\r
-        },\r
-        "number" : {\r
-          "type" : "boolean"\r
-        },\r
-        "binary" : {\r
-          "type" : "boolean"\r
-        },\r
-        "floatingPointNumber" : {\r
-          "type" : "boolean"\r
-        },\r
-        "containerNode" : {\r
-          "type" : "boolean"\r
-        },\r
-        "missingNode" : {\r
-          "type" : "boolean"\r
-        },\r
-        "pojo" : {\r
-          "type" : "boolean"\r
-        },\r
-        "valueNode" : {\r
-          "type" : "boolean"\r
-        },\r
-        "bigDecimal" : {\r
-          "type" : "boolean"\r
-        },\r
-        "textual" : {\r
-          "type" : "boolean"\r
-        },\r
-        "bigInteger" : {\r
-          "type" : "boolean"\r
-        },\r
-        "integralNumber" : {\r
-          "type" : "boolean"\r
-        },\r
-        "array" : {\r
-          "type" : "boolean"\r
-        },\r
-        "null" : {\r
-          "type" : "boolean"\r
-        },\r
-        "float" : {\r
-          "type" : "boolean"\r
-        }\r
-      }\r
-    },\r
-    "LockAssignment" : {\r
-      "type" : "object",\r
-      "properties" : {\r
-        "key" : {\r
-          "$ref" : "#/definitions/JsonNode"\r
-        },\r
-        "acquireTimeout" : {\r
-          "$ref" : "#/definitions/JsonNode"\r
-        }\r
-      }\r
-    },\r
-    "ModelType" : {\r
-      "type" : "object",\r
-      "required" : [ "definition", "definitionType", "derivedFrom", "description", "modelName", "tags", "updatedBy", "version" ],\r
-      "properties" : {\r
-        "modelName" : {\r
-          "type" : "string"\r
-        },\r
-        "derivedFrom" : {\r
-          "type" : "string"\r
-        },\r
-        "definitionType" : {\r
-          "type" : "string"\r
-        },\r
-        "definition" : {\r
-          "$ref" : "#/definitions/JsonNode"\r
-        },\r
-        "description" : {\r
-          "type" : "string"\r
-        },\r
-        "version" : {\r
-          "type" : "string"\r
-        },\r
-        "tags" : {\r
-          "type" : "string"\r
-        },\r
-        "creationDate" : {\r
-          "type" : "string",\r
-          "format" : "date-time"\r
-        },\r
-        "updatedBy" : {\r
-          "type" : "string"\r
-        }\r
-      }\r
-    },\r
-    "NodeFilterDefinition" : {\r
-      "type" : "object",\r
-      "properties" : {\r
-        "properties" : {\r
-          "type" : "object",\r
-          "additionalProperties" : {\r
-            "$ref" : "#/definitions/PropertyDefinition"\r
-          }\r
-        },\r
-        "capabilities" : {\r
-          "type" : "array",\r
-          "items" : {\r
-            "type" : "string"\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "NodeTemplate" : {\r
-      "type" : "object",\r
-      "properties" : {\r
-        "description" : {\r
-          "type" : "string"\r
-        },\r
-        "type" : {\r
-          "type" : "string"\r
-        },\r
-        "metadata" : {\r
-          "type" : "object",\r
-          "additionalProperties" : {\r
-            "type" : "string"\r
-          }\r
-        },\r
-        "directives" : {\r
-          "type" : "array",\r
-          "items" : {\r
-            "type" : "string"\r
-          }\r
-        },\r
-        "properties" : {\r
-          "type" : "object",\r
-          "additionalProperties" : {\r
-            "$ref" : "#/definitions/JsonNode"\r
-          }\r
-        },\r
-        "attributes" : {\r
-          "type" : "object",\r
-          "additionalProperties" : {\r
-            "$ref" : "#/definitions/JsonNode"\r
-          }\r
-        },\r
-        "capabilities" : {\r
-          "type" : "object",\r
-          "additionalProperties" : {\r
-            "$ref" : "#/definitions/CapabilityAssignment"\r
-          }\r
-        },\r
-        "requirements" : {\r
-          "type" : "object",\r
-          "additionalProperties" : {\r
-            "$ref" : "#/definitions/RequirementAssignment"\r
-          }\r
-        },\r
-        "interfaces" : {\r
-          "type" : "object",\r
-          "additionalProperties" : {\r
-            "$ref" : "#/definitions/InterfaceAssignment"\r
-          }\r
-        },\r
-        "artifacts" : {\r
-          "type" : "object",\r
-          "additionalProperties" : {\r
-            "$ref" : "#/definitions/ArtifactDefinition"\r
-          }\r
-        },\r
-        "copy" : {\r
-          "type" : "string"\r
-        },\r
-        "node_filter" : {\r
-          "$ref" : "#/definitions/NodeFilterDefinition"\r
-        }\r
-      }\r
-    },\r
-    "ObjectNode" : {\r
-      "type" : "object",\r
-      "properties" : {\r
-        "nodeType" : {\r
-          "type" : "string",\r
-          "enum" : [ "ARRAY", "BINARY", "BOOLEAN", "MISSING", "NULL", "NUMBER", "OBJECT", "POJO", "STRING" ]\r
-        },\r
-        "double" : {\r
-          "type" : "boolean"\r
-        },\r
-        "int" : {\r
-          "type" : "boolean"\r
-        },\r
-        "long" : {\r
-          "type" : "boolean"\r
-        },\r
-        "boolean" : {\r
-          "type" : "boolean"\r
-        },\r
-        "short" : {\r
-          "type" : "boolean"\r
-        },\r
-        "object" : {\r
-          "type" : "boolean"\r
-        },\r
-        "number" : {\r
-          "type" : "boolean"\r
-        },\r
-        "binary" : {\r
-          "type" : "boolean"\r
-        },\r
-        "floatingPointNumber" : {\r
-          "type" : "boolean"\r
-        },\r
-        "containerNode" : {\r
-          "type" : "boolean"\r
-        },\r
-        "missingNode" : {\r
-          "type" : "boolean"\r
-        },\r
-        "pojo" : {\r
-          "type" : "boolean"\r
-        },\r
-        "valueNode" : {\r
-          "type" : "boolean"\r
-        },\r
-        "bigDecimal" : {\r
-          "type" : "boolean"\r
-        },\r
-        "textual" : {\r
-          "type" : "boolean"\r
-        },\r
-        "bigInteger" : {\r
-          "type" : "boolean"\r
-        },\r
-        "integralNumber" : {\r
-          "type" : "boolean"\r
-        },\r
-        "array" : {\r
-          "type" : "boolean"\r
-        },\r
-        "null" : {\r
-          "type" : "boolean"\r
-        },\r
-        "float" : {\r
-          "type" : "boolean"\r
-        }\r
-      }\r
-    },\r
-    "OperationAssignment" : {\r
-      "type" : "object",\r
-      "properties" : {\r
-        "description" : {\r
-          "type" : "string"\r
-        },\r
-        "implementation" : {\r
-          "$ref" : "#/definitions/Implementation"\r
-        },\r
-        "inputs" : {\r
-          "type" : "object",\r
-          "additionalProperties" : {\r
-            "$ref" : "#/definitions/JsonNode"\r
-          }\r
-        },\r
-        "outputs" : {\r
-          "type" : "object",\r
-          "additionalProperties" : {\r
-            "$ref" : "#/definitions/JsonNode"\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "Page" : {\r
-      "type" : "object",\r
-      "properties" : {\r
-        "totalPages" : {\r
-          "type" : "integer",\r
-          "format" : "int32"\r
-        },\r
-        "totalElements" : {\r
-          "type" : "integer",\r
-          "format" : "int64"\r
-        },\r
-        "pageable" : {\r
-          "$ref" : "#/definitions/Pageable"\r
-        },\r
-        "first" : {\r
-          "type" : "boolean"\r
-        },\r
-        "numberOfElements" : {\r
-          "type" : "integer",\r
-          "format" : "int32"\r
-        },\r
-        "size" : {\r
-          "type" : "integer",\r
-          "format" : "int32"\r
-        },\r
-        "content" : {\r
-          "type" : "array",\r
-          "items" : {\r
-            "type" : "object"\r
-          }\r
-        },\r
-        "number" : {\r
-          "type" : "integer",\r
-          "format" : "int32"\r
-        },\r
-        "sort" : {\r
-          "$ref" : "#/definitions/Sort"\r
-        },\r
-        "last" : {\r
-          "type" : "boolean"\r
-        },\r
-        "empty" : {\r
-          "type" : "boolean"\r
-        }\r
-      }\r
-    },\r
-    "PageBlueprintModelSearch" : {\r
-      "type" : "object",\r
-      "properties" : {\r
-        "totalPages" : {\r
-          "type" : "integer",\r
-          "format" : "int32"\r
-        },\r
-        "totalElements" : {\r
-          "type" : "integer",\r
-          "format" : "int64"\r
-        },\r
-        "pageable" : {\r
-          "$ref" : "#/definitions/Pageable"\r
-        },\r
-        "first" : {\r
-          "type" : "boolean"\r
-        },\r
-        "numberOfElements" : {\r
-          "type" : "integer",\r
-          "format" : "int32"\r
-        },\r
-        "size" : {\r
-          "type" : "integer",\r
-          "format" : "int32"\r
-        },\r
-        "content" : {\r
-          "type" : "array",\r
-          "items" : {\r
-            "$ref" : "#/definitions/BlueprintModelSearch"\r
-          }\r
-        },\r
-        "number" : {\r
-          "type" : "integer",\r
-          "format" : "int32"\r
-        },\r
-        "sort" : {\r
-          "$ref" : "#/definitions/Sort"\r
-        },\r
-        "last" : {\r
-          "type" : "boolean"\r
-        },\r
-        "empty" : {\r
-          "type" : "boolean"\r
-        }\r
-      }\r
-    },\r
-    "Pageable" : {\r
-      "type" : "object",\r
-      "properties" : {\r
-        "paged" : {\r
-          "type" : "boolean"\r
-        },\r
-        "pageNumber" : {\r
-          "type" : "integer",\r
-          "format" : "int32"\r
-        },\r
-        "pageSize" : {\r
-          "type" : "integer",\r
-          "format" : "int32"\r
-        },\r
-        "unpaged" : {\r
-          "type" : "boolean"\r
-        },\r
-        "offset" : {\r
-          "type" : "integer",\r
-          "format" : "int64"\r
-        },\r
-        "sort" : {\r
-          "$ref" : "#/definitions/Sort"\r
-        }\r
-      }\r
-    },\r
-    "PropertyDefinition" : {\r
-      "type" : "object",\r
-      "properties" : {\r
-        "description" : {\r
-          "type" : "string"\r
-        },\r
-        "required" : {\r
-          "type" : "boolean"\r
-        },\r
-        "type" : {\r
-          "type" : "string"\r
-        },\r
-        "status" : {\r
-          "type" : "string"\r
-        },\r
-        "constraints" : {\r
-          "type" : "array",\r
-          "items" : {\r
-            "$ref" : "#/definitions/ConstraintClause"\r
-          }\r
-        },\r
-        "metadata" : {\r
-          "type" : "object",\r
-          "additionalProperties" : {\r
-            "type" : "string"\r
-          }\r
-        },\r
-        "value" : {\r
-          "$ref" : "#/definitions/JsonNode"\r
-        },\r
-        "input-param" : {\r
-          "type" : "boolean"\r
-        },\r
-        "default" : {\r
-          "$ref" : "#/definitions/JsonNode"\r
-        },\r
-        "entry_schema" : {\r
-          "$ref" : "#/definitions/EntrySchema"\r
-        },\r
-        "external-schema" : {\r
-          "type" : "string"\r
-        }\r
-      }\r
-    },\r
-    "RequirementAssignment" : {\r
-      "type" : "object",\r
-      "properties" : {\r
-        "capability" : {\r
-          "type" : "string"\r
-        },\r
-        "node" : {\r
-          "type" : "string"\r
-        },\r
-        "relationship" : {\r
-          "type" : "string"\r
-        }\r
-      }\r
-    },\r
-    "ResourceConfigSnapshot" : {\r
-      "type" : "object",\r
-      "required" : [ "config_snapshot", "createdDate", "resourceId", "resourceType", "status" ],\r
-      "properties" : {\r
-        "resourceType" : {\r
-          "type" : "string",\r
-          "example" : "ServiceInstance",\r
-          "description" : "Resource type."\r
-        },\r
-        "resourceId" : {\r
-          "type" : "string",\r
-          "example" : "1",\r
-          "description" : "ID associated with the resource type in the inventory system."\r
-        },\r
-        "status" : {\r
-          "type" : "string",\r
-          "description" : "Status of the snapshot, either running or candidate.",\r
-          "enum" : [ "RUNNING", "CANDIDATE" ]\r
-        },\r
-        "config_snapshot" : {\r
-          "type" : "string",\r
-          "example" : "config_snapshot",\r
-          "description" : "Snapshot of the resource as retrieved from resource."\r
-        },\r
-        "id" : {\r
-          "type" : "string"\r
-        },\r
-        "createdDate" : {\r
-          "type" : "string",\r
-          "format" : "date-time",\r
-          "description" : "Creation date of the snapshot."\r
-        }\r
-      }\r
-    },\r
-    "ResourceDefinition" : {\r
-      "type" : "object",\r
-      "required" : [ "group", "name", "property", "sources", "updated-by" ],\r
-      "properties" : {\r
-        "tags" : {\r
-          "type" : "string"\r
-        },\r
-        "name" : {\r
-          "type" : "string",\r
-          "example" : "default-source",\r
-          "description" : "Name"\r
-        },\r
-        "property" : {\r
-          "description" : "Property",\r
-          "$ref" : "#/definitions/PropertyDefinition"\r
-        },\r
-        "group" : {\r
-          "type" : "string",\r
-          "example" : "default",\r
-          "description" : "Group"\r
-        },\r
-        "updated-by" : {\r
-          "type" : "string",\r
-          "example" : "example@onap.com",\r
-          "description" : "Updated by"\r
-        },\r
-        "sources" : {\r
-          "type" : "object",\r
-          "example" : "sources",\r
-          "description" : "Sources",\r
-          "additionalProperties" : {\r
-            "$ref" : "#/definitions/NodeTemplate"\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "ResourceDictionary" : {\r
-      "type" : "object",\r
-      "required" : [ "dataType", "definition", "description", "entrySchema", "name", "resourceDictionaryGroup", "tags", "updatedBy" ],\r
-      "properties" : {\r
-        "name" : {\r
-          "type" : "string",\r
-          "example" : "sample-db-source",\r
-          "description" : "Name"\r
-        },\r
-        "dataType" : {\r
-          "type" : "string",\r
-          "example" : "string",\r
-          "description" : "Data type"\r
-        },\r
-        "entrySchema" : {\r
-          "type" : "string",\r
-          "example" : "dt-license-key",\r
-          "description" : "Entry schema"\r
-        },\r
-        "resourceDictionaryGroup" : {\r
-          "type" : "string",\r
-          "example" : "default",\r
-          "description" : "Resource dictionary group"\r
-        },\r
-        "definition" : {\r
-          "description" : "Definition",\r
-          "$ref" : "#/definitions/ResourceDefinition"\r
-        },\r
-        "description" : {\r
-          "type" : "string",\r
-          "example" : "demo_artifacts_version",\r
-          "description" : "Description"\r
-        },\r
-        "tags" : {\r
-          "type" : "string",\r
-          "example" : "hostname",\r
-          "description" : "Tags"\r
-        },\r
-        "creationDate" : {\r
-          "type" : "string",\r
-          "format" : "date-time"\r
-        },\r
-        "updatedBy" : {\r
-          "type" : "string",\r
-          "example" : "username",\r
-          "description" : "Updated by"\r
-        }\r
-      }\r
-    },\r
-    "ResourceResolution" : {\r
-      "type" : "object",\r
-      "required" : [ "artifactName", "blueprintName", "blueprintVersion", "createdDate", "dictionaryName", "dictionarySource", "dictionaryVersion", "name", "occurrence", "resolutionKey", "resourceId", "resourceType", "status", "value" ],\r
-      "properties" : {\r
-        "blueprintName" : {\r
-          "type" : "string",\r
-          "description" : "Name of the CBA."\r
-        },\r
-        "blueprintVersion" : {\r
-          "type" : "string",\r
-          "description" : "Version of the CBA."\r
-        },\r
-        "artifactName" : {\r
-          "type" : "string",\r
-          "description" : "Artifact name for which to retrieve a resolved resource."\r
-        },\r
-        "name" : {\r
-          "type" : "string",\r
-          "description" : "Name of the resource."\r
-        },\r
-        "value" : {\r
-          "type" : "string",\r
-          "description" : "Value of the resolution."\r
-        },\r
-        "status" : {\r
-          "type" : "string",\r
-          "description" : "Whether success of failure."\r
-        },\r
-        "resolutionKey" : {\r
-          "type" : "string",\r
-          "description" : "Resolution Key uniquely identifying the resolution of a given artifact within a CBA."\r
-        },\r
-        "resourceType" : {\r
-          "type" : "string",\r
-          "example" : "ServiceInstance",\r
-          "description" : "Resolution type."\r
-        },\r
-        "resourceId" : {\r
-          "type" : "string",\r
-          "description" : "ID associated with the resolution type in the inventory system."\r
-        },\r
-        "occurrence" : {\r
-          "type" : "integer",\r
-          "format" : "int32",\r
-          "description" : "If resolution occurred multiple time, this field provides the index."\r
-        },\r
-        "dictionaryName" : {\r
-          "type" : "string",\r
-          "description" : "Name of the data dictionary used for the resolution."\r
-        },\r
-        "dictionarySource" : {\r
-          "type" : "string",\r
-          "description" : "Source associated with the data dictionary used for the resolution."\r
-        },\r
-        "dictionaryVersion" : {\r
-          "type" : "integer",\r
-          "format" : "int32",\r
-          "description" : "Version of the data dictionary used for the resolution."\r
-        },\r
-        "id" : {\r
-          "type" : "string"\r
-        },\r
-        "createdDate" : {\r
-          "type" : "string",\r
-          "format" : "date-time",\r
-          "description" : "Creation date of the resolution."\r
-        }\r
-      }\r
-    },\r
-    "ResourceSourceMapping" : {\r
-      "type" : "object",\r
-      "properties" : {\r
-        "resourceSourceMappings" : {\r
-          "type" : "object",\r
-          "additionalProperties" : {\r
-            "type" : "string"\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "Sort" : {\r
-      "type" : "object",\r
-      "properties" : {\r
-        "sorted" : {\r
-          "type" : "boolean"\r
-        },\r
-        "unsorted" : {\r
-          "type" : "boolean"\r
-        },\r
-        "empty" : {\r
-          "type" : "boolean"\r
-        }\r
-      }\r
-    },\r
-    "Status" : {\r
-      "type" : "object",\r
-      "required" : [ "code", "eventType", "message", "timestamp" ],\r
-      "properties" : {\r
-        "code" : {\r
-          "type" : "integer",\r
-          "format" : "int32",\r
-          "description" : "HTTP status code equivalent."\r
-        },\r
-        "eventType" : {\r
-          "type" : "string",\r
-          "description" : "Type of the event being emitted by CDS."\r
-        },\r
-        "timestamp" : {\r
-          "type" : "string",\r
-          "format" : "date-time",\r
-          "example" : 2012-04-23T18:25:43.511Z,\r
-          "description" : "Time when the execution ended."\r
-        },\r
-        "errorMessage" : {\r
-          "type" : "string",\r
-          "description" : "Error message when system failed"\r
-        },\r
-        "message" : {\r
-          "type" : "string",\r
-          "description" : "Message providing request status"\r
-        }\r
-      }\r
-    },\r
-    "TemplateResolution" : {\r
-      "type" : "object",\r
-      "required" : [ "artifactName", "blueprintName", "blueprintVersion", "createdDate", "occurrence", "resolutionKey", "resourceId", "resourceType", "result" ],\r
-      "properties" : {\r
-        "blueprintName" : {\r
-          "type" : "string",\r
-          "description" : "Name of the CBA."\r
-        },\r
-        "blueprintVersion" : {\r
-          "type" : "string",\r
-          "description" : "Version of the CBA."\r
-        },\r
-        "artifactName" : {\r
-          "type" : "string",\r
-          "description" : "Artifact name for which to retrieve a resolved resource."\r
-        },\r
-        "result" : {\r
-          "type" : "string",\r
-          "description" : "Rendered template."\r
-        },\r
-        "resolutionKey" : {\r
-          "type" : "string",\r
-          "description" : "Resolution Key uniquely identifying the resolution of a given artifact within a CBA."\r
-        },\r
-        "resourceType" : {\r
-          "type" : "string",\r
-          "example" : "ServiceInstance",\r
-          "description" : "Resolution type."\r
-        },\r
-        "resourceId" : {\r
-          "type" : "string",\r
-          "description" : "ID associated with the resolution type in the inventory system."\r
-        },\r
-        "occurrence" : {\r
-          "type" : "integer",\r
-          "format" : "int32",\r
-          "description" : "If resolution occurred multiple time, this field provides the index."\r
-        },\r
-        "id" : {\r
-          "type" : "string"\r
-        },\r
-        "createdDate" : {\r
-          "type" : "string",\r
-          "format" : "date-time",\r
-          "description" : "Creation date of the resolution."\r
-        }\r
-      }\r
-    },\r
-    "WorkFlowSpecRequest" : {\r
-      "type" : "object",\r
-      "required" : [ "blueprintName", "workflowName" ],\r
-      "properties" : {\r
-        "blueprintName" : {\r
-          "type" : "string",\r
-          "example" : "pnf_netconf",\r
-          "description" : "Name of the BLueprint"\r
-        },\r
-        "version" : {\r
-          "type" : "string"\r
-        },\r
-        "returnContent" : {\r
-          "type" : "string"\r
-        },\r
-        "workflowName" : {\r
-          "type" : "string",\r
-          "example" : "config-assign",\r
-          "description" : "Name of the Workflow"\r
-        },\r
-        "specType" : {\r
-          "type" : "string"\r
-        }\r
-      }\r
-    }\r
-  }\r
+{
+  "swagger" : "2.0",
+  "info" : {
+    "description" : "Shows all resources and endpoints which CDS BP processor currently provides with sample requests/responses, parameter description and other information.",
+    "version" : "v1",
+    "title" : "CDS Blueprint Processor API Reference",
+    "termsOfService" : "https://www.onap.org/",
+    "contact" : {
+      "name" : "ONAP Community",
+      "url" : "https://www.onap.org/",
+      "email" : "onap-discuss@lists.onap.org"
+    },
+    "license" : {
+      "name" : "Apache 2.0",
+      "url" : "http://www.apache.org/licenses/LICENSE-2.0.html"
+    }
+  },
+  "host" : "localhost:8080",
+  "tags" : [ {
+    "name" : "Blueprint Model Catalog",
+    "description" : "Manages all blueprint models which are available in CDS"
+  }, {
+    "name" : "Execution Service Catalog",
+    "description" : "Interaction with CBA which are available in CDS"
+  }, {
+    "name" : "Model Type Catalog",
+    "description" : "Manages data types in CDS"
+  }, {
+    "name" : "Resource configuration",
+    "description" : "Interaction with stored configurations"
+  }, {
+    "name" : "Resource Dictionary",
+    "description" : "Interaction with stored dictionaries"
+  }, {
+    "name" : "Resource Template",
+    "description" : "Interaction with resolved templates"
+  }, {
+    "name" : "Resources",
+    "description" : "Interaction with resolved resources"
+  } ],
+  "schemes" : [ "http" ],
+  "paths" : {
+    "/api/v1/blueprint-model" : {
+      "get" : {
+        "tags" : [ "Blueprint Model Catalog" ],
+        "summary" : "List all Blueprint Models",
+        "description" : "Lists all meta-data of blueprint models which are saved in CDS.",
+        "operationId" : "BlueprintModelController_allBlueprintModel_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "produces" : [ "application/json" ],
+        "responses" : {
+          "200" : {
+            "description" : "OK",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/BlueprintModelSearch"
+              }
+            }
+          },
+          "500" : {
+            "description" : "Internal Server Error"
+          }
+        }
+      },
+      "post" : {
+        "tags" : [ "Blueprint Model Catalog" ],
+        "summary" : "Save a Blueprint Model",
+        "description" : "Saves a blueprint model by the given CBA zip file input. There is no validation of the attached CBA happening when this API is called.",
+        "operationId" : "BlueprintModelController_saveBlueprint_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "consumes" : [ "multipart/form-data" ],
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "in" : "body",
+          "name" : "file",
+          "description" : "CBA file to be uploaded (example: cba.zip)",
+          "required" : true,
+          "schema" : {
+            "$ref" : "#/definitions/FilePart"
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "OK",
+            "schema" : {
+              "$ref" : "#/definitions/BlueprintModelSearch"
+            }
+          },
+          "500" : {
+            "description" : "Internal Server Error"
+          }
+        }
+      }
+    },
+    "/api/v1/blueprint-model/bootstrap" : {
+      "post" : {
+        "tags" : [ "Blueprint Model Catalog" ],
+        "summary" : "Bootstrap CDS",
+        "description" : "Loads all Model Types, Resource Dictionaries and Blueprint Models which are included in CDS by default. Before starting to work with CDS, bootstrap should be called to load all the basic models that each orginization might support. Parameter values can be set as `false`  to skip loading e.g. the Resource Dictionaries but this is not recommended.",
+        "operationId" : "BlueprintModelController_bootstrap_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "consumes" : [ "application/json" ],
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "in" : "body",
+          "name" : "body",
+          "description" : "Specifies which elements to load",
+          "required" : true,
+          "schema" : {
+            "$ref" : "#/definitions/BootstrapRequest"
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "OK",
+            "schema" : {
+              "type" : "object"
+            }
+          },
+          "500" : {
+            "description" : "Internal Server Error"
+          }
+        }
+      }
+    },
+    "/api/v1/blueprint-model/by-name/{name}/version/{version}" : {
+      "get" : {
+        "tags" : [ "Blueprint Model Catalog" ],
+        "summary" : "Get a Blueprint Model by Name and Version",
+        "description" : "Get Meta-Data of a Blueprint Model by its name and version.",
+        "operationId" : "BlueprintModelController_getBlueprintByNameAndVersion_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "name",
+          "in" : "path",
+          "description" : "Name of the blueprint model",
+          "required" : true,
+          "type" : "string",
+          "x-example" : "pnf_netconf"
+        }, {
+          "name" : "version",
+          "in" : "path",
+          "description" : "Version of the blueprint model",
+          "required" : true,
+          "type" : "string",
+          "x-example" : "1.0.0"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "OK",
+            "schema" : {
+              "$ref" : "#/definitions/BlueprintModelSearch"
+            }
+          },
+          "404" : {
+            "description" : "Not Found"
+          }
+        }
+      }
+    },
+    "/api/v1/blueprint-model/download/by-name/{name}/version/{version}" : {
+      "get" : {
+        "tags" : [ "Blueprint Model Catalog" ],
+        "summary" : "Download a Blueprint Model",
+        "description" : "Gets the CBA of a blueprint model by its name and version. Response can be saved to a file to download the CBA.",
+        "operationId" : "BlueprintModelController_downloadBlueprintByNameAndVersion_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "name",
+          "in" : "path",
+          "description" : "Name of the blueprint model",
+          "required" : true,
+          "type" : "string",
+          "x-example" : "pnf_netconf"
+        }, {
+          "name" : "version",
+          "in" : "path",
+          "description" : "Version of the blueprint model",
+          "required" : true,
+          "type" : "string",
+          "x-example" : "1.0.0"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "OK",
+            "schema" : {
+              "type" : "object"
+            }
+          },
+          "404" : {
+            "description" : "Not Found"
+          }
+        }
+      }
+    },
+    "/api/v1/blueprint-model/download/{id}" : {
+      "get" : {
+        "tags" : [ "Blueprint Model Catalog" ],
+        "summary" : "Download a Blueprint Model by ID",
+        "description" : "Gets the CBA of a blueprint model by its ID. Response can be saved to a file to download the CBA.",
+        "operationId" : "BlueprintModelController_downloadBluePrint_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "id",
+          "in" : "path",
+          "description" : "ID of the blueprint model to download",
+          "required" : true,
+          "type" : "string",
+          "x-example" : "67ec1f96-ab55-4b81-aff9-23ee0ed1d7a4"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "OK",
+            "schema" : {
+              "type" : "object"
+            }
+          },
+          "404" : {
+            "description" : "Not Found"
+          }
+        }
+      }
+    },
+    "/api/v1/blueprint-model/enrich" : {
+      "post" : {
+        "tags" : [ "Blueprint Model Catalog" ],
+        "summary" : "Enrich a Blueprint Model",
+        "description" : "Enriches the attached CBA and returns the enriched CBA zip file in the response. The enrichment process will complete the package by providing all the definition of types used.",
+        "operationId" : "BlueprintModelController_enrichBlueprint_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "consumes" : [ "multipart/form-data" ],
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "in" : "body",
+          "name" : "file",
+          "description" : "CBA zip file to be uploaded (example: cba_unenriched.zip)",
+          "required" : true,
+          "schema" : {
+            "$ref" : "#/definitions/FilePart"
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "object"
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/blueprint-model/enrichandpublish" : {
+      "post" : {
+        "tags" : [ "Blueprint Model Catalog" ],
+        "summary" : "Enrich and publish a Blueprint Model",
+        "description" : "Enriches the attached CBA, validates it and saves it in CDS if validation was successful.",
+        "operationId" : "BlueprintModelController_enrichAndPubishlueprint_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "consumes" : [ "multipart/form-data" ],
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "in" : "body",
+          "name" : "file",
+          "description" : "Unenriched CBA zip file to be uploaded (example: cba_unenriched.zip)",
+          "required" : true,
+          "schema" : {
+            "$ref" : "#/definitions/FilePart"
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "OK",
+            "schema" : {
+              "$ref" : "#/definitions/BlueprintModelSearch"
+            }
+          },
+          "503" : {
+            "description" : "Service Unavailable"
+          }
+        }
+      }
+    },
+    "/api/v1/blueprint-model/meta-data/{keyword}" : {
+      "get" : {
+        "tags" : [ "Blueprint Model Catalog" ],
+        "summary" : "Search for Blueprints by a Keyword",
+        "description" : "Lists all blueprint models by a matching keyword in any of the meta-data of the blueprint models. Blueprint models are just returned if a whole keyword is matching, not just parts of it. Not case-sensitive. Used by CDS UI.",
+        "operationId" : "BlueprintModelController_allBlueprintModelMetaData_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "keyword",
+          "in" : "path",
+          "description" : "Keyword to search for in blueprint model meta-data",
+          "required" : true,
+          "type" : "string",
+          "x-example" : "pnf_netconf"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/BlueprintModelSearch"
+              }
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/blueprint-model/name/{name}/version/{version}" : {
+      "delete" : {
+        "tags" : [ "Blueprint Model Catalog" ],
+        "summary" : "Delete a Blueprint Model by Name",
+        "description" : "Deletes a blueprint model identified by its name and version from CDS.",
+        "operationId" : "BlueprintModelController_deleteBlueprintByName_DELETE.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "parameters" : [ {
+          "name" : "name",
+          "in" : "path",
+          "description" : "Name of the blueprint model",
+          "required" : true,
+          "type" : "string",
+          "x-example" : "pnf_netconf"
+        }, {
+          "name" : "version",
+          "in" : "path",
+          "description" : "Version of the blueprint model",
+          "required" : true,
+          "type" : "string",
+          "x-example" : "1.0.0"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "object"
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/blueprint-model/paged" : {
+      "get" : {
+        "tags" : [ "Blueprint Model Catalog" ],
+        "summary" : "Get Blueprints ordered",
+        "description" : "Lists all blueprint models which are saved in CDS in an ordered mode.",
+        "operationId" : "BlueprintModelController_allBlueprintModelPaged_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "limit",
+          "in" : "query",
+          "description" : "Maximum number of returned blueprint models",
+          "required" : false,
+          "type" : "integer",
+          "default" : 20,
+          "format" : "int32"
+        }, {
+          "name" : "offset",
+          "in" : "query",
+          "description" : "Offset",
+          "required" : false,
+          "type" : "integer",
+          "default" : 0,
+          "format" : "int32"
+        }, {
+          "name" : "sort",
+          "in" : "query",
+          "description" : "Order of returned blueprint models",
+          "required" : false,
+          "type" : "string",
+          "default" : "DATE",
+          "enum" : [ "DATE", "NAME", "VERSION" ]
+        }, {
+          "name" : "sortType",
+          "in" : "query",
+          "description" : "Ascend or descend ordering",
+          "required" : false,
+          "type" : "string",
+          "default" : "ASC"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/PageBlueprintModelSearch"
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/blueprint-model/paged/meta-data/{keyword}" : {
+      "get" : {
+        "tags" : [ "Blueprint Model Catalog" ],
+        "summary" : "Search for Blueprints by a Keyword in an ordered mode",
+        "description" : "Lists all blueprint models by a matching keyword in any of the meta-data of the blueprint models in an ordered mode. Blueprint models are just returned if a whole keyword is matching, not just parts of it. Not case-sensitive. Used by CDS UI.",
+        "operationId" : "BlueprintModelController_allBlueprintModelMetaDataPaged_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "keyword",
+          "in" : "path",
+          "description" : "Keyword to search for in blueprint model meta-data",
+          "required" : true,
+          "type" : "string",
+          "x-example" : "pnf_netconf"
+        }, {
+          "name" : "limit",
+          "in" : "query",
+          "description" : "Maximum number of returned blueprint models",
+          "required" : false,
+          "type" : "integer",
+          "default" : 20,
+          "format" : "int32"
+        }, {
+          "name" : "offset",
+          "in" : "query",
+          "description" : "Offset",
+          "required" : false,
+          "type" : "integer",
+          "default" : 0,
+          "format" : "int32"
+        }, {
+          "name" : "sort",
+          "in" : "query",
+          "description" : "Order of returned blueprint models",
+          "required" : false,
+          "type" : "string",
+          "default" : "DATE",
+          "enum" : [ "DATE", "NAME", "VERSION" ]
+        }, {
+          "name" : "sortType",
+          "in" : "query",
+          "description" : "Ascend or descend ordering",
+          "required" : false,
+          "type" : "string",
+          "default" : "ASC"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/PageBlueprintModelSearch"
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/blueprint-model/publish" : {
+      "post" : {
+        "tags" : [ "Blueprint Model Catalog" ],
+        "summary" : "Publish a Blueprint Model",
+        "description" : "Validates the attached CBA file and saves it in CDS if validation was successful. CBA needs to be already enriched.",
+        "operationId" : "BlueprintModelController_publishBlueprint_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "consumes" : [ "multipart/form-data" ],
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "in" : "body",
+          "name" : "file",
+          "description" : "Enriched CBA zip file to be uploaded (example: cba_enriched.zip)",
+          "required" : true,
+          "schema" : {
+            "$ref" : "#/definitions/FilePart"
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/BlueprintModelSearch"
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/blueprint-model/search/{tags}" : {
+      "get" : {
+        "tags" : [ "Blueprint Model Catalog" ],
+        "summary" : "Search for a Blueprint by Tag",
+        "description" : "Searches for all blueprint models which contain the specified input parameter in their tags. Blueprint models which contain just parts of the searched word in their tags are also returned.",
+        "operationId" : "BlueprintModelController_searchBlueprintModels_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "tags",
+          "in" : "path",
+          "description" : "Tag to search for",
+          "required" : true,
+          "type" : "string",
+          "x-example" : "test"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/BlueprintModelSearch"
+              }
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/blueprint-model/workflow-spec" : {
+      "post" : {
+        "tags" : [ "Blueprint Model Catalog" ],
+        "summary" : "Get Workflow Specification",
+        "description" : "Get the workflow of a blueprint identified by Blueprint and workflow name. Inputs, outputs and data types of workflow is returned.",
+        "operationId" : "BlueprintModelController_workflowSpec_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "consumes" : [ "application/json" ],
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "in" : "body",
+          "name" : "body",
+          "description" : "Blueprint and workflow identification",
+          "required" : true,
+          "schema" : {
+            "$ref" : "#/definitions/WorkFlowSpecRequest"
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "object"
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/blueprint-model/workflows/blueprint-name/{name}/version/{version}" : {
+      "get" : {
+        "tags" : [ "Blueprint Model Catalog" ],
+        "summary" : "Get Workflows of a Blueprint",
+        "description" : "Get all available workflows of a Blueprint identified by its name and version.",
+        "operationId" : "BlueprintModelController_getWorkflowList_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "name",
+          "in" : "path",
+          "description" : "Name of the blueprint model",
+          "required" : true,
+          "type" : "string",
+          "x-example" : "pnf_netconf"
+        }, {
+          "name" : "version",
+          "in" : "path",
+          "description" : "Version of the blueprint model",
+          "required" : true,
+          "type" : "string",
+          "x-example" : "1.0.0"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "object"
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/blueprint-model/{id}" : {
+      "get" : {
+        "tags" : [ "Blueprint Model Catalog" ],
+        "summary" : "Get a Blueprint Model by ID",
+        "description" : "Get meta-data of a blueprint model by its internally created ID.",
+        "operationId" : "BlueprintModelController_getBlueprintModel_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "id",
+          "in" : "path",
+          "description" : "ID of the blueprint model to search for",
+          "required" : true,
+          "type" : "string",
+          "x-example" : "67ec1f96-ab55-4b81-aff9-23ee0ed1d7a4"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "OK",
+            "schema" : {
+              "$ref" : "#/definitions/BlueprintModelSearch"
+            }
+          },
+          "404" : {
+            "description" : "Not Found"
+          }
+        }
+      },
+      "delete" : {
+        "tags" : [ "Blueprint Model Catalog" ],
+        "summary" : "Delete a Blueprint Model by ID",
+        "description" : "Delete a blueprint model by its ID. ID is the internally created ID of blueprint, not the name of blueprint.",
+        "operationId" : "BlueprintModelController_deleteBlueprint_DELETE.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "parameters" : [ {
+          "name" : "id",
+          "in" : "path",
+          "description" : "ID of the blueprint model to delete",
+          "required" : true,
+          "type" : "string",
+          "x-example" : "67ec1f96-ab55-4b81-aff9-23ee0ed1d7a4"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "OK",
+            "schema" : {
+              "type" : "object"
+            }
+          },
+          "404" : {
+            "description" : "RESOURCE_NOT_FOUND"
+          }
+        }
+      }
+    },
+    "/api/v1/configs" : {
+      "get" : {
+        "tags" : [ "Resource configuration" ],
+        "summary" : "Retrieve a resource configuration snapshot",
+        "description" : "Retrieve a config snapshot, identified by its Resource Id and Type. An extra 'format' parameter can be passed to tell what content-type is expected.",
+        "operationId" : "ResourceConfigSnapshotController_get_GET.org.onap.ccsdk.cds.blueprintsprocessor.configs.api",
+        "produces" : [ "text/plain", "application/json", "application/xml" ],
+        "parameters" : [ {
+          "name" : "resourceType",
+          "in" : "query",
+          "description" : "Resource Type associated of the resource configuration snapshot",
+          "required" : true,
+          "type" : "string",
+          "x-example" : "\"PNF\""
+        }, {
+          "name" : "resourceId",
+          "in" : "query",
+          "description" : "Resource Id associated of the resource configuration snapshot",
+          "required" : true,
+          "type" : "string",
+          "x-example" : "\"1\""
+        }, {
+          "name" : "status",
+          "in" : "query",
+          "description" : "Status of the snapshot being retrieved",
+          "required" : false,
+          "type" : "string",
+          "default" : "RUNNING"
+        }, {
+          "name" : "format",
+          "in" : "query",
+          "description" : "Expected format of the snapshot being retrieved",
+          "required" : false,
+          "type" : "string",
+          "default" : "text/plain"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "string"
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/configs/allByID" : {
+      "get" : {
+        "tags" : [ "Resource configuration" ],
+        "summary" : "Retrieve all resource configuration snapshots identified by a given resource_id",
+        "description" : "Retrieve all config snapshots, identified by its Resource Id, ordered by most recently created/modified date. ",
+        "operationId" : "ResourceConfigSnapshotController_getAllByID_GET.org.onap.ccsdk.cds.blueprintsprocessor.configs.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "resourceId",
+          "in" : "query",
+          "description" : "Resource Id associated of the resource configuration snapshots",
+          "required" : true,
+          "type" : "string",
+          "x-example" : "\"1\""
+        }, {
+          "name" : "status",
+          "in" : "query",
+          "description" : "Status of the snapshot being retrieved",
+          "required" : false,
+          "type" : "string",
+          "default" : "ANY"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/ResourceConfigSnapshot"
+              }
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/configs/allByType" : {
+      "get" : {
+        "tags" : [ "Resource configuration" ],
+        "summary" : "Retrieve all resource configuration snapshots for a given resource type",
+        "description" : "Retrieve all config snapshots matching a specified Resource Type, ordered by most recently created/modified date. ",
+        "operationId" : "ResourceConfigSnapshotController_getAllByType_GET.org.onap.ccsdk.cds.blueprintsprocessor.configs.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "resourceType",
+          "in" : "query",
+          "description" : "Resource Type associated of the resource configuration snapshot",
+          "required" : true,
+          "type" : "string",
+          "x-example" : "\"PNF\""
+        }, {
+          "name" : "status",
+          "in" : "query",
+          "description" : "Status of the snapshot being retrieved",
+          "required" : false,
+          "type" : "string",
+          "default" : "ANY"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/ResourceConfigSnapshot"
+              }
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/configs/{resourceType}/{resourceId}/{status}" : {
+      "post" : {
+        "tags" : [ "Resource configuration" ],
+        "summary" : "Store a resource configuration snapshot identified by resourceId, resourceType, status",
+        "description" : "Store a resource configuration snapshot, identified by its resourceId and resourceType, and optionally its status, either RUNNING or CANDIDATE.",
+        "operationId" : "ResourceConfigSnapshotController_postWithResourceIdAndResourceType_POST.org.onap.ccsdk.cds.blueprintsprocessor.configs.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "resourceType",
+          "in" : "path",
+          "description" : "Resource Type associated with the resolution",
+          "required" : true,
+          "type" : "string",
+          "x-example" : "\"PNF\""
+        }, {
+          "name" : "resourceId",
+          "in" : "path",
+          "description" : "Resource Id associated with the resolution",
+          "required" : true,
+          "type" : "string",
+          "x-example" : "\"1\""
+        }, {
+          "name" : "status",
+          "in" : "path",
+          "description" : "Status of the snapshot being retrieved",
+          "required" : true,
+          "type" : "string",
+          "default" : "RUNNING"
+        }, {
+          "in" : "body",
+          "name" : "body",
+          "description" : "Config snapshot to store",
+          "required" : true,
+          "schema" : {
+            "type" : "string"
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/ResourceConfigSnapshot"
+            }
+          }
+        }
+      },
+      "delete" : {
+        "tags" : [ "Resource configuration" ],
+        "summary" : "Delete a resource configuration snapshot identified by resourceId, resourceType, status.",
+        "description" : "Delete a resource configuration snapshot, identified by its resourceId and resourceType, and optionally its status, either RUNNING or CANDIDATE.",
+        "operationId" : "ResourceConfigSnapshotController_deleteWithResourceIdAndResourceType_DELETE.org.onap.ccsdk.cds.blueprintsprocessor.configs.api",
+        "parameters" : [ {
+          "name" : "resourceType",
+          "in" : "path",
+          "description" : "Resource Type associated with the resolution.",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "resourceId",
+          "in" : "path",
+          "description" : "Resource Id associated with the resolution.",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "status",
+          "in" : "path",
+          "description" : "Status of the snapshot being deleted.",
+          "required" : true,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "object"
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/dictionary" : {
+      "post" : {
+        "tags" : [ "Resource Dictionary" ],
+        "summary" : "Save a resource dictionary",
+        "description" : "Save a resource dictionary by dictionary provided.",
+        "operationId" : "ResourceDictionaryController_saveResourceDictionary_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "consumes" : [ "application/json" ],
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "in" : "body",
+          "name" : "body",
+          "description" : "Resource dictionary to store",
+          "required" : true,
+          "schema" : {
+            "$ref" : "#/definitions/ResourceDictionary"
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/ResourceDictionary"
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/dictionary/by-names" : {
+      "post" : {
+        "tags" : [ "Resource Dictionary" ],
+        "summary" : "Search for a resource dictionary",
+        "description" : "Search for a resource dictionary by names provided.",
+        "operationId" : "ResourceDictionaryController_searchResourceDictionaryByNames_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "consumes" : [ "application/json" ],
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "in" : "body",
+          "name" : "body",
+          "description" : "List of names",
+          "required" : true,
+          "schema" : {
+            "type" : "array",
+            "items" : {
+              "type" : "string"
+            }
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/ResourceDictionary"
+              }
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/dictionary/definition" : {
+      "post" : {
+        "tags" : [ "Resource Dictionary" ],
+        "summary" : "Save a resource dictionary",
+        "description" : "Save a resource dictionary by provided resource definition json.",
+        "operationId" : "ResourceDictionaryController_saveResourceDictionary_1_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "consumes" : [ "application/json" ],
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "in" : "body",
+          "name" : "body",
+          "description" : "Resource definition to generate Resource Dictionary",
+          "required" : true,
+          "schema" : {
+            "$ref" : "#/definitions/ResourceDefinition"
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/ResourceDictionary"
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/dictionary/definition-bulk" : {
+      "post" : {
+        "tags" : [ "Resource Dictionary" ],
+        "summary" : "Save multiple resource dictionaries",
+        "description" : "Save multiple resource dictionaries by provided resource definition json array.",
+        "operationId" : "ResourceDictionaryController_saveAllResourceDictionary_1_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "consumes" : [ "application/json" ],
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "in" : "body",
+          "name" : "body",
+          "description" : "Resource definition json array to generate Resource Dictionaries",
+          "required" : true,
+          "schema" : {
+            "type" : "array",
+            "items" : {
+              "$ref" : "#/definitions/ResourceDefinition"
+            }
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/ResourceDictionary"
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/dictionary/paged" : {
+      "get" : {
+        "tags" : [ "Resource Dictionary" ],
+        "summary" : "Get Blueprints Dictionary ordered",
+        "description" : "Lists all blueprint Dictionary which are saved in CDS in an ordered mode.",
+        "operationId" : "BlueprintModelController_allBlueprintDictionaryPaged_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "limit",
+          "in" : "query",
+          "description" : "Maximum number of returned blueprint dictionary",
+          "required" : false,
+          "type" : "integer",
+          "default" : 20,
+          "format" : "int32"
+        }, {
+          "name" : "offset",
+          "in" : "query",
+          "description" : "Offset",
+          "required" : false,
+          "type" : "integer",
+          "default" : 0,
+          "format" : "int32"
+        }, {
+          "name" : "sort",
+          "in" : "query",
+          "description" : "Order of returned blueprint dictionary",
+          "required" : false,
+          "type" : "string",
+          "default" : "DATE",
+          "enum" : [ "DATE" ]
+        }, {
+          "name" : "sortType",
+          "in" : "query",
+          "description" : "Ascend or descend ordering",
+          "required" : false,
+          "type" : "string",
+          "default" : "ASC"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "object"
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/dictionary/resource_dictionary_group" : {
+      "get" : {
+        "tags" : [ "Resource Dictionary" ],
+        "summary" : "Retrieve all resource dictionary groups",
+        "description" : "Retrieve all resource dictionary groups.",
+        "operationId" : "ResourceDictionaryController_getResourceDictionaryDistinct_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "produces" : [ "application/json" ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "type" : "string"
+              }
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/dictionary/search/{tags}" : {
+      "get" : {
+        "tags" : [ "Resource Dictionary" ],
+        "summary" : "Search for a resource dictionary",
+        "description" : "Search for a resource dictionary by tags provided.",
+        "operationId" : "ResourceDictionaryController_searchResourceDictionaryByTags_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "tags",
+          "in" : "path",
+          "description" : "Tags list",
+          "required" : true,
+          "type" : "string",
+          "x-example" : "\"status\""
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/ResourceDictionary"
+              }
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/dictionary/source-mapping" : {
+      "get" : {
+        "tags" : [ "Resource Dictionary" ],
+        "summary" : "Search for a source mapping",
+        "description" : "Search for a source mapping.",
+        "operationId" : "ResourceDictionaryController_getResourceSourceMapping_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "produces" : [ "application/json" ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/ResourceSourceMapping"
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/dictionary/{name}" : {
+      "get" : {
+        "tags" : [ "Resource Dictionary" ],
+        "summary" : "Retrieve a resource dictionary",
+        "description" : "Retrieve a resource dictionary by name provided.",
+        "operationId" : "ResourceDictionaryController_getResourceDictionaryByName_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "name",
+          "in" : "path",
+          "description" : "Name of the resource",
+          "required" : true,
+          "type" : "string",
+          "x-example" : "\"hostname\""
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/ResourceDictionary"
+            }
+          }
+        }
+      },
+      "delete" : {
+        "tags" : [ "Resource Dictionary" ],
+        "summary" : "Remove a resource dictionary",
+        "description" : "Remove a resource dictionary by name provided.",
+        "operationId" : "ResourceDictionaryController_deleteResourceDictionaryByName_DELETE.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "parameters" : [ {
+          "name" : "name",
+          "in" : "path",
+          "description" : "Name of the resource",
+          "required" : true,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "object"
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/execution-service/process" : {
+      "post" : {
+        "tags" : [ "Execution Service Catalog" ],
+        "summary" : "Execute a CBA workflow (action)",
+        "description" : "Execute the appropriate CBA's action based on the ExecutionServiceInput object passed as input.",
+        "operationId" : "ExecutionServiceController_process_POST.org.onap.ccsdk.cds.blueprintsprocessor.selfservice.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "in" : "body",
+          "name" : "body",
+          "description" : "ExecutionServiceInput payload.",
+          "required" : true,
+          "schema" : {
+            "$ref" : "#/definitions/ExecutionServiceInput"
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/ExecutionServiceOutput"
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/model-type/by-definition/{definitionType}" : {
+      "get" : {
+        "tags" : [ "Model Type Catalog" ],
+        "summary" : "Retrieve a list of model types",
+        "description" : "Retrieve a list of model types by definition type provided.",
+        "operationId" : "ModelTypeController_getModelTypeByDefinitionType_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "definitionType",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/ModelType"
+              }
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/model-type/search/{tags}" : {
+      "get" : {
+        "tags" : [ "Model Type Catalog" ],
+        "summary" : "Retrieve a list of model types",
+        "description" : "Retrieve a list of model types by tags provided.",
+        "operationId" : "ModelTypeController_searchModelTypes_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "tags",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/ModelType"
+              }
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/model-type/{name}" : {
+      "get" : {
+        "tags" : [ "Model Type Catalog" ],
+        "summary" : "Retrieve a model type",
+        "description" : "Retrieve a model type by name provided.",
+        "operationId" : "ModelTypeController_getModelTypeByName_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "name",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/ModelType"
+            }
+          }
+        }
+      },
+      "delete" : {
+        "tags" : [ "Model Type Catalog" ],
+        "summary" : "Remove a model type",
+        "description" : "Remove a model type by name provided.",
+        "operationId" : "ModelTypeController_deleteModelTypeByName_DELETE.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
+        "parameters" : [ {
+          "name" : "name",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/ModelType"
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/resources" : {
+      "get" : {
+        "tags" : [ "Resources" ],
+        "summary" : "Get all resolved resources using the resolution key",
+        "description" : "Retrieve all stored resolved resources using the blueprint name, blueprint version, artifact name and the resolution-key.",
+        "operationId" : "ResourceController_getAllFromResolutionKeyOrFromResourceTypeAndId_GET.org.onap.ccsdk.cds.blueprintsprocessor.resource.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "bpName",
+          "in" : "query",
+          "description" : "Name of the CBA",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "bpVersion",
+          "in" : "query",
+          "description" : "Version of the CBA",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "artifactName",
+          "in" : "query",
+          "description" : "Artifact name for which to retrieve a resolved resource",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "resolutionKey",
+          "in" : "query",
+          "description" : "Resolution Key associated with the resolution",
+          "required" : false,
+          "type" : "string"
+        }, {
+          "name" : "resourceType",
+          "in" : "query",
+          "description" : "Resource Type associated with the resolution",
+          "required" : false,
+          "type" : "string"
+        }, {
+          "name" : "resourceId",
+          "in" : "query",
+          "description" : "Resource Id associated with the resolution",
+          "required" : false,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/ResourceResolution"
+              }
+            }
+          }
+        }
+      },
+      "delete" : {
+        "tags" : [ "Resources" ],
+        "summary" : "Delete resources using resolution key",
+        "description" : "Delete all the resources associated to a resolution-key using blueprint metadata, artifact name and the resolution-key.",
+        "operationId" : "ResourceController_deleteResolutions_DELETE.org.onap.ccsdk.cds.blueprintsprocessor.resource.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "bpName",
+          "in" : "query",
+          "description" : "Name of the CBA",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "bpVersion",
+          "in" : "query",
+          "description" : "Version of the CBA",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "artifactName",
+          "in" : "query",
+          "description" : "Artifact name for which to retrieve a resolved resource",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "resolutionKey",
+          "in" : "query",
+          "description" : "Resolution Key associated with the resolution",
+          "required" : false,
+          "type" : "string"
+        }, {
+          "name" : "resourceType",
+          "in" : "query",
+          "description" : "resourceType associated with the resolution, must be used with resourceId",
+          "required" : false,
+          "type" : "string"
+        }, {
+          "name" : "resourceId",
+          "in" : "query",
+          "description" : "Resolution Key associated with the resolution, must be used with resourceType",
+          "required" : false,
+          "type" : "string"
+        }, {
+          "name" : "lastN",
+          "in" : "query",
+          "description" : "Only delete last N occurrences",
+          "required" : false,
+          "type" : "integer",
+          "format" : "int32"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "object"
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/resources/occurrences" : {
+      "get" : {
+        "tags" : [ "Resources" ],
+        "summary" : "Get the map of resolved resources with 'occurrence' as the keys to the resolved resources ",
+        "description" : "With optional 'occurrence' options, subset of stored resolved resources can be retrieved using the blueprint name, blueprint version, artifact name and the resolution-key.",
+        "operationId" : "ResourceController_getOccurrences_GET.org.onap.ccsdk.cds.blueprintsprocessor.resource.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "bpName",
+          "in" : "query",
+          "description" : "Name of the CBA.",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "bpVersion",
+          "in" : "query",
+          "description" : "Version of the CBA.",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "artifactName",
+          "in" : "query",
+          "description" : "Artifact name for which to retrieve a resolved resource.",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "resolutionKey",
+          "in" : "query",
+          "description" : "Resolution Key associated with the resolution.",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "firstN",
+          "in" : "query",
+          "description" : "Number of earlier N occurrences of the resolutions.",
+          "required" : false,
+          "type" : "integer",
+          "format" : "int32"
+        }, {
+          "name" : "lastN",
+          "in" : "query",
+          "description" : "Number of latest N occurrences of the resolutions.",
+          "required" : false,
+          "type" : "integer",
+          "format" : "int32"
+        }, {
+          "name" : "begin",
+          "in" : "query",
+          "description" : "For Range option - 'begin' is the start occurrence of range of the resolutions.",
+          "required" : false,
+          "type" : "integer",
+          "format" : "int32"
+        }, {
+          "name" : "end",
+          "in" : "query",
+          "description" : "For Range option - 'end' is the end occurrence of the range of the resolutions.",
+          "required" : false,
+          "type" : "integer",
+          "format" : "int32"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/ResourceResolution"
+              }
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/resources/resource" : {
+      "get" : {
+        "tags" : [ "Resources" ],
+        "summary" : "Fetch a resource value using resolution key",
+        "description" : "Retrieve a stored resource value using the blueprint metadata, artifact name, resolution-key along with the name of the resource value to retrieve.",
+        "operationId" : "ResourceController_getOneFromResolutionKey_GET.org.onap.ccsdk.cds.blueprintsprocessor.resource.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "bpName",
+          "in" : "query",
+          "description" : "Name of the CBA",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "bpVersion",
+          "in" : "query",
+          "description" : "Version of the CBA",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "artifactName",
+          "in" : "query",
+          "description" : "Artifact name for which to retrieve a resolved resource",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "resolutionKey",
+          "in" : "query",
+          "description" : "Resolution Key associated with the resolution",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "name",
+          "in" : "query",
+          "description" : "Name of the resource to retrieve",
+          "required" : true,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "object"
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/template/occurrences" : {
+      "get" : {
+        "tags" : [ "Resource Template" ],
+        "summary" : "Get the map of resolved templates with 'occurrence' as the keys to the resolved templates ",
+        "description" : "With optional 'occurrence' options, subset of stored resolved templates can be retrieved using the blueprint name, blueprint version, artifact name and the resolution-key.",
+        "operationId" : "TemplateController_getOccurrences_GET.org.onap.ccsdk.cds.blueprintsprocessor.resource.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "bpName",
+          "in" : "query",
+          "description" : "Name of the CBA.",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "bpVersion",
+          "in" : "query",
+          "description" : "Version of the CBA.",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "artifactName",
+          "in" : "query",
+          "description" : "Artifact name for which to retrieve a resolved resource.",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "resolutionKey",
+          "in" : "query",
+          "description" : "Resolution Key associated with the resolution.",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "firstN",
+          "in" : "query",
+          "description" : "Number of earlier N occurrences of the templates.",
+          "required" : false,
+          "type" : "integer",
+          "format" : "int32"
+        }, {
+          "name" : "lastN",
+          "in" : "query",
+          "description" : "Number of latest N occurrences of the templates.",
+          "required" : false,
+          "type" : "integer",
+          "format" : "int32"
+        }, {
+          "name" : "begin",
+          "in" : "query",
+          "description" : "For Range option - 'begin' is the start occurrence of range of the templates.",
+          "required" : false,
+          "type" : "integer",
+          "format" : "int32"
+        }, {
+          "name" : "end",
+          "in" : "query",
+          "description" : "For Range option - 'end' is the end occurrence of the range of the templates.",
+          "required" : false,
+          "type" : "integer",
+          "format" : "int32"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/TemplateResolution"
+              }
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/template/{bpName}/{bpVersion}/{artifactName}/{resolutionKey}" : {
+      "post" : {
+        "tags" : [ "Resource Template" ],
+        "summary" : "Store a resolved template w/ resolution-key",
+        "description" : "Store a template for a given CBA's action, identified by its blueprint name, blueprint version, artifact name and resolution key.",
+        "operationId" : "TemplateController_postWithResolutionKey_POST.org.onap.ccsdk.cds.blueprintsprocessor.resource.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "bpName",
+          "in" : "path",
+          "description" : "Name of the CBA",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "bpVersion",
+          "in" : "path",
+          "description" : "Version of the CBA",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "artifactName",
+          "in" : "path",
+          "description" : "Artifact name for which to retrieve a resolved resource",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "resolutionKey",
+          "in" : "path",
+          "description" : "Resolution Key associated with the resolution",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "in" : "body",
+          "name" : "body",
+          "description" : "Template to store",
+          "required" : true,
+          "schema" : {
+            "type" : "string"
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/TemplateResolution"
+            }
+          }
+        }
+      }
+    },
+    "/api/v1/template/{bpName}/{bpVersion}/{artifactName}/{resourceType}/{resourceId}" : {
+      "post" : {
+        "tags" : [ "Resource Template" ],
+        "summary" : "Store a resolved template w/ resourceId and resourceType",
+        "description" : "Store a template for a given CBA's action, identified by its blueprint name, blueprint version, artifact name, resourceId and resourceType.",
+        "operationId" : "TemplateController_postWithResourceIdAndResourceType_POST.org.onap.ccsdk.cds.blueprintsprocessor.resource.api",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "bpName",
+          "in" : "path",
+          "description" : "Name of the CBA",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "bpVersion",
+          "in" : "path",
+          "description" : "Version of the CBA",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "artifactName",
+          "in" : "path",
+          "description" : "Artifact name for which to retrieve a resolved resource",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "resourceType",
+          "in" : "path",
+          "description" : "Resource Type associated with the resolution",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "resourceId",
+          "in" : "path",
+          "description" : "Resource Id associated with the resolution",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "in" : "body",
+          "name" : "body",
+          "description" : "Template to store",
+          "required" : true,
+          "schema" : {
+            "type" : "string"
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/TemplateResolution"
+            }
+          }
+        }
+      }
+    }
+  },
+  "securityDefinitions" : {
+    "Basic Auth" : {
+      "type" : "basic"
+    }
+  },
+  "definitions" : {
+    "ActionIdentifiers" : {
+      "type" : "object",
+      "required" : [ "actionName", "mode" ],
+      "properties" : {
+        "blueprintName" : {
+          "type" : "string",
+          "description" : "Name of the CBA."
+        },
+        "blueprintVersion" : {
+          "type" : "string",
+          "description" : "Version of the CBA."
+        },
+        "actionName" : {
+          "type" : "string",
+          "description" : "Name of the workflow to execute."
+        },
+        "mode" : {
+          "type" : "string",
+          "description" : "Async processing is only supported for gRPC client.",
+          "enum" : [ "sync", "async" ]
+        }
+      }
+    },
+    "ArtifactDefinition" : {
+      "type" : "object",
+      "properties" : {
+        "type" : {
+          "type" : "string"
+        },
+        "file" : {
+          "type" : "string"
+        },
+        "repository" : {
+          "type" : "string"
+        },
+        "description" : {
+          "type" : "string"
+        },
+        "properties" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "$ref" : "#/definitions/JsonNode"
+          }
+        },
+        "deploy_Path" : {
+          "type" : "string"
+        }
+      }
+    },
+    "BlueprintModelSearch" : {
+      "type" : "object",
+      "required" : [ "artifactName", "artifactVersion", "createdDate", "id", "published", "tags", "updatedBy" ],
+      "properties" : {
+        "id" : {
+          "type" : "string",
+          "example" : "658f9a48-7f54-41ba-ae18-c69f26f3dc94",
+          "description" : "ID of Blueprint model, is automatically created by CDS"
+        },
+        "artifactUUId" : {
+          "type" : "string",
+          "example" : null,
+          "description" : "Artifact UUID, usually null"
+        },
+        "artifactType" : {
+          "type" : "string",
+          "example" : "SDNC_MODEL",
+          "description" : "Artifact Type, usually null"
+        },
+        "artifactVersion" : {
+          "type" : "string",
+          "example" : "1.0.0",
+          "description" : "Artifact Version, usually 1.0.0"
+        },
+        "artifactDescription" : {
+          "type" : "string",
+          "example" : "",
+          "description" : "Artifact Description, usually empty"
+        },
+        "internalVersion" : {
+          "type" : "integer",
+          "format" : "int32",
+          "example" : null,
+          "description" : "Internal Version of CBA, usually null"
+        },
+        "createdDate" : {
+          "type" : "string",
+          "format" : "date-time",
+          "example" : "2020-11-19T10:34:56.000Z",
+          "description" : "Datetime of the creation of CBA in CDS"
+        },
+        "artifactName" : {
+          "type" : "string",
+          "example" : "pnf_netconf",
+          "description" : "Artifact Name, defined in Metadata"
+        },
+        "published" : {
+          "type" : "string",
+          "example" : "pnf_netconf",
+          "description" : "Artifact Name, defined in Metadata"
+        },
+        "updatedBy" : {
+          "type" : "string",
+          "example" : "Deutsche Telekom AG",
+          "description" : "Name of publisher, defined in Metadata"
+        },
+        "tags" : {
+          "type" : "string",
+          "example" : "test",
+          "description" : "Tags to identify the CBA, defined in Metadata"
+        }
+      }
+    },
+    "BootstrapRequest" : {
+      "type" : "object",
+      "required" : [ "loadCBA", "loadModelType", "loadResourceDictionary" ],
+      "properties" : {
+        "loadModelType" : {
+          "type" : "boolean",
+          "example" : true,
+          "description" : "Specifies if default model types should be loaded"
+        },
+        "loadResourceDictionary" : {
+          "type" : "boolean",
+          "example" : true,
+          "description" : "Specifies if default data dictionaries should be loaded"
+        },
+        "loadCBA" : {
+          "type" : "boolean",
+          "example" : true,
+          "description" : "Specifies if default blueprint models should be loaded"
+        }
+      }
+    },
+    "CapabilityAssignment" : {
+      "type" : "object",
+      "properties" : {
+        "attributes" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "$ref" : "#/definitions/JsonNode"
+          }
+        },
+        "properties" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "$ref" : "#/definitions/JsonNode"
+          }
+        }
+      }
+    },
+    "CommonHeader" : {
+      "type" : "object",
+      "required" : [ "originatorId", "requestId", "subRequestId", "timestamp" ],
+      "properties" : {
+        "timestamp" : {
+          "type" : "string",
+          "format" : "date-time",
+          "example" : 2012-04-23T18:25:43.511Z,
+          "description" : "Date of the execution"
+        },
+        "originatorId" : {
+          "type" : "string",
+          "description" : "Identify the system/person triggering the request."
+        },
+        "requestId" : {
+          "type" : "string",
+          "description" : "Uniquely identify a request."
+        },
+        "subRequestId" : {
+          "type" : "string",
+          "description" : "Allow for fine-grain request identifier"
+        }
+      }
+    },
+    "ConstraintClause" : {
+      "type" : "object",
+      "properties" : {
+        "equal" : {
+          "$ref" : "#/definitions/JsonNode"
+        },
+        "length" : {
+          "$ref" : "#/definitions/JsonNode"
+        },
+        "pattern" : {
+          "type" : "string"
+        },
+        "schema" : {
+          "type" : "string"
+        },
+        "greater_than" : {
+          "$ref" : "#/definitions/JsonNode"
+        },
+        "greater_or_equal" : {
+          "$ref" : "#/definitions/JsonNode"
+        },
+        "less_than" : {
+          "$ref" : "#/definitions/JsonNode"
+        },
+        "less_or_equal" : {
+          "$ref" : "#/definitions/JsonNode"
+        },
+        "in_range" : {
+          "type" : "array",
+          "items" : {
+            "$ref" : "#/definitions/JsonNode"
+          }
+        },
+        "valid_values" : {
+          "type" : "array",
+          "items" : {
+            "$ref" : "#/definitions/JsonNode"
+          }
+        },
+        "min_length" : {
+          "$ref" : "#/definitions/JsonNode"
+        },
+        "max_length" : {
+          "$ref" : "#/definitions/JsonNode"
+        }
+      }
+    },
+    "EntrySchema" : {
+      "type" : "object",
+      "properties" : {
+        "type" : {
+          "type" : "string"
+        },
+        "constraints" : {
+          "type" : "array",
+          "items" : {
+            "$ref" : "#/definitions/ConstraintClause"
+          }
+        }
+      }
+    },
+    "ExecutionServiceInput" : {
+      "type" : "object",
+      "required" : [ "actionIdentifiers", "commonHeader", "payload" ],
+      "properties" : {
+        "commonHeader" : {
+          "description" : "Headers providing request context.",
+          "$ref" : "#/definitions/CommonHeader"
+        },
+        "actionIdentifiers" : {
+          "description" : "Provide information about the action to execute.",
+          "$ref" : "#/definitions/ActionIdentifiers"
+        },
+        "payload" : {
+          "description" : "Contain the information to be passed as input to the action.The payload is constituted of two section: the workflow input which is the higher level block (xxx-request) and the input for resource resolution located within the xxx-request block, contained within xxx-properties",
+          "$ref" : "#/definitions/ObjectNode"
+        }
+      }
+    },
+    "ExecutionServiceOutput" : {
+      "type" : "object",
+      "required" : [ "actionIdentifiers", "commonHeader", "payload", "status" ],
+      "properties" : {
+        "commonHeader" : {
+          "description" : "Headers providing request context.",
+          "$ref" : "#/definitions/CommonHeader"
+        },
+        "actionIdentifiers" : {
+          "description" : "Provide information about the action to execute.",
+          "$ref" : "#/definitions/ActionIdentifiers"
+        },
+        "status" : {
+          "description" : "Status of the request.",
+          "$ref" : "#/definitions/Status"
+        },
+        "payload" : {
+          "description" : "Contain the information to be passed as input to the action.The payload is constituted of two section: the workflow input which is the higher level block (xxx-request) and the input for resource resolution located within the xxx-request block, contained within xxx-properties",
+          "$ref" : "#/definitions/ObjectNode"
+        }
+      }
+    },
+    "FilePart" : {
+      "type" : "object"
+    },
+    "Implementation" : {
+      "type" : "object",
+      "properties" : {
+        "primary" : {
+          "type" : "string"
+        },
+        "dependencies" : {
+          "type" : "array",
+          "items" : {
+            "type" : "string"
+          }
+        },
+        "timeout" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "lock" : {
+          "$ref" : "#/definitions/LockAssignment"
+        },
+        "operation_host" : {
+          "type" : "string"
+        }
+      }
+    },
+    "InterfaceAssignment" : {
+      "type" : "object",
+      "properties" : {
+        "operations" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "$ref" : "#/definitions/OperationAssignment"
+          }
+        },
+        "inputs" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "$ref" : "#/definitions/JsonNode"
+          }
+        }
+      }
+    },
+    "JsonNode" : {
+      "type" : "object",
+      "properties" : {
+        "valueNode" : {
+          "type" : "boolean"
+        },
+        "containerNode" : {
+          "type" : "boolean"
+        },
+        "missingNode" : {
+          "type" : "boolean"
+        },
+        "integralNumber" : {
+          "type" : "boolean"
+        },
+        "floatingPointNumber" : {
+          "type" : "boolean"
+        },
+        "bigDecimal" : {
+          "type" : "boolean"
+        },
+        "bigInteger" : {
+          "type" : "boolean"
+        },
+        "pojo" : {
+          "type" : "boolean"
+        },
+        "textual" : {
+          "type" : "boolean"
+        },
+        "nodeType" : {
+          "type" : "string",
+          "enum" : [ "ARRAY", "BINARY", "BOOLEAN", "MISSING", "NULL", "NUMBER", "OBJECT", "POJO", "STRING" ]
+        },
+        "array" : {
+          "type" : "boolean"
+        },
+        "null" : {
+          "type" : "boolean"
+        },
+        "float" : {
+          "type" : "boolean"
+        },
+        "number" : {
+          "type" : "boolean"
+        },
+        "boolean" : {
+          "type" : "boolean"
+        },
+        "double" : {
+          "type" : "boolean"
+        },
+        "int" : {
+          "type" : "boolean"
+        },
+        "long" : {
+          "type" : "boolean"
+        },
+        "short" : {
+          "type" : "boolean"
+        },
+        "binary" : {
+          "type" : "boolean"
+        },
+        "object" : {
+          "type" : "boolean"
+        }
+      }
+    },
+    "LockAssignment" : {
+      "type" : "object",
+      "properties" : {
+        "key" : {
+          "$ref" : "#/definitions/JsonNode"
+        },
+        "acquireTimeout" : {
+          "$ref" : "#/definitions/JsonNode"
+        }
+      }
+    },
+    "ModelType" : {
+      "type" : "object",
+      "required" : [ "definition", "definitionType", "derivedFrom", "description", "modelName", "tags", "updatedBy", "version" ],
+      "properties" : {
+        "modelName" : {
+          "type" : "string"
+        },
+        "derivedFrom" : {
+          "type" : "string"
+        },
+        "definitionType" : {
+          "type" : "string"
+        },
+        "definition" : {
+          "$ref" : "#/definitions/JsonNode"
+        },
+        "description" : {
+          "type" : "string"
+        },
+        "version" : {
+          "type" : "string"
+        },
+        "tags" : {
+          "type" : "string"
+        },
+        "creationDate" : {
+          "type" : "string",
+          "format" : "date-time"
+        },
+        "updatedBy" : {
+          "type" : "string"
+        }
+      }
+    },
+    "NodeFilterDefinition" : {
+      "type" : "object",
+      "properties" : {
+        "properties" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "$ref" : "#/definitions/PropertyDefinition"
+          }
+        },
+        "capabilities" : {
+          "type" : "array",
+          "items" : {
+            "type" : "string"
+          }
+        }
+      }
+    },
+    "NodeTemplate" : {
+      "type" : "object",
+      "properties" : {
+        "description" : {
+          "type" : "string"
+        },
+        "type" : {
+          "type" : "string"
+        },
+        "metadata" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "type" : "string"
+          }
+        },
+        "directives" : {
+          "type" : "array",
+          "items" : {
+            "type" : "string"
+          }
+        },
+        "properties" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "$ref" : "#/definitions/JsonNode"
+          }
+        },
+        "attributes" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "$ref" : "#/definitions/JsonNode"
+          }
+        },
+        "capabilities" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "$ref" : "#/definitions/CapabilityAssignment"
+          }
+        },
+        "requirements" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "$ref" : "#/definitions/RequirementAssignment"
+          }
+        },
+        "interfaces" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "$ref" : "#/definitions/InterfaceAssignment"
+          }
+        },
+        "artifacts" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "$ref" : "#/definitions/ArtifactDefinition"
+          }
+        },
+        "copy" : {
+          "type" : "string"
+        },
+        "node_filter" : {
+          "$ref" : "#/definitions/NodeFilterDefinition"
+        }
+      }
+    },
+    "ObjectNode" : {
+      "type" : "object",
+      "properties" : {
+        "nodeType" : {
+          "type" : "string",
+          "enum" : [ "ARRAY", "BINARY", "BOOLEAN", "MISSING", "NULL", "NUMBER", "OBJECT", "POJO", "STRING" ]
+        },
+        "valueNode" : {
+          "type" : "boolean"
+        },
+        "containerNode" : {
+          "type" : "boolean"
+        },
+        "missingNode" : {
+          "type" : "boolean"
+        },
+        "integralNumber" : {
+          "type" : "boolean"
+        },
+        "floatingPointNumber" : {
+          "type" : "boolean"
+        },
+        "bigDecimal" : {
+          "type" : "boolean"
+        },
+        "bigInteger" : {
+          "type" : "boolean"
+        },
+        "pojo" : {
+          "type" : "boolean"
+        },
+        "textual" : {
+          "type" : "boolean"
+        },
+        "array" : {
+          "type" : "boolean"
+        },
+        "null" : {
+          "type" : "boolean"
+        },
+        "float" : {
+          "type" : "boolean"
+        },
+        "number" : {
+          "type" : "boolean"
+        },
+        "boolean" : {
+          "type" : "boolean"
+        },
+        "double" : {
+          "type" : "boolean"
+        },
+        "int" : {
+          "type" : "boolean"
+        },
+        "long" : {
+          "type" : "boolean"
+        },
+        "short" : {
+          "type" : "boolean"
+        },
+        "binary" : {
+          "type" : "boolean"
+        },
+        "object" : {
+          "type" : "boolean"
+        }
+      }
+    },
+    "OperationAssignment" : {
+      "type" : "object",
+      "properties" : {
+        "description" : {
+          "type" : "string"
+        },
+        "implementation" : {
+          "$ref" : "#/definitions/Implementation"
+        },
+        "inputs" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "$ref" : "#/definitions/JsonNode"
+          }
+        },
+        "outputs" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "$ref" : "#/definitions/JsonNode"
+          }
+        }
+      }
+    },
+    "Page" : {
+      "type" : "object",
+      "properties" : {
+        "totalPages" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "totalElements" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "pageable" : {
+          "$ref" : "#/definitions/Pageable"
+        },
+        "numberOfElements" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "last" : {
+          "type" : "boolean"
+        },
+        "size" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "content" : {
+          "type" : "array",
+          "items" : {
+            "type" : "object"
+          }
+        },
+        "number" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "sort" : {
+          "$ref" : "#/definitions/Sort"
+        },
+        "first" : {
+          "type" : "boolean"
+        },
+        "empty" : {
+          "type" : "boolean"
+        }
+      }
+    },
+    "PageBlueprintModelSearch" : {
+      "type" : "object",
+      "properties" : {
+        "totalPages" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "totalElements" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "pageable" : {
+          "$ref" : "#/definitions/Pageable"
+        },
+        "numberOfElements" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "last" : {
+          "type" : "boolean"
+        },
+        "size" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "content" : {
+          "type" : "array",
+          "items" : {
+            "$ref" : "#/definitions/BlueprintModelSearch"
+          }
+        },
+        "number" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "sort" : {
+          "$ref" : "#/definitions/Sort"
+        },
+        "first" : {
+          "type" : "boolean"
+        },
+        "empty" : {
+          "type" : "boolean"
+        }
+      }
+    },
+    "Pageable" : {
+      "type" : "object",
+      "properties" : {
+        "paged" : {
+          "type" : "boolean"
+        },
+        "unpaged" : {
+          "type" : "boolean"
+        },
+        "pageSize" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "pageNumber" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "offset" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "sort" : {
+          "$ref" : "#/definitions/Sort"
+        }
+      }
+    },
+    "PropertyDefinition" : {
+      "type" : "object",
+      "properties" : {
+        "description" : {
+          "type" : "string"
+        },
+        "required" : {
+          "type" : "boolean"
+        },
+        "type" : {
+          "type" : "string"
+        },
+        "status" : {
+          "type" : "string"
+        },
+        "constraints" : {
+          "type" : "array",
+          "items" : {
+            "$ref" : "#/definitions/ConstraintClause"
+          }
+        },
+        "metadata" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "type" : "string"
+          }
+        },
+        "value" : {
+          "$ref" : "#/definitions/JsonNode"
+        },
+        "input-param" : {
+          "type" : "boolean"
+        },
+        "default" : {
+          "$ref" : "#/definitions/JsonNode"
+        },
+        "entry_schema" : {
+          "$ref" : "#/definitions/EntrySchema"
+        },
+        "external-schema" : {
+          "type" : "string"
+        }
+      }
+    },
+    "RequirementAssignment" : {
+      "type" : "object",
+      "properties" : {
+        "capability" : {
+          "type" : "string"
+        },
+        "node" : {
+          "type" : "string"
+        },
+        "relationship" : {
+          "type" : "string"
+        }
+      }
+    },
+    "ResourceConfigSnapshot" : {
+      "type" : "object",
+      "required" : [ "config_snapshot", "createdDate", "resourceId", "resourceType", "status" ],
+      "properties" : {
+        "resourceType" : {
+          "type" : "string",
+          "example" : "ServiceInstance",
+          "description" : "Resource type."
+        },
+        "resourceId" : {
+          "type" : "string",
+          "example" : "1",
+          "description" : "ID associated with the resource type in the inventory system."
+        },
+        "status" : {
+          "type" : "string",
+          "description" : "Status of the snapshot, either running or candidate.",
+          "enum" : [ "RUNNING", "CANDIDATE" ]
+        },
+        "config_snapshot" : {
+          "type" : "string",
+          "example" : "config_snapshot",
+          "description" : "Snapshot of the resource as retrieved from resource."
+        },
+        "id" : {
+          "type" : "string"
+        },
+        "createdDate" : {
+          "type" : "string",
+          "format" : "date-time",
+          "description" : "Creation date of the snapshot."
+        }
+      }
+    },
+    "ResourceDefinition" : {
+      "type" : "object",
+      "required" : [ "group", "name", "property", "sources", "updated-by" ],
+      "properties" : {
+        "tags" : {
+          "type" : "string"
+        },
+        "name" : {
+          "type" : "string",
+          "example" : "default-source",
+          "description" : "Name"
+        },
+        "property" : {
+          "description" : "Property",
+          "$ref" : "#/definitions/PropertyDefinition"
+        },
+        "group" : {
+          "type" : "string",
+          "example" : "default",
+          "description" : "Group"
+        },
+        "updated-by" : {
+          "type" : "string",
+          "example" : "example@onap.com",
+          "description" : "Updated by"
+        },
+        "sources" : {
+          "type" : "object",
+          "example" : "sources",
+          "description" : "Sources",
+          "additionalProperties" : {
+            "$ref" : "#/definitions/NodeTemplate"
+          }
+        }
+      }
+    },
+    "ResourceDictionary" : {
+      "type" : "object",
+      "required" : [ "dataType", "definition", "description", "entrySchema", "name", "resourceDictionaryGroup", "tags", "updatedBy" ],
+      "properties" : {
+        "name" : {
+          "type" : "string",
+          "example" : "sample-db-source",
+          "description" : "Name"
+        },
+        "dataType" : {
+          "type" : "string",
+          "example" : "string",
+          "description" : "Data type"
+        },
+        "entrySchema" : {
+          "type" : "string",
+          "example" : "dt-license-key",
+          "description" : "Entry schema"
+        },
+        "resourceDictionaryGroup" : {
+          "type" : "string",
+          "example" : "default",
+          "description" : "Resource dictionary group"
+        },
+        "definition" : {
+          "description" : "Definition",
+          "$ref" : "#/definitions/ResourceDefinition"
+        },
+        "description" : {
+          "type" : "string",
+          "example" : "demo_artifacts_version",
+          "description" : "Description"
+        },
+        "tags" : {
+          "type" : "string",
+          "example" : "hostname",
+          "description" : "Tags"
+        },
+        "creationDate" : {
+          "type" : "string",
+          "format" : "date-time"
+        },
+        "updatedBy" : {
+          "type" : "string",
+          "example" : "username",
+          "description" : "Updated by"
+        }
+      }
+    },
+    "ResourceResolution" : {
+      "type" : "object",
+      "required" : [ "artifactName", "blueprintName", "blueprintVersion", "createdDate", "dictionaryName", "dictionarySource", "dictionaryVersion", "name", "occurrence", "resolutionKey", "resourceId", "resourceType", "status", "value" ],
+      "properties" : {
+        "blueprintName" : {
+          "type" : "string",
+          "description" : "Name of the CBA."
+        },
+        "blueprintVersion" : {
+          "type" : "string",
+          "description" : "Version of the CBA."
+        },
+        "artifactName" : {
+          "type" : "string",
+          "description" : "Artifact name for which to retrieve a resolved resource."
+        },
+        "name" : {
+          "type" : "string",
+          "description" : "Name of the resource."
+        },
+        "value" : {
+          "type" : "string",
+          "description" : "Value of the resolution."
+        },
+        "status" : {
+          "type" : "string",
+          "description" : "Whether success of failure."
+        },
+        "resolutionKey" : {
+          "type" : "string",
+          "description" : "Resolution Key uniquely identifying the resolution of a given artifact within a CBA."
+        },
+        "resourceType" : {
+          "type" : "string",
+          "example" : "ServiceInstance",
+          "description" : "Resolution type."
+        },
+        "resourceId" : {
+          "type" : "string",
+          "description" : "ID associated with the resolution type in the inventory system."
+        },
+        "occurrence" : {
+          "type" : "integer",
+          "format" : "int32",
+          "description" : "If resolution occurred multiple time, this field provides the index."
+        },
+        "dictionaryName" : {
+          "type" : "string",
+          "description" : "Name of the data dictionary used for the resolution."
+        },
+        "dictionarySource" : {
+          "type" : "string",
+          "description" : "Source associated with the data dictionary used for the resolution."
+        },
+        "dictionaryVersion" : {
+          "type" : "integer",
+          "format" : "int32",
+          "description" : "Version of the data dictionary used for the resolution."
+        },
+        "id" : {
+          "type" : "string"
+        },
+        "createdDate" : {
+          "type" : "string",
+          "format" : "date-time",
+          "description" : "Creation date of the resolution."
+        }
+      }
+    },
+    "ResourceSourceMapping" : {
+      "type" : "object",
+      "properties" : {
+        "resourceSourceMappings" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "type" : "string"
+          }
+        }
+      }
+    },
+    "Sort" : {
+      "type" : "object",
+      "properties" : {
+        "sorted" : {
+          "type" : "boolean"
+        },
+        "unsorted" : {
+          "type" : "boolean"
+        },
+        "empty" : {
+          "type" : "boolean"
+        }
+      }
+    },
+    "Status" : {
+      "type" : "object",
+      "required" : [ "code", "eventType", "message", "timestamp" ],
+      "properties" : {
+        "code" : {
+          "type" : "integer",
+          "format" : "int32",
+          "description" : "HTTP status code equivalent."
+        },
+        "eventType" : {
+          "type" : "string",
+          "description" : "Type of the event being emitted by CDS."
+        },
+        "timestamp" : {
+          "type" : "string",
+          "format" : "date-time",
+          "example" : 2012-04-23T18:25:43.511Z,
+          "description" : "Time when the execution ended."
+        },
+        "errorMessage" : {
+          "type" : "string",
+          "description" : "Error message when system failed"
+        },
+        "message" : {
+          "type" : "string",
+          "description" : "Message providing request status"
+        }
+      }
+    },
+    "TemplateResolution" : {
+      "type" : "object",
+      "required" : [ "artifactName", "blueprintName", "blueprintVersion", "createdDate", "occurrence", "resolutionKey", "resourceId", "resourceType", "result" ],
+      "properties" : {
+        "blueprintName" : {
+          "type" : "string",
+          "description" : "Name of the CBA."
+        },
+        "blueprintVersion" : {
+          "type" : "string",
+          "description" : "Version of the CBA."
+        },
+        "artifactName" : {
+          "type" : "string",
+          "description" : "Artifact name for which to retrieve a resolved resource."
+        },
+        "result" : {
+          "type" : "string",
+          "description" : "Rendered template."
+        },
+        "resolutionKey" : {
+          "type" : "string",
+          "description" : "Resolution Key uniquely identifying the resolution of a given artifact within a CBA."
+        },
+        "resourceType" : {
+          "type" : "string",
+          "example" : "ServiceInstance",
+          "description" : "Resolution type."
+        },
+        "resourceId" : {
+          "type" : "string",
+          "description" : "ID associated with the resolution type in the inventory system."
+        },
+        "occurrence" : {
+          "type" : "integer",
+          "format" : "int32",
+          "description" : "If resolution occurred multiple time, this field provides the index."
+        },
+        "id" : {
+          "type" : "string"
+        },
+        "createdDate" : {
+          "type" : "string",
+          "format" : "date-time",
+          "description" : "Creation date of the resolution."
+        }
+      }
+    },
+    "WorkFlowSpecRequest" : {
+      "type" : "object",
+      "required" : [ "blueprintName", "workflowName" ],
+      "properties" : {
+        "blueprintName" : {
+          "type" : "string",
+          "example" : "pnf_netconf",
+          "description" : "Name of the BLueprint"
+        },
+        "version" : {
+          "type" : "string"
+        },
+        "returnContent" : {
+          "type" : "string"
+        },
+        "workflowName" : {
+          "type" : "string",
+          "example" : "config-assign",
+          "description" : "Name of the Workflow"
+        },
+        "specType" : {
+          "type" : "string"
+        }
+      }
+    }
+  }
 }
\ No newline at end of file
index daad636..a826bd6 100755 (executable)
@@ -52,7 +52,7 @@
         <dependency>
             <groupId>org.springframework.security</groupId>
             <artifactId>spring-security-core</artifactId>
-            <version>6.3.0</version>
+            <version>6.4.6</version>
         </dependency>
         <dependency>
             <groupId>org.eclipse.jetty.http2</groupId>
         </dependency>
         <dependency>
             <groupId>com.github.tomakehurst</groupId>
-            <artifactId>wiremock-jre8</artifactId>
-            <version>2.35.1</version>
+            <artifactId>wiremock-jre8-standalone</artifactId>
+            <version>3.0.1</version>
             <scope>test</scope>
             <exclusions>
             <exclusion>
         <dependency>
             <groupId>ch.qos.logback</groupId>
             <artifactId>logback-classic</artifactId>
-            <version>1.2.13</version>
+            <version>1.5.18</version>
+        </dependency>
+        <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-core</artifactId>
+            <version>1.5.18</version>
+        </dependency>
+        <dependency>
+            <groupId>net.logstash.logback</groupId>
+            <artifactId>logstash-logback-encoder</artifactId>
+            <version>7.4</version>
         </dependency>
         <dependency>
             <groupId>org.springframework.kafka</groupId>
             <artifactId>spring-kafka</artifactId>
-            <version>2.9.13</version>
+            <version>${spring-kafka.version}</version>
         </dependency>
         <dependency>
             <groupId>org.bitbucket.b_c</groupId>
         <dependency>
             <groupId>org.apache.zookeeper</groupId>
             <artifactId>zookeeper</artifactId>
-            <version>3.9.2</version>
+            <version>3.9.3</version>
         </dependency>
     </dependencies>
 
index 357154c..0e32cf2 100644 (file)
@@ -62,7 +62,7 @@ import org.springframework.core.env.ConfigurableEnvironment
 import org.springframework.http.HttpMethod
 import org.springframework.http.MediaType
 import org.springframework.stereotype.Component
-import org.springframework.util.Base64Utils
+import java.util.Base64
 import java.nio.file.Path
 import java.util.concurrent.ConcurrentHashMap
 
@@ -322,7 +322,7 @@ open class UatExecutor(
             )
             else -> username
         }
-        return "Basic " + Base64Utils.encodeToString("$username:$plainPassword".toByteArray())
+        return "Basic " + Base64.getEncoder().encodeToString("$username:$plainPassword".toByteArray())
     }
 
     open class MockPreInterceptor : BluePrintRestLibPropertyService.PreInterceptor {
@@ -408,7 +408,7 @@ open class UatExecutor(
 
         override fun uploadBinaryFile(path: String, filePath: Path):
             WebClientResponse<String> {
-                val method = HttpMethod.POST.name
+                val method = HttpMethod.POST.name()
                 val headers = DEFAULT_HEADERS
                 val request = ""
                 val requestDefinition =
index 29ea46a..000f5e8 100755 (executable)
@@ -82,7 +82,7 @@ blueprintsprocessor.db.driverClassName=org.mariadb.jdbc.Driver
 blueprintsprocessor.db.hibernateHbm2ddlAuto=update
 blueprintsprocessor.db.hibernateDDLAuto=update
 blueprintsprocessor.db.hibernateNamingStrategy=org.hibernate.cfg.ImprovedNamingStrategy
-blueprintsprocessor.db.hibernateDialect=org.hibernate.dialect.MySQL5InnoDBDialect
+blueprintsprocessor.db.hibernateDialect=org.hibernate.dialect.MariaDBDialect
 
 # processor-db endpoint
 blueprintsprocessor.db.processor-db.type=maria-db
index f284332..91fe0ac 100644 (file)
@@ -15,7 +15,7 @@ blueprintsprocessor:
         primary:
             driverClassName: org.mariadb.jdbc.Driver
             hibernateDDLAuto: none
-            hibernateDialect: org.hibernate.dialect.MySQL5InnoDBDialect
+            hibernateDialect: org.hibernate.dialect.MariaDBDialect
             hibernateHbm2ddlAuto: update
             hibernateNamingStrategy: org.hibernate.cfg.ImprovedNamingStrategy
             password: sdnctl
index a93d4d4..6d17a13 100755 (executable)
@@ -45,7 +45,7 @@ blueprintsprocessor.db.driverClassName=org.mariadb.jdbc.Driver
 blueprintsprocessor.db.hibernateHbm2ddlAuto=update
 blueprintsprocessor.db.hibernateDDLAuto=update
 blueprintsprocessor.db.hibernateNamingStrategy=org.hibernate.cfg.ImprovedNamingStrategy
-blueprintsprocessor.db.hibernateDialect=org.hibernate.dialect.MySQL5InnoDBDialect
+blueprintsprocessor.db.hibernateDialect=org.hibernate.dialect.MariaDBDialect
 
 # processor-db endpoint
 blueprintsprocessor.db.processor-db.type=maria-db
index fe2d539..39ec2ff 100644 (file)
@@ -54,7 +54,7 @@ import org.onap.ccsdk.cds.controllerblueprints.core.utils.BluePrintArchiveUtils.
 import org.skyscreamer.jsonassert.JSONAssert
 import org.skyscreamer.jsonassert.JSONCompareMode
 import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.boot.web.server.LocalServerPort
+import org.springframework.boot.test.web.server.LocalServerPort
 import org.springframework.core.env.ConfigurableEnvironment
 import org.springframework.core.env.MapPropertySource
 import org.springframework.test.context.ActiveProfiles
index eec36c8..3ea5d93 100644 (file)
@@ -22,7 +22,7 @@ package org.onap.ccsdk.cds.blueprintsprocessor.uat.utils
 import org.springframework.context.ApplicationContextInitializer
 import org.springframework.context.ConfigurableApplicationContext
 import org.springframework.test.context.support.TestPropertySourceUtils
-import org.springframework.util.Base64Utils
+import java.util.Base64
 
 class TestSecuritySettings {
     companion object {
@@ -31,7 +31,7 @@ class TestSecuritySettings {
         private const val authPassword = "Heisenberg"
 
         fun clientAuthToken() =
-            "Basic " + Base64Utils.encodeToString("$authUsername:$authPassword".toByteArray())
+            "Basic " + Base64.getEncoder().encodeToString("$authUsername:$authPassword".toByteArray())
     }
 
     class ServerContextInitializer : ApplicationContextInitializer<ConfigurableApplicationContext> {
index 133e4a5..5867cd7 100644 (file)
@@ -62,8 +62,8 @@ open class ComponentRemoteAnsibleExecutor(
 
     // HTTP related constants
     private val HTTP_SUCCESS = 200..202
-    private val GET = HttpMethod.GET.name
-    private val POST = HttpMethod.POST.name
+    private val GET = HttpMethod.GET.name()
+    private val POST = HttpMethod.POST.name()
     private val plainTextHeaders = mapOf("Accept" to "text/plain")
 
     var checkDelay: Long = 15_000
index f5ed365..f8480fe 100644 (file)
@@ -57,6 +57,7 @@
         <dependency>
             <groupId>org.hibernate</groupId>
             <artifactId>hibernate-testing</artifactId>
+            <version>6.2.7.Final</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
index 230e678..aa5e01e 100644 (file)
@@ -23,7 +23,7 @@ import org.onap.ccsdk.cds.blueprintsprocessor.functions.workflow.audit.db.Bluepr
 import org.slf4j.LoggerFactory
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
 import org.springframework.stereotype.Service
-import javax.annotation.PostConstruct
+import jakarta.annotation.PostConstruct
 
 /**
  * Workflow request and response details are persisted to database
index d9f0269..8c4116a 100644 (file)
@@ -22,15 +22,15 @@ import org.hibernate.annotations.Proxy
 import org.springframework.data.annotation.LastModifiedDate
 import java.io.Serializable
 import java.util.Date
-import javax.persistence.Column
-import javax.persistence.Entity
-import javax.persistence.GenerationType
-import javax.persistence.GeneratedValue
-import javax.persistence.Id
-import javax.persistence.Lob
-import javax.persistence.Table
-import javax.persistence.Temporal
-import javax.persistence.TemporalType
+import jakarta.persistence.Column
+import jakarta.persistence.Entity
+import jakarta.persistence.GenerationType
+import jakarta.persistence.GeneratedValue
+import jakarta.persistence.Id
+import jakarta.persistence.Lob
+import jakarta.persistence.Table
+import jakarta.persistence.Temporal
+import jakarta.persistence.TemporalType
 
 /**
  * BlueprintWorkflowAuditStatus Model.
@@ -47,9 +47,9 @@ class BlueprintWorkflowAuditStatus : Serializable {
     @Column(name = "workflow_audit_id")
     var id: Long = 0
 
-    @get:ApiModelProperty(value = "Workflow payload.", required = true)
     @Lob
-    @Column(name = "workflow_task_content", nullable = false)
+    @get:ApiModelProperty(value = "Workflow payload.", required = true)
+    @Column(name = "workflow_task_content", nullable = false, columnDefinition = "LONGTEXT")
     @ApiModelProperty(required = true)
     lateinit var workflowTaskContent: String
 
@@ -123,9 +123,9 @@ class BlueprintWorkflowAuditStatus : Serializable {
     @ApiModelProperty(required = true)
     lateinit var requestMode: String
 
-    @get:ApiModelProperty(value = "workflow response content", required = false)
     @Lob
-    @Column(name = "workflow_response_content", nullable = true)
+    @get:ApiModelProperty(value = "workflow response content", required = false)
+    @Column(name = "workflow_response_content", nullable = true, columnDefinition = "LONGTEXT")
     @ApiModelProperty(required = false)
     lateinit var workflowResponseContent: String
 
index 84959f7..fc37edc 100644 (file)
@@ -54,6 +54,7 @@
         <dependency>
             <groupId>org.hibernate</groupId>
             <artifactId>hibernate-testing</artifactId>
+            <version>6.2.7.Final</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
index a260d32..bc718f7 100644 (file)
@@ -23,14 +23,14 @@ import org.springframework.data.annotation.LastModifiedDate
 import org.springframework.data.jpa.domain.support.AuditingEntityListener
 import java.io.Serializable
 import java.util.Date
-import javax.persistence.Column
-import javax.persistence.Entity
-import javax.persistence.EntityListeners
-import javax.persistence.Id
-import javax.persistence.Lob
-import javax.persistence.Table
-import javax.persistence.Temporal
-import javax.persistence.TemporalType
+import jakarta.persistence.Column
+import jakarta.persistence.Entity
+import jakarta.persistence.EntityListeners
+import jakarta.persistence.Id
+import jakarta.persistence.Lob
+import jakarta.persistence.Table
+import jakarta.persistence.Temporal
+import jakarta.persistence.TemporalType
 
 /**
  * ResourceConfigSnapshot model
@@ -58,9 +58,9 @@ class ResourceConfigSnapshot : Serializable {
     @Column(name = "status", nullable = false)
     var status: Status? = null
 
-    @get:ApiModelProperty(value = "Snapshot of the resource as retrieved from resource.", required = true, example = "\"config_snapshot\"")
     @Lob
-    @Column(name = "config_snapshot", nullable = false)
+    @get:ApiModelProperty(value = "Snapshot of the resource as retrieved from resource.", required = true, example = "\"config_snapshot\"")
+    @Column(name = "config_snapshot", nullable = false, columnDefinition = "LONGTEXT")
     var config_snapshot: String? = null
 
     @Id
index 86c019a..9458484 100644 (file)
@@ -49,7 +49,7 @@ class K8sPluginDefinitionApi(
                 definitionVersion
             )
             val result: BlueprintWebClientService.WebClientResponse<String> = rbDefinitionService.exchangeResource(
-                GET.name,
+                GET.name(),
                 "",
                 ""
             )
@@ -69,7 +69,7 @@ class K8sPluginDefinitionApi(
                 definitionVersion
             )
             val result: BlueprintWebClientService.WebClientResponse<String> = rbDefinitionService.exchangeResource(
-                GET.name,
+                GET.name(),
                 "/profile/$profileName",
                 ""
             )
@@ -89,7 +89,7 @@ class K8sPluginDefinitionApi(
                 definitionVersion
             )
             val result: BlueprintWebClientService.WebClientResponse<String> = rbDefinitionService.exchangeResource(
-                GET.name,
+                GET.name(),
                 "/profile/$profileName",
                 ""
             )
@@ -116,7 +116,7 @@ class K8sPluginDefinitionApi(
                 definitionVersion
             )
             val result: BlueprintWebClientService.WebClientResponse<String> = rbDefinitionService.exchangeResource(
-                POST.name,
+                POST.name(),
                 "/profile",
                 profileJsonString
             )
@@ -138,7 +138,7 @@ class K8sPluginDefinitionApi(
                 profile.rbVersion!!
             )
             val result: BlueprintWebClientService.WebClientResponse<String> = rbDefinitionService.exchangeResource(
-                PUT.name,
+                PUT.name(),
                 "/profile/${profile.profileName}",
                 profileJsonString
             )
@@ -159,7 +159,7 @@ class K8sPluginDefinitionApi(
                 definitionVersion
             )
             val result: BlueprintWebClientService.WebClientResponse<String> = rbDefinitionService.exchangeResource(
-                DELETE.name,
+                DELETE.name(),
                 "/profile/$profileName",
                 ""
             )
@@ -204,7 +204,7 @@ class K8sPluginDefinitionApi(
                 definitionVersion
             )
             val result: BlueprintWebClientService.WebClientResponse<String> = rbDefinitionService.exchangeResource(
-                POST.name,
+                POST.name(),
                 "/config-template",
                 templateJsonString
             )
@@ -247,7 +247,7 @@ class K8sPluginDefinitionApi(
                 definitionVersion
             )
             val result: BlueprintWebClientService.WebClientResponse<String> = rbDefinitionService.exchangeResource(
-                DELETE.name,
+                DELETE.name(),
                 "/config-template/$templateName",
                 ""
             )
@@ -295,7 +295,7 @@ class K8sPluginDefinitionApi(
 
     private fun getTemplateRequest(rbDefinitionService: BlueprintWebClientService, templateName: String): BlueprintWebClientService.WebClientResponse<String> {
         return rbDefinitionService.exchangeResource(
-            GET.name,
+            GET.name(),
             "/config-template/$templateName",
             ""
         )
index b58a7ea..0230dff 100644 (file)
@@ -44,7 +44,7 @@ class K8sPluginInstanceApi(
         val rbInstanceService = getK8sRbInstanceRestClient(k8sConfiguration)
         try {
             val result: BlueprintWebClientService.WebClientResponse<String> = rbInstanceService.exchangeResource(
-                GET.name,
+                GET.name(),
                 "",
                 ""
             )
@@ -67,7 +67,7 @@ class K8sPluginInstanceApi(
         val rbInstanceService = getK8sRbInstanceRestClient(k8sConfiguration, instanceId)
         try {
             val result: BlueprintWebClientService.WebClientResponse<String> = rbInstanceService.exchangeResource(
-                GET.name,
+                GET.name(),
                 "",
                 ""
             )
@@ -89,7 +89,7 @@ class K8sPluginInstanceApi(
         val rbInstanceService = getK8sRbInstanceRestClient(k8sConfiguration, instanceId)
         try {
             val result: BlueprintWebClientService.WebClientResponse<String> = rbInstanceService.exchangeResource(
-                GET.name,
+                GET.name(),
                 "?full=true",
                 ""
             )
@@ -126,7 +126,7 @@ class K8sPluginInstanceApi(
         val rbInstanceService = getK8sRbInstanceRestClient(k8sConfiguration, instanceId)
         try {
             val result: BlueprintWebClientService.WebClientResponse<String> = rbInstanceService.exchangeResource(
-                GET.name,
+                GET.name(),
                 "/status",
                 ""
             )
@@ -165,7 +165,7 @@ class K8sPluginInstanceApi(
                 path = path.trimEnd(',')
             }
             val result: BlueprintWebClientService.WebClientResponse<String> = rbInstanceService.exchangeResource(
-                GET.name,
+                GET.name(),
                 path,
                 ""
             )
@@ -189,7 +189,7 @@ class K8sPluginInstanceApi(
         val rbInstanceService = getK8sRbInstanceRestClient(k8sConfiguration, instanceId)
         try {
             val result: BlueprintWebClientService.WebClientResponse<String> = rbInstanceService.exchangeResource(
-                GET.name,
+                GET.name(),
                 "/healthcheck",
                 ""
             )
@@ -214,7 +214,7 @@ class K8sPluginInstanceApi(
         val rbInstanceService = getK8sRbInstanceRestClient(k8sConfiguration, instanceId)
         try {
             val result: BlueprintWebClientService.WebClientResponse<String> = rbInstanceService.exchangeResource(
-                GET.name,
+                GET.name(),
                 "/healthcheck/$healthCheckId",
                 ""
             )
@@ -239,7 +239,7 @@ class K8sPluginInstanceApi(
         val rbInstanceService = getK8sRbInstanceRestClient(k8sConfiguration, instanceId)
         try {
             val result: BlueprintWebClientService.WebClientResponse<String> = rbInstanceService.exchangeResource(
-                POST.name,
+                POST.name(),
                 "/healthcheck",
                 ""
             )
@@ -264,7 +264,7 @@ class K8sPluginInstanceApi(
         val rbInstanceService = getK8sRbInstanceRestClient(k8sConfiguration, instanceId)
         try {
             val result: BlueprintWebClientService.WebClientResponse<String> = rbInstanceService.exchangeResource(
-                POST.name,
+                POST.name(),
                 "/config",
                 JacksonUtils.getJson(configValues)
             )
@@ -286,7 +286,7 @@ class K8sPluginInstanceApi(
         val rbInstanceService = getK8sRbInstanceRestClient(k8sConfiguration, instanceId)
         try {
             val result: BlueprintWebClientService.WebClientResponse<String> = rbInstanceService.exchangeResource(
-                PUT.name,
+                PUT.name(),
                 "/config/$configName",
                 JacksonUtils.getJson(configValues)
             )
@@ -308,7 +308,7 @@ class K8sPluginInstanceApi(
         val rbInstanceService = getK8sRbInstanceRestClient(k8sConfiguration, instanceId)
         try {
             val result: BlueprintWebClientService.WebClientResponse<String> = rbInstanceService.exchangeResource(
-                POST.name,
+                POST.name(),
                 "/config/$configName/delete",
                 ""
             )
@@ -330,7 +330,7 @@ class K8sPluginInstanceApi(
         val rbInstanceService = getK8sRbInstanceRestClient(k8sConfiguration, instanceId)
         try {
             val result: BlueprintWebClientService.WebClientResponse<String> = rbInstanceService.exchangeResource(
-                GET.name,
+                GET.name(),
                 "/config/$configName",
                 ""
             )
@@ -346,7 +346,7 @@ class K8sPluginInstanceApi(
         val rbInstanceService = getK8sRbInstanceRestClient(k8sConfiguration, instanceId)
         try {
             val result: BlueprintWebClientService.WebClientResponse<String> = rbInstanceService.exchangeResource(
-                GET.name,
+                GET.name(),
                 "/config/$configName/version/$version",
                 ""
             )
@@ -362,7 +362,7 @@ class K8sPluginInstanceApi(
         val rbInstanceService = getK8sRbInstanceRestClient(k8sConfiguration, instanceId)
         try {
             val result: BlueprintWebClientService.WebClientResponse<String> = rbInstanceService.exchangeResource(
-                GET.name,
+                GET.name(),
                 "/config/$configName",
                 ""
             )
@@ -384,7 +384,7 @@ class K8sPluginInstanceApi(
         val rbInstanceService = getK8sRbInstanceRestClient(k8sConfiguration, instanceId)
         try {
             val result: BlueprintWebClientService.WebClientResponse<String> = rbInstanceService.exchangeResource(
-                GET.name,
+                GET.name(),
                 "/config/$configName/version/$version",
                 ""
             )
@@ -406,7 +406,7 @@ class K8sPluginInstanceApi(
         val rbInstanceService = getK8sRbInstanceRestClient(k8sConfiguration, instanceId)
         try {
             val result: BlueprintWebClientService.WebClientResponse<String> = rbInstanceService.exchangeResource(
-                GET.name,
+                GET.name(),
                 "/config/$configName/tag/$tag",
                 ""
             )
@@ -428,7 +428,7 @@ class K8sPluginInstanceApi(
         val rbInstanceService = getK8sRbInstanceRestClient(k8sConfiguration, instanceId)
         try {
             val result: BlueprintWebClientService.WebClientResponse<String> = rbInstanceService.exchangeResource(
-                GET.name,
+                GET.name(),
                 "/config",
                 ""
             )
@@ -451,7 +451,7 @@ class K8sPluginInstanceApi(
         val rbInstanceService = getK8sRbInstanceRestClient(k8sConfiguration, instanceId)
         try {
             val result: BlueprintWebClientService.WebClientResponse<String> = rbInstanceService.exchangeResource(
-                GET.name,
+                GET.name(),
                 "/config/$configName/version",
                 ""
             )
@@ -474,7 +474,7 @@ class K8sPluginInstanceApi(
         val rbInstanceService = getK8sRbInstanceRestClient(k8sConfiguration, instanceId)
         try {
             val result: BlueprintWebClientService.WebClientResponse<String> = rbInstanceService.exchangeResource(
-                GET.name,
+                GET.name(),
                 "/config/$configName/tag",
                 ""
             )
@@ -500,7 +500,7 @@ class K8sPluginInstanceApi(
             if (deleteConfigOnly)
                 path = path.plus("?deleteConfigOnly=true")
             val result: BlueprintWebClientService.WebClientResponse<String> = rbInstanceService.exchangeResource(
-                DELETE.name,
+                DELETE.name(),
                 path,
                 ""
             )
@@ -522,7 +522,7 @@ class K8sPluginInstanceApi(
             if (configTag != null)
                 configValues["config-tag"] = configTag
             val result: BlueprintWebClientService.WebClientResponse<String> = rbInstanceService.exchangeResource(
-                POST.name,
+                POST.name(),
                 "/config/$configName/rollback",
                 JacksonUtils.getJson(configValues)
             )
@@ -541,7 +541,7 @@ class K8sPluginInstanceApi(
             val configValues = hashMapOf<String, String>()
             configValues["tag-name"] = tagName
             val result: BlueprintWebClientService.WebClientResponse<String> = rbInstanceService.exchangeResource(
-                POST.name,
+                POST.name(),
                 "/config/$configName/tagit",
                 JacksonUtils.getJson(configValues)
             )
@@ -558,7 +558,7 @@ class K8sPluginInstanceApi(
         val rbInstanceService = getK8sRbInstanceRestClient(k8sConfiguration, instanceId)
         try {
             val result: BlueprintWebClientService.WebClientResponse<String> = rbInstanceService.exchangeResource(
-                DELETE.name,
+                DELETE.name(),
                 "/healthcheck/$healthCheckId",
                 ""
             )
index 227ed67..01c7b1c 100644 (file)
@@ -35,7 +35,7 @@ public class K8sPluginQueryApi(
                 path = path.trimEnd(',')
             }
             val result: BlueprintWebClientService.WebClientResponse<String> = rbQueryService.exchangeResource(
-                GET.name,
+                GET.name(),
                 path,
                 ""
             )
index ce2085f..7ce1b92 100644 (file)
@@ -22,14 +22,14 @@ import org.springframework.data.annotation.LastModifiedDate
 import org.springframework.data.jpa.domain.support.AuditingEntityListener
 import org.springframework.data.jpa.repository.config.EnableJpaAuditing
 import java.util.Date
-import javax.persistence.Column
-import javax.persistence.Entity
-import javax.persistence.EntityListeners
-import javax.persistence.Id
-import javax.persistence.Lob
-import javax.persistence.Table
-import javax.persistence.Temporal
-import javax.persistence.TemporalType
+import jakarta.persistence.Column
+import jakarta.persistence.Entity
+import jakarta.persistence.EntityListeners
+import jakarta.persistence.Id
+import jakarta.persistence.Lob
+import jakarta.persistence.Table
+import jakarta.persistence.Temporal
+import jakarta.persistence.TemporalType
 
 @EnableJpaAuditing
 @EntityListeners(AuditingEntityListener::class)
@@ -56,19 +56,19 @@ open class MessagePrioritization {
     var priority: Int = 5
 
     @Lob
-    @Column(name = "message", nullable = false)
+    @Column(name = "message", nullable = false, columnDefinition = "LONGTEXT")
     var message: String? = null
 
     @Lob
-    @Column(name = "error", nullable = true)
+    @Column(name = "error", nullable = true, columnDefinition = "LONGTEXT")
     var error: String? = null
 
     @Lob
-    @Column(name = "aggregated_message_ids", nullable = true)
+    @Column(name = "aggregated_message_ids", nullable = true, columnDefinition = "LONGTEXT")
     var aggregatedMessageIds: String? = null
 
     @Lob
-    @Column(name = "correlation_id", nullable = true)
+    @Column(name = "correlation_id", nullable = true, columnDefinition = "LONGTEXT")
     var correlationId: String? = null
 
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
index f2be8f5..fb446c8 100755 (executable)
@@ -75,7 +75,7 @@
         <dependency>
             <groupId>org.springframework.kafka</groupId>
             <artifactId>spring-kafka</artifactId>
-            <version>2.9.13</version>
+            <version>${spring-kafka.version}</version>
         </dependency>
         <dependency>
             <groupId>org.powermock</groupId>
index b31fc9c..cdddfdd 100644 (file)
@@ -57,6 +57,7 @@
         <dependency>
             <groupId>org.hibernate</groupId>
             <artifactId>hibernate-testing</artifactId>
+            <version>6.2.7.Final</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
index 9388c28..5ba9ba8 100644 (file)
@@ -91,7 +91,7 @@ open class IpAssignResolutionCapability : ResourceAssignmentProcessor() {
 
                 // Get the Rest Response
                 val response = restClientService.exchangeResource(
-                    HttpMethod.POST.name,
+                    HttpMethod.POST.name(),
                     "/web/service/v1/assign", generatedPayload
                 )
                 val responseStatusCode = response.status
index bc6983b..27cbd08 100644 (file)
@@ -92,7 +92,7 @@ open class NamingResolutionCapability : ResourceAssignmentProcessor() {
 
                 // Get the Rest Response
                 val response = restClientService.exchangeResource(
-                    HttpMethod.POST.name,
+                    HttpMethod.POST.name(),
                     "/web/service/v1/genNetworkElementName/cds", generatedPayload
                 )
 
index 8b0f75c..d93952c 100644 (file)
@@ -23,15 +23,15 @@ import org.springframework.data.annotation.LastModifiedDate
 import org.springframework.data.jpa.domain.support.AuditingEntityListener
 import java.io.Serializable
 import java.util.Date
-import javax.persistence.Column
-import javax.persistence.Entity
-import javax.persistence.EntityListeners
-import javax.persistence.Id
-import javax.persistence.Index
-import javax.persistence.Lob
-import javax.persistence.Table
-import javax.persistence.Temporal
-import javax.persistence.TemporalType
+import jakarta.persistence.Column
+import jakarta.persistence.Entity
+import jakarta.persistence.EntityListeners
+import jakarta.persistence.Id
+import jakarta.persistence.Index
+import jakarta.persistence.Lob
+import jakarta.persistence.Table
+import jakarta.persistence.Temporal
+import jakarta.persistence.TemporalType
 
 @EntityListeners(AuditingEntityListener::class)
 @Entity
@@ -64,9 +64,9 @@ class ResourceResolution : Serializable {
     @Column(name = "name", nullable = false)
     var name: String? = null
 
-    @get:ApiModelProperty(value = "Value of the resolution.", required = true)
     @Lob
-    @Column(name = "value", nullable = false)
+    @get:ApiModelProperty(value = "Value of the resolution.", required = true)
+    @Column(name = "value", nullable = false, columnDefinition = "LONGTEXT")
     var value: String? = null
 
     @get:ApiModelProperty(value = "Whether success of failure.", required = true)
index 6a7a2cd..2f17eaf 100755 (executable)
@@ -23,15 +23,17 @@ import org.springframework.data.annotation.LastModifiedDate
 import org.springframework.data.jpa.domain.support.AuditingEntityListener
 import java.io.Serializable
 import java.util.Date
-import javax.persistence.Column
-import javax.persistence.Entity
-import javax.persistence.EntityListeners
-import javax.persistence.Id
-import javax.persistence.Index
-import javax.persistence.Lob
-import javax.persistence.Table
-import javax.persistence.Temporal
-import javax.persistence.TemporalType
+import jakarta.persistence.Column
+import jakarta.persistence.Entity
+import jakarta.persistence.EntityListeners
+import jakarta.persistence.Id
+import jakarta.persistence.Index
+import jakarta.persistence.Lob
+import jakarta.persistence.Table
+import jakarta.persistence.Temporal
+import jakarta.persistence.TemporalType
+import org.hibernate.annotations.JdbcTypeCode
+import java.sql.Types
 
 @EntityListeners(AuditingEntityListener::class)
 @Entity
@@ -59,9 +61,10 @@ class TemplateResolution : Serializable {
     @Column(name = "artifact_name", nullable = false)
     var artifactName: String? = null
 
-    @get:ApiModelProperty(value = "Rendered template.", required = true)
     @Lob
-    @Column(name = "result", nullable = false)
+    @JdbcTypeCode(Types.LONGVARCHAR)
+    @get:ApiModelProperty(value = "Rendered template.", required = true)
+    @Column(name = "result", nullable = false, columnDefinition = "LONGTEXT")
     var result: String? = null
 
     @get:ApiModelProperty(
index 5892c9f..2f19fee 100644 (file)
@@ -18,7 +18,6 @@
 package org.onap.ccsdk.cds.blueprintsprocessor.functions.restconf.executor
 
 import com.fasterxml.jackson.databind.JsonNode
-import org.hibernate.annotations.common.util.impl.LoggerFactory
 import org.onap.ccsdk.cds.blueprintsprocessor.functions.restconf.executor.RestconfConstants.Companion.RESTCONF_TOPOLOGY_CONFIG_PATH
 import org.onap.ccsdk.cds.blueprintsprocessor.functions.restconf.executor.RestconfConstants.Companion.RESTCONF_TOPOLOGY_OPER_PATH
 import org.onap.ccsdk.cds.blueprintsprocessor.rest.restClientService
@@ -27,11 +26,12 @@ import org.onap.ccsdk.cds.blueprintsprocessor.services.execution.AbstractScriptC
 import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintProcessorException
 import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintRetryException
 import org.onap.ccsdk.cds.controllerblueprints.core.service.BluePrintDependencyService
+import org.slf4j.LoggerFactory
 
 /**
  * Register the Restconf module exposed dependency
  */
-val log = LoggerFactory.logger(AbstractScriptComponentFunction::class.java)!!
+val log = LoggerFactory.getLogger(AbstractScriptComponentFunction::class.java)!!
 
 fun AbstractScriptComponentFunction.restconfClientService(selector: String): BlueprintWebClientService {
     return BluePrintDependencyService.restClientService(selector)
index 220bbca..53ae279 100644 (file)
         <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-web</artifactId>
-            <version>5.3.39</version>
+            <version>6.2.8</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-expression</artifactId>
         </dependency>
         <dependency>
             <groupId>com.h2database</groupId>
index 8b3fd2a..d8a7031 100644 (file)
@@ -43,7 +43,7 @@ class RestfulServiceClient() {
         request_object.put("data", request_object_value)
         val requestBodystr = request_object.toString()
         log.info("MOI request body: " + requestBodystr)
-        val response = web_client_service.exchangeResource(HttpMethod.PUT.name, pathStr, requestBodystr)
+        val response = web_client_service.exchangeResource(HttpMethod.PUT.name(), pathStr, requestBodystr)
         var response_object = generateResponse(response.status, response.body)
         log.info("MOI response status: " + response.status)
         return response_object
@@ -58,7 +58,7 @@ class RestfulServiceClient() {
             pathStr = addQueryParameters(pathStr, "fields", attribute_value.toString().replace("\"", ""))
         }
         log.info("MOI Path: " + pathStr)
-        val response = web_client_service.exchangeResource(HttpMethod.GET.name, pathStr, "")
+        val response = web_client_service.exchangeResource(HttpMethod.GET.name(), pathStr, "")
         log.info("MOI response status: " + response.status)
         var response_object = generateResponse(response.status, response.body)
         return response_object
@@ -74,7 +74,7 @@ class RestfulServiceClient() {
         request_object.put("data", managed_object_instance.get("data"))
         val requestBodystr = request_object.toString()
         log.info("MOI request body: " + requestBodystr)
-        val response = web_client_service.exchangeResource(HttpMethod.PATCH.name, pathStr, requestBodystr)
+        val response = web_client_service.exchangeResource(HttpMethod.PATCH.name(), pathStr, requestBodystr)
         log.info("MOI response status: " + response.status)
         var response_object = generateResponse(response.status, response.body)
         return response_object
@@ -86,7 +86,7 @@ class RestfulServiceClient() {
         pathStr = addQueryParameters(pathStr, "scope", managed_object_instance.get("scope").toString().replace("\"", ""))
         pathStr = addQueryParameters(pathStr, "filter", managed_object_instance.get("filter").toString().replace("\"", ""))
         log.info("MOI Path: " + pathStr)
-        val response = web_client_service.exchangeResource(HttpMethod.DELETE.name, pathStr, "")
+        val response = web_client_service.exchangeResource(HttpMethod.DELETE.name(), pathStr, "")
         log.info("MOI response status: " + response.status)
         var response_object = generateResponse(response.status, response.body)
         return response_object
index 4e2271b..a8e4d0f 100755 (executable)
@@ -116,8 +116,8 @@ class BluePrintArchiveUtils {
             compressionLevel: Int = Deflater.DEFAULT_COMPRESSION,
             fixedModificationTime: Long? = null
         ): T
-            where T : OutputStream {
-            val stream: ArchiveOutputStream = if (archiveType == ArchiveType.Zip)
+                where T : OutputStream {
+            val stream = if (archiveType == ArchiveType.Zip)
                 ZipArchiveOutputStream(output).apply { setLevel(compressionLevel) }
             else
                 TarArchiveOutputStream(GzipCompressorOutputStream(output))
@@ -129,7 +129,7 @@ class BluePrintArchiveUtils {
                             @Throws(IOException::class)
                             override fun visitFile(file: Path, attrs: BasicFileAttributes): FileVisitResult {
                                 if (pathFilter.test(file)) {
-                                    var archiveEntry: ArchiveEntry = aos.createArchiveEntry(
+                                    val archiveEntry = aos.createArchiveEntry(
                                         file.toFile(),
                                         baseDir.relativize(file).toString()
                                     )
@@ -140,7 +140,9 @@ class BluePrintArchiveUtils {
                                         }
                                         entry.time = 0
                                     }
-                                    aos.putArchiveEntry(archiveEntry)
+                                    val aosArchiveEntry = aos as ArchiveOutputStream<ArchiveEntry>
+                                    aosArchiveEntry.putArchiveEntry(archiveEntry)
+
                                     Files.copy(file, aos)
                                     aos.closeArchiveEntry()
                                 }
@@ -149,16 +151,16 @@ class BluePrintArchiveUtils {
 
                             @Throws(IOException::class)
                             override fun preVisitDirectory(dir: Path, attrs: BasicFileAttributes): FileVisitResult {
-                                var archiveEntry: ArchiveEntry?
-                                if (archiveType == ArchiveType.Zip) {
-                                    val entry = ZipArchiveEntry(baseDir.relativize(dir).toString() + "/")
-                                    fixedModificationTime?.let {
-                                        entry.time = it
-                                    }
-                                    archiveEntry = entry
-                                } else
-                                    archiveEntry = TarArchiveEntry(baseDir.relativize(dir).toString() + "/")
-                                aos.putArchiveEntry(archiveEntry)
+                                val archiveEntry: ArchiveEntry =
+                                    if (archiveType == ArchiveType.Zip) {
+                                        val entry = ZipArchiveEntry(baseDir.relativize(dir).toString() + "/")
+                                        fixedModificationTime?.let {
+                                            entry.time = it
+                                        }
+                                        entry
+                                    } else
+                                        TarArchiveEntry(baseDir.relativize(dir).toString() + "/")
+                                (aos as ArchiveOutputStream<ArchiveEntry>).putArchiveEntry(archiveEntry)
                                 aos.closeArchiveEntry()
                                 return FileVisitResult.CONTINUE
                             }
@@ -183,7 +185,7 @@ class BluePrintArchiveUtils {
             } else { // Tar Gz
                 var tarGzArchiveIs: InputStream = BufferedInputStream(archiveFile.inputStream())
                 tarGzArchiveIs = GzipCompressorInputStream(tarGzArchiveIs)
-                val tarGzArchive: ArchiveInputStream = TarArchiveInputStream(tarGzArchiveIs)
+                val tarGzArchive = TarArchiveInputStream(tarGzArchiveIs)
                 enumeration = ArchiveEnumerator(tarGzArchive)
             }
 
@@ -219,7 +221,7 @@ class BluePrintArchiveUtils {
 
         private val zipArchive: ZipFile?
         private val zipEnumeration: Enumeration<ZipArchiveEntry>?
-        private val archiveStream: ArchiveInputStream?
+        private val archiveStream: ArchiveInputStream<ArchiveEntry>?
         private var nextEntry: ArchiveEntry? = null
         private val hasSharedEntryInputStream: Boolean
 
@@ -230,8 +232,8 @@ class BluePrintArchiveUtils {
             hasSharedEntryInputStream = false
         }
 
-        constructor(archiveStream: ArchiveInputStream) {
-            this.archiveStream = archiveStream
+        constructor(archiveStream: TarArchiveInputStream) {
+            this.archiveStream = archiveStream as ArchiveInputStream<ArchiveEntry>
             zipArchive = null
             zipEnumeration = null
             hasSharedEntryInputStream = true
index 6050960..f69500f 100644 (file)
@@ -55,8 +55,8 @@
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>javax.validation</groupId>
-            <artifactId>validation-api</artifactId>
+            <groupId>jakarta.validation</groupId>
+            <artifactId>jakarta.validation-api</artifactId>
         </dependency>
         <dependency>
             <groupId>com.h2database</groupId>
@@ -69,6 +69,7 @@
         <dependency>
             <groupId>org.hibernate</groupId>
             <artifactId>hibernate-testing</artifactId>
+            <version>6.2.7.Final</version>
             <scope>test</scope>
         </dependency>
         <dependency>
index 1feac8c..c544900 100755 (executable)
@@ -25,21 +25,21 @@ import org.springframework.data.annotation.LastModifiedDate
 import org.springframework.data.jpa.domain.support.AuditingEntityListener
 import java.io.Serializable
 import java.util.Date
-import javax.persistence.AttributeConverter
-import javax.persistence.CascadeType
-import javax.persistence.Column
-import javax.persistence.Convert
-import javax.persistence.Converter
-import javax.persistence.Entity
-import javax.persistence.EntityListeners
-import javax.persistence.FetchType
-import javax.persistence.Id
-import javax.persistence.Lob
-import javax.persistence.OneToOne
-import javax.persistence.Table
-import javax.persistence.Temporal
-import javax.persistence.TemporalType
-import javax.persistence.UniqueConstraint
+import jakarta.persistence.AttributeConverter
+import jakarta.persistence.CascadeType
+import jakarta.persistence.Column
+import jakarta.persistence.Convert
+import jakarta.persistence.Converter
+import jakarta.persistence.Entity
+import jakarta.persistence.EntityListeners
+import jakarta.persistence.FetchType
+import jakarta.persistence.Id
+import jakarta.persistence.Lob
+import jakarta.persistence.OneToOne
+import jakarta.persistence.Table
+import jakarta.persistence.Temporal
+import jakarta.persistence.TemporalType
+import jakarta.persistence.UniqueConstraint
 
 /**
  *  Provide BlueprintModel Entity
@@ -96,7 +96,7 @@ class BlueprintModel : Serializable {
     lateinit var artifactVersion: String
 
     @Lob
-    @Column(name = "artifact_description")
+    @Column(name = "artifact_description", columnDefinition = "LONGTEXT")
     var artifactDescription: String? = null
 
     @Column(name = "internal_version")
@@ -120,8 +120,7 @@ class BlueprintModel : Serializable {
     @ApiModelProperty(required = true)
     lateinit var updatedBy: String
 
-    @Lob
-    @Column(name = "tags", nullable = false)
+    @Column(name = "tags", nullable = false, columnDefinition = "LONGTEXT")
     @ApiModelProperty(required = true)
     lateinit var tags: String
 
@@ -131,7 +130,7 @@ class BlueprintModel : Serializable {
     // will be populated with workflow specs for each workflow (JSON object)
     @Lob
     @Convert(converter = WorkflowsConverter::class)
-    @Column(name = "workflows", nullable = false)
+    @Column(name = "workflows", nullable = false, columnDefinition = "LONGTEXT")
     lateinit var workflows: Map<String, Workflow>
 
     companion object {
@@ -145,9 +144,10 @@ class BlueprintModel : Serializable {
             return JacksonUtils.getJson(node, true)
         }
 
-        override fun convertToEntityAttribute(dbData: String): Map<String, Workflow> {
-            if (dbData == null || "".equals(dbData)) return emptyMap()
-            return JacksonUtils.getMapFromJson(dbData, Workflow::class.java)
+        override fun convertToEntityAttribute(dbData: String?): Map<String, Workflow> {
+            return dbData?.let {
+                JacksonUtils.getMapFromJson(it, Workflow::class.java)
+            } ?: emptyMap()
         }
     }
 }
index 08977f6..5f847a8 100644 (file)
@@ -23,16 +23,16 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener
 import java.io.Serializable
 import java.util.Date
 import java.util.Objects
-import javax.persistence.Column
-import javax.persistence.Entity
-import javax.persistence.EntityListeners
-import javax.persistence.Id
-import javax.persistence.JoinColumn
-import javax.persistence.Lob
-import javax.persistence.OneToOne
-import javax.persistence.Table
-import javax.persistence.Temporal
-import javax.persistence.TemporalType
+import jakarta.persistence.Column
+import jakarta.persistence.Entity
+import jakarta.persistence.EntityListeners
+import jakarta.persistence.Id
+import jakarta.persistence.JoinColumn
+import jakarta.persistence.Lob
+import jakarta.persistence.OneToOne
+import jakarta.persistence.Table
+import jakarta.persistence.Temporal
+import jakarta.persistence.TemporalType
 
 /**
  * Provide Blueprint Model Content Entity
@@ -62,11 +62,11 @@ class BlueprintModelContent : Serializable {
     var blueprintModel: BlueprintModel? = null
 
     @Lob
-    @Column(name = "description")
+    @Column(name = "description", columnDefinition = "LONGTEXT")
     var description: String? = null
 
     @Lob
-    @Column(name = "content", nullable = false)
+    @Column(name = "content", nullable = false, columnDefinition = "LONGBLOB")
     @ApiModelProperty(required = true)
     lateinit var content: ByteArray
 
@@ -77,25 +77,13 @@ class BlueprintModelContent : Serializable {
     var creationDate = Date()
 
     override fun toString(): String {
-        return "[" + "id = " + id +
-            ", name = " + name +
-            ", contentType = " + contentType +
-            "]"
+        return "BlueprintModelContent(id='$id', name='$name', contentType='$contentType')"
     }
 
     override fun equals(o: Any?): Boolean {
-
-        if (o === this) {
-            return true
-        }
-        if (o !is BlueprintModelContent) {
-            return false
-        }
-        val blueprintModelContent = o as BlueprintModelContent?
-        return (
-            id == blueprintModelContent!!.id && name == blueprintModelContent.name &&
-                contentType == blueprintModelContent.contentType
-            )
+        if (o === this) return true
+        if (o !is BlueprintModelContent) return false
+        return id == o.id && name == o.name && contentType == o.contentType
     }
 
     override fun hashCode(): Int {
index ba90518..09cbc86 100644 (file)
@@ -25,13 +25,13 @@ import io.swagger.annotations.ApiModelProperty
 import org.springframework.data.annotation.LastModifiedDate
 import java.io.Serializable
 import java.util.Date
-import javax.persistence.Column
-import javax.persistence.Entity
-import javax.persistence.Id
-import javax.persistence.Lob
-import javax.persistence.Table
-import javax.persistence.Temporal
-import javax.persistence.TemporalType
+import jakarta.persistence.Column
+import jakarta.persistence.Entity
+import jakarta.persistence.Id
+import jakarta.persistence.Lob
+import jakarta.persistence.Table
+import jakarta.persistence.Temporal
+import jakarta.persistence.TemporalType
 
 /**
  * Provide Blueprint Model Search Entity
@@ -69,9 +69,9 @@ class BlueprintModelSearch : Serializable {
     @Column(name = "artifact_version", nullable = false)
     var artifactVersion: String? = null
 
-    @ApiModelProperty(value = "Artifact Description, usually empty", example = "\"\"", required = false)
     @Lob
-    @Column(name = "artifact_description")
+    @ApiModelProperty(value = "Artifact Description, usually empty", example = "\"\"", required = false)
+    @Column(name = "artifact_description", columnDefinition = "LONGTEXT")
     var artifactDescription: String? = null
 
     @ApiModelProperty(value = "Internal Version of CBA, usually null", example = "null", required = false)
@@ -98,8 +98,7 @@ class BlueprintModelSearch : Serializable {
     var updatedBy: String? = null
 
     @ApiModelProperty(value = "Tags to identify the CBA, defined in Metadata", example = "\"test\"", required = true)
-    @Lob
-    @Column(name = "tags", nullable = false)
+    @Column(name = "tags", nullable = false, columnDefinition = "LONGTEXT")
     var tags: String? = null
 
     companion object {
index 8572dbf..e909aa4 100644 (file)
@@ -43,6 +43,7 @@
         <dependency>
             <groupId>io.grpc</groupId>
             <artifactId>grpc-testing</artifactId>
+            <version>${grpc.version}</version>
         </dependency>
     </dependencies>
 </project>
index ca5ac14..9949744 100644 (file)
@@ -46,7 +46,7 @@
         <dependency>
             <groupId>org.springframework.kafka</groupId>
             <artifactId>spring-kafka</artifactId>
-            <version>2.9.13</version>
+            <version>${spring-kafka.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.kafka</groupId>
index 2a761d6..e1a0eca 100755 (executable)
@@ -81,7 +81,7 @@
         <dependency>
            <groupId>org.springframework.kafka</groupId>
            <artifactId>spring-kafka</artifactId>
-           <version>2.9.13</version>
+           <version>${spring-kafka.version}</version>
         </dependency>
         <dependency>
             <groupId>org.bitbucket.b_c</groupId>
index 48d8b78..06e2f99 100644 (file)
@@ -36,6 +36,7 @@
         <dependency>
             <groupId>com.hazelcast</groupId>
             <artifactId>hazelcast-all</artifactId>
+            <version>${hazelcast.version}</version>
         </dependency>
         <dependency>
             <groupId>org.onap.ccsdk.cds.blueprintsprocessor.modules</groupId>
index 870e0ed..b357836 100644 (file)
@@ -193,7 +193,7 @@ open class HazelcastClusterService(private val applicationEventPublisher: Applic
         }
     }
 
-    override suspend fun <T> sendMessage(topic: BlueprintClusterTopic, message: T) {
+    override suspend fun <T : Any> sendMessage(topic: BlueprintClusterTopic, message: T) {
         hazelcast.getReliableTopic<T>(topic.name).publish(message)
     }
 
index f7ba6f2..25edaa3 100644 (file)
@@ -58,7 +58,7 @@ interface BluePrintClusterService {
     suspend fun shutDown(duration: Duration)
 
     /** Send [message] to the listener(s) of a [topic] */
-    suspend fun <T> sendMessage(topic: BlueprintClusterTopic, message: T)
+    suspend fun <T : Any> sendMessage(topic: BlueprintClusterTopic, message: T)
 
     /** Register a [listener] to a [topic] and returns his UUID */
     fun <T> addBlueprintClusterMessageListener(topic: BlueprintClusterTopic, listener: BlueprintClusterMessageListener<T>): UUID
index 389a7f4..8fd1116 100644 (file)
@@ -53,7 +53,7 @@
         <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-web</artifactId>
-            <version>5.3.39</version>
+            <version>6.2.8</version>
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
         <dependency>
             <groupId>org.springframework.security</groupId>
             <artifactId>spring-security-core</artifactId>
-            <version>6.3.0</version>
+            <version>6.4.6</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-expression</artifactId>
         </dependency>
         <dependency>
             <groupId>org.jetbrains.kotlin</groupId>
index 4b5c2c4..a986cb1 100644 (file)
@@ -30,7 +30,7 @@ open class RestServerLoggingWebFilter : WebFilter {
 
         val loggingService = RestLoggerService()
         loggingService.entering(serverWebExchange.request)
-        val filterChain = webFilterChain.filter(serverWebExchange).subscriberContext(
+        val filterChain = webFilterChain.filter(serverWebExchange).contextWrite(
             Context.of(MDCContext, MDCContext())
         )
         loggingService.exiting(serverWebExchange.request, serverWebExchange.response)
index 41426d5..e6b9177 100644 (file)
@@ -118,7 +118,7 @@ abstract class BaseBlueprintWebClientService<out E : RestClientProperties> : Blu
          * the difference is in convertToBasicHeaders vs basicHeaders
          */
         val convertedHeaders: Array<BasicHeader> = convertToBasicHeaders(headers)
-        return when (HttpMethod.resolve(methodType)) {
+        return when (HttpMethod.valueOf(methodType)) {
             HttpMethod.DELETE -> delete(path, convertedHeaders, String::class.java)
             HttpMethod.GET -> get(path, convertedHeaders, String::class.java)
             HttpMethod.POST -> post(path, request, convertedHeaders, String::class.java)
@@ -324,7 +324,7 @@ abstract class BaseBlueprintWebClientService<out E : RestClientProperties> : Blu
         // TODO: possible inconsistency
         // NOTE: this basic headers function is different from non-blocking
         val convertedHeaders: Array<BasicHeader> = basicHeaders(additionalHeaders!!)
-        return when (HttpMethod.resolve(methodType)) {
+        return when (HttpMethod.valueOf(methodType)) {
             HttpMethod.GET -> getNB(path, convertedHeaders, responseType)
             HttpMethod.POST -> postNB(path, request, convertedHeaders, responseType)
             HttpMethod.DELETE -> deleteNB(path, convertedHeaders, responseType)
index e865a00..bca9dcc 100644 (file)
@@ -125,7 +125,7 @@ class RestClientServiceTest {
         val restClientService = bluePrintRestLibPropertyService
             .blueprintWebClientService("sample")
         val response = restClientService.exchangeResource(
-            HttpMethod.GET.name, "/sample/query?id=3", ""
+            HttpMethod.GET.name(), "/sample/query?id=3", ""
         )
         assertEquals(
             "query with id:3", response.body,
@@ -138,7 +138,7 @@ class RestClientServiceTest {
         val restClientService = bluePrintRestLibPropertyService
             .blueprintWebClientService("sample")
         val response = restClientService.exchangeResource(
-            HttpMethod.PATCH.name, "/sample/name", ""
+            HttpMethod.PATCH.name(), "/sample/name", ""
         )
         assertEquals(
             "Patch request successful", response.body,
@@ -153,7 +153,7 @@ class RestClientServiceTest {
         val headers = mutableMapOf<String, String>()
         headers["X-Transaction-Id"] = "1234"
         val response = restClientService.exchangeResource(
-            HttpMethod.GET.name,
+            HttpMethod.GET.name(),
             "/sample/name", ""
         )
         assertNotNull(response.body, "failed to get response")
@@ -175,7 +175,7 @@ class RestClientServiceTest {
         runBlocking {
             val get = async(start = CoroutineStart.LAZY) {
                 restClientService.exchangeNB(
-                    HttpMethod.GET.name,
+                    HttpMethod.GET.name(),
                     "/sample/basic", ""
                 ).body
             }
@@ -210,7 +210,7 @@ class RestClientServiceTest {
         runBlocking {
             val get1 = async(start = CoroutineStart.LAZY) {
                 restClientService.exchangeNB(
-                    HttpMethod.GET.name,
+                    HttpMethod.GET.name(),
                     "/sample/aai/v22/business/customers", "", headers,
                     Customer::class.java
                 ).body
@@ -218,7 +218,7 @@ class RestClientServiceTest {
 
             val get2 = async(start = CoroutineStart.LAZY) {
                 restClientService.exchangeNB(
-                    HttpMethod.GET.name,
+                    HttpMethod.GET.name(),
                     "/sample/aai/v22/business/customers", "", headers,
                     Customer::class.java
                 ).body
@@ -226,7 +226,7 @@ class RestClientServiceTest {
 
             val post = async(start = CoroutineStart.LAZY) {
                 restClientService.exchangeNB(
-                    HttpMethod.POST.name,
+                    HttpMethod.POST.name(),
                     "/sample/aai/v22/business/customers", post1, headers,
                     String::class.java
                 ).body
@@ -234,7 +234,7 @@ class RestClientServiceTest {
 
             val put = async(start = CoroutineStart.LAZY) {
                 restClientService.exchangeNB(
-                    HttpMethod.PUT.name,
+                    HttpMethod.PUT.name(),
                     "/sample/aai/v22/business/customers", post1, headers,
                     String::class.java
                 ).body
@@ -242,7 +242,7 @@ class RestClientServiceTest {
 
             val patch = async(start = CoroutineStart.LAZY) {
                 restClientService.exchangeNB(
-                    HttpMethod.PATCH.name,
+                    HttpMethod.PATCH.name(),
                     "/sample/aai/v22/business/customers", post1, headers,
                     String::class.java
                 ).body
@@ -250,7 +250,7 @@ class RestClientServiceTest {
 
             val delete = async(start = CoroutineStart.LAZY) {
                 restClientService.exchangeNB(
-                    HttpMethod.DELETE.name,
+                    HttpMethod.DELETE.name(),
                     "/sample/aai/v22/business/customers", "", headers,
                     String::class.java
                 ).body
@@ -291,7 +291,7 @@ class RestClientServiceTest {
         val headers = mutableMapOf<String, String>()
         headers["X-Transaction-Id"] = "1234"
         val response = restClientService.exchangeResource(
-            HttpMethod.DELETE.name,
+            HttpMethod.DELETE.name(),
             "/sample/name", ""
         )
         assertEquals(response.status, 204)
@@ -306,7 +306,7 @@ class RestClientServiceTest {
         headers["X-Transaction-Id"] = "1234"
         runBlocking {
             val response = restClientService.exchangeNB(
-                HttpMethod.DELETE.name,
+                HttpMethod.DELETE.name(),
                 "/sample/customersWithDefaultConstructor", "", headers, CustomerWithDefaultConstructor::class.java
             )
             assertEquals(response.status, 204)
@@ -322,7 +322,7 @@ class RestClientServiceTest {
         headers["X-Transaction-Id"] = "1234"
         runBlocking {
             val response = restClientService.exchangeNB(
-                HttpMethod.DELETE.name,
+                HttpMethod.DELETE.name(),
                 "/sample/customersWithoutDefaultConstructor", "", headers, CustomerWithoutDefaultConstructor::class.java
             )
             assertEquals(response.status, 204)
index 9e1061d..1fd2682 100644 (file)
@@ -51,7 +51,7 @@
         <dependency>
             <groupId>org.apache.zookeeper</groupId>
             <artifactId>zookeeper</artifactId>
-            <version>3.9.2</version>
+            <version>3.9.3</version>
         </dependency>
         <dependency>
             <groupId>org.scala-lang</groupId>
index bd25ace..061e5eb 100644 (file)
@@ -38,7 +38,7 @@
         <dependency>
             <groupId>org.springframework.security</groupId>
             <artifactId>spring-security-core</artifactId>
-            <version>6.3.0</version>
+            <version>6.4.6</version>
         </dependency>
         <dependency>
             <groupId>org.onap.ccsdk.cds.blueprintsprocessor.modules</groupId>
index 4779ad3..226431d 100644 (file)
@@ -18,8 +18,8 @@ package org.onap.ccsdk.cds.blueprintsprocessor.designer.api.domain
 
 import com.fasterxml.jackson.databind.JsonNode
 import org.onap.ccsdk.cds.controllerblueprints.core.utils.JacksonUtils
-import javax.persistence.AttributeConverter
-import javax.persistence.Converter
+import jakarta.persistence.AttributeConverter
+import jakarta.persistence.Converter
 
 /**
  * @author Brinda Santh
index f0692cd..3c8ab2f 100644 (file)
@@ -18,8 +18,8 @@ package org.onap.ccsdk.cds.blueprintsprocessor.designer.api.domain
 
 import org.onap.ccsdk.cds.controllerblueprints.core.utils.JacksonUtils
 import org.onap.ccsdk.cds.controllerblueprints.resource.dict.ResourceDefinition
-import javax.persistence.AttributeConverter
-import javax.persistence.Converter
+import jakarta.persistence.AttributeConverter
+import jakarta.persistence.Converter
 
 /**
  * @author Brinda Santh
index b00e5a0..42bcebd 100644 (file)
@@ -23,15 +23,15 @@ import org.springframework.data.annotation.LastModifiedDate
 import org.springframework.data.jpa.domain.support.AuditingEntityListener
 import java.io.Serializable
 import java.util.Date
-import javax.persistence.Column
-import javax.persistence.Convert
-import javax.persistence.Entity
-import javax.persistence.EntityListeners
-import javax.persistence.Id
-import javax.persistence.Lob
-import javax.persistence.Table
-import javax.persistence.Temporal
-import javax.persistence.TemporalType
+import jakarta.persistence.Column
+import jakarta.persistence.Convert
+import jakarta.persistence.Entity
+import jakarta.persistence.EntityListeners
+import jakarta.persistence.Id
+import jakarta.persistence.Lob
+import jakarta.persistence.Table
+import jakarta.persistence.Temporal
+import jakarta.persistence.TemporalType
 
 /**
  * Provide ModelType Entity
@@ -59,12 +59,12 @@ class ModelType : Serializable {
 
     @Lob
     @Convert(converter = JpaJsonNodeConverter::class)
-    @Column(name = "definition", nullable = false)
+    @Column(name = "definition", nullable = false, columnDefinition = "LONGTEXT")
     @ApiModelProperty(required = true)
     lateinit var definition: JsonNode
 
     @Lob
-    @Column(name = "description", nullable = false)
+    @Column(name = "description", nullable = false, columnDefinition = "LONGTEXT")
     @ApiModelProperty(required = true)
     lateinit var description: String
 
@@ -72,10 +72,9 @@ class ModelType : Serializable {
     @ApiModelProperty(required = true)
     lateinit var version: String
 
-    @Lob
-    @Column(name = "tags", nullable = false)
+    @Column(name = "tags", nullable = false, columnDefinition = "LONGTEXT")
     @ApiModelProperty(required = true)
-    lateinit var tags: String
+    var tags: String? = null
 
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
     @LastModifiedDate
index 5dac6b5..d349ede 100644 (file)
@@ -24,15 +24,15 @@ import org.springframework.data.annotation.LastModifiedDate
 import org.springframework.data.jpa.domain.support.AuditingEntityListener
 import java.io.Serializable
 import java.util.Date
-import javax.persistence.Column
-import javax.persistence.Convert
-import javax.persistence.Entity
-import javax.persistence.EntityListeners
-import javax.persistence.Id
-import javax.persistence.Lob
-import javax.persistence.Table
-import javax.persistence.Temporal
-import javax.persistence.TemporalType
+import jakarta.persistence.Column
+import jakarta.persistence.Convert
+import jakarta.persistence.Entity
+import jakarta.persistence.EntityListeners
+import jakarta.persistence.Id
+import jakarta.persistence.Lob
+import jakarta.persistence.Table
+import jakarta.persistence.Temporal
+import jakarta.persistence.TemporalType
 
 /**
  * Provide ResourceDictionary Entity
@@ -65,17 +65,16 @@ class ResourceDictionary : Serializable {
 
     @Lob
     @Convert(converter = JpaResourceDefinitionConverter::class)
-    @Column(name = "definition", nullable = false)
+    @Column(name = "definition", nullable = false, columnDefinition = "LONGTEXT")
     @ApiModelProperty(value = "Definition", required = true)
     lateinit var definition: ResourceDefinition
 
     @Lob
-    @Column(name = "description", nullable = false)
+    @Column(name = "description", nullable = false, columnDefinition = "LONGTEXT")
     @ApiModelProperty(value = "Description", required = true, example = "\"demo_artifacts_version\"")
     lateinit var description: String
 
-    @Lob
-    @Column(name = "tags", nullable = false)
+    @Column(name = "tags", nullable = false, columnDefinition = "LONGTEXT")
     @ApiModelProperty(value = "Tags", required = true, example = "\"hostname\"")
     lateinit var tags: String
 
index 80aa6b4..1a6b936 100644 (file)
@@ -41,32 +41,32 @@ open class ModelTypeReactRepository(private val modelTypeRepository: ModelTypeRe
 
     fun findByModelNameIn(modelNames: List<String>): Flux<ModelType> {
         return Flux.fromIterable(modelTypeRepository.findByModelNameIn(modelNames))
-            .subscribeOn(Schedulers.elastic())
+            .subscribeOn(Schedulers.boundedElastic())
     }
 
     fun findByDerivedFrom(derivedFrom: String): Flux<ModelType> {
         return Flux.fromIterable(modelTypeRepository.findByDerivedFrom(derivedFrom))
-            .subscribeOn(Schedulers.elastic())
+            .subscribeOn(Schedulers.boundedElastic())
     }
 
     fun findByDerivedFromIn(derivedFroms: List<String>): Flux<ModelType> {
         return Flux.fromIterable(modelTypeRepository.findByDerivedFromIn(derivedFroms))
-            .subscribeOn(Schedulers.elastic())
+            .subscribeOn(Schedulers.boundedElastic())
     }
 
     fun findByDefinitionType(definitionType: String): Flux<ModelType> {
         return Flux.fromIterable(modelTypeRepository.findByDefinitionType(definitionType))
-            .subscribeOn(Schedulers.elastic())
+            .subscribeOn(Schedulers.boundedElastic())
     }
 
     fun findByDefinitionTypeIn(definitionTypes: List<String>): Flux<ModelType> {
         return Flux.fromIterable(modelTypeRepository.findByDefinitionTypeIn(definitionTypes))
-            .subscribeOn(Schedulers.elastic())
+            .subscribeOn(Schedulers.boundedElastic())
     }
 
     fun findByTagsContainingIgnoreCase(tags: String): Flux<ModelType> {
         return Flux.fromIterable(modelTypeRepository.findByTagsContainingIgnoreCase(tags))
-            .subscribeOn(Schedulers.elastic())
+            .subscribeOn(Schedulers.boundedElastic())
     }
 
     fun deleteByModelName(modelName: String): Mono<Void> {
index 8beea71..827726a 100644 (file)
@@ -19,7 +19,7 @@ package org.onap.ccsdk.cds.blueprintsprocessor.designer.api.repository
 import org.onap.ccsdk.cds.blueprintsprocessor.designer.api.domain.ModelType
 import org.springframework.data.jpa.repository.JpaRepository
 import org.springframework.stereotype.Repository
-import javax.transaction.Transactional
+import jakarta.transaction.Transactional
 
 @Repository
 interface ModelTypeRepository : JpaRepository<ModelType, String> {
index e44e4e8..0ded740 100644 (file)
@@ -20,7 +20,7 @@ import org.onap.ccsdk.cds.blueprintsprocessor.designer.api.domain.ResourceDictio
 import org.springframework.data.jpa.repository.JpaRepository
 import org.springframework.data.jpa.repository.Query
 import org.springframework.stereotype.Repository
-import javax.transaction.Transactional
+import jakarta.transaction.Transactional
 
 /**
  * ResourceMappingRepository.java Purpose: Provide Configuration Generator ResourceMappingRepository
index a42ac05..7e37d4f 100644 (file)
@@ -45,7 +45,7 @@ import org.springframework.test.context.TestPropertySource
 import org.springframework.test.context.junit4.SpringRunner
 import org.springframework.test.web.reactive.server.WebTestClient
 import org.springframework.test.web.reactive.server.returnResult
-import org.springframework.util.Base64Utils
+import java.util.Base64
 import org.springframework.web.reactive.function.BodyInserters
 import java.io.File
 import java.nio.charset.StandardCharsets.UTF_8
@@ -247,7 +247,7 @@ class BlueprintModelControllerTest {
         webTestClient.delete().uri("/api/v1/blueprint-model/name/${bp!!.artifactName}/version/${bp!!.artifactVersion}")
             .header(
                 "Authorization",
-                "Basic " + Base64Utils
+                "Basic " + Base64.getEncoder()
                     .encodeToString(("ccsdkapps" + ":" + "ccsdkapps").toByteArray(UTF_8))
             )
             .exchange()
@@ -263,12 +263,12 @@ class BlueprintModelControllerTest {
         setParam: Boolean
     ) {
 
-        log.info("Requesting($uri): Method(${requestMethod.name})")
+        log.info("Requesting($uri): Method(${requestMethod.name()})")
 
         webTestClient.method(requestMethod).uri(uri)
             .header(
                 "Authorization",
-                "Basic " + Base64Utils
+                "Basic " + Base64.getEncoder()
                     .encodeToString(("ccsdkapps" + ":" + "ccsdkapps").toByteArray(UTF_8))
             )
             .body(body)
index 9f52625..cfee725 100644 (file)
@@ -44,7 +44,7 @@ open class EndPointExecution(
     open fun retrieveWebClientResponse(serviceEndpoint: ServiceEndpoint): WebClientEnpointResponse? {
         try {
             addClientPropertiesConfiguration(serviceEndpoint)
-            val result = basicAuthRestClientService.exchangeResource(HttpMethod.GET.name, "", "")
+            val result = basicAuthRestClientService.exchangeResource(HttpMethod.GET.name(), "", "")
             if (result.status == 200)
                 return WebClientEnpointResponse(result)
         } catch (e: Exception) {
index c02aea3..87b5529 100644 (file)
@@ -44,7 +44,7 @@
         <dependency>
             <groupId>org.springframework.security</groupId>
             <artifactId>spring-security-core</artifactId>
-            <version>6.3.0</version>
+            <version>6.4.6</version>
         </dependency>
         <dependency>
             <groupId>org.onap.ccsdk.cds.blueprintsprocessor.modules</groupId>
@@ -94,6 +94,7 @@
         <dependency>
             <groupId>io.grpc</groupId>
             <artifactId>grpc-testing</artifactId>
+            <version>${grpc.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
index d0a6e15..9c313d0 100644 (file)
@@ -34,7 +34,7 @@
         <dependency>
             <groupId>org.springframework.security</groupId>
             <artifactId>spring-security-core</artifactId>
-            <version>6.3.0</version>
+            <version>6.4.6</version>
         </dependency>
         <dependency>
             <groupId>org.onap.ccsdk.cds.blueprintsprocessor.modules</groupId>
index 2aa17d6..cf72243 100755 (executable)
@@ -63,7 +63,7 @@
         <dependency>
             <groupId>org.springframework.kafka</groupId>
             <artifactId>spring-kafka</artifactId>
-            <version>2.9.13</version>
+            <version>${spring-kafka.version}</version>
             <exclusions>
                 <exclusion>
                     <groupId>org.slf4j</groupId>
@@ -79,7 +79,7 @@
         <dependency>
             <groupId>org.apache.zookeeper</groupId>
             <artifactId>zookeeper</artifactId>
-            <version>3.9.2</version>
+            <version>3.9.3</version>
         </dependency>
         <dependency>
             <groupId>org.scala-lang</groupId>
             <artifactId>spring-kafka-test</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>commons-beanutils</groupId>
+            <artifactId>commons-beanutils</artifactId>
+            <version>1.11.0</version>
+        </dependency>
 
         <!-- Apache Kafka -->
         <dependency>
index ce407bc..a5025ae 100644 (file)
@@ -38,7 +38,7 @@ import org.onap.ccsdk.cds.controllerblueprints.resource.dict.ResourceAssignment
 import org.slf4j.LoggerFactory
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
 import org.springframework.stereotype.Service
-import javax.annotation.PostConstruct
+import jakarta.annotation.PostConstruct
 
 /**
  * Audit service used to produce execution service input and output message
index aea9b7b..c5fcba1 100644 (file)
@@ -20,7 +20,7 @@ import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.ExecutionServiceOutp
 import org.onap.ccsdk.cds.controllerblueprints.core.logger
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
 import org.springframework.stereotype.Service
-import javax.annotation.PostConstruct
+import jakarta.annotation.PostConstruct
 
 /**
  * Default audit service when no audit publisher is defined, message aren't sent
index 0d79368..e9480b3 100644 (file)
@@ -21,7 +21,7 @@ package org.onap.ccsdk.cds.blueprintsprocessor.selfservice.api
 import com.google.protobuf.util.JsonFormat
 import io.grpc.stub.StreamObserver
 import io.grpc.testing.GrpcServerRule
-import io.micrometer.core.instrument.MeterRegistry
+import io.micrometer.core.instrument.simple.SimpleMeterRegistry
 import org.junit.Assert
 import org.junit.Rule
 import org.junit.Test
@@ -34,7 +34,6 @@ import org.onap.ccsdk.cds.controllerblueprints.processing.api.ExecutionServiceIn
 import org.onap.ccsdk.cds.controllerblueprints.processing.api.ExecutionServiceOutput
 import org.slf4j.LoggerFactory
 import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.boot.test.mock.mockito.MockBean
 import org.springframework.test.annotation.DirtiesContext
 import org.springframework.test.context.ContextConfiguration
 import org.springframework.test.context.TestPropertySource
@@ -46,7 +45,7 @@ import kotlin.test.BeforeTest
 @ContextConfiguration(
     classes = [
         SelfServiceApiTestConfiguration::class, TestDatabaseConfiguration::class,
-        ErrorCatalogTestConfiguration::class
+        ErrorCatalogTestConfiguration::class, SimpleMeterRegistry::class,
     ]
 )
 @TestPropertySource(locations = ["classpath:application-test.properties"])
@@ -54,9 +53,6 @@ class BluePrintProcessingGRPCHandlerTest {
 
     private val log = LoggerFactory.getLogger(BluePrintProcessingGRPCHandlerTest::class.java)
 
-    @MockBean
-    lateinit var meterRegistry: MeterRegistry
-
     @get:Rule
     val grpcServerRule = GrpcServerRule().directExecutor()
 
index 9143d73..cd6e5ff 100644 (file)
@@ -18,6 +18,7 @@
 package org.onap.ccsdk.cds.blueprintsprocessor.selfservice.api
 
 import io.micrometer.core.instrument.MeterRegistry
+import io.micrometer.core.instrument.simple.SimpleMeterRegistry
 import io.mockk.coEvery
 import io.mockk.mockk
 import kotlinx.coroutines.delay
@@ -29,7 +30,6 @@ import org.onap.ccsdk.cds.blueprintsprocessor.core.BluePrintPropertyConfiguratio
 import org.onap.ccsdk.cds.blueprintsprocessor.message.BluePrintMessageLibConfiguration
 import org.onap.ccsdk.cds.blueprintsprocessor.message.service.BluePrintMessageLibPropertyService
 import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.boot.test.mock.mockito.MockBean
 import org.springframework.test.context.ContextConfiguration
 import org.springframework.test.context.TestPropertySource
 import org.springframework.test.context.junit4.SpringRunner
@@ -40,13 +40,14 @@ import kotlin.test.assertNotNull
 @ContextConfiguration(
     classes = [
         BluePrintMessageLibConfiguration::class, SelfServiceApiTestConfiguration::class,
-        BluePrintPropertyConfiguration::class, BluePrintPropertiesService::class, ErrorCatalogTestConfiguration::class
+        BluePrintPropertyConfiguration::class, BluePrintPropertiesService::class, ErrorCatalogTestConfiguration::class,
+        SimpleMeterRegistry::class,
     ]
 )
 @TestPropertySource(locations = ["classpath:application-test.properties"])
 class BluePrintProcessingKafkaConsumerTest {
 
-    @MockBean
+    @Autowired
     lateinit var meterRegistry: MeterRegistry
 
     @Autowired
index af3cbd8..d18e238 100644 (file)
@@ -19,10 +19,10 @@ package org.onap.ccsdk.cds.blueprintsprocessor.selfservice.api
 import com.fasterxml.jackson.databind.ObjectMapper
 import com.fasterxml.jackson.databind.node.ObjectNode
 import io.micrometer.core.instrument.MeterRegistry
+import io.micrometer.core.instrument.simple.SimpleMeterRegistry
 import io.mockk.coVerify
 import io.mockk.Runs
 import io.mockk.coEvery
-import io.mockk.coVerify
 import io.mockk.every
 import io.mockk.just
 import io.mockk.mockk
@@ -41,7 +41,6 @@ import org.onap.ccsdk.cds.controllerblueprints.core.jsonAsJsonType
 import org.onap.ccsdk.cds.controllerblueprints.core.service.BluePrintDependencyService
 import org.onap.ccsdk.cds.controllerblueprints.core.utils.JacksonUtils
 import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.boot.test.mock.mockito.MockBean
 import org.springframework.context.ApplicationContext
 import org.springframework.stereotype.Service
 import org.springframework.test.context.ContextConfiguration
@@ -55,13 +54,13 @@ import kotlin.test.assertTrue
 @ContextConfiguration(
     classes = [
         MockServiceAction::class, SelfServiceApiTestConfiguration::class,
-        ErrorCatalogTestConfiguration::class
+        ErrorCatalogTestConfiguration::class, SimpleMeterRegistry::class
     ]
 )
 @TestPropertySource(locations = ["classpath:application-test.properties"])
 class ExecutionServiceHandlerTest {
 
-    @MockBean
+    @Autowired
     lateinit var meterRegistry: MeterRegistry
 
     @Autowired
index 2f56cb9..99b329f 100644 (file)
@@ -34,7 +34,7 @@
         <dependency>
             <groupId>org.springframework.security</groupId>
             <artifactId>spring-security-core</artifactId>
-            <version>6.3.0</version>
+            <version>6.4.6</version>
         </dependency>
         <dependency>
             <groupId>org.onap.ccsdk.cds.blueprintsprocessor.modules</groupId>
index 4b0302c..4c2d96e 100644 (file)
@@ -67,6 +67,7 @@
         <dependency>
             <groupId>io.grpc</groupId>
             <artifactId>grpc-testing</artifactId>
+            <version>${grpc.version}</version>
         </dependency>
     </dependencies>
 </project>
index 2bc1f0f..6a16763 100755 (executable)
         <springfox.swagger2.version>3.0.0</springfox.swagger2.version>
         <eelf.version>1.0.0</eelf.version>
         <onap.logger.slf4j>1.2.2</onap.logger.slf4j>
-        <hazelcast.version>4.2.5</hazelcast.version>
+        <hazelcast.version>5.0-BETA-1</hazelcast.version>
 
         <h2database.version>1.4.197</h2database.version>
         <powermock.version>1.7.4</powermock.version>
         <mockkserver.version>5.13.0</mockkserver.version>
         <json.unit.version>2.8.0</json.unit.version>
         <xmlunit.version>2.6.3</xmlunit.version>
-        <bytebuddy.version>1.14.17</bytebuddy.version>
 
         <sshd.version>2.10.0</sshd.version>
         <jsch.version>0.1.55</jsch.version>
@@ -54,8 +53,8 @@
         <json-patch.version>1.9</json-patch.version>
         <json-smart.version>2.4.9</json-smart.version>
 
-        <commons-io-version>2.8.0</commons-io-version>
-        <commons-compress-version>1.24.0</commons-compress-version>
+        <commons-io-version>2.14.0</commons-io-version>
+        <commons-compress-version>1.26.0</commons-compress-version>
         <commons-collections-version>4.4</commons-collections-version>
     </properties>
 
             <dependency>
                 <groupId>org.jetbrains.kotlin</groupId>
                 <artifactId>kotlin-script-util</artifactId>
-                <version>${kotlin.version}</version>
+                <version>1.8.22</version>
             </dependency>
             <dependency>
                 <groupId>org.jetbrains.kotlin</groupId>
                 <artifactId>kroto-plus-coroutines</artifactId>
                 <version>${kroto-plus.version}</version>
             </dependency>
-            <dependency>
-                <groupId>io.netty</groupId>
-                <artifactId>netty-tcnative-boringssl-static</artifactId>
-                <version>${netty-ssl}</version>
-            </dependency>
 
             <!-- NATS -->
             <dependency>
             <dependency>
                 <groupId>org.springframework.security</groupId>
                 <artifactId>spring-security-core</artifactId>
-                <version>6.3.0</version>
+                <version>6.4.6</version>
             </dependency>
 
             <!-- Adaptors -->
             <dependency>
                 <groupId>org.apache.kafka</groupId>
                 <artifactId>kafka-clients</artifactId>
-                <version>3.8.0</version>
+                <version>3.9.1</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.kafka</groupId>
                         <groupId>net.bytebuddy</groupId>
                         <artifactId>byte-buddy</artifactId>
                     </exclusion>
-                    <exclusion>
-                        <groupId>net.bytebuddy</groupId>
-                        <artifactId>byte-buddy</artifactId>
-                    </exclusion>
                 </exclusions>
             </dependency>
             <dependency>
                         <groupId>net.bytebuddy</groupId>
                         <artifactId>byte-buddy</artifactId>
                     </exclusion>
-                    <exclusion>
-                        <groupId>net.bytebuddy</groupId>
-                        <artifactId>byte-buddy</artifactId>
-                    </exclusion>
                 </exclusions>
             </dependency>
             <dependency>
         <dependency>
             <groupId>commons-io</groupId>
             <artifactId>commons-io</artifactId>
+            <version>2.14.0</version>
         </dependency>
         <dependency>
             <groupId>com.jayway.jsonpath</groupId>
         <dependency>
             <groupId>io.springfox</groupId>
             <artifactId>springfox-boot-starter</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>net.bytebuddy</groupId>
+                    <artifactId>byte-buddy</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.jetbrains.kotlin</groupId>
         <dependency>
             <groupId>org.jetbrains.kotlin</groupId>
             <artifactId>kotlin-script-util</artifactId>
+            <version>1.8.22</version>
         </dependency>
         <dependency>
             <groupId>org.jetbrains.kotlinx</groupId>
             <groupId>io.grpc</groupId>
             <artifactId>grpc-netty</artifactId>
         </dependency>
+        <dependency>
+            <groupId>io.grpc</groupId>
+            <artifactId>grpc-api</artifactId>
+            <version>${grpc.version}</version>
+        </dependency>
         <dependency>
             <groupId>io.grpc</groupId>
             <artifactId>grpc-protobuf</artifactId>
+            <version>${grpc.version}</version>
         </dependency>
         <dependency>
             <groupId>io.grpc</groupId>
             <artifactId>grpc-stub</artifactId>
+            <version>${grpc.version}</version>
         </dependency>
         <dependency>
             <groupId>io.grpc</groupId>
             <artifactId>grpc-netty-shaded</artifactId>
+            <version>${grpc.version}</version>
         </dependency>
         <dependency>
             <groupId>io.grpc</groupId>
             <artifactId>grpc-grpclb</artifactId>
+            <version>${grpc.version}</version>
         </dependency>
         <dependency>
             <groupId>com.google.protobuf</groupId>
         <dependency>
             <groupId>com.google.protobuf</groupId>
             <artifactId>protobuf-java-util</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>io.netty</groupId>
-            <artifactId>netty-tcnative-boringssl-static</artifactId>
+            <version>${protobuff.java.utils.version}</version>
         </dependency>
         <!-- javax.annotations Needed for Java 11 migration-->
         <dependency>
-            <groupId>javax.annotation</groupId>
-            <artifactId>javax.annotation-api</artifactId>
-            <version>${javax-annotation.version}</version>
+            <groupId>jakarta.annotation</groupId>
+            <artifactId>jakarta.annotation-api</artifactId>
+            <version>${jakarta-annotation.version}</version>
         </dependency>
         <dependency>
             <groupId>org.onap.ccsdk.cds.error.catalog</groupId>
index f4a4009..e977911 100644 (file)
@@ -47,8 +47,8 @@
             <artifactId>commons-lang3</artifactId>
         </dependency>
         <dependency>
-            <groupId>javax.persistence</groupId>
-            <artifactId>javax.persistence-api</artifactId>
+            <groupId>jakarta.persistence</groupId>
+            <artifactId>jakarta.persistence-api</artifactId>
         </dependency>
     </dependencies>
 </project>
index 59859a0..f6ab506 100644 (file)
             <artifactId>junit-vintage-engine</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>net.bytebuddy</groupId>
+            <artifactId>byte-buddy</artifactId>
+            <version>${bytebuddy.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>net.bytebuddy</groupId>
+            <artifactId>byte-buddy-agent</artifactId>
+            <version>${bytebuddy.version}</version>
+        </dependency>
     </dependencies>
 
     <build>
index c3fef94..125574b 100644 (file)
@@ -65,6 +65,7 @@
         <dependency>
             <groupId>org.jetbrains.kotlin</groupId>
             <artifactId>kotlin-script-util</artifactId>
+            <version>1.8.22</version>
         </dependency>
         <!-- Kotlin Dependencies -->
         <dependency>
index 298daa6..6538859 100644 (file)
@@ -28,8 +28,7 @@ import org.onap.ccsdk.cds.error.catalog.core.HttpErrorCodes
 import org.onap.ccsdk.cds.error.catalog.core.utils.ErrorCatalogUtils
 import org.springframework.boot.autoconfigure.condition.ConditionalOnBean
 import org.springframework.stereotype.Service
-import javax.annotation.PostConstruct
-
+import jakarta.annotation.PostConstruct
 @Service
 @ConditionalOnBean(ErrorCatalogLoadService::class)
 open class ErrorCatalogService(private var errorCatalogLoadService: ErrorCatalogLoadService) {
index 7216c05..b0e836b 100755 (executable)
@@ -18,17 +18,17 @@ package org.onap.ccsdk.cds.error.catalog.services.domain
 
 import java.io.Serializable
 import java.util.UUID
-import javax.persistence.CascadeType
-import javax.persistence.Column
-import javax.persistence.Entity
-import javax.persistence.FetchType
-import javax.persistence.Id
-import javax.persistence.JoinColumn
-import javax.persistence.JoinTable
-import javax.persistence.Lob
-import javax.persistence.ManyToMany
-import javax.persistence.Table
-import javax.persistence.UniqueConstraint
+import jakarta.persistence.CascadeType
+import jakarta.persistence.Column
+import jakarta.persistence.Entity
+import jakarta.persistence.FetchType
+import jakarta.persistence.Id
+import jakarta.persistence.JoinColumn
+import jakarta.persistence.JoinTable
+import jakarta.persistence.Lob
+import jakarta.persistence.ManyToMany
+import jakarta.persistence.Table
+import jakarta.persistence.UniqueConstraint
 
 /**
  *  Provide ErrorCode Entity
@@ -51,7 +51,7 @@ class Domain : Serializable {
     lateinit var applicationId: String
 
     @Lob
-    @Column(name = "description")
+    @Column(name = "description", columnDefinition = "LONGTEXT")
     var description: String = ""
 
     @ManyToMany(fetch = FetchType.EAGER, cascade = [CascadeType.ALL])
index f2556e6..2f7f105 100644 (file)
@@ -18,15 +18,15 @@ package org.onap.ccsdk.cds.error.catalog.services.domain
 
 import java.io.Serializable
 import java.util.UUID
-import javax.persistence.CascadeType
-import javax.persistence.Column
-import javax.persistence.Entity
-import javax.persistence.FetchType
-import javax.persistence.Id
-import javax.persistence.Lob
-import javax.persistence.ManyToMany
-import javax.persistence.Table
-import javax.persistence.UniqueConstraint
+import jakarta.persistence.CascadeType
+import jakarta.persistence.Column
+import jakarta.persistence.Entity
+import jakarta.persistence.FetchType
+import jakarta.persistence.Id
+import jakarta.persistence.Lob
+import jakarta.persistence.ManyToMany
+import jakarta.persistence.Table
+import jakarta.persistence.UniqueConstraint
 
 /**
  * Provide Error Message Model Entity
@@ -45,11 +45,11 @@ class ErrorMessageModel : Serializable {
     lateinit var messageID: String
 
     @Lob
-    @Column(name = "cause")
+    @Column(name = "cause", columnDefinition = "LONGTEXT")
     var cause: String = ""
 
     @Lob
-    @Column(name = "action")
+    @Column(name = "action", columnDefinition = "LONGTEXT")
     lateinit var action: String
 
     @ManyToMany(mappedBy = "errorMessages", fetch = FetchType.EAGER, cascade = [CascadeType.PERSIST])
index 858bae8..a197d7e 100644 (file)
@@ -48,7 +48,7 @@
         <dependency>
            <groupId>org.springframework.kafka</groupId>
            <artifactId>spring-kafka</artifactId>
-           <version>2.9.13</version>
+           <version>${spring-kafka.version}</version>
         </dependency>
      </dependencies>
 
index 2a7bccb..a6224ca 100644 (file)
@@ -31,7 +31,7 @@
     <name>MS SDC Listener - Application</name>
 
     <properties>
-        <protobuf.version>3.6.1</protobuf.version>
+        <protobuf.version>3.25.8</protobuf.version>
         <project.version>${project.parent.version}</project.version>
     </properties>
 
         <dependency>
             <groupId>io.grpc</groupId>
             <artifactId>grpc-netty</artifactId>
+            <version>${grpc.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>io.grpc</groupId>
+            <artifactId>grpc-api</artifactId>
+            <version>${grpc.version}</version>
         </dependency>
         <dependency>
             <groupId>io.grpc</groupId>
             <artifactId>grpc-protobuf</artifactId>
+            <version>${grpc.version}</version>
         </dependency>
         <dependency>
             <groupId>io.grpc</groupId>
             <artifactId>grpc-stub</artifactId>
+            <version>${grpc.version}</version>
         </dependency>
         <dependency>
             <groupId>io.grpc</groupId>
             <artifactId>grpc-netty-shaded</artifactId>
+            <version>${grpc.version}</version>
         </dependency>
         <dependency>
             <groupId>io.grpc</groupId>
             <artifactId>grpc-grpclb</artifactId>
+            <version>${grpc.version}</version>
         </dependency>
         <dependency>
             <groupId>com.google.protobuf</groupId>
             <artifactId>protobuf-java</artifactId>
+            <version>3.25.8</version>
         </dependency>
         <dependency>
             <groupId>com.google.protobuf</groupId>
             <artifactId>protobuf-java-util</artifactId>
+            <version>3.25.8</version>
         </dependency>
         <dependency>
             <groupId>io.grpc</groupId>
             <artifactId>grpc-testing</artifactId>
+            <version>${grpc.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
         </dependency>
         <dependency>
             <groupId>ch.qos.logback</groupId>
-            <artifactId>logback-classic</artifactId>
-            <version>1.2.13</version>
+            <artifactId>logback-core</artifactId>
+            <version>1.5.18</version>
+        </dependency>
+        <dependency>
+            <groupId>net.logstash.logback</groupId>
+            <artifactId>logstash-logback-encoder</artifactId>
+            <version>7.4</version>
         </dependency>
         <dependency>
             <groupId>com.github.stefanbirkner</groupId>
index bcfc70d..1c5af78 100755 (executable)
             <dependency>
                 <groupId>commons-io</groupId>
                 <artifactId>commons-io</artifactId>
-                <version>2.6</version>
+                <version>2.14.0</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.commons</groupId>
                 <artifactId>commons-compress</artifactId>
-                <version>1.24.0</version>
+                <version>1.26.0</version>
             </dependency>
             <dependency>
                 <groupId>org.springframework.security</groupId>
                 <artifactId>spring-security-core</artifactId>
-                <version>6.3.0</version>
+                <version>6.4.6</version>
             </dependency>
             <dependency>
                 <groupId>com.google.guava</groupId>
                 <artifactId>grpc-netty</artifactId>
                 <version>${grpc.version}</version>
             </dependency>
+            <dependency>
+                <groupId>io.grpc</groupId>
+                <artifactId>grpc-api</artifactId>
+                <version>${grpc.version}</version>
+            </dependency>
             <dependency>
                 <groupId>io.grpc</groupId>
                 <artifactId>grpc-protobuf</artifactId>
             <dependency>
                 <groupId>org.apache.kafka</groupId>
                 <artifactId>kafka-clients</artifactId>
-                <version>3.8.0</version>
+                <version>3.9.1</version>
             </dependency>
             <dependency>
                 <groupId>org.json</groupId>
             <dependency>
                 <groupId>org.springframework.kafka</groupId>
                 <artifactId>spring-kafka</artifactId>
-                <version>2.9.13</version>
+                <version>${spring-kafka.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.commons</groupId>
index 2d11e03..5dcdc49 100644 (file)
         <service.name>sdclistener</service.name>
 
     </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>net.bytebuddy</groupId>
+            <artifactId>byte-buddy</artifactId>
+            <version>${bytebuddy.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>net.bytebuddy</groupId>
+            <artifactId>byte-buddy-agent</artifactId>
+            <version>${bytebuddy.version}</version>
+        </dependency>
+    </dependencies>
 </project>
diff --git a/pom.xml b/pom.xml
index 78a6c55..51c78f0 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -22,7 +22,7 @@ limitations under the License.
 
     <parent>
         <groupId>org.onap.ccsdk.parent</groupId>
-        <artifactId>spring-boot-27-jdk-17-starter-parent</artifactId>
+        <artifactId>spring-boot-35-starter-parent</artifactId>
         <version>3.2.0</version>
         <relativePath/>
     </parent>
@@ -77,16 +77,17 @@ limitations under the License.
         <ccsdk.sli.version>1.5.2</ccsdk.sli.version>
         <ccsdk.cds.version>${project.version}</ccsdk.cds.version>
 
-        <kotlin.version>1.7.0</kotlin.version>
-        <kotlin.maven.version>1.7.0</kotlin.maven.version>
-        <kotlin.couroutines.version>1.7.0</kotlin.couroutines.version>
+        <kotlin.version>1.9.0</kotlin.version>
+        <kotlin.maven.version>1.9.0</kotlin.maven.version>
+        <kotlin.couroutines.version>1.9.0</kotlin.couroutines.version>
         <kotlinpoet.version>1.11.0</kotlinpoet.version>
         <apache.httpcomponents.client.version>4.5.14</apache.httpcomponents.client.version>
 
+        <bytebuddy.version>1.14.17</bytebuddy.version>
         <grpc.version>1.29.0</grpc.version>
-        <netty-ssl>2.0.66.Final</netty-ssl>
-        <protobuff.java.version>3.21.7</protobuff.java.version>
-        <protobuff.java.utils.version>3.21.7</protobuff.java.utils.version>
+        <netty-ssl>2.0.70.Final</netty-ssl>
+        <protobuff.java.version>3.25.8</protobuff.java.version>
+        <protobuff.java.utils.version>3.25.8</protobuff.java.utils.version>
         <mockk.version>1.13.12</mockk.version>
 
     </properties>
@@ -94,8 +95,13 @@ limitations under the License.
     <dependencies>
         <dependency>
             <groupId>ch.qos.logback</groupId>
-            <artifactId>logback-classic</artifactId>
-            <version>1.2.13</version>
+            <artifactId>logback-core</artifactId>
+            <version>1.5.18</version>
+        </dependency>
+        <dependency>
+            <groupId>net.logstash.logback</groupId>
+            <artifactId>logstash-logback-encoder</artifactId>
+            <version>7.4</version>
         </dependency>
         <dependency>
             <groupId>com.squareup.okio</groupId>
@@ -115,7 +121,7 @@ limitations under the License.
         <dependency>
             <groupId>org.apache.kafka</groupId>
             <artifactId>kafka-clients</artifactId>
-            <version>3.8.0</version>
+            <version>3.9.1</version>
         </dependency>
         <dependency>
             <groupId>org.jsoup</groupId>