]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - server/runtime/org.argeo.server.jcr/src/main/java/org/argeo/jcr/JcrUtils.java
Imporve JCR keyring and remote repository exploring
[lgpl/argeo-commons.git] / server / runtime / org.argeo.server.jcr / src / main / java / org / argeo / jcr / JcrUtils.java
index 7b99f0272235b558af7da25870ab02db14a849dc..e7b3656cfd8e5e7e195a873924f65b92c95eefcb 100644 (file)
@@ -307,9 +307,14 @@ public class JcrUtils implements ArgeoJcrConstants {
         * PROPERTIES
         */
 
-       /** Concisely get the string value of a property */
+       /**
+        * Concisely get the string value of a property or null if this node doesn't
+        * have this property
+        */
        public static String get(Node node, String propertyName) {
                try {
+                       if (!node.hasProperty(propertyName))
+                               return null;
                        return node.getProperty(propertyName).getString();
                } catch (RepositoryException e) {
                        throw new ArgeoException("Cannot get property " + propertyName
@@ -1546,7 +1551,7 @@ public class JcrUtils implements ArgeoJcrConstants {
 
        /**
         * Add privileges on a path to a {@link Principal}. The path must already
-        * exist.
+        * exist. Session is saved.
         */
        public static void addPrivileges(Session session, String path,
                        Principal principal, List<Privilege> privs)
@@ -1582,6 +1587,7 @@ public class JcrUtils implements ArgeoJcrConstants {
                        throw new ArgeoException("Don't know how to apply  privileges "
                                        + privs + " to " + principal + " on " + path);
                }
+               session.save();
        }
 
 }