You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by di...@apache.org on 2004/09/07 18:54:23 UTC
cvs commit: jakarta-commons/jelly/jelly-tags/swing/src/java/org/apache/commons/jelly/tags/swing ActionTag.java
dion 2004/09/07 09:54:23
Modified: jelly/jelly-tags/swing/src/java/org/apache/commons/jelly/tags/swing
ActionTag.java
Log:
Apply Jelly-114.
Revision Changes Path
1.10 +16 -23 jakarta-commons/jelly/jelly-tags/swing/src/java/org/apache/commons/jelly/tags/swing/ActionTag.java
Index: ActionTag.java
===================================================================
RCS file: /home/cvs/jakarta-commons/jelly/jelly-tags/swing/src/java/org/apache/commons/jelly/tags/swing/ActionTag.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- ActionTag.java 25 Feb 2004 01:31:56 -0000 1.9
+++ ActionTag.java 7 Sep 2004 16:54:23 -0000 1.10
@@ -16,12 +16,14 @@
package org.apache.commons.jelly.tags.swing;
import java.awt.event.ActionEvent;
+import java.lang.reflect.InvocationTargetException;
import java.util.Iterator;
import java.util.Map;
import javax.swing.AbstractAction;
import javax.swing.Action;
+import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.jelly.JellyTagException;
import org.apache.commons.jelly.MissingAttributeException;
import org.apache.commons.jelly.XMLOutput;
@@ -45,29 +47,6 @@
public ActionTag() {
}
- // Tag interface
- //-------------------------------------------------------------------------
- public void doTag(XMLOutput output) throws JellyTagException {
- Map attributes = getAttributes();
- String var = (String) attributes.get( "var" );
- Object classObject = attributes.remove( "class" );
-
- // this method could return null in derived classes
- Class theClass = null;
- try {
- theClass = convertToClass(classObject);
- } catch (ClassNotFoundException e) {
- throw new JellyTagException(e);
- }
-
- Object bean = newInstance(theClass, attributes, output);
- setBean(bean);
-
- setBeanProperties(bean, attributes);
-
- processBean(var, bean);
- }
-
// Properties
//-------------------------------------------------------------------------
@@ -157,6 +136,20 @@
*/
protected void setBeanProperties(Object bean, Map attributes) throws JellyTagException {
Action action = getAction();
+
+ String enabled = "enabled";
+ if (attributes.containsKey(enabled)) {
+ try {
+ BeanUtils.copyProperty(action, enabled, attributes.get(enabled));
+ } catch (IllegalAccessException e) {
+ throw new JellyTagException("Failed to set the enabled property.", e);
+ } catch (InvocationTargetException e) {
+ throw new JellyTagException("Failed to set the enabled property.", e);
+ }
+
+ attributes.remove(enabled);
+ }
+
for ( Iterator iter = attributes.entrySet().iterator(); iter.hasNext(); ) {
Map.Entry entry = (Map.Entry) iter.next();
String name = (String) entry.getKey();
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org