Introduce maintained repository interface
authorMathieu Baudier <mbaudier@argeo.org>
Mon, 10 Dec 2012 11:01:55 +0000 (11:01 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Mon, 10 Dec 2012 11:01:55 +0000 (11:01 +0000)
git-svn-id: https://svn.argeo.org/commons/trunk@5941 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

server/modules/org.argeo.node.repo.jackrabbit/META-INF/spring/noderepo-osgi.xml
server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/jackrabbit/JackrabbitContainer.java
server/runtime/org.argeo.server.jcr/src/main/java/org/argeo/jcr/MaintainedRepository.java [new file with mode: 0644]

index 94e27db19b8883ae501f0477b467935e89941c18..957dda1443f0d628534de8385e55758747faecb7 100644 (file)
        </list>\r
 \r
        <!-- SERVICES -->\r
-       <service ref="nodeJcrRepository" interface="javax.jcr.Repository">\r
+       <service ref="nodeJcrRepository">\r
+               <interfaces>\r
+                       <beans:value>javax.jcr.Repository</beans:value>\r
+                       <beans:value>org.argeo.jcr.MaintainedRepository</beans:value>\r
+               </interfaces>\r
                <service-properties>\r
                        <beans:entry key="argeo.jcr.repository.alias" value="node" />\r
                        <beans:entry key="argeo.jcr.repository.home" value="${argeo.node.repo.home}" />\r
index 91ed28c1a6561b08a67b35324d8f79d6e336927a..87d62872a30ff30b70cd5fcd33aabe7da5afae26 100644 (file)
@@ -41,6 +41,7 @@ import org.apache.jackrabbit.core.config.RepositoryConfigurationParser;
 import org.argeo.ArgeoException;
 import org.argeo.jcr.ArgeoNames;
 import org.argeo.jcr.JcrUtils;
+import org.argeo.jcr.MaintainedRepository;
 import org.springframework.core.io.Resource;
 import org.springframework.util.SystemPropertyUtils;
 import org.xml.sax.InputSource;
@@ -49,7 +50,8 @@ import org.xml.sax.InputSource;
  * Wrapper around a Jackrabbit repository which allows to configure it in Spring
  * and expose it as a {@link Repository}.
  */
-public class JackrabbitContainer extends JackrabbitWrapper {
+public class JackrabbitContainer extends JackrabbitWrapper implements
+               MaintainedRepository {
        private Log log = LogFactory.getLog(JackrabbitContainer.class);
 
        // local
diff --git a/server/runtime/org.argeo.server.jcr/src/main/java/org/argeo/jcr/MaintainedRepository.java b/server/runtime/org.argeo.server.jcr/src/main/java/org/argeo/jcr/MaintainedRepository.java
new file mode 100644 (file)
index 0000000..702d47a
--- /dev/null
@@ -0,0 +1,8 @@
+package org.argeo.jcr;
+
+import javax.jcr.Repository;
+
+/** Abstracts maintenance operations on a {@link Repository} */
+public interface MaintainedRepository extends Repository {
+
+}