Advertisement
Guest User

Untitled

a guest
Jan 16th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. public class OrderProcessor implements OrderService {
  2. @Value("${services.order.uri}")
  3. private String ORDER_API;
  4.  
  5. private String PRODUCT_URL = "/products/northfacehoodie";
  6.  
  7. private String SHIPPING_URL = "/shipping/northfacehoodie";
  8.  
  9. private static final Logger log = LoggerFactory.getLogger(OrderProcessor.class);
  10.  
  11. private RestTemplate restTemplate = new RestTemplate();
  12.  
  13. @Override
  14. public Observable<OrderDetailsDTO> getOrderDetails() {
  15. log.debug("Retrieving the Order Details.");
  16. return Observable.zip(getProductDetails(), getShippingInformation(),
  17. (productInfo, shippingInfo) -> new ProductDetailsDTOTOOrderDetailsDTOTransformer(shippingInfo)
  18. .transform(productInfo));
  19. }
  20.  
  21. private Observable<ProductDetailsDTO> getProductDetails() {
  22. return Observable.<ProductDetailsDTO> create(sub -> {
  23. ProductDetailsDTO productDetailsDTO = restTemplate
  24. .getForEntity(ORDER_API + PRODUCT_URL, ProductDetailsDTO.class).getBody();
  25. sub.onNext(productDetailsDTO);
  26. sub.onCompleted();
  27. log.debug("Product details were received successfully.");
  28. });
  29. }
  30.  
  31. private Observable<ShippingDetailsDTO> getShippingInformation() {
  32. return Observable.<ShippingDetailsDTO> create(sub -> {
  33. ShippingDetailsDTO shippingDetailsDTO = restTemplate
  34. .getForEntity(ORDER_API + SHIPPING_URL, ShippingDetailsDTO.class).getBody();
  35. sub.onNext(shippingDetailsDTO);
  36. sub.onCompleted();
  37. log.debug("Shipping details were received successfully.");
  38. });
  39. }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement