package is.idega.idegaweb.marathon.presentation; import is.idega.idegaweb.marathon.business.CharityBusiness; import is.idega.idegaweb.marathon.data.Charity; import java.util.Collection; import java.util.Iterator; import com.idega.business.IBOLookup; import com.idega.business.IBOLookupException; import com.idega.business.IBORuntimeException; import com.idega.idegaweb.IWApplicationContext; import com.idega.idegaweb.IWResourceBundle; import com.idega.presentation.IWContext; import com.idega.presentation.ui.DropdownMenu; public class CharitiesForRunDropDownMenu extends DropdownMenu { private static final String IW_BUNDLE_IDENTIFIER = "is.idega.idegaweb.marathon"; private static final String PARAMETER_CHARITY_DROPDOWN = "prm_charity_dropdown"; private Integer runYearID = null; public CharitiesForRunDropDownMenu() { this(PARAMETER_CHARITY_DROPDOWN); } public CharitiesForRunDropDownMenu(String name) { this(name, null); } public CharitiesForRunDropDownMenu(String name, Integer runYearID) { super(name); this.runYearID = runYearID; } public void main(IWContext iwc) throws Exception { super.main(iwc); IWResourceBundle iwrb = this.getResourceBundle(iwc); Collection charities; if (runYearID == null) { charities = getCharityBusiness(iwc).getAllCharities(); } else { charities = getCharityBusiness(iwc).getCharitiesByRunYearID(this.runYearID); } addMenuElement("-1", iwrb.getLocalizedString("run_charity_dd.select_charity", "Select charity organization...")); if (charities != null) { Iterator iter = charities.iterator(); while (iter.hasNext()) { Charity charity = (Charity) iter.next(); addMenuElement(charity.getOrganizationalID(), charity.getName()); } } } protected CharityBusiness getCharityBusiness(IWApplicationContext iwac) { try { return (CharityBusiness) IBOLookup.getServiceInstance(iwac, CharityBusiness.class); } catch (IBOLookupException e) { throw new IBORuntimeException(e); } } public String getBundleIdentifier() { return IW_BUNDLE_IDENTIFIER; } public void setRunYearID(Integer runYearID) { this.runYearID = runYearID; } }