Handle non-obfuscated config
[aai/model-loader.git] / src / main / java / org / onap / aai / modelloader / config / ModelLoaderConfig.java
index 01505ba..1d4f854 100644 (file)
@@ -81,6 +81,7 @@ public class ModelLoaderConfig implements IConfiguration {
     protected static final String PROP_AAI_VNF_IMAGE_RESOURCE_URL = PREFIX_AAI + "VNF_IMAGE_URL";
     protected static final String PROP_AAI_AUTHENTICATION_USER = PREFIX_AAI + "AUTH_USER";
     protected static final String PROP_AAI_AUTHENTICATION_PASSWORD = PREFIX_AAI + "AUTH_PASSWORD";
+    protected static final String PROP_AAI_USE_GIZMO = PREFIX_AAI + "USE_GIZMO";
 
     protected static final String PROP_BABEL_BASE_URL = PREFIX_BABEL + "BASE_URL";
     protected static final String PROP_BABEL_KEYSTORE_FILE = PREFIX_BABEL + SUFFIX_KEYSTORE_FILE;
@@ -107,8 +108,10 @@ public class ModelLoaderConfig implements IConfiguration {
     /**
      * Original constructor
      *
-     * @param modelLoaderProperties properties needed to be configured for the model loader
-     * @param certLocation location of the certificate
+     * @param modelLoaderProperties
+     *        properties needed to be configured for the model loader
+     * @param certLocation
+     *        location of the certificate
      */
     public ModelLoaderConfig(Properties modelLoaderProperties, String certLocation) {
         this.modelLoaderProperties = modelLoaderProperties;
@@ -169,7 +172,7 @@ public class ModelLoaderConfig implements IConfiguration {
 
     @Override
     public String getKeyStorePassword() {
-        return Password.deobfuscate(modelLoaderProperties.getProperty(PROP_ML_DISTRIBUTION_KEYSTORE_PASSWORD));
+        return getDeobfuscatedValue(modelLoaderProperties.getProperty(PROP_ML_DISTRIBUTION_KEYSTORE_PASSWORD));
     }
 
     @Override
@@ -179,7 +182,7 @@ public class ModelLoaderConfig implements IConfiguration {
 
     @Override
     public String getPassword() {
-        return Password.deobfuscate(modelLoaderProperties.getProperty(PROP_ML_DISTRIBUTION_PASSWORD));
+        return getDeobfuscatedValue(modelLoaderProperties.getProperty(PROP_ML_DISTRIBUTION_PASSWORD));
     }
 
     @Override
@@ -232,11 +235,11 @@ public class ModelLoaderConfig implements IConfiguration {
     }
 
     public String getAaiKeyStorePassword() {
-        return Password.deobfuscate(modelLoaderProperties.getProperty(PROP_AAI_KEYSTORE_PASSWORD));
+        return getDeobfuscatedValue(modelLoaderProperties.getProperty(PROP_AAI_KEYSTORE_PASSWORD));
     }
 
     public String getBabelKeyStorePassword() {
-        return Password.deobfuscate(modelLoaderProperties.getProperty(PROP_BABEL_KEYSTORE_PASSWORD));
+        return getDeobfuscatedValue(modelLoaderProperties.getProperty(PROP_BABEL_KEYSTORE_PASSWORD));
     }
 
     public String getBabelTrustStorePath() {
@@ -249,7 +252,7 @@ public class ModelLoaderConfig implements IConfiguration {
     }
 
     public String getBabelTrustStorePassword() {
-        return Password.deobfuscate(modelLoaderProperties.getProperty(PROP_BABEL_TRUSTSTORE_PASSWORD));
+        return getDeobfuscatedValue(modelLoaderProperties.getProperty(PROP_BABEL_TRUSTSTORE_PASSWORD));
     }
 
     public String getAaiBaseUrl() {
@@ -289,11 +292,16 @@ public class ModelLoaderConfig implements IConfiguration {
         this.modelVersion = modelVersion;
     }
 
+    public boolean useGizmo() {
+        String useGizmo = modelLoaderProperties.getProperty(PROP_AAI_USE_GIZMO);
+        return useGizmo != null && useGizmo.equalsIgnoreCase("true");
+    }
+
     /**
      * @return password for AAI authentication that has been reverse-engineered from its obfuscated form.
      */
     public String getAaiAuthenticationPassword() {
-        String password = Password.deobfuscate(modelLoaderProperties.getProperty(PROP_AAI_AUTHENTICATION_PASSWORD));
+        String password = getDeobfuscatedValue(modelLoaderProperties.getProperty(PROP_AAI_AUTHENTICATION_PASSWORD));
 
         if (password != null && password.isEmpty()) {
             password = null;
@@ -329,4 +337,12 @@ public class ModelLoaderConfig implements IConfiguration {
 
     }
 
+    private String getDeobfuscatedValue(String property) {
+        if (property.startsWith("OBF:")) {
+            return Password.deobfuscate(property);
+        }
+        
+        // Property is not obfuscated
+        return property;
+    }
 }