Package com.yummynoodlebar.web.controller

Source Code of com.yummynoodlebar.web.controller.OrderStatusController

package com.yummynoodlebar.web.controller;

import java.util.UUID;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import com.yummynoodlebar.core.services.OrderService;
import com.yummynoodlebar.events.orders.OrderDetailsEvent;
import com.yummynoodlebar.events.orders.OrderStatusEvent;
import com.yummynoodlebar.events.orders.RequestOrderDetailsEvent;
import com.yummynoodlebar.events.orders.RequestOrderStatusEvent;
import com.yummynoodlebar.web.domain.OrderStatus;

@Controller
@RequestMapping("/order/{orderId}")
public class OrderStatusController {

  private static final Logger LOG = LoggerFactory
      .getLogger(OrderStatusController.class);

  @Autowired
  private OrderService orderService;

  @RequestMapping(method = RequestMethod.GET)
  public String orderStatus(@ModelAttribute("orderStatus") OrderStatus orderStatus) {
    LOG.debug("Get order status for order id {} customer {}", orderStatus.getOrderId(), orderStatus.getName());
    return "/order";
  }

  @ModelAttribute("orderStatus")
  private OrderStatus getOrderStatus(@PathVariable("orderId") String orderId) {
    OrderDetailsEvent orderDetailsEvent = orderService.requestOrderDetails(new RequestOrderDetailsEvent(UUID.fromString(orderId)));
    OrderStatusEvent orderStatusEvent = orderService.requestOrderStatus(new RequestOrderStatusEvent(UUID.fromString(orderId)));
    OrderStatus status = new OrderStatus();
    status.setName(orderDetailsEvent.getOrderDetails().getName());
    status.setOrderId(orderId);
    status.setStatus(orderStatusEvent.getOrderStatus().getStatus());
    return status;
  }
}
TOP

Related Classes of com.yummynoodlebar.web.controller.OrderStatusController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.