Advertisement
Guest User

Untitled

a guest
Feb 26th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.00 KB | None | 0 0
  1. package tacoss.web;
  2.  
  3. import lombok.extern.slf4j.Slf4j;
  4. import org.springframework.stereotype.Controller;
  5. import org.springframework.ui.Model;
  6. import org.springframework.web.bind.annotation.GetMapping;
  7. import org.springframework.web.bind.annotation.RequestMapping;
  8. import tacoss.Ingredient;
  9. import tacoss.Ingredient.Type;
  10. import tacoss.Taco;
  11.  
  12. import java.util.Arrays;
  13. import java.util.List;
  14. import java.util.stream.Collectors;
  15.  
  16. @Slf4j
  17. @Controller
  18. @RequestMapping(value = "/design")
  19. public class DesignTacoController {
  20.  
  21.  
  22.     void addIngredientsToModel(Model model) {
  23.         List<Ingredient> ingredients = Arrays.asList(
  24.                 new Ingredient("FLTO", "Flour Tortilla", Type.WRAP),
  25.                 new Ingredient("COTO", "Corn Tortilla", Type.WRAP),
  26.                 new Ingredient("GRBF", "Ground Beef", Type.PROTEIN),
  27.                 new Ingredient("CARN", "Carnitas", Type.PROTEIN),
  28.                 new Ingredient("TMTO", "Diced Tomatoes", Type.VEGGIES),
  29.                 new Ingredient("LETC", "Lettuce", Type.VEGGIES),
  30.                 new Ingredient("CHED", "Cheddar", Type.CHEESE),
  31.                 new Ingredient("JACK", "Monterrey Jack", Type.CHEESE),
  32.                 new Ingredient("SLSA", "Salsa", Type.SAUCE),
  33.                 new Ingredient("SRCR", "Sour Cream", Type.SAUCE)
  34.         );
  35.  
  36.         Ingredient.Type[] types = Ingredient.Type.values();
  37.         for (Ingredient.Type type : types) {
  38.             model.addAttribute(type.toString().toLowerCase(),
  39.                     filterByType(ingredients, type));
  40.         }
  41.     }
  42.  
  43.  
  44.     @GetMapping
  45.     public String showDesignForm(Model model) {
  46.         addIngredientsToModel(model);
  47.         model.addAttribute("design", new Taco());
  48.         return "design";
  49.     }
  50.  
  51.  
  52.     private List<Ingredient> filterByType(
  53.             List<Ingredient> ingredients, Type type) {
  54.         return ingredients
  55.                 .stream()
  56.                 .filter(x -> x.getType().equals(type))
  57.                 .collect(Collectors.toList());
  58.     }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement