svn commit: r1133044 - in /struts/struts2/trunk/core/src: main/java/org/apache/struts2/views/jsp/ui/AbstractUITag.java test/java/org/apache/struts2/views/jsp/ui/AnchorTest.java test/resources/org/apac

2011-06-07 Thread lukaszlenart
Author: lukaszlenart
Date: Tue Jun  7 15:18:58 2011
New Revision: 1133044

URL: http://svn.apache.org/viewvc?rev=1133044&view=rev
Log:
WW-3644 - adds support for expression evaluation in dynamic attributes

Added:

struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Anchor-3.txt
  - copied, changed from r1132139, 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Anchor-2.txt
Modified:

struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractUITag.java

struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/AnchorTest.java

Modified: 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractUITag.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractUITag.java?rev=1133044&r1=1133043&r2=1133044&view=diff
==
--- 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractUITag.java
 (original)
+++ 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractUITag.java
 Tue Jun  7 15:18:58 2011
@@ -21,14 +21,13 @@
 
 package org.apache.struts2.views.jsp.ui;
 
-import java.util.HashMap;
-import java.util.Map;
+import org.apache.struts2.components.UIBean;
+import org.apache.struts2.views.jsp.ComponentTagSupport;
 
 import javax.servlet.jsp.JspException;
 import javax.servlet.jsp.tagext.DynamicAttributes;
