Author: lukaszlenart
Date: Mon Apr 12 10:23:23 2010
New Revision: 933175

URL: http://svn.apache.org/viewvc?rev=933175&view=rev
Log:
Resolved WW-3361 - proper handling for expression validators and arrays

Modified:
    
struts/struts2/trunk/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ActionNamesAction.java
    
struts/struts2/trunk/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ListValidatorsAction.java
    
struts/struts2/trunk/plugins/config-browser/src/main/resources/config-browser/showValidators.ftl
    
struts/struts2/trunk/plugins/config-browser/src/main/resources/config-browser/validatorDetails.ftl

Modified: 
struts/struts2/trunk/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ActionNamesAction.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ActionNamesAction.java?rev=933175&r1=933174&r2=933175&view=diff
==============================================================================
--- 
struts/struts2/trunk/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ActionNamesAction.java
 (original)
+++ 
struts/struts2/trunk/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ActionNamesAction.java
 Mon Apr 12 10:23:23 2010
@@ -21,16 +21,13 @@
 
 package org.apache.struts2.config_browser;
 
-import java.util.Set;
-import java.util.TreeSet;
-
-import org.apache.struts2.StrutsConstants;
-
 import com.opensymphony.xwork2.ActionSupport;
-import com.opensymphony.xwork2.ObjectFactory;
-import com.opensymphony.xwork2.config.Configuration;
 import com.opensymphony.xwork2.config.entities.ActionConfig;
 import com.opensymphony.xwork2.inject.Inject;
+import org.apache.struts2.StrutsConstants;
+
+import java.util.Set;
+import java.util.TreeSet;
 
 /**
  * ActionNamesAction
@@ -79,7 +76,10 @@ public class ActionNamesAction extends A
 
     public String getExtension() {
         if ( extension == null) {
-            extension = "action";
+            return "action";
+        }
+        if (extension.indexOf(",") > -1) {
+            return extension.substring(0, extension.indexOf(","));
         }
         return extension;
     }

Modified: 
struts/struts2/trunk/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ListValidatorsAction.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ListValidatorsAction.java?rev=933175&r1=933174&r2=933175&view=diff
==============================================================================
--- 
struts/struts2/trunk/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ListValidatorsAction.java
 (original)
+++ 
struts/struts2/trunk/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ListValidatorsAction.java
 Mon Apr 12 10:23:23 2010
@@ -21,15 +21,15 @@
 
 package org.apache.struts2.config_browser;
 
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.struts2.util.ClassLoaderUtils;
-
 import com.opensymphony.xwork2.ActionContext;
 import com.opensymphony.xwork2.ActionSupport;
 import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.validator.ActionValidatorManager;
+import com.opensymphony.xwork2.validator.Validator;
+import org.apache.struts2.util.ClassLoaderUtils;
+
+import java.util.Collections;
+import java.util.List;
 
 /**
  * ListValidatorsAction loads the validations for a given class and context
@@ -41,7 +41,7 @@ public class ListValidatorsAction extend
 
     private String clazz;
     private String context;
-    List validators = Collections.EMPTY_LIST;
+    List<Validator> validators = Collections.EMPTY_LIST;
     private ActionValidatorManager actionValidatorManager;
 
     

Modified: 
struts/struts2/trunk/plugins/config-browser/src/main/resources/config-browser/showValidators.ftl
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/config-browser/src/main/resources/config-browser/showValidators.ftl?rev=933175&r1=933174&r2=933175&view=diff
==============================================================================
--- 
struts/struts2/trunk/plugins/config-browser/src/main/resources/config-browser/showValidators.ftl
 (original)
+++ 
struts/struts2/trunk/plugins/config-browser/src/main/resources/config-browser/showValidators.ftl
 Mon Apr 12 10:23:23 2010
@@ -27,7 +27,7 @@
        <#if validators?exists>
         <#foreach i in validators>       
         <tr <#if i_index%2 gt 0>class="b"<#else>class="a"</#if>>
-               <td>${i.fieldName}</td>
+               <td>${i.fieldName!"(see expression)"}</td>
             <td>${action.stripPackage(i.class)}</td>
             <td>
             <a href="#" 
onClick="window.open('validatorDetails.${extension}?clazz=${clazz}&context=${context}&selected=${row}',
 'Validator Details', 
'resizable=yes,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,width=640,height=480');">details</a>

Modified: 
struts/struts2/trunk/plugins/config-browser/src/main/resources/config-browser/validatorDetails.ftl
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/config-browser/src/main/resources/config-browser/validatorDetails.ftl?rev=933175&r1=933174&r2=933175&view=diff
==============================================================================
--- 
struts/struts2/trunk/plugins/config-browser/src/main/resources/config-browser/validatorDetails.ftl
 (original)
+++ 
struts/struts2/trunk/plugins/config-browser/src/main/resources/config-browser/validatorDetails.ftl
 Mon Apr 12 10:23:23 2010
@@ -34,8 +34,11 @@
     <#foreach prop in properties>
        <tr <#if prop_index%2 gt 0>class="b"<#else>class="a"</#if>>
             <td>${prop.name}</td>
-            <td><#if prop.value?exists> ${prop.value?string} <#else> 
<b>null</b> </#if></td>
-            <td>${prop.type.name}</td>
+            <td><#if prop.value?exists>
+                    <#if prop.value?is_collection>(size = 
${prop.value?size})<#foreach v in prop.value>${v.value}, </#foreach>
+                    <#else>${prop.value?string}</#if>
+                <#else> <b>null</b> </#if></td>
+            <td><#if prop.value?exists && 
prop.value?is_collection>(collection)<#else>${prop.type.name}</#if></td>
         </tr>
     </#foreach></table>
 <#call endPage>


Reply via email to