svn commit: r609901 - in /struts/struts2/trunk/plugins/portlet/src: main/java/org/apache/struts2/components/PortletUrlRenderer.java test/java/org/apache/struts2/views/jsp/PortletUrlTagTest.java

2008-01-08 Thread nilsga
Author: nilsga
Date: Tue Jan  8 00:18:23 2008
New Revision: 609901

URL: http://svn.apache.org/viewvc?rev=609901&view=rev
Log:
WW-2370 Using the name of the current executing action in the url when no 
action is specified.

Modified:

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

struts/struts2/trunk/plugins/portlet/src/test/java/org/apache/struts2/views/jsp/PortletUrlTagTest.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=609901&r1=609900&r2=609901&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
 Tue Jan  8 00:18:23 2008
@@ -20,6 +20,8 @@
  */
 package org.apache.struts2.components;
 
+import com.opensymphony.xwork2.ActionContext;
+import com.opensymphony.xwork2.ActionInvocation;
 import com.opensymphony.xwork2.util.TextUtils;
 import org.apache.struts2.StrutsException;
 import org.apache.struts2.portlet.util.PortletUrlHelper;
@@ -46,11 +48,14 @@
}
 
 String result;
-if (urlComponent.value == null && urlComponent.action != null) {
+if (onlyActionSpecified(urlComponent)) {
 result = PortletUrlHelper.buildUrl(urlComponent.action, 
urlComponent.namespace, urlComponent.method, urlComponent.parameters, 
urlComponent.portletUrlType, urlComponent.portletMode, 
urlComponent.windowState);
-} else {
+} else if(onlyValueSpecified(urlComponent)){
 result = PortletUrlHelper.buildResourceUrl(urlComponent.value, 
urlComponent.parameters);
 }
+else {
+   result = createDefaultUrl(urlComponent);
+}
 if ( urlComponent.anchor != null && urlComponent.anchor.length() > 0 ) 
{
 result += '#' + urlComponent.anchor;
 }
@@ -71,14 +76,34 @@
 }
}
 
+   private String createDefaultUrl(URL urlComponent) {
+   String result;
+   ActionInvocation ai = 
(ActionInvocation)urlComponent.getStack().getContext().get(
+   ActionContext.ACTION_INVOCATION);
+   String action = ai.getProxy().getActionName();
+   result = PortletUrlHelper.buildUrl(action, 
urlComponent.namespace, urlComponent.method, urlComponent.parameters, 
urlComponent.portletUrlType, urlComponent.portletMode, 
urlComponent.windowState);
+   return result;
+   }
+
+   private boolean onlyValueSpecified(URL urlComponent) {
+   return urlComponent.value != null && urlComponent.action == 
null;
+   }
+
+   private boolean onlyActionSpecified(URL urlComponent) {
+   return urlComponent.value == null && urlComponent.action != 
null;
+   }
+
/**
 * [EMAIL PROTECTED]
 */
