001 package org.springframework.richclient.samples.dataeditor.domain; 002 003 import java.util.ArrayList; 004 import java.util.List; 005 import java.util.Map; 006 import java.util.HashMap; 007 008 public class SupplierService 009 { 010 private static final Map<Integer, Supplier> REPOSITORY = new HashMap<Integer, Supplier>(); 011 012 static 013 { 014 REPOSITORY.put(1, new Supplier("Jake Johnson","jake@springcource.com","555-5236","SpringCource","555-3636")); 015 REPOSITORY.put(2, new Supplier("Tim Sears","tim@microshoft.com","555-3634","Microshoft","555-8978")); 016 REPOSITORY.put(3, new Supplier("Peter Deloye","peter@ibmn.com","525-6636","IBMN","556-5654")); 017 } 018 019 @SuppressWarnings("unchecked") 020 public List<Supplier> findSuppliers(final SupplierFilter filter) 021 { 022 List<Supplier> filtered = new ArrayList<Supplier>(); 023 for (Supplier supplier : REPOSITORY.values()) 024 { 025 if (checkFilter(supplier, filter)) 026 { 027 filtered.add(supplier); 028 } 029 } 030 return filtered; 031 } 032 033 public Supplier getSupplier(Integer id) 034 { 035 return REPOSITORY.get(id); 036 } 037 038 public boolean checkFilter(Supplier supplier, SupplierFilter filter) 039 { 040 boolean nameOk = true; 041 boolean contactNameOk = true; 042 if (filter.getNameContains() != null) 043 nameOk = supplier.getName().contains(filter.getNameContains()); 044 if (filter.getContactNameContains() != null) 045 contactNameOk = supplier.getContactName().contains(filter.getContactNameContains()); 046 return nameOk && contactNameOk; 047 } 048 }