You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by rg...@apache.org on 2007/08/14 15:49:46 UTC

svn commit: r565756 - in /struts/struts2/trunk: core/src/main/java/org/apache/struts2/components/ plugins/portlet/src/main/java/org/apache/struts2/components/

Author: rgielen
Date: Tue Aug 14 06:49:45 2007
New Revision: 565756

URL: http://svn.apache.org/viewvc?view=rev&rev=565756
Log:
WW-2109:
id resolution for <s:form> - minor cleanups

Modified:
    struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Form.java
    struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java
    struts/struts2/trunk/plugins/portlet/src/main/java/org/apache/struts2/components/PortletUrlRenderer.java

Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Form.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Form.java?view=diff&rev=565756&r1=565755&r2=565756
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Form.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Form.java Tue Aug 14 06:49:45 2007
@@ -20,26 +20,6 @@
  */
 package org.apache.struts2.components;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.struts2.views.annotations.StrutsTag;
-import org.apache.struts2.views.annotations.StrutsTagAttribute;
-import org.apache.struts2.StrutsConstants;
-import org.apache.struts2.dispatcher.Dispatcher;
-import org.apache.struts2.dispatcher.mapper.ActionMapping;
-//import org.apache.struts2.portlet.context.PortletActionContext;
-//import org.apache.struts2.portlet.util.PortletUrlHelper;
-import org.apache.struts2.views.util.UrlHelper;
-
-import com.opensymphony.xwork2.ActionContext;
-import com.opensymphony.xwork2.ActionInvocation;
 import com.opensymphony.xwork2.ObjectFactory;
 import com.opensymphony.xwork2.config.Configuration;
 import com.opensymphony.xwork2.config.RuntimeConfiguration;
@@ -48,11 +28,18 @@
 import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.interceptor.MethodFilterInterceptorUtil;
 import com.opensymphony.xwork2.util.ValueStack;
-import com.opensymphony.xwork2.util.TextUtils;
 import com.opensymphony.xwork2.validator.ActionValidatorManagerFactory;
 import com.opensymphony.xwork2.validator.FieldValidator;
 import com.opensymphony.xwork2.validator.ValidationInterceptor;
 import com.opensymphony.xwork2.validator.Validator;
+import org.apache.struts2.StrutsConstants;
+import org.apache.struts2.views.annotations.StrutsTag;
+import org.apache.struts2.views.annotations.StrutsTagAttribute;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.*;
+import java.util.Set;
 
 /**
  * <!-- START SNIPPET: javadoc -->
@@ -222,32 +209,30 @@
      * </ol>
      */
     protected void populateComponentHtmlId(Form form) {
-        boolean isAjax = "ajax".equalsIgnoreCase(this.theme);
-
-        String action = null;
-        if (this.action != null) {
-            // if it isn't specified, we'll make somethig up
-            action = findString(this.action);
-        }
-
         if (id != null) {
             addParameter("id", escape(id));
+        } else if (this.action != null) {
+            // if it isn't specified, we'll make somethig up
+            String action = findString(this.action);
+            if (action != null) {
+                addParameter("id", escape(action));
+            }
         }
+
         urlRenderer.renderFormUrl(this);
     }
 
     /**
-     * @param isAjax
-     * @param namespace
-     * @param action
+     * Evaluate client side JavaScript Enablement.
+     * @param actionName the actioName to check for
+     * @param namespace the namespace to check for
+     * @param actionMethod the method to ckeck for
      */
