X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=jcr%2Forg.argeo.cms.jcr%2Fsrc%2Forg%2Fargeo%2Fjcr%2FJcr.java;h=1936f2398b8e26a56a217ff4e89e64d96b7fd908;hb=2659496849031137cbd4f0c279a168a5d9fe837e;hp=bf5de1260f93e11bb2b7d47baa31ea3e3eb8460b;hpb=d14c6a5277377f7da8b667a82cbac2eec88a5b72;p=lgpl%2Fargeo-commons.git diff --git a/jcr/org.argeo.cms.jcr/src/org/argeo/jcr/Jcr.java b/jcr/org.argeo.cms.jcr/src/org/argeo/jcr/Jcr.java index bf5de1260..1936f2398 100644 --- a/jcr/org.argeo.cms.jcr/src/org/argeo/jcr/Jcr.java +++ b/jcr/org.argeo.cms.jcr/src/org/argeo/jcr/Jcr.java @@ -29,6 +29,7 @@ import javax.jcr.Workspace; import javax.jcr.nodetype.NodeType; import javax.jcr.query.Query; import javax.jcr.query.QueryManager; +import javax.jcr.query.Row; import javax.jcr.security.Privilege; import javax.jcr.version.Version; import javax.jcr.version.VersionHistory; @@ -598,14 +599,14 @@ public class Jcr { throw new JcrException("Cannot retrieve property " + property + " from " + node, e); } } - + public static T getAs(Node node, String property, Class clss) { - if(String.class.isAssignableFrom(clss)) { - return (T)get(node,property); - } else if(Long.class.isAssignableFrom(clss)) { - return (T)get(node,property); - }else { - throw new IllegalArgumentException("Unsupported format "+clss); + if (String.class.isAssignableFrom(clss)) { + return (T) get(node, property); + } else if (Long.class.isAssignableFrom(clss)) { + return (T) get(node, property); + } else { + throw new IllegalArgumentException("Unsupported format " + clss); } } @@ -978,6 +979,14 @@ public class Jcr { return getNode(queryManager, sql, args); } + public static Node getRowNode(Row row, String selectorName) { + try { + return row.getNode(selectorName); + } catch (RepositoryException e) { + throw new JcrException("Cannot get node " + selectorName + " from row", e); + } + } + /** Singleton. */ private Jcr() {