You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by gv...@apache.org on 2006/02/11 17:40:16 UTC

svn commit: r377001 - in /struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay: Bundle.properties utils/ClayAmalgam.java

Author: gvanmatre
Date: Sat Feb 11 08:40:15 2006
New Revision: 377001

URL: http://svn.apache.org/viewcvs?rev=377001&view=rev
Log:
Added more exception handling to the clayForEach callback.

Modified:
    struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/Bundle.properties
    struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/utils/ClayAmalgam.java

Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/Bundle.properties
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/Bundle.properties?rev=377001&r1=377000&r2=377001&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/Bundle.properties (original)
+++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/Bundle.properties Sat Feb 11 08:40:15 2006
@@ -142,6 +142,7 @@
 missing.attribute=The "{0}" attribute is required when using the ClayAmalgam.{1}() validator method binding event.
 invalid.binding=Invalid use of the ClayAmalgam.{0}() validator method binding event.  This method assume the use of the Clay component's "shapeValidator" property binding.
 invalid.attribute=The "{0}" attribute is required when using the ClayAmalgam.{1}() validator method binding event.
+invalid.collectiontype=Evaluation of the value expression "{0}" did not return a valid collection type.  The clayForEach only allows List, Map and Object[] types.
 
 #(ALL)
 clay.null.tagUtils=The utility managed bean "org.apache.shale.TAG_UTILITY_BEAN" registered in the core shale jar cannot be resolved.   

Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/utils/ClayAmalgam.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/utils/ClayAmalgam.java?rev=377001&r1=377000&r2=377001&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/utils/ClayAmalgam.java (original)
+++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/utils/ClayAmalgam.java Sat Feb 11 08:40:15 2006
@@ -170,7 +170,7 @@
         String value = (String) clay.getAttributes().get("value");
         value = tagUtils.eval(value);
         if (value == null) {
-            throw new RuntimeException(messages.getMessage("missing.attribute", new Object[] {"value", "clayOut"}));    
+            throw new IllegalArgumentException(messages.getMessage("missing.attribute", new Object[] {"value", "clayOut"}));    
         }
         
         boolean escapeXml = false;
@@ -234,7 +234,7 @@
         Clay clay = (Clay) component;
         String url = (String) clay.getAttributes().get("url");
         if (url == null) {
-            throw new RuntimeException(messages.getMessage("missing.attribute", new Object[] {"url", "clayImport"}));    
+            throw new IllegalArgumentException(messages.getMessage("missing.attribute", new Object[] {"url", "clayImport"}));    
         }
         url = tagUtils.eval(url);
         
@@ -331,25 +331,19 @@
         Clay clay = (Clay) component;
         String value = (String) clay.getAttributes().get("value");
         if (value == null) {
-            throw new RuntimeException(messages.getMessage("missing.attribute", new Object[] {"value", "clayForEach"}));    
+            throw new IllegalArgumentException(messages.getMessage("missing.attribute", new Object[] {"value", "clayForEach"}));    
         }
 
         String bodyJsfid = (String) clay.getAttributes().get("bodyJsfid");
         bodyJsfid = tagUtils.eval(bodyJsfid);
         if (bodyJsfid == null) {
-            throw new RuntimeException(messages.getMessage("missing.attribute", new Object[] {"bodyJsfid", "clayForEach"}));    
+            throw new IllegalArgumentException(messages.getMessage("missing.attribute", new Object[] {"bodyJsfid", "clayForEach"}));    
         }
 
         String var = (String) clay.getAttributes().get("var");
         var = tagUtils.eval(var);
         if (var == null) {
-            throw new RuntimeException(messages.getMessage("missing.attribute", new Object[] {"var", "clayForEach"}));    
-        }
- 
-        String scope = (String) clay.getAttributes().get("scope");
-        scope = tagUtils.eval(scope);
-        if ((scope == null) || !(scope.equals("session") || scope.equals("request"))) {
-           scope = "session";    
+            throw new IllegalArgumentException(messages.getMessage("missing.attribute", new Object[] {"var", "clayForEach"}));    
         }
             
         // lookup the ConfigBean that handles the bodyJsfid
@@ -362,7 +356,7 @@
         if (b == null)
             throw new NullPointerException(messages.getMessage(
                     "clay.jsfid.notfound", new Object[] { bodyJsfid }));
-
+  
         ValueBinding vb = context.getApplication().createValueBinding(value);
         final Object valueList = vb.getValue(context);
                 
@@ -395,7 +389,10 @@
                     };
 
                 };
-            }
+           } else {
+              throw new IllegalArgumentException(
+                      messages.getMessage("invalid.collectiontype", new Object[] {value}));
+           }
         }
        
         if (vi != null) {



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org