Use better names

The name 'workdir' is now only used for a concrete directory, where a
clone can be created in. The new name 'working copy' is used for a
concrete instance of such a directory, where a clone has been created in
for a repository stored in SCM-Manager. Such a working copy can be
cached and reused for further changes.
This commit is contained in:
René Pfeuffer
2020-05-03 15:41:03 +02:00
parent 5f96244b9b
commit 8bd17a03d7
43 changed files with 280 additions and 283 deletions

View File

@@ -77,7 +77,7 @@ public class ApplicationModuleProvider implements ModuleProvider {
}
moduleList.add(new MapperModule());
moduleList.add(new ExecutorModule());
moduleList.add(new WorkdirModule(pluginLoader));
moduleList.add(new WorkingCopyPoolModule(pluginLoader));
return moduleList;
}

View File

@@ -26,25 +26,25 @@ package sonia.scm.lifecycle.modules;
import com.google.inject.AbstractModule;
import sonia.scm.plugin.PluginLoader;
import sonia.scm.repository.util.CacheSupportingWorkdirProvider;
import sonia.scm.repository.util.WorkingCopyPool;
public class WorkdirModule extends AbstractModule {
public static final String DEFAULT_WORKDIR_CACHE_STRATEGY = "sonia.scm.repository.util.NoneCachingWorkdirProvider";
public static final String WORKDIR_CACHE_STRATEGY_PROPERTY = "scm.workdirCacheStrategy";
public class WorkingCopyPoolModule extends AbstractModule {
public static final String DEFAULT_WORKING_COPY_POOL_STRATEGY = "sonia.scm.repository.util.NoneCachingWorkingCopyPool";
public static final String WORKING_COPY_POOL_STRATEGY_PROPERTY = "scm.workingCopyPoolStrategy";
private final PluginLoader pluginLoader;
public WorkdirModule(PluginLoader pluginLoader) {
public WorkingCopyPoolModule(PluginLoader pluginLoader) {
this.pluginLoader = pluginLoader;
}
@Override
protected void configure() {
String workingCopyPoolStrategy = System.getProperty(WORKING_COPY_POOL_STRATEGY_PROPERTY, DEFAULT_WORKING_COPY_POOL_STRATEGY);
try {
String workdirCacheStrategy = System.getProperty(WORKDIR_CACHE_STRATEGY_PROPERTY, DEFAULT_WORKDIR_CACHE_STRATEGY);
Class<? extends CacheSupportingWorkdirProvider> strategyClass = (Class<? extends CacheSupportingWorkdirProvider>) pluginLoader.getUberClassLoader().loadClass(workdirCacheStrategy);
bind(CacheSupportingWorkdirProvider.class).to(strategyClass);
Class<? extends WorkingCopyPool> strategyClass = (Class<? extends WorkingCopyPool>) pluginLoader.getUberClassLoader().loadClass(workingCopyPoolStrategy);
bind(WorkingCopyPool.class).to(strategyClass);
} catch (Exception e) {
throw new RuntimeException(e);
throw new RuntimeException("could not instantiate class for working copy pool: " + workingCopyPoolStrategy, e);
}
}
}