diff options
author | Lathish <lathishbabu.ganesan@est.tech> | 2019-04-26 08:46:13 +0000 |
---|---|---|
committer | Byung-Woo Jun <byung-woo.jun@est.tech> | 2019-05-02 12:12:06 +0000 |
commit | fa628a82ce084a70db99df70e7d7273044963d8d (patch) | |
tree | 645fb2b6392edde21c0691e6264761b94285ccee /vnfm-simulator/vnf-service | |
parent | 0149a3b05af8417fa544c7b4138e8e3f8507e1cf (diff) |
VNFM simulator implementation for instantiate flow
Issue-ID: SO-1773
Change-Id: I710fe6905d650df29f7550f4eafde2f672301bc4
Signed-off-by: Lathish <lathishbabu.ganesan@est.tech>
(cherry picked from commit c0b9d01cbc3a3d3b1ce32178394e8fd74a10de65)
Diffstat (limited to 'vnfm-simulator/vnf-service')
8 files changed, 0 insertions, 385 deletions
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 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.onap.vnfm</groupId> - <artifactId>vnfm-simulator</artifactId> - <version>0.0.1-SNAPSHOT</version> - </parent> - <artifactId>vnf-service</artifactId> - - - <properties> - <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <java.version>1.8</java.version> - </properties> - - <dependencies> - - <dependency> - <groupId>org.onap.vnfm</groupId> - <artifactId>vnfm-api</artifactId> - <version>${project.version}</version> - - </dependency> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-web</artifactId> - </dependency> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-actuator</artifactId> - </dependency> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-test</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>io.swagger</groupId> - <artifactId>swagger-jaxrs</artifactId> - <version>1.5.0</version> - </dependency> - <dependency> - <groupId>org.apache.directory.studio</groupId> - <artifactId>org.apache.commons.io</artifactId> - <version>2.4</version> - </dependency> - <dependency> - <groupId>com.googlecode.json-simple</groupId> - <artifactId>json-simple</artifactId> - <version>1.1.1</version> - </dependency> - - <dependency> - <groupId>io.springfox</groupId> - <artifactId>springfox-swagger-ui</artifactId> - <version>2.6.1</version> - <scope>compile</scope> - </dependency> - <dependency> - <groupId>io.springfox</groupId> - <artifactId>springfox-swagger2</artifactId> - <version>2.6.1</version> - <scope>compile</scope> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.core</groupId> - <artifactId>jackson-databind</artifactId> - <version>2.9.8</version> - </dependency> - - </dependencies> -</project>
\ 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<Object> 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<String> 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<Object> handleHttpMessageNotReadable(HttpMessageNotReadableException ex, - HttpHeaders headers, HttpStatus status, WebRequest request) { - String error = "Malformed JSON request"; - return new ResponseEntity<>(error, HttpStatus.BAD_REQUEST); - } - - @Override - protected ResponseEntity<Object> 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 - -} |