001    package org.hackystat.projectbrowser.page.trajectory;
002    
003    import org.apache.wicket.markup.html.form.ChoiceRenderer;
004    import org.hackystat.projectbrowser.ProjectBrowserSession;
005    
006    /**
007     * The choice renderer.
008     * 
009     * @author Pavel Senin.
010     * 
011     */
012    public class TrajectoryProjectChoiceRenderer extends ChoiceRenderer {
013    
014      /** Support serialization. */
015      private static final long serialVersionUID = 1L;
016    
017      /**
018       * Return the display value that present the object.
019       * 
020       * @param object the object to display.
021       * @return the display value.
022       */
023      @Override
024      public Object getDisplayValue(Object object) {
025        int duplicateCount = 0;
026        ProjectRecord targetProject = (ProjectRecord) object;
027        for (ProjectRecord projectRecord : ProjectBrowserSession.get().getTrajectorySession()
028            .getProjectList()) {
029          if (targetProject.getProject().getName().equals(projectRecord.getProject().getName())) {
030            duplicateCount++;
031          }
032        }
033        String view;
034        if (duplicateCount > 1) {
035          view = targetProject.getProject().getName() + " - " + targetProject.getProject().getOwner();
036        }
037        else {
038          view = targetProject.getProject().getName();
039        }
040        return view;
041      }
042    }