-
-import org.apache.struts2.components.UIBean;
-import org.apache.struts2.views.jsp.ComponentTagSupport;
+import java.util.HashMap;
+import java.util.Map;
 
 
 /**
@@ -292,6 +291,11 @@ public abstract class AbstractUITag exte
 }
 
 public void setDynamicAttribute(String uri, String localName, Object 
value) throws JspException {
-dynamicAttributes.put(localName, value);
+if (value != null && value instanceof String) {
+dynamicAttributes.put(localName, findValue(value.toString()));
+} else {
+dynamicAttributes.put(localName, value);
+}
 }
+
 }

Modified: 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/AnchorTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/AnchorTest.java?rev=1133044&r1=1133043&r2=1133044&view=diff
==
--- 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/AnchorTest.java
 (original)
+++ 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/AnchorTest.java
 Tue Jun  7 15:18:58 2011
@@ -76,4 +76,22 @@ public class AnchorTest extends Abstract
 
 verify(AnchorTest.class.getResource("Anchor-2.txt"));
 }
+
+public void testDynamicAttributeAsExpression() throws Exception {
+TestAction testAction = (TestAction) action;
+testAction.setFoo("bar");
+
+AnchorTag tag = new AnchorTag();
+tag.setPageContext(pageContext);
+
+tag.setId("mylink");
+tag.setHref("a");
+
+tag.setDynamicAttribute("uri", "placeholder", "foo");
+
+tag.doStartTag();
+tag.doEndTag();
+
+verify(AnchorTest.class.getResource("Anchor-3.txt"));
+}
 }

Copied: 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Anchor-3.txt
 (from r1132139, 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Anchor-2.txt)
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Anchor-3.txt?p2=struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Anchor-3.txt&p1=struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Anchor-2.txt&r1=1132139&r2=1133044&rev=1133044&view=diff
==
--- 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Anchor-2.txt
 (original)
+++ 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Anchor-3.txt
 Tue Jun  7 15:18:58 2011
@@ -1,5 +1,5 @@
 
+ placeholder="bar">
 




svn commit: r1133045 - /struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/MakeIterator.java

2011-06-07 Thread lukaszlenart
Author: lukaszlenart
Date: Tue Jun  7 15:24:31 2011
New Revision: 1133045

URL: http://svn.apache.org/viewvc?rev=1133045&view=rev
Log:
WW-3645 - uses  EnumerationIterator to simplify logic

Modified:

struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/MakeIterator.java

Modified: 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/MakeIterator.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/MakeIterator.java?rev=1133045&r1=1133044&r2=1133045&view=diff
==
--- 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/MakeIterator.java
 (original)
+++ 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/MakeIterator.java
 Tue Jun  7 15:24:31 2011
@@ -21,18 +21,18 @@
 
 package org.apache.struts2.util;
 
+import org.apache.struts2.util.IteratorFilterSupport.EnumerationIterator;
+
 import java.lang.reflect.Array;
 import java.util.ArrayList;
-import java.util.Collection;
+import java.util.Arrays;
 import java.util.Enumeration;
 import java.util.Iterator;
-import java.util.List;
 import java.util.Map;
 
 
 /**
  * MakeIterator.
- *
  */
 public class MakeIterator {
 
@@ -91,18 +91,9 @@ public class MakeIterator {
 
 iterator = list.iterator();
 } else if (value instanceof Enumeration) {
-Enumeration enumeration = (Enumeration) value;
-ArrayList list = new ArrayList();
-
-while (enumeration.hasMoreElements()) {
-list.add(enumeration.nextElement());
-}
-
-iterator = list.iterator();
+iterator = new EnumerationIterator((Enumeration) value);
 } else {
-List list = new ArrayList(1);
-list.add(value);
-iterator = list.iterator();
+iterator = Arrays.asList(value).iterator();
 }
 
 return iterator;




[CONF] Confluence Changes in the last 24 hours

2011-06-07 Thread confluence
This is a daily summary of all recent changes in Confluence.

-
Updated Spaces:
-


Apache ActiveMQ (https://cwiki.apache.org/confluence/display/ACTIVEMQ)

Pages
-
OpenWire edited by  tabish121  (05:31 PM)
https://cwiki.apache.org/confluence/display/ACTIVEMQ/OpenWire



Apache Buildr (https://cwiki.apache.org/confluence/display/BUILDR)

Pages
-
Buildr Plugins edited by  pe...@realityforge.org  (06:51 AM)
https://cwiki.apache.org/confluence/display/BUILDR/Buildr+Plugins



Apache Camel (https://cwiki.apache.org/confluence/display/CAMEL)

Pages
-
Camel 2.8.0 Release edited by  hadr...@apache.org  (11:10 PM)
https://cwiki.apache.org/confluence/display/CAMEL/Camel+2.8.0+Release

Creating a new Camel Component edited by  boday  (12:22 PM)
https://cwiki.apache.org/confluence/display/CAMEL/Creating+a+new+Camel+Component

Message edited by  boday  (11:58 AM)
https://cwiki.apache.org/confluence/display/CAMEL/Message

Articles edited by  davsclaus  (02:17 AM)
https://cwiki.apache.org/confluence/display/CAMEL/Articles

APNS created by davsclaus (02:06 AM)
https://cwiki.apache.org/confluence/display/CAMEL/APNS

Component List edited by  davsclaus  (02:00 AM)
https://cwiki.apache.org/confluence/display/CAMEL/Component+List



Apache Click (https://cwiki.apache.org/confluence/display/CLICK)

Comments
https://cwiki.apache.org/confluence/display/CLICK/Missing+Translations (1)

Apache CXF Documentation (https://cwiki.apache.org/confluence/display/CXF20DOC)

Pages
-
Debugging and Logging edited by  dkulp  (03:26 PM)
https://cwiki.apache.org/confluence/display/CXF20DOC/Debugging+and+Logging



Apache ESME (https://cwiki.apache.org/confluence/display/ESME)

Pages
-
API 2.0 - Design edited by  richardhirsch  (02:50 AM)
https://cwiki.apache.org/confluence/display/ESME/API+2.0+-+Design

Project Information edited by  richardhirsch  (02:46 AM)
https://cwiki.apache.org/confluence/display/ESME/Project+Information



Apache Felix (https://cwiki.apache.org/confluence/display/FELIX)

Pages
-
Board Report (2011-06) created by he...@ungoverned.org (10:28 AM)
https://cwiki.apache.org/confluence/display/FELIX/Board+Report+%282011-06%29



Apache Jackrabbit (https://cwiki.apache.org/confluence/display/JCR)

Pages
-
Downloads edited by  jukka  (01:37 PM)
https://cwiki.apache.org/confluence/display/JCR/Downloads

Welcome to Apache Jackrabbit edited by  jukka  (01:31 PM)
https://cwiki.apache.org/confluence/display/JCR/Welcome+to+Apache+Jackrabbit



Apache Maven (https://cwiki.apache.org/confluence/display/MAVEN)

Pages
-
Plexus-utils replacement edited by  stephenc  (06:51 PM)
https://cwiki.apache.org/confluence/display/MAVEN/Plexus-utils+replacement



Apache MRUnit (https://cwiki.apache.org/confluence/display/MRUNIT)

Pages
-
Incubator Status Report (June 2011) edited by  phunt  (04:47 PM)
https://cwiki.apache.org/confluence/display/MRUNIT/Incubator+Status+Report+%28June+2011%29

Incubator Status Report (September 2011) created by phunt (04:47 PM)
https://cwiki.apache.org/confluence/display/MRUNIT/Incubator+Status+Report+%28September+2011%29



OpenEJB 3.0.x documentation 
(https://cwiki.apache.org/confluence/display/OPENEJBx30)

Pages
-
Hello World edited by  dblevins  (10:10 PM)
https://cwiki.apache.org/confluence/display/OPENEJBx30/Hello+World



Apache OpenNLP (https://cwiki.apache.org/confluence/display/OPENNLP)

Pages
-
OpenNLP Annotations created by joern (10:05 AM)
https://cwiki.apache.org/confluence/display/OPENNLP/OpenNLP+Annotations

Index edited by  joern  (10:04 AM)
https://cwiki.apache.org/confluence/display/OPENNLP/Index



Apache Shiro (https://cwiki.apache.org/confluence/display/SHIRO)

Pages
-
Web edited by  lhazlewood  (03:58 PM)
https://cwiki.apache.org/confluence/display/SHIRO/Web



Apache ServiceMix (https://cwiki.apache.org/confluence/display/SM)

Pages
-
servicemix-http new endpoints edited by  gertvanthienen  (08:52 AM)
https://cwiki.apache.org/confluence/display/SM/servicemix-http+new+endpoints



Apache Tapestry