/*
* Created on Apr 5, 2004
*
*/
package com.idega.block.application.business;
import java.rmi.RemoteException;
import java.sql.Date;
import javax.ejb.CreateException;
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.business.IBOServiceBean;
import com.idega.data.IDOStoreException;
/**
* ApplicationServiceBean
* @author aron
* @version 1.0
*/
public class ApplicationServiceBean extends IBOServiceBean implements ApplicationService {
public ApplicationHome getApplicationHome() throws RemoteException{
return (ApplicationHome ) getIDOHome(Application.class);
}
public ApplicantHome getApplicantHome() throws RemoteException{
return (ApplicantHome) getIDOHome(Applicant.class);
}
public ApplicationSubjectHome getSubjectHome() throws RemoteException{
return (ApplicationSubjectHome) getIDOHome(ApplicationSubject.class);
}
public ApplicationSubjectInfoHome getSubjectInfoHome() throws RemoteException{
return (ApplicationSubjectInfoHome) getIDOHome(ApplicationSubjectInfo.class);
}
public String[] getApplicationStatuses(){
String[] statuses = {Status.SUBMITTED.toString(),Status.APPROVED.toString(),Status.REJECTED.toString(),Status.SIGNED.toString(),Status.GARBAGE.toString()};
return statuses;
}
public ApplicationSubject storeApplicationSubject(Integer ID, String sName, Date starts, Date expires,String extra)
throws RemoteException {
try {
ApplicationSubject subject = getSubjectHome().create();
if (ID != null && ID.intValue() > 0) {
subject = getSubjectHome().findByPrimaryKey(ID);
}
subject.setStarts(starts);
subject.setExpires(expires);
subject.setDescription(sName);
if(extra!=null) {
subject.setExtraAttribute(extra);
}
subject.store();
return subject;
}
catch (IDOStoreException e) {
e.printStackTrace();
}
catch (CreateException e) {
e.printStackTrace();
}
catch (FinderException e) {
e.printStackTrace();
}
return null;
}
public boolean removeApplicationSubject(Integer id) throws RemoteException{
try {
getSubjectHome().findByPrimaryKey(id).remove();
return true;
}
catch (Exception ex) {
}
return false;
}
}