예제 #1
0
 public String addItems(Order order) throws Exception {
   LOGGER.info("Adding items to order: " + order.getOrderId());
   Order corder = getOrder(order.getOrderId());
   for (OrderItem orderItem : order.getItems()) {
     LOGGER.info("Adding item: " + orderItem.getItem().getItemId());
     Item item = _warehouse.getItem(orderItem.getItem().getItemId());
     if (item == null) {
       throw new RuntimeException("Item " + orderItem.getItem().getItemId() + " not found!");
     } else {
       orderItem.setItem(item);
       corder.getItems().add(orderItem);
     }
   }
   LOGGER.info("Order after adding items: " + corder);
   return SUCCESS;
 }
예제 #2
0
 public Order getOrder(Integer orderId) throws Exception {
   LOGGER.info("Getting Order with no: " + orderId);
   Order corder = _orders.get(orderId);
   if (corder == null) {
     throw new RuntimeException("Order " + orderId + " not found!");
   }
   LOGGER.info("Updating descriptions: " + corder.getItems());
   // Get the updated descriptions of items
   for (OrderItem orderItem : corder.getItems()) {
     Item item = _warehouse.getItem(orderItem.getItem().getItemId());
     orderItem.setItem(item);
   }
   return corder;
 }
예제 #3
0
 public String removeItem(String orderItemId) throws Exception {
   // Not so elegant, but what to do?
   String[] ids = orderItemId.split(":");
   if (ids.length != 2) {
     throw new RuntimeException("Missing either order id or item id!");
   }
   Integer orderId = Integer.parseInt(ids[0]);
   Integer itemId = Integer.parseInt(ids[1]);
   Order corder = getOrder(orderId);
   for (OrderItem orderItem : corder.getItems()) {
     if (orderItem.getItem().getItemId() == itemId) {
       corder.getItems().remove(orderItem);
       break;
     }
   }
   LOGGER.info("Order after deleting item: " + corder);
   return SUCCESS;
 }