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 }