From 83cdfbbac62ffdde3f47d03daa508de6826734eb Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Tue, 13 Sep 2011 15:37:11 +0200 Subject: [PATCH] use latest snapshot version for main information --- .../sonia/scm/plugin/rest/DetailResource.java | 40 ++++++++++++++++--- .../src/main/webapp/detail.html | 2 + 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/scm-plugin-backend/src/main/java/sonia/scm/plugin/rest/DetailResource.java b/scm-plugin-backend/src/main/java/sonia/scm/plugin/rest/DetailResource.java index 48874fa219..85be9c70e7 100644 --- a/scm-plugin-backend/src/main/java/sonia/scm/plugin/rest/DetailResource.java +++ b/scm-plugin-backend/src/main/java/sonia/scm/plugin/rest/DetailResource.java @@ -100,10 +100,10 @@ public class DetailResource extends ViewableResource public Viewable getPluginDetails(@PathParam("groupId") String groupId, @PathParam("artifactId") String artifactId, @DefaultValue("false") - @QueryParam("snapshot") boolean snapshot) + @QueryParam("snapshot") boolean snapshot) { List pluginVersions = getPluginVersions(groupId, - artifactId, snapshot); + artifactId); if (Util.isEmpty(pluginVersions)) { @@ -114,6 +114,12 @@ public class DetailResource extends ViewableResource pluginVersions = filterSameVersions(pluginVersions); PluginInformation latest = pluginVersions.get(0); + + if (!snapshot) + { + pluginVersions = filterSnapshots(pluginVersions); + } + Map vars = createVarMap(latest.getName()); vars.put("latest", latest); @@ -151,6 +157,30 @@ public class DetailResource extends ViewableResource return filteredPlugins; } + /** + * Method description + * + * + * @param allVersions + * + * @return + */ + private List filterSnapshots( + List allVersions) + { + List filtered = new ArrayList(); + + for (PluginInformation plugin : allVersions) + { + if (!plugin.getVersion().contains("SNAPSHOT")) + { + filtered.add(plugin); + } + } + + return filtered; + } + //~--- get methods ---------------------------------------------------------- /** @@ -159,12 +189,11 @@ public class DetailResource extends ViewableResource * * @param groupId * @param artifactId - * @param snapshot * * @return */ private List getPluginVersions(final String groupId, - final String artifactId, final boolean snapshot) + final String artifactId) { List pluginVersions = backend.getPlugins(new PluginFilter() @@ -173,8 +202,7 @@ public class DetailResource extends ViewableResource public boolean accept(PluginInformation plugin) { return groupId.equals(plugin.getGroupId()) - && artifactId.equals(plugin.getArtifactId()) - && (snapshot ||!plugin.getVersion().contains("SNAPSHOT")); + && artifactId.equals(plugin.getArtifactId()); } }); diff --git a/scm-plugin-backend/src/main/webapp/detail.html b/scm-plugin-backend/src/main/webapp/detail.html index 9a73d45370..8ca08f7821 100644 --- a/scm-plugin-backend/src/main/webapp/detail.html +++ b/scm-plugin-backend/src/main/webapp/detail.html @@ -23,6 +23,8 @@ +${latest.version} +

 

Plugin Versions