Example usage for com.fasterxml.jackson.databind ObjectMapper registerModule

List of usage examples for com.fasterxml.jackson.databind ObjectMapper registerModule

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind ObjectMapper registerModule.

Prototype

public ObjectMapper registerModule(Module module) 

Source Link

Document

Method for registering a module that can extend functionality provided by this mapper; for example, by adding providers for custom serializers and deserializers.

Usage

From source file:org.springframework.social.linkedin.api.impl.json.LikesListDeserializer.java

@Override
public List<LinkedInProfile> deserialize(JsonParser jp, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {
    ObjectMapper mapper = new ObjectMapper();
    mapper.registerModule(new LinkedInModule());
    jp.setCodec(mapper);// w  w w .  ja va 2  s.c  o  m
    if (jp.hasCurrentToken()) {
        JsonNode dataNode = jp.readValueAs(JsonNode.class).get("values");
        List<LinkedInProfile> likes = new ArrayList<LinkedInProfile>();
        // Have to iterate through list due to person sub object.
        for (JsonNode like : dataNode) {
            LinkedInProfile profile = mapper.reader(new TypeReference<LinkedInProfile>() {
            }).readValue(like.get("person"));
            likes.add(profile);
        }
        return likes;
    }

    return null;
}

From source file:org.springframework.social.facebook.api.impl.json.CommentListAndCountDeserializer.java

@SuppressWarnings("unchecked")
@Override//from  w  ww. ja  v  a2  s  . com
public ListAndCount<Comment> deserialize(JsonParser jp, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {
    ObjectMapper mapper = new ObjectMapper();
    mapper.registerModule(new FacebookModule());
    jp.setCodec(mapper);
    if (jp.hasCurrentToken()) {
        JsonNode commentsNode = jp.readValueAs(JsonNode.class);
        JsonNode dataNode = commentsNode.get("data");
        List<Comment> commentsList = dataNode != null
                ? (List<Comment>) mapper.reader(new TypeReference<List<Comment>>() {
                }).readValue(dataNode)
                : Collections.<Comment>emptyList();
        JsonNode countNode = commentsNode.get("count");
        int commentCount = countNode != null ? countNode.intValue() : 0;
        return new ListAndCount<Comment>(commentsList, commentCount);
    }

    return null;
}

From source file:org.springframework.social.facebook.api.impl.json.ReferenceListAndCountDeserializer.java

@SuppressWarnings("unchecked")
@Override/* w  w w.  ja  v  a  2 s  .co  m*/
public ListAndCount<Reference> deserialize(JsonParser jp, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {
    ObjectMapper mapper = new ObjectMapper();
    mapper.registerModule(new FacebookModule());
    jp.setCodec(mapper);
    if (jp.hasCurrentToken()) {
        JsonNode node = jp.readValueAs(JsonNode.class);
        JsonNode dataNode = node.get("data");
        List<Reference> commentsList = dataNode != null
                ? (List<Reference>) mapper.reader(new TypeReference<List<Reference>>() {
                }).readValue(dataNode)
                : Collections.<Reference>emptyList();
        JsonNode countNode = node.get("count");
        int referenceCount = countNode != null ? countNode.intValue() : 0;
        return new ListAndCount<Reference>(commentsList, referenceCount);
    }

    return null;
}

From source file:com.basho.riak.client.itest.ITestStats.java

@Test
public void testDeserializer() throws IOException {
    NodeStats.UndefinedStatDeserializer usd = new NodeStats.UndefinedStatDeserializer();
    SimpleModule module = new SimpleModule("UndefinedStatDeserializer", new Version(1, 0, 0, null, null, null));
    module.addDeserializer(BigInteger.class, usd);

    String json = "{\"vnode_gets\":\"deprecated\",\"vnode_gets_total\":12345678}";

    ObjectMapper mapper = new ObjectMapper();
    mapper.registerModule(module);
    NodeStats stats = mapper.readValue(json, NodeStats.class);
    assertEquals(stats.vnodeGets(), BigInteger.ZERO);
    assertEquals(stats.vnodeGetsTotal(), BigInteger.valueOf(12345678));

}

From source file:com.github.gabrielruiu.springsocial.yahoo.api.impl.YahooTemplate.java

protected ObjectMapper createObjectMapper() {
    ObjectMapper mapper = new ObjectMapper();
    mapper.registerModule(new YahooModule());
    return mapper;
}

From source file:com.greglturnquist.spring.social.ecobee.api.impl.EcobeeTemplate.java

@Override
protected MappingJackson2HttpMessageConverter getJsonMessageConverter() {

    MappingJackson2HttpMessageConverter converter = super.getJsonMessageConverter();
    ObjectMapper mapper = new ObjectMapper();
    mapper.registerModule(new EcobeeModule());
    converter.setObjectMapper(mapper);// ww w.j a v a 2 s.  co m
    return converter;
}

From source file:com.animedetour.api.ApiModule.java

@Provides
@Singleton/*from  ww w . j a v  a  2  s  . com*/
public RestAdapter restAdapter(Monolog logger, OkHttpClient client) {
    RestAdapter.Builder builder = new RestAdapter.Builder();
    builder.setEndpoint("http://animedetour.com");

    ObjectMapper mapper = new ObjectMapper();
    mapper.registerModule(new JodaModule());
    mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    builder.setConverter(new JacksonConverter(mapper));
    builder.setLog(new RestLogAdapter(logger));
    builder.setLogLevel(RestAdapter.LogLevel.BASIC);

    builder.setClient(new OkClient(client));

    RestAdapter adapter = builder.build();

    return adapter;
}

From source file:io.syndesis.credential.CredentialModuleTest.java

@Test
public void shouldDeserializeFromJson() throws IOException {
    final String json = "{\"type\":\"OAUTH1\",\"accessToken\":{\"value\":\"access-token-value\",\"secret\":\"access-token-secret\"},\"token\":{\"value\":\"token-value\",\"secret\":\"token-secret\"},\"verifier\":\"verifier\",\"key\":\"key\",\"providerId\":\"twitter\",\"returnUrl\":\"https://localhost:4200/connections/create/configure-fields?state=create-connection&connectorId=twitter\"}";

    final ObjectMapper mapper = new ObjectMapper();
    mapper.registerModule(new CredentialModule());

    final OAuth1CredentialFlowState flowState = mapper.readerFor(CredentialFlowState.class).readValue(json);

    final OAuth1CredentialFlowState expected = new OAuth1CredentialFlowState.Builder()
            .accessToken(new OAuthToken("access-token-value", "access-token-secret"))
            .token(new OAuthToken("token-value", "token-secret")).verifier("verifier").key("key")
            .providerId("twitter")
            .returnUrl(URI.create(
                    "https://localhost:4200/connections/create/configure-fields?state=create-connection&connectorId=twitter"))
            .build();//from   w w  w.  j a  va  2  s  .  c o m

    assertThat(flowState).isEqualToIgnoringGivenFields(expected, "accessToken", "token");
    assertThat(flowState.getAccessToken()).isEqualToComparingFieldByField(expected.getAccessToken());
    assertThat(flowState.getToken()).isEqualToComparingFieldByField(expected.getToken());
}

From source file:org.mayocat.shop.payment.store.jdbi.mapper.PaymentOperationMapper.java

@Override
public PaymentOperation map(int index, ResultSet resultSet, StatementContext ctx) throws SQLException {
    PaymentOperation operation = new PaymentOperation();
    operation.setId((UUID) resultSet.getObject("operation_id"));
    operation.setOrderId((UUID) resultSet.getObject("order_id"));
    operation.setExternalId(resultSet.getString("external_id"));
    operation.setGatewayId(resultSet.getString("gateway_id"));
    operation.setResult(PaymentOperation.Result.valueOf(resultSet.getString("result")));

    ObjectMapper mapper = new ObjectMapper();
    mapper.registerModule(new GuavaModule());
    if (resultSet.getString("memo") != null) {
        try {//w  ww .j  av a2  s  .c o m
            Map<String, Object> data = mapper.readValue(resultSet.getString("memo"),
                    new TypeReference<Map<String, Object>>() {
                    });
            operation.setMemo(data);
        } catch (IOException e) {
            final Logger logger = LoggerFactory.getLogger(PaymentOperationMapper.class);
            logger.error("Failed to de-serialize payment operation memo", e);
        }
    }

    return operation;
}

From source file:org.lable.rfc3881.auditlogger.serialization.RFC3881ModuleTest.java

@Test
public void moduleTest() throws JsonProcessingException {
    ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.registerModule(new RFC3881Module());
    objectMapper.registerModule(new JodaModule());
    objectMapper.configure(SerializationFeature.INDENT_OUTPUT, true);
    objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);

    LogEntry logEntry = new LogEntry(
            new Event(new CodeReference("events", "logon", "log-on"), EventAction.EXECUTE,
                    EventOutcome.SUCCESS),
            new Principal("bob", null, "Bob Jones", new CodeReference("roles", "user", "authenticated user")),
            null, null, NetworkAccessPoint.byIPAddress("127.0.0.1"),
            Collections.singletonList(
                    new AuditSource("servercluster1", "tomcat1", AuditSourceType.WEB_SERVER_PROCESS)),
            Collections.singletonList(new ParticipantObject("bob", ParticipantObjectType.PERSON,
                    ParticipantObjectIDType.USER_IDENTIFIER, ParticipantObjectTypeRole.USER,
                    DataLifeCycle.ACCESS_OR_USE, new CodeReference("sensitivity", "TOPSECRET", "Quite secret"),
                    "Bob Jones", "TEST".getBytes(),
                    new ParticipantObject.Detail(new CodeReference("detail", "DT1", "Detail 1"), new byte[0]))),
            new CodeReference("version", "1", "1"));

    System.out.println(objectMapper.writeValueAsString(logEntry));
}