package org.moskito.demo.burgershop.burgershopspring.ui; import org.moskito.demo.burgershop.burgershopspring.service.Order; import org.moskito.demo.burgershop.burgershopspring.service.ShopService; import org.moskito.demo.burgershop.burgershopspring.service.ShopableItem; import net.anotheria.moskito.aop.annotation.Monitor; import net.anotheria.util.NumberUtils; 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.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import javax.servlet.http.HttpServletRequest; import java.util.LinkedList; /** * TODO comment this class * * @author lrosenberg * @since 17.11.13 15:16 */ @Controller @Monitor(category="controller") public class OrderController { @Autowired private ShopService service; private static Logger log = LoggerFactory.getLogger(OrderController.class); @RequestMapping(value = "/order.html") public String order(HttpServletRequest request, @RequestParam()String choice1, @RequestParam String choice2, @RequestParam String choice3){ log.debug("Incoming order "+choice1+", "+choice2+", "+choice3); Order order = service.placeOrder(choice1, choice2, choice3); log.debug("Placed order "+order); LinkedList<String> orderedItems = new LinkedList<String>(); for (ShopableItem item : order.getItems()){ orderedItems.add(item.getName()); } request.setAttribute("ordereditems", orderedItems); request.setAttribute("totalPrice", preparePrice(order)); return "confirmation"; } private String preparePrice(Order order){ //return NumberUtils.currencyFormat((double)order.getTotalPrice()/100, ','); //Optimization, don't need cast to double return NumberUtils.currencyFormat(order.getTotalPrice()/100, ','); } }