/*
* Created on Jul 9, 2004
*/
package is.idega.idegaweb.marathon.presentation;
import is.idega.idegaweb.marathon.business.RunBusiness;
import is.idega.idegaweb.marathon.util.IWMarathonConstants;
import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import com.idega.business.IBOLookup;
import com.idega.business.IBOLookupException;
import com.idega.idegaweb.IWResourceBundle;
import com.idega.presentation.IWContext;
import com.idega.presentation.ui.SelectDropdownDouble;
import com.idega.user.business.GroupBusiness;
import com.idega.user.data.Group;
/**
* Description: This class displays a double dropdown menu. The first menu displays <br>
* a list of year groups for a specific run (Rvk.marathon, Laugavegurinn, etc.) and the second menu displays<br>
* a list of available distances for the specific run on the year selected<br>
* Copyright: Idega Software 2004 <br>
* Company: Idega Software <br>
* @author birna
*/
public class YearDistanceDropdownDouble extends SelectDropdownDouble{
public YearDistanceDropdownDouble() {
super(IWMarathonConstants.GROUP_TYPE_RUN_YEAR,IWMarathonConstants.GROUP_TYPE_RUN_DISTANCE);
}
public void main(IWContext iwc) throws Exception {
IWResourceBundle iwrb = getResourceBundle(iwc);
RunBusiness runBiz = getRunBiz(iwc);
GroupBusiness groupBiz = getGroupBiz(iwc);
String runGroupID = iwc.getParameter(IWMarathonConstants.GROUP_TYPE_RUN);
if(runGroupID!=null && !runGroupID.equals("")) {
addEmptyElement(iwrb.getLocalizedString("year_dis_ddd.select_year","Select year..."),
iwrb.getLocalizedString("year_dis_ddd.select_distance","Select distance..."));
int runID = Integer.parseInt(runGroupID);
Group runGroup = groupBiz.getGroupByGroupID(runID);
Collection years = runBiz.getYears(runGroup);
Iterator yearIter = years.iterator();
Map dis = new LinkedHashMap();
dis.put("-1",iwrb.getLocalizedString("run_year_ddd.select_distance","Select distance..."));
/* while(yearIter.hasNext()) {
Group year = (Group) yearIter.next();
dis.putAll(runBiz.getDistancesMap(runGroup,year.getName()));
addMenuElement(year.getPrimaryKey().toString(),year.getName(),dis);
}*/
}else {
addEmptyElement(iwrb.getLocalizedString("year_dis_ddd.no_run","No run is selected..."),
iwrb.getLocalizedString("year_dis_ddd.no_run","No run is selected..."));
}
super.main(iwc);
}
/**
* @see com.idega.presentation.ui.SelectDropdownDouble#getValue(java.lang.Object)
*/
protected String getValue(IWContext iwc, Object value) {
if (value instanceof String) {
String str = (String) value;
return str;
}
else {
IWResourceBundle iwrb = iwc.getIWMainApplication().getBundle(IW_BUNDLE_IDENTIFIER).getResourceBundle(iwc);
return iwrb.getLocalizedString("run_year_ddd.select_distance","Select distance...");
}
}
/**
* @see com.idega.presentation.ui.SelectDropdownDouble#getKey(java.lang.Object)
*/
protected String getKey(IWContext iwc, Object key) {
if (key instanceof String) {
String str = (String) key;
return str;
}
else {
return (String) key;
}
}
public String getBundleIdentifier() {
return IWMarathonConstants.IW_BUNDLE_IDENTIFIER;
}
private RunBusiness getRunBiz(IWContext iwc) throws IBOLookupException {
RunBusiness business = (RunBusiness) IBOLookup.getServiceInstance(iwc,RunBusiness.class);
return business;
}
private GroupBusiness getGroupBiz(IWContext iwc) throws IBOLookupException {
GroupBusiness business = (GroupBusiness) IBOLookup.getServiceInstance(iwc,GroupBusiness.class);
return business;
}
}