Report.java


 import java.util.*; public class Report {     public Report() {     }     Hashtable offeringToName = new Hashtable();     public void populateMap() throws Exception {         Collection schedules = Schedule.all();         for (Iterator eachSchedule = schedules.iterator();             eachSchedule.hasNext();)         {             Schedule schedule = (Schedule) eachSchedule.next();             for (Iterator each = schedule.schedule.iterator();                 each.hasNext(); )             {                 Offering offering = (Offering) each.next();                 populateMapFor(schedule, offering);             }         }     }     private void populateMapFor(Schedule schedule, Offering offering) {         ArrayList list = (ArrayList) offeringToName.get(             new Integer(offering.getId()));         if (list == null) {             list = new ArrayList();             offeringToName.put(new Integer(offering.getId()), list);         }         list.add(schedule.name);     }     public void writeOffering(         StringBuffer buffer, ArrayList list, Offering offering)     {         buffer.append(offering.getCourse().getName() + " "                     + offering.getDaysTimes() + "\n");         for (Iterator iterator = list.iterator(); iterator.hasNext();)         {             String s = (String) iterator.next();             buffer.append("\t" + s + "\n");         }     }     public void write(StringBuffer buffer) throws Exception {         populateMap();         Enumeration enumeration = offeringToName.keys();         while (enumeration.hasMoreElements()) {            Integer offeringId = (Integer) enumeration.nextElement();            ArrayList list = (ArrayList) offeringToName.get(offeringId);            writeOffering(buffer, list,                Offering.find(offeringId.intValue()));         }         buffer.append("Number of scheduled offerings: ");         buffer.append(offeringToName.size());         buffer.append("\n");     } } 


Refactoring Workbook
Refactoring Workbook
ISBN: 0321109295
EAN: 2147483647
Year: 2003
Pages: 146

Similar book on Amazon

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net