List of usage examples for com.fasterxml.jackson.databind.module SimpleModule SimpleModule
public SimpleModule()
From source file:com.netflix.discovery.converters.jackson.EurekaJsonJacksonCodec.java
private ObjectMapper createObjectMapper(KeyFormatter keyFormatter, boolean compact, boolean wrapped) { ObjectMapper newMapper = new ObjectMapper(); SimpleModule jsonModule = new SimpleModule(); jsonModule.setSerializerModifier(/*from w ww.java 2s. co m*/ EurekaJacksonJsonModifiers.createJsonSerializerModifier(keyFormatter, compact)); newMapper.registerModule(jsonModule); newMapper.setSerializationInclusion(Include.NON_NULL); newMapper.configure(SerializationFeature.WRAP_ROOT_VALUE, wrapped); newMapper.configure(SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED, false); newMapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, wrapped); newMapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true); newMapper.addMixIn(Applications.class, ApplicationsJsonMixIn.class); if (compact) { addMiniConfig(newMapper); } else { newMapper.addMixIn(InstanceInfo.class, InstanceInfoJsonMixIn.class); } return newMapper; }
From source file:org.openmhealth.shim.runkeeper.RunkeeperShimTest.java
@Test @SuppressWarnings("unchecked") public void testActivityNormalize() throws IOException, ProcessingException { URL url = Thread.currentThread().getContextClassLoader().getResource("runkeeper-activity.json"); assert url != null; InputStream inputStream = url.openStream(); ObjectMapper objectMapper = new ObjectMapper(); RunkeeperShim.RunkeeperDataType.ACTIVITY.getNormalizer(); SimpleModule module = new SimpleModule(); module.addDeserializer(ShimDataResponse.class, RunkeeperShim.RunkeeperDataType.ACTIVITY.getNormalizer()); objectMapper.registerModule(module); ShimDataResponse response = objectMapper.readValue(inputStream, ShimDataResponse.class); assertNotNull(response);/*from w ww .ja v a2 s.c o m*/ assertNotNull(response.getShim()); Map<String, Object> map = (Map<String, Object>) response.getBody(); assertTrue(map.containsKey(Activity.SCHEMA_ACTIVITY)); List<Activity> activities = (List<Activity>) map.get(Activity.SCHEMA_ACTIVITY); assertTrue(activities != null && activities.size() == 2); DateTimeFormatter dateFormatter = DateTimeFormat.forPattern("EEE, d MMM yyyy HH:mm:ss") .withZone(DateTimeZone.UTC); final String START_TIME_STRING = "Wed, 6 Aug 2014 04:49:00"; DateTime expectedStartTimeUTC = dateFormatter.parseDateTime(START_TIME_STRING); Activity activity = activities.get(0); assertEquals(activity.getDistance().getValue(), new BigDecimal(6437.3760)); assertEquals(activity.getDistance().getUnit(), LengthUnitValue.LengthUnit.m); assertEquals(activity.getActivityName(), "Rowing"); assertEquals(activity.getEffectiveTimeFrame().getTimeInterval().getStartTime(), expectedStartTimeUTC); assertEquals(activity.getEffectiveTimeFrame().getTimeInterval().getDuration().getUnit(), DurationUnitValue.DurationUnit.sec); assertEquals(activity.getEffectiveTimeFrame().getTimeInterval().getDuration().getValue(), new BigDecimal(3600d)); /** * Verify that the output from runkeeper normalizer passes * a schema check. Per github issue #9. */ final String PHYSICAL_ACTIVITY_SCHEMA = "http://www.openmhealth.org/schema/omh/clinical/physical-activity-1.0.json"; ObjectMapper mapper = new ObjectMapper(); final JsonSchemaFactory factory = JsonSchemaFactory.byDefault(); final JsonSchema schema = factory.getJsonSchema(PHYSICAL_ACTIVITY_SCHEMA); ProcessingReport report; String rawJson = mapper.writeValueAsString(activity); report = schema.validate(mapper.readTree(rawJson)); System.out.println(report); assertTrue("Expected valid result!", report.isSuccess()); }
From source file:nebula.plugin.metrics.dispatcher.AbstractMetricsDispatcher.java
/** * Register Jackson module that maps enums as lowercase. Per http://stackoverflow.com/a/24173645. *///from w w w . j ava2 s . com @SuppressWarnings("rawtypes") private static void registerEnumModule(ObjectMapper mapper) { SimpleModule module = new SimpleModule(); module.setDeserializerModifier(new BeanDeserializerModifier() { @Override public JsonDeserializer<Enum> modifyEnumDeserializer(DeserializationConfig config, final JavaType type, BeanDescription beanDesc, final JsonDeserializer<?> deserializer) { return new JsonDeserializer<Enum>() { @Override public Enum deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { @SuppressWarnings("unchecked") Class<? extends Enum> rawClass = (Class<Enum<?>>) type.getRawClass(); return Enum.valueOf(rawClass, jp.getValueAsString().toUpperCase()); } }; } }); module.addSerializer(Enum.class, new StdSerializer<Enum>(Enum.class) { @Override public void serialize(Enum value, JsonGenerator jgen, SerializerProvider provider) throws IOException { jgen.writeString(value.name().toLowerCase()); } }); mapper.registerModule(module); }
From source file:org.apache.streams.gplus.processors.GooglePlusTypeConverterIT.java
@BeforeClass public void setup() { objectMapper = StreamsJacksonMapper.getInstance(); SimpleModule simpleModule = new SimpleModule(); simpleModule.addDeserializer(Person.class, new GPlusPersonDeserializer()); simpleModule.addDeserializer(com.google.api.services.plus.model.Activity.class, new GPlusActivityDeserializer()); objectMapper.registerModule(simpleModule); objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); googlePlusTypeConverter = new GooglePlusTypeConverter(); googlePlusTypeConverter.prepare(null); }
From source file:io.apptik.comm.jus.converter.JacksonConverterFactoryTest.java
@Before public void setUp() { queue = Jus.newRequestQueue();// w w w . java 2s . com SimpleModule module = new SimpleModule(); module.addSerializer(AnInterface.class, new AnInterfaceSerializer()); module.addDeserializer(AnInterface.class, new AnInterfaceDeserializer()); ObjectMapper mapper = new ObjectMapper(); mapper.registerModule(module); mapper.configure(MapperFeature.AUTO_DETECT_GETTERS, false); mapper.configure(MapperFeature.AUTO_DETECT_SETTERS, false); mapper.configure(MapperFeature.AUTO_DETECT_IS_GETTERS, false); mapper.setVisibilityChecker(mapper.getSerializationConfig().getDefaultVisibilityChecker() .withFieldVisibility(JsonAutoDetect.Visibility.ANY)); RetroProxy retroProxy = new RetroProxy.Builder().baseUrl(server.url("/").toString()) .addConverterFactory(JacksonConverterFactory.create(mapper)).requestQueue(queue).build(); service = retroProxy.create(Service.class); }
From source file:com.joey.Fujikom.common.mapper.JsonMapper.java
public JsonMapper(Include include) { // ?/*from w ww .j a va 2 s. co m*/ if (include != null) { this.setSerializationInclusion(include); } // ????????? this.enableSimple(); // JSONJava this.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); // ? this.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() { @Override public void serialize(Object value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { jgen.writeString(""); } }); // HTML? this.registerModule(new SimpleModule().addSerializer(String.class, new JsonSerializer<String>() { @Override public void serialize(String value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { jgen.writeString(StringEscapeUtils.unescapeHtml4(value)); } })); // this.setTimeZone(TimeZone.getDefault());//getTimeZone("GMT+8:00") }
From source file:org.jaqpot.core.data.serialize.JacksonMongoSerializer.java
public JacksonMongoSerializer() { this.mapper = new ObjectMapper(); SimpleModule module = new SimpleModule(); module.addSerializer(DataEntry.class, new DataEntrySerializer()); mapper.registerModule(module.setDeserializerModifier(new DataEntryDeSerializeModifier())); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); }
From source file:com.netflix.discovery.converters.jackson.EurekaXmlJacksonCodec.java
public EurekaXmlJacksonCodec(final KeyFormatter keyFormatter, boolean compact) { xmlMapper = new XmlMapper() { public ObjectMapper registerModule(Module module) { setSerializerFactory(getSerializerFactory().withSerializerModifier( EurekaJacksonXmlModifiers.createXmlSerializerModifier(keyFormatter))); return super.registerModule(module); }// w ww. j a va 2 s .c o m }; xmlMapper.setSerializationInclusion(Include.NON_NULL); xmlMapper.addMixIn(DataCenterInfo.class, DataCenterInfoXmlMixIn.class); xmlMapper.addMixIn(InstanceInfo.PortWrapper.class, PortWrapperXmlMixIn.class); xmlMapper.addMixIn(Application.class, ApplicationXmlMixIn.class); xmlMapper.addMixIn(Applications.class, ApplicationsXmlMixIn.class); SimpleModule xmlModule = new SimpleModule(); xmlMapper.registerModule(xmlModule); if (compact) { addMiniConfig(xmlMapper); } }
From source file:org.moserp.common.rest.ObjectMapperCustomizer.java
private void registerQuantitySerializer(ObjectMapper mapper) { SimpleModule module = new SimpleModule(); module.addSerializer(Quantity.class, new WithConverterSerializer<>(new BigDecimalWrapperToStringConverter())); module.addSerializer(Price.class, new WithConverterSerializer<>(new BigDecimalWrapperToStringConverter())); module.addSerializer(RestUri.class, new WithConverterSerializer<>(new RestUriToStringConverter())); mapper.registerModule(module);// ww w. j a va 2s.c o m }
From source file:org.n52.tamis.core.test.serialize.ExecuteInputBodySerializer_Test.java
public void setupMapper() { input_Serializer = new ExecuteInputSerializer(); output_Serializer = new ExecuteOutputSerializer(); mapper = new ObjectMapper(); SimpleModule module = new SimpleModule(); module.addSerializer(ExecuteInput.class, input_Serializer); module.addSerializer(ExecuteOutput.class, output_Serializer); mapper.registerModule(module);//from ww w . ja v a 2s . c o m }