Example usage for com.fasterxml.jackson.core.type TypeReference TypeReference

List of usage examples for com.fasterxml.jackson.core.type TypeReference TypeReference

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core.type TypeReference TypeReference.

Prototype

protected TypeReference() 

Source Link

Usage

From source file:mayoapp.migrations.V0400_2024__move_order_items_to_own_table.java

@Override
public void migrate(Connection connection) throws Exception {
    connection.setAutoCommit(false);/*ww  w.  ja  v a  2s  .  c om*/

    Statement queryStatement = connection.createStatement();
    ResultSet data = queryStatement.executeQuery("SELECT * from purchase_order");

    List<Order> orders = Lists.newArrayList();
    List<OrderItem> orderItems = Lists.newArrayList();

    ObjectMapper mapper = new ObjectMapper();

    while (data.next()) {
        Order order = new Order();
        order.setId((UUID) data.getObject("entity_id"));

        String orderDataString = data.getString("order_data");
        Map<String, Object> orderData = mapper.readValue(orderDataString,
                new TypeReference<Map<String, Object>>() {
                });

        List<Map<String, Object>> items = (List<Map<String, Object>>) orderData.get("items");

        for (Map<String, Object> item : items) {
            OrderItem orderItem = new OrderItem();

            orderItem.setId(UUID.randomUUID());
            orderItem.setOrderId(order.getId());

            if (item.containsKey("id") && String.class.isAssignableFrom(item.get("id").getClass())) {
                orderItem.setPurchasableId(UUID.fromString((String) item.get("id")));
            }
            orderItem.setType((String) item.get("type"));
            orderItem.setTitle((String) item.get("title"));
            orderItem.setQuantity(((Integer) item.get("quantity")).longValue());
            orderItem.setUnitPrice(BigDecimal.valueOf((Double) item.get("unitPrice")));
            orderItem.setItemTotal(BigDecimal.valueOf((Double) item.get("itemTotal")));
            if (item.containsKey("vatRate")) {
                orderItem.setVatRate(BigDecimal.valueOf((Double) item.get("vatRate")));
            }

            if (item.containsKey("addons")) {
                orderItem.addData("addons", convertAddonsToMap((List<Map<String, Object>>) item.get("addons")));
            }

            orderItems.add(orderItem);
        }

        orderData.remove("items");
        order.setOrderData(orderData);
        orders.add(order);
    }

    queryStatement.close();

    // 1. Update orders

    PreparedStatement updateOrders = connection
            .prepareStatement("UPDATE purchase_order SET order_data = CAST (? AS json) WHERE entity_id =?");

    for (Order order : orders) {
        updateOrders.setObject(1, mapper.writeValueAsString(order.getOrderData()));
        updateOrders.setObject(2, order.getId());
        updateOrders.addBatch();
    }

    updateOrders.executeBatch();

    // 2. Insert items

    PreparedStatement insertItems = connection.prepareStatement(
            "INSERT INTO purchase_order_item (id, order_id, purchasable_id, type, title, quantity, unit_price, "
                    + "item_total, vat_rate, data) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, CAST (? as json))");

    for (OrderItem item : orderItems) {
        insertItems.setObject(1, item.getId());
        insertItems.setObject(2, item.getOrderId());
        insertItems.setObject(3, item.getPurchasableId());
        insertItems.setString(4, item.getType());
        insertItems.setString(5, item.getTitle());
        insertItems.setLong(6, item.getQuantity());
        insertItems.setBigDecimal(7, item.getUnitPrice());
        insertItems.setBigDecimal(8, item.getItemTotal());
        insertItems.setBigDecimal(9, item.getVatRate());
        insertItems.setString(10, mapper.writeValueAsString(item.getData()));
        insertItems.addBatch();
    }

    insertItems.executeBatch();
}

From source file:uk.co.sdev.async.http.ning.Parallel3CompletableFutureClientTest.java

