From: <fg...@us...> - 2010-04-05 14:18:52
|
Revision: 2276 http://openutils.svn.sourceforge.net/openutils/?rev=2276&view=rev Author: fgiust Date: 2010-04-05 14:18:42 +0000 (Mon, 05 Apr 2010) Log Message: ----------- MGNLUTILS-14 new EL toAbsoluteUrl() 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-04-05 13:51:54 UTC (rev 2275) +++ trunk/openutils-mgnlutils/src/main/java/it/openutils/mgnlutils/el/MgnlUtilsElFunctions.java 2010-04-05 14:18:42 UTC (rev 2276) @@ -471,8 +471,8 @@ } /** - * Same as mapTokens, but the resulting map is multi-value, i.e. the same key can have more than one value. - * Rows having no key specified are considered entries of the last used key. + * Same as mapTokens, but the resulting map is multi-value, i.e. the same key can have more than one value. Rows + * having no key specified are considered entries of the last used key. * @param tokens * @param keyIndex * @param valueIndex @@ -521,6 +521,28 @@ } /** + * Convert a relative url to absolute, using the current base url. If the link is already absolute it will not be + * altered. + * @param relativeOrAbsolute input url, considered absolute if it contains the protocol separator ("://") + * @return absolute url + */ + public static String toAbsoluteUrl(String relativeOrAbsolute) + { + if (StringUtils.isBlank(relativeOrAbsolute)) + { + return relativeOrAbsolute; + } + + // check for :// after protocol + if (StringUtils.contains(StringUtils.substring(relativeOrAbsolute, 0, 10), "://")) + { + return relativeOrAbsolute; + } + + return baseUrl() + relativeOrAbsolute; + } + + /** * Returns the base URL for the request without the context path (scheme + server + port, like http://server:81/) * @return the base URL for the request (scheme + server + port , like http://server:81/ */ Modified: trunk/openutils-mgnlutils/src/main/resources/META-INF/tld/mgnlutils.tld =================================================================== --- trunk/openutils-mgnlutils/src/main/resources/META-INF/tld/mgnlutils.tld 2010-04-05 13:51:54 UTC (rev 2275) +++ trunk/openutils-mgnlutils/src/main/resources/META-INF/tld/mgnlutils.tld 2010-04-05 14:18:42 UTC (rev 2276) @@ -219,6 +219,14 @@ <function-signature>java.lang.String pageFullUrl(info.magnolia.cms.core.Content)</function-signature> </function> <function> + <name>toAbsoluteUrl</name> + <description> + Convert a relative url to absolute, using the current base url. If the link is already absolute it will not be altered. + </description> + <function-class>it.openutils.mgnlutils.el.MgnlUtilsElFunctions</function-class> + <function-signature>java.lang.String toAbsoluteUrl(java.lang.String)</function-signature> + </function> + <function> <name>activePageFullUrl</name> <description>Returns the full url to the current page (starting with http)</description> <function-class>it.openutils.mgnlutils.el.MgnlUtilsElFunctions</function-class> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |