Merge "Addressing Technical Debt for ONAP-XACML"
[policy/engine.git] / POLICY-SDK-APP / src / main / java / org / onap / policy / controller / CreateClosedLoopFaultController.java
index a7ce45e..158ea62 100644 (file)
@@ -39,7 +39,7 @@ import org.onap.policy.rest.dao.CommonClassDao;
 import org.onap.policy.rest.jpa.OnapName;
 import org.onap.policy.rest.jpa.PolicyEntity;
 import org.onap.policy.rest.jpa.VarbindDictionary;
-import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
+import org.onap.portalsdk.core.controller.RestrictedBaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -73,7 +73,9 @@ public class CreateClosedLoopFaultController extends RestrictedBaseController{
                CreateClosedLoopFaultController.commonclassdao = commonclassdao;
        }
        
-       public CreateClosedLoopFaultController(){}
+       public CreateClosedLoopFaultController(){
+               // Empty constructor
+       }
        
        public PolicyRestAdapter setDataToPolicyRestAdapter(PolicyRestAdapter policyData, JsonNode root){
                try{
@@ -93,21 +95,21 @@ public class CreateClosedLoopFaultController extends RestrictedBaseController{
                                faultSignatureDatas.add(faultDatas);
                        }
 
-                       String resultBody = "";
+                       StringBuilder resultBody = new StringBuilder();
                        if(!policyJsonData.getConnecttriggerSignatures().isEmpty()){
-                               resultBody = resultBody + "(";
+                               resultBody.append("(");
                                for(int i = policyJsonData.getConnecttriggerSignatures().size()-1; i>=0 ; i--){
                                        String connectBody = connectTriggerSignature(i, policyJsonData.getConnecttriggerSignatures(), trapSignatureDatas.get(0));
-                                       resultBody = resultBody  + connectBody;
+                                       resultBody.append(connectBody);
                                }
-                               resultBody = resultBody + ")";
+                               resultBody.append(resultBody + ")");
                        }else{
                                if(!trapSignatureDatas.isEmpty()){
-                                       resultBody = callTrap("nill", trapSignatureDatas.get(0));
+                                       resultBody.append(callTrap("nill", trapSignatureDatas.get(0)));
                                }
                        }
                        ClosedLoopSignatures triggerSignatures = new ClosedLoopSignatures();
-                       triggerSignatures.setSignatures(resultBody);
+                       triggerSignatures.setSignatures(resultBody.toString());
                        if(policyData.getClearTimeOut() != null){
                                triggerSignatures.setTimeWindow(Integer.parseInt(policyData.getClearTimeOut()));        
                                triggerSignatures.setTrapMaxAge(Integer.parseInt(policyData.getTrapMaxAge()));
@@ -120,25 +122,25 @@ public class CreateClosedLoopFaultController extends RestrictedBaseController{
                                }                       
                                jsonBody.setTriggerSignaturesUsedForUI(uiTriggerSignatures);
                                jsonBody.setTriggerTimeWindowUsedForUI(Integer.parseInt(policyData.getClearTimeOut()));
-                               jsonBody.setTrapMaxAgeUsedForUI(Integer.parseInt(policyData.getTrapMaxAge()));
+                               jsonBody.setTrapMaxAge(Integer.parseInt(policyData.getTrapMaxAge()));
                        }
 
                        jsonBody.setTriggerSignatures(triggerSignatures);
-                       String faultBody = "";
+                       StringBuilder faultBody = new StringBuilder();
                        if(!policyJsonData.getConnectVerificationSignatures().isEmpty()){
-                               faultBody = faultBody + "(";
+                               faultBody.append("(");
                                for(int i = policyJsonData.getConnectVerificationSignatures().size()-1; i>=0 ; i--){
                                        String connectBody = connectTriggerSignature(i, policyJsonData.getConnectVerificationSignatures(), faultSignatureDatas.get(0));
-                                       faultBody = faultBody  + connectBody;
+                                       faultBody.append(connectBody);
                                }
-                               faultBody = faultBody + ")";
+                               faultBody.append(")");
                        }else{
                                if(!faultSignatureDatas.isEmpty()){
-                                       faultBody = callTrap("nill", faultSignatureDatas.get(0));
+                                       faultBody.append(callTrap("nill", faultSignatureDatas.get(0)));
                                }
                        }
                        ClosedLoopSignatures faultSignatures = new ClosedLoopSignatures();
-                       faultSignatures.setSignatures(faultBody);
+                       faultSignatures.setSignatures(faultBody.toString());
                        if(policyData.getVerificationclearTimeOut() != null){
                                faultSignatures.setTimeWindow(Integer.parseInt(policyData.getVerificationclearTimeOut()));
                                ClosedLoopFaultTriggerUISignatures uifaultSignatures = new ClosedLoopFaultTriggerUISignatures();
@@ -150,7 +152,7 @@ public class CreateClosedLoopFaultController extends RestrictedBaseController{
                                }
 
                                jsonBody.setVerificationSignaturesUsedForUI(uifaultSignatures);
-                               jsonBody.setVerfificationTimeWindowUsedForUI(Integer.parseInt(policyData.getVerificationclearTimeOut()));
+                               jsonBody.setVerificationTimeWindowUsedForUI(Integer.parseInt(policyData.getVerificationclearTimeOut()));
                        }               
                        jsonBody.setVerificationSignatures(faultSignatures);
                        ObjectWriter om = new ObjectMapper().writer();
@@ -166,31 +168,31 @@ public class CreateClosedLoopFaultController extends RestrictedBaseController{
 
        @SuppressWarnings("unchecked")
        private String connectTriggerSignature(int index, ArrayList<Object> triggerSignatures, Object object) {
-               String resultBody = "";
+               StringBuilder resultBody = new StringBuilder();
                Map<String, String> connectTraps = (Map<String, String>) triggerSignatures.get(index);
                try{
                        String notBox = "";
                        if(connectTraps.keySet().contains("notBox")){
                                notBox = connectTraps.get("notBox");
                        }
-                       resultBody = resultBody + "(" + notBox;
+                       resultBody.append("(" + notBox);
                }catch(NullPointerException e){
                        policyLogger.info("General error" , e);
-                       resultBody = resultBody + "(";
+                       resultBody.append("(");
                }
                String connectTrap1 = connectTraps.get("connectTrap1");
                if(connectTrap1.startsWith("Trap") || connectTrap1.startsWith("Fault")){
                        String trapBody = callTrap(connectTrap1, object);
                        if(trapBody!=null){
-                               resultBody = resultBody + trapBody;
+                               resultBody.append(trapBody);
                        }
                }else if(connectTrap1.startsWith("C")){
                        for(int i=0; i<= triggerSignatures.size(); i++){
                                Map<String,String> triggerSignature = (Map<String, String>) triggerSignatures.get(i);
                                if(triggerSignature.get("id").equals(connectTrap1)){
-                                       resultBody = resultBody + "(";
+                                       resultBody.append("(");
                                        String connectBody = connectTriggerSignature(i, triggerSignatures, object);
-                                       resultBody = resultBody + connectBody + ")";
+                                       resultBody.append(connectBody + ")");
                                }else{
                                        i++;
                                }
@@ -198,13 +200,13 @@ public class CreateClosedLoopFaultController extends RestrictedBaseController{
                }
                try{
                        String trapCount1 = connectTraps.get("trapCount1");
-                       resultBody = resultBody + ", Time = " + trapCount1 + ")";
+                       resultBody.append(", Time = " + trapCount1 + ")");
                }catch(NullPointerException e){
                        policyLogger.info("General error" , e);
                }
                try{
                        String operatorBox = connectTraps.get("operatorBox");
-                       resultBody = resultBody + operatorBox +"(";
+                       resultBody.append(operatorBox +"(");
                }catch (NullPointerException e){
                        policyLogger.info("General error" , e);
                }
@@ -213,15 +215,15 @@ public class CreateClosedLoopFaultController extends RestrictedBaseController{
                        if(connectTrap2.startsWith("Trap") || connectTrap2.startsWith("Fault")){
                                String trapBody = callTrap(connectTrap2, object);
                                if(trapBody!=null){
-                                       resultBody = resultBody + trapBody;
+                                       resultBody.append(trapBody);
                                }
                        }else if(connectTrap2.startsWith("C")){
                                for(int i=0; i<= triggerSignatures.size(); i++){
                                        Map<String,String> triggerSignature = (Map<String, String>) triggerSignatures.get(i);
                                        if(triggerSignature.get("id").equals(connectTrap2)){
-                                               resultBody = resultBody + "(";
+                                               resultBody.append("(");
                                                String connectBody = connectTriggerSignature(i, triggerSignatures, object);
-                                               resultBody = resultBody + connectBody + ")";
+                                               resultBody.append(connectBody + ")");
                                        }else{
                                                i++;
                                        }
@@ -232,11 +234,11 @@ public class CreateClosedLoopFaultController extends RestrictedBaseController{
                }
                try{
                        String trapCount2 = connectTraps.get("trapCount2");
-                       resultBody = resultBody + ", Time = " + trapCount2 + ")";
+                       resultBody.append(", Time = " + trapCount2 + ")");
                }catch(NullPointerException e){
                        policyLogger.info("General error" , e);
                }
-               return resultBody;
+               return resultBody.toString();
        }
 
        
@@ -245,40 +247,41 @@ public class CreateClosedLoopFaultController extends RestrictedBaseController{
                TrapDatas trapDatas = (TrapDatas) object;
                ArrayList<Object> attributeList = new ArrayList<>();
                // Read the Trap 
-               if(!trap.equals("nill")){
+               if(! "nill".equals(trap)){
                        try{
                                if(trap.startsWith("Trap")){
-                                       if(trap.equals("Trap1")){
+                                       if("Trap1".equals(trap)){
                                                 attributeList = trapDatas.getTrap1();
-                                       }else if(trap.equals("Trap2")){
+                                       }else if("Trap2".equals(trap)){
                                                attributeList = trapDatas.getTrap2();
-                                       }else if(trap.equals("Trap3")){
+                                       }else if("Trap3".equals(trap)){
                                                attributeList = trapDatas.getTrap3();
-                                       }else if(trap.equals("Trap4")){
+                                       }else if("Trap4".equals(trap)){
                                                attributeList = trapDatas.getTrap4();
-                                       }else if(trap.equals("Trap5")){
+                                       }else if("Trap5".equals(trap)){
                                                attributeList = trapDatas.getTrap5();
-                                       }else if(trap.equals("Trap6")){
+                                       }else if("Trap6".equals(trap)){
                                                attributeList = trapDatas.getTrap6();
                                        }
                                }else{
                                        if(trap.startsWith("Fault")){
-                                               if(trap.equals("Fault1")){
+                                               if("Fault1".equals(trap)){
                                                        attributeList = trapDatas.getTrap1();
-                                               }else if(trap.equals("Fault2")){
+                                               }else if("Fault2".equals(trap)){
                                                        attributeList = trapDatas.getTrap2();
-                                               }else if(trap.equals("Fault3")){
+                                               }else if("Fault3".equals(trap)){
                                                        attributeList = trapDatas.getTrap3();
-                                               }else if(trap.equals("Fault4")){
+                                               }else if("Fault4".equals(trap)){
                                                        attributeList = trapDatas.getTrap4();
-                                               }else if(trap.equals("Fault5")){
+                                               }else if("Fault5".equals(trap)){
                                                        attributeList = trapDatas.getTrap5();
-                                               }else if(trap.equals("Fault6")){
+                                               }else if("Fault6".equals(trap)){
                                                        attributeList = trapDatas.getTrap6();
                                                }       
                                        }
                                }
                        } catch(Exception e){
+                           policyLogger.warn("Error during callTrap" , e);
                                return "(" + trap + ")";
                        }
                }else{
@@ -316,7 +319,7 @@ public class CreateClosedLoopFaultController extends RestrictedBaseController{
                                                attrib  = getVarbindOID(attrib);
                                                attributes = attributes + "("+ URLEncoder.encode(attrib, "UTF-8")+ ")";
                                        } catch (UnsupportedEncodingException e1) {
-                                               //logger.error("Caused Exception while Encoding Varbind Dictionary Values"+e1);
+                                               policyLogger.error("Caused Exception while Encoding Varbind Dictionary Values",e1);
                                        }
                                }
                        }else{
@@ -324,7 +327,7 @@ public class CreateClosedLoopFaultController extends RestrictedBaseController{
                                        attrib  = getVarbindOID(attrib);
                                        attributes = attributes + "("+ URLEncoder.encode(attrib, "UTF-8")+ ")";
                                } catch (UnsupportedEncodingException e) {
-                                       //logger.error("Caused Exception while Encoding Varbind Dictionary Values"+e);
+                                       policyLogger.error("Caused Exception while Encoding Varbind Dictionary Values",e);
                                }
                        }
                }else{
@@ -348,7 +351,7 @@ public class CreateClosedLoopFaultController extends RestrictedBaseController{
                                                attrib  = getVarbindOID(attrib);
                                                attributes = attributes + "("+ URLEncoder.encode(attrib, "UTF-8") + ")";
                                        } catch (UnsupportedEncodingException e1) {
-                                               //logger.error("Caused Exception while Encoding Varbind Dictionary Values"+e1);
+                                               policyLogger.error("Caused Exception while Encoding Varbind Dictionary Values",e1);
                                        }
                                }
                        }else{
@@ -356,7 +359,7 @@ public class CreateClosedLoopFaultController extends RestrictedBaseController{
                                        attrib  = getVarbindOID(attrib);
                                        attributes = attributes + "("+ URLEncoder.encode(attrib, "UTF-8") + ")";
                                } catch (UnsupportedEncodingException e) {
-                                       //logger.error("Caused Exception while Encoding Varbind Dictionary Values"+e);
+                                       policyLogger.error("Caused Exception while Encoding Varbind Dictionary Values",e);
                                }
                        }
                }
@@ -369,6 +372,7 @@ public class CreateClosedLoopFaultController extends RestrictedBaseController{
                         varbindId = (VarbindDictionary) commonclassdao.getEntityItem(VarbindDictionary.class, "varbindName", attrib);
                         return varbindId.getVarbindOID();
                }catch(Exception e){
+                   policyLogger.error("Error during retrieving varbindName " + attrib, e);
                        return attrib;
                }
        }
@@ -377,7 +381,7 @@ public class CreateClosedLoopFaultController extends RestrictedBaseController{
        //connect traps data set to JSON Body as String
                @SuppressWarnings({ "unchecked", "rawtypes" })
                private String getUIConnectTraps(ArrayList<Object> connectTrapSignatures) {
-                       String resultBody = "";
+                       StringBuilder resultBody = new StringBuilder();
                        String connectMainBody = "";
                        for(int j = 0; j < connectTrapSignatures.size(); j++){
                                Map<String, String> connectTraps = (Map<String, String>)connectTrapSignatures.get(j);
@@ -410,7 +414,7 @@ public class CreateClosedLoopFaultController extends RestrictedBaseController{
                                        }
                                        connectBody = notBox + "@!" + connectTrap1 + "@!" + trapCount1 + "@!" + operatorBox + "@!" + connectTrap2 + "@!" + trapCount2 + "#!?!"; 
                                }
-                               resultBody = resultBody + connectBody;
+                               resultBody.append(connectBody);
                        }
                        connectMainBody = connectMainBody + resultBody;
                        return connectMainBody;
@@ -421,7 +425,7 @@ public class CreateClosedLoopFaultController extends RestrictedBaseController{
                        // get Trigger signature from JSON body
                        @SuppressWarnings({ "rawtypes", "unchecked" })
                        private String getUITriggerSignature(String trap, Object object2) {
-                               String triggerBody = "";
+                               StringBuilder triggerBody = new StringBuilder();
                                TrapDatas trapDatas = (TrapDatas) object2;
                                ArrayList<Object> attributeList = new ArrayList<>();
                                // Read the Trap 
@@ -468,7 +472,7 @@ public class CreateClosedLoopFaultController extends RestrictedBaseController{
                                }
 
                                for(int j = 0; j < attributeList.size(); j++){
-                                       String signatureBody = "";
+                                       StringBuilder signatureBody = new StringBuilder();
                                        ArrayList<Object> connectTraps = (ArrayList<Object>) attributeList.get(j);
                                        for(int i =0 ; i < connectTraps.size(); i++){
                                                String connectBody = "";
@@ -492,12 +496,12 @@ public class CreateClosedLoopFaultController extends RestrictedBaseController{
                                                        }
                                                        connectBody = notBox + "@!" + trigger1 + "@!" + operatorBox + "@!" + trigger2 + "#!"; 
                                                }
-                                               signatureBody = signatureBody + connectBody;
+                                               signatureBody.append(connectBody);
                                        }
-                                       triggerBody = triggerBody + signatureBody + "?!";
+                                       triggerBody.append(signatureBody + "?!");
                                }
                                
-                               return triggerBody;             
+                               return triggerBody.toString();          
                        }
 
        public  void prePopulateClosedLoopFaultPolicyData(PolicyRestAdapter policyAdapter, PolicyEntity entity) {
@@ -511,6 +515,7 @@ public class CreateClosedLoopFaultController extends RestrictedBaseController{
                        try{
                                description = policy.getDescription().substring(0, policy.getDescription().indexOf("@CreatedBy:"));
                        }catch(Exception e){
+                           policyLogger.error("Error during collecting the description tag info for createClosedLoopFault " + policyNameValue , e);
                                description = policy.getDescription();
                        }
                        policyAdapter.setPolicyDescription(description);
@@ -545,23 +550,24 @@ public class CreateClosedLoopFaultController extends RestrictedBaseController{
                                                                                String attributeId = designator.getAttributeId();
                                                                                
                                                                                // First match in the target is OnapName, so set that value.
-                                                                               if (attributeId.equals("ONAPName")) {
+                                                                               if ("ONAPName".equals(attributeId)) {
                                                                                        policyAdapter.setOnapName(value);
                                                                                        OnapName onapName = new OnapName();
                                                                                        onapName.setOnapName(value);
                                                                                        policyAdapter.setOnapNameField(onapName);
                                                                                }
-                                                                               if (attributeId.equals("RiskType")){
+                                                                               if ("RiskType".equals(attributeId)){
                                                                                        policyAdapter.setRiskType(value);
                                                                                }
-                                                                               if (attributeId.equals("RiskLevel")){
+                                                                               if ("RiskLevel".equals(attributeId)){
                                                                                        policyAdapter.setRiskLevel(value);
                                                                                }
-                                                                               if (attributeId.equals("guard")){
+                                                                               if ("guard".equals(attributeId)){
                                                                                        policyAdapter.setGuard(value);
                                                                                }
-                                                                               if (attributeId.equals("TTLDate") && !value.contains("NA")){
-                                                                                       String newDate = convertDate(value, true);
+                                                                               if ("TTLDate".equals(attributeId) && !value.contains("NA")){
+                                                                                       PolicyController controller = new PolicyController();
+                                                                                       String newDate = controller.convertDate(value);
                                                                                        policyAdapter.setTtlDate(newDate);
                                                                                }
                                                                        }
@@ -576,40 +582,24 @@ public class CreateClosedLoopFaultController extends RestrictedBaseController{
 
        }
 
-       private String convertDate(String dateTTL, boolean portalType) {
-               String formateDate = null;
-               String[] date;
-               String[] parts;
-
-               if (portalType){
-                       parts = dateTTL.split("-");
-                       formateDate = parts[2] + "-" + parts[1] + "-" + parts[0] + "T05:00:00.000Z";
-               } else {
-                       date  = dateTTL.split("T");
-                       parts = date[0].split("-");
-                       formateDate = parts[2] + "-" + parts[1] + "-" + parts[0];
-               }
-               return formateDate;
-       }
-
        private String readClosedLoopJSONFile(PolicyRestAdapter policyAdapter, PolicyEntity entity) {
                ObjectMapper mapper = new ObjectMapper();
                try {
                        ClosedLoopFaultBody closedLoopBody = mapper.readValue(entity.getConfigurationData().getConfigBody(), ClosedLoopFaultBody.class);
-                       if(closedLoopBody.getClosedLoopPolicyStatus().equalsIgnoreCase("ACTIVE")){
+                       if("ACTIVE".equalsIgnoreCase(closedLoopBody.getClosedLoopPolicyStatus())){
                                closedLoopBody.setClosedLoopPolicyStatus("Active");
                        }else{
                                closedLoopBody.setClosedLoopPolicyStatus("InActive");
                        }
                        policyAdapter.setJsonBodyData(closedLoopBody);
-                       if(closedLoopBody.getTrapMaxAgeUsedForUI() != null){
-                               policyAdapter.setTrapMaxAge(closedLoopBody.getTrapMaxAgeUsedForUI().toString());
+                       if(closedLoopBody.getTrapMaxAge() != null){
+                               policyAdapter.setTrapMaxAge(closedLoopBody.getTrapMaxAge().toString());
                        }
                        if(closedLoopBody.getTriggerTimeWindowUsedForUI() != null){
                                policyAdapter.setClearTimeOut(closedLoopBody.getTriggerTimeWindowUsedForUI().toString());
                        }
-                       if(closedLoopBody.getVerfificationTimeWindowUsedForUI() != null){
-                               policyAdapter.setVerificationclearTimeOut(closedLoopBody.getVerfificationTimeWindowUsedForUI().toString());
+                       if(closedLoopBody.getVerificationTimeWindowUsedForUI() != null){
+                               policyAdapter.setVerificationclearTimeOut(closedLoopBody.getVerificationTimeWindowUsedForUI().toString());
                        }
 
                } catch (Exception e) {