use CBS SDK in PRH 06/82806/10
authormicdzied <michal.1.dziedzic@nokia.com>
Fri, 22 Mar 2019 11:32:53 +0000 (12:32 +0100)
committermicdzied <michal.1.dziedzic@nokia.com>
Mon, 8 Apr 2019 12:25:04 +0000 (14:25 +0200)
-remove unused classes
-fix junit tests
-use cbs

Change-Id: Ibc5841b713ad00522dd78a52b7cb7efa871cb8b4
Issue-ID: DCAEGEN2-1360
Signed-off-by: micdzied <michal.1.dziedzic@nokia.com>
12 files changed:
prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/MainApp.java
prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/AaiHttpClientConfig.java
prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/AppConfig.java
prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/ConsulConfigFileReader.java [new file with mode: 0644]
prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/ConsulConfiguration.java [moved from prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/CloudConfiguration.java with 56% similarity]
prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/ConsulConfigurationParser.java [moved from prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/CloudConfigParser.java with 97% similarity]
prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/EnvironmentProcessor.java [deleted file]
prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/ScheduledTasksRunner.java
prh-app-server/src/main/resources/consul_config.json [new file with mode: 0644]
prh-app-server/src/main/resources/prh_endpoints.json [deleted file]
prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/configuration/ConsulConfigurationParserTest.java [moved from prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/configuration/CloudConfigParserTest.java with 87% similarity]
prh-app-server/src/test/resources/flattened_configuration.json

index 5ea07e0..6ce5d64 100644 (file)
@@ -25,6 +25,7 @@ import static org.onap.dcaegen2.services.prh.model.logging.MdcVariables.REQUEST_
 
 import java.util.Map;
 import java.util.UUID;
+import org.onap.dcaegen2.services.prh.configuration.ConsulConfigFileReader;
 import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.providers.CloudConfigurationClient;
 import org.slf4j.MDC;
 import org.springframework.boot.SpringApplication;
@@ -65,4 +66,9 @@ public class MainApp {
     CloudConfigurationClient getCloudConfigurationClient(){
         return new CloudConfigurationClient();
     }
+
+    @Bean
+    ConsulConfigFileReader getConfigFileLoader(){
+        return new ConsulConfigFileReader();
+    }
 }
