X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=PolicyEngineUtils%2Fsrc%2Fmain%2Fjava%2Forg%2Fopenecomp%2Fpolicy%2Futils%2FPolicyUtils.java;h=e7639356ab82d3060ea8d549921ad9dded1d94c2;hb=e92ff832cf993db876f22b2d27562fedf59f5043;hp=75197932a7bd12e93479e63d182945416609a655;hpb=a330af579866dacbe595e2e4ad1dd29cd3c96945;p=policy%2Fengine.git diff --git a/PolicyEngineUtils/src/main/java/org/openecomp/policy/utils/PolicyUtils.java b/PolicyEngineUtils/src/main/java/org/openecomp/policy/utils/PolicyUtils.java index 75197932a..e7639356a 100644 --- a/PolicyEngineUtils/src/main/java/org/openecomp/policy/utils/PolicyUtils.java +++ b/PolicyEngineUtils/src/main/java/org/openecomp/policy/utils/PolicyUtils.java @@ -37,9 +37,7 @@ import org.drools.verifier.builder.VerifierBuilder; import org.drools.verifier.builder.VerifierBuilderFactory; import org.kie.api.io.ResourceType; -import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.base.CharMatcher; @@ -48,16 +46,20 @@ public class PolicyUtils { public static final String EMAIL_PATTERN = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@" + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"; + private static final String PACKAGE_ERROR = "mismatched input '{' expecting one of the following tokens: '[package"; + private static final String SUCCESS = "success"; + private PolicyUtils(){ + // Private Constructor + } public static String objectToJsonString(Object o) throws JsonProcessingException{ ObjectMapper mapper = new ObjectMapper(); return mapper.writeValueAsString(o); } - public static T jsonStringToObject(String jsonString, Class className) throws JsonParseException, JsonMappingException, IOException{ + public static T jsonStringToObject(String jsonString, Class className) throws IOException{ ObjectMapper mapper = new ObjectMapper(); - T t = mapper.readValue(jsonString, className); - return t; + return mapper.readValue(jsonString, className); } public static String decode(String encodedString) throws UnsupportedEncodingException { @@ -79,18 +81,18 @@ public class PolicyUtils { String password = tokenizer.nextToken(); return new String[]{username, password}; }else{ - return null; + return new String[]{}; } } public static String emptyPolicyValidator(String field){ - String error = "success"; - if (field.equals("") || field.contains(" ") || !field.matches("^[a-zA-Z0-9_]*$")) { + String error; + if ("".equals(field) || field.contains(" ") || !field.matches("^[a-zA-Z0-9_]*$")) { error = "The Value in Required Field will allow only '{0-9}, {a-z}, {A-Z}, _' following set of Combinations"; return error; } else { if(CharMatcher.ASCII.matchesAllOf((CharSequence) field)){ - error = "success"; + error = SUCCESS; }else{ error = "The Value Contains Non ASCII Characters"; return error; @@ -99,28 +101,52 @@ public class PolicyUtils { return error; } + public static String emptyPolicyValidatorWithSpaceAllowed(String field){ + String error; + if ("".equals(field) || !field.matches("^[a-zA-Z0-9_ ]*$")) { + error = "The Value in Required Field will allow only '{0-9}, {a-z}, {A-Z}, _' following set of Combinations"; + return error; + } else { + if(CharMatcher.ASCII.matchesAllOf((CharSequence) field)){ + error = SUCCESS; + }else{ + error = "The Value Contains Non ASCII Characters"; + return error; + } + } + return error; + } public static String descriptionValidator(String field) { - String error = "success"; + String error; if (field.contains("@CreatedBy:") || field.contains("@ModifiedBy:")) { error = "The value in the description shouldn't contain @CreatedBy: or @ModifiedBy:"; return error; } else { - error = "success"; + error = SUCCESS; } return error; } + public static Boolean isInteger(String number){ + try{ + Integer.parseInt(number); + }catch(NumberFormatException e){ + return false; + } + return true; + } + public static String validateEmailAddress(String emailAddressValue) { - String error = "success"; - List emailList = Arrays.asList(emailAddressValue.toString().split(",")); + String error = SUCCESS; + List emailList = Arrays.asList(emailAddressValue.split(",")); for(int i =0 ; i < emailList.size() ; i++){ Pattern pattern = Pattern.compile(EMAIL_PATTERN); Matcher matcher = pattern.matcher(emailList.get(i).trim()); if(!matcher.matches()){ - error = "Please check the Following Email Address is not Valid .... " +emailList.get(i).toString(); + error = "Please check the Following Email Address is not Valid .... " +emailList.get(i); return error; }else{ - error = "success"; + error = SUCCESS; } } return error; @@ -134,15 +160,22 @@ public class PolicyUtils { Verifier verifier = vBuilder.newVerifier(); verifier.addResourcesToVerify(new ReaderResource(new StringReader(rule)), ResourceType.DRL); // Check if there are any Errors in Verification. - if(verifier.getErrors().size()!=0){ - String message = "Not a Valid DRL rule"; + if(!verifier.getErrors().isEmpty()){ + boolean ignore = false; + StringBuilder message = new StringBuilder("Not a Valid DRL rule"); for(VerifierError error: verifier.getErrors()){ // Ignore annotations Error Messages - if(!error.getMessage().contains("'@'")){ - message = message + "\n" + error.getMessage(); + if(!error.getMessage().contains("'@'") && !error.getMessage().contains(PACKAGE_ERROR)){ + ignore= true; + message.append("\n" + error.getMessage()); } } - return message; + // Ignore new package names with { + // More checks for message to check if its a package error. + if(ignore && !message.toString().contains("Parser returned a null Package")){ + message.append("[ERR 107]"); + } + return message.toString(); } return ""; }