@Override public Product getProduct(String name) { if (catalogData.getProducts() != null) { return catalogData.getProducts().stream().filter(p -> p.getName().equals(name)).findFirst().orElse(null); } return null; }
public ProductModel convert(Product product) { Map<String, EventModel> eventMap = eventService.getEventMap(); ProductModel model = new ProductModel(); model.setId(product.getId()); model.setName(product.getName()); model.setDescription(product.getDescription()); model.setDisplayName(product.getDisplayName()); model.setCatalogId(product.getCatalogId()); List<EventModel> events = new ArrayList<>(product.getEvents().size()); for (String name : product.getEvents()) { EventModel event = eventMap.get(name); if (event != null) { events.add(event); } else { throw new IllegalArgumentException("Unknown event " + name + " for product " + product.getName()); } } model.setEvents(events); return model; } }