package com.idega.block.building.presentation; import java.rmi.RemoteException; import java.util.Collection; import java.util.Iterator; import javax.ejb.FinderException; import com.idega.block.building.business.BuildingService; import com.idega.block.building.data.Apartment; import com.idega.block.building.data.Building; import com.idega.block.building.data.Complex; import com.idega.block.building.data.Floor; import com.idega.presentation.IWContext; import com.idega.presentation.PresentationObject; import com.idega.presentation.Table; import com.idega.presentation.text.Link; import com.idega.presentation.text.Text; /** * Title: Description: Copyright: Copyright (c) 2001 Company: idega multimedia * * @author <a href="mailto:aron@idega.is">aron@idega.is</a> * @version 1.0 */ public class ApartmentChooser extends BuildingEditor{ private BuildingService service =null; public void main(IWContext iwc) { try{ this.service =getBuildingService(iwc); String apartment = iwc.getParameter("dr_id"); if ( apartment != null ) { iwc.setSessionAttribute("dr_id",iwc.getParameter("dr_id")); this.getParentPage().setParentToReload(); this.getParentPage().close(); } else { this.getParentPage().setTitle("Appartment Chooser"); this.getParentPage().setAllMargins(0); add(getApartments()); } } catch(Exception e){ e.printStackTrace(System.err); } } private PresentationObject getApartments()throws FinderException,RemoteException{ int border = 0; int padding = 6; int spacing = 1; //Complex[] C = (Complex[])(((com.idega.block.building.data.ComplexHome)com.idega.data.IDOLookup.getHomeLegacy(Complex.class)).createLegacy()).findAll(); Collection complexes = this.service.getComplexHome().findAll(); //int clen = C.length; int b = 1, f = 1; Table T = new Table(); T.setRowVerticalAlignment(1,"top"); T.setCellpadding(padding); T.setCellspacing(spacing); T.setVerticalZebraColored("#942829","#21304a"); T.setBorder(border); int i =1; for (Iterator iter = complexes.iterator(); iter.hasNext();) { Complex complex = (Complex) iter.next(); T.add(getHeaderText( complex.getName()),i,1); Collection buildings =this.service.getBuildingHome().findByComplex((Integer)complex.getPrimaryKey()); //Building[] B = (Building[])(((com.idega.block.building.data.BuildingHome)com.idega.data.IDOLookup.getHomeLegacy(Building.class)).createLegacy()).findAllByColumnOrdered(com.idega.block.building.data.BuildingBMPBean.getComplexIdColumnName(),String.valueOf(C[i].getID()),com.idega.block.building.data.BuildingBMPBean.getNameColumnName()); //int blen = B.length; Table BuildingTable = new Table(); BuildingTable.setCellpadding(padding); BuildingTable.setCellspacing(spacing); BuildingTable.setBorder(border); T.add(BuildingTable,i++,2); b = 1; //for (int j = 0; j < blen; j++) { for (Iterator iter2 = buildings.iterator(); iter2.hasNext();) { Building building = (Building) iter2.next(); BuildingTable.add(getHeaderText( building.getName()),1,b++); Collection floors = this.service.getFloorHome().findByBuilding((Integer)building.getPrimaryKey()); //Floor[] F = (Floor[])(((com.idega.block.building.data.FloorHome)com.idega.data.IDOLookup.getHomeLegacy(Floor.class)).createLegacy()).findAllByColumnOrdered(com.idega.block.building.data.FloorBMPBean.getBuildingIdColumnName(),String.valueOf(B[j].getID()),com.idega.block.building.data.FloorBMPBean.getNameColumnName()); // int flen = F.length; Table FloorTable = new Table(); FloorTable.setCellpadding(padding); FloorTable.setCellspacing(spacing); FloorTable.setBorder(border); BuildingTable.add(FloorTable,1,b++); f = 1; for (Iterator iter3 = floors.iterator(); iter3.hasNext();) { Floor floor = (Floor) iter3.next(); FloorTable.add(getHeaderText(floor.getName()),1,f++); //Apartment[] A = (Apartment[])(((com.idega.block.building.data.ApartmentHome)com.idega.data.IDOLookup.getHomeLegacy(Apartment.class)).createLegacy()).findAllByColumnOrdered(com.idega.block.building.data.ApartmentBMPBean.getFloorIdColumnName(),String.valueOf(F[k].getID()),com.idega.block.building.data.ApartmentBMPBean.getNameColumnName()); Collection apartments =this.service.getApartmentHome().findByFloor((Integer)floor.getPrimaryKey()); //int alen = A.length; // if(alen > 0){ if(apartments!=null &&!apartments.isEmpty()){ Table ApartmentTable = new Table(); ApartmentTable.setCellpadding(padding); ApartmentTable.setBorder(border); ApartmentTable.setCellspacing(spacing); FloorTable.add(ApartmentTable,1,f++); // for (int l = 0; l < alen; l++) { int l = 1; for (Iterator iter4 = apartments.iterator(); iter4.hasNext();) { Apartment apartment = (Apartment) iter4.next(); ApartmentTable.add(getApLink(apartment.getPrimaryKey().toString(),apartment.getName()),1,l++); } } } } } T.setRowVerticalAlignment(2,"top"); T.setVerticalZebraColored("#942829","#21304a"); return T; } private Text getHeaderText(String s){ Text T = new Text(s); T.setBold(); T.setFontColor("#FFFFFF"); return T; } private Link getATLink(int id,String name){ Link L = new Link(name); L.setFontColor("#FFFFFF"); L.addParameter("dr_id",id); //L.addParameter(sAction,TYPE); //L.addParameter("bm_choice",TYPE); return L; } private Link getApLink(String id,String name){ Link L = new Link(name); L.setFontColor("#FFFFFF"); L.addParameter("dr_id",id); //L.addParameter(sAction,APARTMENT); //L.addParameter("bm_choice",APARTMENT); return L; } }// class AppartmentChooser