From: tragait Date: Tue, 30 Mar 2021 11:02:27 +0000 (+0100) Subject: rename nf-proxy to network-cm-proxy X-Git-Tag: 1.1.0~94^2 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=34a94b92edd0c359291445735eb3d7e974deea1f;p=cps.git rename nf-proxy to network-cm-proxy This commit renames two modules cps-nf-proxy-rest and cps-nf-proxy-service to cps-ncmp-rest, cps-ncmp-service. Docker image names are also changed respectively. Swagger auto generated api files are also modified. Signed-off-by: tragait Issue-ID: CPS-315 Change-Id: Ic2a2f8c4bafe8cffa3c83ccb52499720aaba1415 --- diff --git a/cps-application/pom.xml b/cps-application/pom.xml index fa4b5ef4ad..64921f633b 100755 --- a/cps-application/pom.xml +++ b/cps-application/pom.xml @@ -3,6 +3,7 @@ ============LICENSE_START======================================================= Copyright (c) 2021 Pantheon.tech. Modifications Copyright (C) 2021 Bell Canada. + Modification Copyright (C) 2021 Nordix Foundation ================================================================================ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -185,19 +186,20 @@ - xnf-docker + ncmp-docker false - cps-nf-proxy + cps-ncmp ${project.groupId} - cps-nf-proxy-rest + cps-ncmp-rest + ${project.version} ${project.groupId} @@ -214,13 +216,13 @@ - cps-xnf-docker + cps-ncmp-docker true - cps-and-nf-proxy + cps-and-ncmp @@ -230,7 +232,8 @@ ${project.groupId} - cps-nf-proxy-rest + cps-ncmp-rest + ${project.version} ${project.groupId} diff --git a/cps-bom/pom.xml b/cps-bom/pom.xml index ebd18d9d71..12961b8fd2 100644 --- a/cps-bom/pom.xml +++ b/cps-bom/pom.xml @@ -1,4 +1,22 @@ + + @@ -44,12 +62,12 @@ ${project.groupId} - cps-nf-proxy-service + cps-ncmp-service ${project.version} ${project.groupId} - cps-nf-proxy-rest + cps-ncmp-rest ${project.version} diff --git a/cps-nf-proxy-rest/docs/openapi/components.yaml b/cps-ncmp-rest/docs/openapi/components.yaml similarity index 71% rename from cps-nf-proxy-rest/docs/openapi/components.yaml rename to cps-ncmp-rest/docs/openapi/components.yaml index af95723cb7..69c37ad7a7 100644 --- a/cps-nf-proxy-rest/docs/openapi/components.yaml +++ b/cps-ncmp-rest/docs/openapi/components.yaml @@ -1,3 +1,20 @@ +# ============LICENSE_START======================================================= +# Modification (C) 2021 Nordix Foundation +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= + components: schemas: ErrorMessage: @@ -23,7 +40,7 @@ components: cmHandleInPath: name: cm-handle in: path - description: The identifier for a network function, network element, subnetwork or any other cm object by managed NF-Proxy + description: The identifier for a network function, network element, subnetwork or any other cm object by managed Network CM Proxy required: true schema: type: string diff --git a/cps-nf-proxy-rest/docs/openapi/xnfProxy.yml b/cps-ncmp-rest/docs/openapi/ncmproxy.yml similarity index 76% rename from cps-nf-proxy-rest/docs/openapi/xnfProxy.yml rename to cps-ncmp-rest/docs/openapi/ncmproxy.yml index 141e472582..2a70d70a6d 100644 --- a/cps-nf-proxy-rest/docs/openapi/xnfProxy.yml +++ b/cps-ncmp-rest/docs/openapi/ncmproxy.yml @@ -1,8 +1,25 @@ +# ============LICENSE_START======================================================= +# Modification (C) 2021 Nordix Foundation +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= + nodeByCmHandleAndXpath: get: description: Get a node with an option to retrieve all the children for a given cm Handle tags: - - nf-proxy + - network-cm-proxy summary: Get a node given a cm Handle and xpath operationId: getNodeByCmHandleAndXpath parameters: @@ -27,7 +44,7 @@ nodesByCmHandleAndCpsPath: get: description: Query nodes for the given cps path and cm Handle tags: - - nf-proxy + - network-cm-proxy summary: Query data nodes operationId: queryNodesByCmHandleAndCpsPath parameters: @@ -50,7 +67,7 @@ nodesByCmHandleAndXpath: patch: description: Update node leaves for the given cps path and cm Handle tags: - - nf-proxy + - network-cm-proxy summary: Update node leaves operationId: updateNodeLeaves parameters: @@ -77,7 +94,7 @@ nodesByCmHandleAndXpath: put: description: Replace a node with descendants for the given cps path and cm Handle tags: - - nf-proxy + - network-cm-proxy summary: Replace a node with descendants operationId: replaceNode parameters: diff --git a/cps-ncmp-rest/docs/openapi/openapi.yml b/cps-ncmp-rest/docs/openapi/openapi.yml new file mode 100755 index 0000000000..7575022f83 --- /dev/null +++ b/cps-ncmp-rest/docs/openapi/openapi.yml @@ -0,0 +1,33 @@ +# ============LICENSE_START======================================================= +# Modification (C) 2021 Nordix Foundation +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= + +openapi: 3.0.1 +info: + title: NCMP to CPS Proxy API + description: NCMP to CPS Proxy API + version: "1.0" +servers: + - url: //localhost:8088/ +paths: + /v1/cm-handles/{cm-handle}/node: + $ref: 'ncmproxy.yml#/nodeByCmHandleAndXpath' + + /v1/cm-handles/{cm-handle}/nodes/query: + $ref: 'ncmproxy.yml#/nodesByCmHandleAndCpsPath' + + /v1/cm-handles/{cm-handle}/nodes: + $ref: 'ncmproxy.yml#/nodesByCmHandleAndXpath' \ No newline at end of file diff --git a/cps-ncmp-rest/pom.xml b/cps-ncmp-rest/pom.xml new file mode 100644 index 0000000000..3abeb7d1f1 --- /dev/null +++ b/cps-ncmp-rest/pom.xml @@ -0,0 +1,136 @@ + + + +4.0.0 + + org.onap.cps + cps-parent + 1.1.0-SNAPSHOT + ../cps-parent/pom.xml + + +cps-ncmp-rest + + + 0.0 + + + + + ${project.groupId} + cps-ncmp-service + ${project.version} + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + org.springframework.boot + spring-boot-starter-jetty + + + io.swagger.core.v3 + swagger-annotations + + + io.springfox + springfox-boot-starter + + + io.swagger + swagger-annotations + + + + org.codehaus.groovy + groovy + test + + + org.spockframework + spock-core + test + + + org.spockframework + spock-spring + test + + + cglib + cglib-nodep + test + + + org.springframework.boot + spring-boot-starter-test + test + + + org.junit.vintage + junit-vintage-engine + + + + + com.google.code.gson + gson + + + + + + + + io.swagger.codegen.v3 + swagger-codegen-maven-plugin + + + + generate + + + ${project.basedir}/docs/openapi/openapi.yml + org.onap.cps.ncmp.rest.controller + org.onap.cps.ncmp.rest.model + org.onap.cps.ncmp.rest.api + spring + false + + src/gen/java + java11 + true + true + + + + + + + + diff --git a/cps-nf-proxy-rest/src/main/java/org/onap/cps/nfproxy/config/NfProxyConfig.java b/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/config/NetworkCmProxyConfig.java similarity index 89% rename from cps-nf-proxy-rest/src/main/java/org/onap/cps/nfproxy/config/NfProxyConfig.java rename to cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/config/NetworkCmProxyConfig.java index defe0f19c8..300765d425 100644 --- a/cps-nf-proxy-rest/src/main/java/org/onap/cps/nfproxy/config/NfProxyConfig.java +++ b/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/config/NetworkCmProxyConfig.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2021 Pantheon.tech + * Modifications (C) 2021 Nordix Foundation * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,7 +19,7 @@ * ============LICENSE_END========================================================= */ -package org.onap.cps.nfproxy.config; +package org.onap.cps.ncmp.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -28,15 +29,15 @@ import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; @Configuration -public class NfProxyConfig { +public class NetworkCmProxyConfig { /** * Swagger-ui configuration. */ - @Bean("nf-proxy-docket") + @Bean("ncmp-docket") public Docket api() { return new Docket(DocumentationType.OAS_30) - .groupName("nf-proxy-docket") + .groupName("ncmp-docket") .select() .apis(RequestHandlerSelectors.any()) .paths(PathSelectors.any()) diff --git a/cps-nf-proxy-rest/src/main/java/org/onap/cps/nfproxy/rest/controller/NfProxyController.java b/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyController.java similarity index 81% rename from cps-nf-proxy-rest/src/main/java/org/onap/cps/nfproxy/rest/controller/NfProxyController.java rename to cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyController.java index 680ca127b8..acbbdd9399 100644 --- a/cps-nf-proxy-rest/src/main/java/org/onap/cps/nfproxy/rest/controller/NfProxyController.java +++ b/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyController.java @@ -19,14 +19,14 @@ * ============LICENSE_END========================================================= */ -package org.onap.cps.nfproxy.rest.controller; +package org.onap.cps.ncmp.rest.controller; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import java.util.Collection; import javax.validation.Valid; -import org.onap.cps.nfproxy.api.NfProxyDataService; -import org.onap.cps.nfproxy.rest.api.NfProxyApi; +import org.onap.cps.ncmp.api.NetworkCmProxyDataService; +import org.onap.cps.ncmp.rest.api.NetworkCmProxyApi; import org.onap.cps.spi.FetchDescendantsOption; import org.onap.cps.spi.model.DataNode; import org.onap.cps.utils.DataMapUtils; @@ -38,14 +38,14 @@ import org.springframework.web.bind.annotation.RestController; @RestController -@RequestMapping("${rest.api.xnf-base-path}") -public class NfProxyController implements NfProxyApi { +@RequestMapping("${rest.api.ncmp-base-path}") +public class NetworkCmProxyController implements NetworkCmProxyApi { private static final Gson GSON = new GsonBuilder().create(); private static final String XPATH_ROOT = "/"; @Autowired - private NfProxyDataService nfProxyDataService; + private NetworkCmProxyDataService networkCmProxyDataService; @Override public ResponseEntity getNodeByCmHandleAndXpath(final String cmHandle, @Valid final String xpath, @@ -55,7 +55,7 @@ public class NfProxyController implements NfProxyApi { } final FetchDescendantsOption fetchDescendantsOption = Boolean.TRUE.equals(includeDescendants) ? FetchDescendantsOption.INCLUDE_ALL_DESCENDANTS : FetchDescendantsOption.OMIT_DESCENDANTS; - final DataNode dataNode = nfProxyDataService.getDataNode(cmHandle, xpath, fetchDescendantsOption); + final DataNode dataNode = networkCmProxyDataService.getDataNode(cmHandle, xpath, fetchDescendantsOption); return new ResponseEntity<>(DataMapUtils.toDataMap(dataNode), HttpStatus.OK); } @@ -65,21 +65,21 @@ public class NfProxyController implements NfProxyApi { final FetchDescendantsOption fetchDescendantsOption = Boolean.TRUE.equals(includeDescendants) ? FetchDescendantsOption.INCLUDE_ALL_DESCENDANTS : FetchDescendantsOption.OMIT_DESCENDANTS; final Collection dataNodes = - nfProxyDataService.queryDataNodes(cmHandle, cpsPath, fetchDescendantsOption); + networkCmProxyDataService.queryDataNodes(cmHandle, cpsPath, fetchDescendantsOption); return new ResponseEntity<>(GSON.toJson(dataNodes), HttpStatus.OK); } @Override public ResponseEntity replaceNode(@Valid final String jsonData, final String cmHandle, @Valid final String parentNodeXpath) { - nfProxyDataService.replaceNodeTree(cmHandle, parentNodeXpath, jsonData); + networkCmProxyDataService.replaceNodeTree(cmHandle, parentNodeXpath, jsonData); return new ResponseEntity<>(HttpStatus.OK); } @Override public ResponseEntity updateNodeLeaves(@Valid final String jsonData, final String cmHandle, @Valid final String parentNodeXpath) { - nfProxyDataService.updateNodeLeaves(cmHandle, parentNodeXpath, jsonData); + networkCmProxyDataService.updateNodeLeaves(cmHandle, parentNodeXpath, jsonData); return new ResponseEntity<>(HttpStatus.OK); } } diff --git a/cps-nf-proxy-rest/src/main/java/org/onap/cps/nfproxy/rest/exceptions/NfProxyRestExceptionHandler.java b/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/exceptions/NetworkCmProxyRestExceptionHandler.java similarity index 90% rename from cps-nf-proxy-rest/src/main/java/org/onap/cps/nfproxy/rest/exceptions/NfProxyRestExceptionHandler.java rename to cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/exceptions/NetworkCmProxyRestExceptionHandler.java index ac35e9a1f0..bb922e781b 100755 --- a/cps-nf-proxy-rest/src/main/java/org/onap/cps/nfproxy/rest/exceptions/NfProxyRestExceptionHandler.java +++ b/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/exceptions/NetworkCmProxyRestExceptionHandler.java @@ -17,13 +17,13 @@ * ============LICENSE_END========================================================= */ -package org.onap.cps.nfproxy.rest.exceptions; +package org.onap.cps.ncmp.rest.exceptions; import lombok.AccessLevel; import lombok.NoArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.onap.cps.nfproxy.rest.controller.NfProxyController; -import org.onap.cps.nfproxy.rest.model.ErrorMessage; +import org.onap.cps.ncmp.rest.controller.NetworkCmProxyController; +import org.onap.cps.ncmp.rest.model.ErrorMessage; import org.onap.cps.spi.exceptions.CpsException; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -35,8 +35,8 @@ import org.springframework.web.bind.annotation.RestControllerAdvice; */ @Slf4j @NoArgsConstructor(access = AccessLevel.PRIVATE) -@RestControllerAdvice(assignableTypes = {NfProxyController.class}) -public class NfProxyRestExceptionHandler { +@RestControllerAdvice(assignableTypes = {NetworkCmProxyController.class}) +public class NetworkCmProxyRestExceptionHandler { private static final String CHECK_LOGS_FOR_DETAILS = "Check logs for details."; diff --git a/cps-nf-proxy-rest/src/main/resources/openapi-configuration.json b/cps-ncmp-rest/src/main/resources/openapi-configuration.json similarity index 87% rename from cps-nf-proxy-rest/src/main/resources/openapi-configuration.json rename to cps-ncmp-rest/src/main/resources/openapi-configuration.json index efc2f9778a..5736c3d9b7 100644 --- a/cps-nf-proxy-rest/src/main/resources/openapi-configuration.json +++ b/cps-ncmp-rest/src/main/resources/openapi-configuration.json @@ -1,12 +1,12 @@ { "resourcePackages": [ - "org.onap.cps.nfproxy.rest.controller" + "org.onap.cps.ncmp.rest.controller" ], "prettyPrint": true, "cacheTTL": 0, "openAPI": { "info": { - "title": "ONAP Open API v3 CPS xNF Proxy Spec", + "title": "ONAP Open API v3 CPS Network CM Proxy Spec", "description": "The API Description may be multiline, and GitHub Flavored Markdown, GFM syntax, can be used for rich text representation.", "x-logo": { "url": "logo.png" diff --git a/cps-nf-proxy-rest/src/test/groovy/org/onap/cps/nfproxy/config/NfProxyConfigSpec.groovy b/cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/config/NetworkCmProxyConfigSpec.groovy similarity index 76% rename from cps-nf-proxy-rest/src/test/groovy/org/onap/cps/nfproxy/config/NfProxyConfigSpec.groovy rename to cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/config/NetworkCmProxyConfigSpec.groovy index da021218d2..4b0e2561e5 100644 --- a/cps-nf-proxy-rest/src/test/groovy/org/onap/cps/nfproxy/config/NfProxyConfigSpec.groovy +++ b/cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/config/NetworkCmProxyConfigSpec.groovy @@ -1,6 +1,7 @@ /* * ============LICENSE_START======================================================= * Copyright (C) 2021 highstreet technologies GmbH + * Modification Copyright (C) 2021 Nordix Foundation * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,16 +18,16 @@ * ============LICENSE_END========================================================= */ -package org.onap.cps.nfproxy.config +package org.onap.cps.ncmp.config import spock.lang.Specification import springfox.documentation.spring.web.plugins.Docket -class NfProxyConfigSpec extends Specification { - def objectUnderTest = new NfProxyConfig() +class NetworkCmProxyConfigSpec extends Specification { + def objectUnderTest = new NetworkCmProxyConfig() - def 'NfProxy configuration has a Docket API.'() { - expect: 'the NfProxy configuration has a Docket API' + def 'NetworkCmProxy configuration has a Docket API.'() { + expect: 'the NetworkCmProxy configuration has a Docket API' objectUnderTest.api() instanceof Docket } } diff --git a/cps-nf-proxy-rest/src/test/groovy/org/onap/cps/nfproxy/rest/controller/NfProxyControllerSpec.groovy b/cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/controller/NetworkCmProxyControllerSpec.groovy similarity index 89% rename from cps-nf-proxy-rest/src/test/groovy/org/onap/cps/nfproxy/rest/controller/NfProxyControllerSpec.groovy rename to cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/controller/NetworkCmProxyControllerSpec.groovy index a81411caf0..aa9fa86d1d 100644 --- a/cps-nf-proxy-rest/src/test/groovy/org/onap/cps/nfproxy/rest/controller/NfProxyControllerSpec.groovy +++ b/cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/controller/NetworkCmProxyControllerSpec.groovy @@ -19,11 +19,11 @@ * ============LICENSE_END========================================================= */ -package org.onap.cps.nfproxy.rest.controller +package org.onap.cps.ncmp.rest.controller import com.google.gson.Gson -import org.onap.cps.nfproxy.api.NfProxyDataService +import org.onap.cps.ncmp.api.NetworkCmProxyDataService import org.onap.cps.spi.model.DataNodeBuilder import org.spockframework.spring.SpringBean import org.springframework.beans.factory.annotation.Autowired @@ -40,15 +40,15 @@ import static org.onap.cps.spi.FetchDescendantsOption.OMIT_DESCENDANTS import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.* @WebMvcTest -class NfProxyControllerSpec extends Specification { +class NetworkCmProxyControllerSpec extends Specification { @Autowired MockMvc mvc @SpringBean - NfProxyDataService mockNfProxyDataService = Mock() + NetworkCmProxyDataService mockNetworkCmProxyDataService = Mock() - @Value('${rest.api.xnf-base-path}') + @Value('${rest.api.ncmp-base-path}') def basePath def dataNodeBaseEndpoint @@ -65,7 +65,7 @@ class NfProxyControllerSpec extends Specification { given: 'service method returns a list containing a data node' def dataNode = new DataNodeBuilder().withXpath('/xpath').build() def cpsPath = 'some cps-path' - mockNfProxyDataService.queryDataNodes(cmHandle, cpsPath, expectedCpsDataServiceOption) >> [dataNode] + mockNetworkCmProxyDataService.queryDataNodes(cmHandle, cpsPath, expectedCpsDataServiceOption) >> [dataNode] and: 'the query endpoint' def dataNodeEndpoint = "$dataNodeBaseEndpoint/cm-handles/$cmHandle/nodes/query" when: 'query data nodes API is invoked' @@ -97,7 +97,7 @@ class NfProxyControllerSpec extends Specification { .param('xpath', xpath) ).andReturn().response then: 'the service method is invoked once with expected parameters' - 1 * mockNfProxyDataService.updateNodeLeaves(cmHandle, xpath, jsonData) + 1 * mockNetworkCmProxyDataService.updateNodeLeaves(cmHandle, xpath, jsonData) and: 'response status indicates success' response.status == HttpStatus.OK.value() } @@ -115,7 +115,7 @@ class NfProxyControllerSpec extends Specification { .param('xpath', xpath) ).andReturn().response then: 'the service method is invoked once with expected parameters' - 1 * mockNfProxyDataService.replaceNodeTree(cmHandle, xpath, jsonData) + 1 * mockNetworkCmProxyDataService.replaceNodeTree(cmHandle, xpath, jsonData) and: 'response status indicates success' response.status == HttpStatus.OK.value() } @@ -124,7 +124,7 @@ class NfProxyControllerSpec extends Specification { given: 'the service returns a data node' def xpath = 'some xpath' def dataNode = new DataNodeBuilder().withXpath(xpath).withLeaves(["leaf": "value"]).build() - mockNfProxyDataService.getDataNode(cmHandle, xpath, OMIT_DESCENDANTS) >> dataNode + mockNetworkCmProxyDataService.getDataNode(cmHandle, xpath, OMIT_DESCENDANTS) >> dataNode and: 'the query endpoint' def endpoint = "$dataNodeBaseEndpoint/cm-handles/$cmHandle/node" when: 'get request is performed through REST API' diff --git a/cps-nf-proxy-rest/src/test/groovy/org/onap/cps/nfproxy/rest/exceptions/NfProxyRestExceptionHandlerSpec.groovy b/cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/exceptions/NetworkCmProxyRestExceptionHandlerSpec.groovy similarity index 89% rename from cps-nf-proxy-rest/src/test/groovy/org/onap/cps/nfproxy/rest/exceptions/NfProxyRestExceptionHandlerSpec.groovy rename to cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/exceptions/NetworkCmProxyRestExceptionHandlerSpec.groovy index 73b57c5f9b..8153eeb70b 100644 --- a/cps-nf-proxy-rest/src/test/groovy/org/onap/cps/nfproxy/rest/exceptions/NfProxyRestExceptionHandlerSpec.groovy +++ b/cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/exceptions/NetworkCmProxyRestExceptionHandlerSpec.groovy @@ -1,6 +1,7 @@ /* * ============LICENSE_START======================================================= * Copyright (C) 2021 highstreet technologies GmbH + * Modification Copyright (C) 2021 Nordix Foundation * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,10 +18,10 @@ * ============LICENSE_END========================================================= */ -package org.onap.cps.nfproxy.rest.exceptions +package org.onap.cps.ncmp.rest.exceptions import groovy.json.JsonSlurper -import org.onap.cps.nfproxy.api.NfProxyDataService +import org.onap.cps.ncmp.api.NetworkCmProxyDataService import org.onap.cps.spi.FetchDescendantsOption import org.onap.cps.spi.exceptions.CpsException import org.spockframework.spring.SpringBean @@ -35,15 +36,15 @@ import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get @WebMvcTest -class NfProxyRestExceptionHandlerSpec extends Specification { +class NetworkCmProxyRestExceptionHandlerSpec extends Specification { @Autowired MockMvc mvc @SpringBean - NfProxyDataService mockNfProxyDataService = Mock() + NetworkCmProxyDataService mockNetworkCmProxyDataService = Mock() - @Value('${rest.api.xnf-base-path}') + @Value('${rest.api.ncmp-base-path}') def basePath def dataNodeBaseEndpoint @@ -77,7 +78,7 @@ class NfProxyRestExceptionHandlerSpec extends Specification { } def setupTestException(exception) { - mockNfProxyDataService.getDataNode(cmHandle, xpath, FetchDescendantsOption.OMIT_DESCENDANTS) >> + mockNetworkCmProxyDataService.getDataNode(cmHandle, xpath, FetchDescendantsOption.OMIT_DESCENDANTS) >> { throw exception} } diff --git a/cps-nf-proxy-rest/src/test/java/org/onap/cps/TestApplication.java b/cps-ncmp-rest/src/test/java/org/onap/cps/TestApplication.java similarity index 100% rename from cps-nf-proxy-rest/src/test/java/org/onap/cps/TestApplication.java rename to cps-ncmp-rest/src/test/java/org/onap/cps/TestApplication.java diff --git a/cps-ncmp-rest/src/test/resources/application.yml b/cps-ncmp-rest/src/test/resources/application.yml new file mode 100644 index 0000000000..14ccf0691f --- /dev/null +++ b/cps-ncmp-rest/src/test/resources/application.yml @@ -0,0 +1,21 @@ +# ============LICENSE_START======================================================= +# Copyright (C) 2021 Nordix Foundation +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= + +rest: + api: + ncmp-base-path: /cps-ncmp/api +spring: \ No newline at end of file diff --git a/cps-ncmp-service/pom.xml b/cps-ncmp-service/pom.xml new file mode 100644 index 0000000000..ddb78d3848 --- /dev/null +++ b/cps-ncmp-service/pom.xml @@ -0,0 +1,51 @@ + + + +4.0.0 + + org.onap.cps + cps-parent + 1.1.0-SNAPSHOT + ../cps-parent/pom.xml + + +cps-ncmp-service + + + 0.0 + + + + + org.springframework.boot + spring-boot-starter-validation + + + ${project.groupId} + cps-service + + + org.spockframework + spock-core + test + + + \ No newline at end of file diff --git a/cps-nf-proxy-service/src/main/java/org/onap/cps/nfproxy/api/NfProxyDataService.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/NetworkCmProxyDataService.java similarity index 90% rename from cps-nf-proxy-service/src/main/java/org/onap/cps/nfproxy/api/NfProxyDataService.java rename to cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/NetworkCmProxyDataService.java index cde1801dae..158f20ef93 100644 --- a/cps-nf-proxy-service/src/main/java/org/onap/cps/nfproxy/api/NfProxyDataService.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/NetworkCmProxyDataService.java @@ -18,7 +18,7 @@ * ============LICENSE_END========================================================= */ -package org.onap.cps.nfproxy.api; +package org.onap.cps.ncmp.api; import java.util.Collection; import org.checkerframework.checker.nullness.qual.NonNull; @@ -28,13 +28,13 @@ import org.onap.cps.spi.model.DataNode; /* * Datastore interface for handling CPS data. */ -public interface NfProxyDataService { +public interface NetworkCmProxyDataService { /** * Retrieves datanode by XPath for a given cm handle. * * @param cmHandle The identifier for a network function, network element, subnetwork or any other cm - * object by managed NF-Proxy + * object by managed Network CM Proxy * @param xpath xpath * @param fetchDescendantsOption defines the scope of data to fetch: either single node or all the descendant nodes * (recursively) as well @@ -47,7 +47,7 @@ public interface NfProxyDataService { * Get datanodes for the given cm handle by cps path. * * @param cmHandle The identifier for a network function, network element, subnetwork or any other cm - * object by managed NF-Proxy + * object by managed Network CM Proxy * @param cpsPath cps path * @param fetchDescendantsOption defines whether the descendants of the node(s) found by the query should be * included in the output @@ -60,7 +60,7 @@ public interface NfProxyDataService { * Updates data node for given cm handle using xpath to parent node. * * @param cmHandle The identifier for a network function, network element, subnetwork or any other cm object - * by managed NF-Proxy + * by managed Network CM Proxy * @param parentNodeXpath xpath to parent node * @param jsonData json data */ @@ -70,7 +70,7 @@ public interface NfProxyDataService { * Replaces existing data node content including descendants. * * @param cmHandle The identifier for a network function, network element, subnetwork or any other cm object - * by managed NF-Proxy + * by managed Network CM Proxy * @param parentNodeXpath xpath to parent node * @param jsonData json data */ diff --git a/cps-nf-proxy-service/src/main/java/org/onap/cps/nfproxy/api/impl/NfProxyDataServiceImpl.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImpl.java similarity index 93% rename from cps-nf-proxy-service/src/main/java/org/onap/cps/nfproxy/api/impl/NfProxyDataServiceImpl.java rename to cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImpl.java index cff92fea69..9e013145da 100755 --- a/cps-nf-proxy-service/src/main/java/org/onap/cps/nfproxy/api/impl/NfProxyDataServiceImpl.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImpl.java @@ -18,19 +18,19 @@ * ============LICENSE_END========================================================= */ -package org.onap.cps.nfproxy.api.impl; +package org.onap.cps.ncmp.api.impl; import java.util.Collection; import org.onap.cps.api.CpsDataService; import org.onap.cps.api.CpsQueryService; -import org.onap.cps.nfproxy.api.NfProxyDataService; +import org.onap.cps.ncmp.api.NetworkCmProxyDataService; import org.onap.cps.spi.FetchDescendantsOption; import org.onap.cps.spi.model.DataNode; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service -public class NfProxyDataServiceImpl implements NfProxyDataService { +public class NetworkCmProxyDataServiceImpl implements NetworkCmProxyDataService { private static final String NF_PROXY_DATASPACE_NAME = "NFP-Operational"; diff --git a/cps-nf-proxy-service/src/test/groovy/org/onap/cps/api/impl/NfProxyDataServiceImplSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/api/impl/NetworkCmProxyDataServiceImplSpec.groovy similarity index 94% rename from cps-nf-proxy-service/src/test/groovy/org/onap/cps/api/impl/NfProxyDataServiceImplSpec.groovy rename to cps-ncmp-service/src/test/groovy/org/onap/cps/api/impl/NetworkCmProxyDataServiceImplSpec.groovy index 24549aec83..49028becd7 100644 --- a/cps-nf-proxy-service/src/test/groovy/org/onap/cps/api/impl/NfProxyDataServiceImplSpec.groovy +++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/api/impl/NetworkCmProxyDataServiceImplSpec.groovy @@ -21,12 +21,12 @@ package org.onap.cps.api.impl import org.onap.cps.api.CpsDataService import org.onap.cps.api.CpsQueryService -import org.onap.cps.nfproxy.api.impl.NfProxyDataServiceImpl +import org.onap.cps.ncmp.api.impl.NetworkCmProxyDataServiceImpl import org.onap.cps.spi.FetchDescendantsOption import spock.lang.Specification -class NfProxyDataServiceImplSpec extends Specification { - def objectUnderTest = new NfProxyDataServiceImpl() +class NetworkCmProxyDataServiceImplSpec extends Specification { + def objectUnderTest = new NetworkCmProxyDataServiceImpl() def mockcpsDataService = Mock(CpsDataService) def mockcpsQueryService = Mock(CpsQueryService) diff --git a/cps-nf-proxy-rest/docs/openapi/openapi.yml b/cps-nf-proxy-rest/docs/openapi/openapi.yml deleted file mode 100755 index a6d0949f23..0000000000 --- a/cps-nf-proxy-rest/docs/openapi/openapi.yml +++ /dev/null @@ -1,16 +0,0 @@ -openapi: 3.0.1 -info: - title: xNF to CPS Proxy API - description: xNF to CPS Proxy API - version: "1.0" -servers: - - url: //localhost:8088/ -paths: - /v1/cm-handles/{cm-handle}/node: - $ref: 'xnfProxy.yml#/nodeByCmHandleAndXpath' - - /v1/cm-handles/{cm-handle}/nodes/query: - $ref: 'xnfProxy.yml#/nodesByCmHandleAndCpsPath' - - /v1/cm-handles/{cm-handle}/nodes: - $ref: 'xnfProxy.yml#/nodesByCmHandleAndXpath' \ No newline at end of file diff --git a/cps-nf-proxy-rest/pom.xml b/cps-nf-proxy-rest/pom.xml deleted file mode 100755 index 1add0a0749..0000000000 --- a/cps-nf-proxy-rest/pom.xml +++ /dev/null @@ -1,113 +0,0 @@ - - 4.0.0 - - org.onap.cps - cps-parent - 1.1.0-SNAPSHOT - ../cps-parent/pom.xml - - - cps-nf-proxy-rest - - - 0.0 - - - - - ${project.groupId} - cps-nf-proxy-service - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-tomcat - - - - - org.springframework.boot - spring-boot-starter-jetty - - - io.swagger.core.v3 - swagger-annotations - - - io.springfox - springfox-boot-starter - - - io.swagger - swagger-annotations - - - - org.codehaus.groovy - groovy - test - - - org.spockframework - spock-core - test - - - org.spockframework - spock-spring - test - - - cglib - cglib-nodep - test - - - org.springframework.boot - spring-boot-starter-test - test - - - org.junit.vintage - junit-vintage-engine - - - - - - - - - - io.swagger.codegen.v3 - swagger-codegen-maven-plugin - - - - generate - - - ${project.basedir}/docs/openapi/openapi.yml - org.onap.cps.nfproxy.rest.controller - org.onap.cps.nfproxy.rest.model - org.onap.cps.nfproxy.rest.api - spring - false - - src/gen/java - java11 - true - true - - - - - - - - diff --git a/cps-nf-proxy-rest/src/test/resources/application.yml b/cps-nf-proxy-rest/src/test/resources/application.yml deleted file mode 100644 index fed1559b8b..0000000000 --- a/cps-nf-proxy-rest/src/test/resources/application.yml +++ /dev/null @@ -1,5 +0,0 @@ - -rest: - api: - xnf-base-path: /xnf-proxy/api -spring: diff --git a/cps-nf-proxy-service/pom.xml b/cps-nf-proxy-service/pom.xml deleted file mode 100644 index 38e79f7e70..0000000000 --- a/cps-nf-proxy-service/pom.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - 4.0.0 - - org.onap.cps - cps-parent - 1.1.0-SNAPSHOT - ../cps-parent/pom.xml - - - cps-nf-proxy-service - - - 0.0 - - - - - org.springframework.boot - spring-boot-starter-validation - - - ${project.groupId} - cps-service - - - org.spockframework - spock-core - test - - - \ No newline at end of file diff --git a/cps-parent/pom.xml b/cps-parent/pom.xml index 6536cc8788..b76cd2dbc9 100755 --- a/cps-parent/pom.xml +++ b/cps-parent/pom.xml @@ -60,8 +60,8 @@ ../cps-service/target/site/jacoco-aggregate/jacoco.xml, ../cps-rest/target/site/jacoco-ut/jacoco.xml, ../cps-rest/target/site/jacoco-aggregate/jacoco.xml, - ../cps-nf-proxy-rest/target/site/jacoco-ut/jacoco.xml, - ../cps-nf-proxy-rest/target/site/jacoco-aggregate/jacoco.xml, + ../cps-ncmp-rest/target/site/jacoco-ut/jacoco.xml, + ../cps-ncmp-rest/target/site/jacoco-aggregate/jacoco.xml, ../cps-application/target/site/jacoco-ut/jacoco.xml, ../cps-application/target/site/jacoco-aggregate/jacoco.xml diff --git a/docker-compose/README.md b/docker-compose/README.md index 0a38283535..e443bdf2eb 100644 --- a/docker-compose/README.md +++ b/docker-compose/README.md @@ -6,7 +6,7 @@ Following command builds all Java components to `cps-application/target/cps-appl without generating any docker images: ```bash -mvn clean install -Pcps-docker -Pxnf-docker -Pcps-xnf-docker -Djib.skip +mvn clean install -Pcps-docker -Pncmp-docker -Pcps-ncmp-docker -Djib.skip ``` ## Building Java Archive and Docker images @@ -14,11 +14,11 @@ mvn clean install -Pcps-docker -Pxnf-docker -Pcps-xnf-docker -Djib.skip * Following command builds the JAR file and also generates the Docker image for all CPS components: ```bash -mvn clean install -Pcps-docker -Pxnf-docker -Pcps-xnf-docker -Dnexus.repository= +mvn clean install -Pcps-docker -Pncmp-docker -Pcps-ncmp-docker -Dnexus.repository= ``` * Following command builds the JAR file and generates the Docker image for specified CPS component: - (with `` being one of `cps-docker`, `xnf-docker` or `cps-xnf-docker`): + (with `` being one of `cps-docker`, `ncmp-docker` or `cps-ncmp-docker`): ```bash mvn clean install -P -Dnexus.repository= @@ -29,8 +29,8 @@ mvn clean install -P -Dnexus.repository= `docker-compose/docker-compose.yml` file is provided to be run with `docker-compose` tool and images previously built. It starts both Postgres database and CPS services. -1. Edit `docker-compose.yml` and uncomment desired service to be deployed, by default `cps-and-nf-proxy` - is enabled. You can comment it and uncomment `cps-standalone` or `nf-proxy-standalone`. +1. Edit `docker-compose.yml` and uncomment desired service to be deployed, by default `cps-and-ncmp` + is enabled. You can comment it and uncomment `cps-standalone` or `ncmp-standalone`. 2. Execute following command from `docker-compose` folder: ```bash diff --git a/docker-compose/application.yml b/docker-compose/application.yml index be4b688cf3..d9b9e7c38d 100644 --- a/docker-compose/application.yml +++ b/docker-compose/application.yml @@ -1,10 +1,27 @@ +# ============LICENSE_START======================================================= +# Modification (C) 2021 Nordix Foundation +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= + server: port: 8080 rest: api: cps-base-path: /cps/api - xnf-base-path: /cps-nf-proxy/api + ncmp-base-path: /cps-ncmp/api spring: main: diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index a2241bcc23..4da74584c4 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -1,6 +1,7 @@ # ============LICENSE_START======================================================= # Copyright (c) 2020 Pantheon.tech. # Modifications Copyright (C) 2021 Bell Canada. +# Modification (C) 2021 Nordix Foundation # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -33,9 +34,9 @@ services: # depends_on: # - dbpostgresql - #nf-proxy-standalone: - # container_name: cps-nf-proxy - # image: cps-nf-proxy:${VERSION} + #ncmp-standalone: + # container_name: cps-ncmp + # image: cps-ncmp:${VERSION} # volumes: # - "./application.yml:/app/resources/application.yml" # ports: @@ -48,9 +49,9 @@ services: # depends_on: # - dbpostgresql - cps-and-nf-proxy: - container_name: cps-and-nf-proxy - image: cps-and-nf-proxy:${VERSION} + cps-and-ncmp: + container_name: cps-and-ncmp + image: cps-and-ncmp:${VERSION} volumes: - "./application.yml:/app/resources/application.yml" ports: @@ -71,4 +72,4 @@ services: environment: POSTGRES_DB: cpsdb POSTGRES_USER: ${DB_USERNAME} - POSTGRES_PASSWORD: ${DB_PASSWORD} \ No newline at end of file + POSTGRES_PASSWORD: ${DB_PASSWORD} diff --git a/pom.xml b/pom.xml index 9fd9bba1cb..f196cba618 100644 --- a/pom.xml +++ b/pom.xml @@ -2,6 +2,7 @@ ============LICENSE_START======================================================= Copyright (c) 2020 Linux Foundation. Modifications Copyright (C) 2021 Bell Canada. + Modification Copyright (C) 2021 Nordix Foundation ================================================================================ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -51,8 +52,8 @@ cps-parent cps-service cps-rest - cps-nf-proxy-service - cps-nf-proxy-rest + cps-ncmp-service + cps-ncmp-rest cps-ri checkstyle spotbugs