use of com.thinkbiganalytics.policy.validation.RangeValidator in project kylo by Teradata.
the class CleanseAndValidateRowTest method rangeValidate.
private ValidationResult rangeValidate(Number min, Number max, String dataType, String value) {
RangeValidator validatorPolicy = new RangeValidator(min, max);
List<BaseFieldPolicy> policies = new ArrayList<>();
policies.add(validatorPolicy);
FieldPolicy fieldPolicy = FieldPolicyBuilder.newBuilder().addPolicies(policies).tableName("emp").fieldName("field1").feedFieldName("field1").addPolicies(policies).build();
StandardizationAndValidationResult result = validator.standardizeAndValidateField(fieldPolicy, value, HCatDataType.createFromDataType("field1", dataType), new HashMap<Class, Class>());
return result.getFinalValidationResult();
}
use of com.thinkbiganalytics.policy.validation.RangeValidator in project kylo by Teradata.
the class TestJsonPolicies method testJson.
@Test
public void testJson() throws IOException {
List<com.thinkbiganalytics.policy.rest.model.FieldPolicy> fieldPolicies = new ArrayList<>();
List<FieldStandardizationRule> standardizationPolicyList = new ArrayList<>();
List<FieldValidationRule> validationRules = new ArrayList<>();
DefaultValueStandardizer defaultValueStandardizer = new DefaultValueStandardizer("My Default");
standardizationPolicyList.add(StandardizationAnnotationTransformer.instance().toUIModel(defaultValueStandardizer));
DateTimeStandardizer dateTimeStandardizer = new DateTimeStandardizer("MM/DD/YYYY", DateTimeStandardizer.OutputFormats.DATETIME_NOMILLIS);
standardizationPolicyList.add(StandardizationAnnotationTransformer.instance().toUIModel(dateTimeStandardizer));
RangeValidator validator = new RangeValidator(10, 20);
validationRules.add(ValidatorAnnotationTransformer.instance().toUIModel(validator));
fieldPolicies.add(new FieldPolicyBuilder("field1").addStandardization(standardizationPolicyList).addValidations(validationRules).build());
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(fieldPolicies);
FieldPoliciesJsonTransformer fieldPolicyTransformer = new FieldPoliciesJsonTransformer(json);
Map<String, com.thinkbiganalytics.policy.FieldPolicy> policyMap = fieldPolicyTransformer.buildPolicies();
com.thinkbiganalytics.policy.FieldPolicy field1Policy = policyMap.get("field1");
Assert.assertEquals(2, field1Policy.getStandardizationPolicies().size());
Assert.assertEquals(1, field1Policy.getValidators().size());
}
use of com.thinkbiganalytics.policy.validation.RangeValidator in project kylo by Teradata.
the class TestValidationTransformation method testRangeValidator.
@Test
@Ignore
public void testRangeValidator() {
Integer min = 10;
Integer max = 20;
RangeValidator validator = new RangeValidator(min, max);
FieldValidationRule uiModel = ValidatorAnnotationTransformer.instance().toUIModel(validator);
RangeValidator convertedValidator = fromUI(uiModel, RangeValidator.class);
Assert.assertEquals(min, convertedValidator.getMin());
Assert.assertEquals(max, convertedValidator.getMin());
}
Aggregations