/* * $Id: ApplicationFinder.java,v 1.22.2.2 2007/01/12 19:32:37 idegaweb Exp $ * * Copyright (C) 2001 Idega hf. All Rights Reserved. * * This software is the proprietary information of Idega hf. * Use is subject to license terms. * */ package com.idega.block.application.business; import java.util.Collection; import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; import javax.ejb.FinderException; import com.idega.block.application.data.Applicant; import com.idega.block.application.data.ApplicantHome; import com.idega.block.application.data.Application; import com.idega.block.application.data.ApplicationHome; import com.idega.block.application.data.ApplicationSubject; import com.idega.block.application.data.ApplicationSubjectHome; import com.idega.block.application.data.ApplicationSubjectInfo; import com.idega.block.application.data.ApplicationSubjectInfoHome; import com.idega.block.application.data.Status; import com.idega.data.IDOLookup; import com.idega.data.IDOLookupException; /** * * @author <a href="mailto:palli@idega.is">Pall Helgason</a> * @version 1.0 */ /** @deprecated use service beans instead*/ public class ApplicationFinder { public static Collection listOfNewApplicationInSubject(int subjectId){ try { ApplicationHome aHome = (ApplicationHome) IDOLookup.getHome(Application.class); return aHome.findBySubjectAndStatus(new Integer(subjectId),Status.SUBMITTED.toString()); } catch(Exception e){ return(null); } } public static Collection listOfApplicationInSubject(int subjectId,String status){ try { ApplicationHome aHome = (ApplicationHome) IDOLookup.getHome(Application.class); if (subjectId != -99) { return aHome.findBySubjectAndStatus(new Integer(subjectId),status); } else { return aHome.findByStatus(status); } } catch(Exception e){ return(null); } } public static Collection listOfNewApplications(){ try { ApplicationHome aHome = (ApplicationHome) IDOLookup.getHome(Application.class); return aHome.findByStatus(Status.SUBMITTED.toString()); } catch(Exception e){ return(null); } } public static Collection listOfNewApplicants(){ return listOfApplicants(null,Status.SUBMITTED.toString()); } public static Collection listOfNewApplicantsOrdered(String order){ return listOfApplicants(null,Status.SUBMITTED.toString()); } public static Collection listOfApplicantsWithStatus(String status){ return listOfApplicants(null,status); } public static Collection listOfApplicants(String order,String status){ try { ApplicantHome aHome = (ApplicantHome) IDOLookup.getHome(Applicant.class); aHome.findByApplicationStatusOrderedBy(status,order); } catch (IDOLookupException e) { e.printStackTrace(); } catch (FinderException e) { e.printStackTrace(); } return null; } /*private static Collection listOfApplicationHolders(Collection lApplications,Collection lApplicants){ Vector V = null; if(lApplicants != null){ int len = lApplicants.size(); Hashtable H = new Hashtable(len); for (Iterator iter = lApplicants.iterator(); iter.hasNext();) { Applicant applicant = (Applicant) iter.next(); H.put(new Integer(applicant.getPrimaryKey().toString()),applicant); } if(lApplications != null){ Application application; Applicant applicant; ApplicationHolder AH; V = new Vector(); for (Iterator iter = lApplications.iterator(); iter.hasNext();) { application = (Application)iter.next(); Integer id = new Integer(application.getApplicantId()); if(H.containsKey(id)){ applicant = (Applicant) H.get(id); AH = new ApplicationHolder(application,applicant); V.addElement(AH); } } } } return V; }*/ private static Collection listOfHolders(Collection lApplications,Collection lApplicants){ Vector V = null; if(lApplications != null){ int len = lApplications.size(); //System.err.println("applications length :"+len); Hashtable H = new Hashtable(len); for (Iterator iter = lApplications.iterator(); iter.hasNext();) { Application application = (Application) iter.next(); H.put(new Integer(application.getApplicantId()),application); } if(lApplicants != null){ //System.err.println("applicant length :"+iLen); Application application; Applicant applicant; ApplicationHolder AH; V = new Vector(); for (Iterator iter = lApplicants.iterator(); iter.hasNext();) { applicant = (Applicant) iter.next(); Integer id = new Integer(applicant.getPrimaryKey().toString()); if(H.containsKey(id)){ application = (Application) H.get(id); AH = new ApplicationHolder(application,applicant); V.addElement(AH); } } } } return V; } public static Collection listOfApplicationHoldersInSubject(int id,String status,String order){ Collection A = listOfApplicants(order,status); Collection L = listOfApplicationInSubject(id,status); Collection B = listOfHolders(L,A); return B; } public static Collection listOfSubject() { try { ApplicationSubjectHome aHome = (ApplicationSubjectHome) IDOLookup.getHome(ApplicationSubject.class); return aHome.findAll(); } catch(Exception e) { e.printStackTrace(); return(null); } } public static Collection listOfSubjectInfo(){ try { ApplicationSubjectInfoHome aHome = (ApplicationSubjectInfoHome) IDOLookup.getHome(ApplicationSubjectInfo.class); return aHome.findAll(); } catch (Exception ex) { ex.printStackTrace(); } return null; } public Collection lookupSSN(String ssn){ try { ApplicantHome aHome = (ApplicantHome)IDOLookup.getHome(Applicant.class); return aHome.findBySSN(ssn); } catch (Exception ex) { ex.printStackTrace(); } return null; } }