|
From: <fg...@us...> - 2012-05-06 14:42:48
|
Revision: 3974
http://openutils.svn.sourceforge.net/openutils/?rev=3974&view=rev
Author: fgiust
Date: 2012-05-06 14:42:42 +0000 (Sun, 06 May 2012)
Log Message:
-----------
MGNLUTILS-33 new contentByUUID() EL function
Modified Paths:
--------------
magnoliamodules/branches/magnolia44/openutils-mgnlutils/src/main/java/it/openutils/mgnlutils/el/MgnlUtilsElFunctions.java
magnoliamodules/branches/magnolia44/openutils-mgnlutils/src/main/resources/META-INF/tld/mgnlutils.tld
Modified: magnoliamodules/branches/magnolia44/openutils-mgnlutils/src/main/java/it/openutils/mgnlutils/el/MgnlUtilsElFunctions.java
===================================================================
--- magnoliamodules/branches/magnolia44/openutils-mgnlutils/src/main/java/it/openutils/mgnlutils/el/MgnlUtilsElFunctions.java 2012-05-06 14:35:22 UTC (rev 3973)
+++ magnoliamodules/branches/magnolia44/openutils-mgnlutils/src/main/java/it/openutils/mgnlutils/el/MgnlUtilsElFunctions.java 2012-05-06 14:42:42 UTC (rev 3974)
@@ -56,6 +56,9 @@
import javax.security.auth.Subject;
import javax.servlet.http.HttpServletRequest;
+import net.sourceforge.openutils.mgnlcriteria.jcr.query.JCRCriteriaFactory;
+import net.sourceforge.openutils.mgnlcriteria.jcr.query.criterion.Restrictions;
+
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.jackrabbit.util.ISO9075;
@@ -982,4 +985,24 @@
}
}
+ /**
+ * Get a Content node by its UUID. Internally uses JCR Criteria.
+ * @param uuid content UUID
+ * @param repo workspace name
+ * @return Content or null if not found
+ */
+ public static Content contentByUUID(String uuid, String repo)
+ {
+ if (StringUtils.isBlank(uuid))
+ {
+ return null;
+ }
+ return JCRCriteriaFactory
+ .createCriteria()
+ .setWorkspace(repo)
+ .add(Restrictions.eq("@jcr:uuid", uuid))
+ .execute()
+ .getFirstResult();
+ }
+
}
Modified: magnoliamodules/branches/magnolia44/openutils-mgnlutils/src/main/resources/META-INF/tld/mgnlutils.tld
===================================================================
--- magnoliamodules/branches/magnolia44/openutils-mgnlutils/src/main/resources/META-INF/tld/mgnlutils.tld 2012-05-06 14:35:22 UTC (rev 3973)
+++ magnoliamodules/branches/magnolia44/openutils-mgnlutils/src/main/resources/META-INF/tld/mgnlutils.tld 2012-05-06 14:42:42 UTC (rev 3974)
@@ -338,5 +338,11 @@
<function-class>it.openutils.mgnlutils.el.MgnlUtilsElFunctions</function-class>
<function-signature>void setActivePage(info.magnolia.cms.core.Content)</function-signature>
</function>
+ <function>
+ <name>contentByUUID</name>
+ <description>Get a Content node by its UUID. Internally uses JCR Criteria. Params are UUID and repository name.</description>
+ <function-class>it.openutils.mgnlutils.el.MgnlUtilsElFunctions</function-class>
+ <function-signature>info.magnolia.cms.core.Content contentByUUID(java.lang.String, java.lang.String)</function-signature>
+ </function>
<!-- please don't add new funtions without a meaningfull <description> -->
</taglib>
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|