@Override
protected CompletableFuture<List<TravelProblem>> getTravel() throws IOException {
    return completableFutureClient
            .get("http://localhost:9101/travel", new TypeReference<List<TravelProblem>>() {
            }).handle(withFallback(Collections.<TravelProblem>emptyList()));
}

From source file:fi.helsinki.opintoni.integration.coursepage.CoursePageMockClient.java

@Override
public List<CoursePageEvent> getEvents(String courseImplementationId) {
    return getResponse(events, new TypeReference<List<CoursePageEvent>>() {
    });//from  w  w w  .  j  av  a2  s. co m
}

From source file:com.vinidsl.googleioextended.rest.talk.TalkListDeserializer.java

@Override
public TalkListResponse deserialize(JsonParser jsonParser, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {

    ObjectCodec oc = jsonParser.getCodec();
    JsonNode node = oc.readTree(jsonParser);
    TalkListResponse responseData = new TalkListResponse();
    if (node.has("results")) {
        String nodeAsString = node.get("results").toString();
        ArrayList<Talk> talks = new ObjectMapper().readValue(nodeAsString,
                new TypeReference<ArrayList<Talk>>() {
                });//w  ww .  j a v a 2s .  c  om
        responseData.setTalkList(talks);
    } else {
        responseData
                .setResponseError(new WrappedError(new Exception("Error while deserializing response result")));
    }
    return responseData;
}

From source file:org.agorava.facebook.jackson.CommentListAndCountDeserializer.java

@SuppressWarnings("unchecked")
@Override/*from w w  w. j av a2 s .  co m*/
public ListAndCount<Comment> deserialize(JsonParser jp, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {
    ObjectMapper mapper = getInstance().resolve(ObjectMapper.class);
    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();
        return new ListAndCount<Comment>(commentsList, commentsList.size());
    }

    return null;
}

From source file:com.github.nmorel.gwtjackson.guava.jackson.OptionalJacksonTest.java

@Test
public void testDeserializeGeneric() {
    OptionalTester.INSTANCE//  w ww .jav  a 2 s  .co m
            .testDeserializeGeneric(createReader(new TypeReference<Optional<OptionalGenericData<String>>>() {
            }));
}

From source file:org.agorava.facebook.jackson.ReferenceListAndCountDeserializer.java

@SuppressWarnings("unchecked")
@Override// w  w  w.  j  a  va 2 s  . c  om
public ListAndCount<Reference> deserialize(JsonParser jp, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {
    ObjectMapper mapper = getInstance().resolve(ObjectMapper.class);

    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.sdl.odata.unmarshaller.json.ODataJsonActionParser.java

@Override
public Map<String, Object> parseRequestBody(String body) throws IOException {
    // The very primitive parser to parse simple key-value parameters
    if (isNullOrEmpty(body)) {
        return Collections.emptyMap();
    }//w  w w . j av a 2 s.c o m

    Map<String, Object> parsedMap = OBJECT_MAPPER.readValue(body, new TypeReference<HashMap<String, Object>>() {
    });
    LOG.debug("The request body is parsed to map: {}", parsedMap);
    return parsedMap;
}

From source file:uk.co.sdev.async.http.ning.CompletableFutureClientTest.java

private CompletableFuture<Optional<Foo>> getOptionalFoo() throws IOException {
    return completableFutureClient.get("http://localhost:9101/foo", new TypeReference<Optional<Foo>>() {
    });// w  ww  .  java 2s. co  m
}

From source file:net.sarangnamu.home.api.Api.java

public static ArrayList<Study> study(int page) throws Exception {
    initHttp();//  ww w .  j  a  v a2s  .  c o  m
    http.setMethod("GET");

    Map<String, String> params = new HashMap<String, String>();
    params.put("nPage", "" + page);
    String res = http.submit(URI_STUDY, params);

    return (ArrayList<Study>) JsonTool.toObj(res, new TypeReference<List<Study>>() {
    });
}