public void renderFormUrl(Form formComponent) {
String action = null;
 if (formComponent.action != null) {
-// if it isn't specified, we'll make somethig up
 action = formComponent.findString(formComponent.action);
+}
+else {
+   ActionInvocation ai = (ActionInvocation) 
formComponent.getStack().getContext().get(ActionContext.ACTION_INVOCATION);
+   action = ai.getProxy().getActionName();
 }
 
 String type = "action";

Modified: 
struts/struts2/trunk/plugins/portlet/src/test/java/org/apache/struts2/views/jsp/PortletUrlTagTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/portlet/src/test/java/org/apache/struts2/views/jsp/PortletUrlTagTest.java?rev=609901&r1=609900&r2=609901&view=diff
==
--- 
struts/struts2/trunk/plugins/portlet/src/test/java/org/apache/struts2/views/jsp/PortletUrlTagTest.java
 (original)
+++ 
struts/struts2/trunk/plugins/portlet/src/test/java/org/apache/struts2/views/jsp/PortletUrlTagTest.java
 Tue Jan  8 00:18:23 2008
@@ -20,7 +20,6 @@
  */
 package org.apache.struts2.views.jsp;
 
-import java.lang.reflect.Field;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -48,11 +47,14 @@
 
 import com.mockobjects.servlet.MockJspWriter;
 import com.opensymphony.xwork2.ActionContext;
+import com.opensymphony.xwork2.ActionInvocation;
+import com.opensymphony.xwork2.ActionProxy;
 import com.opensymphony.xwork2.util.ValueStack;
 import com.opensymphony.xwork2.util.ValueStackFactory;
 
 /**
  */
[EMAIL PROTECTED]("unchecked")
 public class PortletUrlTagTest extends MockObjectTestCase {
 
 URLTag tag 

[CONF] Confluence Changes in the last 24 hours

2008-01-08 Thread confluence
-
This is a daily summary of all recent changes in Confluence.

-
Updated Spaces:
-

Apache Sling (SLING) http://cwiki.apache.org/confluence/display/SLING
|
|-Pages Added or Edited in This Space
 |-- Links was created by fmeschbe (03:46 AM).
 |   http://cwiki.apache.org/confluence/display/SLING/Links
 |-- Navigation was last edited by fmeschbe (03:20 AM).
 |   http://cwiki.apache.org/confluence/display/SLING/Navigation
 |-- FAQ was created by fmeschbe (02:27 AM).
 |   http://cwiki.apache.org/confluence/display/SLING/FAQ

Apache CXF 2.0 Documentation (CXF20DOC) 
http://cwiki.apache.org/confluence/display/CXF20DOC
|
|-Pages Added or Edited in This Space
 |-- AppServerGuide was last edited by karaznie (02:24 AM).
 |   http://cwiki.apache.org/confluence/display/CXF20DOC/AppServerGuide

Apache ActiveMQ (ACTIVEMQ) http://cwiki.apache.org/confluence/display/ACTIVEMQ
|
|-Pages Added or Edited in This Space
 |-- Discovery was last edited by [EMAIL PROTECTED] (01:50 AM).
 |   http://cwiki.apache.org/confluence/display/ACTIVEMQ/Discovery

Apache ServiceMix NMR (SMX4NMR) 
http://cwiki.apache.org/confluence/display/SMX4NMR
|
|-Pages Added or Edited in This Space
 |-- 1. Quick Start was last edited by gnodet (10:54 AM).
 |   http://cwiki.apache.org/confluence/display/SMX4NMR/1.+Quick+Start

Apache Struts 2 Plugin Registry (S2PLUGINS) 
http://cwiki.apache.org/confluence/display/S2PLUGINS
|
|-Pages Added or Edited in This Space
 |-- Portlet Plugin was created by nilsga (03:45 AM).
 |   http://cwiki.apache.org/confluence/display/S2PLUGINS/Portlet+Plugin
 |-- Struts 2 Portlet Tutorial was last edited by nilsga (04:07 AM).
 |   
http://cwiki.apache.org/confluence/display/S2PLUGINS/Struts+2+Portlet+Tutorial

Apache Geronimo Project Management (GMOxPMGT) 
http://cwiki.apache.org/confluence/display/GMOxPMGT
|
|-Pages Added or Edited in This Space
 |-- Release Eclipse Plugin Process was last edited by mcconne (11:49 AM).
 |   
http://cwiki.apache.org/confluence/display/GMOxPMGT/Release+Eclipse+Plugin+Process

Tuscany Wiki (TUSCANYWIKI) 
http://cwiki.apache.org/confluence/display/TUSCANYWIKI
|
|-Pages Added or Edited in This Space
 |-- Binding URI Construction was last edited by scnash (07:58 AM).
 |   
http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Binding+URI+Construction

Apache Struts 2 Documentation (WW) http://cwiki.apache.org/confluence/display/WW
|
|-Pages Added or Edited in This Space
 |-- JasperReports Tutorial was last edited by [EMAIL PROTECTED] (03:36 PM).
 |   http://cwiki.apache.org/confluence/display/WW/JasperReports+Tutorial

Apache Ode (ODExSITE) http://cwiki.apache.org/confluence/display/ODExSITE
|
|-Pages Added or Edited in This Space
 |-- RESTful BPEL, Part II was last edited by boisvert (01:59 PM).
 |   http://cwiki.apache.org/confluence/display/ODExSITE/RESTful+BPEL%2C+Part+II
 |-- RESTful BPEL, Part I was last edited by boisvert (01:57 PM).
 |   http://cwiki.apache.org/confluence/display/ODExSITE/RESTful+BPEL%2C+Part+I

Apache Geronimo v2.1 (GMOxDOC21) 
http://cwiki.apache.org/confluence/display/GMOxDOC21
|
|-Pages Added or Edited in This Space
 |-- Deployment plan creator was last edited by shivakumar (08:29 PM).
 |   
http://cwiki.apache.org/confluence/display/GMOxDOC21/Deployment+plan+creator

Apache Wicket (WICKET) http://cwiki.apache.org/confluence/display/WICKET
|
|-Pages Added or Edited in This Space
 |-- Index was last edited by ptrthomas (03:54 AM).
 |   http://cwiki.apache.org/confluence/display/WICKET/Index
 |-- Blog Tutorial was created by xfactor (03:45 AM).
 |   http://cwiki.apache.org/confluence/display/WICKET/Blog+Tutorial


-
CONFLUENCE INFORMATION
This message is automatically generated by Confluence

Unsubscribe or edit your notifications preferences
   http://cwiki.apache.org/confluence/users/viewnotifications.action

If you think it was sent incorrectly contact one of the administrators
   http://cwiki.apache.org/confluence/administrators.action

If you want more information on Confluence, or have a bug to report see
   http://www.atlassian.com/software/confluence