package se.idega.idegaweb.commune.childcare.event; import java.rmi.RemoteException; import se.idega.idegaweb.commune.childcare.business.ChildCareSession; import se.idega.idegaweb.commune.childcare.presentation.ChildCareAdmin; import se.idega.idegaweb.commune.childcare.presentation.ChildCareBlock; import com.idega.business.IBOLookup; import com.idega.data.IDOLookup; import com.idega.event.IWPageEventListener; import com.idega.presentation.IWContext; import com.idega.user.data.User; import com.idega.user.data.UserHome; /** * @author laddi */ public class ChildCareEventListener implements IWPageEventListener { /** * @see com.idega.business.IWEventListener#actionPerformed(com.idega.presentation.IWContext) */ public boolean actionPerformed(IWContext iwc) { try { ChildCareSession session = getChildCareSession(iwc); if (iwc.isParameterSet(session.getParameterChildCareID())) session.setChildCareID(Integer.parseInt(iwc.getParameter(session.getParameterChildCareID()))); if (iwc.isParameterSet(session.getParameterUserID())) { session.setChildID(Integer.parseInt(iwc.getParameter(session.getParameterUserID()))); try { UserHome uHome = (UserHome) IDOLookup.getHome(User.class); User child = uHome.findByPrimaryKey(new Integer(session.getChildID())); session.setUniqueID(child.getUniqueId()); } catch (Exception e) { e.printStackTrace(); } } if (iwc.isParameterSet(session.getParameterUniqueID())) { session.setUniqueID(iwc.getParameter(session.getParameterUniqueID())); try { UserHome uHome = (UserHome) IDOLookup.getHome(User.class); User child = uHome.findUserByUniqueId(session.getUniqueID()); session.setChildID(((Integer) child.getPrimaryKey()).intValue()); } catch (Exception e) { e.printStackTrace(); } } if (iwc.isParameterSet(session.getParameterApplicationID())) session.setApplicationID(Integer.parseInt(iwc.getParameter(session.getParameterApplicationID()))); if (iwc.isParameterSet(session.getParameterFrom())) session.setFromTimestamp(iwc.getParameter(session.getParameterFrom())); if (iwc.isParameterSet(session.getParameterTo())) session.setToTimestamp(iwc.getParameter(session.getParameterTo())); if (iwc.isParameterSet(session.getParameterSortBy())) session.setSortBy(Integer.parseInt(iwc.getParameter(session.getParameterSortBy()))); if (iwc.isParameterSet(session.getParameterGroupID())) session.setGroupID(Integer.parseInt(iwc.getParameter(session.getParameterGroupID()))); if (iwc.isParameterSet(session.getParameterCheckID())) session.setCheckID(Integer.parseInt(iwc.getParameter(session.getParameterCheckID()))); if (iwc.isParameterSet(session.getParameterSeasonID())) session.setSeasonID(Integer.parseInt(iwc.getParameter(session.getParameterSeasonID()))); if (iwc.isParameterSet(session.getParameterStatus())) { session.setStatus(iwc.getParameter(session.getParameterStatus())); } if (iwc.isParameterSet(session.getParameterCaseCode())) { session.setCaseCode(iwc.getParameter(session.getParameterCaseCode())); } if (session.getSortBy() == ChildCareAdmin.SORT_ALL) { session.setSortBy(-1); session.setFromTimestamp(null); session.setToTimestamp(null); } if (session.getStatus() != null && session.getStatus().equals(ChildCareBlock.STATUS_ALL)) { session.setStatus(null); } return true; } catch (RemoteException re) { return false; } } private ChildCareSession getChildCareSession(IWContext iwc) throws RemoteException { return (ChildCareSession) IBOLookup.getSessionInstance(iwc, ChildCareSession.class); } }