JUnit/SONAR/Checkstyle in ONAP-REST
[policy/engine.git] / ONAP-PAP-REST / src / main / java / org / onap / policy / pap / xacml / rest / components / CreateBrmsParamPolicy.java
index 6a0c926..36ab893 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * ONAP-PAP-REST
  * ================================================================================
- * Copyright (C) 2017-2018 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.
@@ -20,6 +20,9 @@
 
 package org.onap.policy.pap.xacml.rest.components;
 
+import com.att.research.xacml.api.pap.PAPException;
+import com.att.research.xacml.std.IdentifierImpl;
+
 import java.io.File;
 import java.io.IOException;
 import java.io.PrintWriter;
@@ -41,19 +44,6 @@ import java.util.regex.Pattern;
 
 import javax.script.SimpleBindings;
 
-import org.apache.commons.io.FilenameUtils;
-import org.onap.policy.common.logging.eelf.MessageCodes;
-import org.onap.policy.common.logging.eelf.PolicyLogger;
-import org.onap.policy.common.logging.flexlogger.FlexLogger;
-import org.onap.policy.common.logging.flexlogger.Logger;
-import org.onap.policy.pap.xacml.rest.controller.BRMSDictionaryController;
-import org.onap.policy.pap.xacml.rest.daoimpl.CommonClassDaoImpl;
-import org.onap.policy.rest.adapter.PolicyRestAdapter;
-import org.onap.policy.rest.jpa.BRMSParamTemplate;
-
-import com.att.research.xacml.api.pap.PAPException;
-import com.att.research.xacml.std.IdentifierImpl;
-
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AdviceExpressionType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AdviceExpressionsType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType;
@@ -68,6 +58,16 @@ import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.RuleType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType;
 
