X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=server%2Fruntime%2Forg.argeo.server.jcr%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fjcr%2FJcrResourceAdapter.java;h=583995057ad614d3160c8344739aca0fe4c8d1e1;hb=2745f0c8c57d9468855179d56f858fb2448f779c;hp=ddff59c4caa38024706d3fa8e2682c109fc53f66;hpb=490d9907457c43acfa965e7979ce5974bc1ba6ca;p=lgpl%2Fargeo-commons.git diff --git a/server/runtime/org.argeo.server.jcr/src/main/java/org/argeo/jcr/JcrResourceAdapter.java b/server/runtime/org.argeo.server.jcr/src/main/java/org/argeo/jcr/JcrResourceAdapter.java index ddff59c4c..583995057 100644 --- a/server/runtime/org.argeo.server.jcr/src/main/java/org/argeo/jcr/JcrResourceAdapter.java +++ b/server/runtime/org.argeo.server.jcr/src/main/java/org/argeo/jcr/JcrResourceAdapter.java @@ -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); @@ -55,7 +57,7 @@ public class JcrResourceAdapter { } public void mkdirs(String path) { - JcrUtils.mkdirs(session(), path, "nt:folder", versioning); + JcrUtils.mkdirs(session(), path, "nt:folder", "nt:folder", versioning); } public void create(String path, Resource file, String mimeType) { @@ -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; }