package is.idega.idegaweb.marathon.presentation; import is.idega.idegaweb.marathon.business.CharityBusiness; import is.idega.idegaweb.marathon.data.Charity; import is.idega.idegaweb.marathon.util.IWMarathonConstants; import java.util.Collection; import java.util.Iterator; import java.util.Vector; import com.idega.business.IBOLookup; import com.idega.business.IBOLookupException; import com.idega.idegaweb.IWResourceBundle; import com.idega.presentation.IWContext; import com.idega.presentation.PresentationObject; import com.idega.presentation.remotescripting.RemoteScriptCollection; import com.idega.presentation.remotescripting.RemoteScriptHandler; import com.idega.presentation.remotescripting.RemoteScriptingResults; public class YearMenuCharityMenuInputCollectionHandler extends PresentationObject implements RemoteScriptCollection { public String getBundleIdentifier() { return IWMarathonConstants.IW_BUNDLE_IDENTIFIER; } public RemoteScriptingResults getResults(IWContext iwc) { String sourceName = iwc.getParameter(RemoteScriptHandler.PARAMETER_SOURCE_PARAMETER_NAME); String sourceID = iwc.getParameter(sourceName); return handleCharityUpdate(iwc, sourceName, sourceID); } private RemoteScriptingResults handleCharityUpdate(IWContext iwc, String sourceName, String yearIdString) { IWResourceBundle iwrb = getResourceBundle(iwc); if (yearIdString != null) { CharityBusiness charityBiz = getCharityBiz(iwc); try { Vector ids = new Vector(); Vector names = new Vector(); Collection charities = charityBiz.getCharitiesByRunYearID(Integer.valueOf(yearIdString)); Iterator charIt = charities.iterator(); if (charIt.hasNext()) { ids.add("-1"); names.add(iwrb.getLocalizedString("run_charity_dd.select_charity", "Select charity organization...")); } while (charIt.hasNext()) { Charity charity = (Charity) charIt.next(); ids.add(charity.getOrganizationalID()); names.add(charity.getName()); } if (charities.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; } // private RunBusiness getRunBiz(IWContext iwc) { // RunBusiness business = null; // try { // business = (RunBusiness) IBOLookup.getServiceInstance(iwc, RunBusiness.class); // } // catch (IBOLookupException e) { // e.printStackTrace(); // } // return business; // } private CharityBusiness getCharityBiz(IWContext iwc) { CharityBusiness business = null; try { business = (CharityBusiness) IBOLookup.getServiceInstance(iwc, CharityBusiness.class); } catch (IBOLookupException e) { e.printStackTrace(); } return business; } }