Unit/SONAR/Checkstyle in ONAP-REST
[policy/engine.git] / POLICY-SDK-APP / src / main / java / org / onap / policy / controller / CreateOptimizationController.java
index afe2ce1..37f543f 100644 (file)
@@ -55,8 +55,6 @@ import lombok.Getter;
 import lombok.Setter;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AnyOfType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeDesignatorType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeValueType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.MatchType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType;
@@ -71,15 +69,16 @@ import org.json.JSONArray;
 import org.json.JSONObject;
 import org.onap.policy.common.logging.flexlogger.FlexLogger;
 import org.onap.policy.common.logging.flexlogger.Logger;
-import org.onap.policy.rest.XACMLRestProperties;
+import org.onap.policy.rest.XacmlRestProperties;
 import org.onap.policy.rest.adapter.PolicyRestAdapter;
 import org.onap.policy.rest.dao.CommonClassDao;
 import org.onap.policy.rest.jpa.MicroserviceHeaderdeFaults;
 import org.onap.policy.rest.jpa.OptimizationModels;
 import org.onap.policy.rest.jpa.PolicyEntity;
-import org.onap.policy.rest.util.MSAttributeObject;
-import org.onap.policy.rest.util.MSModelUtils;
-import org.onap.policy.rest.util.MSModelUtils.MODEL_TYPE;
+import org.onap.policy.rest.util.MsAttributeObject;
+import org.onap.policy.rest.util.MsModelUtils;
+import org.onap.policy.rest.util.MsModelUtils.ModelType;
+import org.onap.policy.utils.PolicyUtils;
 import org.onap.portalsdk.core.controller.RestrictedBaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -104,7 +103,7 @@ public class CreateOptimizationController extends RestrictedBaseController {
     private String directory;
     private List<String> modelList = new ArrayList<>();
     private List<String> dirDependencyList = new ArrayList<>();
-    private LinkedHashMap<String, MSAttributeObject> classMap = new LinkedHashMap<>();
+    private LinkedHashMap<String, MsAttributeObject> classMap = new LinkedHashMap<>();
     String referenceAttributes;
     String attributeString;
     Set<String> allManyTrueKeys = new HashSet<>();
@@ -121,9 +120,7 @@ public class CreateOptimizationController extends RestrictedBaseController {
     public static final String MANYFALSE = ":MANY-false";
     public static final String MODEL = "model";
     public static final String MANY = "MANY-";
-    public static final String UTF8 = "UTF-8";
     public static final String MODELNAME = "modelName";
-    public static final String APPLICATIONJSON = "application / json";
 
     @Autowired
     private CreateOptimizationController(CommonClassDao commonClassDao) {
@@ -296,9 +293,9 @@ public class CreateOptimizationController extends RestrictedBaseController {
             jsonModel = finalJsonObject.toString();
         }
 
-        response.setCharacterEncoding(UTF8);
-        response.setContentType(APPLICATIONJSON);
-        request.setCharacterEncoding(UTF8);
+        response.setCharacterEncoding(PolicyUtils.CHARACTER_ENCODING);
+        response.setContentType(PolicyUtils.APPLICATION_JSON);
+        request.setCharacterEncoding(PolicyUtils.CHARACTER_ENCODING);
         List<Object> list = new ArrayList<>();
         String responseString = mapper.writeValueAsString(returnModel);
         JSONObject json = null;
@@ -485,9 +482,9 @@ public class CreateOptimizationController extends RestrictedBaseController {
         final String value = root.get("policyData").toString().replaceAll("^\"|\"$", "");
         final String servicename = value.split("-v")[0];
 
-        response.setCharacterEncoding(UTF8);
-        response.setContentType(APPLICATIONJSON);
-        request.setCharacterEncoding(UTF8);
+        response.setCharacterEncoding(PolicyUtils.CHARACTER_ENCODING);
+        response.setContentType(PolicyUtils.APPLICATION_JSON);
+        request.setCharacterEncoding(PolicyUtils.CHARACTER_ENCODING);
         List<Object> list = new ArrayList<>();
         list.add(new JSONObject("{optimizationModelVersionData: "
                 + mapper.writeValueAsString(getVersionList(servicename)) + "}"));
@@ -572,28 +569,8 @@ public class CreateOptimizationController extends RestrictedBaseController {
                     // Under the match we have attribute value and
                     // attributeDesignator. So,finally down to the actual attribute.
                     //
-                    AttributeValueType attributeValue = match.getAttributeValue();
-                    String value = (String) attributeValue.getContent().get(0);
-                    AttributeDesignatorType designator = match.getAttributeDesignator();
-                    String attributeId = designator.getAttributeId();
-                    // First match in the target is OnapName, so set that value.
-                    if ("ONAPName".equals(attributeId)) {
-                        policyAdapter.setOnapName(value);
-                    }
-                    if ("RiskType".equals(attributeId)) {
-                        policyAdapter.setRiskType(value);
-                    }
-                    if ("RiskLevel".equals(attributeId)) {
-                        policyAdapter.setRiskLevel(value);
-                    }
-                    if ("guard".equals(attributeId)) {
-                        policyAdapter.setGuard(value);
-                    }
-                    if ("TTLDate".equals(attributeId) && !value.contains("NA")) {
-                        PolicyController controller = new PolicyController();
-                        String newDate = controller.convertDate(value);
-                        policyAdapter.setTtlDate(newDate);
-                    }
+                    policyAdapter.setupUsingAttribute(match.getAttributeDesignator().getAttributeId(),
+                            (String) match.getAttributeValue().getContent().get(0));
                 }
                 readFile(policyAdapter, entity);
             }
@@ -683,15 +660,15 @@ public class CreateOptimizationController extends RestrictedBaseController {
         }
 
         if (!errorMsg.isEmpty()) {
-            response.setCharacterEncoding(UTF8);
-            response.setContentType(APPLICATIONJSON);
-            request.setCharacterEncoding(UTF8);
+            response.setCharacterEncoding(PolicyUtils.CHARACTER_ENCODING);
+            response.setContentType(PolicyUtils.APPLICATION_JSON);
+            request.setCharacterEncoding(PolicyUtils.CHARACTER_ENCODING);
             response.getWriter().write(new JSONObject().put("errorMsg", errorMsg).toString());
             return;
         }
 
         List<File> fileList = new ArrayList<>();
-        MSModelUtils modelUtil = new MSModelUtils();
+        MsModelUtils modelUtil = new MsModelUtils();
         this.directory = MODEL;
         if (zip) {
             extractFolder(this.newFile);
@@ -721,7 +698,7 @@ public class CreateOptimizationController extends RestrictedBaseController {
             modelType = "yml";
             modelList.add(this.newModel.getModelName());
             String className = this.newModel.getModelName();
-            MSAttributeObject optimizationAttributes = new MSAttributeObject();
+            MsAttributeObject optimizationAttributes = new MsAttributeObject();
             optimizationAttributes.setClassName(className);
 
             LinkedHashMap<String, String> returnAttributeList = new LinkedHashMap<>();
@@ -753,9 +730,9 @@ public class CreateOptimizationController extends RestrictedBaseController {
 
         }
 
-        response.setCharacterEncoding(UTF8);
-        response.setContentType(APPLICATIONJSON);
-        request.setCharacterEncoding(UTF8);
+        response.setCharacterEncoding(PolicyUtils.CHARACTER_ENCODING);
+        response.setContentType(PolicyUtils.APPLICATION_JSON);
+        request.setCharacterEncoding(PolicyUtils.CHARACTER_ENCODING);
 
         ObjectMapper mapper = new ObjectMapper();
         JSONObject json = new JSONObject();
@@ -821,10 +798,10 @@ public class CreateOptimizationController extends RestrictedBaseController {
 
     private void retrieveDependency(String workingFile) {
 
-        MSModelUtils utils = new MSModelUtils(PolicyController.getMsOnapName(), PolicyController.getMsPolicyName());
-        Map<String, MSAttributeObject> tempMap;
+        MsModelUtils utils = new MsModelUtils(PolicyController.getMsOnapName(), PolicyController.getMsPolicyName());
+        Map<String, MsAttributeObject> tempMap;
 
-        tempMap = utils.processEpackage(workingFile, MODEL_TYPE.XMI);
+        tempMap = utils.processEpackage(workingFile, ModelType.XMI);
 
         classMap.putAll(tempMap);
         LOGGER.info(tempMap);
@@ -846,7 +823,7 @@ public class CreateOptimizationController extends RestrictedBaseController {
 
     private List<String> createList() {
         List<String> list = new ArrayList<>();
-        for (Entry<String, MSAttributeObject> entrySet : classMap.entrySet()) {
+        for (Entry<String, MsAttributeObject> entrySet : classMap.entrySet()) {
             if (entrySet.getValue().isPolicyTempalate()) {
                 list.add(entrySet.getKey());
             }
@@ -873,7 +850,7 @@ public class CreateOptimizationController extends RestrictedBaseController {
 
     private OptimizationObject setOptimizationObjectValues(PolicyRestAdapter policyAdapter) {
         OptimizationObject optimizationObject = new OptimizationObject();
-        optimizationObject.setTemplateVersion(XACMLProperties.getProperty(XACMLRestProperties.TemplateVersion_OOF));
+        optimizationObject.setTemplateVersion(XACMLProperties.getProperty(XacmlRestProperties.TEMPLATE_VERSION_OOF));
 
         if (policyAdapter.getServiceType() != null) {
             optimizationObject.setService(policyAdapter.getServiceType());