aboutsummaryrefslogtreecommitdiffstats
path: root/PolicyEngineAPI/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'PolicyEngineAPI/src/main/java')
-rw-r--r--PolicyEngineAPI/src/main/java/org/onap/policy/api/PolicyEngine.java2
-rw-r--r--PolicyEngineAPI/src/main/java/org/onap/policy/std/AutoClientDMAAP.java2
-rw-r--r--PolicyEngineAPI/src/main/java/org/onap/policy/std/StdPolicyEngine.java112
3 files changed, 57 insertions, 59 deletions
diff --git a/PolicyEngineAPI/src/main/java/org/onap/policy/api/PolicyEngine.java b/PolicyEngineAPI/src/main/java/org/onap/policy/api/PolicyEngine.java
index 7bd45983b..2b5252c26 100644
--- a/PolicyEngineAPI/src/main/java/org/onap/policy/api/PolicyEngine.java
+++ b/PolicyEngineAPI/src/main/java/org/onap/policy/api/PolicyEngine.java
@@ -586,7 +586,7 @@ public class PolicyEngine{
* @param clientKey depicts String format of Password/ Client_Key.
*/
public void setClientKey(String clientKey){
- stdPolicyEngine.setClientKey(clientKey);
+ StdPolicyEngine.setClientKey(clientKey);
}
// Internal Setter Method to help build configRequestParameters.
diff --git a/PolicyEngineAPI/src/main/java/org/onap/policy/std/AutoClientDMAAP.java b/PolicyEngineAPI/src/main/java/org/onap/policy/std/AutoClientDMAAP.java
index d031868f0..5bfe360fb 100644
--- a/PolicyEngineAPI/src/main/java/org/onap/policy/std/AutoClientDMAAP.java
+++ b/PolicyEngineAPI/src/main/java/org/onap/policy/std/AutoClientDMAAP.java
@@ -102,7 +102,7 @@ public class AutoClientDMAAP implements Runnable {
}
}
- private void setNotification(StdPDPNotification notificationJSON) {
+ private static void setNotification(StdPDPNotification notificationJSON) {
notification = notificationJSON;
}
diff --git a/PolicyEngineAPI/src/main/java/org/onap/policy/std/StdPolicyEngine.java b/PolicyEngineAPI/src/main/java/org/onap/policy/std/StdPolicyEngine.java
index 4e904b6e1..bef964174 100644
--- a/PolicyEngineAPI/src/main/java/org/onap/policy/std/StdPolicyEngine.java
+++ b/PolicyEngineAPI/src/main/java/org/onap/policy/std/StdPolicyEngine.java
@@ -28,7 +28,6 @@ import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.net.URLConnection;
import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.text.ParseException;
@@ -108,8 +107,12 @@ import com.google.gson.GsonBuilder;
public class StdPolicyEngine {
private static final String ERROR_AUTH_GET_PERM = "You are not allowed to Make this Request. Please contact PolicyAdmin to give access to: ";
private static final String DEFAULT_NOTIFICATION = "websocket";
-
- private String clientEncoding = null;
+ private static final String ERROR_DATA_ISSUE = "Invalid Data is given.";
+ private static final String DMAAP = "dmaap";
+ private static final String ERROR_INVALID_PDPS = "Unable to get valid Response from PDP(s) ";
+ private static final String ERROR_WHILE_CONNECTING = "Error while connecting to ";
+
+ private static String clientEncoding = null;
private String contentType = null;
private static List<String> pdps = null;
private static String environment = null;
@@ -117,8 +120,6 @@ public class StdPolicyEngine {
private static String pass = null;
private static List<String> encoding = null;
private static boolean junit = false;
- private List<String> pdpDefault = null;
- private List<String> typeDefault = null;
private List<String> notificationType = new ArrayList<>();
private List<String> notificationURLList = new ArrayList<>();
private NotificationScheme scheme = null;
@@ -151,7 +152,7 @@ public class StdPolicyEngine {
setProperty(propertyFilePath, null);
this.scheme = scheme;
this.handler = handler;
- if ((!"ueb".equals(notificationType.get(0))) || (!"dmaap".equals(notificationType.get(0)))) {
+ if ((!"ueb".equals(notificationType.get(0))) || (!DMAAP.equals(notificationType.get(0)))) {
AutoClientEnd.setAuto(scheme, handler);
}
notification(scheme, handler);
@@ -365,12 +366,12 @@ public class StdPolicyEngine {
return response;
}
if (exception.getCause().getMessage().contains("400")) {
- String message = XACMLErrorConstants.ERROR_DATA_ISSUE + "Invalid Data is given.";
+ String message = XACMLErrorConstants.ERROR_DATA_ISSUE + ERROR_DATA_ISSUE;
response.setResponseMessage(message);
response.setResponseCode(400);
return response;
}
- String message = XACMLErrorConstants.ERROR_PERMISSIONS + "Unable to get valid Response from PDP(s) "
+ String message = XACMLErrorConstants.ERROR_PERMISSIONS + ERROR_INVALID_PDPS
+ pdps;
LOGGER.error(message, exception);
response.setResponseMessage(message);
@@ -449,7 +450,7 @@ public class StdPolicyEngine {
public PolicyChangeResponse policyEngineImportImpl(ImportParameters importParameters) throws PolicyException {
StdPolicyChangeResponse response = new StdPolicyChangeResponse();
String resource = "policyEngineImport";
- LinkedMultiValueMap<String, Object> parameters = new LinkedMultiValueMap<String, Object>();
+ LinkedMultiValueMap<String, Object> parameters = new LinkedMultiValueMap<>();
// Create Request.
try {
String body = PolicyUtils.objectToJsonString(importParameters);
@@ -563,11 +564,11 @@ public class StdPolicyEngine {
throw new PolicyDecisionException(message, exception);
}
if (exception.getCause().getMessage().contains("400")) {
- String message = XACMLErrorConstants.ERROR_DATA_ISSUE + "Invalid Data is given.";
+ String message = XACMLErrorConstants.ERROR_DATA_ISSUE + ERROR_DATA_ISSUE;
LOGGER.error(message);
throw new PolicyDecisionException(message, exception);
}
- String message = XACMLErrorConstants.ERROR_PERMISSIONS + "Unable to get valid Response from PDP(s) "
+ String message = XACMLErrorConstants.ERROR_PERMISSIONS + ERROR_INVALID_PDPS
+ pdps;
LOGGER.error(message, exception);
throw new PolicyDecisionException(message, exception);
@@ -578,7 +579,7 @@ public class StdPolicyEngine {
public Collection<PolicyConfig> getConfigImpl(ConfigRequestParameters configRequestParameters)
throws PolicyConfigException {
String resource = "getConfig";
- ArrayList<PolicyConfig> response = new ArrayList<>();
+ ArrayList<PolicyConfig> response = null;
String body = null;
// Create Request.
try {
@@ -601,11 +602,11 @@ public class StdPolicyEngine {
throw new PolicyConfigException(message, exception);
}
if (exception.getCause().getMessage().contains("400")) {
- String message = XACMLErrorConstants.ERROR_DATA_ISSUE + "Invalid Data is given.";
+ String message = XACMLErrorConstants.ERROR_DATA_ISSUE + ERROR_DATA_ISSUE;
LOGGER.error(message);
throw new PolicyConfigException(message, exception);
}
- String message = XACMLErrorConstants.ERROR_PROCESS_FLOW + "Unable to get valid Response from PDP(s) "
+ String message = XACMLErrorConstants.ERROR_PROCESS_FLOW + ERROR_INVALID_PDPS
+ pdps;
LOGGER.error(message, exception);
throw new PolicyConfigException(message, exception);
@@ -668,13 +669,13 @@ public class StdPolicyEngine {
Matches match = new Matches();
HashMap<String, String> configAttributes = new HashMap<>();
try {
- for (String key : matchingConditions.keySet()) {
- if (key.equalsIgnoreCase("ONAPName")) {
- match.setOnapName(matchingConditions.get(key));
- } else if (key.equalsIgnoreCase("ConfigName")) {
- match.setConfigName(matchingConditions.get(key));
+ for (Map.Entry<String,String> entry : matchingConditions.entrySet()) {
+ if (entry.getKey().equalsIgnoreCase("ONAPName")) {
+ match.setOnapName(entry.getValue());
+ } else if (entry.getKey().equalsIgnoreCase("ConfigName")) {
+ match.setConfigName(entry.getValue());
} else {
- configAttributes.put(key, matchingConditions.get(key));
+ configAttributes.put(entry.getKey(), entry.getValue());
}
}
if (!configAttributes.isEmpty()) {
@@ -700,10 +701,10 @@ public class StdPolicyEngine {
try {
result = restTemplate.exchange(pdps.get(0) + "/api/" + resource, method, requestEntity, responseType);
} catch (HttpClientErrorException e) {
- LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error while connecting to " + pdps.get(0), e);
+ LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + ERROR_WHILE_CONNECTING + pdps.get(0), e);
exception = e;
} catch (Exception e) {
- LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error while connecting to " + pdps.get(0), e);
+ LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + ERROR_WHILE_CONNECTING + pdps.get(0), e);
exception = new HttpClientErrorException(HttpStatus.INTERNAL_SERVER_ERROR, e.getMessage());
}
if (result == null) {
@@ -728,7 +729,7 @@ public class StdPolicyEngine {
throw new PolicyException(message, exception);
}
if (exception.getStatusCode().equals(HttpStatus.NOT_FOUND)) {
- String message = XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error while connecting to " + pdps
+ String message = XACMLErrorConstants.ERROR_PROCESS_FLOW + ERROR_WHILE_CONNECTING + pdps
+ exception;
LOGGER.error(message);
throw new PolicyException(message, exception);
@@ -746,7 +747,7 @@ public class StdPolicyEngine {
headers.set("ClientAuth", "Basic " + clientEncoding);
headers.set("Authorization", "Basic " + encoding.get(0));
if (contentType != null) {
- headers.set("Content-Type", contentType.toString());
+ headers.set("Content-Type", contentType);
} else {
headers.set("Content-Type", MediaType.APPLICATION_JSON_VALUE);
}
@@ -754,7 +755,7 @@ public class StdPolicyEngine {
return headers;
}
- private void setClientEncoding() {
+ private static void setClientEncoding() {
Base64.Encoder encoder = Base64.getEncoder();
clientEncoding = encoder.encodeToString((userName + ":" + pass).getBytes(StandardCharsets.UTF_8));
}
@@ -780,8 +781,8 @@ public class StdPolicyEngine {
public Collection<PolicyResponse> sendEventImpl(Map<String, String> eventAttributes, UUID requestID)
throws PolicyEventException {
String resource = "sendEvent";
- ArrayList<PolicyResponse> response = new ArrayList<PolicyResponse>();
- String body = new String();
+ ArrayList<PolicyResponse> response = null;
+ String body = null;
// Create Request.
try {
// Long way here, can be shortened and will be done.
@@ -807,11 +808,11 @@ public class StdPolicyEngine {
throw new PolicyEventException(message, exception);
}
if (exception.getCause().getMessage().contains("400")) {
- String message = XACMLErrorConstants.ERROR_DATA_ISSUE + "Invalid Data is given.";
+ String message = XACMLErrorConstants.ERROR_DATA_ISSUE + ERROR_DATA_ISSUE;
LOGGER.error(message);
throw new PolicyEventException(message, exception);
}
- String message = XACMLErrorConstants.ERROR_PERMISSIONS + "Unable to get valid Response from PDP(s) "
+ String message = XACMLErrorConstants.ERROR_PERMISSIONS + ERROR_INVALID_PDPS
+ pdps;
LOGGER.error(message, exception);
throw new PolicyEventException(message, exception);
@@ -819,7 +820,7 @@ public class StdPolicyEngine {
return response;
}
- private ArrayList<PolicyResponse> eventResult(StdPolicyResponse[] response) throws PolicyEventException {
+ private ArrayList<PolicyResponse> eventResult(StdPolicyResponse[] response){
ArrayList<PolicyResponse> eventResult = new ArrayList<>();
if (response != null && response.length > 0) {
for (StdPolicyResponse policyConfigResponse : response) {
@@ -850,7 +851,7 @@ public class StdPolicyEngine {
}
} else {
Path file = Paths.get(propertyFilePath);
- if (Files.notExists(file)) {
+ if (!file.toFile().exists()) {
throw new PolicyEngineException(XACMLErrorConstants.ERROR_DATA_ISSUE
+ "File doesn't exist in the specified Path " + file.toString());
}
@@ -884,8 +885,7 @@ public class StdPolicyEngine {
} else {
checkType = checkType.trim();
if (checkType.contains(",")) {
- typeDefault = new ArrayList<>(Arrays.asList(prop.getProperty("NOTIFICATION_TYPE").split(",")));
- notificationType = typeDefault;
+ notificationType = new ArrayList<>(Arrays.asList(prop.getProperty("NOTIFICATION_TYPE").split(",")));
} else {
notificationType = new ArrayList<>();
notificationType.add(checkType);
@@ -899,7 +899,7 @@ public class StdPolicyEngine {
} else {
serverList = serverList.trim();
if (serverList.contains(",")) {
- notificationURLList = new ArrayList<String>(Arrays.asList(serverList.split(",")));
+ notificationURLList = new ArrayList<>(Arrays.asList(serverList.split(",")));
} else {
notificationURLList = new ArrayList<>();
notificationURLList.add(serverList);
@@ -948,7 +948,7 @@ public class StdPolicyEngine {
+ "Properties file doesn't have the PDP_URL parameter");
}
if (checkVal.contains(";")) {
- pdpDefault = new ArrayList<>(Arrays.asList(checkVal.split("\\s*;\\s*")));
+ List<String> pdpDefault = new ArrayList<>(Arrays.asList(checkVal.split("\\s*;\\s*")));
int pdpCount = 0;
while (pdpCount < pdpDefault.size()) {
String pdpVal = pdpDefault.get(pdpCount);
@@ -1008,15 +1008,15 @@ public class StdPolicyEngine {
*/
private void readPDPParam(String pdpVal) throws PolicyEngineException {
if (pdpVal.contains(",")) {
- List<String> pdpValues = new ArrayList<String>(Arrays.asList(pdpVal.split("\\s*,\\s*")));
+ List<String> pdpValues = new ArrayList<>(Arrays.asList(pdpVal.split("\\s*,\\s*")));
if (pdpValues.size() == 3) {
// 0 - PDPURL
pdps.add(pdpValues.get(0));
// 1:2 will be UserID:Password
String userID = pdpValues.get(1);
- String pass = pdpValues.get(2);
+ String userPas = pdpValues.get(2);
Base64.Encoder encoder = Base64.getEncoder();
- encoding.add(encoder.encodeToString((userID + ":" + pass).getBytes(StandardCharsets.UTF_8)));
+ encoding.add(encoder.encodeToString((userID + ":" + userPas).getBytes(StandardCharsets.UTF_8)));
} else {
LOGGER.error(XACMLErrorConstants.ERROR_DATA_ISSUE + "No Credentials to send Request: " + pdpValues);
throw new PolicyEngineException(
@@ -1044,7 +1044,7 @@ public class StdPolicyEngine {
AutoClientUEB.setAuto(scheme, handler);
this.uebThread = registerUEBThread.isAlive();
}
- } else if (notificationType.get(0).equals("dmaap")) {
+ } else if (notificationType.get(0).equals(DMAAP)) {
if (this.dmaapThread) {
AutoClientDMAAP.setAuto(scheme, handler);
this.dmaapThread = registerDMAAPThread.isAlive();
@@ -1064,7 +1064,7 @@ public class StdPolicyEngine {
this.registerUEBThread = new Thread(this.uebClientThread);
this.registerUEBThread.start();
this.uebThread = true;
- } else if (notificationType.get(0).equals("dmaap") && !this.dmaapThread) {
+ } else if (notificationType.get(0).equals(DMAAP) && !this.dmaapThread) {
this.dmaapClientThread = new AutoClientDMAAP(notificationURLList, topic, userName, pass);
AutoClientDMAAP.setAuto(scheme, handler);
this.registerDMAAPThread = new Thread(this.dmaapClientThread);
@@ -1094,7 +1094,7 @@ public class StdPolicyEngine {
if (notificationType.get(0).equals("ueb")) {
ManualClientEndUEB.start(pdps.get(0), notificationURLList, UNIQUEID);
notification = ManualClientEndUEB.result(scheme);
- } else if (notificationType.get(0).equals("dmaap")) {
+ } else if (notificationType.get(0).equals(DMAAP)) {
ManualClientEndDMAAP.start(notificationURLList, topic, UNIQUEID, userName, pass);
notification = ManualClientEndDMAAP.result(scheme);
} else {
@@ -1123,7 +1123,7 @@ public class StdPolicyEngine {
if (this.scheme.equals(NotificationScheme.MANUAL_ALL_NOTIFICATIONS)) {
ManualClientEndUEB.createTopic(pdps.get(0), UNIQUEID, notificationURLList);
}
- } else if (notificationType.get(0).equals("dmaap")) {
+ } else if (notificationType.get(0).equals(DMAAP)) {
AutoClientDMAAP.setScheme(this.scheme);
if (this.scheme.equals(NotificationScheme.MANUAL_ALL_NOTIFICATIONS)) {
ManualClientEndDMAAP.createTopic(topic, UNIQUEID, notificationURLList, userName, pass);
@@ -1151,19 +1151,17 @@ public class StdPolicyEngine {
* Stop the Notification Service if its running.
*/
public void stopNotification() {
- if (this.scheme != null && this.handler != null) {
- if (this.scheme.equals(NotificationScheme.AUTO_ALL_NOTIFICATIONS)
- || this.scheme.equals(NotificationScheme.AUTO_NOTIFICATIONS)) {
- LOGGER.info("Clear Notification called.. ");
- if (notificationType.get(0).equals("ueb")) {
- this.uebClientThread.terminate();
- this.uebThread = false;
- } else if (notificationType.get(0).equals("dmaap")) {
- this.dmaapClientThread.terminate();
- this.dmaapThread = false;
- } else {
- AutoClientEnd.stop();
- }
+ if (this.scheme != null && this.handler != null && (this.scheme.equals(NotificationScheme.AUTO_ALL_NOTIFICATIONS)
+ || this.scheme.equals(NotificationScheme.AUTO_NOTIFICATIONS))) {
+ LOGGER.info("Clear Notification called.. ");
+ if (notificationType.get(0).equals("ueb")) {
+ this.uebClientThread.terminate();
+ this.uebThread = false;
+ } else if (notificationType.get(0).equals(DMAAP)) {
+ this.dmaapClientThread.terminate();
+ this.dmaapThread = false;
+ } else {
+ AutoClientEnd.stop();
}
}
}
@@ -1276,13 +1274,13 @@ public class StdPolicyEngine {
try {
policyParameters.setTtlDate(new SimpleDateFormat("dd-MM-yyyy").parse(ttlDate));
} catch (NullPointerException | ParseException e) {
- LOGGER.warn("Error Parsing date given " + ttlDate);
+ LOGGER.warn("Error Parsing date given " + ttlDate, e);
policyParameters.setTtlDate(null);
}
return createUpdatePolicyImpl(policyParameters, updateFlag).getResponseMessage();
}
- public void setClientKey(String clientKey) {
+ public static void setClientKey(String clientKey) {
if (clientKey != null && !clientKey.isEmpty()) {
StdPolicyEngine.pass = clientKey;
setClientEncoding();