Adapt to JCR 2.0
authorMathieu Baudier <mbaudier@argeo.org>
Mon, 27 Dec 2010 00:11:32 +0000 (00:11 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Mon, 27 Dec 2010 00:11:32 +0000 (00:11 +0000)
git-svn-id: https://svn.argeo.org/commons/trunk@3993 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

basic/dep/org.argeo.basic.dep.log4j/pom.xml
server/dep/org.argeo.server.dep.jackrabbit.server/pom.xml
server/runtime/org.argeo.server.jackrabbit/pom.xml
server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/server/jackrabbit/JackrabbitContainer.java
server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/server/jackrabbit/unit/AbstractJcrTestCase.java
server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/server/jackrabbit/webdav/WebDavServlet.java
server/runtime/org.argeo.server.jcr/.classpath
server/runtime/org.argeo.server.jcr/build.properties
server/runtime/org.argeo.server.jcr/pom.xml
server/runtime/org.argeo.server.jcr/src/test/java/org/argeo/server/jcr/JcrResourceAdapterTest.java

index f37a2a822a0307a54822fb649a82aeec9b92f6cd..45c997fef78add29624f8f358958e114f3172038 100644 (file)
@@ -1,4 +1,5 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
                <groupId>org.argeo.commons.basic</groupId>
                        <groupId>org.slf4j</groupId>
                        <artifactId>com.springsource.slf4j.api</artifactId>
                </dependency>
+               <!-- JEE dependencies (for 1.2.16 in SpringSOurce repo)
+               <dependency>
+                       <groupId>org.apache.geronimo.specs</groupId>
+                       <artifactId>com.springsource.javax.management.j2ee</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>javax.ejb</groupId>
+                       <artifactId>com.springsource.javax.ejb</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>javax.transaction</groupId>
+                       <artifactId>com.springsource.javax.transaction</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>javax.xml.rpc</groupId>
+                       <artifactId>com.springsource.javax.xml.rpc</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>javax.xml.soap</groupId>
+                       <artifactId>com.springsource.javax.xml.soap</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>javax.activation</groupId>
+                       <artifactId>com.springsource.javax.activation</artifactId>
+               </dependency> -->
        </dependencies>
 </project>
\ No newline at end of file
index b5a10be1962c8ff1b488abdf9027c6d373f84d57..16b7df005681a802b4a3d041f85a362f27054fc2 100644 (file)
@@ -1,4 +1,5 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
                <groupId>org.argeo.commons.server</groupId>
@@ -9,6 +10,35 @@
        <artifactId>org.argeo.server.dep.jackrabbit.server</artifactId>
        <packaging>pom</packaging>
        <name>Dep Jack Rabbit Server</name>
+       <build>
+               <plugins>
+                       <plugin>
+                               <groupId>org.argeo.maven.plugins</groupId>
+                               <artifactId>maven-argeo-osgi-plugin</artifactId>
+                               <version>${version.maven-argeo-osgi}</version>
+                               <executions>
+                                       <execution>
+                                               <id>check-osgi</id>
+                                               <phase>test</phase>
+                                               <goals>
+                                                       <goal>equinox</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <useDependencies>true</useDependencies>
+                                                       <onlyCheck>true</onlyCheck>
+                                                       <argsToAppend>
+                                                               <arg>-clean</arg>
+                                                       </argsToAppend>
+                                                       <systemProperties>
+                                                               <!-- Make sure that no bundle will be started -->
+                                                               <argeo.osgi.start>XXX</argeo.osgi.start>
+                                                       </systemProperties>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
+               </plugins>
+       </build>
        <dependencies>
                <dependency>
                        <groupId>org.argeo.dep.osgi</groupId>
                        <artifactId>com.springsource.org.apache.xalan</artifactId>
                </dependency>
 
-               <!--  For webdav -->
+               <!-- Transitive dependencies -->
+               <dependency>
+                       <groupId>org.argeo.dep.osgi</groupId>
+                       <artifactId>org.argeo.dep.osgi.jcr</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.lucene</groupId>
+                       <artifactId>com.springsource.org.apache.lucene</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.argeo.commons.basic</groupId>
+                       <artifactId>org.argeo.basic.dep.log4j</artifactId>
+                       <version>0.2.2-SNAPSHOT</version>
+                       <type>pom</type>
+               </dependency>
+
+               <!-- Commons -->
+               <dependency>
+                       <groupId>org.apache.commons</groupId>
+                       <artifactId>com.springsource.org.apache.commons.collections</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.commons</groupId>
+                       <artifactId>com.springsource.org.apache.commons.io</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.commons</groupId>
+                       <artifactId>com.springsource.org.apache.commons.httpclient</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.commons</groupId>
+                       <artifactId>com.springsource.org.apache.commons.fileupload</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.commons</groupId>
+                       <artifactId>com.springsource.org.apache.commons.compress</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.commons</groupId>
+                       <artifactId>com.springsource.org.apache.commons.pool</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.commons</groupId>
+                       <artifactId>com.springsource.org.apache.commons.dbcp</artifactId>
+               </dependency>
+
+               <!-- Misc -->
+               <dependency>
+                       <groupId>edu.oswego.cs.concurrent</groupId>
+                       <artifactId>com.springsource.edu.oswego.cs.dl.util.concurrent</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.derby</groupId>
+                       <artifactId>com.springsource.org.apache.derby</artifactId>
+               </dependency>
+
+               <!-- For webdav -->
                <dependency>
                        <groupId>org.springframework</groupId>
                        <artifactId>org.springframework.web.servlet</artifactId>
                        <groupId>javax.servlet</groupId>
                        <artifactId>com.springsource.javax.servlet</artifactId>
                </dependency>
+
+               <!-- Tika -->
+               <dependency>
+                       <groupId>org.argeo.dep.osgi</groupId>
+                       <artifactId>org.argeo.dep.osgi.tika</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.argeo.dep.osgi</groupId>
+                       <artifactId>org.argeo.dep.osgi.pdfbox</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.argeo.dep.osgi</groupId>
+                       <artifactId>org.argeo.dep.osgi.poi</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.argeo.dep.osgi</groupId>
+                       <artifactId>org.argeo.dep.osgi.boilerpipe</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.argeo.dep.osgi</groupId>
+                       <artifactId>org.argeo.dep.osgi.bouncycastle.jdk15</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.argeo.dep.osgi</groupId>
+                       <artifactId>org.argeo.dep.osgi.drewnoakes.metadata_extractor</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.argeo.dep.osgi</groupId>
+                       <artifactId>org.argeo.dep.osgi.netcdf</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.argeo.dep.osgi</groupId>
+                       <artifactId>org.argeo.dep.osgi.tagsoup</artifactId>
+               </dependency>
+
+               <!-- Logback <dependency> <groupId>ch.qos.logback</groupId> <artifactId>com.springsource.ch.qos.logback.classic</artifactId> 
+                       </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>com.springsource.ch.qos.logback.core</artifactId> 
+                       </dependency> -->
+
+               <!-- Required for OSGi completion -->
+               <dependency>
+                       <groupId>net.sourceforge.nekohtml</groupId>
+                       <artifactId>com.springsource.org.cyberneko.html</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>javax.mail</groupId>
+                       <artifactId>com.springsource.javax.mail</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.xmlbeans</groupId>
+                       <artifactId>com.springsource.org.apache.xmlbeans</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.dom4j</groupId>
+                       <artifactId>com.springsource.org.dom4j</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>javax.xml.stream</groupId>
+                       <artifactId>com.springsource.javax.xml.stream</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.jdom</groupId>
+                       <artifactId>com.springsource.org.jdom</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>com.sun.syndication</groupId>
+                       <artifactId>com.springsource.com.sun.syndication</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.objectweb.asm</groupId>
+                       <artifactId>com.springsource.org.objectweb.asm</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.jaxen</groupId>
+                       <artifactId>com.springsource.org.jaxen</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.xmlpull</groupId>
+                       <artifactId>com.springsource.org.xmlpull</artifactId>
+               </dependency>
+
+               <dependency>
+                       <groupId>org.argeo.commons.osgi</groupId>
+                       <artifactId>org.argeo.osgi.boot</artifactId>
+                       <version>0.2.2-SNAPSHOT</version>
+                       <scope>test</scope>
+               </dependency>
        </dependencies>
 </project>
\ No newline at end of file
index df5e5460f018ff35630be1325d32e6a59dbf16c0..79d9ee198d6bd95d072a08ed09838ff2ca4febcc 100644 (file)
 
                <!-- Jack Rabbit -->
                <dependency>
-                       <groupId>org.argeo.dep.osgi</groupId>
-                       <artifactId>org.argeo.dep.osgi.jackrabbit</artifactId>
+                       <groupId>org.argeo.commons.server</groupId>
+                       <artifactId>org.argeo.server.dep.jackrabbit.server</artifactId>
+                       <version>${project.version}</version>
+                       <type>pom</type>
                </dependency>
                <dependency>
                        <groupId>javax.servlet</groupId>
index 0c72e8d45343afc6da2672e79a3ada3fc2fd3c9c..6d7237a648a57af585c6c3d0a6011684bd75c89d 100644 (file)
@@ -25,6 +25,7 @@ import javax.jcr.NoSuchWorkspaceException;
 import javax.jcr.Repository;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
+import javax.jcr.Value;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
@@ -122,6 +123,26 @@ public class JackrabbitContainer implements InitializingBean, DisposableBean,
                return repository.login(workspaceName);
        }
 
