Merge "Allow storing database password in environment variables"
diff --git a/BRMSGateway/src/main/java/org/onap/policy/brms/api/BrmsPush.java b/BRMSGateway/src/main/java/org/onap/policy/brms/api/BrmsPush.java
index 45f6585..8826d56 100644
--- a/BRMSGateway/src/main/java/org/onap/policy/brms/api/BrmsPush.java
+++ b/BRMSGateway/src/main/java/org/onap/policy/brms/api/BrmsPush.java
@@ -256,8 +256,8 @@
             repUrlList = new ArrayList<>();
             repUrlList.add(repUrl);
         }
-        repUserName = config.getProperty("repositoryUsername");
-        repPassword = PeCryptoUtils.decrypt(config.getProperty("repositoryPassword"));
+        repUserName = getValue(config.getProperty("repositoryUsername"));
+        repPassword = PeCryptoUtils.decrypt(getValue(config.getProperty("repositoryPassword")));
         if (repUserName == null || repPassword == null) {
             LOGGER.error(XACMLErrorConstants.ERROR_DATA_ISSUE
                     + "repostoryUserName and respositoryPassword properties are required.");
@@ -367,6 +367,13 @@
 
     }
 
+    private String getValue(final String value) {
+        if (value != null && value.matches("[$][{].*[}]$")) {
+            return System.getenv(value.substring(2, value.length() - 1));
+        }
+        return value;
+    }
+
     private static void setBackupMonitor(final BackUpMonitor instance) {
         bm = instance;
     }
diff --git a/LogParser/src/main/java/org/onap/xacml/parser/ParseLog.java b/LogParser/src/main/java/org/onap/xacml/parser/ParseLog.java
index f12522a..77aafdf 100644
--- a/LogParser/src/main/java/org/onap/xacml/parser/ParseLog.java
+++ b/LogParser/src/main/java/org/onap/xacml/parser/ParseLog.java
@@ -884,11 +884,11 @@
             setLogFileProperties(splitString);
 
             jdbcUrl = config.getProperty("JDBC_URL").replace("'", "");
-            jdbcUser = config.getProperty("JDBC_USER");
+            jdbcUser = getValue(config.getProperty("JDBC_USER"));
             jdbcDriver = config.getProperty("JDBC_DRIVER");
 
             PeCryptoUtils.initAesKey(config.getProperty(PROP_AES_KEY));
-            jdbcPassword = PeCryptoUtils.decrypt(config.getProperty("JDBC_PASSWORD"));
+            jdbcPassword = PeCryptoUtils.decrypt(getValue(config.getProperty("JDBC_PASSWORD")));
             config.setProperty("javax.persistence.jdbc.password", jdbcPassword);
             return config;
 
@@ -902,6 +902,13 @@
         return null;
     }
 
+    private static String getValue(final String value) {
+        if (value != null && value.matches("[$][{].*[}]$")) {
+            return System.getenv(value.substring(2, value.length() - 1));
+        }
+        return value;
+    }
+
     public static Connection getDbConnection() {
         return dbConnection(jdbcDriver, jdbcUrl, jdbcUser, jdbcPassword);
     }