/*
* $Id: SchoolGroupSelectorCollectionHandler.java,v 1.1 2004/11/26 09:07:12 aron
* Exp $ Created on 25.11.2004
*
* Copyright (C) 2004 Idega Software hf. All Rights Reserved.
*
* This software is the proprietary information of Idega hf. Use is subject to
* license terms.
*/
package com.idega.block.school.presentation;
import java.util.Collection;
import java.util.Iterator;
import java.util.Vector;
import com.idega.block.school.data.SchoolYear;
import com.idega.block.school.data.SchoolYearHome;
import com.idega.data.IDOLookup;
import com.idega.idegaweb.IWResourceBundle;
import com.idega.presentation.IWContext;
import com.idega.presentation.remotescripting.RemoteScriptCollection;
import com.idega.presentation.remotescripting.RemoteScriptHandler;
import com.idega.presentation.remotescripting.RemoteScriptingResults;
/**
*
* Last modified: $Date: 2005/01/07 10:05:30 $ by $Author: laddi $
*
* @author <a href="mailto:aron@idega.com">aron </a>
* @version $Revision: 1.2 $
*/
public class SchoolYearSelectorCollectionHandler implements RemoteScriptCollection {
/*
* (non-Javadoc)
*
* @see com.idega.presentation.remotescripting.RemoteScriptCollection#getResults(com.idega.presentation.IWContext)
*/
public RemoteScriptingResults getResults(IWContext iwc) {
IWResourceBundle iwrb = iwc.getIWMainApplication().getBundle("com.idega.block.school").getResourceBundle(iwc.getCurrentLocale());
String sourceName = iwc.getParameter(RemoteScriptHandler.PARAMETER_SOURCE_PARAMETER_NAME);
String sourceID = iwc.getParameter(sourceName);
return handleYearUpdate(sourceName, sourceID, iwrb);
}
private RemoteScriptingResults handleYearUpdate(String sourceName, String typeID, IWResourceBundle iwrb) {
if (typeID != null) {
try {
SchoolYearHome schoolYearHome = (SchoolYearHome) IDOLookup.getHome(SchoolYear.class);
Collection schools = schoolYearHome.findAllSchoolYearBySchoolType(Integer.parseInt(typeID));
Vector ids = new Vector();
Vector names = new Vector();
Iterator iter = schools.iterator();
if (iter.hasNext()) {
ids.add("-1");
names.add(iwrb.getLocalizedString("select_year", "Select year"));
}
while (iter.hasNext()) {
SchoolYear s = (SchoolYear) iter.next();
ids.add(s.getPrimaryKey());
names.add(s.getName());
}
if (schools.isEmpty()) {
ids.add("-1");
names.add(iwrb.getLocalizedString("unavailable", "Unavailable"));
}
RemoteScriptingResults rsr = new RemoteScriptingResults(RemoteScriptHandler.getLayerName(sourceName, "id"), ids);
rsr.addLayer(RemoteScriptHandler.getLayerName(sourceName, "name"), names);
return rsr;
}
catch (Exception e) {
e.printStackTrace();
}
}
return null;
}
}