aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--adapters/mso-oof-adapter/.gitignore33
-rw-r--r--adapters/mso-oof-adapter/pom.xml118
-rw-r--r--adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/MsoOofAdapterApplication.java32
-rw-r--r--adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/OofAdapterClientConfig.java76
-rw-r--r--adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/WebSecurityConfig.java37
-rw-r--r--adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/constants/Constants.java31
-rw-r--r--adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/exceptions/OofAdapterException.java39
-rw-r--r--adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/model/OofRequest.java52
-rw-r--r--adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/rest/OofCallbackHandler.java71
-rw-r--r--adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/rest/OofClient.java67
-rw-r--r--adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/utils/OofUtils.java110
-rw-r--r--adapters/mso-oof-adapter/src/test/java/org/onap/so/adapters/oof/rest/OofCallbackHandlerTest.java85
-rw-r--r--adapters/mso-oof-adapter/src/test/java/org/onap/so/adapters/oof/rest/OofClientTest.java86
-rw-r--r--adapters/mso-oof-adapter/src/test/java/org/onap/so/adapters/oof/utils/OofUtilsTest.java76
-rw-r--r--adapters/mso-oof-adapter/src/test/resources/testInputs/NsiSelectionOofRequest.json84
-rw-r--r--adapters/mso-oof-adapter/src/test/resources/testInputs/NsiSelectionResponse.json20
-rw-r--r--adapters/pom.xml1
-rw-r--r--packages/docker/pom.xml31
18 files changed, 1 insertions, 1048 deletions
diff --git a/adapters/mso-oof-adapter/.gitignore b/adapters/mso-oof-adapter/.gitignore
deleted file mode 100644
index 549e00a2a9..0000000000
--- a/adapters/mso-oof-adapter/.gitignore
+++ /dev/null
@@ -1,33 +0,0 @@
-HELP.md
-target/
-!.mvn/wrapper/maven-wrapper.jar
-!**/src/main/**/target/
-!**/src/test/**/target/
-
-### STS ###
-.apt_generated
-.classpath
-.factorypath
-.project
-.settings
-.springBeans
-.sts4-cache
-
-### IntelliJ IDEA ###
-.idea
-*.iws
-*.iml
-*.ipr
-
-### NetBeans ###
-/nbproject/private/
-/nbbuild/
-/dist/
-/nbdist/
-/.nb-gradle/
-build/
-!**/src/main/**/build/
-!**/src/test/**/build/
-
-### VS Code ###
-.vscode/
diff --git a/adapters/mso-oof-adapter/pom.xml b/adapters/mso-oof-adapter/pom.xml
deleted file mode 100644
index 4eb58871e4..0000000000
--- a/adapters/mso-oof-adapter/pom.xml
+++ /dev/null
@@ -1,118 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.onap.so</groupId>
- <artifactId>adapters</artifactId>
- <version>1.8.0-SNAPSHOT</version>
- </parent>
- <groupId>org.onap.so.adapters</groupId>
- <artifactId>mso-oof-adapter</artifactId>
- <name>mso-oof-adapter</name>
- <description>mso oof adapter</description>
-
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-dependencies</artifactId>
- <version>${springboot.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-webflux</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.cxf</groupId>
- <artifactId>cxf-spring-boot-starter-jaxrs</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.cxf</groupId>
- <artifactId>cxf-rt-rs-service-description-swagger</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-test</artifactId>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>org.junit.vintage</groupId>
- <artifactId>junit-vintage-engine</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.junit.jupiter</groupId>
- <artifactId>junit-jupiter-api</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.junit.jupiter</groupId>
- <artifactId>junit-jupiter-engine</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.junit.vintage</groupId>
- <artifactId>junit-vintage-engine</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <build>
- <finalName>${project.artifactId}-${project.version}</finalName>
- <testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>
- <plugins>
- <plugin>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-maven-plugin</artifactId>
- <configuration>
- <mainClass>org.onap.so.adapters.oof.MsoOofAdapterApplication</mainClass>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>repackage</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- </plugin>
- </plugins>
- <resources>
- <resource>
- <directory>src/main/resources</directory>
- <filtering>true</filtering>
- <excludes>
- <exclude>**/*.p12</exclude>
- <exclude>**/*.jks</exclude>
- </excludes>
- </resource>
- <resource>
- <directory>src/main/resources</directory>
- <filtering>false</filtering>
- <includes>
- <include>**/*.p12</include>
- <include>**/*.jks</include>
- </includes>
- </resource>
- </resources>
- </build>
-</project>
diff --git a/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/MsoOofAdapterApplication.java b/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/MsoOofAdapterApplication.java
deleted file mode 100644
index 78fbe6e271..0000000000
--- a/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/MsoOofAdapterApplication.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2020 Wipro Limited. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.adapters.oof;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-
-@SpringBootApplication
-public class MsoOofAdapterApplication {
-
- public static void main(String[] args) {
- SpringApplication.run(MsoOofAdapterApplication.class, args);
- }
-}
diff --git a/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/OofAdapterClientConfig.java b/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/OofAdapterClientConfig.java
deleted file mode 100644
index 5e13c592b7..0000000000
--- a/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/OofAdapterClientConfig.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2020 Wipro Limited. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.adapters.oof;
-
-import javax.net.ssl.HostnameVerifier;
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.SSLSession;
-import javax.net.ssl.TrustManager;
-import javax.net.ssl.X509TrustManager;
-import org.apache.http.client.HttpClient;
-import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
-import org.apache.http.impl.client.HttpClients;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
-import org.springframework.web.client.RestTemplate;
-
-@Configuration
-public class OofAdapterClientConfig {
-
- @Bean
- public RestTemplate getRestTemplate() {
- HttpComponentsClientHttpRequestFactory requestFactory =
- new HttpComponentsClientHttpRequestFactory(getHttpsClient());
- requestFactory.setConnectTimeout(60000);
- requestFactory.setReadTimeout(60000);
- return new RestTemplate(requestFactory);
- }
-
- private HttpClient getHttpsClient() {
- TrustManager[] trustAllCerts = new TrustManager[] {new X509TrustManager() {
- public java.security.cert.X509Certificate[] getAcceptedIssuers() {
- return null;
- }
-
- public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) {}
-
- public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) {}
- }};
-
- // Install the all-trusting trust manager
- try {
- SSLContext sc = SSLContext.getInstance("SSL");
- sc.init(null, trustAllCerts, new java.security.SecureRandom());
- HostnameVerifier hostnameVerifier = new HostnameVerifier() {
- @Override
- public boolean verify(String hostname, SSLSession session) {
- return true;
- }
- };
- SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sc,
- new String[] {"TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3"}, null, hostnameVerifier);
- return HttpClients.custom().setSSLSocketFactory(sslsf).build();
- } catch (Exception e) {
- throw new IllegalArgumentException(e);
- }
- }
-}
diff --git a/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/WebSecurityConfig.java b/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/WebSecurityConfig.java
deleted file mode 100644
index 9a07b0119f..0000000000
--- a/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/WebSecurityConfig.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2020 Wipro Limited. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.adapters.oof;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
-import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
-
-@EnableWebSecurity
-@Configuration
-public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
-
- @Override
- protected void configure(HttpSecurity http) throws Exception {
- http.csrf().disable();
- }
-
-}
diff --git a/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/constants/Constants.java b/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/constants/Constants.java
deleted file mode 100644
index 5d91bf38f8..0000000000
--- a/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/constants/Constants.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2020 Wipro Limited. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-package org.onap.so.adapters.oof.constants;
-
-public class Constants {
-
- public static final String OOF_ENDPOINT = "mso.oof.endpoint";
- public static final String OOF_AUTH = "mso.oof.auth";
- public static final String MSO_KEY = "mso.msoKey";
- public static final String CAMUNDA_URL = "mso.camundaURL";
- public static final String CAMUNDA_AUTH = "mso.camundaAuth";
- public static final String WORKFLOW_MESSAGE_ENPOINT = "mso.workflow.message.endpoint";
-
-}
diff --git a/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/exceptions/OofAdapterException.java b/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/exceptions/OofAdapterException.java
deleted file mode 100644
index ff16d7442c..0000000000
--- a/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/exceptions/OofAdapterException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2020 Wipro Limited. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.adapters.oof.exceptions;
-
-public class OofAdapterException extends Exception {
-
- private static final long serialVersionUID = 1L;
-
- public OofAdapterException(String message) {
- super(message);
- }
-
- public OofAdapterException(Throwable e) {
- super(e);
- }
-
- public OofAdapterException(String message, Throwable e) {
- super(message, e);
- }
-
-}
diff --git a/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/model/OofRequest.java b/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/model/OofRequest.java
deleted file mode 100644
index 1eb694fd96..0000000000
--- a/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/model/OofRequest.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2020 Wipro Limited. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-package org.onap.so.adapters.oof.model;
-
-/**
- * POJO representing generic request payload from BPMN processes
- */
-public class OofRequest {
-
- private String apiPath;
-
- private Object requestDetails;
-
- public String getApiPath() {
- return apiPath;
- }
-
- public void setApiPath(String apiPath) {
- this.apiPath = apiPath;
- }
-
- public Object getRequestDetails() {
- return requestDetails;
- }
-
- public void setRequestDetails(Object requestDetails) {
- this.requestDetails = requestDetails;
- }
-
- @Override
- public String toString() {
- return "{\"apiPath:\"\"" + apiPath + "\"\", requestDetails:\"\"" + requestDetails + "}";
- }
-
-}
diff --git a/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/rest/OofCallbackHandler.java b/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/rest/OofCallbackHandler.java
deleted file mode 100644
index f8da6c6d2e..0000000000
--- a/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/rest/OofCallbackHandler.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2020 Wipro Limited. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.adapters.oof.rest;
-
-import org.onap.so.adapters.oof.exceptions.OofAdapterException;
-import org.onap.so.adapters.oof.utils.OofUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.ResponseEntity;
-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.RestController;
-import org.springframework.web.client.RestTemplate;
-
-/**
- * A generic call back handler to receive async response from OOF
- */
-@RestController
-@RequestMapping("/so/adapters/oof/callback/")
-public class OofCallbackHandler {
-
- @Autowired
- OofUtils utils;
-
- @Autowired
- RestTemplate restTemplate;
-
- private static final Logger logger = LoggerFactory.getLogger(OofCallbackHandler.class);
-
- @PostMapping("/{version:[vV][1]}/{messageEventName}/{correlator}")
- public ResponseEntity<String> processCallback(@PathVariable("messageEventName") String messageEventName,
- @PathVariable("correlator") String correlator, @RequestBody String oofCallbackRequest)
- throws OofAdapterException {
- logger.debug("Oof Async response received for event : {} , callback request body : {} ", messageEventName,
- oofCallbackRequest);
- String camundaMsgUrl = utils.getCamundaMsgUrl(messageEventName, correlator);
- HttpEntity<String> request = new HttpEntity<String>(oofCallbackRequest, utils.getCamundaHeaders());
- try {
- ResponseEntity<String> response = restTemplate.postForEntity(camundaMsgUrl, request, String.class);
- logger.debug("Response from BPMN : {} ", response);
- return response;
- } catch (Exception e) {
- logger.warn("Error injecting message event into BPMN {} {} ", e.getCause(), e.getMessage());
- throw new OofAdapterException(e);
- }
-
- }
-
-}
diff --git a/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/rest/OofClient.java b/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/rest/OofClient.java
deleted file mode 100644
index 3a91ec495e..0000000000
--- a/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/rest/OofClient.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2020 Wipro Limited. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.adapters.oof.rest;
-
-import org.onap.so.adapters.oof.exceptions.OofAdapterException;
-import org.onap.so.adapters.oof.model.OofRequest;
-import org.onap.so.adapters.oof.utils.OofUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.ResponseEntity;
-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.RestController;
-import org.springframework.web.client.RestTemplate;
-
-/**
- * A generic client class to call OOF with request from BPMN
- */
-@RestController
-@RequestMapping("/so/adapters/oof/")
-public class OofClient {
-
- @Autowired
- RestTemplate restTemplate;
-
- @Autowired
- OofUtils utils;
-
- private static final Logger logger = LoggerFactory.getLogger(OofClient.class);
-
- @PostMapping("/{version:[vV][1]}")
- public ResponseEntity<String> callOof(@RequestBody OofRequest oofRequest) throws OofAdapterException {
- try {
- logger.debug("Received Request from BPEL {} ", oofRequest);
- String oofUrl = utils.getOofurl(oofRequest.getApiPath());
- HttpEntity<?> request = new HttpEntity<>(oofRequest.getRequestDetails(), utils.getOofHttpHeaders());
- ResponseEntity<String> response = restTemplate.postForEntity(oofUrl, request, String.class);
- logger.debug("Response from OOF : {} ", response);
- return response;
- } catch (Exception e) {
- logger.warn("Error while calling OOF {} {} ", e.getCause(), e.getMessage());
- throw new OofAdapterException(e);
- }
- }
-
-}
diff --git a/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/utils/OofUtils.java b/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/utils/OofUtils.java
deleted file mode 100644
index f45baa30fe..0000000000
--- a/adapters/mso-oof-adapter/src/main/java/org/onap/so/adapters/oof/utils/OofUtils.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2020 Wipro Limited. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.adapters.oof.utils;
-
-import java.security.GeneralSecurityException;
-import java.util.ArrayList;
-import java.util.List;
-import javax.xml.bind.DatatypeConverter;
-import org.onap.so.adapters.oof.constants.Constants;
-import org.onap.so.utils.CryptoUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.core.env.Environment;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.MediaType;
-import org.springframework.stereotype.Component;
-
-@Component
-public class OofUtils {
- private static Logger logger = LoggerFactory.getLogger(OofUtils.class);
-
- @Autowired
- private Environment env;
-
- /**
- * @param messageEventName
- * @param correlator
- * @return
- */
- public String getCamundaMsgUrl(String messageEventName, String correlator) {
- System.out.println(env);
- String camundaMsgUrl = new StringBuilder(env.getRequiredProperty(Constants.WORKFLOW_MESSAGE_ENPOINT))
- .append("/").append(messageEventName).append("/").append(correlator).toString();
- return camundaMsgUrl;
- }
-
- /**
- * @return
- */
- public HttpHeaders getCamundaHeaders() {
- HttpHeaders headers = new HttpHeaders();
- List<MediaType> acceptableMediaTypes = new ArrayList<>();
- acceptableMediaTypes.add(MediaType.ALL);
- headers.setAccept(acceptableMediaTypes);
- headers.setContentType(MediaType.APPLICATION_JSON);
- headers.add(HttpHeaders.AUTHORIZATION, addAuthorizationHeader(env.getRequiredProperty(Constants.CAMUNDA_AUTH),
- env.getRequiredProperty(Constants.MSO_KEY)));
- return headers;
- }
-
- /**
- * @param auth
- * @param msoKey
- * @return
- */
- protected String addAuthorizationHeader(String auth, String msoKey) {
- String basicAuth = null;
- try {
- String userCredentials = CryptoUtils.decrypt(auth, msoKey);
- if (userCredentials != null) {
- basicAuth = "Basic " + DatatypeConverter.printBase64Binary(userCredentials.getBytes());
- }
- } catch (GeneralSecurityException e) {
- logger.error("Security exception", e);
- }
- return basicAuth;
- }
-
- /**
- * @return
- * @throws Exception
- */
- public HttpHeaders getOofHttpHeaders() throws Exception {
- HttpHeaders headers = new HttpHeaders();
- List<MediaType> acceptableMediaTypes = new ArrayList<>();
- acceptableMediaTypes.add(MediaType.APPLICATION_JSON);
- headers.setAccept(acceptableMediaTypes);
- headers.setContentType(MediaType.APPLICATION_JSON);
- return headers;
- }
-
- /**
- * @param apiPath
- * @return
- */
- public String getOofurl(String apiPath) {
- return new StringBuilder(env.getRequiredProperty(Constants.OOF_ENDPOINT)).append(apiPath).toString();
- }
-
-
-}
diff --git a/adapters/mso-oof-adapter/src/test/java/org/onap/so/adapters/oof/rest/OofCallbackHandlerTest.java b/adapters/mso-oof-adapter/src/test/java/org/onap/so/adapters/oof/rest/OofCallbackHandlerTest.java
deleted file mode 100644
index 3a2f7f5e11..0000000000
--- a/adapters/mso-oof-adapter/src/test/java/org/onap/so/adapters/oof/rest/OofCallbackHandlerTest.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2020 Wipro Limited. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.adapters.oof.rest;
-
-import static org.mockito.Mockito.when;
-import java.io.File;
-import java.io.IOException;
-import org.junit.Before;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
-import org.mockito.Mockito;
-import org.onap.so.adapters.oof.utils.OofUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.boot.test.web.client.TestRestTemplate;
-import org.springframework.core.io.ClassPathResource;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.MediaType;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.client.RestTemplate;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-
-@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
-class OofCallbackHandlerTest {
-
- @Autowired
- TestRestTemplate restTemplate;
-
- @MockBean
- OofUtils oofutils;
-
- @MockBean
- RestTemplate mockrestTemplate;
-
- @Before
- void prepareMocks() throws Exception {
- ResponseEntity<Object> responseEntity = new ResponseEntity<>(HttpStatus.OK);
- when(oofutils.getCamundaHeaders()).thenReturn(new HttpHeaders());
- when(oofutils.getCamundaMsgUrl(Mockito.anyString(), Mockito.anyString())).thenReturn("oofurl");
- when(mockrestTemplate.postForEntity(Mockito.anyString(), Mockito.any(), Mockito.any()))
- .thenReturn(responseEntity);
- }
-
- @Test
- void processCallbackTest() throws Exception {
- Object request = prepareOofResponse();
- HttpHeaders headers = new HttpHeaders();
- headers.setContentType(MediaType.APPLICATION_JSON);
- HttpEntity<Object> entity = new HttpEntity<Object>(request, headers);
- ResponseEntity<String> response = restTemplate.postForEntity(
- "/so/adapters/oof/callback/v1/NSISelectionResponse/d88da85c-d9e8-4f73-b837-3a72a431622a", entity,
- String.class);
- Assertions.assertEquals(HttpStatus.OK, response.getStatusCode());
- }
-
- private Object prepareOofResponse() throws IOException {
- File file = new ClassPathResource("testInputs/NsiSelectionResponse.json").getFile();
- ObjectMapper objectMapper = new ObjectMapper();
- return objectMapper.readValue(file, Object.class);
- }
-
-}
diff --git a/adapters/mso-oof-adapter/src/test/java/org/onap/so/adapters/oof/rest/OofClientTest.java b/adapters/mso-oof-adapter/src/test/java/org/onap/so/adapters/oof/rest/OofClientTest.java
deleted file mode 100644
index ff38a9af63..0000000000
--- a/adapters/mso-oof-adapter/src/test/java/org/onap/so/adapters/oof/rest/OofClientTest.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2020 Wipro Limited. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.adapters.oof.rest;
-
-import static org.mockito.Mockito.when;
-import java.io.File;
-import java.io.IOException;
-import org.junit.Before;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mockito;
-import org.onap.so.adapters.oof.model.OofRequest;
-import org.onap.so.adapters.oof.utils.OofUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.boot.test.web.client.TestRestTemplate;
-import org.springframework.core.io.ClassPathResource;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.MediaType;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.client.RestTemplate;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
-class OofClientTest {
-
- @Autowired
- TestRestTemplate restTemplate;
-
- @MockBean
- OofUtils oofutils;
-
- @MockBean
- RestTemplate mockrestTemplate;
-
- @Before
- void prepareMocks() throws Exception {
- ResponseEntity<Object> responseEntity = new ResponseEntity<>(HttpStatus.OK);
- when(oofutils.getOofHttpHeaders()).thenReturn(new HttpHeaders());
- when(oofutils.getOofurl(Mockito.anyString())).thenReturn("oofurl");
- when(mockrestTemplate.postForEntity(Mockito.anyString(), Mockito.any(), Mockito.any()))
- .thenReturn(responseEntity);
- }
-
- @Test
- void callOofTest() throws Exception {
- OofRequest request = prepareOofRequest();
- System.out.println(request);
- HttpHeaders headers = new HttpHeaders();
- headers.setContentType(MediaType.APPLICATION_JSON);
- HttpEntity<OofRequest> entity = new HttpEntity<OofRequest>(request, headers);
- ResponseEntity<String> response = restTemplate.postForEntity("/so/adapters/oof/v1", entity, String.class);
- Assertions.assertEquals(HttpStatus.OK, response.getStatusCode());
- }
-
- private OofRequest prepareOofRequest() throws IOException {
- File file = new ClassPathResource("testInputs/NsiSelectionOofRequest.json").getFile();
- ObjectMapper objectMapper = new ObjectMapper();
- return objectMapper.readValue(file, OofRequest.class);
- }
-
-
-}
diff --git a/adapters/mso-oof-adapter/src/test/java/org/onap/so/adapters/oof/utils/OofUtilsTest.java b/adapters/mso-oof-adapter/src/test/java/org/onap/so/adapters/oof/utils/OofUtilsTest.java
deleted file mode 100644
index e68fa10c3e..0000000000
--- a/adapters/mso-oof-adapter/src/test/java/org/onap/so/adapters/oof/utils/OofUtilsTest.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2020 Wipro Limited. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.adapters.oof.utils;
-
-import static org.mockito.Mockito.when;
-import java.security.GeneralSecurityException;
-import javax.xml.bind.DatatypeConverter;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.onap.so.utils.CryptoUtils;
-import org.springframework.core.env.Environment;
-import org.springframework.http.HttpHeaders;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-@ExtendWith(SpringExtension.class)
-class OofUtilsTest {
-
- @InjectMocks
- OofUtils oofUtils;
-
- @Mock
- Environment env;
-
- @Test
- void testGetCamundaMsgUrl() {
- when(env.getRequiredProperty(Mockito.anyString())).thenReturn("dummyString");
- String camundamsgUrl = oofUtils.getCamundaMsgUrl("samplemessage", "sampleCorrelator");
- Assertions.assertNotNull(camundamsgUrl);
- }
-
-
- void testGetCamundaHeaders() throws GeneralSecurityException {
- when(env.getRequiredProperty(Mockito.anyString())).thenReturn("dummyString");
- when(CryptoUtils.decrypt(Mockito.anyString(), Mockito.anyString())).thenReturn("decryptedString");
- HttpHeaders headers = oofUtils.getCamundaHeaders();
- Assertions.assertNotNull(headers);
- }
-
-
- @Test
- void testGetOofHttpHeaders() throws Exception {
- when(env.getRequiredProperty(Mockito.anyString())).thenReturn("dummyString");
- HttpHeaders headers = oofUtils.getOofHttpHeaders();
- Assertions.assertNotNull(headers);
- }
-
- @Test
- void testGetOofurl() {
- when(env.getRequiredProperty(Mockito.anyString())).thenReturn("dummyString");
- String oofurl = oofUtils.getOofurl("/api/v1/");
- Assertions.assertNotNull(oofurl);
- }
-
-}
diff --git a/adapters/mso-oof-adapter/src/test/resources/testInputs/NsiSelectionOofRequest.json b/adapters/mso-oof-adapter/src/test/resources/testInputs/NsiSelectionOofRequest.json
deleted file mode 100644
index 569aae9f38..0000000000
--- a/adapters/mso-oof-adapter/src/test/resources/testInputs/NsiSelectionOofRequest.json
+++ /dev/null
@@ -1,84 +0,0 @@
-{
- "apiPath":"/api/oof/selection/nsi/v1",
- "requestDetails":{
- "serviceProfile":{
- "blob":"content"
- },
- "requestInfo":{
- "transactionId":"d290f1ee-6c54-4b01-90e6-d701748f0851",
- "requestId":"d290f1ee-6c54-4b01-90e6-d701748f0851",
- "callbackUrl":"myDomain.com/myCallback",
- "callbackHeader":{
- "blob":"content"
- },
- "sourceId":"d290f1ee-6c54-4b01-90e6-d701748f0851",
- "timeout":5,
- "numSolutions":1
- },
- "NSTInfo":{
- "UUID":"3fa85f64-5717-4562-b3fc-2c963f66afa1",
- "invariantUUID":"7ua85f64-5717-4562-b3fc-2c963f66afa6",
- "name":"embb-nst"
- },
- "NSSTInfo":[
- {
- "UUID":"3fa85f64-5717-4562-b3fc-2c963f66afa2",
- "invariantUUID":"2fa85f64-5717-4562-b3fc-2c963f66afa6",
- "name":"embb-an-nf"
- },
- {
- "UUID":"3fa85f64-5717-4562-b3fc-2c963f66afa3",
- "invariantUUID":"4fa85f64-5717-4562-b3fc-2c963f66afa6",
- "name":"embb-cn"
- },
- {
- "UUID":"3fa85f64-5717-4562-b3fc-2c963f66afa4",
- "invariantUUID":"5ta85f64-5717-4562-b3fc-2c963f66afa6",
- "name":"embb-tn-fh"
- },
- {
- "UUID":"3fa85f64-5717-4562-b3fc-2c963f66afa5",
- "invariantUUID":"6ya85f64-5717-4562-b3fc-2c963f66afa6",
- "name":"embb-tn-mh"
- },
- {
- "UUID":"3fa85f64-5717-4562-b3fc-2c963f66afa7",
- "invariantUUID":"7ua85f64-5717-4562-b3fc-2c963f66afa6",
- "name":"embb-tn-bh"
- }
- ],
- "preferReuse":false,
- "subnetCapabilities":[
- {
- "domainType":"AN-NF",
- "capabilityDetails":{
- "blob":"content"
- }
- },
- {
- "domainType":"CN",
- "capabilityDetails":{
- "blob":"content"
- }
- },
- {
- "domainType":"TN-FH",
- "capabilityDetails":{
- "blob":"content"
- }
- },
- {
- "domainType":"TN-MH",
- "capabilityDetails":{
- "blob":"content"
- }
- },
- {
- "domainType":"TN-BH",
- "capabilityDetails":{
- "blob":"content"
- }
- }
- ]
-}
-} \ No newline at end of file
diff --git a/adapters/mso-oof-adapter/src/test/resources/testInputs/NsiSelectionResponse.json b/adapters/mso-oof-adapter/src/test/resources/testInputs/NsiSelectionResponse.json
deleted file mode 100644
index 4ddca3eaf9..0000000000
--- a/adapters/mso-oof-adapter/src/test/resources/testInputs/NsiSelectionResponse.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "transactionId": "s4r0f1ee-6c54-4b01-90e6-d701748f0851",
- "requestId": "r500f1ee-6c54-4b01-90e6-d701748f0851",
- "requestStatus": "completed",
- "solutions": [
- {
- "existingNSI": false,
- "newNSISolution": {
- "sliceProfiles": [
- {
- "domainType":"CN"
- }
- ],
- "matchLevel": {
- "blob": "content"
- }
- }
- }
- ]
-}
diff --git a/adapters/pom.xml b/adapters/pom.xml
index 1bac834cf4..d3ff6b0954 100644
--- a/adapters/pom.xml
+++ b/adapters/pom.xml
@@ -21,7 +21,6 @@
<module>mso-catalog-db-adapter</module>
<module>mso-openstack-adapters</module>
<module>etsi-sol003-adapter</module>
- <module>mso-oof-adapter</module>
<module>so-appc-orchestrator</module>
</modules>
diff --git a/packages/docker/pom.xml b/packages/docker/pom.xml
index 7ce7d26419..60919f9540 100644
--- a/packages/docker/pom.xml
+++ b/packages/docker/pom.xml
@@ -199,30 +199,6 @@
</build>
</image>
<image>
- <name>${docker.image.prefix}/so-oof-adapter</name>
- <build>
- <cleanup>try</cleanup>
- <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
- <tags>
- <tag>${project.version}</tag>
- <tag>${project.version}-${maven.build.timestamp}</tag>
- <tag>${project.docker.latesttag.version}</tag>
- </tags>
- <assembly>
- <inline>
- <dependencySets>
- <dependencySet>
- <includes>
- <include>org.onap.so.adapters:mso-oof-adapter</include>
- </includes>
- <outputFileNameMapping>app.jar</outputFileNameMapping>
- </dependencySet>
- </dependencySets>
- </inline>
- </assembly>
- </build>
- </image>
- <image>
<name>${docker.image.prefix}/so-appc-orchestrator</name>
<build>
<cleanup>try</cleanup>
@@ -421,7 +397,7 @@
<goal>push</goal>
</goals>
<configuration>
- <image>${docker.image.prefix}/catalog-db-adapter,${docker.image.prefix}/request-db-adapter,${docker.image.prefix}/sdnc-adapter,${docker.image.prefix}/openstack-adapter,${docker.image.prefix}/sdc-controller,${docker.image.prefix}/bpmn-infra,${docker.image.prefix}/api-handler-infra,${docker.image.prefix}/so-monitoring,${docker.image.prefix}/so-simulator,${docker.image.prefix}/so-oof-adapter,${docker.image.prefix}/so-etsi-nfvo-ns-lcm</image>
+ <image>${docker.image.prefix}/catalog-db-adapter,${docker.image.prefix}/request-db-adapter,${docker.image.prefix}/sdnc-adapter,${docker.image.prefix}/openstack-adapter,${docker.image.prefix}/sdc-controller,${docker.image.prefix}/bpmn-infra,${docker.image.prefix}/api-handler-infra,${docker.image.prefix}/so-monitoring,${docker.image.prefix}/so-simulator,${docker.image.prefix}/so-etsi-nfvo-ns-lcm</image>
</configuration>
</execution>
</executions>
@@ -466,11 +442,6 @@
</dependency>
<dependency>
<groupId>org.onap.so.adapters</groupId>
- <artifactId>mso-oof-adapter</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.onap.so.adapters</groupId>
<artifactId>so-appc-orchestrator</artifactId>
<version>${project.version}</version>
</dependency>