index c90fd9e..6df9c4a 100644 (file)
@@ -42,7 +42,7 @@ import java.util.function.BiFunction;
 @Configuration
 public class AaiHttpClientConfig {
     @Autowired
-    private CloudConfiguration cloudConfig;
+    private ConsulConfiguration consulConfiguration;
 
     @Bean
     public AaiHttpClient<AaiModel, HttpResponse> getPatchClientFactory() {
@@ -68,8 +68,8 @@ public class AaiHttpClientConfig {
             final BiFunction<AaiClientConfiguration, CloudHttpClient, AaiHttpClient<T, U>> factoryMethod) {
 
         return x -> factoryMethod.apply(
-                cloudConfig.getAaiClientConfiguration(),
-                new AaiHttpClientFactory(cloudConfig.getAaiClientConfiguration()).build()
+            consulConfiguration.getAaiClientConfiguration(),
+                new AaiHttpClientFactory(consulConfiguration.getAaiClientConfiguration()).build()
         ).getAaiResponse(x);
     }
 }
index 2149574..8ac1d9c 100644 (file)
@@ -36,7 +36,6 @@ import org.springframework.context.annotation.Configuration;
 /**
  * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 4/9/18
  */
-
 @Configuration
 @EnableConfigurationProperties
 public class AppConfig extends PrhAppConfig {
diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/ConsulConfigFileReader.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/ConsulConfigFileReader.java
new file mode 100644 (file)
index 0000000..f11d9ff
--- /dev/null
@@ -0,0 +1,78 @@
+/*
+ * ============LICENSE_START=======================================================
+ * PNF-REGISTRATION-HANDLER
+ * ================================================================================
+ * Copyright (C) 2018 NOKIA Intellectual Property. 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.dcaegen2.services.prh.configuration;
+
+import com.google.gson.Gson;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonParser;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
+import java.util.Optional;
+import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.model.EnvProperties;
+import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.model.ImmutableEnvProperties;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.io.Resource;
+import reactor.core.publisher.Mono;
+
+@Configuration
+public class ConsulConfigFileReader {
+
+    private static final Logger LOGGER = LoggerFactory.getLogger(ConsulConfigFileReader.class);
+    private static final int DEFAULT_CONSUL_PORT = 8500;
+    private ImmutableEnvProperties jsonEnvProperties;
+
+    @Value("classpath:consul_config.json")
+    private Resource consulConfig;
+
+    public Mono<EnvProperties> evaluate() {
+        initFileStreamReader();
+        EnvProperties envProperties = ImmutableEnvProperties.builder()
+                .consulHost(jsonEnvProperties.consulHost())
+                .consulPort(Optional.ofNullable(jsonEnvProperties.consulPort()).orElse(DEFAULT_CONSUL_PORT))
+                .cbsName(jsonEnvProperties.cbsName())
+                .appName(jsonEnvProperties.appName())
+                .build();
+        LOGGER.info("Evaluated variables: {}", envProperties);
+        return Mono.just(envProperties);
+    }
+
+    private void initFileStreamReader() {
+        LOGGER.debug("Loading configuration from configuration file");
+        Gson gson = new Gson();
+        try (InputStream inputStream = consulConfig.getInputStream()) {
+            JsonElement rootElement = getJsonElement(inputStream);
+            if (rootElement.isJsonObject()) {
+                jsonEnvProperties = gson.fromJson(rootElement, ImmutableEnvProperties.class);
+            }
+        } catch (IOException e) {
+            LOGGER.warn("Failed to load/parse file", e);
+        }
+    }
+
+    private JsonElement getJsonElement(InputStream inputStream) {
+        return new JsonParser().parse(new InputStreamReader(inputStream, StandardCharsets.UTF_8));
+    }
+}
@@ -23,97 +23,99 @@ package org.onap.dcaegen2.services.prh.configuration;
 import com.google.gson.JsonObject;
 import org.onap.dcaegen2.services.sdk.rest.services.aai.client.config.AaiClientConfiguration;
 import org.onap.dcaegen2.services.sdk.rest.services.aai.client.config.ImmutableAaiClientConfiguration;
-
+import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.api.CbsClientFactory;
+import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.api.CbsRequests;
 import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.model.EnvProperties;
 import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.providers.CloudConfigurationClient;
 import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.config.DmaapConsumerConfiguration;
 import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.config.DmaapPublisherConfiguration;
+import org.onap.dcaegen2.services.sdk.rest.services.model.logging.RequestDiagnosticContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.annotation.*;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Primary;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
 import reactor.core.scheduler.Schedulers;
 
 import java.util.Optional;
-import java.util.Properties;
 
-/**
- * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 8/9/18
- */
 @Configuration
 @ComponentScan("org.onap.dcaegen2.services.sdk.rest.services.cbs.client.providers")
 @EnableConfigurationProperties
 @EnableScheduling
 @Primary
-public class CloudConfiguration extends AppConfig {
-
-    private static final Logger LOGGER = LoggerFactory.getLogger(CloudConfiguration.class);
-    private CloudConfigurationClient prhConfigurationProvider;
-
-    private AaiClientConfiguration aaiClientCloudConfiguration;
-    private DmaapPublisherConfiguration dmaapPublisherCloudConfiguration;
-    private DmaapPublisherConfiguration dmaapUpdatePublisherCloudConfiguration;
-    private DmaapConsumerConfiguration dmaapConsumerCloudConfiguration;
-
-    @Value("#{systemEnvironment}")
-    private Properties systemEnvironment;
+public class ConsulConfiguration extends PrhAppConfig {
+    private static final Logger LOGGER = LoggerFactory.getLogger(ConsulConfiguration.class);
+    private AaiClientConfiguration aaiClientCBSConfiguration;
+    private DmaapPublisherConfiguration dmaapPublisherCBSConfiguration;
+    private DmaapConsumerConfiguration dmaapConsumerCBSConfiguration;
+    private DmaapPublisherConfiguration dmaapUpdatePublisherCBSConfiguration;
 
     @Autowired
-    public void setThreadPoolTaskScheduler(CloudConfigurationClient prhConfigurationProvider) {
-        this.prhConfigurationProvider = prhConfigurationProvider;
-    }
+    private ConsulConfigFileReader consulConfigFileReader;
 
     public void runTask() {
-        Flux.defer(() -> EnvironmentProcessor.evaluate(systemEnvironment))
+        Flux.defer(this::resolveEnvProperties)
             .subscribeOn(Schedulers.parallel())
             .subscribe(this::parsingConfigSuccess, this::parsingConfigError);
     }
 
-    private void parsingConfigError(Throwable throwable) {
-        LOGGER.warn("Failed to process system environments", throwable);
-    }
-
-    private void cloudConfigError(Throwable throwable) {
-        LOGGER.warn("Failed to gather configuration from ConfigBindingService/Consul", throwable);
+    private Mono<EnvProperties> resolveEnvProperties() {
+        try {
+            return Mono.just(EnvProperties.fromEnvironment());
+        } catch(Exception e){
+            parsingConfigError(e);
+            return consulConfigFileReader.evaluate();
+        }
     }
 
     private void parsingConfigSuccess(EnvProperties envProperties) {
-        LOGGER.debug("Fetching PRH configuration from ConfigBindingService/Consul");
-        prhConfigurationProvider.callForServiceConfigurationReactive(envProperties)
-            .subscribe(this::parseCloudConfig, this::cloudConfigError);
+        LOGGER.debug("Fetching PRH configuration from Consul");
+        CbsClientFactory.createCbsClient(envProperties)
+            .flatMap(cbsClient -> cbsClient.get(CbsRequests.getAll(RequestDiagnosticContext.create())))
+            .subscribe(this::parseCBSConfig, this::cbsConfigError);
     }
 
-    private void parseCloudConfig(JsonObject jsonObject) {
+    private void parseCBSConfig(JsonObject jsonObject) {
         LOGGER.info("Received application configuration: {}", jsonObject);
-        CloudConfigParser cloudConfigParser = new CloudConfigParser(jsonObject);
-        dmaapPublisherCloudConfiguration = cloudConfigParser.getDmaapPublisherConfig();
-        dmaapUpdatePublisherCloudConfiguration = cloudConfigParser.getDmaapUpdatePublisherConfig();
-        aaiClientCloudConfiguration = ImmutableAaiClientConfiguration.copyOf(cloudConfigParser.getAaiClientConfig())
+        ConsulConfigurationParser consulConfigurationParser = new ConsulConfigurationParser(jsonObject);
+        dmaapPublisherCBSConfiguration = consulConfigurationParser.getDmaapPublisherConfig();
+        dmaapUpdatePublisherCBSConfiguration = consulConfigurationParser.getDmaapUpdatePublisherConfig();
+        aaiClientCBSConfiguration = ImmutableAaiClientConfiguration.copyOf(consulConfigurationParser.getAaiClientConfig())
             .withAaiHeaders(aaiClientConfiguration.aaiHeaders());
-        dmaapConsumerCloudConfiguration = cloudConfigParser.getDmaapConsumerConfig();
+        dmaapConsumerCBSConfiguration = consulConfigurationParser.getDmaapConsumerConfig();
+    }
+
+    private void parsingConfigError(Throwable throwable) {
+        LOGGER.warn("Failed to process system environments", throwable);
+    }
+
+    private void cbsConfigError(Throwable throwable) {
+        LOGGER.warn("Failed to gather configuration from ConfigBindingService/Consul", throwable);
     }
 
     @Override
     public DmaapPublisherConfiguration getDmaapPublisherConfiguration() {
-        return Optional.ofNullable(dmaapPublisherCloudConfiguration).orElse(super.getDmaapPublisherConfiguration());
+        return Optional.ofNullable(dmaapPublisherCBSConfiguration).orElse(super.getDmaapPublisherConfiguration());
     }
 
     @Override
     public DmaapPublisherConfiguration getDmaapUpdatePublisherConfiguration() {
-        return Optional.ofNullable(dmaapUpdatePublisherCloudConfiguration).orElse(super.getDmaapPublisherConfiguration());
+        return Optional.ofNullable(dmaapUpdatePublisherCBSConfiguration).orElse(super.getDmaapPublisherConfiguration());
     }
 
     @Override
     public AaiClientConfiguration getAaiClientConfiguration() {
-        return Optional.ofNullable(aaiClientCloudConfiguration).orElse(super.getAaiClientConfiguration());
+        return Optional.ofNullable(aaiClientCBSConfiguration).orElse(super.getAaiClientConfiguration());
     }
 
     @Override
     public DmaapConsumerConfiguration getDmaapConsumerConfiguration() {
-        return Optional.ofNullable(dmaapConsumerCloudConfiguration).orElse(super.getDmaapConsumerConfiguration());
+        return Optional.ofNullable(dmaapConsumerCBSConfiguration).orElse(super.getDmaapConsumerConfiguration());
     }
 }
@@ -31,16 +31,16 @@ import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.config.Immutabl
 /**
  * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 8/21/18
  */
-class CloudConfigParser {
-
+class ConsulConfigurationParser {
     private static final String SECURITY_TRUST_STORE_PATH = "security.trustStorePath";
     private static final String SECURITY_TRUST_STORE_PASS_PATH = "security.trustStorePasswordPath";
     private static final String SECURITY_KEY_STORE_PATH = "security.keyStorePath";
     private static final String SECURITY_KEY_STORE_PASS_PATH = "security.keyStorePasswordPath";
+    private static final String CONFIG = "config";
     private final JsonObject jsonObject;
 
-    CloudConfigParser(JsonObject jsonObject) {
-        this.jsonObject = jsonObject;
+    ConsulConfigurationParser(JsonObject jsonObject) {
+        this.jsonObject = jsonObject.getAsJsonObject(CONFIG);
     }
 
     DmaapPublisherConfiguration getDmaapPublisherConfig() {
diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/EnvironmentProcessor.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/EnvironmentProcessor.java
deleted file mode 100644 (file)
index 3d765bd..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * PNF-REGISTRATION-HANDLER
- * ================================================================================
- * Copyright (C) 2018 NOKIA Intellectual Property. 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.dcaegen2.services.prh.configuration;
-
-import org.onap.dcaegen2.services.prh.exceptions.EnvironmentLoaderException;
-import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.model.EnvProperties;
-import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.model.ImmutableEnvProperties;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import reactor.core.publisher.Mono;
-
-import java.util.Optional;
-import java.util.Properties;
-
-/**
- * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 8/10/18
- */
-final class EnvironmentProcessor {
-
-    private static final Logger LOGGER = LoggerFactory.getLogger(EnvironmentProcessor.class);
-    private static final int DEFAULT_CONSUL_PORT = 8500;
-
-    private EnvironmentProcessor() {
-    }
-
-    static Mono<EnvProperties> evaluate(Properties systemEnvironment) {
-        LOGGER.debug("Loading configuration from system environment variables");
-        EnvProperties envProperties;
-        try {
-            envProperties = ImmutableEnvProperties.builder().consulHost(getConsulHost(systemEnvironment))
-                .consulPort(getConsultPort(systemEnvironment)).cbsName(getConfigBindingService(systemEnvironment))
-                .appName(getService(systemEnvironment)).build();
-        } catch (EnvironmentLoaderException e) {
-            return Mono.error(e);
-        }
-        LOGGER.info("Evaluated system environment variables: {}", envProperties);
-        return Mono.just(envProperties);
-    }
-
-    private static String getConsulHost(Properties systemEnvironments) throws EnvironmentLoaderException {
-        return Optional.ofNullable(systemEnvironments.getProperty("CONSUL_HOST"))
-            .orElseThrow(() -> new EnvironmentLoaderException("$CONSUL_HOST environment has not been defined"));
-    }
-
-    private static Integer getConsultPort(Properties systemEnvironments) {
-        return Optional.ofNullable(systemEnvironments.getProperty("CONSUL_PORT")).map(Integer::valueOf)
-            .orElseGet(EnvironmentProcessor::getDefaultPortOfConsul);
-    }
-
-    private static String getConfigBindingService(Properties systemEnvironments) throws EnvironmentLoaderException {
-        return Optional.ofNullable(systemEnvironments.getProperty("CONFIG_BINDING_SERVICE"))
-            .orElseThrow(
-                () -> new EnvironmentLoaderException("$CONFIG_BINDING_SERVICE environment has not been defined"));
-    }
-
-    private static String getService(Properties systemEnvironments) throws EnvironmentLoaderException {
-        return Optional.ofNullable(Optional.ofNullable(systemEnvironments.getProperty("HOSTNAME"))
-            .orElse(systemEnvironments.getProperty("SERVICE_NAME")))
-            .orElseThrow(() -> new EnvironmentLoaderException(
-                "Neither $HOSTNAME/$SERVICE_NAME have not been defined as system environment"));
-    }
-
-    private static Integer getDefaultPortOfConsul() {
-        LOGGER.warn("$CONSUL_PORT environment has not been defined, using default port: {}", DEFAULT_CONSUL_PORT);
-        return DEFAULT_CONSUL_PORT;
-    }
-}
index 956ffea..e20e25d 100644 (file)
@@ -28,7 +28,7 @@ import java.util.List;
 import java.util.concurrent.ScheduledFuture;
 import javax.annotation.PostConstruct;
 
-import org.onap.dcaegen2.services.prh.configuration.CloudConfiguration;
+import org.onap.dcaegen2.services.prh.configuration.ConsulConfiguration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.Marker;
@@ -57,15 +57,15 @@ public class ScheduledTasksRunner {
 
     private final TaskScheduler taskScheduler;
     private final ScheduledTasks scheduledTask;
-    private final CloudConfiguration cloudConfiguration;
+    private final ConsulConfiguration consulConfiguration;
 
     @Autowired
     public ScheduledTasksRunner(TaskScheduler taskScheduler,
                                 ScheduledTasks scheduledTask,
-                                CloudConfiguration cloudConfiguration) {
+                                ConsulConfiguration consulConfiguration) {
         this.taskScheduler = taskScheduler;
         this.scheduledTask = scheduledTask;
-        this.cloudConfiguration = cloudConfiguration;
+        this.consulConfiguration = consulConfiguration;
     }
 
     /**
@@ -94,7 +94,7 @@ public class ScheduledTasksRunner {
         LOGGER.info(ENTRY, "Start scheduling PRH workflow");
         if (scheduledPrhTaskFutureList.isEmpty()) {
             scheduledPrhTaskFutureList.add(taskScheduler
-                .scheduleAtFixedRate(cloudConfiguration::runTask, Instant.now(),
+                .scheduleAtFixedRate(consulConfiguration::runTask, Instant.now(),
                     Duration.ofMinutes(SCHEDULING_REQUEST_FOR_CONFIGURATION_DELAY)));
             scheduledPrhTaskFutureList.add(taskScheduler
                 .scheduleWithFixedDelay(scheduledTask::scheduleMainPrhEventTask,
diff --git a/prh-app-server/src/main/resources/consul_config.json b/prh-app-server/src/main/resources/consul_config.json
new file mode 100644 (file)
index 0000000..7cefd64
--- /dev/null
@@ -0,0 +1,5 @@
+{
+      "consulHost": "10.42.111.9",
+      "cbsName": "cbs",
+      "appName": "dcae-prh"
+}
\ No newline at end of file
diff --git a/prh-app-server/src/main/resources/prh_endpoints.json b/prh-app-server/src/main/resources/prh_endpoints.json
deleted file mode 100644 (file)
index a24dfd9..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-{
-  "configs": {
-    "dmaap": {
-      "dmaapConsumerConfiguration": {
-        "dmaapHostName": "localhost",
-        "dmaapPortNumber": 8904,
-        "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": 8904,
-        "dmaapTopicName": "events/unauthenticated.PNF_READY",
-        "dmaapProtocol": "http",
-        "dmaapUserName": "admin",
-        "dmaapUserPassword": "admin",
-        "dmaapContentType": "application/json"
-      },
-      "dmaapUpdateProducerConfiguration": {
-        "dmaapHostName": "localhost",
-        "dmaapPortNumber": 8904,
-        "dmaapTopicName": "events/unauthenticated.PNF_UPDATE",
-        "dmaapProtocol": "http",
-        "dmaapUserName": "admin",
-        "dmaapUserPassword": "admin",
-        "dmaapContentType": "application/json"
-      }
-    },
-    "aai": {
-      "aaiClientConfiguration": {
-        "aaiHost": "localhost",
-        "aaiPort": 8443,
-        "aaiProtocol": "https",
-        "aaiUserName": "AAI",
-        "aaiUserPassword": "AAI",
-        "aaiIgnoreSslCertificateErrors": true,
-        "aaiBasePath": "/aai/v12",
-        "aaiPnfPath": "/network/pnfs/pnf",
-        "aaiServiceInstancePath": "/business/customers/customer/${customer}/service-subscriptions/service-subscription/${serviceType}/service-instances/service-instance/${serviceInstanceId}",
-        "aaiHeaders": {
-          "X-FromAppId": "prh",
-          "X-TransactionId": "9999",
-          "Accept": "application/json",
-          "Real-Time": "true",
-          "Authorization": "Basic QUFJOkFBSQ=="
-        }
-      }
-    },
-    "security": {
-        "trustStorePath" : "change it",
-        "trustStorePasswordPath" : "change it",
-        "keyStorePath" : "change it",
-        "keyStorePasswordPath" : "change it",
-        "enableAaiCertAuth" : "false",
-        "enableDmaapCertAuth" : "false"
-    }
-  }
-}
\ No newline at end of file
@@ -37,7 +37,7 @@ import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.config.Immutabl
 import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.config.ImmutableDmaapPublisherConfiguration;
 
 
-class CloudConfigParserTest {
+class ConsulConfigurationParserTest {
 
     private final String correctJson =
             new String(Files.readAllBytes(Paths.get(getSystemResource("flattened_configuration.json").toURI())));
@@ -47,16 +47,16 @@ class CloudConfigParserTest {
             TestAppConfiguration.createDefaultDmaapConsumerConfiguration();
     private final ImmutableDmaapPublisherConfiguration correctDmaapPublisherConfig =
             TestAppConfiguration.createDefaultDmaapPublisherConfiguration();
-    private final CloudConfigParser cloudConfigParser = new CloudConfigParser(
+    private final ConsulConfigurationParser consulConfigurationParser = new ConsulConfigurationParser(
             new Gson().fromJson(correctJson, JsonObject.class));
 
-    CloudConfigParserTest() throws Exception {
+    ConsulConfigurationParserTest() throws Exception {
     }
 
     @Test
     void shouldCreateAaiConfigurationCorrectly() {
         // when
-        AaiClientConfiguration aaiClientConfig = cloudConfigParser.getAaiClientConfig();
+        AaiClientConfiguration aaiClientConfig = consulConfigurationParser.getAaiClientConfig();
 
         // then
         assertThat(aaiClientConfig).isNotNull();
@@ -67,7 +67,7 @@ class CloudConfigParserTest {
     @Test
     void shouldCreateDmaapConsumerConfigurationCorrectly() {
         // when
-        DmaapConsumerConfiguration dmaapConsumerConfig = cloudConfigParser.getDmaapConsumerConfig();
+        DmaapConsumerConfiguration dmaapConsumerConfig = consulConfigurationParser.getDmaapConsumerConfig();
 
         // then
         assertThat(dmaapConsumerConfig).isNotNull();
@@ -78,7 +78,7 @@ class CloudConfigParserTest {
     @Test
     void shouldCreateDmaapPublisherConfigurationCorrectly() {
         // when
-        DmaapPublisherConfiguration dmaapPublisherConfig = cloudConfigParser.getDmaapPublisherConfig();
+        DmaapPublisherConfiguration dmaapPublisherConfig = consulConfigurationParser.getDmaapPublisherConfig();
 
         // then
         assertThat(dmaapPublisherConfig).isNotNull();
index 3c1cc9a..48b45a8 100644 (file)
@@ -1,40 +1,42 @@
 {
-  "aai.aaiClientConfiguration.aaiIgnoreSslCertificateErrors": true,
-  "dmaap.dmaapProducerConfiguration.dmaapTopicName": "/events/unauthenticated.PNF_READY",
-  "dmaap.dmaapUpdateProducerConfiguration.dmaapTopicName": "/events/unauthenticated.PNF_UPDATE",
-  "dmaap.dmaapConsumerConfiguration.timeoutMs": -1,
-  "dmaap.dmaapConsumerConfiguration.dmaapHostName": "message-router.onap.svc.cluster.local",
-  "aai.aaiClientConfiguration.pnfUrl": "https://aai.onap.svc.cluster.local:8443/aai/v12/network/pnfs/pnf",
-  "aai.aaiClientConfiguration.aaiPnfPath": "/network/pnfs/pnf",
-  "aai.aaiClientConfiguration.aaiServiceInstancePath": "/business/customers/customer/${customer}/service-subscriptions/service-subscription/${serviceType}/service-instances/service-instance/${serviceInstanceId}",
-  "aai.aaiClientConfiguration.aaiUserPassword": "AAI",
-  "dmaap.dmaapConsumerConfiguration.dmaapUserName": "admin",
-  "aai.aaiClientConfiguration.aaiBasePath": "/aai/v12",
-  "dmaap.dmaapProducerConfiguration.dmaapPortNumber": 3904,
-  "aai.aaiClientConfiguration.aaiHost": "aai.onap.svc.cluster.local",
-  "dmaap.dmaapConsumerConfiguration.dmaapUserPassword": "admin",
-  "dmaap.dmaapProducerConfiguration.dmaapProtocol": "http",
-  "dmaap.dmaapProducerConfiguration.dmaapContentType": "application/json",
-  "dmaap.dmaapUpdateProducerConfiguration.dmaapProtocol": "http",
-  "dmaap.dmaapUpdateProducerConfiguration.dmaapContentType": "application/json",
-  "dmaap.dmaapConsumerConfiguration.dmaapTopicName": "/events/unauthenticated.SEC_OTHER_OUTPUT",
-  "dmaap.dmaapConsumerConfiguration.dmaapPortNumber": 3904,
-  "dmaap.dmaapConsumerConfiguration.dmaapContentType": "application/json",
-  "dmaap.dmaapConsumerConfiguration.messageLimit": -1,
-  "dmaap.dmaapConsumerConfiguration.dmaapProtocol": "http",
-  "aai.aaiClientConfiguration.aaiUserName": "AAI",
-  "dmaap.dmaapConsumerConfiguration.consumerId": "c12",
-  "dmaap.dmaapProducerConfiguration.dmaapHostName": "message-router.onap.svc.cluster.local",
-  "dmaap.dmaapUpdateProducerConfiguration.dmaapHostName": "message-router.onap.svc.cluster.local",
-  "aai.aaiClientConfiguration.aaiHostPortNumber": 8443,
-  "dmaap.dmaapConsumerConfiguration.consumerGroup": "OpenDCAE-c12",
-  "aai.aaiClientConfiguration.aaiProtocol": "https",
-  "dmaap.dmaapProducerConfiguration.dmaapUserName": "admin",
-  "dmaap.dmaapProducerConfiguration.dmaapUserPassword": "admin",
-  "security.trustStorePath": "/opt/app/prh/local/org.onap.prh.trust.jks",
-  "security.trustStorePasswordPath": "change_it",
-  "security.keyStorePath": "/opt/app/prh/local/org.onap.prh.p12",
-  "security.keyStorePasswordPath": "change_it",
-  "security.enableAaiCertAuth": false,
-  "security.enableDmaapCertAuth": false
+  "config": {
+    "aai.aaiClientConfiguration.aaiIgnoreSslCertificateErrors": true,
+    "dmaap.dmaapProducerConfiguration.dmaapTopicName": "/events/unauthenticated.PNF_READY",
+    "dmaap.dmaapUpdateProducerConfiguration.dmaapTopicName": "/events/unauthenticated.PNF_UPDATE",
+    "dmaap.dmaapConsumerConfiguration.timeoutMs": -1,
+    "dmaap.dmaapConsumerConfiguration.dmaapHostName": "message-router.onap.svc.cluster.local",
+    "aai.aaiClientConfiguration.pnfUrl": "https://aai.onap.svc.cluster.local:8443/aai/v12/network/pnfs/pnf",
+    "aai.aaiClientConfiguration.aaiPnfPath": "/network/pnfs/pnf",
+    "aai.aaiClientConfiguration.aaiServiceInstancePath": "/business/customers/customer/${customer}/service-subscriptions/service-subscription/${serviceType}/service-instances/service-instance/${serviceInstanceId}",
+    "aai.aaiClientConfiguration.aaiUserPassword": "AAI",
+    "dmaap.dmaapConsumerConfiguration.dmaapUserName": "admin",
+    "aai.aaiClientConfiguration.aaiBasePath": "/aai/v12",
+    "dmaap.dmaapProducerConfiguration.dmaapPortNumber": 3904,
+    "aai.aaiClientConfiguration.aaiHost": "aai.onap.svc.cluster.local",
+    "dmaap.dmaapConsumerConfiguration.dmaapUserPassword": "admin",
+    "dmaap.dmaapProducerConfiguration.dmaapProtocol": "http",
+    "dmaap.dmaapProducerConfiguration.dmaapContentType": "application/json",
+    "dmaap.dmaapUpdateProducerConfiguration.dmaapProtocol": "http",
+    "dmaap.dmaapUpdateProducerConfiguration.dmaapContentType": "application/json",
+    "dmaap.dmaapConsumerConfiguration.dmaapTopicName": "/events/unauthenticated.SEC_OTHER_OUTPUT",
+    "dmaap.dmaapConsumerConfiguration.dmaapPortNumber": 3904,
+    "dmaap.dmaapConsumerConfiguration.dmaapContentType": "application/json",
+    "dmaap.dmaapConsumerConfiguration.messageLimit": -1,
+    "dmaap.dmaapConsumerConfiguration.dmaapProtocol": "http",
+    "aai.aaiClientConfiguration.aaiUserName": "AAI",
+    "dmaap.dmaapConsumerConfiguration.consumerId": "c12",
+    "dmaap.dmaapProducerConfiguration.dmaapHostName": "message-router.onap.svc.cluster.local",
+    "dmaap.dmaapUpdateProducerConfiguration.dmaapHostName": "message-router.onap.svc.cluster.local",
+    "aai.aaiClientConfiguration.aaiHostPortNumber": 8443,
+    "dmaap.dmaapConsumerConfiguration.consumerGroup": "OpenDCAE-c12",
+    "aai.aaiClientConfiguration.aaiProtocol": "https",
+    "dmaap.dmaapProducerConfiguration.dmaapUserName": "admin",
+    "dmaap.dmaapProducerConfiguration.dmaapUserPassword": "admin",
+    "security.trustStorePath": "/opt/app/prh/local/org.onap.prh.trust.jks",
+    "security.trustStorePasswordPath": "change_it",
+    "security.keyStorePath": "/opt/app/prh/local/org.onap.prh.p12",
+    "security.keyStorePasswordPath": "change_it",
+    "security.enableAaiCertAuth": false,
+    "security.enableDmaapCertAuth": false
+  }
 }
\ No newline at end of file