+import org.apache.commons.io.FilenameUtils;
+import org.onap.policy.common.logging.eelf.MessageCodes;
+import org.onap.policy.common.logging.eelf.PolicyLogger;
+import org.onap.policy.common.logging.flexlogger.FlexLogger;
+import org.onap.policy.common.logging.flexlogger.Logger;
+import org.onap.policy.pap.xacml.rest.controller.BRMSDictionaryController;
+import org.onap.policy.pap.xacml.rest.daoimpl.CommonClassDaoImpl;
+import org.onap.policy.rest.adapter.PolicyRestAdapter;
+import org.onap.policy.rest.jpa.BrmsParamTemplate;
+
 public class CreateBrmsParamPolicy extends Policy {
 
     private static final Logger LOGGER = FlexLogger.getLogger(CreateBrmsParamPolicy.class);
@@ -91,19 +91,18 @@ public class CreateBrmsParamPolicy extends Policy {
         copyMap.put("policyVersion", policyAdapter.getHighestVersion().toString());
         copyMap.put("unique", ("p" + policyName + UUID.randomUUID().toString()).replaceAll("[^A-Za-z0-9]", ""));
 
-        //Finding all the keys in the Map data-structure.
+        // Finding all the keys in the Map data-structure.
         Iterator<String> iterator = copyMap.keySet().iterator();
         Pattern p;
         Matcher m;
         while (iterator.hasNext()) {
-            //Converting the first character of the key into a lower case.
+            // Converting the first character of the key into a lower case.
             String input = iterator.next();
-            String output = Character.toLowerCase(input.charAt(0)) +
-                    (input.length() > 1 ? input.substring(1) : "");
-            //Searching for a pattern in the String using the key.
+            String output = Character.toLowerCase(input.charAt(0)) + (input.length() > 1 ? input.substring(1) : "");
+            // Searching for a pattern in the String using the key.
             p = Pattern.compile("\\$\\{" + output + "\\}");
             m = p.matcher(ruleContents);
-            //Replacing the value with the inputs provided by the user in the editor.
+            // Replacing the value with the inputs provided by the user in the editor.
             String finalInput = copyMap.get(input);
             if (finalInput.contains("$")) {
                 finalInput = finalInput.replace("$", "\\$");
@@ -113,7 +112,6 @@ public class CreateBrmsParamPolicy extends Policy {
         return ruleContents;
     }
 
-
     // Utility to read json data from the existing file to a string
     static String readFile(String path, Charset encoding) throws IOException {
         byte[] encoded = Files.readAllBytes(Paths.get(path));
@@ -137,7 +135,6 @@ public class CreateBrmsParamPolicy extends Policy {
         }
     }
 
-
     // Here we are adding the extension for the configurations file based on the
     // config type selection for saving.
     private String getConfigFile(String filename) {
@@ -192,7 +189,7 @@ public class CreateBrmsParamPolicy extends Policy {
         params.put("templateName", templateName);
         List<Object> result = dbConnection.getDataByQuery(queryString, params);
         if (!result.isEmpty()) {
-            BRMSParamTemplate template = (BRMSParamTemplate) result.get(0);
+            BrmsParamTemplate template = (BrmsParamTemplate) result.get(0);
             ruleTemplate = template.getRule();
         }
         return ruleTemplate;
@@ -222,8 +219,7 @@ public class CreateBrmsParamPolicy extends Policy {
                         if (line.contains("*/")) {
                             try {
                                 comment = false;
-                                line = line.split("\\/\\*")[0]
-                                        + line.split("\\*\\/")[1].replace("*/", "");
+                                line = line.split("\\/\\*")[0] + line.split("\\*\\/")[1].replace("*/", "");
                             } catch (Exception e) {
                                 LOGGER.debug(e);
                                 line = line.split("\\/\\*")[0];
@@ -255,8 +251,8 @@ public class CreateBrmsParamPolicy extends Policy {
                         break;
                     }
                 }
-                String param = params.toString().replace("declare Params", "").replace("end", "")
-                        .replaceAll("\\s+", "");
+                String param =
+                        params.toString().replace("declare Params", "").replace("end", "").replaceAll("\\s+", "");
                 String[] components = param.split(":");
                 String caption = "";
                 for (int i = 0; i < components.length; i++) {
@@ -274,7 +270,7 @@ public class CreateBrmsParamPolicy extends Policy {
                         LOGGER.debug(e);
                         nextComponent = components[i];
                     }
-                    //If the type is of type String then we add the UI Item and type to the map.
+                    // If the type is of type String then we add the UI Item and type to the map.
                     if (nextComponent.startsWith("String")) {
                         type = "String";
                         mapFieldType.put(caption, type);
@@ -330,10 +326,8 @@ public class CreateBrmsParamPolicy extends Policy {
             StringBuilder body = new StringBuilder();
 
             try {
-                body.append(
-                        "/* Autogenerated Code Please Don't change/remove this comment section. This is for the UI " +
-                                "purpose. \n\t " +
-                                "<$%BRMSParamTemplate=" + templateValue + "%$> \n");
+                body.append("/* Autogenerated Code Please Don't change/remove this comment section. This is for the UI "
+                        + "purpose. \n\t " + "<$%BRMSParamTemplate=" + templateValue + "%$> \n");
                 body.append("<%$Values=");
                 for (Map.Entry<String, String> entry : ruleAndUIValue.entrySet()) {
                     String uiKey = entry.getKey();
@@ -344,8 +338,8 @@ public class CreateBrmsParamPolicy extends Policy {
                 body.append("$%> \n*/ \n");
                 body.append(valueFromDictionary + "\n");
             } catch (Exception e) {
-                PolicyLogger
-                        .error(MessageCodes.ERROR_PROCESS_FLOW, e, "CreateBrmsParamPolicy", "Exception saving policy");
+                PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "CreateBrmsParamPolicy",
+                        "Exception saving policy");
             }
 
             saveConfigurations(policyName, body.toString());
@@ -366,12 +360,10 @@ public class CreateBrmsParamPolicy extends Policy {
             String fileName = policyAdapter.getNewFileName();
             String name = fileName.substring(fileName.lastIndexOf("\\") + 1);
             if ((name == null) || (name.equals(""))) {
-                name = fileName.substring(fileName.lastIndexOf("/") + 1
-                );
+                name = fileName.substring(fileName.lastIndexOf("/") + 1);
             }
             allOfOne.getMatch().add(createMatch("PolicyName", name));
 
-
             AllOfType allOf = new AllOfType();
 
             // Match for ONAPName
@@ -419,8 +411,7 @@ public class CreateBrmsParamPolicy extends Policy {
             }
             accessAttributeDesignator.setCategory(CATEGORY_ACTION);
             accessAttributeDesignator.setDataType(STRING_DATATYPE);
-            accessAttributeDesignator.setAttributeId(new IdentifierImpl(
-                    accessURI).stringValue());
+            accessAttributeDesignator.setAttributeId(new IdentifierImpl(accessURI).stringValue());
             accessMatch.setAttributeDesignator(accessAttributeDesignator);
             accessMatch.setMatchId(FUNCTION_STRING_EQUAL_IGNORE);
 
@@ -459,24 +450,20 @@ public class CreateBrmsParamPolicy extends Policy {
             rule.setTarget(targetInRule);
             rule.setAdviceExpressions(getAdviceExpressions(version, policyName));
 
-            configPolicy
-                    .getCombinerParametersOrRuleCombinerParametersOrVariableDefinition()
-                    .add(rule);
+            configPolicy.getCombinerParametersOrRuleCombinerParametersOrVariableDefinition().add(rule);
             policyAdapter.setPolicyData(configPolicy);
 
         } else {
-            PolicyLogger.error("Unsupported data object."
-                    + policyAdapter.getData().getClass().getCanonicalName());
+            PolicyLogger.error("Unsupported data object." + policyAdapter.getData().getClass().getCanonicalName());
         }
         setPreparedToSave(true);
         return true;
     }
 
     // Data required for Advice part is setting here.
-    private AdviceExpressionsType getAdviceExpressions(int version,
-                                                       String fileName) {
+    private AdviceExpressionsType getAdviceExpressions(int version, String fileName) {
 
-        //Policy Config ID Assignment
+        // Policy Config ID Assignment
         AdviceExpressionsType advices = new AdviceExpressionsType();
         AdviceExpressionType advice = new AdviceExpressionType();
         advice.setAdviceId("BRMSPARAMID");
@@ -489,8 +476,7 @@ public class CreateBrmsParamPolicy extends Policy {
         AttributeValueType configNameAttributeValue = new AttributeValueType();
         configNameAttributeValue.setDataType(STRING_DATATYPE);
         configNameAttributeValue.getContent().add("Configuration");
-        assignment1.setExpression(new ObjectFactory()
-                .createAttributeValue(configNameAttributeValue));
+        assignment1.setExpression(new ObjectFactory().createAttributeValue(configNameAttributeValue));
         advice.getAttributeAssignmentExpression().add(assignment1);
 
         // For Config file Url if configurations are provided.
@@ -505,8 +491,7 @@ public class CreateBrmsParamPolicy extends Policy {
         String content = CONFIG_URL + "/Config/" + getConfigFile(policyName);
 
         attributeValue.getContent().add(content);
-        assignment2.setExpression(new ObjectFactory()
-                .createAttributeValue(attributeValue));
+        assignment2.setExpression(new ObjectFactory().createAttributeValue(attributeValue));
         advice.getAttributeAssignmentExpression().add(assignment2);
 
         // Policy Name Assignment
@@ -518,15 +503,12 @@ public class CreateBrmsParamPolicy extends Policy {
         attributeValue3.setDataType(STRING_DATATYPE);
         fileName = FilenameUtils.removeExtension(fileName);
         fileName = fileName + ".xml";
-        String name = fileName.substring(fileName.lastIndexOf("\\") + 1
-        );
+        String name = fileName.substring(fileName.lastIndexOf("\\") + 1);
         if ((name == null) || (name.equals(""))) {
-            name = fileName.substring(fileName.lastIndexOf("/") + 1
-            );
+            name = fileName.substring(fileName.lastIndexOf("/") + 1);
         }
         attributeValue3.getContent().add(name);
-        assignment3.setExpression(new ObjectFactory()
-                .createAttributeValue(attributeValue3));
+        assignment3.setExpression(new ObjectFactory().createAttributeValue(attributeValue3));
         advice.getAttributeAssignmentExpression().add(assignment3);
 
         // Version Number Assignment
@@ -537,8 +519,7 @@ public class CreateBrmsParamPolicy extends Policy {
         AttributeValueType configNameAttributeValue4 = new AttributeValueType();
         configNameAttributeValue4.setDataType(STRING_DATATYPE);
         configNameAttributeValue4.getContent().add(Integer.toString(version));
-        assignment4.setExpression(new ObjectFactory()
-                .createAttributeValue(configNameAttributeValue4));
+        assignment4.setExpression(new ObjectFactory().createAttributeValue(configNameAttributeValue4));
         advice.getAttributeAssignmentExpression().add(assignment4);
 
         // Onap Name Assignment
@@ -549,12 +530,10 @@ public class CreateBrmsParamPolicy extends Policy {
         AttributeValueType configNameAttributeValue5 = new AttributeValueType();
         configNameAttributeValue5.setDataType(STRING_DATATYPE);
         configNameAttributeValue5.getContent().add(policyAdapter.getOnapName());
-        assignment5.setExpression(new ObjectFactory()
-                .createAttributeValue(configNameAttributeValue5));
+        assignment5.setExpression(new ObjectFactory().createAttributeValue(configNameAttributeValue5));
         advice.getAttributeAssignmentExpression().add(assignment5);
 
-
-        //Config Name Assignment
+        // Config Name Assignment
         AttributeAssignmentExpressionType assignment6 = new AttributeAssignmentExpressionType();
         assignment6.setAttributeId("matching:" + CONFIGID);
         assignment6.setCategory(CATEGORY_RESOURCE);
@@ -564,16 +543,15 @@ public class CreateBrmsParamPolicy extends Policy {
         configNameAttributeValue6.getContent().add(policyAdapter.getConfigName());
         assignment6.setExpression(new ObjectFactory().createAttributeValue(configNameAttributeValue6));
         advice.getAttributeAssignmentExpression().add(assignment6);
-        // Adding Controller Information. 
+        // Adding Controller Information.
         if (policyAdapter.getBrmsController() != null) {
             BRMSDictionaryController brmsDicitonaryController = new BRMSDictionaryController();
-            advice.getAttributeAssignmentExpression().add(
-                    createResponseAttributes("controller:" + policyAdapter.getBrmsController(),
-                            brmsDicitonaryController.getControllerDataByID(policyAdapter.getBrmsController())
-                                    .getController()));
+            advice.getAttributeAssignmentExpression().add(createResponseAttributes(
+                    "controller:" + policyAdapter.getBrmsController(),
+                    brmsDicitonaryController.getControllerDataByID(policyAdapter.getBrmsController()).getController()));
         }
 
-        // Adding Dependencies. 
+        // Adding Dependencies.
         if (policyAdapter.getBrmsDependency() != null) {
             BRMSDictionaryController brmsDicitonaryController = new BRMSDictionaryController();
             ArrayList<String> dependencies = new ArrayList<>();
@@ -582,18 +560,18 @@ public class CreateBrmsParamPolicy extends Policy {
                 dependencies.add(brmsDicitonaryController.getDependencyDataByID(dependencyName).getDependency());
                 key.append(dependencyName + ",");
             }
-            advice.getAttributeAssignmentExpression().add(
-                    createResponseAttributes("dependencies:" + key.toString(), dependencies.toString()));
+            advice.getAttributeAssignmentExpression()
+                    .add(createResponseAttributes("dependencies:" + key.toString(), dependencies.toString()));
         }
 
-        // Dynamic Field Config Attributes. 
+        // Dynamic Field Config Attributes.
         Map<String, String> dynamicFieldConfigAttributes = policyAdapter.getDynamicFieldConfigAttributes();
         for (Entry<String, String> map : dynamicFieldConfigAttributes.entrySet()) {
             advice.getAttributeAssignmentExpression()
                     .add(createResponseAttributes("key:" + map.getKey(), map.getValue()));
         }
 
-        //Risk Attributes
+        // Risk Attributes
         AttributeAssignmentExpressionType assignment8 = new AttributeAssignmentExpressionType();
         assignment8.setAttributeId("RiskType");
         assignment8.setCategory(CATEGORY_RESOURCE);