First complete node mapper
[lgpl/argeo-commons.git] / server / runtime / org.argeo.server.jackrabbit / src / main / java / org / argeo / jcr / JcrUtils.java
index 5a46a763792d3db39c55432c4e83b78de8e141cf..274d149dcd8c3d5dc1a39f843bf73423f2981e90 100644 (file)
@@ -1,5 +1,6 @@
 package org.argeo.jcr;
 
+import java.util.Calendar;
 import java.util.StringTokenizer;
 
 import javax.jcr.Node;
@@ -30,6 +31,24 @@ public class JcrUtils {
                return pathT.substring(0, index);
        }
 
+       public static String dateAsPath(Calendar cal) {
+               StringBuffer buf = new StringBuffer(11);
+               buf.append(cal.get(Calendar.YEAR));// 4
+               buf.append('/');// 1
+               int month = cal.get(Calendar.MONTH) + 1;
+               if (month < 10)
+                       buf.append(0);
+               buf.append(month);// 2
+               buf.append('/');// 1
+               int day = cal.get(Calendar.DAY_OF_MONTH);
+               if (day < 10)
+                       buf.append(0);
+               buf.append(day);// 2
+               buf.append('/');// 1
+               return buf.toString();
+
+       }
+
        public static String lastPathElement(String path) {
                if (path.charAt(path.length() - 1) == '/')
                        throw new ArgeoException("Path " + path + " cannot end with '/'");
@@ -40,6 +59,10 @@ public class JcrUtils {
                return path.substring(index + 1);
        }
 
+       public static Node mkdirs(Session session, String path) {
+               return mkdirs(session, path, null, false);
+       }
+
        public static Node mkdirs(Session session, String path, String type,
                        Boolean versioning) {
                try {