From: <die...@us...> - 2010-03-08 13:22:21
|
Revision: 2104 http://openutils.svn.sourceforge.net/openutils/?rev=2104&view=rev Author: diego_schivo Date: 2010-03-08 13:22:12 +0000 (Mon, 08 Mar 2010) Log Message: ----------- MGNLUTILS-5 EL functions: convertToCollection, hasChildWithTitle, contentChildrenOfType Modified Paths: -------------- trunk/openutils-mgnlutils/src/main/java/it/openutils/mgnlutils/el/MgnlUtilsElFunctions.java trunk/openutils-mgnlutils/src/main/resources/META-INF/tld/mgnlutils.tld Modified: trunk/openutils-mgnlutils/src/main/java/it/openutils/mgnlutils/el/MgnlUtilsElFunctions.java =================================================================== --- trunk/openutils-mgnlutils/src/main/java/it/openutils/mgnlutils/el/MgnlUtilsElFunctions.java 2010-03-08 11:22:04 UTC (rev 2103) +++ trunk/openutils-mgnlutils/src/main/java/it/openutils/mgnlutils/el/MgnlUtilsElFunctions.java 2010-03-08 13:22:12 UTC (rev 2104) @@ -24,6 +24,7 @@ import info.magnolia.cms.core.ItemType; import info.magnolia.cms.core.Path; import info.magnolia.cms.core.SystemProperty; +import info.magnolia.cms.util.NodeMapWrapper; import info.magnolia.context.MgnlContext; import info.magnolia.context.WebContext; import info.magnolia.link.LinkException; @@ -527,4 +528,49 @@ return url; } + /** + * Convert a content list into a collection, also wrapping the content inside a I18NNodeMapWrapper + * @param list the list to be converted + * @return a collection with the user's content + */ + public static List<NodeMapWrapper> convertToCollection(List<Content> list) + { + List<NodeMapWrapper> itemsList = new ArrayList<NodeMapWrapper>(); + Collection<Content> result = list; + for (Content content : result) + { + itemsList.add(new NodeMapWrapper(content, content.getHandle())); + } + return itemsList; + } + + /** + * Check if the content parameter has a child with title equal the title parameter + * @param content + * @param title + * @return + */ + public static Boolean hasChildWithTitle(Content content, String title) + { + for (Content currentChild : content.getChildren()) + { + if (currentChild.getTitle() != null && currentChild.getTitle().equalsIgnoreCase(title)) + { + return true; + } + } + + return false; + } + + /** + * Get child nodes of specified content type and its subtypes + * @param content + * @param contentType + * @return + */ + public static Collection<Content> contentChildrenOfType(Content content, String contentType) + { + return content.getChildren(contentType); + } } Modified: trunk/openutils-mgnlutils/src/main/resources/META-INF/tld/mgnlutils.tld =================================================================== --- trunk/openutils-mgnlutils/src/main/resources/META-INF/tld/mgnlutils.tld 2010-03-08 11:22:04 UTC (rev 2103) +++ trunk/openutils-mgnlutils/src/main/resources/META-INF/tld/mgnlutils.tld 2010-03-08 13:22:12 UTC (rev 2104) @@ -215,4 +215,22 @@ <function-class>it.openutils.mgnlutils.el.MgnlUtilsElFunctions</function-class> <function-signature>java.lang.String repoUuidLink(java.lang.String, java.lang.String)</function-signature> </function> + <function> + <name>convertToCollection</name> + <description>Convert a content list into a collection, also wrapping the content inside a I18NNodeMapWrapper</description> + <function-class>it.openutils.mgnlutils.el.MgnlUtilsElFunctions</function-class> + <function-signature>java.util.List convertToCollection(java.util.List)</function-signature> + </function> + <function> + <name>hasChildWithTitle</name> + <description>Check if the content parameter has a child with title equal the title parameter</description> + <function-class>it.openutils.mgnlutils.el.MgnlUtilsElFunctions</function-class> + <function-signature>java.lang.Boolean hasChildWithTitle(info.magnolia.cms.core.Content, java.lang.String)</function-signature> + </function> + <function> + <name>contentChildrenOfType</name> + <description>Get child nodes of specified content type and its subtypes</description> + <function-class>it.openutils.mgnlutils.el.MgnlUtilsElFunctions</function-class> + <function-signature>java.util.Collection contentChildrenOfType(info.magnolia.cms.core.Content, java.lang.String)</function-signature> + </function> </taglib> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |