Add output type env to certservice client configuration
authorPiotr Marcinkiewicz <piotr.marcinkiewicz@nokia.com>
Tue, 9 Jun 2020 07:58:31 +0000 (09:58 +0200)
committerPiotr Marcinkiewicz <piotr.marcinkiewicz@nokia.com>
Wed, 10 Jun 2020 13:40:43 +0000 (15:40 +0200)
- add new enum value OUTPUT_TYPE
- add reading new OUTPUT_TYPE env in EnvsForClient
- add handling output type to ClientConfigurationFactory

Issue-ID: AAF-1152

Signed-off-by: Piotr Marcinkiewicz <piotr.marcinkiewicz@nokia.com>
Change-Id: I60269c3befff90f685e16a8e7255674df6ca9368

certServiceClient/src/main/java/org/onap/aaf/certservice/client/configuration/ClientConfigurationEnvs.java
certServiceClient/src/main/java/org/onap/aaf/certservice/client/configuration/EnvsForClient.java
certServiceClient/src/main/java/org/onap/aaf/certservice/client/configuration/factory/ClientConfigurationFactory.java
certServiceClient/src/main/java/org/onap/aaf/certservice/client/configuration/model/ClientConfiguration.java
compose-resources/client-configuration.env

index 59fd5ef..dedd4d6 100644 (file)
@@ -40,6 +40,10 @@ public class EnvsForClient {
         return readEnv(ClientConfigurationEnvs.CA_NAME);
     }
 
+    public Optional<String> getOutputType() {
+        return readEnv(ClientConfigurationEnvs.OUTPUT_TYPE);
+    }
+
     private Optional<String> readEnv(ClientConfigurationEnvs envName) {
         return envProvider.readEnvVariable(envName.toString());
     }
index a03ded6..793799e 100644 (file)
@@ -57,6 +57,9 @@ public class ClientConfigurationFactory extends AbstractConfigurationFactory<Cli
                 .map(configuration::setCaName)
                 .orElseThrow(() -> new ClientConfigurationException(ClientConfigurationEnvs.CA_NAME + " is invalid."));
 
+        envsForClient.getOutputType()
+                .map(configuration::setOutputType);
+
         LOGGER.info("Successful validation of Client configuration. Configuration data: {}", configuration.toString());
 
         return configuration;
index 2ac481d..78fa1b4 100644 (file)
@@ -26,16 +26,19 @@ public class ClientConfiguration implements ConfigurationModel {
 
     private static final Integer DEFAULT_TIMEOUT_MS = 30000;
     private static final String DEFAULT_REQUEST_URL = "https://aaf-cert-service:8443/v1/certificate/";
+    private static final String DEFAULT_OUTPUT_TYPE = "P12";
 
     private String urlToCertService;
     private Integer requestTimeout;
     private String certsOutputPath;
     private String caName;
+    private String outputType;
 
 
     public ClientConfiguration() {
         urlToCertService = DEFAULT_REQUEST_URL;
         requestTimeout = DEFAULT_TIMEOUT_MS;
+        outputType = DEFAULT_OUTPUT_TYPE;
     }
 
 
@@ -75,12 +78,22 @@ public class ClientConfiguration implements ConfigurationModel {
         return this;
     }
 
+    public String getOutputType() {
+        return outputType;
+    }
+
+    public ClientConfiguration setOutputType(String outputType) {
+        this.outputType = outputType;
+        return this;
+    }
+
     @Override
     public String toString() {
-        return String.format("%s: %s, %s: %s, %s: %s, %s: %s",
+        return String.format("%s: %s, %s: %s, %s: %s, %s: %s, %s: %s",
                 ClientConfigurationEnvs.REQUEST_URL, urlToCertService,
                 ClientConfigurationEnvs.REQUEST_TIMEOUT, requestTimeout,
                 ClientConfigurationEnvs.OUTPUT_PATH, certsOutputPath,
-                ClientConfigurationEnvs.CA_NAME, caName);
+                ClientConfigurationEnvs.CA_NAME, caName,
+                ClientConfigurationEnvs.OUTPUT_TYPE, outputType);
     }
 }
index bc62f1f..90eb5ea 100644 (file)
@@ -3,6 +3,7 @@ REQUEST_URL=https://aaf-cert-service:8443/v1/certificate/
 REQUEST_TIMEOUT=10000
 OUTPUT_PATH=/var/certs
 CA_NAME=RA
+OUTPUT_TYPE=P12
 #Csr config envs
 COMMON_NAME=onap.org
 ORGANIZATION=Linux-Foundation