From fa628a82ce084a70db99df70e7d7273044963d8d Mon Sep 17 00:00:00 2001 From: Lathish Date: Fri, 26 Apr 2019 08:46:13 +0000 Subject: VNFM simulator implementation for instantiate flow Issue-ID: SO-1773 Change-Id: I710fe6905d650df29f7550f4eafde2f672301bc4 Signed-off-by: Lathish (cherry picked from commit c0b9d01cbc3a3d3b1ce32178394e8fd74a10de65) --- vnfm-simulator/vnf-service/pom.xml | 78 ---------------------- .../simulator/controller/SvnfmController.java | 69 ------------------- .../simulator/controller/SvnfmHealthcheck.java | 58 ---------------- .../exception/GlobalExceptionHandler.java | 27 -------- .../exception/InvalidRestRequestException.java | 37 ---------- .../exception/RestProcessingException.java | 37 ---------- .../svnfm/simulator/services/SvnfmService.java | 60 ----------------- .../src/main/resources/json/createVNFResponse.json | 19 ------ 8 files changed, 385 deletions(-) delete mode 100644 vnfm-simulator/vnf-service/pom.xml delete mode 100644 vnfm-simulator/vnf-service/src/main/java/org/onap/svnfm/simulator/controller/SvnfmController.java delete mode 100644 vnfm-simulator/vnf-service/src/main/java/org/onap/svnfm/simulator/controller/SvnfmHealthcheck.java delete mode 100644 vnfm-simulator/vnf-service/src/main/java/org/onap/svnfm/simulator/exception/GlobalExceptionHandler.java delete mode 100644 vnfm-simulator/vnf-service/src/main/java/org/onap/svnfm/simulator/exception/InvalidRestRequestException.java delete mode 100644 vnfm-simulator/vnf-service/src/main/java/org/onap/svnfm/simulator/exception/RestProcessingException.java delete mode 100644 vnfm-simulator/vnf-service/src/main/java/org/onap/svnfm/simulator/services/SvnfmService.java delete mode 100644 vnfm-simulator/vnf-service/src/main/resources/json/createVNFResponse.json (limited to 'vnfm-simulator/vnf-service') diff --git a/vnfm-simulator/vnf-service/pom.xml b/vnfm-simulator/vnf-service/pom.xml deleted file mode 100644 index 9a6825cf43..0000000000 --- a/vnfm-simulator/vnf-service/pom.xml +++ /dev/null @@ -1,78 +0,0 @@ - - 4.0.0 - - org.onap.vnfm - vnfm-simulator - 0.0.1-SNAPSHOT - - vnf-service - - - - UTF-8 - 1.8 - - - - - - org.onap.vnfm - vnfm-api - ${project.version} - - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-actuator - - - org.springframework.boot - spring-boot-starter-test - test - - - junit - junit - test - - - io.swagger - swagger-jaxrs - 1.5.0 - - - org.apache.directory.studio - org.apache.commons.io - 2.4 - - - com.googlecode.json-simple - json-simple - 1.1.1 - - - - io.springfox - springfox-swagger-ui - 2.6.1 - compile - - - io.springfox - springfox-swagger2 - 2.6.1 - compile - - - com.fasterxml.jackson.core - jackson-databind - 2.9.8 - - - - \ No newline at end of file diff --git a/vnfm-simulator/vnf-service/src/main/java/org/onap/svnfm/simulator/controller/SvnfmController.java b/vnfm-simulator/vnf-service/src/main/java/org/onap/svnfm/simulator/controller/SvnfmController.java deleted file mode 100644 index b9703b3a13..0000000000 --- a/vnfm-simulator/vnf-service/src/main/java/org/onap/svnfm/simulator/controller/SvnfmController.java +++ /dev/null @@ -1,69 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2019 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========================================================= - */ - -package org.onap.svnfm.simulator.controller; - -import javax.ws.rs.core.MediaType; - -import org.onap.svnfm.simulator.services.SvnfmService; -import org.onap.vnfm.v1.model.CreateVnfRequest; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; - -/** - * This class contains the VNF life cycle management operations - * - * @author ronan.kenny@est.tech - * - */ - -/** - * TO DO - * - * Implement Exception handling Implement VNFM adaptor call Identify the Create - * VNF response Test itwith the VNFM Adaptor - */ - -@RestController -@RequestMapping("/svnfm") - -public class SvnfmController { - - @Autowired - private SvnfmService svnfmService; - - private static final Logger LOGGER = LoggerFactory.getLogger(SvnfmController.class); - - @RequestMapping(method = RequestMethod.POST, value = "/vnf_instances") - public ResponseEntity createVNFInstance(@RequestBody final CreateVnfRequest createVNFRequest) { - LOGGER.info("Start createVNFInstance"); - HttpHeaders headers = new HttpHeaders(); - headers.add("Content-Type", MediaType.APPLICATION_JSON); - return new ResponseEntity<>(svnfmService.createVNF(), headers, HttpStatus.CREATED); - } -} diff --git a/vnfm-simulator/vnf-service/src/main/java/org/onap/svnfm/simulator/controller/SvnfmHealthcheck.java b/vnfm-simulator/vnf-service/src/main/java/org/onap/svnfm/simulator/controller/SvnfmHealthcheck.java deleted file mode 100644 index e6f55f6c5d..0000000000 --- a/vnfm-simulator/vnf-service/src/main/java/org/onap/svnfm/simulator/controller/SvnfmHealthcheck.java +++ /dev/null @@ -1,58 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2019 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========================================================= - */ - -package org.onap.svnfm.simulator.controller; - -import org.onap.svnfm.simulator.exception.InvalidRestRequestException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; - - -/** - * TO DO - * - * Implement Exception handling - * Implement VNFM adaptor call - * Identify the Create VNF response - * Test it with the VNFM Adaptor - */ - -@RestController -@RequestMapping("/svnfm") -public class SvnfmHealthcheck { - - private static final Logger LOGGER = LoggerFactory.getLogger(SvnfmHealthcheck.class); - - @RequestMapping(method = RequestMethod.GET, value = "/healthcheck") - public ResponseEntity healthCheck() { - try { - return new ResponseEntity<>(HttpStatus.OK); - } catch (final InvalidRestRequestException extensions) { - final String message = "Not Found"; - LOGGER.error(message); - return new ResponseEntity<>(message, HttpStatus.NOT_FOUND); - } - } -} diff --git a/vnfm-simulator/vnf-service/src/main/java/org/onap/svnfm/simulator/exception/GlobalExceptionHandler.java b/vnfm-simulator/vnf-service/src/main/java/org/onap/svnfm/simulator/exception/GlobalExceptionHandler.java deleted file mode 100644 index a06f2d22ad..0000000000 --- a/vnfm-simulator/vnf-service/src/main/java/org/onap/svnfm/simulator/exception/GlobalExceptionHandler.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.onap.svnfm.simulator.exception; - -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.http.converter.HttpMessageNotReadableException; -import org.springframework.web.HttpMediaTypeNotSupportedException; -import org.springframework.web.bind.annotation.ControllerAdvice; -import org.springframework.web.context.request.WebRequest; -import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler; - -@ControllerAdvice -public class GlobalExceptionHandler extends ResponseEntityExceptionHandler { - @Override - protected ResponseEntity handleHttpMessageNotReadable(HttpMessageNotReadableException ex, - HttpHeaders headers, HttpStatus status, WebRequest request) { - String error = "Malformed JSON request"; - return new ResponseEntity<>(error, HttpStatus.BAD_REQUEST); - } - - @Override - protected ResponseEntity handleHttpMediaTypeNotSupported(HttpMediaTypeNotSupportedException ex, - HttpHeaders headers, HttpStatus status, WebRequest request) { - String error = "Media type Not Supported"; - return new ResponseEntity<>(error, HttpStatus.UNSUPPORTED_MEDIA_TYPE); - } -} diff --git a/vnfm-simulator/vnf-service/src/main/java/org/onap/svnfm/simulator/exception/InvalidRestRequestException.java b/vnfm-simulator/vnf-service/src/main/java/org/onap/svnfm/simulator/exception/InvalidRestRequestException.java deleted file mode 100644 index eabd4ec414..0000000000 --- a/vnfm-simulator/vnf-service/src/main/java/org/onap/svnfm/simulator/exception/InvalidRestRequestException.java +++ /dev/null @@ -1,37 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2019 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========================================================= - */ -package org.onap.svnfm.simulator.exception; - -/** - * @author ronan.kenny@est.tech - * - */ -public class InvalidRestRequestException extends RuntimeException { - - private static final long serialVersionUID = 3977807111893986938L; - - public InvalidRestRequestException(final String message) { - super(message); - } - - public InvalidRestRequestException(final String message, final Throwable cause) { - super(message, cause); - } -} diff --git a/vnfm-simulator/vnf-service/src/main/java/org/onap/svnfm/simulator/exception/RestProcessingException.java b/vnfm-simulator/vnf-service/src/main/java/org/onap/svnfm/simulator/exception/RestProcessingException.java deleted file mode 100644 index c84416e245..0000000000 --- a/vnfm-simulator/vnf-service/src/main/java/org/onap/svnfm/simulator/exception/RestProcessingException.java +++ /dev/null @@ -1,37 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2019 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========================================================= - */ -package org.onap.svnfm.simulator.exception; - -/** - * @author ronan.kenny@est.tech - * - */ -public class RestProcessingException extends RuntimeException { - - private static final long serialVersionUID = 16862313537198441L; - - public RestProcessingException(final String message) { - super(message); - } - - public RestProcessingException(final String message, final Throwable cause) { - super(message, cause); - } -} diff --git a/vnfm-simulator/vnf-service/src/main/java/org/onap/svnfm/simulator/services/SvnfmService.java b/vnfm-simulator/vnf-service/src/main/java/org/onap/svnfm/simulator/services/SvnfmService.java deleted file mode 100644 index e2dc43a24b..0000000000 --- a/vnfm-simulator/vnf-service/src/main/java/org/onap/svnfm/simulator/services/SvnfmService.java +++ /dev/null @@ -1,60 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2019 Ericsson. All rights reserved. - * ================================================================================ - * 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========================================================= - */ -package org.onap.svnfm.simulator.services; - -import java.io.IOException; - -import org.apache.commons.io.IOUtils; -import org.onap.svnfm.simulator.notifications.VnfmAdapterCreationNotification; -import org.onap.vnfm.v1.model.InlineResponse201; -import org.springframework.stereotype.Service; - -import com.fasterxml.jackson.databind.ObjectMapper; - -/** - * This class handles the logic of VNF lifecycle - * - * @author Lathishbabu Ganesan (lathishbabu.ganesan@est.tech) - * - */ -@Service -public class SvnfmService { - - /** - * This method read the create VNF response from the json file and return it - * to the VNFM Adaptor - * - * @return - */ - public InlineResponse201 createVNF() { - Thread creationNodtification = new Thread(new VnfmAdapterCreationNotification()); - creationNodtification.start(); - ObjectMapper mapper = new ObjectMapper(); - InlineResponse201 inlineResponse201 = null; - try { - inlineResponse201 = mapper.readValue( - IOUtils.toString(getClass().getClassLoader().getResource("json/createVNFResponse.json")), - InlineResponse201.class); - } catch (IOException e) { - e.printStackTrace(); - } - return inlineResponse201; - } -} diff --git a/vnfm-simulator/vnf-service/src/main/resources/json/createVNFResponse.json b/vnfm-simulator/vnf-service/src/main/resources/json/createVNFResponse.json deleted file mode 100644 index a66bcc1334..0000000000 --- a/vnfm-simulator/vnf-service/src/main/resources/json/createVNFResponse.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": "147d9468-4646-11e9-80af-fa163e169afd", - "vnfInstanceName": "MME85_8.EricssonMMEVSPV2_0", - "vnfInstanceDescription": "2f3e21dd-99ba-45b1-b4da-1f71283c46f6", - "vnfdId": "sgsn-mme_onapmme01_cxp9025898_4r85d01", - "vnfProvider": "Ericsson", - "vnfProductName": "SGSN-MME", - "vnfSoftwareVersion": "1.24 (CXS101289_R85D01)", - "vnfdVersion": "onapmme01_cxp9025898_4r85d01", - "vnfPkgId": null, - "vnfConfigurableProperties": null, - "vimConnectionInfo": null, - "instantiationState": "NOT_INSTANTIATED", - "instantiatedVnfInfo": null, - "metadata": null, - "extensions": null, - "links": null - -} -- cgit 1.2.3-korg