From: <jbo...@li...> - 2005-12-19 21:38:54
|
Author: wrzep Date: 2005-12-19 16:38:50 -0500 (Mon, 19 Dec 2005) New Revision: 1878 Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java Log: when plugin to determine projects order is not specified projects are sorted by name http://jira.jboss.com/jira/browse/JBLAB-415 Pawel Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java 2005-12-19 21:08:54 UTC (rev 1877) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java 2005-12-19 21:38:50 UTC (rev 1878) @@ -24,6 +24,7 @@ import java.util.ArrayList; import java.util.Arrays; +import java.util.Comparator; import java.util.Iterator; import java.util.List; import java.util.Set; @@ -33,8 +34,7 @@ import org.jboss.forge.common.projects.permissions.NullPermissionsChecker; import org.jboss.forge.common.projects.permissions.PermissionsChecker; import org.jboss.forge.status.plugins.Plugin; -import org.jboss.forge.status.plugins.ScorePlugin; -import org.jboss.logging.Logger; + import org.jboss.portal.common.context.DelegateContext; import org.w3c.dom.Node; @@ -57,8 +57,6 @@ */ private Plugin orderPlugin; - private Logger log; - /** * @param pageRoot root Node specfying Columns properties * @param plugins Plugins used by Columns @@ -67,8 +65,6 @@ public Columns(Node pageRoot, Plugins plugins, Projects projects) { this.projects = projects; - - log = Logger.getLogger(this.getClass()); // Get the columns columns = new ArrayList<Column>(); @@ -164,11 +160,11 @@ */ private void fillValues(DelegateContext context) { - Object[] projectIds = getProjectIdsSorted(); + String[] projectIds = getProjectIdsSorted(); for (int i = 0; i < projectIds.length; i++) { - String projectId = (String) projectIds[i]; + String projectId = projectIds[i]; DelegateContext projectContext = context.next("project"); @@ -181,15 +177,25 @@ /** * @return String[] with project ids sorted by project scores */ - private Object[] getProjectIdsSorted() { + private String[] getProjectIdsSorted() { Set<String> projectIdsSet = projects.getProjectIds( (PermissionsChecker) new NullPermissionsChecker(), null); - Object[] projectIdsArr = projectIdsSet.toArray(); - Arrays.sort(projectIdsArr, new ProjectByScoreComparator(orderPlugin)); + String[] projectIdsArr = new String[projectIdsSet.size()]; + projectIdsSet.toArray(projectIdsArr); + Comparator<String> projectsComparator = null; + + if (orderPlugin != null) { + projectsComparator = new ProjectsByScoreComparator(orderPlugin); + } else { + projectsComparator = new ProjectsByNameComparator(projects); + } + + Arrays.sort(projectIdsArr, projectsComparator); + return projectIdsArr; } |