use of com.thinkbiganalytics.policy.rest.model.FieldPolicyBuilder 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());
}
Aggregations