[Policy-20] getConfig & Policy resolved blockers
[policy/engine.git] / ECOMP-PAP-REST / src / main / java / org / openecomp / policy / pap / xacml / rest / components / Policy.java
index 743883b..a074643 100644 (file)
@@ -118,7 +118,7 @@ public abstract class Policy {
        public static String ACTION_HOME = null;
        public static String CONFIG_URL = null;
 
-       protected Map<String, String> performer = new HashMap<String, String>();
+       protected Map<String, String> performer = new HashMap<>();
 
        private static String actionHome = null;
        private static String configHome = null;
@@ -210,13 +210,19 @@ public abstract class Policy {
 
        // Validation for json.
        protected static boolean isJSONValid(String data) {
+               JsonReader jsonReader = null;
                try {
                        new JSONObject(data);
                        InputStream stream = new ByteArrayInputStream(data.getBytes(StandardCharsets.UTF_8));
-                       JsonReader jsonReader = Json.createReader(stream);
-                       System.out.println("Json Value is: " + jsonReader.read().toString() );
+                       jsonReader = Json.createReader(stream);
+                       LOGGER.info("Json Value is: " + jsonReader.read().toString() );
                } catch (Exception e) {
+                       LOGGER.error("Exception Occured while reading json"+e);
                        return false;
+               }finally{
+                       if(jsonReader != null){
+                               jsonReader.close();
+                       }
                }
                return true;
        }
@@ -287,7 +293,7 @@ public abstract class Policy {
 
        //create policy once all the validations are completed
        protected Map<String, String> createPolicy(final Path policyPath, final Object policyData) {
-               Map<String, String> success = new HashMap<String, String>(); 
+               Map<String, String> success = new HashMap<>(); 
                //
                // Is the root a PolicySet or Policy?
                //
@@ -298,8 +304,9 @@ public abstract class Policy {
                        //
                        //Does not need to be XACMLPolicyWriterWithPapNotify since it is already in the PAP
                        //and this transaction is intercepted up stream.
-                       InputStream inputStream = XACMLPolicyWriter.getXmlAsInputStream((PolicyType) policyData);
+                       InputStream inputStream = null;
                        try {
+                               inputStream = XACMLPolicyWriter.getXmlAsInputStream((PolicyType) policyData);
                                PolicyDef policyDef = DOMPolicyDef.load(inputStream);
                                if (policyDef == null) {
                                        success.put("validation", "PolicyDef Validation Failed");
@@ -307,7 +314,15 @@ public abstract class Policy {
                                        success.put("success", "success");
                                }
                        } catch (Exception e) {
+                               LOGGER.error("PolicyDef Validation failed"+e);
                                success.put("error", "Validation Failed");
+                       }finally{
+                               try {
+                                       if(inputStream != null)
+                                               inputStream.close();
+                               } catch (IOException e) {
+                                       LOGGER.error("Exception Occured while closing the input stream"+e);
+                               }
                        }
                } else {
                        PolicyLogger.error("Unknown data type sent back.");
@@ -369,16 +384,7 @@ public abstract class Policy {
                        configHome = webappsPathConfig.toString();
                }
        }
-
-       protected String getParentPathSubScopeDir() {
-               final Path gitPath = Paths.get(policyAdapter.getUserGitPath().toString());
-               String policyDir = policyAdapter.getParentPath().toString();
-               int startIndex = policyDir.indexOf(gitPath.toString()) + gitPath.toString().length() + 1;
-               policyDir = policyDir.substring(startIndex, policyDir.length());
-               return policyDir;
-       }
-
-
+       
        public boolean validateConfigForm() {
                return true;
        }