You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by ta...@apache.org on 2006/03/25 08:46:26 UTC

svn commit: r388719 - in /portals/jetspeed-2/trunk/components/portal/src/java/org/apache/jetspeed/container/url/impl: AbstractPortalURL.java DesktopEncodingPortalURL.java

Author: taylor
Date: Fri Mar 24 23:46:25 2006
New Revision: 388719

URL: http://svn.apache.org/viewcvs?rev=388719&view=rev
Log:
http://issues.apache.org/jira/browse/JS2-514
implement actions in desktop/portlet-pipelined requests

Modified:
    portals/jetspeed-2/trunk/components/portal/src/java/org/apache/jetspeed/container/url/impl/AbstractPortalURL.java
    portals/jetspeed-2/trunk/components/portal/src/java/org/apache/jetspeed/container/url/impl/DesktopEncodingPortalURL.java

Modified: portals/jetspeed-2/trunk/components/portal/src/java/org/apache/jetspeed/container/url/impl/AbstractPortalURL.java
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/components/portal/src/java/org/apache/jetspeed/container/url/impl/AbstractPortalURL.java?rev=388719&r1=388718&r2=388719&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/components/portal/src/java/org/apache/jetspeed/container/url/impl/AbstractPortalURL.java (original)
+++ portals/jetspeed-2/trunk/components/portal/src/java/org/apache/jetspeed/container/url/impl/AbstractPortalURL.java Fri Mar 24 23:46:25 2006
@@ -42,18 +42,18 @@
 {
     public static final String DEFAULT_NAV_STATE_PARAMETER = "_ns";
     
-    private static String navStateParameter;
+    protected static String navStateParameter;
     
-    private NavigationalState navState;
-    private BasePortalURL base = null;
+    protected NavigationalState navState;
+    protected BasePortalURL base = null;
     
-    private String contextPath;
-    private String basePath;
-    private String path;
-    private String encodedNavState;
-    private String secureBaseURL;
-    private String nonSecureBaseURL;
-    private String characterEncoding = "UTF-8";
+    protected String contextPath;
+    protected String basePath;
+    protected String path;
+    protected String encodedNavState;
+    protected String secureBaseURL;
+    protected String nonSecureBaseURL;
+    protected String characterEncoding = "UTF-8";
     
 
     public AbstractPortalURL(NavigationalState navState, PortalContext portalContext, BasePortalURL base)

Modified: portals/jetspeed-2/trunk/components/portal/src/java/org/apache/jetspeed/container/url/impl/DesktopEncodingPortalURL.java
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/components/portal/src/java/org/apache/jetspeed/container/url/impl/DesktopEncodingPortalURL.java?rev=388719&r1=388718&r2=388719&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/components/portal/src/java/org/apache/jetspeed/container/url/impl/DesktopEncodingPortalURL.java (original)
+++ portals/jetspeed-2/trunk/components/portal/src/java/org/apache/jetspeed/container/url/impl/DesktopEncodingPortalURL.java Fri Mar 24 23:46:25 2006
@@ -24,6 +24,7 @@
 import javax.servlet.http.HttpServletRequest;
 
 import org.apache.jetspeed.PortalContext;
+import org.apache.jetspeed.container.ContainerConstants;
 import org.apache.jetspeed.container.state.NavigationalState;
 import org.apache.jetspeed.container.url.BasePortalURL;
 import org.apache.pluto.om.window.PortletWindow;
@@ -41,30 +42,36 @@
  */
 public class DesktopEncodingPortalURL extends AbstractPortalURL
 {
-    private final String javascriptDoRender;
+    protected final String javascriptDoRender;
+    protected final String javascriptDoAction;    
+    protected String baseActionPath;;
     
-    public DesktopEncodingPortalURL(NavigationalState navState, PortalContext portalContext, String javascriptDoRender, BasePortalURL base)
+    public DesktopEncodingPortalURL(NavigationalState navState, PortalContext portalContext, String javascriptDoRender, String javascriptDoAction, BasePortalURL base)
     {
         super(navState, portalContext, base);
-        this.javascriptDoRender = javascriptDoRender;        
+        this.javascriptDoRender = javascriptDoRender;
+        this.javascriptDoAction = javascriptDoAction;        
     }
 
-    public DesktopEncodingPortalURL(NavigationalState navState, PortalContext portalContext, String javascriptDoRender)
+    public DesktopEncodingPortalURL(NavigationalState navState, PortalContext portalContext, String javascriptDoRender, String javascriptDoAction)
     {
         super(navState, portalContext);
         this.javascriptDoRender = javascriptDoRender;                
+        this.javascriptDoAction = javascriptDoAction;
     }
 
     public DesktopEncodingPortalURL(String characterEncoding, NavigationalState navState, PortalContext portalContext)
     {
         super(characterEncoding, navState, portalContext);
         this.javascriptDoRender = null;
+        this.javascriptDoAction = null;
     }
 
     public DesktopEncodingPortalURL(HttpServletRequest request, String characterEncoding, NavigationalState navState, PortalContext portalContext)
     {
         super(request, characterEncoding, navState, portalContext);
-        this.javascriptDoRender = null;        
+        this.javascriptDoRender = null;
+        this.javascriptDoAction = null;
     }
 
     protected void decodePathAndNavigationalState(HttpServletRequest request)
@@ -112,18 +119,35 @@
 
     protected String createPortletURL(String encodedNavState, boolean secure)
     {
-        return createPortletURL(encodedNavState, secure, null);
+        return createPortletURL(encodedNavState, secure, null, false);
     }
     
-    protected String createPortletURL(String encodedNavState, boolean secure, PortletWindow window)
+    protected String createPortletURL(String encodedNavState, boolean secure, PortletWindow window, boolean action)
     {   
         StringBuffer buffer = new StringBuffer("");
-        if (this.javascriptDoRender != null)
+        if (action)
         {
-            buffer.append(this.javascriptDoRender + "(\"");
-        }        
+            if (this.javascriptDoAction != null)
+            {
+                buffer.append(this.javascriptDoAction + "(\"");
+            }            
+        }
+        else
+        {
+            if (this.javascriptDoRender != null)
+            {
+                buffer.append(this.javascriptDoRender + "(\"");
+            }            
+        }   
         buffer.append(getBaseURL(secure));
-        buffer.append(getBasePath());
+        if (action)
+        {
+            buffer.append(this.baseActionPath);
+        }
+        else
+        {
+            buffer.append(getBasePath());            
+        }            
         if ( encodedNavState != null )
         {
             buffer.append("/");
@@ -135,16 +159,33 @@
         {
             buffer.append(getPath());
         }
-        if (this.javascriptDoRender != null)            
+        if (action)
         {
-            if (window != null)
+            if (this.javascriptDoAction != null)            
             {
-                buffer.append("\",\"");
-                buffer.append(window.getPortletEntity().getId());
-                buffer.append("\"");                
+                if (window != null)
+                {
+                    buffer.append("\",\"");
+                    buffer.append(window.getPortletEntity().getId());
+                    buffer.append("\"");                
+                }
+                buffer.append(")");
             }
-            buffer.append(")");
         }
+        else
+        {
+            if (this.javascriptDoRender != null)            
+            {
+                if (window != null)
+                {
+                    buffer.append("\",\"");
+                    buffer.append(window.getPortletEntity().getId());
+                    buffer.append("\"");                
+                }
+                buffer.append(")");
+            }            
+        }
+        System.out.println("*** " + buffer.toString());
         return buffer.toString();
     }        
     
@@ -152,7 +193,7 @@
     {
         try
         {
-            return createPortletURL(this.getNavigationalState().encode(window,parameters,mode,state,action), secure, window);
+            return createPortletURL(this.getNavigationalState().encode(window,parameters,mode,state,action), secure, window, action);
         }
         catch (UnsupportedEncodingException e)
         {
@@ -161,6 +202,12 @@
             // to keep the compiler happy
             return null;
         }
+    }
+    
+    protected void decodeBasePath(HttpServletRequest request)
+    {
+        super.decodeBasePath(request);
+        this.baseActionPath = contextPath + "/action";
     }
     
 }



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