fix potential bugs

This commit is contained in:
Sebastian Sdorra
2010-11-28 10:40:12 +01:00
parent b59345258b
commit 6074293095
10 changed files with 30 additions and 43 deletions

View File

@@ -44,9 +44,6 @@ import org.eclipse.jgit.lib.RepositoryCache;
import org.eclipse.jgit.lib.RepositoryCache.FileKey;
import org.eclipse.jgit.util.FS;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sonia.scm.repository.GitConfig;
//~--- JDK imports ------------------------------------------------------------
@@ -63,12 +60,6 @@ import javax.servlet.http.HttpServletRequest;
public class GitRepositoryResolver implements RepositoryResolver
{
/** the logger for GitRepositoryResolver */
private static final Logger logger =
LoggerFactory.getLogger(GitRepositoryResolver.class);
//~--- constructors ---------------------------------------------------------
/**
* Constructs ...
*
@@ -171,16 +162,19 @@ public class GitRepositoryResolver implements RepositoryResolver
}
catch (RuntimeException e)
{
repository.close();
throw new RepositoryNotFoundException(repositoryName, e);
}
catch (IOException e)
{
repository.close();
throw new RepositoryNotFoundException(repositoryName, e);
}
finally
{
if (repository != null)
{
repository.close();
}
}
return repository;
}

View File

@@ -41,9 +41,6 @@ import org.eclipse.jgit.lib.PersonIdent;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.revwalk.RevCommit;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sonia.scm.io.RegexResourceProcessor;
import sonia.scm.io.ResourceProcessor;
import sonia.scm.util.IOUtil;

View File

@@ -40,9 +40,7 @@ import com.google.inject.Provider;
import com.google.inject.Singleton;
import sonia.scm.repository.HgRepositoryHandler;
import sonia.scm.repository.Repository;
import sonia.scm.repository.RepositoryManager;
import sonia.scm.web.filter.PermissionFilter;
import sonia.scm.web.filter.RegexPermissionFilter;
import sonia.scm.web.security.WebSecurityContext;
@@ -66,8 +64,9 @@ public class HgPermissionFilter extends RegexPermissionFilter
* @param repositoryManager
*/
@Inject
public HgPermissionFilter(Provider<WebSecurityContext> securityContextProvider,
RepositoryManager repositoryManager)
public HgPermissionFilter(
Provider<WebSecurityContext> securityContextProvider,
RepositoryManager repositoryManager)
{
super(securityContextProvider, repositoryManager);
}

View File

@@ -35,9 +35,6 @@ package sonia.scm.web;
//~--- non-JDK imports --------------------------------------------------------
import sonia.scm.io.INIConfiguration;
import sonia.scm.io.INIConfigurationWriter;
import sonia.scm.io.INISection;
import sonia.scm.io.RegexResourceProcessor;
import sonia.scm.io.ResourceProcessor;
import sonia.scm.repository.HgConfig;
@@ -61,7 +58,6 @@ public class HgWebConfigWriter
/** Field description */
public static final String CGI_TEMPLATE = "/sonia/scm/hgweb.py";
//~--- constructors ---------------------------------------------------------
/**

View File

@@ -39,10 +39,8 @@ import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
import sonia.scm.repository.Repository;
import sonia.scm.repository.RepositoryManager;
import sonia.scm.repository.SvnRepositoryHandler;
import sonia.scm.web.filter.PermissionFilter;
import sonia.scm.web.filter.RegexPermissionFilter;
import sonia.scm.web.security.WebSecurityContext;
@@ -79,8 +77,9 @@ public class SvnPermissionFilter extends RegexPermissionFilter
* @param repositoryManager
*/
@Inject
public SvnPermissionFilter(Provider<WebSecurityContext> securityContextProvider,
RepositoryManager repositoryManager)
public SvnPermissionFilter(
Provider<WebSecurityContext> securityContextProvider,
RepositoryManager repositoryManager)
{
super(securityContextProvider, repositoryManager);
}

View File

@@ -33,10 +33,6 @@
package sonia.scm.repository;
//~--- non-JDK imports --------------------------------------------------------
import sonia.scm.util.Util;
//~--- JDK imports ------------------------------------------------------------
import java.io.Serializable;

View File

@@ -303,7 +303,7 @@ public class XmlRepositoryManager extends AbstractRepositoryManager
Repository fresh = repositoryDB.get(repository.getType(),
repository.getName());
if (repository != null)
if (fresh != null)
{
repository.copyProperties(fresh);
}

View File

@@ -29,6 +29,8 @@
*
*/
package sonia.scm.web.cgi;
//~--- non-JDK imports --------------------------------------------------------
@@ -37,6 +39,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sonia.scm.util.IOUtil;
import sonia.scm.util.Util;
//~--- JDK imports ------------------------------------------------------------
@@ -118,7 +121,7 @@ public class CGIRunner
len = 0;
}
if ((pathTranslated == null) || (pathTranslated.length() == 0))
if (Util.isEmpty(pathTranslated))
{
pathTranslated = path;
}
@@ -130,12 +133,7 @@ public class CGIRunner
environment.set("CONTENT_LENGTH", Integer.toString(len));
environment.set("CONTENT_TYPE", req.getContentType());
environment.set("GATEWAY_INTERFACE", "CGI/1.1");
if ((pathInfo != null) && (pathInfo.length() > 0))
{
environment.set("PATH_INFO", pathInfo);
}
environment.set("PATH_INFO", pathInfo);
environment.set("PATH_TRANSLATED", pathTranslated);
environment.set("QUERY_STRING", req.getQueryString());
environment.set("REMOTE_ADDR", req.getRemoteAddr());

View File

@@ -220,13 +220,13 @@ public class RepositoryResource extends AbstractResource<Repository>
String ctxPath = request.getContextPath();
url.append(ctxPath);
if (ctxPath.endsWith("/"))
{
ctxPath = ctxPath.substring(0, ctxPath.length() - 1);
}
url.append(ctxPath);
RepositoryHandler handler =
repositoryManager.getHandler(repository.getType());

View File

@@ -39,15 +39,23 @@ import sonia.scm.web.plugin.WebResource;
//~--- JDK imports ------------------------------------------------------------
import java.io.Serializable;
import java.util.Comparator;
/**
*
* @author Sebastian Sdorra
*/
public class WebResourceComparator implements Comparator<WebResource>
public class WebResourceComparator
implements Comparator<WebResource>, Serializable
{
/** Field description */
private static final long serialVersionUID = -5916499507958881372L;
//~--- methods --------------------------------------------------------------
/**
* Method description
*