-
-
     protected void evaluateClientSideJsEnablement(String actionName, String namespace, String actionMethod) {
 
         // Only evaluate if Client-Side js is to be enable when validate=true
         Boolean validate = (Boolean) getParameters().get("validate");
-        if (validate != null && validate.booleanValue()) {
+        if (validate != null && validate) {
 
             addParameter("performValidation", Boolean.FALSE);
 
@@ -255,9 +240,8 @@
             ActionConfig actionConfig = runtimeConfiguration.getActionConfig(namespace, actionName);
 
             if (actionConfig != null) {
-                List interceptors = actionConfig.getInterceptors();
-                for (Iterator i = interceptors.iterator(); i.hasNext();) {
-                    InterceptorMapping interceptorMapping = (InterceptorMapping) i.next();
+                List<InterceptorMapping> interceptors = actionConfig.getInterceptors();
+                for (InterceptorMapping interceptorMapping : interceptors) {
                     if (ValidationInterceptor.class.isInstance(interceptorMapping.getInterceptor())) {
                         ValidationInterceptor validationInterceptor = (ValidationInterceptor) interceptorMapping.getInterceptor();
 
@@ -280,10 +264,9 @@
             return Collections.EMPTY_LIST;
         }
 
-        List all = ActionValidatorManagerFactory.getInstance().getValidators(actionClass, (String) getParameters().get("actionName"));
-        List validators = new ArrayList();
-        for (Iterator iterator = all.iterator(); iterator.hasNext();) {
-            Validator validator = (Validator) iterator.next();
+        List<Validator> all = ActionValidatorManagerFactory.getInstance().getValidators(actionClass, (String) getParameters().get("actionName"));
+        List<Validator> validators = new ArrayList<Validator>();
+        for (Validator validator : all) {
             if (validator instanceof FieldValidator) {
                 FieldValidator fieldValidator = (FieldValidator) validator;
                 if (fieldValidator.getFieldName().equals(name)) {

Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java?view=diff&rev=565756&r1=565755&r2=565756
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java Tue Aug 14 06:49:45 2007
@@ -93,13 +93,11 @@
 	public void renderFormUrl(Form formComponent) {
 		String namespace = formComponent.determineNamespace(formComponent.namespace, formComponent.getStack(),
 				formComponent.request);
-		String action = null;
+		String action;
 
 		if(formComponent.action != null) {
 			action = formComponent.findString(formComponent.action);
-		}
-		
-		if (formComponent.action == null) {
+		} else {
 			// no action supplied? ok, then default to the current request
 			// (action or general URL)
 			ActionInvocation ai = (ActionInvocation) formComponent.getStack().getContext().get(
@@ -154,19 +152,19 @@
 			}
 
 			// if the id isn't specified, use the action name
-			if (formComponent.getId() == null) {
-				formComponent.addParameter("id", action);
+			if (formComponent.getId() == null  && action!=null ) {
+				formComponent.addParameter("id", formComponent.escape(action));
 			}
 		} else if (action != null) {
 			// Since we can't find an action alias in the configuration, we just
 			// assume the action attribute supplied is the path to be used as
 			// the URI this form is submitting to.
 
-      // Warn user that the specified namespace/action combo
-      // was not found in the configuration.
-      if (namespace != null) {
-          LOG.warn("No configuration found for the specified action: '" + action + "' in namespace: '" + namespace + "'. Form action defaulting to 'action' attribute's literal value.");
-      }
+            // Warn user that the specified namespace/action combo
+            // was not found in the configuration.
+            if (namespace != null) {
+              LOG.warn("No configuration found for the specified action: '" + action + "' in namespace: '" + namespace + "'. Form action defaulting to 'action' attribute's literal value.");
+            }
 
 			String result = UrlHelper.buildUrl(action, formComponent.request, formComponent.response, null);
 			formComponent.addParameter("action", result);

Modified: struts/struts2/trunk/plugins/portlet/src/main/java/org/apache/struts2/components/PortletUrlRenderer.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/portlet/src/main/java/org/apache/struts2/components/PortletUrlRenderer.java?view=diff&rev=565756&r1=565755&r2=565756
==============================================================================
--- struts/struts2/trunk/plugins/portlet/src/main/java/org/apache/struts2/components/PortletUrlRenderer.java (original)
+++ struts/struts2/trunk/plugins/portlet/src/main/java/org/apache/struts2/components/PortletUrlRenderer.java Tue Aug 14 06:49:45 2007
@@ -20,20 +20,17 @@
  */
 package org.apache.struts2.components;
 
-import java.io.IOException;
-import java.io.Writer;
-
+import com.opensymphony.xwork2.util.TextUtils;
 import org.apache.struts2.StrutsException;
-import org.apache.struts2.components.URL;
-import org.apache.struts2.components.UrlRenderer;
 import org.apache.struts2.portlet.util.PortletUrlHelper;
 
-import com.opensymphony.xwork2.util.TextUtils;
+import java.io.IOException;
+import java.io.Writer;
 
 /**
- * Implementation of the {@link URLRenderer} interface that renders URLs for portlet environments.
+ * Implementation of the {@link UrlRenderer} interface that renders URLs for portlet environments.
  * 
- * @see URLRenderer
+ * @see UrlRenderer
  *
  */
 public class PortletUrlRenderer implements UrlRenderer {
@@ -48,30 +45,30 @@
 			scheme = urlComponent.scheme;
 		}
 
-	       String result;
-	        if (urlComponent.value == null && urlComponent.action != null) {
-	                result = PortletUrlHelper.buildUrl(urlComponent.action, urlComponent.namespace, urlComponent.method, urlComponent.parameters, urlComponent.portletUrlType, urlComponent.portletMode, urlComponent.windowState);
-	        } else {
-	                result = PortletUrlHelper.buildResourceUrl(urlComponent.value, urlComponent.parameters);
-	        }
-	        if ( urlComponent.anchor != null && urlComponent.anchor.length() > 0 ) {
-	            result += '#' + urlComponent.anchor;
-	        }
-
-	        String var = urlComponent.getVar();
-
-	        if (var != null) {
-	        	urlComponent.putInContext(result);
-
-	            // add to the request and page scopes as well
-	        	urlComponent.req.setAttribute(var, result);
-	        } else {
-	            try {
-	                writer.write(result);
-	            } catch (IOException e) {
-	                throw new StrutsException("IOError: " + e.getMessage(), e);
-	            }
-	        }
+        String result;
+        if (urlComponent.value == null && urlComponent.action != null) {
+                result = PortletUrlHelper.buildUrl(urlComponent.action, urlComponent.namespace, urlComponent.method, urlComponent.parameters, urlComponent.portletUrlType, urlComponent.portletMode, urlComponent.windowState);
+        } else {
+                result = PortletUrlHelper.buildResourceUrl(urlComponent.value, urlComponent.parameters);
+        }
+        if ( urlComponent.anchor != null && urlComponent.anchor.length() > 0 ) {
+            result += '#' + urlComponent.anchor;
+        }
+
+        String var = urlComponent.getVar();
+
+        if (var != null) {
+            urlComponent.putInContext(result);
+
+            // add to the request and page scopes as well
+            urlComponent.req.setAttribute(var, result);
+        } else {
+            try {
+                writer.write(result);
+            } catch (IOException e) {
+                throw new StrutsException("IOError: " + e.getMessage(), e);
+            }
+        }
 	}
 
 	/**