package refactoring

This commit is contained in:
Sebastian Sdorra
2013-01-06 14:49:14 +01:00
parent 1813452411
commit 41ba13014a
32 changed files with 99 additions and 89 deletions

View File

@@ -47,15 +47,15 @@ import java.io.File;
public class BaseDirectory public class BaseDirectory
{ {
/** Field description */
static final String DIRECTORY_PROPERTY = "scm-backend.home";
/** Field description */ /** Field description */
private static final String DIRECTORY_DEFAULT = ".scm-backend"; private static final String DIRECTORY_DEFAULT = ".scm-backend";
/** Field description */ /** Field description */
private static final String DIRECTORY_ENVIRONMENT = "SCMBACKEND_HOME"; private static final String DIRECTORY_ENVIRONMENT = "SCMBACKEND_HOME";
/** Field description */
static final String DIRECTORY_PROPERTY = "scm-backend.home";
/** Field description */ /** Field description */
private static BaseDirectory instance; private static BaseDirectory instance;

View File

@@ -34,6 +34,7 @@ package sonia.scm.plugin;
//~--- non-JDK imports -------------------------------------------------------- //~--- non-JDK imports --------------------------------------------------------
import com.google.inject.Singleton; import com.google.inject.Singleton;
import sonia.scm.web.filter.HttpFilter; import sonia.scm.web.filter.HttpFilter;
//~--- JDK imports ------------------------------------------------------------ //~--- JDK imports ------------------------------------------------------------
@@ -53,8 +54,11 @@ import javax.servlet.http.HttpServletResponse;
public class RedirectFilter extends HttpFilter public class RedirectFilter extends HttpFilter
{ {
/** Field description */
private static final String STARTPAGE = "/page/index.html"; private static final String STARTPAGE = "/page/index.html";
//~--- methods --------------------------------------------------------------
/** /**
* Method description * Method description
* *

View File

@@ -26,6 +26,9 @@
* http://bitbucket.org/sdorra/scm-manager * http://bitbucket.org/sdorra/scm-manager
* *
*/ */
package sonia.scm.plugin; package sonia.scm.plugin;
/** /**
@@ -34,5 +37,7 @@ package sonia.scm.plugin;
*/ */
public class Roles public class Roles
{ {
/** Field description */
public static final String ADMIN = "admin"; public static final String ADMIN = "admin";
} }

View File

@@ -41,15 +41,15 @@ import com.google.inject.servlet.ServletModule;
import net.sf.ehcache.CacheManager; import net.sf.ehcache.CacheManager;
import sonia.scm.ConfigurationException; import sonia.scm.ConfigurationException;
import sonia.scm.plugin.rest.PluginResource; import sonia.scm.plugin.rest.api.PluginResource;
import sonia.scm.plugin.rest.url.BitbucketUrlBuilder;
import sonia.scm.plugin.rest.url.GithubUrlBuilder;
import sonia.scm.plugin.rest.url.UrlBuilder;
import sonia.scm.plugin.rest.url.UrlBuilderFactory;
import sonia.scm.plugin.scanner.DefaultPluginScannerFactory; import sonia.scm.plugin.scanner.DefaultPluginScannerFactory;
import sonia.scm.plugin.scanner.PluginScannerFactory; import sonia.scm.plugin.scanner.PluginScannerFactory;
import sonia.scm.plugin.scanner.PluginScannerScheduler; import sonia.scm.plugin.scanner.PluginScannerScheduler;
import sonia.scm.plugin.scanner.TimerPluginScannerScheduler; import sonia.scm.plugin.scanner.TimerPluginScannerScheduler;
import sonia.scm.plugin.url.BitbucketUrlBuilder;
import sonia.scm.plugin.url.GithubUrlBuilder;
import sonia.scm.plugin.url.UrlBuilder;
import sonia.scm.plugin.url.UrlBuilderFactory;
import sonia.scm.web.proxy.ProxyConfigurationProvider; import sonia.scm.web.proxy.ProxyConfigurationProvider;
import sonia.scm.web.proxy.ProxyServlet; import sonia.scm.web.proxy.ProxyServlet;

View File

@@ -29,13 +29,14 @@
package sonia.scm.plugin.rest; package sonia.scm.plugin.rest.admin;
//~--- non-JDK imports -------------------------------------------------------- //~--- non-JDK imports --------------------------------------------------------
import com.google.inject.Inject; import com.google.inject.Inject;
import sonia.scm.plugin.BackendConfiguration; import sonia.scm.plugin.BackendConfiguration;
import sonia.scm.plugin.rest.ViewableResource;
//~--- JDK imports ------------------------------------------------------------ //~--- JDK imports ------------------------------------------------------------

View File

@@ -31,7 +31,7 @@
package sonia.scm.plugin.rest; package sonia.scm.plugin.rest.api;
//~--- non-JDK imports -------------------------------------------------------- //~--- non-JDK imports --------------------------------------------------------
@@ -84,9 +84,10 @@ public class DefaultPluginFilter implements PluginFilter
{ {
PluginCondition condition = plugin.getCondition(); PluginCondition condition = plugin.getCondition();
return (snapshot ||!plugin.getVersion().toUpperCase().contains( return (snapshot
VERSION_SNAPSHOT)) && ((condition != null) && condition.isSupported( ||!plugin.getVersion().toUpperCase().contains(
version, os, arch) || (condition == null)); VERSION_SNAPSHOT)) && ((condition != null)
&& condition.isSupported(version, os, arch) || (condition == null));
} }
//~--- fields --------------------------------------------------------------- //~--- fields ---------------------------------------------------------------

View File

@@ -31,7 +31,7 @@
package sonia.scm.plugin.rest; package sonia.scm.plugin.rest.api;
//~--- non-JDK imports -------------------------------------------------------- //~--- non-JDK imports --------------------------------------------------------
@@ -51,6 +51,7 @@ import sonia.scm.plugin.PluginBackendListener;
import sonia.scm.plugin.PluginCenter; import sonia.scm.plugin.PluginCenter;
import sonia.scm.plugin.PluginInformation; import sonia.scm.plugin.PluginInformation;
import sonia.scm.plugin.PluginVersion; import sonia.scm.plugin.PluginVersion;
import sonia.scm.plugin.rest.PluginInformationComparator;
//~--- JDK imports ------------------------------------------------------------ //~--- JDK imports ------------------------------------------------------------
@@ -97,8 +98,7 @@ public class PluginResource implements PluginBackendListener
*/ */
@Inject @Inject
public PluginResource(PluginBackend backend, public PluginResource(PluginBackend backend,
BackendConfiguration configuration, BackendConfiguration configuration, CacheManager cacheManager)
CacheManager cacheManager)
{ {
this.backend = backend; this.backend = backend;
this.configuration = configuration; this.configuration = configuration;
@@ -143,8 +143,7 @@ public class PluginResource implements PluginBackendListener
@GET @GET
@Produces(MediaType.APPLICATION_XML) @Produces(MediaType.APPLICATION_XML)
public Response getPlugins(@PathParam("version") String version, public Response getPlugins(@PathParam("version") String version,
@QueryParam("os") String os, @QueryParam("os") String os, @QueryParam("arch") String arch,
@QueryParam("arch") String arch,
@DefaultValue("false") @DefaultValue("false")
@QueryParam("snapshot") boolean snapshot) @QueryParam("snapshot") boolean snapshot)
{ {

View File

@@ -29,13 +29,14 @@
package sonia.scm.plugin.rest; package sonia.scm.plugin.rest.error;
//~--- non-JDK imports -------------------------------------------------------- //~--- non-JDK imports --------------------------------------------------------
import com.google.inject.Inject; import com.google.inject.Inject;
import sonia.scm.plugin.BackendConfiguration; import sonia.scm.plugin.BackendConfiguration;
import sonia.scm.plugin.rest.ViewableResource;
//~--- JDK imports ------------------------------------------------------------ //~--- JDK imports ------------------------------------------------------------

View File

@@ -31,7 +31,7 @@
package sonia.scm.plugin.rest; package sonia.scm.plugin.rest.page;
//~--- non-JDK imports -------------------------------------------------------- //~--- non-JDK imports --------------------------------------------------------
@@ -48,8 +48,9 @@ import sonia.scm.plugin.PluginBackend;
import sonia.scm.plugin.PluginInformation; import sonia.scm.plugin.PluginInformation;
import sonia.scm.plugin.PluginInformationVersionComparator; import sonia.scm.plugin.PluginInformationVersionComparator;
import sonia.scm.plugin.PluginUtil; import sonia.scm.plugin.PluginUtil;
import sonia.scm.plugin.rest.url.UrlBuilder; import sonia.scm.plugin.rest.CachedViewableResource;
import sonia.scm.plugin.rest.url.UrlBuilderFactory; import sonia.scm.plugin.url.UrlBuilder;
import sonia.scm.plugin.url.UrlBuilderFactory;
import sonia.scm.util.Util; import sonia.scm.util.Util;
//~--- JDK imports ------------------------------------------------------------ //~--- JDK imports ------------------------------------------------------------
@@ -103,8 +104,8 @@ public class DetailResource extends CachedViewableResource
*/ */
@Inject @Inject
public DetailResource(ServletContext context, PluginBackend backend, public DetailResource(ServletContext context, PluginBackend backend,
BackendConfiguration configuration, BackendConfiguration configuration, UrlBuilderFactory urlFactory,
UrlBuilderFactory urlFactory, CacheManager cacheManager) CacheManager cacheManager)
{ {
super(context, backend, configuration, cacheManager, CACHE); super(context, backend, configuration, cacheManager, CACHE);
this.backend = backend; this.backend = backend;
@@ -125,8 +126,7 @@ public class DetailResource extends CachedViewableResource
*/ */
@GET @GET
public Viewable getPluginDetails(@PathParam("groupId") String groupId, public Viewable getPluginDetails(@PathParam("groupId") String groupId,
@PathParam("artifactId") String artifactId, @PathParam("artifactId") String artifactId, @DefaultValue("false")
@DefaultValue("false")
@QueryParam("snapshot") boolean snapshot) @QueryParam("snapshot") boolean snapshot)
{ {
String cacheKey = createCacheKey(groupId, artifactId, snapshot); String cacheKey = createCacheKey(groupId, artifactId, snapshot);
@@ -160,7 +160,7 @@ public class DetailResource extends CachedViewableResource
vars.put("latest", PluginUtil.prepareForView(latest)); vars.put("latest", PluginUtil.prepareForView(latest));
vars.put("versions", detailList); vars.put("versions", detailList);
viewable = new Viewable("/detail", vars); viewable = new Viewable("/page/detail", vars);
putToCache(cacheKey, viewable); putToCache(cacheKey, viewable);
} }
else if (logger.isDebugEnabled()) else if (logger.isDebugEnabled())

View File

@@ -29,13 +29,14 @@
package sonia.scm.plugin.rest; package sonia.scm.plugin.rest.page;
//~--- non-JDK imports -------------------------------------------------------- //~--- non-JDK imports --------------------------------------------------------
import com.google.inject.Inject; import com.google.inject.Inject;
import sonia.scm.plugin.BackendConfiguration; import sonia.scm.plugin.BackendConfiguration;
import sonia.scm.plugin.rest.ViewableResource;
//~--- JDK imports ------------------------------------------------------------ //~--- JDK imports ------------------------------------------------------------
@@ -60,7 +61,7 @@ public class LoginResource extends ViewableResource
{ {
/** Field description */ /** Field description */
private static final String PAGE_LOGIN = "/login"; private static final String PAGE_LOGIN = "/page/login";
//~--- constructors --------------------------------------------------------- //~--- constructors ---------------------------------------------------------

View File

@@ -31,7 +31,7 @@
package sonia.scm.plugin.rest; package sonia.scm.plugin.rest.page;
//~--- non-JDK imports -------------------------------------------------------- //~--- non-JDK imports --------------------------------------------------------
@@ -43,6 +43,8 @@ import sonia.scm.plugin.CategoryNameComaparator;
import sonia.scm.plugin.PluginBackend; import sonia.scm.plugin.PluginBackend;
import sonia.scm.plugin.PluginInformation; import sonia.scm.plugin.PluginInformation;
import sonia.scm.plugin.PluginUtil; import sonia.scm.plugin.PluginUtil;
import sonia.scm.plugin.rest.PluginInformationComparator;
import sonia.scm.plugin.rest.ViewableResource;
import sonia.scm.util.Util; import sonia.scm.util.Util;
//~--- JDK imports ------------------------------------------------------------ //~--- JDK imports ------------------------------------------------------------
@@ -106,7 +108,7 @@ public class OverviewResource extends ViewableResource
vars.put("categories", categories); vars.put("categories", categories);
return new Viewable("/index", vars); return new Viewable("/page/index", vars);
} }
/** /**

View File

@@ -31,7 +31,7 @@
package sonia.scm.plugin.rest; package sonia.scm.plugin.rest.page;
//~--- non-JDK imports -------------------------------------------------------- //~--- non-JDK imports --------------------------------------------------------

View File

@@ -31,7 +31,7 @@
package sonia.scm.plugin.rest; package sonia.scm.plugin.rest.page;
//~--- non-JDK imports -------------------------------------------------------- //~--- non-JDK imports --------------------------------------------------------
@@ -39,6 +39,7 @@ import com.google.inject.Inject;
import org.imgscalr.Scalr; import org.imgscalr.Scalr;
import sonia.scm.plugin.BaseDirectory;
import sonia.scm.plugin.PluginBackend; import sonia.scm.plugin.PluginBackend;
import sonia.scm.plugin.PluginInformation; import sonia.scm.plugin.PluginInformation;
import sonia.scm.plugin.PluginUtil; import sonia.scm.plugin.PluginUtil;
@@ -66,7 +67,6 @@ import javax.ws.rs.Produces;
import javax.ws.rs.WebApplicationException; import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Response; import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status; import javax.ws.rs.core.Response.Status;
import sonia.scm.plugin.BaseDirectory;
/** /**
* *
@@ -125,11 +125,9 @@ public class ScreenshotResource
*/ */
@GET @GET
@Produces("image/jpeg") @Produces("image/jpeg")
public Response getScreenshot( public Response getScreenshot(@PathParam("groupId") String groupId,
@PathParam("groupId") String groupId,
@PathParam("artifactId") String artifactId, @PathParam("artifactId") String artifactId,
@PathParam("number") int number, @PathParam("number") int number, @PathParam("size") String size)
@PathParam("size") String size)
throws IOException throws IOException
{ {
PluginInformation plugin = PluginUtil.getLatestPluginVersion(backend, PluginInformation plugin = PluginUtil.getLatestPluginVersion(backend,

View File

@@ -69,8 +69,7 @@ public class PluginScannerTimerTask extends TimerTask
* @param scannerFactory * @param scannerFactory
*/ */
public PluginScannerTimerTask(PluginBackend backend, public PluginScannerTimerTask(PluginBackend backend,
BackendConfiguration configuration, BackendConfiguration configuration, PluginScannerFactory scannerFactory)
PluginScannerFactory scannerFactory)
{ {
this.backend = backend; this.backend = backend;
this.configuration = configuration; this.configuration = configuration;

View File

@@ -74,8 +74,7 @@ public class TimerPluginScannerScheduler implements PluginScannerScheduler
*/ */
@Inject @Inject
public TimerPluginScannerScheduler(PluginBackend backend, public TimerPluginScannerScheduler(PluginBackend backend,
BackendConfiguration configuration, BackendConfiguration configuration, PluginScannerFactory scannerFactory)
PluginScannerFactory scannerFactory)
{ {
this.backend = backend; this.backend = backend;
this.configuration = configuration; this.configuration = configuration;

View File

@@ -31,7 +31,7 @@
package sonia.scm.plugin.rest.url; package sonia.scm.plugin.url;
//~--- non-JDK imports -------------------------------------------------------- //~--- non-JDK imports --------------------------------------------------------
@@ -92,8 +92,7 @@ public abstract class AbstractUrlBuilder implements UrlBuilder
*/ */
@Override @Override
public String createCompareUrl(PluginInformation latest, public String createCompareUrl(PluginInformation latest,
PluginInformation plugin, PluginInformation plugin, PluginInformation other)
PluginInformation other)
{ {
return createCompareUrl(latest.getUrl(), plugin.getVersion(), return createCompareUrl(latest.getUrl(), plugin.getVersion(),
other.getVersion()); other.getVersion());

View File

@@ -31,7 +31,7 @@
package sonia.scm.plugin.rest.url; package sonia.scm.plugin.url;
/** /**
* *

View File

@@ -31,7 +31,7 @@
package sonia.scm.plugin.rest.url; package sonia.scm.plugin.url;
//~--- non-JDK imports -------------------------------------------------------- //~--- non-JDK imports --------------------------------------------------------
@@ -55,8 +55,7 @@ public interface UrlBuilder
* @return * @return
*/ */
public String createCompareUrl(PluginInformation latest, public String createCompareUrl(PluginInformation latest,
PluginInformation plugin, PluginInformation plugin, PluginInformation other);
PluginInformation other);
//~--- get methods ---------------------------------------------------------- //~--- get methods ----------------------------------------------------------

View File

@@ -31,7 +31,7 @@
package sonia.scm.plugin.rest.url; package sonia.scm.plugin.url;
//~--- non-JDK imports -------------------------------------------------------- //~--- non-JDK imports --------------------------------------------------------

View File

@@ -1,4 +1,4 @@
<#include "template/header.html"> <#include "../template/header.html">
<p>${latest.description}</p> <p>${latest.description}</p>
@@ -133,4 +133,4 @@
}); });
</script> </script>
<#include "template/footer.html"> <#include "../template/footer.html">

View File

@@ -1,4 +1,4 @@
<#include "template/header.html"> <#include "../template/header.html">
<div id="categories"> <div id="categories">
<#list categories as category> <#list categories as category>
@@ -25,4 +25,4 @@
}); });
</script> </script>
<#include "template/footer.html"> <#include "../template/footer.html">

View File

@@ -1,4 +1,4 @@
<#include "template/header.html"> <#include "../template/header.html">
<form method="POST" action=""> <form method="POST" action="">
@@ -25,4 +25,4 @@
</form> </form>
<#include "template/footer.html"> <#include "../template/footer.html">

View File

@@ -35,6 +35,7 @@ package sonia.scm.plugin.rest.url;
//~--- non-JDK imports -------------------------------------------------------- //~--- non-JDK imports --------------------------------------------------------
import sonia.scm.plugin.url.BitbucketUrlBuilder;
import org.junit.Test; import org.junit.Test;
import static org.junit.Assert.*; import static org.junit.Assert.*;

View File

@@ -35,6 +35,7 @@ package sonia.scm.plugin.rest.url;
//~--- non-JDK imports -------------------------------------------------------- //~--- non-JDK imports --------------------------------------------------------
import sonia.scm.plugin.url.GithubUrlBuilder;
import org.junit.Test; import org.junit.Test;
import static org.junit.Assert.*; import static org.junit.Assert.*;