diff --git a/plugins/scm-git-plugin/src/main/java/sonia/scm/repository/GitRepositoryHandler.java b/plugins/scm-git-plugin/src/main/java/sonia/scm/repository/GitRepositoryHandler.java index 275471e385..8a91f50b24 100644 --- a/plugins/scm-git-plugin/src/main/java/sonia/scm/repository/GitRepositoryHandler.java +++ b/plugins/scm-git-plugin/src/main/java/sonia/scm/repository/GitRepositoryHandler.java @@ -35,12 +35,14 @@ package sonia.scm.repository; //~--- non-JDK imports -------------------------------------------------------- +import com.google.inject.Inject; import com.google.inject.Singleton; import org.eclipse.jgit.storage.file.FileRepositoryBuilder; import sonia.scm.Type; import sonia.scm.plugin.ext.Extension; +import sonia.scm.store.StoreFactory; //~--- JDK imports ------------------------------------------------------------ @@ -66,6 +68,20 @@ public class GitRepositoryHandler /** Field description */ public static final Type TYPE = new Type(TYPE_NAME, TYPE_DISPLAYNAME); + //~--- constructors --------------------------------------------------------- + + /** + * Constructs ... + * + * + * @param storeFactory + */ + @Inject + public GitRepositoryHandler(StoreFactory storeFactory) + { + super(storeFactory); + } + //~--- get methods ---------------------------------------------------------- /** diff --git a/plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgRepositoryHandler.java b/plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgRepositoryHandler.java index aeed42614d..b61a435731 100644 --- a/plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgRepositoryHandler.java +++ b/plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgRepositoryHandler.java @@ -35,6 +35,7 @@ package sonia.scm.repository; //~--- non-JDK imports -------------------------------------------------------- +import com.google.inject.Inject; import com.google.inject.Singleton; import sonia.scm.Type; @@ -43,6 +44,7 @@ import sonia.scm.io.INIConfiguration; import sonia.scm.io.INIConfigurationWriter; import sonia.scm.io.INISection; import sonia.scm.plugin.ext.Extension; +import sonia.scm.store.StoreFactory; //~--- JDK imports ------------------------------------------------------------ @@ -68,6 +70,20 @@ public class HgRepositoryHandler /** Field description */ public static final Type TYPE = new Type(TYPE_NAME, TYPE_DISPLAYNAME); + //~--- constructors --------------------------------------------------------- + + /** + * Constructs ... + * + * + * @param storeFactory + */ + @Inject + public HgRepositoryHandler(StoreFactory storeFactory) + { + super(storeFactory); + } + //~--- methods -------------------------------------------------------------- /** diff --git a/plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/SvnRepositoryHandler.java b/plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/SvnRepositoryHandler.java index a113c7003a..4afbce9bac 100644 --- a/plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/SvnRepositoryHandler.java +++ b/plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/SvnRepositoryHandler.java @@ -35,6 +35,7 @@ package sonia.scm.repository; //~--- non-JDK imports -------------------------------------------------------- +import com.google.inject.Inject; import com.google.inject.Singleton; import org.tmatesoft.svn.core.SVNException; @@ -42,6 +43,7 @@ import org.tmatesoft.svn.core.io.SVNRepositoryFactory; import sonia.scm.Type; import sonia.scm.plugin.ext.Extension; +import sonia.scm.store.StoreFactory; //~--- JDK imports ------------------------------------------------------------ @@ -67,6 +69,20 @@ public class SvnRepositoryHandler /** Field description */ public static final Type TYPE = new Type(TYPE_NAME, TYPE_DISPLAYNAME); + //~--- constructors --------------------------------------------------------- + + /** + * Constructs ... + * + * + * @param storeFactory + */ + @Inject + public SvnRepositoryHandler(StoreFactory storeFactory) + { + super(storeFactory); + } + //~--- get methods ---------------------------------------------------------- /** diff --git a/scm-core/src/main/java/sonia/scm/repository/AbstractRepositoryHandler.java b/scm-core/src/main/java/sonia/scm/repository/AbstractRepositoryHandler.java index 23743fa6e4..efbef77f58 100644 --- a/scm-core/src/main/java/sonia/scm/repository/AbstractRepositoryHandler.java +++ b/scm-core/src/main/java/sonia/scm/repository/AbstractRepositoryHandler.java @@ -40,7 +40,8 @@ import org.slf4j.LoggerFactory; import sonia.scm.ConfigChangedListener; import sonia.scm.SCMContextProvider; -import sonia.scm.util.IOUtil; +import sonia.scm.store.Store; +import sonia.scm.store.StoreFactory; //~--- JDK imports ------------------------------------------------------------ @@ -50,8 +51,6 @@ import java.io.IOException; import java.util.HashSet; import java.util.Set; -import javax.xml.bind.JAXB; - /** * * @author Sebastian Sdorra @@ -66,6 +65,19 @@ public abstract class AbstractRepositoryHandler store; /** Field description */ private Set listenerSet = diff --git a/scm-core/src/main/java/sonia/scm/repository/AbstractSimpleRepositoryHandler.java b/scm-core/src/main/java/sonia/scm/repository/AbstractSimpleRepositoryHandler.java index 333e5e1111..410d16ac33 100644 --- a/scm-core/src/main/java/sonia/scm/repository/AbstractSimpleRepositoryHandler.java +++ b/scm-core/src/main/java/sonia/scm/repository/AbstractSimpleRepositoryHandler.java @@ -42,6 +42,7 @@ import sonia.scm.ConfigurationException; import sonia.scm.SCMContextProvider; import sonia.scm.io.CommandResult; import sonia.scm.io.ExtendedCommand; +import sonia.scm.store.StoreFactory; import sonia.scm.util.IOUtil; //~--- JDK imports ------------------------------------------------------------ @@ -67,6 +68,19 @@ public abstract class AbstractSimpleRepositoryHandler createManager() { Set handlerSet = new HashSet(); - - handlerSet.add(new DummyRepositoryHandler()); - StoreFactory factory = new JAXBStoreFactory(); factory.init(provider); + handlerSet.add(new DummyRepositoryHandler(factory)); return new XmlRepositoryManager(getAdminSecurityContextProvider(), factory, handlerSet);