List of usage examples for com.fasterxml.jackson.core.type TypeReference TypeReference
protected TypeReference()
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>>() { }); }