Author: lukaszlenart
Date: Thu May 10 05:54:36 2012
New Revision: 1336486

URL: http://svn.apache.org/viewvc?rev=1336486&view=rev
Log:
WW-3763 adds setter to inject missing UrlHelper

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

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?rev=1336486&r1=1336485&r2=1336486&view=diff
==============================================================================
--- 
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
 Thu May 10 05:54:36 2012
@@ -29,6 +29,7 @@ import org.apache.struts2.dispatcher.map
 import org.apache.struts2.portlet.context.PortletActionContext;
 import org.apache.struts2.portlet.util.PortletUrlHelper;
 import org.apache.struts2.portlet.util.PortletUrlHelperJSR286;
+import org.apache.struts2.views.util.UrlHelper;
 
 import javax.portlet.PortletMode;
 import java.io.IOException;
@@ -44,7 +45,7 @@ public class PortletUrlRenderer implemen
     /**
      * The servlet renderer used when not executing in a portlet context.
      */
-    private UrlRenderer servletRenderer = null;
+    private ServletUrlRenderer servletRenderer = null;
     private PortletUrlHelper portletUrlHelper = null;
 
     public PortletUrlRenderer() {
@@ -62,18 +63,23 @@ public class PortletUrlRenderer implemen
         servletRenderer.setActionMapper(actionMapper);
     }
 
+    @Inject
+    public void setUrlHelper(UrlHelper urlHelper) {
+        servletRenderer.setUrlHelper(urlHelper);
+    }
+
     /**
      * {@inheritDoc}
      */
     public void renderUrl(Writer writer, UrlProvider urlComponent) {
-        if (PortletActionContext.getPortletContext() == null || 
"none".equalsIgnoreCase(urlComponent.getPortletUrlType())) {
+        if (PortletActionContext.getPortletContext() == null) {
             servletRenderer.renderUrl(writer, urlComponent);
             return;
         }
         String result;
         if 
(isPortletModeChange(urlComponent,PortletActionContext.getRequest().getPortletMode())
-                       && StringUtils.isEmpty(urlComponent.getNamespace())
-                       ) {
+                       && StringUtils.isEmpty(urlComponent.getNamespace()))
+        {
                String mode = urlComponent.getPortletMode();
                PortletMode portletMode = new PortletMode(mode);
                String action = urlComponent.getAction();
@@ -126,13 +132,10 @@ public class PortletUrlRenderer implemen
        }
 
     private String createDefaultUrl(UrlProvider urlComponent) {
-        String result;
-        ActionInvocation ai = (ActionInvocation) 
urlComponent.getStack().getContext().get(
-                ActionContext.ACTION_INVOCATION);
+        ActionInvocation ai = (ActionInvocation) 
urlComponent.getStack().getContext().get(ActionContext.ACTION_INVOCATION);
         String action = ai.getProxy().getActionName();
-        result = portletUrlHelper.buildUrl(action, 
urlComponent.getNamespace(), urlComponent.getMethod(), 
urlComponent.getParameters(),
+        return portletUrlHelper.buildUrl(action, urlComponent.getNamespace(), 
urlComponent.getMethod(), urlComponent.getParameters(),
                 urlComponent.getPortletUrlType(), 
urlComponent.getPortletMode(), urlComponent.getWindowState());
-        return result;
     }
 
     private boolean onlyValueSpecified(UrlProvider urlComponent) {
@@ -153,7 +156,7 @@ public class PortletUrlRenderer implemen
         }
         String namespace = 
formComponent.determineNamespace(formComponent.namespace, 
formComponent.getStack(),
                 formComponent.request);
-        String action = null;
+        String action;
         if (formComponent.action != null) {
             action = formComponent.findString(formComponent.action);
         } else {


Reply via email to