@Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; FieldValidator that = (FieldValidator) o; if (getValidation() != null ? !getValidation().equals(that.getValidation()) : that.getValidation() != null) return false; if (getInput() != null ? !getInput().equals(that.getInput()) : that.getInput() != null) return false; return getConfig() != null ? getConfig().equals(that.getConfig()) : that.getConfig() == null; }
private List<FieldValidator> getFailedValidators(JSONObject message, ParserConfigurations parserConfigurations) { List<FieldValidator> fieldValidations = parserConfigurations.getFieldValidations(); List<FieldValidator> failedValidators = new ArrayList<>(); for(FieldValidator validator : fieldValidations) { if(!validator.isValid(message, parserConfigurations.getGlobalConfig(), stellarContext)) { failedValidators.add(validator); } } return failedValidators; } }
public static List<FieldValidator> readValidations(Map<String, Object> globalConfig) { List<FieldValidator> validators = new ArrayList<>(); List<Object> validations = (List<Object>) Config.FIELD_VALIDATIONS.get(globalConfig, List.class); if(validations != null) { for (Object o : validations) { FieldValidator f = new FieldValidator(o); f.getValidation().initialize(f.getConfig(), globalConfig); validators.add(new FieldValidator(o)); } } return validators; }
.addRawMessage(message); Set<String> errorFields = failedValidators == null ? null : failedValidators.stream() .flatMap(fieldValidator -> fieldValidator.getInput().stream()) .collect(Collectors.toSet()); if (errorFields != null && !errorFields.isEmpty()) {
public void updateGlobalConfig(Map<String, Object> globalConfig) { if(globalConfig != null) { getConfigurations().put(ConfigurationType.GLOBAL.getTypeName(), globalConfig); validations = FieldValidator.readValidations(getGlobalConfig()); } }
FieldValidator l = sampleConfigurations.getFieldValidations().get(i); FieldValidator r = configuredBoltConfigs.getFieldValidations().get(i); if(!l.equals(r)) { System.out.println(l + " != " + r);
@Test public void testValidConfiguration() throws IOException { { Configurations configurations = getConfiguration(validValidationConfigWithStringInput); Assert.assertNotNull(configurations.getFieldValidations()); Assert.assertEquals(1, configurations.getFieldValidations().size()); Assert.assertEquals(ImmutableList.of("field1"), configurations.getFieldValidations().get(0).getInput()); } { Configurations configurations = getConfiguration(validValidationConfigWithListInput); Assert.assertNotNull(configurations.getFieldValidations()); Assert.assertEquals(1, configurations.getFieldValidations().size()); Assert.assertEquals(ImmutableList.of("field1", "field2"), configurations.getFieldValidations().get(0).getInput()); } }
@Override public int hashCode() { int result = getValidation() != null ? getValidation().hashCode() : 0; result = 31 * result + (getInput() != null ? getInput().hashCode() : 0); result = 31 * result + (getConfig() != null ? getConfig().hashCode() : 0); return result; }
public boolean execute(String config, Map<String, Object> input) throws IOException { Configurations configurations = getConfiguration(config); FieldValidator validator = getValidator(configurations); return validator.isValid(new JSONObject(input) ,configurations.getGlobalConfig() , Context.EMPTY_CONTEXT() ); } }