public LogicalPlanPersistence(DrillConfig conf, ScanResult scanResult, ObjectMapper mapper) { this.mapper = mapper; SimpleModule deserModule = new SimpleModule("LogicalExpressionDeserializationModule") .addDeserializer(LogicalExpression.class, new LogicalExpression.De(conf)) .addDeserializer(SchemaPath.class, new SchemaPath.De()); mapper.registerModule(deserModule); mapper.enable(SerializationFeature.INDENT_OUTPUT); mapper.configure(Feature.ALLOW_UNQUOTED_FIELD_NAMES, true); mapper.configure(JsonGenerator.Feature.QUOTE_FIELD_NAMES, true); mapper.configure(Feature.ALLOW_COMMENTS, true); mapper.setFilterProvider(new SimpleFilterProvider().setFailOnUnknownId(false)); registerSubtypes(LogicalOperatorBase.getSubTypes(scanResult)); registerSubtypes(StoragePluginConfigBase.getSubTypes(scanResult)); registerSubtypes(FormatPluginConfigBase.getSubTypes(scanResult)); }
@Test public void setFilters() throws JsonProcessingException { this.factory.setFilters(new SimpleFilterProvider().setFailOnUnknownId(false)); this.factory.afterPropertiesSet(); ObjectMapper objectMapper = this.factory.getObject(); JacksonFilteredBean bean = new JacksonFilteredBean("value1", "value2"); String output = objectMapper.writeValueAsString(bean); assertThat(output, containsString("value1")); assertThat(output, containsString("value2")); }
@Test public void filters() throws JsonProcessingException { ObjectMapper objectMapper = Jackson2ObjectMapperBuilder.json() .filters(new SimpleFilterProvider().setFailOnUnknownId(false)).build(); JacksonFilteredBean bean = new JacksonFilteredBean("value1", "value2"); String output = objectMapper.writeValueAsString(bean); assertThat(output, containsString("value1")); assertThat(output, containsString("value2")); SimpleFilterProvider provider = new SimpleFilterProvider() .setFailOnUnknownId(false) .setDefaultFilter(SimpleBeanPropertyFilter.serializeAllExcept("property2")); objectMapper = Jackson2ObjectMapperBuilder.json().filters(provider).build(); output = objectMapper.writeValueAsString(bean); assertThat(output, containsString("value1")); assertThat(output, not(containsString("value2"))); }
SimpleFilterProvider filters = new SimpleFilterProvider(); filters.setFailOnUnknownId(false); String json = mapper.writer(filters).writeValueAsString(pizza);
public LogicalPlanPersistence(DrillConfig conf, ScanResult scanResult, ObjectMapper mapper) { this.mapper = mapper; SimpleModule deserModule = new SimpleModule("LogicalExpressionDeserializationModule") .addDeserializer(LogicalExpression.class, new LogicalExpression.De(conf)) .addDeserializer(SchemaPath.class, new SchemaPath.De()); mapper.registerModule(deserModule); mapper.enable(SerializationFeature.INDENT_OUTPUT); mapper.configure(Feature.ALLOW_UNQUOTED_FIELD_NAMES, true); mapper.configure(JsonGenerator.Feature.QUOTE_FIELD_NAMES, true); mapper.configure(Feature.ALLOW_COMMENTS, true); mapper.setFilterProvider(new SimpleFilterProvider().setFailOnUnknownId(false)); registerSubtypes(LogicalOperatorBase.getSubTypes(scanResult)); registerSubtypes(StoragePluginConfigBase.getSubTypes(scanResult)); registerSubtypes(FormatPluginConfigBase.getSubTypes(scanResult)); }