summaryrefslogtreecommitdiffstats
path: root/prh-app-server/src
diff options
context:
space:
mode:
Diffstat (limited to 'prh-app-server/src')
-rw-r--r--prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/CloudConfiguration.java8
-rw-r--r--prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfig.java25
-rw-r--r--prh-app-server/src/main/resources/application.properties17
-rw-r--r--prh-app-server/src/main/resources/application.yaml19
-rw-r--r--prh-app-server/src/main/resources/keystore-local (renamed from prh-app-server/src/main/resources/keystore.jks)bin2643 -> 2643 bytes
-rw-r--r--prh-app-server/src/main/resources/keystore-onapbin0 -> 2196 bytes
-rw-r--r--prh-app-server/src/main/resources/keystore.jks.oldbin2272 -> 0 bytes
-rw-r--r--prh-app-server/src/main/resources/prh_endpoints.json47
-rw-r--r--prh-app-server/src/main/resources/scheduled-context.xml16
-rw-r--r--prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfigTest.java39
10 files changed, 104 insertions, 67 deletions
diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/CloudConfiguration.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/CloudConfiguration.java
index 10626a32..e598b4b3 100644
--- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/CloudConfiguration.java
+++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/CloudConfiguration.java
@@ -89,7 +89,8 @@ public class CloudConfiguration extends AppConfig {
LOGGER.info("Received application configuration: {}", jsonObject);
CloudConfigParser cloudConfigParser = new CloudConfigParser(jsonObject);
dmaapPublisherCloudConfiguration = cloudConfigParser.getDmaapPublisherConfig();
- aaiClientCloudConfiguration = cloudConfigParser.getAaiClientConfig();
+ aaiClientCloudConfiguration = ImmutableAaiClientConfiguration.copyOf(cloudConfigParser.getAaiClientConfig())
+ .withAaiHeaders(aaiClientConfiguration.aaiHeaders());
dmaapConsumerCloudConfiguration = cloudConfigParser.getDmaapConsumerConfig();
}
@@ -100,11 +101,10 @@ public class CloudConfiguration extends AppConfig {
@Override
public AaiClientConfiguration getAaiClientConfiguration() {
- return Optional.ofNullable(ImmutableAaiClientConfiguration.copyOf(aaiClientCloudConfiguration)
- .withAaiHeaders(aaiClientConfiguration.aaiHeaders()))
- .orElse(ImmutableAaiClientConfiguration.copyOf(super.getAaiClientConfiguration()));
+ return Optional.ofNullable(aaiClientCloudConfiguration).orElse(super.getAaiClientConfiguration());
}
+
@Override
public DmaapConsumerConfiguration getDmaapConsumerConfiguration() {
return Optional.ofNullable(dmaapConsumerCloudConfiguration).orElse(super.getDmaapConsumerConfiguration());
diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfig.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfig.java
index 03d24382..882e4d7e 100644
--- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfig.java
+++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfig.java
@@ -36,7 +36,6 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.ServiceLoader;
-import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import org.onap.dcaegen2.services.prh.config.AaiClientConfiguration;
import org.onap.dcaegen2.services.prh.config.DmaapConsumerConfiguration;
@@ -44,9 +43,11 @@ import org.onap.dcaegen2.services.prh.config.DmaapPublisherConfiguration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Configuration;
+import org.springframework.core.io.Resource;
/**
* @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 4/9/18
@@ -71,9 +72,8 @@ public abstract class PrhAppConfig implements Config {
DmaapPublisherConfiguration dmaapPublisherConfiguration;
- @NotEmpty
- private String filepath;
-
+ @Value("classpath:prh_endpoints.json")
+ private Resource resourceFile;
@Override
public DmaapConsumerConfiguration getDmaapConsumerConfiguration() {
@@ -97,7 +97,8 @@ public abstract class PrhAppConfig implements Config {
ServiceLoader.load(TypeAdapterFactory.class).forEach(gsonBuilder::registerTypeAdapterFactory);
JsonParser parser = new JsonParser();
JsonObject jsonObject;
- try (InputStream inputStream = getInputStream(filepath)) {
+
+ try (InputStream inputStream = resourceFile.getInputStream()) {
JsonElement rootElement = getJsonElement(parser, inputStream);
if (rootElement.isJsonObject()) {
jsonObject = rootElement.getAsJsonObject();
@@ -114,7 +115,7 @@ public abstract class PrhAppConfig implements Config {
DmaapPublisherConfiguration.class);
}
} catch (IOException e) {
- LOGGER.warn("Problem with file loading, file: {}", filepath, e);
+ LOGGER.warn("Problem with file loading, file ", e);
} catch (JsonSyntaxException e) {
LOGGER.warn("Problem with Json deserialization", e);
}
@@ -129,16 +130,12 @@ public abstract class PrhAppConfig implements Config {
return gsonBuilder.create().fromJson(jsonObject, type);
}
- InputStream getInputStream(@NotNull String filepath) throws IOException {
- return new BufferedInputStream(new FileInputStream(filepath));
- }
-
- String getFilepath() {
- return this.filepath;
+ void setResourceFile(Resource resourceFile) {
+ this.resourceFile = resourceFile;
}
- public void setFilepath(String filepath) {
- this.filepath = filepath;
+ InputStream getInputStream(@NotNull String filepath) throws IOException {
+ return new BufferedInputStream(new FileInputStream(filepath));
}
public void setXOnapRequestId(String xonaprequestid) {
diff --git a/prh-app-server/src/main/resources/application.properties b/prh-app-server/src/main/resources/application.properties
deleted file mode 100644
index e343a360..00000000
--- a/prh-app-server/src/main/resources/application.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-spring.profiles.active=prod
-server.port=8433
-server.ssl.key-store-type=PKCS12
-server.ssl.key-store-password=nokiapnf
-server.ssl.key-store=classpath:keystore.jks
-server.ssl.key-password=nokiapnf
-server.ssl.key-alias=tomcat-localhost
-logging.level.root=ERROR
-logging.level.org.springframework=ERROR
-logging.level.org.springframework.data=ERROR
-logging.level.org.onap.dcaegen2.services.prh=INFO
-logging.level.org.springframework.web.reactive=WARN
-logging.level.reactor.ipc.netty.http.client=WARN
-app.filepath=config/prh_endpoints.json
-app.xonaprequestid=requestID
-app.xinvocationid=invocationID
-
diff --git a/prh-app-server/src/main/resources/application.yaml b/prh-app-server/src/main/resources/application.yaml
new file mode 100644
index 00000000..88d1e401
--- /dev/null
+++ b/prh-app-server/src/main/resources/application.yaml
@@ -0,0 +1,19 @@
+spring:
+ profiles:
+ active: prod
+server:
+ port: 8433
+ ssl:
+ key-store-type: PKCS12
+ key-store-password: nokiapnf
+ key-store: classpath:keystore-local
+ key-password: nokiapnf
+ keyAlias: tomcat-localhost
+logging:
+ level:
+ ROOT: ERROR
+ org.onap.dcaegen2.services.prh: INFO
+ reactor.ipc.netty.http.client: WARN
+ org.springframework: ERROR
+ org.springframework.data: ERROR
+ org.springframework.web.reactive: WARN
diff --git a/prh-app-server/src/main/resources/keystore.jks b/prh-app-server/src/main/resources/keystore-local
index cd27cc01..cd27cc01 100644
--- a/prh-app-server/src/main/resources/keystore.jks
+++ b/prh-app-server/src/main/resources/keystore-local
Binary files differ
diff --git a/prh-app-server/src/main/resources/keystore-onap b/prh-app-server/src/main/resources/keystore-onap
new file mode 100644
index 00000000..26a16f75
--- /dev/null
+++ b/prh-app-server/src/main/resources/keystore-onap
Binary files differ
diff --git a/prh-app-server/src/main/resources/keystore.jks.old b/prh-app-server/src/main/resources/keystore.jks.old
deleted file mode 100644
index 8a2b4f99..00000000
--- a/prh-app-server/src/main/resources/keystore.jks.old
+++ /dev/null
Binary files differ
diff --git a/prh-app-server/src/main/resources/prh_endpoints.json b/prh-app-server/src/main/resources/prh_endpoints.json
new file mode 100644
index 00000000..b3bff7d9
--- /dev/null
+++ b/prh-app-server/src/main/resources/prh_endpoints.json
@@ -0,0 +1,47 @@
+{
+ "configs": {
+ "dmaap": {
+ "dmaapConsumerConfiguration": {
+ "dmaapHostName": "localhost",
+ "dmaapPortNumber": 2222,
+ "dmaapTopicName": "/events/unauthenticated.VES_PNFREG_OUTPUT",
+ "dmaapProtocol": "http",
+ "dmaapUserName": "admin",
+ "dmaapUserPassword": "admin",
+ "dmaapContentType": "application/json",
+ "consumerId": "c12",
+ "consumerGroup": "OpenDcae-c12",
+ "timeoutMs": -1,
+ "messageLimit": 1
+ },
+ "dmaapProducerConfiguration": {
+ "dmaapHostName": "localhost",
+ "dmaapPortNumber": 2223,
+ "dmaapTopicName": "/events/unauthenticated.PNF_READY",
+ "dmaapProtocol": "http",
+ "dmaapUserName": "admin",
+ "dmaapUserPassword": "admin",
+ "dmaapContentType": "application/json"
+ }
+ },
+ "aai": {
+ "aaiClientConfiguration": {
+ "aaiHost": "localhost",
+ "aaiPort": 8080,
+ "aaiProtocol": "https",
+ "aaiUserName": "AAI",
+ "aaiUserPassword": "AAI",
+ "aaiIgnoreSslCertificateErrors": true,
+ "aaiBasePath": "/aai/v12",
+ "aaiPnfPath": "/network/pnfs/pnf",
+ "aaiHeaders": {
+ "X-FromAppId": "prh",
+ "X-TransactionId": "9999",
+ "Accept": "application/json",
+ "Real-Time": "true",
+ "Content-Type": "application/merge-patch+json"
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/prh-app-server/src/main/resources/scheduled-context.xml b/prh-app-server/src/main/resources/scheduled-context.xml
deleted file mode 100644
index 82067c17..00000000
--- a/prh-app-server/src/main/resources/scheduled-context.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns:context="http://www.springframework.org/schema/context"
- xmlns:task="http://www.springframework.org/schema/task"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="http://www.springframework.org/schema/beans"
- xsi:schemaLocation="http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.0.xsd
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
-
- <context:component-scan
- base-package="org.onap.dcaegen2.services.prh"/>
- <task:scheduled-tasks>
- <task:scheduled fixed-rate="1000" method="startTasks"
- ref="scheduleController"/>
- </task:scheduled-tasks>
-</beans>
diff --git a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfigTest.java b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfigTest.java
index 8ad2a94f..01866309 100644
--- a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfigTest.java
+++ b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfigTest.java
@@ -41,6 +41,8 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.onap.dcaegen2.services.prh.integration.junit5.mockito.MockitoExtension;
+import org.springframework.core.io.InputStreamResource;
+import org.springframework.core.io.Resource;
/**
* @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 4/9/18
@@ -78,8 +80,16 @@ class PrhAppConfigTest {
private static PrhAppConfig prhAppConfig;
private static AppConfig appConfig;
- private static String filePath = Objects
- .requireNonNull(PrhAppConfigTest.class.getClassLoader().getResource(PRH_ENDPOINTS)).getFile();
+ private static InputStream inputStream;
+
+ static {
+ try {
+ inputStream = Objects
+ .requireNonNull(PrhAppConfigTest.class.getClassLoader().getResource(PRH_ENDPOINTS)).openStream();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
@BeforeEach
void setUp() {
@@ -88,17 +98,15 @@ class PrhAppConfigTest {
}
@Test
- void whenApplicationWasStarted_FilePathIsSet() {
+ void whenApplicationWasStarted_FilePathIsSet() throws IOException {
//
// When
//
- prhAppConfig.setFilepath(filePath);
+ doReturn(inputStream).when(prhAppConfig).getInputStream(anyString());
//
// Then
//
- verify(prhAppConfig, times(1)).setFilepath(anyString());
verify(prhAppConfig, times(0)).initFileStreamReader();
- Assertions.assertEquals(filePath, prhAppConfig.getFilepath());
}
@Test
@@ -112,7 +120,7 @@ class PrhAppConfigTest {
//
// When
//
- prhAppConfig.setFilepath(filePath);
+ prhAppConfig.setResourceFile(new InputStreamResource(inputStream));
doReturn(inputStream).when(prhAppConfig).getInputStream(any());
prhAppConfig.initFileStreamReader();
appConfig.dmaapConsumerConfiguration = prhAppConfig.getDmaapConsumerConfiguration();
@@ -121,7 +129,6 @@ class PrhAppConfigTest {
//
// Then
//
- verify(prhAppConfig, times(1)).setFilepath(anyString());
verify(prhAppConfig, times(1)).initFileStreamReader();
Assertions.assertNotNull(prhAppConfig.getAaiClientConfiguration());
Assertions.assertNotNull(prhAppConfig.getDmaapConsumerConfiguration());
@@ -136,12 +143,15 @@ class PrhAppConfigTest {
}
@Test
- void whenFileIsNotExist_ThrowIoException() {
+ void whenFileIsNotExist_ThrowIoException() throws IOException {
//
// Given
+ InputStream inputStream = new ByteArrayInputStream((jsonString.getBytes(
+ StandardCharsets.UTF_8)));
+ Resource resource = spy(new InputStreamResource(inputStream));
//
- filePath = "/temp.json";
- prhAppConfig.setFilepath(filePath);
+ when(resource.getInputStream()).thenThrow(new IOException());
+ prhAppConfig.setResourceFile(resource);
//
// When
//
@@ -149,7 +159,6 @@ class PrhAppConfigTest {
//
// Then
//
- verify(prhAppConfig, times(1)).setFilepath(anyString());
verify(prhAppConfig, times(1)).initFileStreamReader();
Assertions.assertNull(prhAppConfig.getAaiClientConfiguration());
Assertions.assertNull(prhAppConfig.getDmaapConsumerConfiguration());
@@ -167,14 +176,13 @@ class PrhAppConfigTest {
//
// When
//
- prhAppConfig.setFilepath(filePath);
+ prhAppConfig.setResourceFile(new InputStreamResource(inputStream));
doReturn(inputStream).when(prhAppConfig).getInputStream(any());
prhAppConfig.initFileStreamReader();
//
// Then
//
- verify(prhAppConfig, times(1)).setFilepath(anyString());
verify(prhAppConfig, times(1)).initFileStreamReader();
Assertions.assertNotNull(prhAppConfig.getAaiClientConfiguration());
Assertions.assertNotNull(prhAppConfig.getDmaapConsumerConfiguration());
@@ -190,7 +198,7 @@ class PrhAppConfigTest {
InputStream inputStream = new ByteArrayInputStream((jsonString.getBytes(
StandardCharsets.UTF_8)));
// When
- prhAppConfig.setFilepath(filePath);
+ prhAppConfig.setResourceFile(new InputStreamResource(inputStream));
doReturn(inputStream).when(prhAppConfig).getInputStream(any());
JsonElement jsonElement = mock(JsonElement.class);
when(jsonElement.isJsonObject()).thenReturn(false);
@@ -201,7 +209,6 @@ class PrhAppConfigTest {
appConfig.aaiClientConfiguration = prhAppConfig.getAaiClientConfiguration();
// Then
- verify(prhAppConfig, times(1)).setFilepath(anyString());
verify(prhAppConfig, times(1)).initFileStreamReader();
Assertions.assertNull(prhAppConfig.getAaiClientConfiguration());
Assertions.assertNull(prhAppConfig.getDmaapConsumerConfiguration());