/*
* Created on 6.5.2004
*/
package se.idega.idegaweb.commune.school.music.event;
import java.rmi.RemoteException;
import se.idega.idegaweb.commune.school.music.business.MusicSchoolSession;
import com.idega.business.IBOLookup;
import com.idega.business.IBOLookupException;
import com.idega.business.IBORuntimeException;
import com.idega.event.IWPageEventListener;
import com.idega.idegaweb.IWException;
import com.idega.idegaweb.IWUserContext;
import com.idega.presentation.IWContext;
/**
* @author laddi
*/
public class MusicSchoolEventListener implements IWPageEventListener {
/* (non-Javadoc)
* @see com.idega.event.IWPageEventListener#actionPerformed(com.idega.presentation.IWContext)
*/
public boolean actionPerformed(IWContext iwc) throws IWException {
try {
MusicSchoolSession session = getSession(iwc);
if (iwc.isParameterSet(session.getParameterNameChildID())) {
session.setChild(iwc.getParameter(session.getParameterNameChildID()));
}
if (iwc.isParameterSet(session.getParameterNameProviderID())) {
session.setProvider(iwc.getParameter(session.getParameterNameProviderID()));
}
if (iwc.isParameterSet(session.getParameterNameInstrumentID())) {
session.setInstrument(iwc.getParameter(session.getParameterNameInstrumentID()));
}
else if (iwc.isParameterSetAsEmpty(session.getParameterNameInstrumentID())) {
session.setInstrument(null);
}
if (iwc.isParameterSet(session.getParameterNameDepartmentID())) {
session.setDepartment(iwc.getParameter(session.getParameterNameDepartmentID()));
}
else if (iwc.isParameterSetAsEmpty(session.getParameterNameDepartmentID())) {
session.setDepartment(null);
}
if (iwc.isParameterSet(session.getParameterNameSeasonID())) {
session.setSeason(iwc.getParameter(session.getParameterNameSeasonID()));
}
else if (iwc.isParameterSetAsEmpty(session.getParameterNameSeasonID())) {
session.setSeason(null);
}
if (iwc.isParameterSet(session.getParameterNameGroupID())) {
session.setGroup(iwc.getParameter(session.getParameterNameGroupID()));
}
else if (iwc.isParameterSetAsEmpty(session.getParameterNameGroupID())) {
session.setGroup(null);
}
if (iwc.isParameterSet(session.getParameterNameStudentID())) {
session.setStudent(iwc.getParameter(session.getParameterNameStudentID()));
}
else if (iwc.isParameterSetAsEmpty(session.getParameterNameStudentID())) {
session.setStudent(null);
}
if (iwc.isParameterSet(session.getParameterNameApplicationID())) {
session.setApplication(iwc.getParameter(session.getParameterNameApplicationID()));
}
else if (iwc.isParameterSetAsEmpty(session.getParameterNameApplicationID())) {
session.setApplication(null);
}
return true;
}
catch (RemoteException re){
re.printStackTrace();
return false;
}
}
private MusicSchoolSession getSession(IWUserContext iwuc) {
try {
return (MusicSchoolSession) IBOLookup.getSessionInstance(iwuc, MusicSchoolSession.class);
}
catch (IBOLookupException ile) {
throw new IBORuntimeException(ile);
}
}
}