Seam SVN: r7529 - branches/Seam_2_0/examples/blog.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-03-11 11:23:07 -0400 (Tue, 11 Mar 2008)
New Revision: 7529
Modified:
branches/Seam_2_0/examples/blog/
Log:
svn ignores
Property changes on: branches/Seam_2_0/examples/blog
___________________________________________________________________
Name: svn:ignore
- build
test-output
+ build
test-output
exploded-archives
test-build
dist
18 years, 1 month
Seam SVN: r7528 - in trunk: doc/reference/en/modules and 2 other directories.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-03-11 11:12:00 -0400 (Tue, 11 Mar 2008)
New Revision: 7528
Modified:
trunk/doc/reference/en/modules/events.xml
trunk/seam21migration.txt
trunk/src/debug/org/jboss/seam/debug/Contexts.java
trunk/src/main/org/jboss/seam/exception/Exceptions.java
Log:
JBSEAM-2660
Modified: trunk/doc/reference/en/modules/events.xml
===================================================================
--- trunk/doc/reference/en/modules/events.xml 2008-03-11 15:10:30 UTC (rev 7527)
+++ trunk/doc/reference/en/modules/events.xml 2008-03-11 15:12:00 UTC (rev 7528)
@@ -983,7 +983,7 @@
<para>
<literal>org.jboss.seam.handledException</literal> holds the nested exception that
was actually handled by an exception handler. The outermost (wrapper) exception is
- also available, as <literal>org.jboss.seam.exception</literal>.
+ also available, as <literal>org.jboss.seam.caughtException</literal>.
</para>
<sect3>
Modified: trunk/seam21migration.txt
===================================================================
--- trunk/seam21migration.txt 2008-03-11 15:10:30 UTC (rev 7527)
+++ trunk/seam21migration.txt 2008-03-11 15:12:00 UTC (rev 7528)
@@ -7,9 +7,17 @@
This migration guide assumes you are using Seam 2.0, if you are migrating from
Seam 1.2, see the seam2migration guide as well.
+
Testing
-------
SeamTest now boots Seam at the start of each suite, rather than the start of
each class. This is much faster. See the reference manual for how to alter the
-default.
\ No newline at end of file
+default.
+
+
+Exception Handling
+------------------
+
+The caught exception is now available in EL as #{org.jboss.seam.caughtException}
+rather than #{org.jboss.seam.exception}
\ No newline at end of file
Modified: trunk/src/debug/org/jboss/seam/debug/Contexts.java
===================================================================
--- trunk/src/debug/org/jboss/seam/debug/Contexts.java 2008-03-11 15:10:30 UTC (rev 7527)
+++ trunk/src/debug/org/jboss/seam/debug/Contexts.java 2008-03-11 15:12:00 UTC (rev 7528)
@@ -61,7 +61,7 @@
public Exception getException()
{
- return (Exception) org.jboss.seam.contexts.Contexts.getConversationContext().get("org.jboss.seam.exception");
+ return (Exception) org.jboss.seam.contexts.Contexts.getConversationContext().get("org.jboss.seam.caughtException");
}
public List<Exception> getExceptionCauses()
Modified: trunk/src/main/org/jboss/seam/exception/Exceptions.java
===================================================================
--- trunk/src/main/org/jboss/seam/exception/Exceptions.java 2008-03-11 15:10:30 UTC (rev 7527)
+++ trunk/src/main/org/jboss/seam/exception/Exceptions.java 2008-03-11 15:12:00 UTC (rev 7528)
@@ -51,7 +51,7 @@
{
if ( Contexts.isConversationContextActive() )
{
- Contexts.getConversationContext().set("org.jboss.seam.exception", e);
+ Contexts.getConversationContext().set("org.jboss.seam.caughtException", e);
}
//build a list of the nested exceptions
18 years, 1 month
Seam SVN: r7527 - trunk/build.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-03-11 11:10:30 -0400 (Tue, 11 Mar 2008)
New Revision: 7527
Modified:
trunk/build/docs.pom.xml
Log:
Fix version no
Modified: trunk/build/docs.pom.xml
===================================================================
--- trunk/build/docs.pom.xml 2008-03-11 14:42:59 UTC (rev 7526)
+++ trunk/build/docs.pom.xml 2008-03-11 15:10:30 UTC (rev 7527)
@@ -8,9 +8,9 @@
<parent>
<groupId>org.jboss.seam</groupId>
<artifactId>parent</artifactId>
- <version>2.0.1-SNAPSHOT</version>
+ <version>2.1.0-SNAPSHOT</version>
</parent>
- <version>2.0.1-SNAPSHOT</version>
+ <version>2.1.0-SNAPSHOT</version>
<packaging>pdf</packaging>
</project>
\ No newline at end of file
18 years, 1 month
Seam SVN: r7526 - trunk/src/test/integration/src/org/jboss/seam/test/integration/databinding.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-03-11 10:42:59 -0400 (Tue, 11 Mar 2008)
New Revision: 7526
Modified:
trunk/src/test/integration/src/org/jboss/seam/test/integration/databinding/DataModelTest.java
Log:
Enable some tests
Modified: trunk/src/test/integration/src/org/jboss/seam/test/integration/databinding/DataModelTest.java
===================================================================
--- trunk/src/test/integration/src/org/jboss/seam/test/integration/databinding/DataModelTest.java 2008-03-11 11:10:25 UTC (rev 7525)
+++ trunk/src/test/integration/src/org/jboss/seam/test/integration/databinding/DataModelTest.java 2008-03-11 14:42:59 UTC (rev 7526)
@@ -171,7 +171,7 @@
assert mapDataModel.getRowCount() == 2;
// JBSEAM-1660
- /*try
+ try
{
mapDataModel.setWrappedData(null);
}
@@ -179,12 +179,12 @@
{
// Spec allows passing null
assert false;
- }*/
+ }
}
//JBSEAM-1659
- /*@Test
+ @Test
public void testMapDataModelSerialization() throws Exception
{
@@ -213,7 +213,7 @@
assert serializedMapDataModel.getRowIndex() == 1;
assert map.get("0").equals(serializedMap.get("0"));
assert map.get("1").equals(serializedMap.get("1"));
- }*/
+ }
@Test
public void testSetDataModel() throws IOException, ClassNotFoundException
@@ -261,7 +261,7 @@
assert setDataModel.getRowCount() == 2;
// JBSEAM-1660
- /*try
+ try
{
setDataModel.setWrappedData(null);
}
@@ -269,7 +269,7 @@
{
// Spec allows passing null
assert false;
- }*/
+ }
}
@Test
@@ -316,7 +316,6 @@
protected void renderResponse() throws Exception
{
Object people = getValue("#{peopleList}");
- System.out.println(people);
assert people instanceof DataModel;
DataModel dataModel = (DataModel) people;
assert dataModel.getRowCount() == 4;
18 years, 1 month
Seam SVN: r7525 - trunk/doc/reference/en/modules.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-03-11 07:10:25 -0400 (Tue, 11 Mar 2008)
New Revision: 7525
Modified:
trunk/doc/reference/en/modules/configuration.xml
Log:
Docs for customizing deployment handling
Modified: trunk/doc/reference/en/modules/configuration.xml
===================================================================
--- trunk/doc/reference/en/modules/configuration.xml 2008-03-11 10:36:34 UTC (rev 7524)
+++ trunk/doc/reference/en/modules/configuration.xml 2008-03-11 11:10:25 UTC (rev 7525)
@@ -872,7 +872,95 @@
JBoss Portal. </para>
</sect1>
+
+ <sect1>
+ <title>Deploying custom resources</title>
+
+ <para>
+ Seam scans all jars containing <literal>/seam.properties</literal>,
+ <literal>/META-INF/components.xml</literal> or <literal>/META-INF/seam.properties</literal>
+ on startup for resources. For example, all classes annotated with
+ <literal>@Name</literal> are registered with Seam as Seam components.
+ </para>
+
+ <para>
+ You may also want Seam to handle custom resources. For example, you
+ could use this to process classes with a custom annotation at
+ startup. To do this, we need to write a custom deployment handler:
+ </para>
+
+ <programlisting><![CDATA[public class FooDeploymentHandler implements DeploymentHandler {
+
+ private Set<InputStream> files = new HashSet<InputStream>();
+
+ public String getName() {
+ return "fooDeploymentHandler";
+ }
+
+ public Set<InputStream> getFiles() {
+ return files;
+ }
+
+ public void handle(String name, ClassLoader classLoader) {
+ if (name.endsWith(".foo.xml")) {
+ files.add(classLoader.getResourceAsStream(name));
+ }
+ }
+}]]></programlisting>
+ <para>
+ Here we are just building a list of any files with the suffix
+ <literal>.foo.xml</literal>.
+ </para>
+
+ <para>
+ Then, we need to register the deployment handler with Seam. In
+ <literal>/META-INF/seam-deployment.properties</literal>:
+ </para>
+
+ <programlisting><![CDATA[# For standard deployment
+org.jboss.seam.deployment.deploymentHandlers=com.acme.FooDeploymentHandler
+# For hot deployment
+org.jboss.seam.deployment.hotDeploymentHandlers=com.acme.FooDeploymentHandler]]></programlisting>
+
+ <para>
+ You can register multiple deployment handler using a comma
+ separated list.
+ </para>
+
+ <para>
+ Seam uses deployment handlers internally to install components and
+ namespaces, therefore the <literal>handle()</literal> is called too
+ early in inside Seam bootstrap to normally be useful. However, you
+ can easily access the deployment handler during an
+ <literal>APPLICATION</literal> scoped component's startup:
+ </para>
+
+ <programlisting><![CDATA[@Name("fooStartup")
+@Scope(APPLICATION)
+@Startup
+public class FooStartup {
+
+ @In("#{org.jboss.seam.deployment.deploymentStrategy['fooDeploymentHandler']}")
+ private MyDeploymentHandler myDeploymentHandler;
+
+ @In("#{org.jboss.seam.deployment.hotDeploymentStrategy['fooDeploymentHandler']}")
+ private MyDeploymentHandler myHotDeploymentHandler;
+
+ @Create
+ public void create() {
+ for (InputStream is : myDeploymentHandler.getFiles()) {
+ handleFooXml(is);
+ }
+ for (InputStream is : myHotDeploymentHandler.getFiles()) {
+ handleFooXml(is);
+ }
+ }
+
+}]]></programlisting>
+
+ </sect1>
+
<sect1>
<title>Configuring SFSB and Session Timeouts in JBoss AS</title>
18 years, 1 month
Seam SVN: r7524 - trunk/ui/src/main/java/org/jboss/seam/ui/graphicImage.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-03-11 06:36:34 -0400 (Tue, 11 Mar 2008)
New Revision: 7524
Modified:
trunk/ui/src/main/java/org/jboss/seam/ui/graphicImage/Image.java
Log:
Better exception
Modified: trunk/ui/src/main/java/org/jboss/seam/ui/graphicImage/Image.java
===================================================================
--- trunk/ui/src/main/java/org/jboss/seam/ui/graphicImage/Image.java 2008-03-10 23:13:31 UTC (rev 7523)
+++ trunk/ui/src/main/java/org/jboss/seam/ui/graphicImage/Image.java 2008-03-11 10:36:34 UTC (rev 7524)
@@ -437,10 +437,14 @@
private void readImage(InputStream inputStream) throws IOException
{
+ if (inputStream == null)
+ {
+ throw new IllegalArgumentException("Image pointed to must exist (input stream must not be null)");
+ }
ImageInputStream stream = ImageIO.createImageInputStream(inputStream);
if (stream == null)
{
- throw new IllegalArgumentException("stream == null!");
+ throw new IllegalArgumentException("Error creating image input stream from image");
}
Iterator iter = ImageIO.getImageReaders(stream);
18 years, 1 month
Seam SVN: r7523 - in trunk/src/main/org/jboss/seam: core and 1 other directory.
by seam-commits@lists.jboss.org
Author: norman.richards(a)jboss.com
Date: 2008-03-10 19:13:31 -0400 (Mon, 10 Mar 2008)
New Revision: 7523
Modified:
trunk/src/main/org/jboss/seam/core-2.1.xsd
trunk/src/main/org/jboss/seam/core/Manager.java
Log:
JBSEAM-2710
Modified: trunk/src/main/org/jboss/seam/core/Manager.java
===================================================================
--- trunk/src/main/org/jboss/seam/core/Manager.java 2008-03-10 18:35:14 UTC (rev 7522)
+++ trunk/src/main/org/jboss/seam/core/Manager.java 2008-03-10 23:13:31 UTC (rev 7523)
@@ -47,6 +47,8 @@
public static final String REDIRECT_FROM_MANAGER = "org.jboss.seam.core.Manager";
+ private static final String DEFAULT_ENCODING = "UTF-8";
+
//The id of the current conversation
private String currentConversationId;
private List<String> currentConversationIdStack;
@@ -64,6 +66,9 @@
private String conversationIdParameter = "conversationId";
private String parentConversationIdParameter = "parentConversationId";
+ private String URIEncoding = DEFAULT_ENCODING;
+
+
// DONT BREAK, icefaces uses this
public String getCurrentConversationId()
{
@@ -822,7 +827,7 @@
{
try
{
- return URLEncoder.encode(String.valueOf(value),"UTF-8");
+ return URLEncoder.encode(String.valueOf(value),getUriEncoding());
}
catch (UnsupportedEncodingException iee)
{
@@ -889,4 +894,12 @@
}
}
+ public String getUriEncoding() {
+ return URIEncoding;
+ }
+
+ public void setUriEncoding(String encoding) {
+ URIEncoding = encoding;
+ }
+
}
Modified: trunk/src/main/org/jboss/seam/core-2.1.xsd
===================================================================
--- trunk/src/main/org/jboss/seam/core-2.1.xsd 2008-03-10 18:35:14 UTC (rev 7522)
+++ trunk/src/main/org/jboss/seam/core-2.1.xsd 2008-03-10 23:13:31 UTC (rev 7523)
@@ -42,6 +42,7 @@
<xs:attribute name="conversation-timeout" type="xs:integer"/>
<xs:attribute name="conversation-id-parameter"/>
<xs:attribute name="parent-conversation-id-parameter"/>
+ <xs:attribute name="uri-encoding"/>
</xs:attributeGroup>
<xs:element name="resource-loader">
18 years, 1 month
Seam SVN: r7522 - in trunk/examples/wiki: src/etc/META-INF and 7 other directories.
by seam-commits@lists.jboss.org
Author: christian.bauer(a)jboss.com
Date: 2008-03-10 14:35:14 -0400 (Mon, 10 Mar 2008)
New Revision: 7522
Added:
trunk/examples/wiki/lib/commons-lang-2.3.jar
trunk/examples/wiki/src/etc/META-INF/stringutils.taglib.xml
Modified:
trunk/examples/wiki/src/etc/META-INF/wiki.taglib.xml
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/feeds/FeedEntryManager.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/FeedEntry.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java
trunk/examples/wiki/view/includes/wikiTextEditor.xhtml
trunk/examples/wiki/view/plugins/feedAggregator/plugin.xhtml
trunk/examples/wiki/view/plugins/feedTeasers/plugin.xhtml
trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css
Log:
JBSEAM-2711, fixed escaping for feed title/body rendering
Added: trunk/examples/wiki/lib/commons-lang-2.3.jar
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/lib/commons-lang-2.3.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/src/etc/META-INF/stringutils.taglib.xml
===================================================================
--- trunk/examples/wiki/src/etc/META-INF/stringutils.taglib.xml (rev 0)
+++ trunk/examples/wiki/src/etc/META-INF/stringutils.taglib.xml 2008-03-10 18:35:14 UTC (rev 7522)
@@ -0,0 +1,734 @@
+<?xml version="1.0"?><!DOCTYPE facelet-taglib PUBLIC
+ "-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN"
+ "http://java.sun.com/dtd/facelet-taglib_1_0.dtd">
+
+<!-- Note:
+ All deprecated methods have been dropped, as well as any with char[] arguments. The
+ Facelets template parser doesn't like primitive arrays.
+-->
+<facelet-taglib>
+ <namespace>http://org.apache.commons.lang/StringUtils</namespace>
+
+ <function>
+ <function-name>trim</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String trim(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>trimToNull</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String trimToNull(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>trimToEmpty</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String trimToEmpty(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>strip</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String strip(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>stripToNull</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String stripToNull(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>stripToEmpty</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String stripToEmpty(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>stripChars</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String strip(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>stripCharsStart</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String stripStart(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>stripCharsEnd</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String stripEnd(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>stripAll</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String[] stripAll(java.lang.String[])</function-signature>
+ </function>
+
+ <function>
+ <function-name>stripAllChars</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String[] stripAll(java.lang.String[], java.lang.String)
+ </function-signature>
+ </function>
+
+ <function>
+ <function-name>equals</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>boolean equals(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>equalsIgnoreCase</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>boolean equalsIgnoreCase(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>indexOfChar</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>int indexOf(java.lang.String, char)</function-signature>
+ </function>
+
+ <function>
+ <function-name>indexOfCharStart</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>int indexOf(java.lang.String, char, int)</function-signature>
+ </function>
+
+ <function>
+ <function-name>indexOf</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>int indexOf(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>ordinalIndexOf</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>int ordinalIndexOf(java.lang.String, java.lang.String, int)</function-signature>
+ </function>
+
+ <function>
+ <function-name>indexOfStart</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>int indexOf(java.lang.String, java.lang.String, int)</function-signature>
+ </function>
+
+ <function>
+ <function-name>lastIndexOfChar</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>int lastIndexOf(java.lang.String, char)</function-signature>
+ </function>
+
+ <function>
+ <function-name>lastIndexOfCharStart</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>int lastIndexOf(java.lang.String, char, int)</function-signature>
+ </function>
+
+ <function>
+ <function-name>lastIndexOf</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>int lastIndexOf(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>lastIndexOfStart</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>int lastIndexOf(java.lang.String, java.lang.String, int)</function-signature>
+ </function>
+
+ <function>
+ <function-name>containsChar</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>boolean contains(java.lang.String, char)</function-signature>
+ </function>
+
+ <function>
+ <function-name>contains</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>boolean contains(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>containsIgnoreCase</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>boolean containsIgnoreCase(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>indexOfAny</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>int indexOfAny(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>indexOfAnyBut</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>int indexOfAnyBut(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>containsOnly</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>boolean containsOnly(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>containsNone</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>boolean containsNone(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>indexOfAnyStrings</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>int indexOfAny(java.lang.String, java.lang.String[])</function-signature>
+ </function>
+
+ <function>
+ <function-name>lastIndexOfAny</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>int lastIndexOfAny(java.lang.String, java.lang.String[])</function-signature>
+ </function>
+
+ <function>
+ <function-name>substring</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String substring(java.lang.String, int)</function-signature>
+ </function>
+
+ <function>
+ <function-name>subStringEnd</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String substring(java.lang.String, int, int)</function-signature>
+ </function>
+
+ <function>
+ <function-name>left</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String left(java.lang.String, int)</function-signature>
+ </function>
+
+ <function>
+ <function-name>right</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String right(java.lang.String, int)</function-signature>
+ </function>
+
+ <function>
+ <function-name>mid</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String mid(java.lang.String, int, int)</function-signature>
+ </function>
+
+ <function>
+ <function-name>substringBefore</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String substringBefore(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>substringAfter</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String substringAfter(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>substringBeforeLast</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String substringBeforeLast(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>substringAfterLast</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String substringAfterLast(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>substringBetween</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String substringBetween(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>substringBetweenTwo</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String substringBetween(java.lang.String, java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>substringsBetween</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String[] substringsBetween(java.lang.String, java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>split</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String[] split(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>splitChar</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String[] split(java.lang.String, char)</function-signature>
+ </function>
+
+ <function>
+ <function-name>splitString</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String[] split(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>splitMax</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String[] split(java.lang.String, java.lang.String, int)</function-signature>
+ </function>
+
+ <function>
+ <function-name>splitByWholeSeparator</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String[] splitByWholeSeparator(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>splitByWholeSeparatorMax</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String[] splitByWholeSeparator(java.lang.String, java.lang.String, int)</function-signature>
+ </function>
+
+ <function>
+ <function-name>splitPreserveAllTokens</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String[] splitPreserveAllTokens(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>splitPreserveAllTokensChar</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String[] splitPreserveAllTokens(java.lang.String, char)</function-signature>
+ </function>
+
+ <function>
+ <function-name>splitPreserveAllTokensString</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String[] splitPreserveAllTokens(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>splitPreserveAllTokensMax</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String[] splitPreserveAllTokens(java.lang.String, java.lang.String, int)</function-signature>
+ </function>
+
+ <function>
+ <function-name>join</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String join(java.lang.Object[])</function-signature>
+ </function>
+
+ <function>
+ <function-name>joinChar</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String join(java.lang.Object[], char)</function-signature>
+ </function>
+
+ <function>
+ <function-name>joinCharStartEnd</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String join(java.lang.Object[], char, int, int)</function-signature>
+ </function>
+
+ <function>
+ <function-name>joinString</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String join(java.lang.Object[], java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>joinStringStartEnd</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String join(java.lang.Object[], java.lang.String, int, int)</function-signature>
+ </function>
+
+ <function>
+ <function-name>joinIteratorChar</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String join(java.util.Iterator, char)</function-signature>
+ </function>
+
+ <function>
+ <function-name>joinIteratorString</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String join(java.util.Iterator, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>joinCollectionChar</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String join(java.util.Collection, char)</function-signature>
+ </function>
+
+ <function>
+ <function-name>joinCollectionString</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String join(java.util.Collection, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>deleteSpaces</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String deleteSpaces(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>deleteWhitespace</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String deleteWhitespace(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>removeStart</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String removeStart(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>removeEnd</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String removeEnd(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>remove</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String remove(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>removeChar</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String remove(java.lang.String, char)</function-signature>
+ </function>
+
+ <function>
+ <function-name>replaceOnce</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String replaceOnce(java.lang.String, java.lang.String, java.lang.String)
+ </function-signature>
+ </function>
+
+ <function>
+ <function-name>replace</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String replace(java.lang.String, java.lang.String, java.lang.String)
+ </function-signature>
+ </function>
+
+ <function>
+ <function-name>replaceMax</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String replace(java.lang.String, java.lang.String, java.lang.String, int)
+ </function-signature>
+ </function>
+
+ <function>
+ <function-name>replaceChars</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String replaceChars(java.lang.String, char, char)</function-signature>
+ </function>
+
+ <function>
+ <function-name>replaceCharsString</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String replaceChars(java.lang.String, java.lang.String, java.lang.String)
+ </function-signature>
+ </function>
+
+ <function>
+ <function-name>overlay</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String overlay(java.lang.String, java.lang.String, int, int)
+ </function-signature>
+ </function>
+
+ <function>
+ <function-name>chomp</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String chomp(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>chompString</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String chomp(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>repeat</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String repeat(java.lang.String, int)</function-signature>
+ </function>
+
+ <function>
+ <function-name>rightPad</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String rightPad(java.lang.String, int)</function-signature>
+ </function>
+
+ <function>
+ <function-name>rightPadChar</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String rightPad(java.lang.String, int, char)</function-signature>
+ </function>
+
+ <function>
+ <function-name>rightPadString</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String rightPad(java.lang.String, int, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>leftPad</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String leftPad(java.lang.String, int)</function-signature>
+ </function>
+
+ <function>
+ <function-name>leftPadChar</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String leftPad(java.lang.String, int, char)</function-signature>
+ </function>
+
+ <function>
+ <function-name>leftPadString</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String leftPad(java.lang.String, int, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>center</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String center(java.lang.String, int)</function-signature>
+ </function>
+
+ <function>
+ <function-name>centerChar</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String center(java.lang.String, int, char)</function-signature>
+ </function>
+
+ <function>
+ <function-name>centerString</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String center(java.lang.String, int, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>upperCase</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String upperCase(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>lowerCase</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String lowerCase(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>capitalize</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String capitalize(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>uncapitalize</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String uncapitalize(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>swapCase</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String swapCase(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>countMatches</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>int countMatches(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>isAlpha</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>boolean isAlpha(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>isAlphaSpace</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>boolean isAlphaSpace(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>isAlphanumeric</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>boolean isAlphanumeric(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>isAlphanumericSpace</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>boolean isAlphanumericSpace(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>isAsciiPrintable</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>boolean isAsciiPrintable(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>isNumeric</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>boolean isNumeric(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>isNumericSpace</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>boolean isNumericSpace(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>isWhitespace</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>boolean isWhitespace(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>defaultString</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String defaultString(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>defaultStringString</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String defaultString(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>defaultIfEmpty</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String defaultIfEmpty(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>reverse</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String reverse(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>reverseDelimited</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String reverseDelimited(java.lang.String, char)</function-signature>
+ </function>
+
+ <function>
+ <function-name>abbreviate</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String abbreviate(java.lang.String, int)</function-signature>
+ </function>
+
+ <function>
+ <function-name>abbreviateOffset</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String abbreviate(java.lang.String, int, int)</function-signature>
+ </function>
+
+ <function>
+ <function-name>difference</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>java.lang.String difference(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>indexOfDifference</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>int indexOfDifference(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>getLevenshteinDistance</function-name>
+ <function-class>org.apache.commons.lang.StringUtils</function-class>
+ <function-signature>int getLevenshteinDistance(java.lang.String, java.lang.String)</function-signature>
+ </function>
+
+ <!-- As a bonus, also StringEscapeUtils -->
+
+ <function>
+ <function-name>escapeHtml</function-name>
+ <function-class>org.apache.commons.lang.StringEscapeUtils</function-class>
+ <function-signature>java.lang.String escapeHtml(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>escapeJava</function-name>
+ <function-class>org.apache.commons.lang.StringEscapeUtils</function-class>
+ <function-signature>java.lang.String escapeJava(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>escapeJavaScript</function-name>
+ <function-class>org.apache.commons.lang.StringEscapeUtils</function-class>
+ <function-signature>java.lang.String escapeJavaScript(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>escapeSql</function-name>
+ <function-class>org.apache.commons.lang.StringEscapeUtils</function-class>
+ <function-signature>java.lang.String escapeSql(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>escapeXml</function-name>
+ <function-class>org.apache.commons.lang.StringEscapeUtils</function-class>
+ <function-signature>java.lang.String escapeXml(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>unescapeHtml</function-name>
+ <function-class>org.apache.commons.lang.StringEscapeUtils</function-class>
+ <function-signature>java.lang.String unescapeHtml(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>unescapeJava</function-name>
+ <function-class>org.apache.commons.lang.StringEscapeUtils</function-class>
+ <function-signature>java.lang.String unescapeJava(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>unescapeJavaScript</function-name>
+ <function-class>org.apache.commons.lang.StringEscapeUtils</function-class>
+ <function-signature>java.lang.String unescapeJavaScript(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <function-name>unescapeXml</function-name>
+ <function-class>org.apache.commons.lang.StringEscapeUtils</function-class>
+ <function-signature>java.lang.String unescapeXml(java.lang.String)</function-signature>
+ </function>
+
+</facelet-taglib>
\ No newline at end of file
Modified: trunk/examples/wiki/src/etc/META-INF/wiki.taglib.xml
===================================================================
--- trunk/examples/wiki/src/etc/META-INF/wiki.taglib.xml 2008-03-10 15:30:09 UTC (rev 7521)
+++ trunk/examples/wiki/src/etc/META-INF/wiki.taglib.xml 2008-03-10 18:35:14 UTC (rev 7522)
@@ -115,6 +115,12 @@
</function>
<function>
+ <function-name>removeHtml</function-name>
+ <function-class>org.jboss.seam.wiki.util.WikiUtil</function-class>
+ <function-signature>java.lang.String removeHtml(java.lang.String)</function-signature>
+ </function>
+
+ <function>
<function-name>disableFloats</function-name>
<function-class>org.jboss.seam.wiki.util.WikiUtil</function-class>
<function-signature>java.lang.String disableFloats(java.lang.String)</function-signature>
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/feeds/FeedEntryManager.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/feeds/FeedEntryManager.java 2008-03-10 15:30:09 UTC (rev 7521)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/feeds/FeedEntryManager.java 2008-03-10 18:35:14 UTC (rev 7522)
@@ -52,13 +52,9 @@
+ "</a>" : "[Broken Link]";
}
- // Preserve the macro that marks the end of the teaser
+ // Remove all macros
public String renderMacro(WikiMacro macro) {
- if (macro.getName().equals(FeedEntry.END_TEASER_MACRO)) {
- return FeedEntry.END_TEASER_MARKER;
- } else {
- return "";
- }
+ return "";
}
}
parser.setRenderer( new FeedRenderer() );
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/FeedEntry.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/FeedEntry.java 2008-03-10 15:30:09 UTC (rev 7521)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/FeedEntry.java 2008-03-10 18:35:14 UTC (rev 7522)
@@ -22,9 +22,6 @@
*/
public class FeedEntry implements Serializable, Comparable {
- public static final String END_TEASER_MACRO = "endTeaser";
- public static final String END_TEASER_MARKER = "[<=endTeaser]";
-
@Id
@GeneratedValue(generator = "wikiSequenceGenerator")
@Column(name = "FEEDENTRY_ID")
@@ -103,10 +100,6 @@
this.titleSuffix = titleSuffix;
}
- public String getTitleStripped() {
- return stripHTMLTags(title);
- }
-
public void setTitle(String title) {
this.title = title;
}
@@ -151,24 +144,6 @@
this.descriptionValue = descriptionValue;
}
- public String getDescriptionValueStripped() {
- return stripHTMLTags(getDescriptionValue());
- }
-
- public String getDescriptionValueStrippedNoNewlines() {
- if (getDescriptionValue() == null) return null;
- return stripHTMLTags(getDescriptionValue()).replaceAll("(\n|\r)", " ");
- }
-
- public boolean isTeaserMarkerPresent() {
- return getDescriptionValueStripped() != null && getDescriptionValueStripped().contains(END_TEASER_MARKER);
- }
-
- public String getTeaserStripped() {
- String stripped = getDescriptionValueStripped();
- return isTeaserMarkerPresent() ? stripped.substring(0, stripped.indexOf(END_TEASER_MARKER)) : stripped;
- }
-
public int getReadAccessLevel() {
return 0; // No restrictions
}
@@ -202,10 +177,4 @@
return "FeedEntry (" + getId() + ")";
}
- private String stripHTMLTags(String original) {
- if (original == null) return null;
- // Hm, that should be enough to make stuff XSS-safe?
- return original.replaceAll("\\<([a-zA-Z]|/){1}?.*?\\>","");
- }
-
}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java 2008-03-10 15:30:09 UTC (rev 7521)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java 2008-03-10 18:35:14 UTC (rev 7522)
@@ -196,6 +196,11 @@
return sb.toString();
}
+ public static String removeHtml(String original) {
+ if (original == null) return null;
+ return original.replaceAll("\\<([a-zA-Z]|/){1}?.*?\\>","");
+ }
+
// TODO: Ouch...
public static String removeMacros(String string) {
if (string == null) return null;
@@ -270,17 +275,10 @@
}
}
- /**
- * Can't use col.size() in a value binding. Why can't I call arbitrary methods, even
- * with arguments, in a value binding? Java needs properties badly.
- */
+ // Some null-safe operations
public static int sizeOf(Collection col) {
return col == null ? 0 : col.size();
}
-
- /**
- * EL doesn't support a String lenth() operator.
- */
public static int length(String string) {
return string == null ? 0 : string.length();
}
Modified: trunk/examples/wiki/view/includes/wikiTextEditor.xhtml
===================================================================
--- trunk/examples/wiki/view/includes/wikiTextEditor.xhtml 2008-03-10 15:30:09 UTC (rev 7521)
+++ trunk/examples/wiki/view/includes/wikiTextEditor.xhtml 2008-03-10 18:35:14 UTC (rev 7522)
@@ -38,7 +38,7 @@
<s:fragment rendered="#{not empty textPreviewId}">
<br/>
<h:outputText style="white-space:nowrap;"
- value="(#{valueMaxLength - wiki:length(valueBinding)} #{messages['lacewiki.label.wikiTextEditor.CharactersLeft']})"/>
+ value="(#{valueMaxLength - valueBinding.length()} #{messages['lacewiki.label.wikiTextEditor.CharactersLeft']})"/>
</s:fragment>
</s:div>
Modified: trunk/examples/wiki/view/plugins/feedAggregator/plugin.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/feedAggregator/plugin.xhtml 2008-03-10 15:30:09 UTC (rev 7521)
+++ trunk/examples/wiki/view/plugins/feedAggregator/plugin.xhtml 2008-03-10 18:35:14 UTC (rev 7522)
@@ -5,6 +5,7 @@
xmlns:a="https://ajax4jsf.dev.java.net/ajax"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:wiki="http://jboss.com/products/seam/wiki"
+ xmlns:stringutils="http://org.apache.commons.lang/StringUtils"
xmlns:s="http://jboss.com/products/seam/taglib">
<s:div styleClass="feedAggregator box">
@@ -69,18 +70,22 @@
<s:div styleClass="feedEntryTitle undecoratedLink"
rendered="#{not preferences.get('FeedAggregator', currentMacro).hideTitle}">
<h:outputLink target="_top" value="#{feDTO.feedEntry.link}">
- <h:outputText escape="false" value="#{wiki:escapeAtSymbol(feDTO.feedEntry.titleStripped)}"/>
+ <h:outputText value="#{wiki:escapeAtSymbol(wiki:removeHtml(stringutils:unescapeHtml(feDTO.feedEntry.title)))}"/>
</h:outputLink>
</s:div>
<s:div styleClass="feedEntryBody" rendered="#{not preferences.get('FeedAggregator', currentMacro).hideDescription}">
- <h:outputText escape="false"
- value="#{wiki:truncateStringOnWordBoundary(wiki:escapeAtSymbol(feDTO.feedEntry.descriptionValueStrippedNoNewlines),
- preferences.get('FeedAggregator', currentMacro).truncateDescription)}"/>
+ <h:outputText value="#{wiki:truncateStringOnWordBoundary(
+ wiki:escapeAtSymbol(
+ wiki:removeHtml(
+ stringutils:unescapeHtml(feDTO.feedEntry.descriptionValue)
+ )
+ ),
+ preferences.get('FeedAggregator', currentMacro).truncateDescription)}"/>
<h:outputLink target="_top" styleClass="feedEntryBodyMoreLink"
value="#{feDTO.feedEntry.link}"
- rendered="#{wiki:length(feDTO.feedEntry.descriptionValueStrippedNoNewlines)
+ rendered="#{wiki:length(wiki:removeHtml(stringutils:unescapeHtml(feDTO.feedEntry.descriptionValue)))
> preferences.get('FeedAggregator', currentMacro).truncateDescription}">
 #{messages['feedAggregator.label.More']}
</h:outputLink>
Modified: trunk/examples/wiki/view/plugins/feedTeasers/plugin.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/feedTeasers/plugin.xhtml 2008-03-10 15:30:09 UTC (rev 7521)
+++ trunk/examples/wiki/view/plugins/feedTeasers/plugin.xhtml 2008-03-10 18:35:14 UTC (rev 7522)
@@ -34,43 +34,27 @@
<h:outputText styleClass="teaserAuthor" value="#{fe.author}"/>
</s:span>
- <!-- TODO: Fix this somehow... it was an ugly hack anyway
- <s:div rendered="#{fe.document.enableComments and wiki:sizeOf(fe.document.comments) > 0}" styleClass="undecoratedLink">
- <h:outputLink target="_top" styleClass="feedTeaserComments" value="#{wikiURLRenderer.renderPermURL(fe.document)}#comments">
- #{wiki:sizeOf(fe.document.comments)} 
- <h:outputText value="#{wiki:sizeOf(fe.document.comments)>1
- ? messages['lacewiki.label.commentsDisplay.Comments']
- : messages['lacewiki.label.commentsDisplay.Comment']}"/>
- </h:outputLink>
- </s:div>
- -->
</div>
<div class="teaserTitle undecoratedLink">
<h:outputLink target="_top" value="#{fe.link}">
- <h:outputText escape="false" value="#{fe.titleStripped}"/>
+ <h:outputText value="#{wiki:removeHtml(fe.title)}"/>
</h:outputLink>
</div>
- <s:fragment rendered="#{fe.teaserMarkerPresent}">
- <h:outputText styleClass="teaserBody" value="#{fe.teaserStripped}"/>
- <h:outputLink target="_top" styleClass="teaserBody" value="#{fe.link}">
-  #{messages['feedTeasers.label.More']}
- </h:outputLink>
- </s:fragment>
+ <h:outputText styleClass="teaserBody"
+ value="#{wiki:truncateStringOnWordBoundary(
+ wiki:removeHtml(fe.descriptionValue),
+ preferences.get('FeedTeasers', currentMacro).truncateDescription
+ )}"/>
- <s:fragment rendered="#{not fe.teaserMarkerPresent}">
- <h:outputText styleClass="teaserBody"
- value="#{wiki:truncateStringOnWordBoundary(fe.descriptionValueStripped, preferences.get('FeedTeasers', currentMacro).truncateDescription)}"/>
+ <h:outputLink target="_top" styleClass="teaserBody"
+ value="#{fe.link}"
+ rendered="#{wiki:length(wiki:removeHtml(fe.descriptionValue))
+ > preferences.get('FeedTeasers', currentMacro).truncateDescription}">
+ <h:outputText value=" #{messages['feedTeasers.label.More']}"/>
+ </h:outputLink>
- <h:outputLink target="_top" styleClass="teaserBody"
- value="#{fe.link}"
- rendered="#{wiki:length(fe.descriptionValueStripped) > preferences.get('FeedTeasers', currentMacro).truncateDescription}">
-  #{messages['feedTeasers.label.More']}
- </h:outputLink>
- </s:fragment>
-
-
</h:column>
</h:dataTable>
Modified: trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css 2008-03-10 15:30:09 UTC (rev 7521)
+++ trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css 2008-03-10 18:35:14 UTC (rev 7522)
@@ -1396,7 +1396,7 @@
color: #000;
padding-left: 10px;
padding-right: 10px;
- padding-top: 0;
+ padding-top: 5px;
padding-bottom: 5px;
}
18 years, 1 month
Seam SVN: r7521 - trunk/seam-gen/resources/WEB-INF.
by seam-commits@lists.jboss.org
Author: norman.richards(a)jboss.com
Date: 2008-03-10 11:30:09 -0400 (Mon, 10 Mar 2008)
New Revision: 7521
Modified:
trunk/seam-gen/resources/WEB-INF/components-war.xml
Log:
copy changes from ear components.xml
Modified: trunk/seam-gen/resources/WEB-INF/components-war.xml
===================================================================
--- trunk/seam-gen/resources/WEB-INF/components-war.xml 2008-03-10 14:57:10 UTC (rev 7520)
+++ trunk/seam-gen/resources/WEB-INF/components-war.xml 2008-03-10 15:30:09 UTC (rev 7521)
@@ -34,9 +34,9 @@
<drools:rule-files><value>/security.drl</value></drools:rule-files>
</drools:rule-base>
+ <security:rule-based-permission-resolver security-rules="#{securityRules}"/>
<security:identity authenticate-method="#{authenticator.authenticate}"
- security-rules="#{securityRules}"
- remember-me="true"/>
+ remember-me="true"/>
<event type="org.jboss.seam.security.notLoggedIn">
<action execute="#{redirect.captureCurrentView}"/>
18 years, 1 month
Seam SVN: r7520 - trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model.
by seam-commits@lists.jboss.org
Author: christian.bauer(a)jboss.com
Date: 2008-03-10 10:57:10 -0400 (Mon, 10 Mar 2008)
New Revision: 7520
Modified:
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiDirectory.java
Log:
JBSEAM-2707, Hibernate ignores NO_PROXY in subclass
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiDirectory.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiDirectory.java 2008-03-08 03:11:41 UTC (rev 7519)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiDirectory.java 2008-03-10 14:57:10 UTC (rev 7520)
@@ -13,17 +13,20 @@
@Entity
@Table(name = "WIKI_DIRECTORY")
@org.hibernate.annotations.ForeignKey(name = "FK_WIKI_DIRECTORY_NODE_ID")
-//TODO: @org.hibernate.annotations.OnDelete(action = org.hibernate.annotations.OnDeleteAction.CASCADE)
public class WikiDirectory extends WikiNode<WikiDirectory> implements NestedSetNode<WikiDirectory>, Serializable {
@Column(name = "DESCRIPTION", nullable = true)
@Length(min = 0, max = 512)
private String description;
- @ManyToOne(fetch = FetchType.LAZY)
+// This does not work, as usual. Hibernate just ignores it and gives me a proxy sometimes, leading to CCE later on
+// Maybe because I query directories with "from WikiNode where parentId", so the instrumentation of the WikiDirectory
+// subclass has no effect.
+// @ManyToOne(fetch = FetchType.LAZY)
+// @org.hibernate.annotations.LazyToOne(org.hibernate.annotations.LazyToOneOption.NO_PROXY)
+ @ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "DEFAULT_FILE_ID", nullable = true, unique = true)
@org.hibernate.annotations.ForeignKey(name = "FK_WIKI_DIRECTORY_DEFAULT_FILE_ID")
- @org.hibernate.annotations.LazyToOne(org.hibernate.annotations.LazyToOneOption.NO_PROXY)
private WikiFile defaultFile;
@OneToOne(fetch = FetchType.EAGER, mappedBy = "directory", cascade = CascadeType.PERSIST)
18 years, 1 month