From d486538e15afcc6c747ccb8284f0e2d4174dd758 Mon Sep 17 00:00:00 2001
From: "Determe, Sebastien (sd378r)" <sd378r@intl.att.com>
Date: Mon, 12 Mar 2018 19:38:27 +0100
Subject: Rework the SDC Config

Rework the code of the SDC configuration

Issue-ID: CLAMP-81
Change-Id: I0460fe0a2de2f953e2ebe06f7a7e637c55798b3b
Signed-off-by: Determe, Sebastien (sd378r) <sd378r@intl.att.com>
---
 .../sdc/SdcSingleControllerConfiguration.java      | 86 ++++++++++------------
 1 file changed, 38 insertions(+), 48 deletions(-)

(limited to 'src/main/java')

diff --git a/src/main/java/org/onap/clamp/clds/config/sdc/SdcSingleControllerConfiguration.java b/src/main/java/org/onap/clamp/clds/config/sdc/SdcSingleControllerConfiguration.java
index c97beb08d..d8bd992e9 100644
--- a/src/main/java/org/onap/clamp/clds/config/sdc/SdcSingleControllerConfiguration.java
+++ b/src/main/java/org/onap/clamp/clds/config/sdc/SdcSingleControllerConfiguration.java
@@ -56,14 +56,14 @@ public class SdcSingleControllerConfiguration implements IConfiguration {
     public static final String CONSUMER_GROUP_ATTRIBUTE_NAME = "consumerGroup";
     public static final String CONSUMER_ID_ATTRIBUTE_NAME = "consumerId";
     public static final String ENVIRONMENT_NAME_ATTRIBUTE_NAME = "environmentName";
-    public static final String PASSWORD_ATTRIBUTE_NAME = "password";
+    public static final String SDC_KEY_ATTRIBUTE_NAME = "password";
     public static final String POLLING_INTERVAL_ATTRIBUTE_NAME = "pollingInterval";
     public static final String RELEVANT_ARTIFACT_TYPES_ATTRIBUTE_NAME = "relevantArtifactTypes";
     public static final String USER_ATTRIBUTE_NAME = "user";
     public static final String SDC_ADDRESS_ATTRIBUTE_NAME = "sdcAddress";
     public static final String POLLING_TIMEOUT_ATTRIBUTE_NAME = "pollingTimeout";
     public static final String ACTIVATE_SERVER_TLS_AUTH = "activateServerTLSAuth";
-    public static final String KEY_STORE_PASSWORD = "keyStorePassword";
+    public static final String KEY_STORE_KEY = "keyStorePassword";
     public static final String KEY_STORE_PATH = "keyStorePath";
     private String errorMessageKeyNotFound;
     /**
@@ -109,6 +109,30 @@ public class SdcSingleControllerConfiguration implements IConfiguration {
         testAllRequiredParameters();
     }
 
+    private String getStringConfig(String key) {
+        if (jsonRootNode != null && jsonRootNode.get(key) != null) {
+            String config = jsonRootNode.get(key).asText();
+            return config.isEmpty() ? null : config;
+        }
+        return null;
+    }
+
+    private Integer getIntConfig(String key) {
+        if (jsonRootNode != null && jsonRootNode.get(key) != null) {
+            return jsonRootNode.get(key).asInt();
+        } else {
+            return 0;
+        }
+    }
+
+    private String getEncryptedStringConfig(String key) throws GeneralSecurityException, DecoderException {
+        if (jsonRootNode != null && jsonRootNode.get(key) != null) {
+            String config = CryptoUtils.decrypt(jsonRootNode.get(key).asText());
+            return config.isEmpty() ? null : config;
+        }
+        return null;
+    }
+
     @Override
     public java.lang.Boolean isUseHttpsWithDmaap() {
         return false;
@@ -125,42 +149,27 @@ public class SdcSingleControllerConfiguration implements IConfiguration {
 
     @Override
     public String getConsumerID() {
-        if (jsonRootNode != null && jsonRootNode.get(CONSUMER_ID_ATTRIBUTE_NAME) != null) {
-            String config = jsonRootNode.get(CONSUMER_ID_ATTRIBUTE_NAME).asText();
-            return config.isEmpty() ? null : config;
-        }
-        return null;
+        return getStringConfig(CONSUMER_ID_ATTRIBUTE_NAME);
     }
 
     @Override
     public String getEnvironmentName() {
-        if (jsonRootNode != null && jsonRootNode.get(ENVIRONMENT_NAME_ATTRIBUTE_NAME) != null) {
-            String config = jsonRootNode.get(ENVIRONMENT_NAME_ATTRIBUTE_NAME).asText();
-            return config.isEmpty() ? null : config;
-        }
-        return null;
+        return getStringConfig(ENVIRONMENT_NAME_ATTRIBUTE_NAME);
     }
 
     @Override
     public String getPassword() {
         try {
-            if (jsonRootNode != null && jsonRootNode.get(PASSWORD_ATTRIBUTE_NAME) != null) {
-                String config = CryptoUtils.decrypt(jsonRootNode.get(PASSWORD_ATTRIBUTE_NAME).asText());
-                return config.isEmpty() ? null : config;
-            }
+            return getEncryptedStringConfig(SDC_KEY_ATTRIBUTE_NAME);
         } catch (GeneralSecurityException | DecoderException e) {
             logger.error("Unable to decrypt the SDC password", e);
+            return null;
         }
-        return null;
     }
 
     @Override
     public int getPollingInterval() {
-        if (jsonRootNode != null && jsonRootNode.get(POLLING_INTERVAL_ATTRIBUTE_NAME) != null) {
-            return jsonRootNode.get(POLLING_INTERVAL_ATTRIBUTE_NAME).asInt();
-        } else {
-            return 0;
-        }
+        return getIntConfig(POLLING_INTERVAL_ATTRIBUTE_NAME);
     }
 
     @Override
@@ -172,29 +181,17 @@ public class SdcSingleControllerConfiguration implements IConfiguration {
 
     @Override
     public String getUser() {
-        if (jsonRootNode != null && jsonRootNode.get(USER_ATTRIBUTE_NAME) != null) {
-            String config = jsonRootNode.get(USER_ATTRIBUTE_NAME).asText();
-            return config.isEmpty() ? null : config;
-        }
-        return null;
+        return getStringConfig(USER_ATTRIBUTE_NAME);
     }
 
     @Override
     public String getAsdcAddress() {
-        if (jsonRootNode != null && jsonRootNode.get(SDC_ADDRESS_ATTRIBUTE_NAME) != null) {
-            String config = jsonRootNode.get(SDC_ADDRESS_ATTRIBUTE_NAME).asText();
-            return config.isEmpty() ? null : config;
-        }
-        return null;
+        return getStringConfig(SDC_ADDRESS_ATTRIBUTE_NAME);
     }
 
     @Override
     public int getPollingTimeout() {
-        if (jsonRootNode != null && jsonRootNode.get(POLLING_TIMEOUT_ATTRIBUTE_NAME) != null) {
-            return jsonRootNode.get(POLLING_TIMEOUT_ATTRIBUTE_NAME).asInt();
-        } else {
-            return 0;
-        }
+        return getIntConfig(POLLING_TIMEOUT_ATTRIBUTE_NAME);
     }
 
     @Override
@@ -209,23 +206,16 @@ public class SdcSingleControllerConfiguration implements IConfiguration {
     @Override
     public String getKeyStorePassword() {
         try {
-            if (jsonRootNode != null && jsonRootNode.get(KEY_STORE_PASSWORD) != null) {
-                String config = CryptoUtils.decrypt(jsonRootNode.get(KEY_STORE_PASSWORD).asText());
-                return config.isEmpty() ? null : config;
-            }
+            return getEncryptedStringConfig(KEY_STORE_KEY);
         } catch (GeneralSecurityException | DecoderException e) {
             logger.error("Unable to decrypt the SDC password", e);
+            return null;
         }
-        return null;
     }
 
     @Override
     public String getKeyStorePath() {
-        if (jsonRootNode != null && jsonRootNode.get(KEY_STORE_PATH) != null) {
-            String config = jsonRootNode.get(KEY_STORE_PATH).asText();
-            return config.isEmpty() ? null : config;
-        }
-        return null;
+        return getStringConfig(KEY_STORE_PATH);
     }
 
     /**
@@ -252,7 +242,7 @@ public class SdcSingleControllerConfiguration implements IConfiguration {
             throw new SdcParametersException(SDC_ADDRESS_ATTRIBUTE_NAME + errorMessageKeyNotFound);
         }
         if (this.getPassword() == null || this.getPassword().isEmpty()) {
-            throw new SdcParametersException(PASSWORD_ATTRIBUTE_NAME + errorMessageKeyNotFound);
+            throw new SdcParametersException(SDC_KEY_ATTRIBUTE_NAME + errorMessageKeyNotFound);
         }
         if (this.getPollingInterval() == 0) {
             throw new SdcParametersException(POLLING_INTERVAL_ATTRIBUTE_NAME + errorMessageKeyNotFound);
-- 
cgit 1.2.3-korg