+       public boolean isStandardDescriptor(String key) {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       public boolean isSingleValueDescriptor(String key) {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       public Value getDescriptorValue(String key) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       public Value[] getDescriptorValues(String key) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
        // BEANS METHODS
        public void setHomeDirectory(File homeDirectory) {
                this.homeDirectory = homeDirectory;
index 0613c4f39db6c1940a3a201e4dfbe44c1c8beffd..db620365643b1ef7cb87669ee25f197143351929 100644 (file)
@@ -25,10 +25,14 @@ import javax.jcr.SimpleCredentials;
 import junit.framework.TestCase;
 
 import org.apache.commons.io.FileUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.apache.jackrabbit.core.TransientRepository;
 import org.argeo.ArgeoException;
 
 public abstract class AbstractJcrTestCase extends TestCase {
+       private final static Log log = LogFactory.getLog(AbstractJcrTestCase.class);
+
        private TransientRepository repository;
        private Session session = null;
 
@@ -45,13 +49,18 @@ public abstract class AbstractJcrTestCase extends TestCase {
 
        @Override
        protected void tearDown() throws Exception {
-               if (session != null)
+               if (session != null) {
                        session.logout();
+                       if (log.isDebugEnabled())
+                               log.debug("Logout session");
+               }
        }
 
        protected Session session() {
                if (session == null) {
                        try {
+                               if (log.isDebugEnabled())
+                                       log.debug("Login session");
                                session = getRepository().login(
                                                new SimpleCredentials("demo", "demo".toCharArray()));
                        } catch (Exception e) {
index d2630e4c550c1f24d3f56f86ffb4433834a6ec8b..2ca729d5fc2d4c7d1d5c40d140d6b250021be598 100644 (file)
@@ -47,7 +47,7 @@ public class WebDavServlet extends SimpleWebdavServlet {
                super.init();
 
                if (resourceConfiguration != null) {
-                       ResourceConfig resourceConfig = new ResourceConfig();
+                       ResourceConfig resourceConfig = new ResourceConfig(null);
                        try {
                                resourceConfig.parse(resourceConfiguration.getURL());
                        } catch (IOException e) {
index 6cb01891884adf525d5bb2cf4448bdfe3b337e28..c9f26bd8e704463f8beb64862d982d3f2b45f2ae 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-       <classpathentry kind="src" path="src/main/java"/>
-       <classpathentry kind="src" path="src/test/java"/>
-       <classpathentry kind="src" path="src/test/resources"/>
+       <classpathentry kind="src" output="target/classes" path="src/main/java"/>
+       <classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
+       <classpathentry kind="src" output="target/test-classes" path="src/test/resources"/>
        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
        <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
        <classpathentry kind="output" path="target/classes"/>
index 500039909c0479012fc92d8219e83ceebf0a9073..d657ce9d2fa8cb5eeadc20c12d4addb17794be8e 100644 (file)
@@ -12,5 +12,8 @@ additional.bundles = org.argeo.server.jackrabbit,\
                      com.springsource.edu.oswego.cs.dl.util.concurrent,\
                      com.springsource.org.apache.derby,\
                      com.springsource.org.apache.lucene,\
-                     com.springsource.junit
+                     com.springsource.junit,\
+                     com.springsource.org.apache.xml.serializer,\
+                     com.springsource.org.apache.commons.dbcp,\
+                     com.springsource.org.apache.commons.pool,\
 
index 26e84ea5ee8ccec4ed0bb60e95f402349b5818c4..c9bd5d402b4a313f6a0b42fb0c1146176057e22e 100644 (file)
@@ -1,4 +1,5 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
                <groupId>org.argeo.commons.server</groupId>
                                        </instructions>
                                </configuration>
                        </plugin>
+                       <plugin>
+                               <groupId>org.argeo.maven.plugins</groupId>
+                               <artifactId>maven-argeo-osgi-plugin</artifactId>
+                               <version>${version.maven-argeo-osgi}</version>
+                               <configuration>
+                                       <useDependencies>true</useDependencies>
+                                       <onlyCheck>true</onlyCheck>
+                                       <argsToAppend>
+                                               <arg>-clean</arg>
+                                       </argsToAppend>
+                                       <systemProperties>
+                                               <!-- Make sure that no bundle will be started -->
+                                               <argeo.osgi.start>XXX</argeo.osgi.start>
+                                       </systemProperties>
+                               </configuration>
+                       </plugin>
                </plugins>
        </build>
        <dependencies>
@@ -52,8 +69,8 @@
 
                <!-- JCR -->
                <dependency>
-                       <groupId>javax.jcr</groupId>
-                       <artifactId>com.springsource.javax.jcr</artifactId>
+                       <groupId>org.argeo.dep.osgi</groupId>
+                       <artifactId>org.argeo.dep.osgi.jcr</artifactId>
                </dependency>
 
                <!-- Spring -->
                        <type>pom</type>
                        <scope>test</scope>
                </dependency>
+               <dependency>
+                       <groupId>org.argeo.commons.osgi</groupId>
+                       <artifactId>org.argeo.osgi.boot</artifactId>
+                       <version>0.2.2-SNAPSHOT</version>
+                       <scope>test</scope>
+               </dependency>
        </dependencies>
 </project>
index b6b1a1b03be5521ceee51aab1b6ee39e8ec9eb8c..525208c4391edaa477c2ce04418b506e7ab7c202 100644 (file)
@@ -89,11 +89,18 @@ public class JcrResourceAdapterTest extends AbstractJcrTestCase {
 
        @Override
        protected void setUp() throws Exception {
+               log.debug("SET UP");
                super.setUp();
                jra = new JcrResourceAdapter();
                jra.setSession(session());
        }
 
+       @Override
+       protected void tearDown() throws Exception {
+               log.debug("TEAR DOWN");
+               super.tearDown();
+       }
+
        protected File getRepositoryFile() throws Exception {
                Resource res = new ClassPathResource(
                                "org/argeo/server/jcr/repository.xml");