aboutsummaryrefslogtreecommitdiffstats
path: root/BRMSGateway/src/main/java/org/onap/policy/brms
diff options
context:
space:
mode:
Diffstat (limited to 'BRMSGateway/src/main/java/org/onap/policy/brms')
-rw-r--r--BRMSGateway/src/main/java/org/onap/policy/brms/api/BrmsGateway.java43
-rw-r--r--BRMSGateway/src/main/java/org/onap/policy/brms/api/BrmsPush.java21
2 files changed, 41 insertions, 23 deletions
diff --git a/BRMSGateway/src/main/java/org/onap/policy/brms/api/BrmsGateway.java b/BRMSGateway/src/main/java/org/onap/policy/brms/api/BrmsGateway.java
index e743794ec..093bf4bae 100644
--- a/BRMSGateway/src/main/java/org/onap/policy/brms/api/BrmsGateway.java
+++ b/BRMSGateway/src/main/java/org/onap/policy/brms/api/BrmsGateway.java
@@ -2,14 +2,14 @@
* ============LICENSE_START=======================================================
* ONAP Policy Engine
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017, 2019 AT&T 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.
@@ -20,6 +20,7 @@
package org.onap.policy.brms.api;
+import java.util.concurrent.CountDownLatch;
import org.onap.policy.api.NotificationScheme;
import org.onap.policy.api.PolicyEngine;
import org.onap.policy.api.PolicyException;
@@ -31,7 +32,7 @@ import org.onap.policy.xacml.api.XACMLErrorConstants;
* BRMSGateway: This application acts as the Gateway interface between the PDP XACML and PDP Drools.
* The listens for BRMS based policies and pushes them to the specified Policy Repository, from
* where the PDP Drools reads the Rule Jar.
- *
+ *
* @version 0.1
*/
public class BrmsGateway {
@@ -41,6 +42,9 @@ public class BrmsGateway {
private static PolicyEngine policyEngine = null;
+ // may be overridden by junit tests
+ private static Factory factory = new Factory();
+
private BrmsGateway() {
// Default private constructor
}
@@ -68,7 +72,7 @@ public class BrmsGateway {
logger.info("Initializing BRMS Handler");
BrmsHandler brmsHandler = null;
try {
- brmsHandler = new BrmsHandler(configFile);
+ brmsHandler = factory.makeBrmsHandler(configFile);
} catch (final PolicyException e) {
String errorString = "Check your property file: " + e.getMessage();
logger.error(errorString);
@@ -85,21 +89,34 @@ public class BrmsGateway {
}
// Keep Running....
+ CountDownLatch latch = new CountDownLatch(1);
final Runnable runnable = () -> {
- while (true) {
- try {
- Thread.sleep(30000);
- } catch (final InterruptedException e) {
- logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR + "Thread Exception " + e.getMessage());
- Thread.currentThread().interrupt();
- }
+ try {
+ // wait until interrupted
+ latch.await();
+ } catch (final InterruptedException e) {
+ logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR + "Thread Exception " + e.getMessage());
+ Thread.currentThread().interrupt();
}
};
- final Thread thread = new Thread(runnable);
+ final Thread thread = factory.makeThread(runnable);
thread.start();
}
public static PolicyEngine getPolicyEngine() {
return policyEngine;
}
+
+ /**
+ * Factory to provide various data. May be overridden by junit tests.
+ */
+ public static class Factory {
+ public BrmsHandler makeBrmsHandler(String configFile) throws PolicyException {
+ return new BrmsHandler(configFile);
+ }
+
+ public Thread makeThread(Runnable runnable) {
+ return new Thread(runnable);
+ }
+ }
}
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 97e225890..e321811a3 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
@@ -60,7 +60,7 @@ import javax.persistence.Persistence;
import javax.persistence.TypedQuery;
import javax.ws.rs.ProcessingException;
import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.DeploymentRepository;
import org.apache.maven.model.DistributionManagement;
@@ -117,7 +117,7 @@ public class BrmsPush {
private static final Logger LOGGER = FlexLogger.getLogger(BrmsPush.class.getName());
private static final String PROJECTSLOCATION = "RuleProjects";
private static final String[] GOALS = {"clean", "deploy"};
- private static final String DEFAULT_VERSION = "1.4.1-SNAPSHOT";
+ private static final String DEFAULT_VERSION = "1.6.3-SNAPSHOT";
private static final String DEPENDENCY_FILE = "dependency.json";
private static final String PROP_AES_KEY = "org.onap.policy.encryption.aes.key";
public static final String BRMSPERSISTENCE = "brmsEclipselink.persistencexml";
@@ -256,8 +256,8 @@ public class BrmsPush {
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 @@ public class BrmsPush {
}
+ 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;
}
@@ -1049,12 +1056,6 @@ public class BrmsPush {
msoDependency.setArtifactId("controlloop.common.model-impl.so");
msoDependency.setVersion(version);
dependencyList.add(msoDependency);
-
- final Dependency trafficgeneratorDependency = new Dependency();
- trafficgeneratorDependency.setGroupId(DROOLS_APPS_MODEL_GROUP);
- trafficgeneratorDependency.setArtifactId("controlloop.common.model-impl.trafficgenerator");
- trafficgeneratorDependency.setVersion(version);
- dependencyList.add(trafficgeneratorDependency);
return dependencyList;
}