summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorniamhcore <niamh.core@est.tech>2021-10-19 11:07:02 +0100
committerniamhcore <niamh.core@est.tech>2021-10-20 11:46:21 +0100
commit66017b4b6f910579d13f0a45ef7c587e86f325fd (patch)
treec959cabc3755465c17890e7327b67ab27601ff30
parent46de0fbcdd71324353cf9adf824060a57bc5d642 (diff)
Add get cm handles by modules to open api
Issue-ID: CPS-644 Signed-off-by: niamhcore <niamh.core@est.tech> Change-Id: I228782027cafcf59843ff4b8de1dd5ea3988ddba
-rw-r--r--cps-ncmp-rest/docs/openapi/components.yaml47
-rwxr-xr-xcps-ncmp-rest/docs/openapi/ncmp.yml29
-rwxr-xr-xcps-ncmp-rest/docs/openapi/openapi.yml5
-rwxr-xr-xcps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyController.java7
4 files changed, 86 insertions, 2 deletions
diff --git a/cps-ncmp-rest/docs/openapi/components.yaml b/cps-ncmp-rest/docs/openapi/components.yaml
index d35919da4b..1f55ce1998 100644
--- a/cps-ncmp-rest/docs/openapi/components.yaml
+++ b/cps-ncmp-rest/docs/openapi/components.yaml
@@ -19,6 +19,7 @@
components:
schemas:
+ # Common Schemas
ErrorMessage:
type: object
title: Error
@@ -30,6 +31,7 @@ components:
details:
type: string
+ # Request Schemas
RestDmiPluginRegistration:
type: object
properties:
@@ -65,6 +67,51 @@ components:
type: string
example: system-001
+ Conditions:
+ type: object
+ properties:
+ conditions:
+ $ref: '#/components/schemas/ConditionsData'
+ ConditionsData:
+ type: array
+ items:
+ type: object
+ $ref: '#/components/schemas/ConditionProperties'
+ ConditionProperties:
+ properties:
+ name:
+ type: string
+ example: hasAllModules
+ conditionParameters:
+ $ref: '#/components/schemas/ConditionParameters'
+ ConditionParameters:
+ type: array
+ items:
+ type: object
+ $ref: '#/components/schemas/ConditionParameter'
+ ConditionParameter:
+ properties:
+ moduleName:
+ type: string
+ example: someModuleName
+
+ #Response Schemas
+ CmHandles:
+ type: object
+ properties:
+ cmHandles:
+ $ref: '#/components/schemas/CmHandleProperties'
+ CmHandleProperties:
+ type: array
+ items:
+ type: object
+ $ref: '#/components/schemas/CmHandleProperty'
+ CmHandleProperty:
+ properties:
+ cmHandleId:
+ type: string
+ example: someCmHandleId
+
parameters:
cmHandleInPath:
name: cm-handle
diff --git a/cps-ncmp-rest/docs/openapi/ncmp.yml b/cps-ncmp-rest/docs/openapi/ncmp.yml
index 52245c3cc0..9e3560a2fa 100755
--- a/cps-ncmp-rest/docs/openapi/ncmp.yml
+++ b/cps-ncmp-rest/docs/openapi/ncmp.yml
@@ -283,4 +283,31 @@ fetchModuleReferencesByCmHandle:
403:
$ref: 'components.yaml#/components/responses/Forbidden'
404:
- $ref: 'components.yaml#/components/responses/NotFound' \ No newline at end of file
+ $ref: 'components.yaml#/components/responses/NotFound'
+
+executeCmHandleSearch:
+ post:
+ description: Execute cm handle searches using 'hasAllModules' condition to get all cm handles for the given module names
+ tags:
+ - network-cm-proxy
+ summary: Execute cm handle search using the available conditions
+ operationId: executeCmHandleSearch
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ $ref: 'components.yaml#/components/schemas/Conditions'
+ responses:
+ 200:
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: 'components.yaml#/components/schemas/CmHandles'
+ 400:
+ $ref: 'components.yaml#/components/responses/BadRequest'
+ 401:
+ $ref: 'components.yaml#/components/responses/Unauthorized'
+ 403:
+ $ref: 'components.yaml#/components/responses/Forbidden' \ No newline at end of file
diff --git a/cps-ncmp-rest/docs/openapi/openapi.yml b/cps-ncmp-rest/docs/openapi/openapi.yml
index 69c2a117d6..64a74c5933 100755
--- a/cps-ncmp-rest/docs/openapi/openapi.yml
+++ b/cps-ncmp-rest/docs/openapi/openapi.yml
@@ -45,4 +45,7 @@ paths:
$ref: 'ncmp.yml#/resourceDataForPassthroughRunning'
/v1/ch/{cm-handle}/modules:
- $ref: 'ncmp.yml#/fetchModuleReferencesByCmHandle' \ No newline at end of file
+ $ref: 'ncmp.yml#/fetchModuleReferencesByCmHandle'
+
+ /v1/ch/searches:
+ $ref: 'ncmp.yml#/executeCmHandleSearch' \ No newline at end of file
diff --git a/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyController.java b/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyController.java
index 9b15a7890d..14f33d1e24 100755
--- a/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyController.java
+++ b/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyController.java
@@ -29,6 +29,8 @@ import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import org.onap.cps.ncmp.api.NetworkCmProxyDataService;
import org.onap.cps.ncmp.rest.api.NetworkCmProxyApi;
+import org.onap.cps.ncmp.rest.model.CmHandles;
+import org.onap.cps.ncmp.rest.model.Conditions;
import org.onap.cps.spi.FetchDescendantsOption;
import org.onap.cps.spi.model.DataNode;
import org.onap.cps.spi.model.ModuleReference;
@@ -194,6 +196,11 @@ public class NetworkCmProxyController implements NetworkCmProxyApi {
}
@Override
+ public ResponseEntity<CmHandles> executeCmHandleSearch(final Conditions conditions) {
+ return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
+ }
+
+ @Override
public ResponseEntity<Object> getModuleReferencesByCmHandle(final String cmHandle) {
final Collection<ModuleReference>
moduleReferences = networkCmProxyDataService.getYangResourcesModuleReferences(cmHandle);