aboutsummaryrefslogtreecommitdiffstats
path: root/vnfm-simulator/vnfm-service/src/main/java
diff options
context:
space:
mode:
authorAndrewLamb <andrew.a.lamb@est.tech>2019-10-07 15:48:25 +0100
committerAndrewLamb <andrew.a.lamb@est.tech>2019-10-08 10:49:20 +0100
commit1373c30ec881e04db719ecafa45598d3ff88480e (patch)
treec1b2243191031acabef386d372bccfb8272d1d93 /vnfm-simulator/vnfm-service/src/main/java
parentdb90144322187faee71622702bff58c43a2af300 (diff)
VNFM Simulator Removed. Moved to CSIT.
Change-Id: I6c439615d52751578200ef84aacb20b0263b3846 Issue-ID: SO-1952 Signed-off-by: AndrewLamb <andrew.a.lamb@est.tech>
Diffstat (limited to 'vnfm-simulator/vnfm-service/src/main/java')
-rw-r--r--vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/config/ApplicationConfig.java53
-rw-r--r--vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/config/SvnfmApplication.java46
-rw-r--r--vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/config/WebSecurityConfigImpl.java48
-rw-r--r--vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/constants/Constant.java39
-rw-r--r--vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/controller/SvnfmController.java171
-rw-r--r--vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/exception/GlobalExceptionHandler.java47
-rw-r--r--vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/model/VnfInstance.java182
-rw-r--r--vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/model/VnfOperation.java80
-rw-r--r--vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/model/Vnfds.java97
-rw-r--r--vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/notifications/VnfInstantiationNotification.java47
-rw-r--r--vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/notifications/VnfmAdapterCreationNotification.java48
-rw-r--r--vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/notifications/VnfmAdapterDeletionNotification.java48
-rw-r--r--vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/oauth/AuthorizationServerConfig.java28
-rw-r--r--vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/oauth/JsonSerializerConfiguration.java49
-rw-r--r--vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/oauth/OAuth2AccessTokenAdapter.java31
-rw-r--r--vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/oauth/OAuth2ResourceServer.java36
-rw-r--r--vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/repository/VnfOperationRepository.java33
-rw-r--r--vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/repository/VnfmCacheRepository.java60
-rw-r--r--vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/repository/VnfmRepository.java35
-rw-r--r--vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/services/InstantiateOperationProgressor.java123
-rw-r--r--vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/services/OperationProgressor.java348
-rw-r--r--vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/services/SubscriptionService.java21
-rw-r--r--vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/services/SvnfmService.java169
-rw-r--r--vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/services/TerminateOperationProgressor.java74
-rw-r--r--vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/services/VnfmHelper.java106
25 files changed, 0 insertions, 2019 deletions
diff --git a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/config/ApplicationConfig.java b/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/config/ApplicationConfig.java
deleted file mode 100644
index a1abb05f07..0000000000
--- a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/config/ApplicationConfig.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.onap.svnfm.simulator.config;
-
-import java.util.Arrays;
-import org.onap.svnfm.simulator.constants.Constant;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.ApplicationArguments;
-import org.springframework.boot.ApplicationRunner;
-import org.springframework.cache.Cache;
-import org.springframework.cache.CacheManager;
-import org.springframework.cache.concurrent.ConcurrentMapCache;
-import org.springframework.cache.support.SimpleCacheManager;
-import org.springframework.context.annotation.Bean;
-import org.springframework.core.env.Environment;
-import org.springframework.stereotype.Component;
-
-@Component
-public class ApplicationConfig implements ApplicationRunner {
-
- private static final String PORT = "local.server.port";
-
- @Value("${server.dns.name:so-vnfm-simulator.onap}")
- private String serverDnsName;
-
- @Value("${server.request.grant.auth:oauth}")
- private String grantAuth;
-
- @Autowired
- private Environment environment;
-
- private String baseUrl;
-
- @Override
- public void run(final ApplicationArguments args) throws Exception {
- baseUrl = "https://" + serverDnsName + ":" + environment.getProperty(PORT);
- }
-
- public String getBaseUrl() {
- return baseUrl;
- }
-
- public String getGrantAuth() {
- return grantAuth;
- }
-
- @Bean
- public CacheManager cacheManager() {
- final Cache inlineResponse201 = new ConcurrentMapCache(Constant.IN_LINE_RESPONSE_201_CACHE);
- final SimpleCacheManager manager = new SimpleCacheManager();
- manager.setCaches(Arrays.asList(inlineResponse201));
- return manager;
- }
-}
diff --git a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/config/SvnfmApplication.java b/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/config/SvnfmApplication.java
deleted file mode 100644
index 723ae906e6..0000000000
--- a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/config/SvnfmApplication.java
+++ /dev/null
@@ -1,46 +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.config;
-
-import org.onap.svnfm.simulator.controller.SvnfmController;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.domain.EntityScan;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
-
-/**
- * The spring boot application for the VNF LCM.
- * <p>
- * The VNFM receives requests through its REST API {@link SvnfmController}
- *
- * @author Lathishbabu Ganesan (lathishbabu.ganesan@est.tech)
- * @author ronan.kenny@est.tech
- */
-@SpringBootApplication(scanBasePackages = {"org.onap"})
-@EnableJpaRepositories("org.onap.svnfm.simulator")
-@EntityScan("org.onap.svnfm.simulator.model")
-@EnableCaching
-public class SvnfmApplication {
- public static void main(final String[] args) {
- SpringApplication.run(SvnfmApplication.class, args);
- }
-}
diff --git a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/config/WebSecurityConfigImpl.java b/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/config/WebSecurityConfigImpl.java
deleted file mode 100644
index 18eadd2fc3..0000000000
--- a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/config/WebSecurityConfigImpl.java
+++ /dev/null
@@ -1,48 +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.config;
-
-import org.onap.so.security.MSOSpringFirewall;
-import org.onap.so.security.WebSecurityConfig;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.builders.WebSecurity;
-import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
-import org.springframework.security.web.firewall.StrictHttpFirewall;
-
-/**
- * Configure the web security for the application.
- */
-@EnableWebSecurity
-public class WebSecurityConfigImpl extends WebSecurityConfig {
-
- @Override
- protected void configure(final HttpSecurity http) throws Exception {
- http.csrf().disable().authorizeRequests().antMatchers("/**").permitAll();
- }
-
- @Override
- public void configure(final WebSecurity web) throws Exception {
- super.configure(web);
- final StrictHttpFirewall firewall = new MSOSpringFirewall();
- web.httpFirewall(firewall);
- }
-
-}
diff --git a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/constants/Constant.java b/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/constants/Constant.java
deleted file mode 100644
index 98f47bf455..0000000000
--- a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/constants/Constant.java
+++ /dev/null
@@ -1,39 +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.constants;
-
-/**
- *
- * @author Lathishbabu Ganesan (lathishbabu.ganesan@est.tech)
- * @author ronan.kenny@est.tech
- */
-public class Constant {
-
- public static final String BASE_URL = "/vnflcm/v1";
- public static final String VNF_PROVIDER = "XYZ";
- public static final String VNF_PROVIDER_NAME = "vCPE";
- public static final String VNF_SOFTWARE_VERSION = "1.24";
- public static final String VNFD_VERSION = "onapvcpe01_cxp9025898_4r85d01";
- public static final String VNF_NOT_INSTANTIATED = "NOT_INSTANTIATED";
- public static final String VNF_CONFIG_PROPERTIES =
- "{\"isAutoScaleEnabled\": \"true\",\"isAutoHealingEnabled\": \"true\"}";
- public static final String IN_LINE_RESPONSE_201_CACHE = "inlineResponse201";
-}
diff --git a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/controller/SvnfmController.java b/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/controller/SvnfmController.java
deleted file mode 100644
index 2140b57488..0000000000
--- a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/controller/SvnfmController.java
+++ /dev/null
@@ -1,171 +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 java.util.UUID;
-import javax.ws.rs.core.MediaType;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.CreateVnfRequest;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse200;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse2001;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.LccnSubscriptionRequest;
-import org.onap.svnfm.simulator.constants.Constant;
-import org.onap.svnfm.simulator.repository.VnfmCacheRepository;
-import org.onap.svnfm.simulator.services.SvnfmService;
-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.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseStatus;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- *
- * @author Lathishbabu Ganesan (lathishbabu.ganesan@est.tech)
- * @author Ronan Kenny (ronan.kenny@est.tech)
- */
-@RestController
-@RequestMapping(path = Constant.BASE_URL, produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON)
-public class SvnfmController {
-
- @Autowired
- private SvnfmService svnfmService;
-
- @Autowired
- private VnfmCacheRepository vnfmCacheRepository;
-
- private static final Logger LOGGER = LoggerFactory.getLogger(SvnfmController.class);
-
- /**
- * To create the Vnf and stores the response in cache
- *
- * @param CreateVnfRequest
- * @return InlineResponse201
- */
- @PostMapping(value = "/vnf_instances")
- public ResponseEntity<InlineResponse201> createVnf(@RequestBody final CreateVnfRequest createVNFRequest) {
- LOGGER.info("Start createVnf {}", createVNFRequest);
- final String id = UUID.randomUUID().toString();
- final HttpHeaders headers = new HttpHeaders();
- headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON);
- final ResponseEntity<InlineResponse201> responseEntity =
- new ResponseEntity<>(vnfmCacheRepository.createVnf(createVNFRequest, id), headers, HttpStatus.CREATED);
- LOGGER.info("Finished create {}", responseEntity);
- return responseEntity;
- }
-
- /**
- * Get the vnf by id from cache
- *
- * @param vnfId
- * @return InlineResponse201
- */
- @GetMapping(value = "/vnf_instances/{vnfInstanceId}")
- @ResponseStatus(code = HttpStatus.OK)
- public InlineResponse201 getVnf(@PathVariable("vnfInstanceId") final String vnfId) {
- LOGGER.info("Start getVnf------");
- return vnfmCacheRepository.getVnf(vnfId);
- }
-
- /**
- * To instantiate the vnf and returns the operation id
- *
- * @param vnfId
- * @throws InterruptedException
- */
- @PostMapping(value = "/vnf_instances/{vnfInstanceId}/instantiate")
- public ResponseEntity<Void> instantiateVnf(@PathVariable("vnfInstanceId") final String vnfId) {
- LOGGER.info("Start instantiateVNFRequest for vnf id {} ", vnfId);
-
- final HttpHeaders headers = new HttpHeaders();
- headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON);
- headers.add(HttpHeaders.LOCATION, svnfmService.instantiateVnf(vnfId));
- return new ResponseEntity<>(headers, HttpStatus.ACCEPTED);
- }
-
- /**
- * To delete the vnf by id
- *
- * @param vnfId
- * @return InlineResponse201
- */
- @DeleteMapping(value = "/vnf_instances/{vnfInstanceId}")
- @ResponseStatus(code = HttpStatus.OK)
- public ResponseEntity<Void> deleteVnf(@PathVariable("vnfInstanceId") final String vnfId) {
- LOGGER.info("Start deleting Vnf------");
- vnfmCacheRepository.deleteVnf(vnfId);
- final HttpHeaders headers = new HttpHeaders();
- headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON);
- return new ResponseEntity<>(headers, HttpStatus.NO_CONTENT);
- }
-
- /**
- * To terminate the vnf by id
- *
- * @param vnfId
- * @throws InterruptedException
- */
- @PostMapping(value = "/vnf_instances/{vnfInstanceId}/terminate")
- public ResponseEntity<Object> terminateVnf(@PathVariable("vnfInstanceId") final String vnfId) {
- LOGGER.info("Start terminateVNFRequest {}", vnfId);
- final HttpHeaders headers = new HttpHeaders();
- headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON);
- headers.add(HttpHeaders.LOCATION, svnfmService.terminateVnf(vnfId));
- return new ResponseEntity<>(headers, HttpStatus.ACCEPTED);
- }
-
-
- /**
- * To get the status of the operation by id
- *
- * @param operationId
- * @return response entity
- * @throws InterruptedException
- */
- @GetMapping(value = "/vnf_lcm_op_occs/{vnfLcmOpOccId}")
- public ResponseEntity<InlineResponse200> getOperationStatus(
- @PathVariable("vnfLcmOpOccId") final String operationId) {
- LOGGER.info("Start getOperationStatus");
- final HttpHeaders headers = new HttpHeaders();
- headers.add("Content-Type", MediaType.APPLICATION_JSON);
- return new ResponseEntity<>(svnfmService.getOperationStatus(operationId), headers, HttpStatus.OK);
- }
-
- @PostMapping(value = "/subscriptions")
- public ResponseEntity<InlineResponse2001> subscribeForNotifications(
- @RequestBody final LccnSubscriptionRequest lccnSubscriptionRequest) {
- LOGGER.info("Subscription request received: {}", lccnSubscriptionRequest);
- svnfmService.registerSubscription(lccnSubscriptionRequest);
- final InlineResponse2001 response = new InlineResponse2001();
-
- final HttpHeaders headers = new HttpHeaders();
- headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON);
- return new ResponseEntity<>(response, headers, HttpStatus.CREATED);
- }
-}
diff --git a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/exception/GlobalExceptionHandler.java b/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/exception/GlobalExceptionHandler.java
deleted file mode 100644
index 1ea92b39ad..0000000000
--- a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/exception/GlobalExceptionHandler.java
+++ /dev/null
@@ -1,47 +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;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.http.HttpStatus;
-import org.springframework.web.HttpMediaTypeNotSupportedException;
-import org.springframework.web.bind.annotation.ControllerAdvice;
-import org.springframework.web.bind.annotation.ExceptionHandler;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-/**
- *
- * @author Lathishbabu Ganesan (lathishbabu.ganesan@est.tech)
- * @author ronan.kenny@est.tech
- */
-@ControllerAdvice
-public class GlobalExceptionHandler {
-
- private static final Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class);
-
- @ResponseStatus(HttpStatus.UNSUPPORTED_MEDIA_TYPE)
- @ExceptionHandler(HttpMediaTypeNotSupportedException.class)
- public void handleConflict() {
- final String error = "Media type Not Supported";
- logger.error(error);
- }
-}
diff --git a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/model/VnfInstance.java b/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/model/VnfInstance.java
deleted file mode 100644
index 6af860c8f8..0000000000
--- a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/model/VnfInstance.java
+++ /dev/null
@@ -1,182 +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.model;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
-
-/**
- *
- * @author Lathishbabu Ganesan (lathishbabu.ganesan@est.tech)
- * @author Ronan Kenny (ronan.kenny@est.tech)
- */
-@Entity
-@Table(name = "VNF_INSTANCE")
-public class VnfInstance {
- @Id
- @Column(name = "id", nullable = false)
- private String id;
- private String vnfInstanceName;
- private String vnfInstanceDescription;
- private String vnfdId;
- private String vnfProvider;
- private String vnfProductName;
- private String vnfSoftwareVersion;
- private String vnfdVersion;
- private String vnfPkgId;
- private String vnfConfigurableProperties;
- private String vimConnectionInfo;
- private String vnfInstantiationState;
- private String instantiatedVnfInfo;
- private String metadata;
- private String extensions;
- private String links;
-
- public String getId() {
- return id;
- }
-
- public void setId(final String id) {
- this.id = id;
- }
-
- public String getVnfInstanceName() {
- return vnfInstanceName;
- }
-
- public void setVnfInstanceName(final String vnfInstanceName) {
- this.vnfInstanceName = vnfInstanceName;
- }
-
- public String getVnfInstanceDescription() {
- return vnfInstanceDescription;
- }
-
- public void setVnfInstanceDescription(final String vnfInstanceDescription) {
- this.vnfInstanceDescription = vnfInstanceDescription;
- }
-
- public String getVnfdId() {
- return vnfdId;
- }
-
- public void setVnfdId(final String vnfdId) {
- this.vnfdId = vnfdId;
- }
-
- public String getVnfProvider() {
- return vnfProvider;
- }
-
- public void setVnfProvider(final String vnfProvider) {
- this.vnfProvider = vnfProvider;
- }
-
- public String getVnfProductName() {
- return vnfProductName;
- }
-
- public void setVnfProductName(final String vnfProductName) {
- this.vnfProductName = vnfProductName;
- }
-
- public String getVnfSoftwareVersion() {
- return vnfSoftwareVersion;
- }
-
- public void setVnfSoftwareVersion(final String vnfSoftwareVersion) {
- this.vnfSoftwareVersion = vnfSoftwareVersion;
- }
-
- public String getVnfdVersion() {
- return vnfdVersion;
- }
-
- public void setVnfdVersion(final String vnfdVersion) {
- this.vnfdVersion = vnfdVersion;
- }
-
- public String getVnfPkgId() {
- return vnfPkgId;
- }
-
- public void setVnfPkgId(final String vnfPkgId) {
- this.vnfPkgId = vnfPkgId;
- }
-
- public String getVnfConfigurableProperties() {
- return vnfConfigurableProperties;
- }
-
- public void setVnfConfigurableProperties(final String vnfConfigurableProperties) {
- this.vnfConfigurableProperties = vnfConfigurableProperties;
- }
-
- public String getVimConnectionInfo() {
- return vimConnectionInfo;
- }
-
- public void setVimConnectionInfo(final String vimConnectionInfo) {
- this.vimConnectionInfo = vimConnectionInfo;
- }
-
- public String getInstantiationState() {
- return vnfInstantiationState;
- }
-
- public void setVnfInstantiationState(final String vnfInstantiationState) {
- this.vnfInstantiationState = vnfInstantiationState;
- }
-
- public String getVnfInstantiationState() {
- return instantiatedVnfInfo;
- }
-
- public void setInstantiatedVnfInfo(final String instantiatedVnfInfo) {
- this.instantiatedVnfInfo = instantiatedVnfInfo;
- }
-
- public String getMetadata() {
- return metadata;
- }
-
- public void setMetadata(final String metadata) {
- this.metadata = metadata;
- }
-
- public String getExtensions() {
- return extensions;
- }
-
- public void setExtensions(final String extensions) {
- this.extensions = extensions;
- }
-
- public String getLinks() {
- return links;
- }
-
- public void setLinks(final String links) {
- this.links = links;
- }
-}
diff --git a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/model/VnfOperation.java b/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/model/VnfOperation.java
deleted file mode 100644
index c37f433668..0000000000
--- a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/model/VnfOperation.java
+++ /dev/null
@@ -1,80 +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.model;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.EnumType;
-import javax.persistence.Enumerated;
-import javax.persistence.Id;
-import javax.persistence.Table;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse200;
-
-/**
- *
- * @author Lathishbabu Ganesan (lathishbabu.ganesan@est.tech)
- * @author Ronan Kenny (ronan.kenny@est.tech)
- */
-@Entity
-@Table(name = "VNF_OPERATION")
-public class VnfOperation {
- @Id
- @Column(name = "operationId", nullable = false)
- private String id;
- private String vnfInstanceId;
-
- @Enumerated(EnumType.STRING)
- private InlineResponse200.OperationEnum operation;
-
- @Enumerated(EnumType.STRING)
- private InlineResponse200.OperationStateEnum operationState;
-
- public String getId() {
- return id;
- }
-
- public void setId(final String id) {
- this.id = id;
- }
-
- public String getVnfInstanceId() {
- return vnfInstanceId;
- }
-
- public void setVnfInstanceId(final String vnfInstanceId) {
- this.vnfInstanceId = vnfInstanceId;
- }
-
- public InlineResponse200.OperationEnum getOperation() {
- return operation;
- }
-
- public void setOperation(final InlineResponse200.OperationEnum operation) {
- this.operation = operation;
- }
-
- public InlineResponse200.OperationStateEnum getOperationState() {
- return operationState;
- }
-
- public void setOperationState(final InlineResponse200.OperationStateEnum operationState) {
- this.operationState = operationState;
- }
-}
diff --git a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/model/Vnfds.java b/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/model/Vnfds.java
deleted file mode 100644
index ea171f0fce..0000000000
--- a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/model/Vnfds.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.onap.svnfm.simulator.model;
-
-import java.util.List;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.stereotype.Component;
-
-@ConfigurationProperties(prefix = "vnfds")
-@Component
-public class Vnfds {
-
- private List<Vnfd> vnfdList;
-
- public static class Vnfd {
-
- private String vnfdId;
- private List<Vnfc> vnfclist;
-
-
- public String getVnfdId() {
- return vnfdId;
- }
-
- public void setVnfdId(final String vnfdId) {
- this.vnfdId = vnfdId;
- }
-
- public List<Vnfc> getVnfcList() {
- return vnfclist;
- }
-
- public void setVnfcList(final List<Vnfc> vnfclist) {
- this.vnfclist = vnfclist;
- }
- }
-
-
- public static class Vnfc {
-
- private String vnfcId;
- private String type;
- private String vduId;
- private String resourceTemplateId;
- private String grantResourceId;
-
- public String getVnfcId() {
- return vnfcId;
- }
-
- public void setVnfcId(final String vnfcId) {
- this.vnfcId = vnfcId;
- }
-
- public String getVduId() {
- return vduId;
- }
-
- public void setVduId(final String vduId) {
- this.vduId = vduId;
- }
-
- public String getType() {
- return type;
- }
-
- public void setType(final String type) {
- this.type = type;
- }
-
- public String getResourceTemplateId() {
- return resourceTemplateId;
- }
-
- public void setResourceTemplateId(final String resourceTemplateId) {
- this.resourceTemplateId = resourceTemplateId;
- }
-
- public String getGrantResourceId() {
- return grantResourceId;
- }
-
- public void setGrantResourceId(final String grantResourceId) {
- this.grantResourceId = grantResourceId;
- }
-
- }
-
-
- public List<Vnfd> getVnfdList() {
- return vnfdList;
- }
-
-
- public void setVnfdList(final List<Vnfd> vnfdList) {
- this.vnfdList = vnfdList;
- }
-
-}
diff --git a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/notifications/VnfInstantiationNotification.java b/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/notifications/VnfInstantiationNotification.java
deleted file mode 100644
index 9a3cd95bec..0000000000
--- a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/notifications/VnfInstantiationNotification.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2019 Nordix Foundation.
- * ================================================================================
- * Modifications Copyright (c) 2019 Samsung
- * ================================================================================
- * 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.notifications;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- *
- * @author Lathishbabu Ganesan (lathishbabu.ganesan@est.tech)
- * @author Ronan Kenny (ronan.kenny@est.tech)
- */
-public class VnfInstantiationNotification implements Runnable {
-
- private static final Logger logger = LoggerFactory.getLogger(VnfInstantiationNotification.class);
-
- @Override
- public void run() {
- try {
- Thread.sleep(10000);
- } catch (final InterruptedException e) {
- logger.error("Error occured while simulating instantiation ", e);
- Thread.currentThread().interrupt();
- }
- logger.info("Instantiation process finished");
- }
-}
diff --git a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/notifications/VnfmAdapterCreationNotification.java b/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/notifications/VnfmAdapterCreationNotification.java
deleted file mode 100644
index 39de3444db..0000000000
--- a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/notifications/VnfmAdapterCreationNotification.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2019 Nordix Foundation.
- * ================================================================================
- * Modifications Copyright (c) 2019 Samsung
- * ================================================================================
- * 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.notifications;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- *
- * @author Lathishbabu Ganesan (lathishbabu.ganesan@est.tech)
- * @author Ronan Kenny (ronan.kenny@est.tech)
- */
-public class VnfmAdapterCreationNotification implements Runnable {
-
- private static final Logger logger = LoggerFactory.getLogger(VnfmAdapterCreationNotification.class);
-
- @Override
- public void run() {
- try {
- Thread.sleep(10000);
- } catch (final InterruptedException e) {
- logger.error("Error occured while simulating creation ", e);
- Thread.currentThread().interrupt();
- }
- logger.info("Call to VNFM Adapter-Create");
- }
-
-}
diff --git a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/notifications/VnfmAdapterDeletionNotification.java b/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/notifications/VnfmAdapterDeletionNotification.java
deleted file mode 100644
index af6064fd6a..0000000000
--- a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/notifications/VnfmAdapterDeletionNotification.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2019 Nordix Foundation.
- * ================================================================================
- * Modifications Copyright (c) 2019 Samsung
- * ================================================================================
- * 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.notifications;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- *
- * @author Lathishbabu Ganesan (lathishbabu.ganesan@est.tech)
- * @author Ronan Kenny (ronan.kenny@est.tech)
- */
-public class VnfmAdapterDeletionNotification implements Runnable {
-
- private static final Logger logger = LoggerFactory.getLogger(VnfmAdapterDeletionNotification.class);
-
- @Override
- public void run() {
- try {
- Thread.sleep(10000);
- } catch (final InterruptedException e) {
- logger.error("Error occured while simulating deletion ", e);
- Thread.currentThread().interrupt();
- }
- logger.info("Call to VNFM Adapter-Delete");
- }
-
-}
diff --git a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/oauth/AuthorizationServerConfig.java b/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/oauth/AuthorizationServerConfig.java
deleted file mode 100644
index 5d2c310635..0000000000
--- a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/oauth/AuthorizationServerConfig.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.onap.svnfm.simulator.oauth;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Profile;
-import org.springframework.security.oauth2.config.annotation.configurers.ClientDetailsServiceConfigurer;
-import org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerConfigurerAdapter;
-import org.springframework.security.oauth2.config.annotation.web.configuration.EnableAuthorizationServer;
-
-@Configuration
-@EnableAuthorizationServer
-@Profile("oauth-authentication")
-/**
- * Configures the authorization server for oauth token based authentication when the spring profile
- * "oauth-authentication" is active
- */
-public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdapter {
-
- private static final int ONE_DAY = 60 * 60 * 24;
-
- @Override
- public void configure(final ClientDetailsServiceConfigurer clients) throws Exception {
- clients.inMemory().withClient("vnfmadapter")
- .secret("$2a$10$dHzTlqSBcm8hdO52LBvnX./zNTvUzzJy.lZrc4bCBL5gkln0wX6T6")
- .authorizedGrantTypes("client_credentials").scopes("write").accessTokenValiditySeconds(ONE_DAY)
- .refreshTokenValiditySeconds(ONE_DAY);
- }
-
-}
diff --git a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/oauth/JsonSerializerConfiguration.java b/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/oauth/JsonSerializerConfiguration.java
deleted file mode 100644
index d6eda28eb6..0000000000
--- a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/oauth/JsonSerializerConfiguration.java
+++ /dev/null
@@ -1,49 +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.oauth;
-
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import java.util.ArrayList;
-import java.util.Collection;
-import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.http.converter.HttpMessageConverter;
-import org.springframework.http.converter.json.GsonHttpMessageConverter;
-import org.springframework.security.oauth2.common.OAuth2AccessToken;
-
-/**
- * Configures message converter
- */
-@Configuration
-public class JsonSerializerConfiguration {
-
- @Bean
- public HttpMessageConverters customConverters() {
- final Collection<HttpMessageConverter<?>> messageConverters = new ArrayList<>();
-
- final Gson gson = new GsonBuilder()
- .registerTypeHierarchyAdapter(OAuth2AccessToken.class, new OAuth2AccessTokenAdapter()).create();
- final GsonHttpMessageConverter gsonHttpMessageConverter = new GsonHttpMessageConverter(gson);
- messageConverters.add(gsonHttpMessageConverter);
- return new HttpMessageConverters(true, messageConverters);
- }
-}
diff --git a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/oauth/OAuth2AccessTokenAdapter.java b/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/oauth/OAuth2AccessTokenAdapter.java
deleted file mode 100644
index 7bccffa2e0..0000000000
--- a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/oauth/OAuth2AccessTokenAdapter.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.onap.svnfm.simulator.oauth;
-
-import com.google.gson.JsonArray;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonSerializationContext;
-import com.google.gson.JsonSerializer;
-import java.lang.reflect.Type;
-import org.springframework.security.oauth2.common.OAuth2AccessToken;
-
-public class OAuth2AccessTokenAdapter implements JsonSerializer<OAuth2AccessToken> {
-
- @Override
- public JsonElement serialize(final OAuth2AccessToken src, final Type typeOfSrc,
- final JsonSerializationContext context) {
- final JsonObject obj = new JsonObject();
- obj.addProperty(OAuth2AccessToken.ACCESS_TOKEN, src.getValue());
- obj.addProperty(OAuth2AccessToken.TOKEN_TYPE, src.getTokenType());
- if (src.getRefreshToken() != null) {
- obj.addProperty(OAuth2AccessToken.REFRESH_TOKEN, src.getRefreshToken().getValue());
- }
- obj.addProperty(OAuth2AccessToken.EXPIRES_IN, src.getExpiresIn());
- final JsonArray scopeObj = new JsonArray();
- for (final String scope : src.getScope()) {
- scopeObj.add(scope);
- }
- obj.add(OAuth2AccessToken.SCOPE, scopeObj);
-
- return obj;
- }
-}
diff --git a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/oauth/OAuth2ResourceServer.java b/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/oauth/OAuth2ResourceServer.java
deleted file mode 100644
index 18fb1a9461..0000000000
--- a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/oauth/OAuth2ResourceServer.java
+++ /dev/null
@@ -1,36 +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.oauth;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Profile;
-import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;
-import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter;
-
-@Configuration
-@EnableResourceServer
-@Profile("oauth-authentication")
-/**
- * Enforces oauth token based authentication when the spring profile "oauth-authentication" is active
- */
-public class OAuth2ResourceServer extends ResourceServerConfigurerAdapter {
-
-}
diff --git a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/repository/VnfOperationRepository.java b/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/repository/VnfOperationRepository.java
deleted file mode 100644
index 43c201734f..0000000000
--- a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/repository/VnfOperationRepository.java
+++ /dev/null
@@ -1,33 +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.repository;
-
-import org.onap.svnfm.simulator.model.VnfOperation;
-import org.springframework.data.repository.CrudRepository;
-
-/**
- *
- * @author Lathishbabu Ganesan (lathishbabu.ganesan@est.tech)
- * @author Ronan Kenny (ronan.kenny@est.tech)
- */
-public interface VnfOperationRepository extends CrudRepository<VnfOperation, String> {
-
-}
diff --git a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/repository/VnfmCacheRepository.java b/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/repository/VnfmCacheRepository.java
deleted file mode 100644
index fbdbf744d0..0000000000
--- a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/repository/VnfmCacheRepository.java
+++ /dev/null
@@ -1,60 +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.repository;
-
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.CreateVnfRequest;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201;
-import org.onap.svnfm.simulator.constants.Constant;
-import org.onap.svnfm.simulator.services.SvnfmService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cache.annotation.CacheEvict;
-import org.springframework.cache.annotation.Cacheable;
-import org.springframework.stereotype.Repository;
-
-/**
- *
- * @author Lathishbabu Ganesan (lathishbabu.ganesan@est.tech)
- * @author Ronan Kenny (ronan.kenny@est.tech)
- */
-@Repository
-public class VnfmCacheRepository {
-
- @Autowired
- private SvnfmService svnfmService;
-
- @Cacheable(value = Constant.IN_LINE_RESPONSE_201_CACHE, key = "#id")
- public InlineResponse201 createVnf(final CreateVnfRequest createVnfRequest, final String id) {
- return svnfmService.createVnf(createVnfRequest, id);
- }
-
-
-
- public InlineResponse201 getVnf(final String id) {
- return svnfmService.getVnf(id);
- }
-
- /**
- * @param vnfId
- * @return
- */
- @CacheEvict(value = Constant.IN_LINE_RESPONSE_201_CACHE, key = "#id")
- public void deleteVnf(final String id) {}
-}
diff --git a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/repository/VnfmRepository.java b/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/repository/VnfmRepository.java
deleted file mode 100644
index f28b54a137..0000000000
--- a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/repository/VnfmRepository.java
+++ /dev/null
@@ -1,35 +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.repository;
-
-import java.util.Optional;
-import org.onap.svnfm.simulator.model.VnfInstance;
-import org.springframework.data.repository.CrudRepository;
-import org.springframework.data.repository.query.Param;
-
-/**
- *
- * @author Lathishbabu Ganesan (lathishbabu.ganesan@est.tech)
- * @author Ronan Kenny (ronan.kenny@est.tech)
- */
-public interface VnfmRepository extends CrudRepository<VnfInstance, String> {
- public Optional<VnfInstance> findById(@Param("id") String id);
-}
diff --git a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/services/InstantiateOperationProgressor.java b/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/services/InstantiateOperationProgressor.java
deleted file mode 100644
index 020fa0390d..0000000000
--- a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/services/InstantiateOperationProgressor.java
+++ /dev/null
@@ -1,123 +0,0 @@
-package org.onap.svnfm.simulator.services;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-import org.modelmapper.ModelMapper;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.GrantsAddResources;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.GrantsAddResources.TypeEnum;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.InlineResponse201;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.InlineResponse201AddResources;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.InlineResponse201VimConnections;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model.LcnVnfLcmOperationOccurrenceNotificationAffectedVnfcs.ChangeTypeEnum;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201.InstantiationStateEnum;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201InstantiatedVnfInfo;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201InstantiatedVnfInfoResourceHandle;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201InstantiatedVnfInfoVnfcResourceInfo;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201VimConnectionInfo;
-import org.onap.svnfm.simulator.config.ApplicationConfig;
-import org.onap.svnfm.simulator.model.VnfOperation;
-import org.onap.svnfm.simulator.model.Vnfds;
-import org.onap.svnfm.simulator.model.Vnfds.Vnfc;
-import org.onap.svnfm.simulator.model.Vnfds.Vnfd;
-import org.onap.svnfm.simulator.repository.VnfOperationRepository;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class InstantiateOperationProgressor extends OperationProgressor {
-
- private static final Logger LOGGER = LoggerFactory.getLogger(InstantiateOperationProgressor.class);
-
- public InstantiateOperationProgressor(final VnfOperation operation, final SvnfmService svnfmService,
- final VnfOperationRepository vnfOperationRepository, final ApplicationConfig applicationConfig,
- final Vnfds vnfds, final SubscriptionService subscriptionService) {
- super(operation, svnfmService, vnfOperationRepository, applicationConfig, vnfds, subscriptionService);
- }
-
- @Override
- protected List<GrantsAddResources> getAddResources(final String vnfdId) {
- final List<GrantsAddResources> resources = new ArrayList<>();
-
- for (final Vnfd vnfd : vnfds.getVnfdList()) {
- if (vnfd.getVnfdId().equals(vnfdId)) {
- for (final Vnfc vnfc : vnfd.getVnfcList()) {
- final GrantsAddResources addResource = new GrantsAddResources();
- vnfc.setGrantResourceId(UUID.randomUUID().toString());
- addResource.setId(vnfc.getGrantResourceId());
- addResource.setType(TypeEnum.fromValue(vnfc.getType()));
- addResource.setResourceTemplateId(vnfc.getResourceTemplateId());
- addResource.setVduId(vnfc.getVduId());
- resources.add(addResource);
- }
- }
- }
- return resources;
- }
-
- @Override
- protected List<GrantsAddResources> getRemoveResources(final String vnfdId) {
- return Collections.emptyList();
- }
-
- @Override
- protected List<InlineResponse201InstantiatedVnfInfoVnfcResourceInfo> handleGrantResponse(
- final InlineResponse201 grantResponse) {
- final InlineResponse201InstantiatedVnfInfo instantiatedVnfInfo = createInstantiatedVnfInfo(grantResponse);
- svnfmService.updateVnf(InstantiationStateEnum.INSTANTIATED, instantiatedVnfInfo, operation.getVnfInstanceId(),
- getVimConnections(grantResponse));
- return instantiatedVnfInfo.getVnfcResourceInfo();
- }
-
- private InlineResponse201InstantiatedVnfInfo createInstantiatedVnfInfo(final InlineResponse201 grantResponse) {
- final InlineResponse201InstantiatedVnfInfo instantiatedVnfInfo = new InlineResponse201InstantiatedVnfInfo();
-
- final Map<String, String> mapOfGrantResourceIdToVimConnectionId = new HashMap<>();
- for (final InlineResponse201AddResources addResource : grantResponse.getAddResources()) {
- mapOfGrantResourceIdToVimConnectionId.put(addResource.getResourceDefinitionId(),
- addResource.getVimConnectionId());
- }
- LOGGER.info("VIM connections in grant response: {}", mapOfGrantResourceIdToVimConnectionId);
-
- for (final Vnfd vnfd : vnfds.getVnfdList()) {
- if (vnfd.getVnfdId().equals(svnfmService.getVnf(operation.getVnfInstanceId()).getVnfdId())) {
- for (final Vnfc vnfc : vnfd.getVnfcList()) {
- final InlineResponse201InstantiatedVnfInfoVnfcResourceInfo vnfcResourceInfoItem =
- new InlineResponse201InstantiatedVnfInfoVnfcResourceInfo();
- vnfcResourceInfoItem.setId(vnfc.getVnfcId());
- vnfcResourceInfoItem.setVduId(vnfc.getVduId());
- final InlineResponse201InstantiatedVnfInfoResourceHandle computeResource =
- new InlineResponse201InstantiatedVnfInfoResourceHandle();
- computeResource.setResourceId(UUID.randomUUID().toString());
- LOGGER.info("Checking for VIM connection id for : {}", vnfc.getGrantResourceId());
- computeResource
- .setVimConnectionId(mapOfGrantResourceIdToVimConnectionId.get(vnfc.getGrantResourceId()));
-
- computeResource.setVimLevelResourceType("OS::Nova::Server");
- vnfcResourceInfoItem.setComputeResource(computeResource);
- instantiatedVnfInfo.addVnfcResourceInfoItem(vnfcResourceInfoItem);
- }
- }
- }
-
- return instantiatedVnfInfo;
- }
-
-
- private List<InlineResponse201VimConnectionInfo> getVimConnections(final InlineResponse201 grantResponse) {
- final List<InlineResponse201VimConnectionInfo> vimConnectionInfo = new ArrayList<>();
- for (final InlineResponse201VimConnections vimConnection : grantResponse.getVimConnections()) {
- final ModelMapper modelMapper = new ModelMapper();
- vimConnectionInfo.add(modelMapper.map(vimConnection, InlineResponse201VimConnectionInfo.class));
- }
- return vimConnectionInfo;
- }
-
- @Override
- protected ChangeTypeEnum getVnfcChangeType() {
- return ChangeTypeEnum.ADDED;
- }
-
-}
diff --git a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/services/OperationProgressor.java b/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/services/OperationProgressor.java
deleted file mode 100644
index 6e9478bdeb..0000000000
--- a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/services/OperationProgressor.java
+++ /dev/null
@@ -1,348 +0,0 @@
-package org.onap.svnfm.simulator.services;
-
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.nio.charset.StandardCharsets;
-import java.security.KeyStore;
-import java.security.KeyStoreException;
-import java.security.NoSuchAlgorithmException;
-import java.security.UnrecoverableKeyException;
-import java.security.cert.CertificateException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.UUID;
-import javax.net.ssl.HttpsURLConnection;
-import javax.net.ssl.KeyManager;
-import javax.net.ssl.KeyManagerFactory;
-import javax.ws.rs.core.MediaType;
-import org.apache.commons.codec.binary.Base64;
-import org.modelmapper.ModelMapper;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.ApiResponse;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.GrantRequest;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.GrantsAddResources;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.GrantsLinks;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.GrantsLinksVnfLcmOpOcc;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.InlineResponse201;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.ApiClient;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.ApiException;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.api.DefaultApi;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model.LcnVnfLcmOperationOccurrenceNotificationAffectedVnfcs;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model.LcnVnfLcmOperationOccurrenceNotificationAffectedVnfcs.ChangeTypeEnum;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model.LcnVnfLcmOperationOccurrenceNotificationLinks;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model.LcnVnfLcmOperationOccurrenceNotificationLinksVnfInstance;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model.VnfLcmOperationOccurrenceNotification;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model.VnfLcmOperationOccurrenceNotification.NotificationStatusEnum;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model.VnfLcmOperationOccurrenceNotification.NotificationTypeEnum;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model.VnfLcmOperationOccurrenceNotification.OperationEnum;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model.VnfLcmOperationOccurrenceNotification.OperationStateEnum;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse200;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201InstantiatedVnfInfoVnfcResourceInfo;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.SubscriptionsAuthenticationParamsBasic;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.SubscriptionsAuthenticationParamsOauth2ClientCredentials;
-import org.onap.svnfm.simulator.config.ApplicationConfig;
-import org.onap.svnfm.simulator.model.VnfOperation;
-import org.onap.svnfm.simulator.model.Vnfds;
-import org.onap.svnfm.simulator.repository.VnfOperationRepository;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.core.io.ClassPathResource;
-import org.springframework.core.io.Resource;
-
-public abstract class OperationProgressor implements Runnable {
-
- private static final Logger LOGGER = LoggerFactory.getLogger(OperationProgressor.class);
- private static final String CERTIFICATE_TO_TRUST = "so-vnfm-adapter.crt.pem";
-
- private Resource keyStoreResource = new ClassPathResource("so-vnfm-simulator.p12");
- private String keyStorePassword = "7Em3&j4.19xYiMelhD5?xbQ.";
-
- protected final VnfOperation operation;
- protected final SvnfmService svnfmService;
- private final VnfOperationRepository vnfOperationRepository;
- private final ApplicationConfig applicationConfig;
- protected final Vnfds vnfds;
- private final SubscriptionService subscriptionService;
- private final DefaultApi notificationClient;
- private final org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.api.DefaultApi grantClient;
-
- public OperationProgressor(final VnfOperation operation, final SvnfmService svnfmService,
- final VnfOperationRepository vnfOperationRepository, final ApplicationConfig applicationConfig,
- final Vnfds vnfds, final SubscriptionService subscriptionService) {
- this.operation = operation;
- this.svnfmService = svnfmService;
- this.vnfOperationRepository = vnfOperationRepository;
- this.applicationConfig = applicationConfig;
- this.vnfds = vnfds;
- this.subscriptionService = subscriptionService;
-
- final ApiClient apiClient = new ApiClient();
- String callBackUrl = subscriptionService.getSubscriptions().iterator().next().getCallbackUri();
- callBackUrl = callBackUrl.substring(0, callBackUrl.indexOf("/lcn/"));
- apiClient.setBasePath(callBackUrl);
- apiClient.setKeyManagers(getKeyManagers());
- apiClient.setSslCaCert(getCertificateToTrust());
- notificationClient = new DefaultApi(apiClient);
-
- final org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.ApiClient grantApiClient =
- new org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.ApiClient();
- grantApiClient.setBasePath(callBackUrl);
- grantApiClient.setKeyManagers(getKeyManagers());
- grantApiClient.setSslCaCert(getCertificateToTrust());
- grantClient = new org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.api.DefaultApi(grantApiClient);
- }
-
- private InputStream getCertificateToTrust() {
- try {
- return new ClassPathResource(CERTIFICATE_TO_TRUST).getInputStream();
- } catch (final IOException exception) {
- LOGGER.error("Error reading certificate to trust, https calls to VNFM adapter will fail", exception);
- return null;
- }
- }
-
- private KeyManager[] getKeyManagers() {
- KeyStore keystore;
- try {
- keystore = KeyStore.getInstance("pkcs12");
- keystore.load(keyStoreResource.getInputStream(), keyStorePassword.toCharArray());
- KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance("SunX509");
- keyManagerFactory.init(keystore, keyStorePassword.toCharArray());
- return keyManagerFactory.getKeyManagers();
- } catch (KeyStoreException | NoSuchAlgorithmException | CertificateException | IOException
- | UnrecoverableKeyException exception) {
- LOGGER.error("Error reading certificate, https calls using two way TLS to VNFM adapter will fail",
- exception);
- return new KeyManager[0];
- }
- }
-
- @Override
- public void run() {
- try {
- final VnfLcmOperationOccurrenceNotification notificationOfStarting =
- buildNotification(NotificationStatusEnum.START, OperationStateEnum.STARTING);
- sendNotification(notificationOfStarting);
-
- sleep(2000);
- setState(InlineResponse200.OperationStateEnum.PROCESSING);
- final VnfLcmOperationOccurrenceNotification notificationOfProcessing =
- buildNotification(NotificationStatusEnum.START, OperationStateEnum.PROCESSING);
- sendNotification(notificationOfProcessing);
-
-
- final GrantRequest grantRequest = buildGrantRequest();
- final InlineResponse201 grantResponse = sendGrantRequest(grantRequest);
- final List<InlineResponse201InstantiatedVnfInfoVnfcResourceInfo> vnfcs = handleGrantResponse(grantResponse);
-
- svnfmService.getVnf(operation.getVnfInstanceId()).getInstantiatedVnfInfo();
-
- sleep(10000);
- setState(InlineResponse200.OperationStateEnum.COMPLETED);
- final VnfLcmOperationOccurrenceNotification notificationOfCompleted =
- buildNotification(NotificationStatusEnum.RESULT, OperationStateEnum.COMPLETED);
- notificationOfCompleted.setAffectedVnfcs(getVnfcs(vnfcs));
-
- sendNotification(notificationOfCompleted);
- } catch (final Exception exception) {
- LOGGER.error("Error in OperationProgressor ", exception);
- }
-
- }
-
- private void sleep(final long milliSeconds) {
- try {
- Thread.sleep(milliSeconds);
- } catch (final InterruptedException e) {
- operation.setOperationState(InlineResponse200.OperationStateEnum.FAILED);
- // Restore interrupted state
- Thread.currentThread().interrupt();
- }
- }
-
- private void setState(final InlineResponse200.OperationStateEnum state) {
- LOGGER.info("Setting state to {} for operation {}", state, operation.getId());
- operation.setOperationState(state);
- vnfOperationRepository.save(operation);
- }
-
- private VnfLcmOperationOccurrenceNotification buildNotification(final NotificationStatusEnum status,
- final OperationStateEnum operationState) {
- final VnfLcmOperationOccurrenceNotification notification = new VnfLcmOperationOccurrenceNotification();
- notification.setId(UUID.randomUUID().toString());
- notification.setNotificationType(NotificationTypeEnum.VNFLCMOPERATIONOCCURRENCENOTIFICATION);
- notification.setNotificationStatus(status);
- notification.setOperationState(operationState);
- notification.setOperation(OperationEnum.fromValue(operation.getOperation().toString()));
- notification.setVnfInstanceId(operation.getVnfInstanceId());
- notification.setVnfLcmOpOccId(operation.getId());
-
- final LcnVnfLcmOperationOccurrenceNotificationLinks links = new LcnVnfLcmOperationOccurrenceNotificationLinks();
- final LcnVnfLcmOperationOccurrenceNotificationLinksVnfInstance vnfInstanceLink =
- new LcnVnfLcmOperationOccurrenceNotificationLinksVnfInstance();
- vnfInstanceLink.setHref(getVnfLink());
- links.setVnfInstance(vnfInstanceLink);
-
-
- final LcnVnfLcmOperationOccurrenceNotificationLinksVnfInstance operationLink =
- new LcnVnfLcmOperationOccurrenceNotificationLinksVnfInstance();
- operationLink.setHref(getOperationLink());
- links.setVnfLcmOpOcc(operationLink);
-
- notification.setLinks(links);
-
- return notification;
- }
-
- private List<LcnVnfLcmOperationOccurrenceNotificationAffectedVnfcs> getVnfcs(
- final List<InlineResponse201InstantiatedVnfInfoVnfcResourceInfo> instantiatedVnfcs) {
- final List<LcnVnfLcmOperationOccurrenceNotificationAffectedVnfcs> vnfcs = new ArrayList<>();
- if (instantiatedVnfcs != null) {
- for (final InlineResponse201InstantiatedVnfInfoVnfcResourceInfo instantiatedVnfc : instantiatedVnfcs) {
- LOGGER.info("VNFC TO BE CONVERTED: {}", instantiatedVnfc);
- final ModelMapper mapper = new ModelMapper();
- final LcnVnfLcmOperationOccurrenceNotificationAffectedVnfcs vnfc =
- mapper.map(instantiatedVnfc, LcnVnfLcmOperationOccurrenceNotificationAffectedVnfcs.class);
- LOGGER.info("VNFC FROM CONVERSION: {}", vnfc);
- vnfc.setChangeType(getVnfcChangeType());
- vnfcs.add(vnfc);
- }
- }
- return vnfcs;
- }
-
- private void sendNotification(final VnfLcmOperationOccurrenceNotification notification) {
- LOGGER.info("Sending notification: {}", notification);
- try {
- final SubscriptionsAuthenticationParamsBasic subscriptionAuthentication =
- subscriptionService.getSubscriptions().iterator().next().getAuthentication().getParamsBasic();
- final String auth =
- subscriptionAuthentication.getUserName() + ":" + subscriptionAuthentication.getPassword();
- final byte[] encodedAuth = Base64.encodeBase64(auth.getBytes(StandardCharsets.ISO_8859_1));
- String authHeader = "Basic " + new String(encodedAuth);
-
- notificationClient.lcnVnfLcmOperationOccurrenceNotificationPostWithHttpInfo(notification,
- MediaType.APPLICATION_JSON, authHeader);
- } catch (final ApiException exception) {
- LOGGER.error("Error sending notification: " + notification, exception);
- LOGGER.error("Response code: {}, body: {}, basePath: {}", exception.getCode(), exception.getResponseBody(),
- notificationClient.getApiClient().getBasePath());
-
- }
- }
-
-
- public GrantRequest buildGrantRequest() {
- final GrantRequest grantRequest = new GrantRequest();
- grantRequest.setVnfInstanceId(operation.getVnfInstanceId());
- final String vnfdId = svnfmService.getVnf(operation.getVnfInstanceId()).getVnfdId();
- grantRequest.setVnfdId(vnfdId);
- grantRequest.setAddResources(getAddResources(vnfdId));
- grantRequest.setRemoveResources(getRemoveResources(vnfdId));
- grantRequest.setVnfLcmOpOccId(operation.getId());
- grantRequest
- .setOperation(org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.GrantRequest.OperationEnum
- .fromValue(operation.getOperation().getValue()));
- grantRequest.setIsAutomaticInvocation(false);
-
- final GrantsLinksVnfLcmOpOcc vnfInstanceLink = new GrantsLinksVnfLcmOpOcc();
- vnfInstanceLink.setHref(getVnfLink());
- final GrantsLinksVnfLcmOpOcc operationInstanceLink = new GrantsLinksVnfLcmOpOcc();
- operationInstanceLink.setHref(getOperationLink());
- final GrantsLinks links = new GrantsLinks();
- links.setVnfInstance(vnfInstanceLink);
- links.setVnfLcmOpOcc(operationInstanceLink);
- grantRequest.setLinks(links);
- return grantRequest;
- }
-
- protected abstract List<GrantsAddResources> getAddResources(final String vnfdId);
-
- protected abstract List<GrantsAddResources> getRemoveResources(final String vnfdId);
-
- protected abstract List<InlineResponse201InstantiatedVnfInfoVnfcResourceInfo> handleGrantResponse(
- InlineResponse201 grantResponse);
-
- protected abstract ChangeTypeEnum getVnfcChangeType();
-
- private InlineResponse201 sendGrantRequest(final GrantRequest grantRequest) {
- LOGGER.info("Sending grant request: {}", grantRequest);
- try {
-
- final SubscriptionsAuthenticationParamsOauth2ClientCredentials subscriptionAuthentication =
- subscriptionService.getSubscriptions().iterator().next().getAuthentication()
- .getParamsOauth2ClientCredentials();
-
- final String authHeader = applicationConfig.getGrantAuth().equals("oauth")
- ? "Bearer " + getToken(notificationClient.getApiClient(), subscriptionAuthentication)
- : null;
-
- final ApiResponse<InlineResponse201> response = grantClient.grantsPostWithHttpInfo(grantRequest,
- MediaType.APPLICATION_JSON, MediaType.APPLICATION_JSON, authHeader);
- LOGGER.info("Grant Response: {}", response);
- return response.getData();
- } catch (final org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.ApiException exception) {
- LOGGER.error("Error sending notification: " + grantRequest, exception);
- return null;
- }
- }
-
- private String getVnfLink() {
- return getLinkBaseUrl() + "/vnf_instances/" + operation.getVnfInstanceId();
- }
-
- private String getOperationLink() {
- return getLinkBaseUrl() + "/vnf_lcm_op_occs/" + operation.getId();
- }
-
- private String getLinkBaseUrl() {
- return applicationConfig.getBaseUrl() + "/vnflcm/v1";
- }
-
- private String getToken(final ApiClient apiClient,
- final SubscriptionsAuthenticationParamsOauth2ClientCredentials oauthClientCredentials) {
- final String basePath = apiClient.getBasePath().substring(0, apiClient.getBasePath().indexOf("/so/"));
- final String tokenUrl = basePath + "/oauth/token?grant_type=client_credentials";
-
- try {
- URL url = new URL(tokenUrl);
- HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
- connection.setRequestMethod("POST");
- final String authorizationHeader = getAuthorizationHeader(oauthClientCredentials);
- connection.addRequestProperty("Authorization", authorizationHeader);
-
- connection.connect();
-
- return getResponse(connection).get("access_token").getAsString();
-
- } catch (IOException exception) {
- LOGGER.error("Error getting token", exception);
- return null;
- }
- }
-
- private String getAuthorizationHeader(
- final SubscriptionsAuthenticationParamsOauth2ClientCredentials oauthClientCredentials) {
- final String auth = oauthClientCredentials.getClientId() + ":" + oauthClientCredentials.getClientPassword();
- final byte[] encodedAuth = Base64.encodeBase64(auth.getBytes(StandardCharsets.UTF_8));
- return "Basic " + new String(encodedAuth);
- }
-
- private JsonObject getResponse(HttpsURLConnection connection) throws IOException {
- BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
- String line, data = "";
- while ((line = in.readLine()) != null) {
- data += line;
- }
- in.close();
- connection.getInputStream().close();
-
- JsonObject jsonObject = new JsonParser().parse(data).getAsJsonObject();
- return jsonObject;
- }
-
-}
diff --git a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/services/SubscriptionService.java b/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/services/SubscriptionService.java
deleted file mode 100644
index 6a2340bdf6..0000000000
--- a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/services/SubscriptionService.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.onap.svnfm.simulator.services;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.LccnSubscriptionRequest;
-import org.springframework.stereotype.Service;
-
-@Service
-public class SubscriptionService {
-
- Collection<LccnSubscriptionRequest> subscriptions = new ArrayList<>();
-
- public void registerSubscription(final LccnSubscriptionRequest subscription) {
- subscriptions.add(subscription);
- }
-
- public Collection<LccnSubscriptionRequest> getSubscriptions() {
- return Collections.unmodifiableCollection(subscriptions);
- }
-}
diff --git a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/services/SvnfmService.java b/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/services/SvnfmService.java
deleted file mode 100644
index 95043d35ed..0000000000
--- a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/services/SvnfmService.java
+++ /dev/null
@@ -1,169 +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.services;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.List;
-import java.util.UUID;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import org.modelmapper.ModelMapper;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.CreateVnfRequest;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse200;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201.InstantiationStateEnum;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201InstantiatedVnfInfo;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201VimConnectionInfo;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.LccnSubscriptionRequest;
-import org.onap.svnfm.simulator.config.ApplicationConfig;
-import org.onap.svnfm.simulator.constants.Constant;
-import org.onap.svnfm.simulator.model.VnfInstance;
-import org.onap.svnfm.simulator.model.VnfOperation;
-import org.onap.svnfm.simulator.model.Vnfds;
-import org.onap.svnfm.simulator.notifications.VnfInstantiationNotification;
-import org.onap.svnfm.simulator.notifications.VnfmAdapterCreationNotification;
-import org.onap.svnfm.simulator.repository.VnfOperationRepository;
-import org.onap.svnfm.simulator.repository.VnfmRepository;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cache.Cache;
-import org.springframework.cache.CacheManager;
-import org.springframework.cache.annotation.CachePut;
-import org.springframework.cache.support.SimpleValueWrapper;
-import org.springframework.stereotype.Service;
-
-/**
- *
- * @author Lathishbabu Ganesan (lathishbabu.ganesan@est.tech)
- * @author Ronan Kenny (ronan.kenny@est.tech)
- */
-@Service
-public class SvnfmService {
-
- private VnfmRepository vnfmRepository;
- private VnfOperationRepository vnfOperationRepository;
- private VnfmHelper vnfmHelper;
- private ApplicationConfig applicationConfig;
- private CacheManager cacheManager;
- private Vnfds vnfds;
- private SubscriptionService subscriptionService;
-
- private final ExecutorService executor = Executors.newCachedThreadPool();
-
- private static final Logger LOGGER = LoggerFactory.getLogger(SvnfmService.class);
-
- @Autowired
- public SvnfmService(VnfmRepository vnfmRepository, VnfOperationRepository vnfOperationRepository,
- VnfmHelper vnfmHelper, ApplicationConfig applicationConfig, CacheManager cacheManager, Vnfds vnfds,
- SubscriptionService subscriptionService) {
- this.vnfmRepository = vnfmRepository;
- this.vnfOperationRepository = vnfOperationRepository;
- this.vnfmHelper = vnfmHelper;
- this.applicationConfig = applicationConfig;
- this.cacheManager = cacheManager;
- this.vnfds = vnfds;
- this.subscriptionService = subscriptionService;
- }
-
- public InlineResponse201 createVnf(final CreateVnfRequest createVNFRequest, final String id) {
- InlineResponse201 inlineResponse201 = null;
- try {
- final VnfInstance vnfInstance = vnfmHelper.createVnfInstance(createVNFRequest, id);
- vnfmRepository.save(vnfInstance);
- final Thread creationNotification = new Thread(new VnfmAdapterCreationNotification());
- creationNotification.start();
- inlineResponse201 = vnfmHelper.getInlineResponse201(vnfInstance);
- LOGGER.debug("Response from Create VNF {}", inlineResponse201);
- } catch (IllegalAccessException | InvocationTargetException e) {
- LOGGER.error("Failed in Create Vnf", e);
- }
- return inlineResponse201;
- }
-
- @CachePut(value = Constant.IN_LINE_RESPONSE_201_CACHE, key = "#id")
- public void updateVnf(final InstantiationStateEnum instantiationState,
- final InlineResponse201InstantiatedVnfInfo instantiatedVnfInfo, final String id,
- final List<InlineResponse201VimConnectionInfo> vimConnectionInfo) {
- final InlineResponse201 vnf = getVnf(id);
- vnf.setInstantiatedVnfInfo(instantiatedVnfInfo);
- vnf.setInstantiationState(instantiationState);
- vnf.setVimConnectionInfo(vimConnectionInfo);
- }
-
- public String instantiateVnf(final String vnfId) {
- final VnfOperation vnfOperation = buildVnfOperation(InlineResponse200.OperationEnum.INSTANTIATE, vnfId);
- vnfOperationRepository.save(vnfOperation);
- executor.submit(new InstantiateOperationProgressor(vnfOperation, this, vnfOperationRepository,
- applicationConfig, vnfds, subscriptionService));
- return vnfOperation.getId();
- }
-
- private VnfOperation buildVnfOperation(final InlineResponse200.OperationEnum operation, final String vnfId) {
- final VnfOperation vnfOperation = new VnfOperation();
- vnfOperation.setId(UUID.randomUUID().toString());
- vnfOperation.setOperation(operation);
- vnfOperation.setOperationState(InlineResponse200.OperationStateEnum.STARTING);
- vnfOperation.setVnfInstanceId(vnfId);
- return vnfOperation;
- }
-
- public InlineResponse200 getOperationStatus(final String operationId) {
- LOGGER.info("Getting operation status with id: {}", operationId);
- final Thread instantiationNotification = new Thread(new VnfInstantiationNotification());
- instantiationNotification.start();
- for (final VnfOperation operation : vnfOperationRepository.findAll()) {
- LOGGER.info("Operation found: {}", operation);
- if (operation.getId().equals(operationId)) {
- final ModelMapper modelMapper = new ModelMapper();
- return modelMapper.map(operation, InlineResponse200.class);
- }
- }
- return null;
- }
-
- public InlineResponse201 getVnf(final String vnfId) {
- final Cache ca = cacheManager.getCache(Constant.IN_LINE_RESPONSE_201_CACHE);
- if (ca == null)
- return null;
- final SimpleValueWrapper wrapper = (SimpleValueWrapper) ca.get(vnfId);
- if (wrapper == null)
- return null;
- final InlineResponse201 inlineResponse201 = (InlineResponse201) wrapper.get();
- if (inlineResponse201 != null) {
- LOGGER.info("Cache Read Successful");
- return inlineResponse201;
- }
- return null;
- }
-
- public String terminateVnf(final String vnfId) {
- final VnfOperation vnfOperation = buildVnfOperation(InlineResponse200.OperationEnum.TERMINATE, vnfId);
- vnfOperationRepository.save(vnfOperation);
- executor.submit(new TerminateOperationProgressor(vnfOperation, this, vnfOperationRepository, applicationConfig,
- vnfds, subscriptionService));
- return vnfOperation.getId();
- }
-
- public void registerSubscription(final LccnSubscriptionRequest subscription) {
- subscriptionService.registerSubscription(subscription);
- }
-}
diff --git a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/services/TerminateOperationProgressor.java b/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/services/TerminateOperationProgressor.java
deleted file mode 100644
index c829be9a4f..0000000000
--- a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/services/TerminateOperationProgressor.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.onap.svnfm.simulator.services;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.UUID;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.GrantsAddResources;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.GrantsAddResources.TypeEnum;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.GrantsResource;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.InlineResponse201;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model.LcnVnfLcmOperationOccurrenceNotificationAffectedVnfcs.ChangeTypeEnum;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201.InstantiationStateEnum;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201InstantiatedVnfInfoResourceHandle;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201InstantiatedVnfInfoVnfcResourceInfo;
-import org.onap.svnfm.simulator.config.ApplicationConfig;
-import org.onap.svnfm.simulator.model.VnfOperation;
-import org.onap.svnfm.simulator.model.Vnfds;
-import org.onap.svnfm.simulator.repository.VnfOperationRepository;
-
-public class TerminateOperationProgressor extends OperationProgressor {
-
- public TerminateOperationProgressor(final VnfOperation operation, final SvnfmService svnfmService,
- final VnfOperationRepository vnfOperationRepository, final ApplicationConfig applicationConfig,
- final Vnfds vnfds, final SubscriptionService subscriptionService) {
- super(operation, svnfmService, vnfOperationRepository, applicationConfig, vnfds, subscriptionService);
- }
-
- @Override
- protected List<GrantsAddResources> getAddResources(final String vnfdId) {
- return Collections.emptyList();
- }
-
- @Override
- protected List<GrantsAddResources> getRemoveResources(final String vnfdId) {
- final List<GrantsAddResources> resources = new ArrayList<>();
-
- final org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201 vnf =
- svnfmService.getVnf(operation.getVnfInstanceId());
- for (final InlineResponse201InstantiatedVnfInfoVnfcResourceInfo vnfc : vnf.getInstantiatedVnfInfo()
- .getVnfcResourceInfo()) {
- final GrantsAddResources addResource = new GrantsAddResources();
- addResource.setId(UUID.randomUUID().toString());
- addResource.setType(TypeEnum.COMPUTE);
- addResource.setVduId(vnfc.getVduId());
- final GrantsResource resource = new GrantsResource();
-
- final InlineResponse201InstantiatedVnfInfoResourceHandle computeResource = vnfc.getComputeResource();
- resource.setResourceId(computeResource.getResourceId());
- resource.setVimConnectionId(computeResource.getVimConnectionId());
- resource.setVimLevelResourceType(computeResource.getVimLevelResourceType());
- addResource.setResource(resource);
- resources.add(addResource);
-
- }
- return resources;
- }
-
- @Override
- protected List<InlineResponse201InstantiatedVnfInfoVnfcResourceInfo> handleGrantResponse(
- final InlineResponse201 grantResponse) {
- final List<InlineResponse201InstantiatedVnfInfoVnfcResourceInfo> vnfcs =
- svnfmService.getVnf(operation.getVnfInstanceId()).getInstantiatedVnfInfo().getVnfcResourceInfo();
- svnfmService.updateVnf(InstantiationStateEnum.NOT_INSTANTIATED, null, operation.getVnfInstanceId(), null);
- return vnfcs;
- }
-
- @Override
- protected ChangeTypeEnum getVnfcChangeType() {
- return ChangeTypeEnum.REMOVED;
- }
-
-
-
-}
diff --git a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/services/VnfmHelper.java b/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/services/VnfmHelper.java
deleted file mode 100644
index 8f1e299fec..0000000000
--- a/vnfm-simulator/vnfm-service/src/main/java/org/onap/svnfm/simulator/services/VnfmHelper.java
+++ /dev/null
@@ -1,106 +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.services;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.HashMap;
-import java.util.Map;
-import org.apache.commons.beanutils.BeanUtils;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.CreateVnfRequest;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201.InstantiationStateEnum;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201Links;
-import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201LinksSelf;
-import org.onap.svnfm.simulator.config.ApplicationConfig;
-import org.onap.svnfm.simulator.constants.Constant;
-import org.onap.svnfm.simulator.model.VnfInstance;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-/**
- *
- * @author Lathishbabu Ganesan (lathishbabu.ganesan@est.tech)
- * @author Ronan Kenny (ronan.kenny@est.tech)
- */
-@Component
-public class VnfmHelper {
-
- private ApplicationConfig applicationConfig;
-
- @Autowired
- public VnfmHelper(ApplicationConfig applicationConfig) {
- this.applicationConfig = applicationConfig;
- }
-
- /**
- *
- * @param createVNFRequest
- * @return vnfInstance
- */
- public VnfInstance createVnfInstance(final CreateVnfRequest createVNFRequest, final String id) {
- final VnfInstance vnfInstance = new VnfInstance();
- vnfInstance.setId(id);
- vnfInstance.setVnfInstanceName(createVNFRequest.getVnfInstanceName());
- vnfInstance.setVnfInstanceDescription(createVNFRequest.getVnfInstanceDescription());
- vnfInstance.setVnfdId(createVNFRequest.getVnfdId());
- vnfInstance.setVnfProvider(Constant.VNF_PROVIDER);
- vnfInstance.setVnfProductName(Constant.VNF_PROVIDER_NAME);
- return vnfInstance;
- }
-
- /**
- *
- * @param vnfInstance
- * @return inlineResponse201
- * @throws IllegalAccessException
- * @throws InvocationTargetException
- */
- public InlineResponse201 getInlineResponse201(final VnfInstance vnfInstance)
- throws IllegalAccessException, InvocationTargetException {
- final InlineResponse201 inlineResponse201 = new InlineResponse201();
- BeanUtils.copyProperties(inlineResponse201, vnfInstance);
- inlineResponse201.setVnfdVersion(Constant.VNFD_VERSION);
- inlineResponse201.setVnfSoftwareVersion(Constant.VNF_SOFTWARE_VERSION);
- inlineResponse201.setInstantiationState(InstantiationStateEnum.NOT_INSTANTIATED);
- inlineResponse201.setVnfConfigurableProperties(getConfigProperties());
- addAdditionalPRopertyInlineResponse201(inlineResponse201);
- return inlineResponse201;
- }
-
- private Map<String, String> getConfigProperties() {
- final Map<String, String> configProperties = new HashMap<>();
- configProperties.put("ipAddress", "10.11.12.13");
- return configProperties;
- }
-
- private void addAdditionalPRopertyInlineResponse201(final InlineResponse201 inlineResponse201) {
- final InlineResponse201LinksSelf VnfInstancesLinksSelf = new InlineResponse201LinksSelf();
- VnfInstancesLinksSelf
- .setHref(applicationConfig.getBaseUrl() + "/vnflcm/v1/vnf_instances/" + inlineResponse201.getId());
- final InlineResponse201LinksSelf VnfInstancesLinksSelfInstantiate = new InlineResponse201LinksSelf();
- VnfInstancesLinksSelfInstantiate.setHref(applicationConfig.getBaseUrl() + "/vnflcm/v1/vnf_instances/"
- + inlineResponse201.getId() + "/instantiate");
- final InlineResponse201Links inlineResponse201Links = new InlineResponse201Links();
- inlineResponse201Links.setSelf(VnfInstancesLinksSelf);
- inlineResponse201Links.setInstantiate(VnfInstancesLinksSelfInstantiate);
- inlineResponse201.setLinks(inlineResponse201Links);
- }
-}