/* * $Id: ClubHandler.java,v 1.4 2005/09/27 16:30:57 sigtryggur Exp $ * Created on 7.2.2005 * * Copyright (C) 2005 Idega Software hf. All Rights Reserved. * * This software is the proprietary information of Idega hf. * Use is subject to license terms. */ package is.idega.idegaweb.golf.handicap.presentation.handler; import is.idega.idegaweb.golf.access.AccessControl; import is.idega.idegaweb.golf.entity.Union; import is.idega.idegaweb.golf.entity.UnionHome; import java.util.Collection; import java.util.Collections; import java.util.Iterator; import javax.ejb.FinderException; import com.idega.business.InputHandler; import com.idega.data.IDOLookup; import com.idega.idegaweb.IWResourceBundle; import com.idega.presentation.IWContext; import com.idega.presentation.PresentationObject; import com.idega.presentation.ui.DropdownMenu; /** * Last modified: $Date: 2005/09/27 16:30:57 $ by $Author: sigtryggur $ * * @author <a href="mailto:laddi@idega.com">laddi</a> * @version $Revision: 1.4 $ */ public class ClubHandler extends DropdownMenu implements InputHandler { public void main(IWContext iwc) throws Exception { IWResourceBundle iwrb = this.getResourceBundle(iwc); UnionHome home = (UnionHome) IDOLookup.getHomeLegacy(Union.class); Union mainUnion = null; String unionID = AccessControl.getGolfUnionOfClubAdmin(iwc); if (unionID != null) { mainUnion = home.findByPrimaryKey(Integer.parseInt(unionID)); } if (mainUnion != null && (mainUnion.getUnionType().equalsIgnoreCase("golf_club") || mainUnion.getUnionType().equalsIgnoreCase("extra_club"))) { addMenuElement(mainUnion.getPrimaryKey().toString(), mainUnion.getAbbrevation()); } else { Collection unions = home.findAllUnions(); Iterator iter = unions.iterator(); while (iter.hasNext()) { Union union = (Union) iter.next(); if (union.getUnionType().equalsIgnoreCase("golf_club")) { addMenuElement(union.getPrimaryKey().toString(), union.getAbbrevation()); } } addMenuElementFirst("-1", iwrb.getLocalizedString("ClubHandler.all_clubs","All clubs")); } super.main(iwc); } /* (non-Javadoc) * @see com.idega.business.InputHandler#getHandlerObject(java.lang.String, java.lang.String, com.idega.presentation.IWContext) */ public PresentationObject getHandlerObject(String name, String value, IWContext iwc) { setName(name); if (value != null) { setSelectedElement(value); } return this; } /* (non-Javadoc) * @see com.idega.business.InputHandler#getHandlerObject(java.lang.String, java.util.Collection, com.idega.presentation.IWContext) */ public PresentationObject getHandlerObject(String name, Collection values, IWContext iwc) { String value = (String) Collections.min(values); return getHandlerObject(name, value, iwc); } /* (non-Javadoc) * @see com.idega.business.InputHandler#getResultingObject(java.lang.String[], com.idega.presentation.IWContext) */ public Object getResultingObject(String[] value, IWContext iwc) throws Exception { if (value != null && value.length > 0) { if (value[0].equals("-1")) { return null; } else { UnionHome home = (UnionHome) IDOLookup.getHomeLegacy(Union.class); Union union = home.findByPrimaryKey(new Integer(value[0].toString())); return union; } } else return null; } /* (non-Javadoc) * @see com.idega.business.InputHandler#getDisplayForResultingObject(java.lang.Object, com.idega.presentation.IWContext) */ public String getDisplayForResultingObject(Object value, IWContext iwc) { if (value != null) { if (value instanceof Union) { return ((Union) value).getName(); } else { UnionHome home = (UnionHome) IDOLookup.getHomeLegacy(Union.class); try { Union union = home.findByPrimaryKey(new Integer(value.toString())); return union.getName(); } catch (FinderException fe) { return value.toString(); } } } else return null; } /* (non-Javadoc) * @see com.idega.business.InputHandler#convertSingleResultingObjectToType(java.lang.Object, java.lang.String) */ public Object convertSingleResultingObjectToType(Object value, String className) { if (value != null && value.toString().length() > 0) { UnionHome home = (UnionHome) IDOLookup.getHomeLegacy(Union.class); try { Union union = home.findByPrimaryKey(new Integer(value.toString())); return union; } catch (FinderException fe) { return null; } } else return null; } }