001    package org.hackystat.projectbrowser;
002    
003    import org.apache.wicket.markup.html.form.ChoiceRenderer;
004    import org.hackystat.sensorbase.resource.projects.jaxb.Project;
005    
006    /**
007     * Choice Renderer for Project choice list.
008     * @author Shaoxuan Zhang
009     *
010     */
011    public class ProjectChoiceRenderer extends ChoiceRenderer {
012      /** Support serialization. */
013      private static final long serialVersionUID = 1L;
014      /** 
015       * return the display value that present the object. 
016       * @param object the bject to display.
017       * @return the display value.
018       */
019      @Override
020      public Object getDisplayValue(Object object) {
021        int duplicateCount = 0;
022        Project targetProject = (Project) object;
023        for (Project project : ProjectBrowserSession.get().getProjectList()) {
024          if (targetProject.getName().equals(project.getName())) {
025            duplicateCount++;
026          }
027        }
028        String view;
029        if (duplicateCount > 1) {
030          view = targetProject.getName() + " - " + targetProject.getOwner();
031        }
032        else {
033          view = targetProject.getName();
034        }
035        return view;
036      }
037      
038    }