package is.idega.idegaweb.campus.block.mailinglist.business; import is.idega.idegaweb.campus.block.allocation.data.Contract; import is.idega.idegaweb.campus.block.allocation.data.ContractHome; import is.idega.idegaweb.campus.block.application.business.CampusApplicationFinder; import is.idega.idegaweb.campus.block.application.business.CampusApplicationHolder; import is.idega.idegaweb.campus.block.application.data.CampusApplication; import is.idega.idegaweb.campus.block.application.data.CampusApplicationHome; import java.util.Collection; import java.util.Vector; import javax.ejb.EJBException; import javax.ejb.FinderException; import com.idega.block.application.data.Applicant; import com.idega.block.application.data.Application; import com.idega.block.building.business.ApartmentHolder; import com.idega.block.building.data.ApartmentView; import com.idega.block.building.data.ApartmentViewHome; import com.idega.data.IDOLookup; import com.idega.data.IDOLookupException; import com.idega.user.data.User; import com.idega.user.data.UserHome; /** * Title: Description: Copyright: Copyright (c) 2001 Company: * * @author <br> * <a href="mailto:aron@idega.is">Aron Birkir</a><br> * @version 1.0 */ public class EntityHolder { User eUser; //int applicantID = -1; //int applicationID = -1; Applicant eApplicant; Application eApplication; CampusApplication eCampusApplication; ApartmentHolder apartmentHolder; Contract eContract; Collection emails; CampusApplicationHolder holder; String cypher; public EntityHolder(Contract eContract) { this.eContract = eContract; //applicantID = eContract.getApplicantId().intValue(); if (eContract.getApplication() != null) { eApplication = eContract.getApplication(); try { CampusApplicationHome caHome = (CampusApplicationHome) IDOLookup .getHome(CampusApplication.class); this.eCampusApplication = caHome .findByApplicationId(((Integer) eApplication .getPrimaryKey()).intValue()); } catch (IDOLookupException e) { e.printStackTrace(); } catch (EJBException e) { e.printStackTrace(); } catch (FinderException e) { e.printStackTrace(); } } else { eApplicant = eContract.getApplicant(); } init(); } public EntityHolder(int iContractId) { try { ContractHome cHome = (ContractHome) IDOLookup .getHome(Contract.class); eContract = cHome.findByPrimaryKey(new Integer(iContractId)); if (eContract.getApplication() != null) { eApplication = eContract.getApplication(); try { CampusApplicationHome caHome = (CampusApplicationHome) IDOLookup .getHome(CampusApplication.class); this.eCampusApplication = caHome .findByApplicationId(((Integer) eApplication .getPrimaryKey()).intValue()); } catch (IDOLookupException e) { e.printStackTrace(); } catch (EJBException e) { e.printStackTrace(); } catch (FinderException e) { e.printStackTrace(); } } else { eApplicant = eContract.getApplicant(); } init(); } catch (Exception ex) { ex.printStackTrace(); } } public EntityHolder(Application eApplication) { this.eApplication = eApplication; init(); } public EntityHolder(Applicant eApplicant, Application app, CampusApplication camApp, String cypher) { //this.applicantID = ((Integer) eApplicant.getPrimaryKey()).intValue(); this.eApplicant = eApplicant; this.eApplication = app; this.eCampusApplication = camApp; this.cypher = cypher; init(); } private void init() { try { if (eApplication != null) { holder = CampusApplicationFinder.getApplicationInfo(eApplication); } else { holder = CampusApplicationFinder.getApplicantInfo(eApplicant); } if (eApplicant == null) { eApplicant = holder.getApplicant(); } if (eApplication == null) { eApplication = holder.getApplication(); } if (eCampusApplication == null) { eCampusApplication = holder.getCampusApplication(); } if (eContract != null) { eUser = ((UserHome) com.idega.data.IDOLookup .getHome(User.class)).findByPrimaryKey(eContract .getUserId()); if (eUser != null) apartmentHolder = new ApartmentHolder( ((ApartmentViewHome) IDOLookup .getHome(ApartmentView.class)) .findByPrimaryKey(eContract .getApartmentId())); } if (emails == null && eCampusApplication != null) { emails = new Vector(); emails.add(eCampusApplication.getEmail()); } } catch (Exception ex) { ex.printStackTrace(); } } public User getUser() { return this.eUser; } public Applicant getApplicant() { return this.eApplicant; } public Contract getContract() { return this.eContract; } public Collection getEmails() { return this.emails; } public ApartmentHolder getApartmentHolder() { return apartmentHolder; } public Application getApplication() { return eApplication; } public CampusApplication getCampusApplication() { return eCampusApplication; } public CampusApplicationHolder getApplicationHolder() { return holder; } }