You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2011/11/04 17:53:40 UTC
svn commit: r1197653 - in /myfaces/core/trunk/impl: pom.xml
src/main/java/org/apache/myfaces/view/facelets/tag/jstl/fn/JstlFunction.java
src/main/resources/META-INF/myfaces_facelet_html20.vm
Author: lu4242
Date: Fri Nov 4 16:53:39 2011
New Revision: 1197653
URL: http://svn.apache.org/viewvc?rev=1197653&view=rev
Log:
MYFACES-3381 Add @JSFFaceletFunction annotation
Modified:
myfaces/core/trunk/impl/pom.xml
myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/fn/JstlFunction.java
myfaces/core/trunk/impl/src/main/resources/META-INF/myfaces_facelet_html20.vm
Modified: myfaces/core/trunk/impl/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/pom.xml?rev=1197653&r1=1197652&r2=1197653&view=diff
==============================================================================
--- myfaces/core/trunk/impl/pom.xml (original)
+++ myfaces/core/trunk/impl/pom.xml Fri Nov 4 16:53:39 2011
@@ -291,6 +291,29 @@
</goals>
</execution>
+ <execution>
+ <id>make_fn_facelet_tld</id>
+ <configuration>
+ <outputDirectory>${project.build.directory}/tlddoc-facelets</outputDirectory>
+ <xmlFile>myfaces_facelet_fn.tld</xmlFile>
+ <templateFile>myfaces_facelet_html20.vm</templateFile>
+ <modelIds>
+ <modelId>myfaces-api</modelId>
+ <modelId>myfaces-impl</modelId>
+ <modelId>myfaces-impl-shared</modelId>
+ </modelIds>
+ <params>
+ <shortname>fn</shortname>
+ <uri>http://java.sun.com/jsp/jstl/functions</uri>
+ <displayname>JSTL Facelets Function Library.</displayname>
+ <description>JSTL Facelets Function Library.</description>
+ </params>
+ </configuration>
+ <goals>
+ <goal>make-config</goal>
+ </goals>
+ </execution>
+
<!-- START XSD GENERATION -->
<execution>
@@ -408,26 +431,6 @@
</executions>
</plugin>
- <!-- copy src/main/conf using ant -->
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <id>copy_fn_tld</id>
- <phase>process-resources</phase>
- <configuration>
- <tasks>
- <copy todir="${project.build.directory}/tlddoc-facelets" flatten="true" overwrite="true" verbose="true" failonerror="true">
- <fileset dir="${basedir}/src/main/conf/META-INF" includes="myfaces_facelet_fn.tld" />
- </copy>
- </tasks>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
<!-- generate a -tests.jar too -->
<plugin>
@@ -753,6 +756,9 @@
<taglibs>
<f>http://java.sun.com/jsf/core</f>
<h>http://java.sun.com/jsf/html</h>
+ <ui>http://java.sun.com/jsf/facelets</ui>
+ <c>http://java.sun.com/jsp/jstl/core</c>
+ <fn>http://java.sun.com/jsp/jstl/functions</fn>
</taglibs>
</configuration>
<goals>
@@ -850,6 +856,9 @@
<taglibs>
<f>http://java.sun.com/jsf/core</f>
<h>http://java.sun.com/jsf/html</h>
+ <ui>http://java.sun.com/jsf/facelets</ui>
+ <c>http://java.sun.com/jsp/jstl/core</c>
+ <fn>http://java.sun.com/jsp/jstl/functions</fn>
</taglibs>
</configuration>
<reports>
Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/fn/JstlFunction.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/fn/JstlFunction.java?rev=1197653&r1=1197652&r2=1197653&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/fn/JstlFunction.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/fn/JstlFunction.java Fri Nov 4 16:53:39 2011
@@ -23,6 +23,8 @@ import java.util.Collection;
import java.util.Map;
import java.util.StringTokenizer;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFFaceletFunction;
+
/**
* Implementations of JSTL Functions
*
@@ -35,6 +37,7 @@ public final class JstlFunction
{
}
+ @JSFFaceletFunction(name="fn:contains")
public static boolean contains(String name, String searchString)
{
if (name == null || searchString == null)
@@ -45,6 +48,7 @@ public final class JstlFunction
return -1 != name.indexOf(searchString);
}
+ @JSFFaceletFunction(name="fn:containsIgnoreCase")
public static boolean containsIgnoreCase(String name, String searchString)
{
if (name == null || searchString == null)
@@ -55,6 +59,7 @@ public final class JstlFunction
return -1 != name.toUpperCase().indexOf(searchString.toUpperCase());
}
+ @JSFFaceletFunction(name="fn:endsWith")
public static boolean endsWith(String name, String searchString)
{
if (name == null || searchString == null)
@@ -65,6 +70,7 @@ public final class JstlFunction
return name.endsWith(searchString);
}
+ @JSFFaceletFunction(name="fn:escapeXml")
public static String escapeXml(String value)
{
if (value == null)
@@ -143,6 +149,7 @@ public final class JstlFunction
}
}
+ @JSFFaceletFunction(name="fn:indexOf")
public static int indexOf(String name, String searchString)
{
if (name == null || searchString == null)
@@ -153,6 +160,7 @@ public final class JstlFunction
return name.indexOf(searchString);
}
+ @JSFFaceletFunction(name="fn:join")
public static String join(String[] a, String delim)
{
if (a == null || delim == null)
@@ -178,6 +186,7 @@ public final class JstlFunction
return sb.toString();
}
+ @JSFFaceletFunction(name="fn:length")
public static int length(Object obj)
{
if (obj == null)
@@ -208,6 +217,7 @@ public final class JstlFunction
throw new IllegalArgumentException("Object type not supported: " + obj.getClass().getName());
}
+ @JSFFaceletFunction(name="fn:replace")
public static String replace(String value, String a, String b)
{
if (value == null)
@@ -234,6 +244,7 @@ public final class JstlFunction
return value.replaceAll(a, b);
}
+ @JSFFaceletFunction(name="fn:split")
public static String[] split(String value, String d)
{
if (value == null)
@@ -269,6 +280,7 @@ public final class JstlFunction
return array;
}
+ @JSFFaceletFunction(name="fn:startsWith")
public static boolean startsWith(String value, String p)
{
if (value == null || p == null)
@@ -279,6 +291,7 @@ public final class JstlFunction
return value.startsWith(p);
}
+ @JSFFaceletFunction(name="fn:substring")
public static String substring(String v, int s, int e)
{
if (v == null)
@@ -309,6 +322,7 @@ public final class JstlFunction
return v.substring(s, e);
}
+ @JSFFaceletFunction(name="fn:substringAfter")
public static String substringAfter(String v, String p)
{
if (v == null)
@@ -329,6 +343,7 @@ public final class JstlFunction
return "";
}
+ @JSFFaceletFunction(name="fn:substringBefore")
public static String substringBefore(String v, String s)
{
if (v == null)
@@ -349,6 +364,7 @@ public final class JstlFunction
return "";
}
+ @JSFFaceletFunction(name="fn:toLowerCase")
public static String toLowerCase(String v)
{
if (v == null)
@@ -363,6 +379,7 @@ public final class JstlFunction
return v.toLowerCase();
}
+ @JSFFaceletFunction(name="fn:toUpperCase")
public static String toUpperCase(String v)
{
if (v == null)
@@ -377,6 +394,7 @@ public final class JstlFunction
return v.toUpperCase();
}
+ @JSFFaceletFunction(name="fn:trim")
public static String trim(String v)
{
if (v == null)
Modified: myfaces/core/trunk/impl/src/main/resources/META-INF/myfaces_facelet_html20.vm
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/resources/META-INF/myfaces_facelet_html20.vm?rev=1197653&r1=1197652&r2=1197653&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/resources/META-INF/myfaces_facelet_html20.vm (original)
+++ myfaces/core/trunk/impl/src/main/resources/META-INF/myfaces_facelet_html20.vm Fri Nov 4 16:53:39 2011
@@ -316,4 +316,25 @@ $baseContent
#end
#end
#end
+
+ <!-- Facelets Functions -->
+#set ($functionList = $model.getFaceletFunctions())
+#foreach( $faceletFunction in $functionList )
+#if ($modelIds.contains($faceletFunction.modelId) && ($faceletFunction.name))
+#if ($utils.getTagPrefix($faceletFunction.name) == $shortname)
+ <function>
+#if ($faceletFunction.longDescription)
+ <description><![CDATA[$faceletFunction.longDescription]]></description>
+#elseif ($faceletFunction.description)
+ <description><![CDATA[$faceletFunction.description]]></description>
+#else
+ <description><![CDATA[]]></description>
+#end
+ <name>$utils.getTagName($faceletFunction.name)</name>
+ <function-class>$faceletFunction.sourceClassName</function-class>
+ <function-signature>$faceletFunction.declaredSignature</function-signature>
+ </function>
+#end
+#end
+#end
</taglib>