sort repositories

This commit is contained in:
Sebastian Sdorra
2012-05-29 09:20:27 +02:00
parent 37b1cd6b88
commit 5b6eae8da4

View File

@@ -37,6 +37,7 @@ import com.google.common.base.Function;
import com.google.common.base.Predicate; import com.google.common.base.Predicate;
import com.google.common.collect.Collections2; import com.google.common.collect.Collections2;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.google.common.collect.Ordering;
import com.google.inject.Inject; import com.google.inject.Inject;
import sonia.scm.config.ScmConfiguration; import sonia.scm.config.ScmConfiguration;
@@ -52,6 +53,8 @@ import java.io.IOException;
import java.io.StringWriter; import java.io.StringWriter;
import java.util.Collection; import java.util.Collection;
import java.util.Comparator;
import java.util.List;
import java.util.Map; import java.util.Map;
import javax.ws.rs.GET; import javax.ws.rs.GET;
@@ -112,12 +115,18 @@ public class RepositoryRootResource
UrlProvider uiUrlProvider = UrlProvider uiUrlProvider =
UrlProviderFactory.createUrlProvider(configuration.getBaseUrl(), UrlProviderFactory.createUrlProvider(configuration.getBaseUrl(),
UrlProviderFactory.TYPE_WUI); UrlProviderFactory.TYPE_WUI);
Collection<RepositoryTemplateElement> repositories = //J-
Collection<RepositoryTemplateElement> unsortedRepositories =
Collections2.transform( Collections2.transform(
Collections2.filter( Collections2.filter(
repositoryManager.getAll(), repositoryManager.getAll(), new TypePredicate(type))
new TypePredicate(type)), new RepositoryTransformFunction( , new RepositoryTransformFunction(uiUrlProvider)
uiUrlProvider)); );
List<RepositoryTemplateElement> repositories = Ordering.from(
new RepositoryTemplateElementComparator()
).sortedCopy(unsortedRepositories);
//J+
Map<String, Object> environment = Maps.newHashMap(); Map<String, Object> environment = Maps.newHashMap();
environment.put("repositories", repositories); environment.put("repositories", repositories);
@@ -236,6 +245,35 @@ public class RepositoryRootResource
} }
/**
* Class description
*
*
* @version Enter version here..., 12/05/29
* @author Enter your name here...
*/
private static class RepositoryTemplateElementComparator
implements Comparator<RepositoryTemplateElement>
{
/**
* Method description
*
*
* @param left
* @param right
*
* @return
*/
@Override
public int compare(RepositoryTemplateElement left,
RepositoryTemplateElement right)
{
return left.getName().compareTo(right.getName());
}
}
/** /**
* Class description * Class description
* *