X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=server%2Fruntime%2Forg.argeo.server.jackrabbit%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fserver%2Fjcr%2FJcrResourceAdapter.java;h=44e6ecc15bb7a18712f15fd9f2ed13a24d214d06;hb=9b0c0818123d0265be3a3d35e4511077109e827a;hp=aa6f11b25e95d67b6a0e18e8cea1046ead063dea;hpb=1bb92c3e37546f02d79807a08ea6cd114161f795;p=lgpl%2Fargeo-commons.git diff --git a/server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/server/jcr/JcrResourceAdapter.java b/server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/server/jcr/JcrResourceAdapter.java index aa6f11b25..44e6ecc15 100644 --- a/server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/server/jcr/JcrResourceAdapter.java +++ b/server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/server/jcr/JcrResourceAdapter.java @@ -7,6 +7,7 @@ import java.util.Calendar; import java.util.List; import java.util.StringTokenizer; +import javax.activation.MimetypesFileTypeMap; import javax.jcr.Node; import javax.jcr.Property; import javax.jcr.PropertyIterator; @@ -19,6 +20,7 @@ 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; @@ -81,6 +83,8 @@ public class JcrResourceAdapter implements InitializingBean, DisposableBean { int index = path.lastIndexOf('/'); String parentPath = path.substring(0, index); + if (parentPath.equals("")) + parentPath = "/"; String fileName = path.substring(index + 1); if (!session().itemExists(parentPath)) throw new ArgeoException("Parent folder of node " + path @@ -127,7 +131,9 @@ public class JcrResourceAdapter implements InitializingBean, DisposableBean { try { if (!session().itemExists(path)) { - create(path, in, null); + String type = new MimetypesFileTypeMap() + .getContentType(FilenameUtils.getName(path)); + create(path, in, type); return; }