Remove dependencies to javax.activation in JCR related modules
authorMathieu Baudier <mbaudier@argeo.org>
Sun, 23 Jan 2011 11:15:56 +0000 (11:15 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Sun, 23 Jan 2011 11:15:56 +0000 (11:15 +0000)
git-svn-id: https://svn.argeo.org/commons/trunk@4069 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

server/runtime/org.argeo.server.jackrabbit/pom.xml
server/runtime/org.argeo.server.jcr/pom.xml
server/runtime/org.argeo.server.jcr/src/main/java/org/argeo/jcr/JcrResourceAdapter.java

index b7fe3967640e20ba14f7552b4fa0673d7fba074a..7df23abcb01b503749decaeadb1ddb0faa753382 100644 (file)
                        <artifactId>com.springsource.org.apache.commons.io</artifactId>
                </dependency>
 
-               <dependency>
-                       <groupId>javax.activation</groupId>
-                       <artifactId>com.springsource.javax.activation</artifactId>
-               </dependency>
-
                <!-- Spring -->
                <dependency>
                        <groupId>org.springframework</groupId>
index 823b050f205e125d7f86115d88e71e75668f4498..e685303bd9986685de59d9d9ff46cf708b22a447 100644 (file)
                        <artifactId>org.springframework.xml</artifactId>
                </dependency>
 
-               <dependency>
-                       <groupId>javax.activation</groupId>
-                       <artifactId>com.springsource.javax.activation</artifactId>
-               </dependency>
-
                <!-- Logging -->
                <dependency>
                        <groupId>org.slf4j</groupId>
index ddff59c4caa38024706d3fa8e2682c109fc53f66..d391a69e0f4f6765c6ecd5789f609942ae2d89ca 100644 (file)
@@ -22,7 +22,6 @@ import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.List;
 
-import javax.activation.MimetypesFileTypeMap;
 import javax.jcr.Node;
 import javax.jcr.Property;
 import javax.jcr.RepositoryException;
@@ -31,12 +30,15 @@ import javax.jcr.version.Version;
 import javax.jcr.version.VersionHistory;
 import javax.jcr.version.VersionIterator;
 
-import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.argeo.ArgeoException;
 import org.springframework.core.io.Resource;
 
+/**
+ * Bridge Spring resources and JCR folder / files semantics (nt:folder / nt:file),
+ * supporting versioning as well.
+ */
 public class JcrResourceAdapter {
        private final static Log log = LogFactory.getLog(JcrResourceAdapter.class);
 
@@ -122,8 +124,11 @@ public class JcrResourceAdapter {
                try {
 
                        if (!session().itemExists(path)) {
-                               String type = new MimetypesFileTypeMap()
-                                               .getContentType(FilenameUtils.getName(path));
+                               String type = null;
+                               // FIXME: using javax.activation leads to conflict between Java
+                               // 1.5 and 1.6 (since javax.activation was included in Java 1.6)
+                               // String type = new MimetypesFileTypeMap()
+                               // .getContentType(FilenameUtils.getName(path));
                                create(path, in, type);
                                return;
                        }
@@ -212,8 +217,8 @@ public class JcrResourceAdapter {
        protected InputStream fromVersion(Version version)
                        throws RepositoryException {
                Node frozenNode = version.getNode("jcr:frozenNode");
-               InputStream in = frozenNode.getNode("jcr:content").getProperty(
-                               "jcr:data").getStream();
+               InputStream in = frozenNode.getNode("jcr:content")
+                               .getProperty("jcr:data").getStream();
                return in;
        }