improve handler initialisation

This commit is contained in:
Sebastian Sdorra
2010-11-18 20:59:45 +01:00
parent 44bfb83c62
commit 62bb5a7630
4 changed files with 70 additions and 9 deletions

View File

@@ -115,8 +115,9 @@ public abstract class AbstractRepositoryHandler<C extends BasicRepositoryConfig>
{
String name = getType().getName();
baseDirectory = context.getBaseDirectory();
configFile =
new File(context.getBaseDirectory(),
new File(baseDirectory,
"config".concat(File.separator).concat(name).concat(".xml"));
loadConfig();
}
@@ -260,6 +261,9 @@ public abstract class AbstractRepositoryHandler<C extends BasicRepositoryConfig>
//~--- fields ---------------------------------------------------------------
/** Field description */
protected File baseDirectory;
/** Field description */
protected C config;

View File

@@ -68,6 +68,9 @@ public abstract class AbstractSimpleRepositoryHandler<C extends SimpleRepository
extends AbstractRepositoryHandler<C>
{
/** Field description */
public static final String DIRECTORY_REPOSITORY = "repositories";
/** Field description */
private static final Logger logger =
LoggerFactory.getLogger(AbstractSimpleRepositoryHandler.class);
@@ -142,6 +145,37 @@ public abstract class AbstractSimpleRepositoryHandler<C extends SimpleRepository
createConfigDirectory(context);
}
/**
* Method description
*
*/
@Override
public void loadConfig()
{
super.loadConfig();
if (config == null)
{
config = createInitialConfig();
if (config != null)
{
File repositoryDirectory = config.getRepositoryDirectory();
if (repositoryDirectory == null)
{
repositoryDirectory = new File(
baseDirectory,
DIRECTORY_REPOSITORY.concat(File.separator).concat(
getType().getName()));
config.setRepositoryDirectory(repositoryDirectory);
}
IOUtil.mkdirs(repositoryDirectory);
}
}
}
/**
* Method description
*
@@ -301,8 +335,6 @@ public abstract class AbstractSimpleRepositoryHandler<C extends SimpleRepository
*/
protected void createConfigDirectory(SCMContextProvider context)
{
File baseDirectory = context.getBaseDirectory();
configDirectory =
new File(baseDirectory,
"config".concat(File.separator).concat(getType().getName()));
@@ -313,6 +345,17 @@ public abstract class AbstractSimpleRepositoryHandler<C extends SimpleRepository
}
}
/**
* Method description
*
*
* @return
*/
protected C createInitialConfig()
{
return null;
}
/**
* Method description
*