@GET @Path("{slug}") @Authorized public Response getOrder(@PathParam("slug") String slug) { Order order = orderStore.get().findBySlug(slug); if (order == null) { return Response.status(Response.Status.NOT_FOUND).entity("Order not found").build(); } GeneralSettings settings = configurationService.getSettings(GeneralSettings.class); final DateTimeZone tenantTz = DateTimeZone.forTimeZone(settings.getTime().getTimeZone().getValue()); return Response.ok(new OrderRepresentation(tenantTz, order)).build(); }
@Override public DateTime deserialize(JsonParser parser, DeserializationContext ctxt) throws IOException, JsonProcessingException { String str = parser.getText().trim(); if (Strings.isNullOrEmpty(str)) { return null; } ConfigurationService configurationService = Utils.getComponent(ConfigurationService.class); GeneralSettings settings = configurationService.getSettings(GeneralSettings.class); return new DateTime(str, DateTimeZone.forTimeZone(settings.getTime().getTimeZone().getValue())); } }
@GET @Authorized public ResultSetRepresentation<OrderRepresentation> getAllOrders( @QueryParam("number") @DefaultValue("50") Integer number, @QueryParam("offset") @DefaultValue("0") Integer offset) { GeneralSettings settings = configurationService.getSettings(GeneralSettings.class); final DateTimeZone tenantTz = DateTimeZone.forTimeZone(settings.getTime().getTimeZone().getValue()); List<Order> orders = orderStore.get().findAllPaidOrAwaitingPayment(number, offset); Collection<OrderRepresentation> representations = Collections2.transform(orders, new Function<Order, OrderRepresentation>() { public OrderRepresentation apply(final Order order) { return new OrderRepresentation(tenantTz, order); } }); Integer total = this.orderStore.get().countAllPaidOrAwaitingPayment(); ResultSetRepresentation<OrderRepresentation> resultSet = new ResultSetRepresentation<>( "/api/orders", number, offset, new ArrayList<>(representations), total ); return resultSet; }