|
From: Chad B. <cwb...@us...> - 2008-07-24 18:07:37
|
User: cwbrandon
Date: 08/07/24 11:07:44
Modified: andromda-jsf2/components pom.xml
Added: andromda-jsf2/components/src/main/resources/META-INF
faces-config.xml andromda.taglib.xml
andromda-jsf2/components/src/main/java/org/andromda/cartridges/jsf2/renderkit
TransactionTokenRenderer.java
andromda-jsf2/components/src/main/java/org/andromda/cartridges/jsf2/component
TransactionToken.java
Log:
Add TransactionToken component that we an use for preventing multi submits of the same action either or refreshes or when a button is clicked twice
Revision Changes Path
1.3 +7 -77 cartridges/andromda-jsf2/components/src/main/resources/META-INF/faces-config.xml
1.1 cartridges/andromda-jsf2/components/src/main/resources/META-INF/andromda.taglib.xml
Index: andromda.taglib.xml
===================================================================
<?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">
<facelet-taglib>
<namespace>http://www.andromda.org/cartridges/jsf2</namespace>
<tag>
<tag-name>transactionToken</tag-name>
<component>
<component-type>org.andromda.cartridges.jsf2.component.TransactionToken</component-type>
<renderer-type>org.andromda.cartridges.jsf2.TransactionToken</renderer-type>
</component>
</tag>
</facelet-taglib>
1.1 cartridges/andromda-jsf2/components/src/main/java/org/andromda/cartridges/jsf2/renderkit/TransactionTokenRenderer.java
Index: TransactionTokenRenderer.java
===================================================================
package org.andromda.cartridges.jsf2.renderkit;
import java.io.IOException;
import java.util.UUID;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.render.Renderer;
import org.andromda.cartridges.jsf2.component.TransactionToken;
/**
* The transaction token renderer (just adds the transaction token value
* as an attribute of the parent component so we can skip multi-submits of the same action).
*
* @author Chad Brandon
*/
public class TransactionTokenRenderer
extends Renderer
{
/**
* @see javax.faces.render.Renderer#encodeBegin(javax.faces.context.FacesContext, javax.faces.component.UIComponent)
*/
@SuppressWarnings("unchecked")
public void encodeBegin(
FacesContext context,
UIComponent component)
throws IOException
{
if (component.getParent() != null)
{
component.getParent().getAttributes().put(TransactionToken.TRANSACTION_TOKEN, UUID.randomUUID().toString());
}
}
}
1.1 cartridges/andromda-jsf2/components/src/main/java/org/andromda/cartridges/jsf2/component/TransactionToken.java
Index: TransactionToken.java
===================================================================
package org.andromda.cartridges.jsf2.component;
import javax.faces.component.UIComponentBase;
/**
* The transaction token component, basically just registers its renderer.
*
* @author Chad Brandon
*/
public class TransactionToken
extends UIComponentBase
{
public static final String TRANSACTION_TOKEN = "AndroMDA_Transaction_Token";
private static final String RENDERER_TYPE = "org.andromda.cartridges.jsf2.TransactionToken";
public TransactionToken()
{
super();
this.setRendererType(RENDERER_TYPE);
}
/**
* @see javax.faces.component.UIComponent#getFamily()
*/
public String getFamily()
{
return RENDERER_TYPE;
}
}
1.5 +6 -0 cartridges/andromda-jsf2/components/pom.xml
Index: pom.xml
===================================================================
RCS file: /cvsroot/andromdaplugins/cartridges/andromda-jsf2/components/pom.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -w -r1.4 -r1.5
--- pom.xml 11 Apr 2008 22:57:12 -0000 1.4
+++ pom.xml 24 Jul 2008 18:07:44 -0000 1.5
@@ -25,6 +25,12 @@
<artifactId>tomahawk</artifactId>
<version>1.1.7-SNAPSHOT</version>
<scope>provided</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
|