001 package org.springframework.richclient.samples.dataeditor.domain;
002
003 import java.util.Map;
004 import java.util.HashMap;
005 import java.util.List;
006 import java.util.ArrayList;
007
008 public class ItemService
009 {
010 private static final Map<Integer, Item> REPOSITORY = new HashMap<Integer, Item>();
011
012 static
013 {
014 REPOSITORY.put(1, new Item("Cheese", "Gouda", new Supplier("Jake Johnson","jake@springcource.com","555-5236","SpringCource","555-3636")));
015 REPOSITORY.put(2, new Item("Cheese", "Emmental", new Supplier("Jake Johnson","jake@springcource.com","555-5236","SpringCource","555-3636")));
016 REPOSITORY.put(3, new Item("Cheese", "Stilton", new Supplier("Jake Johnson","jake@springcource.com","555-5236","SpringCource","555-3636")));
017 }
018
019 @SuppressWarnings("unchecked")
020 public List<Item> findItems(final ItemFilter filter)
021 {
022 List<Item> filtered = new ArrayList<Item>();
023 for (Item supplier : REPOSITORY.values())
024 {
025 if (checkFilter(supplier, filter))
026 {
027 filtered.add(supplier);
028 }
029 }
030 return filtered;
031 }
032
033 public Item getItem(Integer id)
034 {
035 return REPOSITORY.get(id);
036 }
037
038 public boolean checkFilter(Item supplier, ItemFilter filter)
039 {
040 boolean nameOk = true;
041 boolean contactNameOk = true;
042 if (filter.getNameContains() != null)
043 nameOk = supplier.getName().contains(filter.getNameContains());
044 return nameOk && contactNameOk;
045 }
046 }