fix bug in AbstractSimpleRepositoryHandler

This commit is contained in:
Sebastian Sdorra
2010-10-12 16:07:15 +02:00
parent 3ea533d29d
commit b4c78a2411

View File

@@ -13,7 +13,7 @@ import sonia.scm.ConfigurationException;
import sonia.scm.SCMContextProvider;
import sonia.scm.io.CommandResult;
import sonia.scm.io.ExtendedCommand;
import sonia.scm.util.Util;
import sonia.scm.util.IOUtil;
//~--- JDK imports ------------------------------------------------------------
@@ -28,7 +28,6 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import javax.xml.bind.JAXB;
import sonia.scm.util.IOUtil;
/**
*
@@ -195,12 +194,12 @@ public abstract class AbstractSimpleRepositoryHandler<T extends SimpleRepository
@Override
public Repository get(String id)
{
Repository repository = null;
File repositoryFile = getRepositoryFile(id);
Repository repository = null;
if (repositoryFile.exists())
{
repository = JAXB.unmarshal(repositoryFile, Repository.class);
repository = getRepositoryFromConfig(repositoryFile);
}
return repository;
@@ -229,11 +228,13 @@ public abstract class AbstractSimpleRepositoryHandler<T extends SimpleRepository
{
try
{
Repository repository = JAXB.unmarshal(repositoryFile,
Repository.class);
Repository repository = getRepositoryFromConfig(repositoryFile);
if (repository != null)
{
repositories.add(repository);
}
}
catch (Exception ex)
{
logger.log(Level.SEVERE, null, ex);
@@ -316,6 +317,33 @@ public abstract class AbstractSimpleRepositoryHandler<T extends SimpleRepository
return directory;
}
/**
* Method description
*
*
* @param repositoryFile
*
* @return
*/
protected Repository getRepositoryFromConfig(File repositoryFile)
{
Repository repository = JAXB.unmarshal(repositoryFile, Repository.class);
File directory = getDirectory(repository);
if (!directory.exists())
{
if (logger.isLoggable(Level.WARNING))
{
logger.warning(
"could not find repository ".concat(repository.getName()));
}
repository = null;
}
return repository;
}
/**
* Method description
*