summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--BRMSGateway/src/main/java/org/onap/policy/brmsInterface/BRMSGateway.java8
-rw-r--r--BRMSGateway/src/main/java/org/onap/policy/brmsInterface/BRMSHandler.java4
-rw-r--r--BRMSGateway/src/main/java/org/onap/policy/brmsInterface/BRMSPush.java100
3 files changed, 62 insertions, 50 deletions
diff --git a/BRMSGateway/src/main/java/org/onap/policy/brmsInterface/BRMSGateway.java b/BRMSGateway/src/main/java/org/onap/policy/brmsInterface/BRMSGateway.java
index c4fcf5454..98c49ce23 100644
--- a/BRMSGateway/src/main/java/org/onap/policy/brmsInterface/BRMSGateway.java
+++ b/BRMSGateway/src/main/java/org/onap/policy/brmsInterface/BRMSGateway.java
@@ -33,13 +33,17 @@ import org.onap.policy.xacml.api.XACMLErrorConstants;
*
* @version 0.1
*/
-public class BRMSGateway {
-
+class BRMSGateway {
+
private static final Logger logger = FlexLogger.getLogger(BRMSGateway.class);
private static final String CONFIGFILE = "config.properties";
private static PolicyEngine policyEngine = null;
+ private BRMSGateway() {
+ // Default private constructor
+ }
+
public static void main(String[] args) throws Exception {
// Initialize Handler.
logger.info("Initializing BRMS Handler");
diff --git a/BRMSGateway/src/main/java/org/onap/policy/brmsInterface/BRMSHandler.java b/BRMSGateway/src/main/java/org/onap/policy/brmsInterface/BRMSHandler.java
index a11e8b4b7..c0a9cd203 100644
--- a/BRMSGateway/src/main/java/org/onap/policy/brmsInterface/BRMSHandler.java
+++ b/BRMSGateway/src/main/java/org/onap/policy/brmsInterface/BRMSHandler.java
@@ -110,7 +110,7 @@ public class BRMSHandler implements BackUpHandler{
}
}
i++;
- }while(failureFlag && i< bRMSPush.URLListSize());
+ }while(failureFlag && i< bRMSPush.urlListSize());
}
/*
@@ -126,7 +126,7 @@ public class BRMSHandler implements BackUpHandler{
logger.info("Updated Policies: \n");
ArrayList<PolicyConfig> brmsPolicies = addedPolicies(notification);
Boolean successFlag = false;
- for(int i=0; !successFlag && i< bRMSPush.URLListSize(); i++){
+ for(int i=0; !successFlag && i< bRMSPush.urlListSize(); i++){
if(i!=0){
for(PolicyConfig policyConfig: brmsPolicies){
logger.info("Policy Retry with this Name notified: " + policyConfig.getPolicyName());
diff --git a/BRMSGateway/src/main/java/org/onap/policy/brmsInterface/BRMSPush.java b/BRMSGateway/src/main/java/org/onap/policy/brmsInterface/BRMSPush.java
index a13ded09a..4818fb3c8 100644
--- a/BRMSGateway/src/main/java/org/onap/policy/brmsInterface/BRMSPush.java
+++ b/BRMSGateway/src/main/java/org/onap/policy/brmsInterface/BRMSPush.java
@@ -104,7 +104,15 @@ import com.fasterxml.jackson.core.JsonProcessingException;
@SuppressWarnings("deprecation")
public class BRMSPush {
- private static final Logger LOGGER = FlexLogger.getLogger(BRMSPush.class.getName());
+ private static final String GROUP_NAMES = "groupNames";
+ private static final String DROOLS_APPS_PACKAGE = "org.onap.policy.drools-applications";
+ private static final String META_INF = "META-INF";
+ private static final String KMODULE_XML_FILE = "kmodule.xml";
+ private static final String POM_XML_FILE = "pom.xml";
+ private static final String VERSION_0_1_0 = "0.1.0";
+ private static final String RULES = "rules";
+ private static final String RESOURCES = "resources";
+ 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.2.0-SNAPSHOT";
@@ -386,18 +394,20 @@ public class BRMSPush {
// Pick selected Value
String userControllerName = null;
ArrayList<PEDependency> userDependencies = new ArrayList<>();
- for (String key : responseAttributes.keySet()) {
+ for (Map.Entry<String, String> entry: responseAttributes.entrySet()) {
+ String key = entry.getKey();
+ String value = entry.getValue();
if (key.equals(policyKeyID)) {
- selectedName = responseAttributes.get(key);
+ selectedName = value;
}
// kmodule configurations
else if ("kSessionName".equals(key)) {
- kSessionName = responseAttributes.get(key);
+ kSessionName = value;
}
// Check User Specific values.
if ("$controller:".equals(key)) {
try {
- PEDependency dependency = PolicyUtils.jsonStringToObject(responseAttributes.get(key),
+ PEDependency dependency = PolicyUtils.jsonStringToObject(value,
PEDependency.class);
userControllerName = key.replaceFirst("$controller:", "");
addToGroup(userControllerName, dependency);
@@ -406,7 +416,6 @@ public class BRMSPush {
}
} else if ("$dependency$".equals(key)) {
- String value = responseAttributes.get(key);
if (value.startsWith("[") && value.endsWith("]")) {
value = value.substring(1, value.length() - 1).trim();
List<String> dependencyStrings = Arrays.asList(value.split("},{"));
@@ -484,9 +493,9 @@ public class BRMSPush {
// Check if the Project is in Sync. If not get the latest Version.
syncProject(selectedName);
createProject(PROJECTSLOCATION + File.separator + getArtifactID(selectedName) + File.separator + "src"
- + File.separator + "main" + File.separator + "resources", kSessionName);
+ + File.separator + "main" + File.separator + RESOURCES, kSessionName);
copyDataToFile(PROJECTSLOCATION + File.separator + getArtifactID(selectedName) + File.separator + "src"
- + File.separator + "main" + File.separator + "resources" + File.separator + "rules" + File.separator
+ + File.separator + "main" + File.separator + RESOURCES + File.separator + RULES + File.separator
+ name + ".drl", rule);
addToPolicy(name, selectedName);
}
@@ -501,18 +510,18 @@ public class BRMSPush {
Query query = em.createQuery("select b from BRMSPolicyInfo as b where b.policyName = :pn");
query.setParameter("pn", policyName);
List<?> pList = query.getResultList();
- boolean createFlag = false;
+ boolean create = false;
BRMSPolicyInfo brmsPolicyInfo = new BRMSPolicyInfo();
if (!pList.isEmpty()) {
// Already exists.
brmsPolicyInfo = (BRMSPolicyInfo) pList.get(0);
if (!brmsPolicyInfo.getControllerName().getControllerName().equals(controllerName)) {
- createFlag = true;
+ create = true;
}
} else {
- createFlag = true;
+ create = true;
}
- if (createFlag) {
+ if (create) {
query = em.createQuery("select b from BRMSGroupInfo as b where b.controllerName = :cn");
query.setParameter("cn", controllerName);
List<?> bList = query.getResultList();
@@ -536,7 +545,7 @@ public class BRMSPush {
if (version == null) {
LOGGER.error("Error getting local version for the given Controller Name:" + selectedName
+ " going with Default value");
- version = "0.1.0";
+ version = VERSION_0_1_0;
}
String nextVersion = incrementVersion(version);
boolean outOfSync = checkRemoteSync(selectedName, nextVersion);
@@ -577,20 +586,20 @@ public class BRMSPush {
String fileName = file.getName().substring(file.getName().lastIndexOf("/") + 1);
if (file.getName().endsWith(".drl")) {
String path = PROJECTSLOCATION + File.separator + artifactId + File.separator + "src" + File.separator
- + "main" + File.separator + "resources" + File.separator + "rules";
+ + "main" + File.separator + RESOURCES + File.separator + RULES;
new File(path).mkdirs();
if (syncFlag && policyMap.containsKey(fileName.replace(".drl", ""))) {
f = new File(path + File.separator + fileName);
} else {
f = new File(path + File.separator + fileName);
}
- } else if (file.getName().endsWith("pom.xml")) {
+ } else if (file.getName().endsWith(POM_XML_FILE)) {
String path = PROJECTSLOCATION + File.separator + artifactId;
new File(path).mkdirs();
f = new File(path + File.separator + fileName);
- } else if (file.getName().endsWith("kmodule.xml")) {
+ } else if (file.getName().endsWith(KMODULE_XML_FILE)) {
String path = PROJECTSLOCATION + File.separator + artifactId + File.separator + "src" + File.separator
- + "main" + File.separator + "resources" + File.separator + "META-INF";
+ + "main" + File.separator + RESOURCES + File.separator + META_INF;
new File(path).mkdirs();
f = new File(path + File.separator + fileName);
}
@@ -686,13 +695,13 @@ public class BRMSPush {
}
private void setVersion(String selectedName) {
- String newVersion = "0.1.0";
+ String newVersion = VERSION_0_1_0;
createFlag = false;
NexusArtifact artifact = getLatestArtifactFromNexus(selectedName);
if (artifact != null) {
newVersion = incrementVersion(artifact.getVersion());
}
- if ("0.1.0".equals(newVersion)) {
+ if (VERSION_0_1_0.equals(newVersion)) {
createFlag = true;
}
setVersion(newVersion, selectedName);
@@ -731,8 +740,6 @@ public class BRMSPush {
// Invoke their Maven process.
try {
im.startTransaction();
- } catch (AdministrativeStateException e) {
- LOGGER.error("Error while starting Transaction " + e);
} catch (Exception e) {
LOGGER.error("Error while starting Transaction " + e);
}
@@ -746,7 +753,7 @@ public class BRMSPush {
setVersion(group);
createPom(group);
request.setPomFile(new File(
- PROJECTSLOCATION + File.separator + getArtifactID(group) + File.separator + "pom.xml"));
+ PROJECTSLOCATION + File.separator + getArtifactID(group) + File.separator + POM_XML_FILE));
request.setGoals(Arrays.asList(GOALS));
Invoker invoker = new DefaultInvoker();
result = invoker.execute(request);
@@ -830,9 +837,9 @@ public class BRMSPush {
ControllerPOJO controllerPOJO = new ControllerPOJO();
controllerPOJO.setName(controllerName);
controllerPOJO.setOperation("lock");
- List<ControllerPOJO> controllers = new ArrayList<>();
- controllers.add(controllerPOJO);
- sendNotification(controllers);
+ List<ControllerPOJO> controllerPojos = new ArrayList<>();
+ controllerPojos.add(controllerPOJO);
+ sendNotification(controllerPojos);
}
private void sendNotification(List<ControllerPOJO> controllers) {
@@ -911,7 +918,7 @@ public class BRMSPush {
Writer writer = null;
try {
writer = WriterFactory.newXmlWriter(
- new File(PROJECTSLOCATION + File.separator + getArtifactID(name) + File.separator + "pom.xml"));
+ new File(PROJECTSLOCATION + File.separator + getArtifactID(name) + File.separator + POM_XML_FILE));
MavenXpp3Writer pomWriter = new MavenXpp3Writer();
pomWriter.write(writer, model);
} catch (Exception e) {
@@ -954,43 +961,43 @@ public class BRMSPush {
String version = StringEscapeUtils.escapeJava(brmsdependencyversion);
Dependency demoDependency = new Dependency();
- demoDependency.setGroupId("org.onap.policy.drools-applications");
+ demoDependency.setGroupId(DROOLS_APPS_PACKAGE);
demoDependency.setArtifactId("demo");
demoDependency.setVersion(version);
dependencyList.add(demoDependency);
Dependency controlloopDependency = new Dependency();
- controlloopDependency.setGroupId("org.onap.policy.drools-applications");
+ controlloopDependency.setGroupId(DROOLS_APPS_PACKAGE);
controlloopDependency.setArtifactId("events");
controlloopDependency.setVersion(version);
dependencyList.add(controlloopDependency);
Dependency restDependency = new Dependency();
- restDependency.setGroupId("org.onap.policy.drools-applications");
+ restDependency.setGroupId(DROOLS_APPS_PACKAGE);
restDependency.setArtifactId("rest");
restDependency.setVersion(version);
dependencyList.add(restDependency);
Dependency appcDependency = new Dependency();
- appcDependency.setGroupId("org.onap.policy.drools-applications");
+ appcDependency.setGroupId(DROOLS_APPS_PACKAGE);
appcDependency.setArtifactId("appc");
appcDependency.setVersion(version);
dependencyList.add(appcDependency);
Dependency aaiDependency = new Dependency();
- aaiDependency.setGroupId("org.onap.policy.drools-applications");
+ aaiDependency.setGroupId(DROOLS_APPS_PACKAGE);
aaiDependency.setArtifactId("aai");
aaiDependency.setVersion(version);
dependencyList.add(aaiDependency);
Dependency msoDependency = new Dependency();
- msoDependency.setGroupId("org.onap.policy.drools-applications");
+ msoDependency.setGroupId(DROOLS_APPS_PACKAGE);
msoDependency.setArtifactId("mso");
msoDependency.setVersion(version);
dependencyList.add(msoDependency);
Dependency trafficgeneratorDependency = new Dependency();
- trafficgeneratorDependency.setGroupId("org.onap.policy.drools-applications");
+ trafficgeneratorDependency.setGroupId(DROOLS_APPS_PACKAGE);
trafficgeneratorDependency.setArtifactId("trafficgenerator");
trafficgeneratorDependency.setVersion(version);
dependencyList.add(trafficgeneratorDependency);
@@ -998,15 +1005,15 @@ public class BRMSPush {
}
private void createProject(String path, String ksessionName) {
- new File(path + File.separator + "rules").mkdirs();
- new File(path + File.separator + "META-INF").mkdirs();
- if (!Files.exists(Paths.get(path + File.separator + "META-INF" + File.separator + "kmodule.xml"))) {
+ new File(path + File.separator + RULES).mkdirs();
+ new File(path + File.separator + META_INF).mkdirs();
+ if (!Files.exists(Paths.get(path + File.separator + META_INF + File.separator + KMODULE_XML_FILE))) {
// Hard coding XML for PDP Drools to accept our Rules.
String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "\n"
+ "<kmodule xmlns=\"http://jboss.org/kie/6.0.0/kmodule\">" + "\n"
+ "<kbase name=\"rules\" packages=\"rules\">" + "\n" + "<ksession name=\"" + ksessionName + "\"/>"
+ "\n" + "</kbase></kmodule>";
- copyDataToFile(path + File.separator + "META-INF" + File.separator + "kmodule.xml", xml);
+ copyDataToFile(path + File.separator + META_INF + File.separator + KMODULE_XML_FILE, xml);
}
}
@@ -1022,20 +1029,21 @@ public class BRMSPush {
private void readGroups(Properties config) throws PolicyException {
String[] groupNames;
- if (!config.containsKey("groupNames") || config.getProperty("groupNames")==null){
+ String groupNamesError = "groupNames property is missing or empty from the property file ";
+ if (!config.containsKey(GROUP_NAMES) || config.getProperty(GROUP_NAMES)==null){
throw new PolicyException(XACMLErrorConstants.ERROR_DATA_ISSUE
- + "groupNames property is missing or empty from the property file ");
+ + groupNamesError);
}
- if (config.getProperty("groupNames").contains(",")) {
- groupNames = config.getProperty("groupNames").replaceAll(" ", "").split(",");
+ if (config.getProperty(GROUP_NAMES).contains(",")) {
+ groupNames = config.getProperty(GROUP_NAMES).replaceAll(" ", "").split(",");
} else {
- groupNames = new String[] { config.getProperty("groupNames").replaceAll(" ", "") };
+ groupNames = new String[] { config.getProperty(GROUP_NAMES).replaceAll(" ", "") };
}
if (groupNames == null || groupNames.length == 0) {
LOGGER.error(XACMLErrorConstants.ERROR_DATA_ISSUE
- + "groupNames property is missing or empty from the property file ");
+ + groupNamesError);
throw new PolicyException(XACMLErrorConstants.ERROR_DATA_ISSUE
- + "groupNames property is missing or empty from the property file ");
+ + groupNamesError);
}
groupMap = new HashMap<>();
for (int counter = 0; counter < groupNames.length; counter++) {
@@ -1103,7 +1111,7 @@ public class BRMSPush {
private void getNameAndSetRemove(String controllerName, String policyName) {
String artifactName = getArtifactID(controllerName);
String ruleFolder = PROJECTSLOCATION + File.separator + artifactName + File.separator + "src" + File.separator
- + "main" + File.separator + "resources" + File.separator + "rules";
+ + "main" + File.separator + RESOURCES + File.separator + RULES;
File file = new File(ruleFolder + File.separator + policyName + ".drl");
if (file.delete()) {
LOGGER.info("Deleted File.. " + file.getAbsolutePath());
@@ -1154,7 +1162,7 @@ public class BRMSPush {
}
}
- public int URLListSize() {
+ public int urlListSize() {
if (repURLs != null) {
return repURLs.size();
} else