/* * GWTServiceImpl.java * * Created on December 11, 2007, 5:05 PM * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package org.yournamehere.server; import com.google.gwt.user.server.rpc.RemoteServiceServlet; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import org.yournamehere.client.GWTService; /** * * @author gw152771 */ public class GWTServiceImpl extends RemoteServiceServlet implements GWTService { private HashMap data = new HashMap(); private class Manufacturer { private HashMap brands = new HashMap(); public Manufacturer(HashMap brands) { this.brands = brands; } public HashMap getBrands() { return brands; } } public GWTServiceImpl() { super(); loadData(); } private void loadData() { ArrayList brandModels = new ArrayList(); brandModels.add("EX"); brandModels.add("DX Hatchback"); brandModels.add("DX 4-Door"); HashMap manufacturerBrands = new HashMap(); manufacturerBrands.put("Civic", brandModels); brandModels = new ArrayList(); brandModels.add("SX"); brandModels.add("Sedan"); manufacturerBrands.put("Accord", brandModels); brandModels = new ArrayList(); brandModels.add("LX"); brandModels.add("Deluxe"); manufacturerBrands.put("Odyssey", brandModels); Manufacturer manufacturer = new Manufacturer(manufacturerBrands); data.put("Honda", manufacturer); brandModels = new ArrayList(); brandModels.add("LXE"); brandModels.add("LX"); manufacturerBrands = new HashMap(); manufacturerBrands.put("Altima", brandModels); brandModels = new ArrayList(); brandModels.add("NX"); brandModels.add("EXE"); manufacturerBrands.put("Sentra", brandModels); manufacturer = new Manufacturer(manufacturerBrands); data.put("Nissan", manufacturer); brandModels = new ArrayList(); brandModels.add("E300"); brandModels.add("E500"); manufacturerBrands = new HashMap(); manufacturerBrands.put("E-Class", brandModels); brandModels = new ArrayList(); brandModels.add("C250"); brandModels.add("C300"); manufacturerBrands.put("C-Class", brandModels); manufacturer = new Manufacturer(manufacturerBrands); data.put("Mercedes", manufacturer); } public ArrayList getBrands(String manufacturer) { ArrayList brandsList = new ArrayList(); for (Iterator iter = ((Manufacturer) data.get(manufacturer)).getBrands().keySet().iterator(); iter.hasNext();) { brandsList.add((String) iter.next()); } return brandsList; } public ArrayList getManufacturers() { ArrayList manufacturersList = new ArrayList(); for (Iterator iter = data.keySet().iterator(); iter.hasNext();) { manufacturersList.add((String) iter.next()); } return manufacturersList; } public ArrayList getModels(String manufacturer, String brand) { ArrayList modelsList = new ArrayList(); Manufacturer mfr = (Manufacturer) data.get(manufacturer); HashMap mfrBrands = (HashMap) mfr.getBrands(); for (Iterator iter = ((ArrayList) mfrBrands.get(brand)).iterator(); iter.hasNext();) { modelsList.add((String) iter.next()); } return modelsList; } }