From 61c6f2d9bb26c1b11726dd20651daa8985ecd540 Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Wed, 8 Sep 2010 16:06:25 +0200 Subject: [PATCH] improve SCMContextProvider --- .../java/sonia/scm/BasicContextProvider.java | 22 +++++++++++++++++++ .../src/main/java/sonia/scm/SCMContext.java | 2 ++ .../java/sonia/scm/SCMContextProvider.java | 11 +++++++++- 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/scm-core/src/main/java/sonia/scm/BasicContextProvider.java b/scm-core/src/main/java/sonia/scm/BasicContextProvider.java index 2d59739cc0..9684e1b8e6 100644 --- a/scm-core/src/main/java/sonia/scm/BasicContextProvider.java +++ b/scm-core/src/main/java/sonia/scm/BasicContextProvider.java @@ -17,6 +17,7 @@ import sonia.scm.util.Util; //~--- JDK imports ------------------------------------------------------------ import java.io.File; +import java.io.IOException; import java.util.HashMap; import java.util.List; @@ -54,7 +55,28 @@ public class BasicContextProvider implements SCMContextProvider /** * Method description * + * + * @throws IOException */ + @Override + public void close() throws IOException + { + for (GroupManager manager : groupManagerMap.values()) + { + manager.close(); + } + + for (RepositoryManager manager : repositoryManagerMap.values()) + { + manager.close(); + } + } + + /** + * Method description + * + */ + @Override public void init() { loadGroupManagers(); diff --git a/scm-core/src/main/java/sonia/scm/SCMContext.java b/scm-core/src/main/java/sonia/scm/SCMContext.java index 16791fdf69..dc23cbe39f 100644 --- a/scm-core/src/main/java/sonia/scm/SCMContext.java +++ b/scm-core/src/main/java/sonia/scm/SCMContext.java @@ -43,6 +43,8 @@ public class SCMContext { provider = new BasicContextProvider(); } + + provider.init(); } } } diff --git a/scm-core/src/main/java/sonia/scm/SCMContextProvider.java b/scm-core/src/main/java/sonia/scm/SCMContextProvider.java index 67f6cc0faa..d1aab960dd 100644 --- a/scm-core/src/main/java/sonia/scm/SCMContextProvider.java +++ b/scm-core/src/main/java/sonia/scm/SCMContextProvider.java @@ -14,15 +14,24 @@ import sonia.scm.repository.RepositoryManager; //~--- JDK imports ------------------------------------------------------------ +import java.io.Closeable; import java.io.File; /** * * @author Sebastian Sdorra */ -public interface SCMContextProvider +public interface SCMContextProvider extends Closeable { + /** + * Method description + * + */ + public void init(); + + //~--- get methods ---------------------------------------------------------- + /** * Method description *