You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wsrp4j-dev@portals.apache.org by dl...@apache.org on 2007/01/03 22:30:45 UTC

svn commit: r492309 - in /portals/wsrp4j/trunk/consumer-proxyportlet/src: java/org/apache/wsrp4j/consumer/proxyportlet/impl/ java/org/apache/wsrp4j/consumer/proxyportlet/template/ java/org/apache/wsrp4j/consumer/proxyportlet/template/jetspeed/ java/org...

Author: dlouzan
Date: Wed Jan  3 13:30:44 2007
New Revision: 492309

URL: http://svn.apache.org/viewvc?view=rev&rev=492309
Log:
Developing of template processing: still not usable

Added:
    portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/TemplateConstants.java
    portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/TemplateProcessor.java
Modified:
    portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/impl/URLTemplateComposerImpl.java
    portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/PortalTemplateComposer.java
    portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/PortalTemplateComposerService.java
    portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/jetspeed/JetspeedPortalTemplateComposer.java
    portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/jetspeed/JetspeedPortalTemplateComposerService.java
    portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/pluto/PlutoPortalControlParameter.java
    portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/pluto/PlutoPortalTemplateComposer.java
    portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/pluto/PlutoPortalTemplateComposerService.java
    portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/pluto/PlutoPortalURL.java
    portals/wsrp4j/trunk/consumer-proxyportlet/src/webapp/WEB-INF/web.xml

Modified: portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/impl/URLTemplateComposerImpl.java
URL: http://svn.apache.org/viewvc/portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/impl/URLTemplateComposerImpl.java?view=diff&rev=492309&r1=492308&r2=492309
==============================================================================
--- portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/impl/URLTemplateComposerImpl.java (original)
+++ portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/impl/URLTemplateComposerImpl.java Wed Jan  3 13:30:44 2007
@@ -85,8 +85,7 @@
         
         if (composerService != null) {
             PortalTemplateComposer templateComposer =
-                    composerService.getPortalTemplateComposer(
-                    currentRequest, currentResponse);
+                    composerService.getPortalTemplateComposer();
             template = templateComposer.getBlockingActionTemplate();
         }
         
@@ -102,8 +101,7 @@
         
         if (composerService != null) {
             PortalTemplateComposer templateComposer =
-                    composerService.getPortalTemplateComposer(
-                    currentRequest, currentResponse);
+                    composerService.getPortalTemplateComposer();
             template = templateComposer.getSecureBlockingActionTemplate();
         }
         
@@ -118,8 +116,7 @@
         
         if (composerService != null) {
             PortalTemplateComposer templateComposer =
-                    composerService.getPortalTemplateComposer(
-                    currentRequest, currentResponse);
+                    composerService.getPortalTemplateComposer();
             template = templateComposer.getRenderTemplate();
         }
         
@@ -135,8 +132,7 @@
         
         if (composerService != null) {
             PortalTemplateComposer templateComposer =
-                    composerService.getPortalTemplateComposer(
-                    currentRequest, currentResponse);
+                    composerService.getPortalTemplateComposer();
             template = templateComposer.getSecureRenderTemplate();
         }
         
@@ -151,8 +147,7 @@
         
         if (composerService != null) {
             PortalTemplateComposer templateComposer =
-                    composerService.getPortalTemplateComposer(
-                    currentRequest, currentResponse);
+                    composerService.getPortalTemplateComposer();
             template = templateComposer.getResourceTemplate();
         }
         
@@ -168,8 +163,7 @@
         
         if (composerService != null) {
             PortalTemplateComposer templateComposer =
-                    composerService.getPortalTemplateComposer(
-                    currentRequest, currentResponse);
+                    composerService.getPortalTemplateComposer();
             template = templateComposer.getSecureResourceTemplate();
         }
         
@@ -185,9 +179,9 @@
 
         if (composerService != null) {
             PortalTemplateComposer templateComposer =
-                    composerService.getPortalTemplateComposer(
-                    currentRequest, currentResponse);
-            template = templateComposer.getDefaultTemplate();
+                    composerService.getPortalTemplateComposer();
+            template = templateComposer.getDefaultTemplate(currentRequest,
+                    currentResponse);
         }
         
         return template;
@@ -202,9 +196,9 @@
         
         if (composerService != null) {
             PortalTemplateComposer templateComposer =
-                    composerService.getPortalTemplateComposer(
-                    currentRequest, currentResponse);
-            template = templateComposer.getSecureDefaultTemplate();
+                    composerService.getPortalTemplateComposer();
+            template = templateComposer.getSecureDefaultTemplate(currentRequest,
+                    currentResponse);
         }
         
         return template;

Modified: portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/PortalTemplateComposer.java
URL: http://svn.apache.org/viewvc/portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/PortalTemplateComposer.java?view=diff&rev=492309&r1=492308&r2=492309
==============================================================================
--- portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/PortalTemplateComposer.java (original)
+++ portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/PortalTemplateComposer.java Wed Jan  3 13:30:44 2007
@@ -15,19 +15,135 @@
  */
 package org.apache.wsrp4j.consumer.proxyportlet.template;
 
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletResponse;
+
+import org.apache.wsrp4j.commons.util.Constants;
+
 
 /**
+ * Each portal must provide an implementation of this class if it wants to
+ * support producer templates.
+ *
  * @version $Id$
  */
-public interface PortalTemplateComposer {
+public abstract class PortalTemplateComposer {
+    
+    public String getBlockingActionTemplate() {
+        return null;
+    }
+    
+    public String getSecureBlockingActionTemplate() {
+        return null;
+    }
+    
+    public String getRenderTemplate() {
+        return null;
+    }
+    
+    public String getSecureRenderTemplate() {
+        return null;
+    }
+    
+    public String getResourceTemplate() {
+        return null;
+    }
+    
+    public String getSecureResourceTemplate() {
+        return null;
+    }
+    
+    public String getDefaultTemplate(PortletRequest request,
+            PortletResponse response) {
+
+        String templateProxy = response.encodeURL(
+                request.getContextPath() + 
+                TemplateConstants.TEMPLATE_PROCESSOR_SERVLET);
+        
+        return templateProxy + Constants.PARAMS_START +
+                TemplateConstants.PORTAL_URL + Constants.EQUALS + 
+                getPortalUrl(request, response) +
+                Constants.NEXT_PARAM_AMP +
+                TemplateConstants.DEFAULT_TEMPLATE;
+
+    }
+    
+    public String getSecureDefaultTemplate(PortletRequest request,
+            PortletResponse response) {
+        
+        String templateProxy = response.encodeURL(
+                request.getContextPath() + 
+                TemplateConstants.TEMPLATE_PROCESSOR_SERVLET);
+        
+        return templateProxy + Constants.PARAMS_START +
+                TemplateConstants.PORTAL_URL + Constants.EQUALS + 
+                getPortalUrl(request, response) +
+                Constants.NEXT_PARAM_AMP +
+                TemplateConstants.DEFAULT_SECURE_TEMPLATE;
+        
+    }
+    
+    public abstract String getPortalUrl(PortletRequest request,
+            PortletResponse response);
+    
+    public abstract String processDefaultTemplate(
+            String portalUrl, String urlType,
+            String portletHandle, String userContextKey,
+            String portletInstanceKey, String sessionId,
+            String navigationalState, String interactionState,
+            String mode, String windowState, String url,
+            String fragmentId, boolean requiresRewrite);
+    
+    public abstract String processDefaultSecureTemplate(
+            String portalUrl, String urlType,
+            String portletHandle, String userContextKey,
+            String portletInstanceKey, String sessionId,
+            String navigationalState, String interactionState,
+            String mode, String windowState, String url,
+            String fragmentId, boolean requiresRewrite);
+    
+    public abstract String processRenderTemplate(
+            String portalUrl, String portletHandle, 
+            String userContextKey, String portletInstanceKey,
+            String sessionId, String navigationalState, 
+            String mode, String windowState, 
+            String fragmentId, boolean requiresRewrite);
+    
+    public abstract String processSecureRenderTemplate(
+            String portalUrl, String portletHandle, 
+            String userContextKey, String portletInstanceKey,
+            String sessionId, String navigationalState, 
+            String mode, String windowState, 
+            String fragmentId, boolean requiresRewrite);
+    
+    public abstract String processBlockingActionTemplate(
+            String portalUrl, String portletHandle, 
+            String userContextKey, String portletInstanceKey,
+            String sessionId, String navigationalState, 
+            String interactionState,
+            String mode, String windowState, 
+            String fragmentId, boolean requiresRewrite);
+    
+    public abstract String processSecureBlockingActionTemplate(
+            String portalUrl, String portletHandle, 
+            String userContextKey, String portletInstanceKey,
+            String sessionId, String navigationalState, 
+            String interactionState,
+            String mode, String windowState, 
+            String fragmentId, boolean requiresRewrite);
+    
+    public abstract String processResourceTemplate(
+            String portalUrl, String portletHandle, 
+            String userContextKey, String portletInstanceKey,
+            String sessionId, String navigationalState, 
+            String mode, String windowState,
+            String url, boolean requiresRewrite);
     
-    public String getBlockingActionTemplate();
-    public String getSecureBlockingActionTemplate();
-    public String getRenderTemplate();
-    public String getSecureRenderTemplate();
-    public String getResourceTemplate();
-    public String getSecureResourceTemplate();
-    public String getDefaultTemplate();
-    public String getSecureDefaultTemplate();
+    public abstract String processSecureResourceTemplate(
+            String portalUrl, String portletHandle, 
+            String userContextKey, String portletInstanceKey,
+            String sessionId, String navigationalState, 
+            String mode, String windowState,
+            String url, boolean requiresRewrite);
     
 }

Modified: portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/PortalTemplateComposerService.java
URL: http://svn.apache.org/viewvc/portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/PortalTemplateComposerService.java?view=diff&rev=492309&r1=492308&r2=492309
==============================================================================
--- portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/PortalTemplateComposerService.java (original)
+++ portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/PortalTemplateComposerService.java Wed Jan  3 13:30:44 2007
@@ -15,16 +15,12 @@
  */
 package org.apache.wsrp4j.consumer.proxyportlet.template;
 
-import javax.portlet.PortletRequest;
-import javax.portlet.PortletResponse;
-
 
 /**
  * @version $Id$
  */
 public interface PortalTemplateComposerService {
     
-    public PortalTemplateComposer getPortalTemplateComposer(
-            PortletRequest request, PortletResponse response);
+    public PortalTemplateComposer getPortalTemplateComposer();
     
 }

Added: portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/TemplateConstants.java
URL: http://svn.apache.org/viewvc/portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/TemplateConstants.java?view=auto&rev=492309
==============================================================================
--- portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/TemplateConstants.java (added)
+++ portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/TemplateConstants.java Wed Jan  3 13:30:44 2007
@@ -0,0 +1,75 @@
+/**
+ * Copyright 2003-2006 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wsrp4j.consumer.proxyportlet.template;
+
+import org.apache.wsrp4j.commons.util.Constants;
+
+
+/**
+ * Constants used by TemplateProcessor on the urls it creates.
+ *
+ * @version $Id$
+ */
+public final class TemplateConstants {
+    
+    private TemplateConstants() {}
+    
+    /* A constant pointing to the TemplateProcessor servlet */
+    public static final String TEMPLATE_PROCESSOR_SERVLET = 
+            "/WSRP4JTemplateProcessor";
+    
+    /* The parameter used to inject the portal provided url for templates */
+    public static final String PORTAL_URL = "proxyportlet-portalUrl";
+    
+    /* A base template for default templates */
+    public static final String DEFAULT_TEMPLATE_BASE =
+            Constants.URL_TYPE + Constants.EQUALS + Constants.URL_TYPE_TEMPLATE +
+            Constants.NEXT_PARAM_AMP +
+            Constants.PORTLET_HANDLE + Constants.EQUALS + Constants.PORTLET_HANDLE_TEMPLATE +
+            Constants.NEXT_PARAM_AMP +
+            Constants.USER_CONTEXT_KEY + Constants.EQUALS + Constants.USER_CONTEXT_KEY_TEMPLATE +
+            Constants.NEXT_PARAM_AMP +
+            Constants.PORTLET_INSTANCE_KEY + Constants.EQUALS + Constants.PORTLET_INSTANCE_KEY_TEMPLATE +
+            Constants.NEXT_PARAM_AMP +
+            Constants.SESSION_ID + Constants.EQUALS + Constants.SESSION_ID_TEMPLATE +
+            Constants.NEXT_PARAM_AMP +
+            Constants.NAVIGATIONAL_STATE + Constants.EQUALS + Constants.NAVIGATIONAL_STATE_TEMPLATE +
+            Constants.NEXT_PARAM_AMP +
+            Constants.INTERACTION_STATE + Constants.EQUALS + Constants.INTERACTION_STATE_TEMPLATE +
+            Constants.NEXT_PARAM_AMP +
+            Constants.PORTLET_MODE + Constants.EQUALS + Constants.PORTLET_MODE_TEMPLATE +
+            Constants.NEXT_PARAM_AMP +
+            Constants.WINDOW_STATE + Constants.EQUALS + Constants.WINDOW_STATE_TEMPLATE +
+            Constants.NEXT_PARAM_AMP +
+            Constants.URL + Constants.EQUALS + Constants.URL_TEMPLATE +
+            Constants.NEXT_PARAM_AMP +
+            Constants.FRAGMENT_ID + Constants.EQUALS + Constants.FRAGMENT_ID_TEMPLATE +
+            Constants.NEXT_PARAM_AMP +
+            Constants.REWRITE_RESOURCE + Constants.EQUALS + Constants.REWRITE_RESOURCE_TEMPLATE;
+    
+    /* The template used for default template */
+    public static final String DEFAULT_TEMPLATE =
+            DEFAULT_TEMPLATE_BASE +
+            Constants.NEXT_PARAM_AMP +
+            Constants.SECURE_URL + Constants.EQUALS + Constants.FALSE;
+    
+    /* The template used for default secure template */
+    public static final String DEFAULT_SECURE_TEMPLATE =
+            DEFAULT_TEMPLATE_BASE +
+            Constants.NEXT_PARAM_AMP +
+            Constants.SECURE_URL + Constants.EQUALS + Constants.TRUE;
+    
+}

Added: portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/TemplateProcessor.java
URL: http://svn.apache.org/viewvc/portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/TemplateProcessor.java?view=auto&rev=492309
==============================================================================
--- portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/TemplateProcessor.java (added)
+++ portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/TemplateProcessor.java Wed Jan  3 13:30:44 2007
@@ -0,0 +1,133 @@
+/**
+ * Copyright 2003-2006 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wsrp4j.consumer.proxyportlet.template;
+
+import java.io.IOException;
+
+import java.util.Enumeration;
+
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import org.apache.wsrp4j.commons.util.Constants;
+
+
+/**
+ * Servlet used for processing incoming Template requests. Proxyportlet sends
+ * Producer URL Templates referring to this servlet, and then the activation of
+ * urls on the consumer triggers this processing.
+ *
+ * @version $Id$
+ */
+public class TemplateProcessor extends HttpServlet {
+    
+    /* The log variable */
+    private static final Log log = LogFactory.getLog(TemplateProcessor.class);
+    
+    /* The template composer used for template processing */
+    private static final PortalTemplateComposer templateComposer = 
+            PortalTemplateComposerServiceFactory.getService().getPortalTemplateComposer();
+    
+    public void service(HttpServletRequest request,
+            HttpServletResponse response) {
+        
+        /* The template url to process */
+        String portalUrl = request.getParameter(TemplateConstants.PORTAL_URL);
+        
+        /* The standard wsrp template properties */
+        String url = request.getParameter(Constants.URL) == null ?
+            "" : request.getParameter(Constants.URL);
+        String urlType = request.getParameter(Constants.URL_TYPE) == null ?
+            "" : request.getParameter(Constants.URL_TYPE);
+        String mode = request.getParameter(Constants.PORTLET_MODE) == null ?
+            "" : request.getParameter(Constants.PORTLET_MODE);
+        String windowState = request.getParameter(Constants.WINDOW_STATE) == null ?
+            "" : request.getParameter(Constants.WINDOW_STATE);
+        String navigationalState = request.getParameter(Constants.NAVIGATIONAL_STATE) == null ?
+            "" : request.getParameter(Constants.NAVIGATIONAL_STATE);
+        String interactionState = request.getParameter(Constants.INTERACTION_STATE) == null ?
+            "" : request.getParameter(Constants.INTERACTION_STATE);
+        boolean secureURL = request.getParameter(Constants.SECURE_URL) == null ?
+            false : Boolean.parseBoolean(request.getParameter(Constants.SECURE_URL));
+        String fragmentId = request.getParameter(Constants.FRAGMENT_ID) == null ?
+            "" : request.getParameter(Constants.FRAGMENT_ID);
+        String portletHandle = request.getParameter(Constants.PORTLET_HANDLE) == null ?
+            "" : request.getParameter(Constants.PORTLET_HANDLE);
+        String userContextKey = request.getParameter(Constants.USER_CONTEXT_KEY) == null ?
+            "" : request.getParameter(Constants.USER_CONTEXT_KEY);
+        String portletInstanceKey = request.getParameter(Constants.PORTLET_INSTANCE_KEY) == null ?
+            "" : request.getParameter(Constants.PORTLET_INSTANCE_KEY);
+        String sessionId = request.getParameter(Constants.SESSION_ID) == null ?
+            "" : request.getParameter(Constants.SESSION_ID);
+        boolean requiresRewrite = request.getParameter(Constants.REWRITE_RESOURCE) == null ?
+            false : Boolean.parseBoolean(request.getParameter(Constants.REWRITE_RESOURCE));
+        
+        if (log.isDebugEnabled()) {
+            log.debug("Parameters supplied: \n" + logParams(request));
+        }
+
+        try {
+            /* This variable will hold the transformed url */
+            String finalUrl;
+
+            /* Create the final url */
+            if (!secureURL) {
+                finalUrl = templateComposer.processDefaultTemplate(
+                        portalUrl, urlType,
+                        portletHandle, userContextKey, portletInstanceKey,
+                        sessionId, navigationalState, interactionState,
+                        mode, windowState, url, fragmentId, requiresRewrite);
+            } else {
+                finalUrl = templateComposer.processDefaultSecureTemplate(
+                        portalUrl, urlType,
+                        portletHandle, userContextKey, portletInstanceKey,
+                        sessionId, navigationalState, interactionState,
+                        mode, windowState, url, fragmentId, requiresRewrite);
+            }
+            
+            if (log.isDebugEnabled()) {
+                log.debug("Redirecting to url: " + finalUrl);
+            }
+
+            /* Redirect to the final url */
+            response.sendRedirect(finalUrl);
+
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        
+    }
+    
+    private String logParams(HttpServletRequest request) {
+        
+        String result = new String();
+        
+        for (Enumeration params = request.getParameterNames(); 
+                params.hasMoreElements(); ) {
+            String paramName = (String) params.nextElement();
+            String paramValue = request.getParameter(paramName);
+            result += paramName + " = " + paramValue + "\n";
+        }
+        
+        return result;
+        
+    }
+    
+}
\ No newline at end of file

Modified: portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/jetspeed/JetspeedPortalTemplateComposer.java
URL: http://svn.apache.org/viewvc/portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/jetspeed/JetspeedPortalTemplateComposer.java?view=diff&rev=492309&r1=492308&r2=492309
==============================================================================
--- portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/jetspeed/JetspeedPortalTemplateComposer.java (original)
+++ portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/jetspeed/JetspeedPortalTemplateComposer.java Wed Jan  3 13:30:44 2007
@@ -24,47 +24,106 @@
 /**
  * @version $Id$
  */
-public class JetspeedPortalTemplateComposer implements PortalTemplateComposer {
+public class JetspeedPortalTemplateComposer extends PortalTemplateComposer {
     
-    private PortletRequest request;
-    private PortletResponse response;
     
-    public JetspeedPortalTemplateComposer(PortletRequest request, 
+    public String getPortalUrl(PortletRequest request, 
             PortletResponse response) {
-        this.request = request;
-        this.response = response;
+        
+        return null;
+        
     }
     
-    public String getBlockingActionTemplate() {
+    public String processDefaultTemplate(
+            String portalUrl, String urlType,
+            String portletHandle, String userContextKey,
+            String portletInstanceKey, String sessionId,
+            String navigationalState, String interactionState,
+            String mode, String windowState, String url,
+            String fragmentId, boolean requiresRewrite) {
+        
         return null;
+        
     }
     
-    public String getSecureBlockingActionTemplate() {
+    public String processDefaultSecureTemplate(
+            String portalUrl, String urlType,
+            String portletHandle, String userContextKey,
+            String portletInstanceKey, String sessionId,
+            String navigationalState, String interactionState,
+            String mode, String windowState, String url,
+            String fragmentId, boolean requiresRewrite) {
+        
         return null;
+        
     }
     
-    public String getRenderTemplate() {
+    public String processRenderTemplate(
+            String portalUrl, String portletHandle, 
+            String userContextKey, String portletInstanceKey,
+            String sessionId, String navigationalState, 
+            String mode, String windowState, 
+            String fragmentId, boolean requiresRewrite) {
+        
         return null;
+        
     }
     
-    public String getSecureRenderTemplate() {
+    public String processSecureRenderTemplate(
+            String portalUrl, String portletHandle, 
+            String userContextKey, String portletInstanceKey,
+            String sessionId, String navigationalState, 
+            String mode, String windowState, 
+            String fragmentId, boolean requiresRewrite) {
+        
         return null;
+        
     }
     
-    public String getResourceTemplate() {
+    public String processBlockingActionTemplate(
+            String portalUrl, String portletHandle, 
+            String userContextKey, String portletInstanceKey,
+            String sessionId, String navigationalState, 
+            String interactionState,
+            String mode, String windowState, 
+            String fragmentId, boolean requiresRewrite) {
+        
         return null;
+        
     }
     
-    public String getSecureResourceTemplate() {
+    public String processSecureBlockingActionTemplate(
+            String portalUrl, String portletHandle, 
+            String userContextKey, String portletInstanceKey,
+            String sessionId, String navigationalState, 
+            String interactionState,
+            String mode, String windowState, 
+            String fragmentId, boolean requiresRewrite) {
+        
         return null;
+        
     }
     
-    public String getDefaultTemplate() {
+    public String processResourceTemplate(
+            String portalUrl, String portletHandle, 
+            String userContextKey, String portletInstanceKey,
+            String sessionId, String navigationalState, 
+            String mode, String windowState,
+            String url, boolean requiresRewrite) {
+        
         return null;
+        
     }
     
-    public String getSecureDefaultTemplate() {
+    public String processSecureResourceTemplate(
+            String portalUrl, String portletHandle, 
+            String userContextKey, String portletInstanceKey,
+            String sessionId, String navigationalState, 
+            String mode, String windowState,
+            String url, boolean requiresRewrite) {
+        
         return null;
+        
     }
     
 }

Modified: portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/jetspeed/JetspeedPortalTemplateComposerService.java
URL: http://svn.apache.org/viewvc/portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/jetspeed/JetspeedPortalTemplateComposerService.java?view=diff&rev=492309&r1=492308&r2=492309
==============================================================================
--- portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/jetspeed/JetspeedPortalTemplateComposerService.java (original)
+++ portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/jetspeed/JetspeedPortalTemplateComposerService.java Wed Jan  3 13:30:44 2007
@@ -15,9 +15,6 @@
  */
 package org.apache.wsrp4j.consumer.proxyportlet.template.jetspeed;
 
-import javax.portlet.PortletRequest;
-import javax.portlet.PortletResponse;
-
 import org.apache.wsrp4j.consumer.proxyportlet.template.PortalTemplateComposer;
 import org.apache.wsrp4j.consumer.proxyportlet.template.PortalTemplateComposerService;
 
@@ -30,9 +27,8 @@
     
     public JetspeedPortalTemplateComposerService() {}
     
-    public PortalTemplateComposer getPortalTemplateComposer(
-            PortletRequest request, PortletResponse response) {
-        return new JetspeedPortalTemplateComposer(request, response);
+    public PortalTemplateComposer getPortalTemplateComposer() {
+        return new JetspeedPortalTemplateComposer();
     }
     
 }

Modified: portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/pluto/PlutoPortalControlParameter.java
URL: http://svn.apache.org/viewvc/portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/pluto/PlutoPortalControlParameter.java?view=diff&rev=492309&r1=492308&r2=492309
==============================================================================
--- portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/pluto/PlutoPortalControlParameter.java (original)
+++ portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/pluto/PlutoPortalControlParameter.java Wed Jan  3 13:30:44 2007
@@ -45,7 +45,7 @@
     private Map requestParameter = new HashMap();
 
     /**
-     * The map containing the encoded statefull control parameters.
+     * The map containing the encoded stateful control parameters.
      * They are encoded in the sense, that names and values of 
      * <i>render parameters</i> and render parameters only are encoded
      * using {{@link #encodeRenderParamName(PortletWindow, String)}}
@@ -74,7 +74,7 @@
      * @see #decodeParameterName(String)
      */
     private static String encodeString(String value) {
-    	value = StringUtils.replace(value, "0x", "0xx");
+        value = StringUtils.replace(value, "0x", "0xx");
         value = StringUtils.replace(value, "_", "0x1" );
         value = StringUtils.replace(value, ".", "0x2" );
         value = StringUtils.replace(value, "/", "0x3" );
@@ -126,11 +126,11 @@
      * @return The decoded parameter.
      */
     public static String decodeParameterName(String param) {
-    	if (param.startsWith(PREFIX)) {
-    		return param.substring(PREFIX.length());
-    	} else {
-    		return param;
-    	}
+        if (param.startsWith(PREFIX)) {
+            return param.substring(PREFIX.length());
+        } else {
+            return param;
+        }
     }
     
     /**
@@ -151,7 +151,7 @@
      * @return A string encoding the given render parameter name to be used in portal urls.
      */
     public static String encodeRenderParamName(PortletWindow window, String paramName) {
-    	String encodedParamName = encodeString(paramName);
+        String encodedParamName = encodeString(paramName);
         StringBuffer returnvalue = new StringBuffer(50);
         returnvalue.append(getRenderParamKey(window));
         returnvalue.append("_");
@@ -163,14 +163,14 @@
      * Reverse method for method {{@link #encodeRenderParamName(PortletWindow, String)}}.
      */
     public static String decodeRenderParamName(PortletWindow window, String encodedRenderParamName) {
-    	String prefix = getRenderParamKey(window);
-    	String unprefixedRenderParamName = null;
-    	if (encodedRenderParamName.startsWith(prefix)) {
-    		unprefixedRenderParamName = encodedRenderParamName.substring(prefix.length());
-    	} else {
-    		unprefixedRenderParamName = encodedRenderParamName;
-    	}
-    	return decodeString(unprefixedRenderParamName);
+        String prefix = getRenderParamKey(window);
+        String unprefixedRenderParamName = null;
+        if (encodedRenderParamName.startsWith(prefix)) {
+            unprefixedRenderParamName = encodedRenderParamName.substring(prefix.length());
+        } else {
+            unprefixedRenderParamName = encodedRenderParamName;
+        }
+        return decodeString(unprefixedRenderParamName);
     }
     
     /**
@@ -198,14 +198,14 @@
     private static String[] decodeRenderParamValues(String encodedParamValues) {
         StringTokenizer tokenizer = new StringTokenizer(encodedParamValues, "_");
         if (!tokenizer.hasMoreTokens()) {
-        	return null;
+            return null;
         }
         String _count = tokenizer.nextToken();
         int count = Integer.valueOf(_count).intValue();
         String[] values = new String[count];
         for (int i = 0; i < count; i++) {
             if (!tokenizer.hasMoreTokens()) {
-            	return null;
+                return null;
             }
             values[i] = decodeString(tokenizer.nextToken());
         }
@@ -326,11 +326,11 @@
         while (keyIterator.hasNext()) {
             String encodedName = (String)keyIterator.next();
             if (encodedName.startsWith(prefix)) {
-            	// remove specific render parameter name encoding
-            	String decodedName = decodeRenderParamName(window, encodedName);
-            	// remove general parameter encoding
-            	String unprefixedName = decodeParameterName(decodedName);
-            	returnvalue.add(unprefixedName);
+                // remove specific render parameter name encoding
+                String decodedName = decodeRenderParamName(window, encodedName);
+                // remove general parameter encoding
+                String unprefixedName = decodeParameterName(decodedName);
+                returnvalue.add(unprefixedName);
             }
         }
         return returnvalue.iterator();
@@ -404,7 +404,6 @@
 
     public void setPortletId(PortletWindow window) {
         getEncodedStateFullControlParameter().put(getPortletIdKey(),window.getId().toString());
-        //getStateLessControlParameter().put(getPortletIdKey(),window.getId().toString());
     }
 
     /**

Modified: portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/pluto/PlutoPortalTemplateComposer.java
URL: http://svn.apache.org/viewvc/portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/pluto/PlutoPortalTemplateComposer.java?view=diff&rev=492309&r1=492308&r2=492309
==============================================================================
--- portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/pluto/PlutoPortalTemplateComposer.java (original)
+++ portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/pluto/PlutoPortalTemplateComposer.java Wed Jan  3 13:30:44 2007
@@ -37,149 +37,292 @@
 /**
  * @version $Id$
  */
-public class PlutoPortalTemplateComposer implements PortalTemplateComposer {
+public class PlutoPortalTemplateComposer extends PortalTemplateComposer {
     
     private final static Log log = LogFactory.getLog(PlutoPortalTemplateComposer.class);
     
-    private static final String RESOURCE_PROXY_URL = "/WSRP4JResourceProxy";
-    
-    private PortletRequest request;
-    private PortletResponse response;
-    private PortletWindow portletWindow;
-    private HttpServletRequest servletRequest;
-    private HttpServletResponse servletResponse;
-    
-    public PlutoPortalTemplateComposer(PortletRequest request,
+    public String getPortalUrl(PortletRequest request, 
             PortletResponse response) {
         
-        this.request = request;
-        this.response = response;
-        
-        this.portletWindow = 
+        PortletWindow portletWindow =
                 CoreUtils.getInternalRequest(request).getInternalPortletWindow();
         
         /* In Pluto we can downcast the portlet request and response
          * objects to their corresponding http servlet request and response */
-        this.servletRequest = (HttpServletRequest) request;
-        this.servletResponse = (HttpServletResponse) response;
+        HttpServletRequest servletRequest = (HttpServletRequest) request;
+        HttpServletResponse servletResponse = (HttpServletResponse) response;
+        
+        return PortletObjectAccess.getPortletURL(portletWindow,
+                servletRequest, servletResponse).toString();
         
     }
     
-    public String getBlockingActionTemplate() {
+    public String processDefaultTemplate(
+            String portalUrl, String urlType,
+            String portletHandle, String userContextKey,
+            String portletInstanceKey, String sessionId,
+            String navigationalState, String interactionState,
+            String mode, String windowState, String url,
+            String fragmentId, boolean requiresRewrite) {
+        
+        /* This variable will contain the processed final url */
+        String processedUrl = null;
+        
+        if (urlType.equals(Constants.URL_TYPE_RENDER)) {
+        
+            /* This is a render url */
+            processedUrl = processRenderTemplate(portalUrl,
+                    portletHandle, userContextKey, portletInstanceKey,
+                    sessionId, navigationalState, mode, windowState, 
+                    fragmentId, requiresRewrite);
+            
+        } else if (urlType.equals(Constants.URL_TYPE_BLOCKINGACTION)) {
+            
+            /* This is a blockingAction url */
+            processedUrl = processBlockingActionTemplate(portalUrl,
+                    portletHandle, userContextKey, portletInstanceKey,
+                    sessionId, navigationalState, interactionState,
+                    mode, windowState, fragmentId, requiresRewrite);
+            
+        } else if (urlType.equals(Constants.URL_TYPE_RESOURCE)) {
+            
+            /* This is a resource url */
+            processedUrl = processResourceTemplate(portalUrl,
+                    portletHandle, userContextKey, portletInstanceKey,
+                    sessionId, navigationalState, mode, windowState,
+                    url, requiresRewrite);
+            
+        }
+        
+        return processedUrl;
         
-        boolean isAction = true;
-        PortletURL baseURL = PortletObjectAccess.getPortletURL(
-                portletWindow, servletRequest, servletResponse, isAction);
-        PlutoPortalURL plutoURL =
-                new PlutoPortalURL(baseURL.toString(), portletWindow);
-        PlutoPortalControlParameter controlParam =
-                new PlutoPortalControlParameter(plutoURL);
-        
-        controlParam.setAction(portletWindow);
-        controlParam.setMode(portletWindow, Constants.PORTLET_MODE_TEMPLATE);
-        controlParam.setState(portletWindow, Constants.WINDOW_STATE_TEMPLATE);
-        controlParam.setPortletId(portletWindow);
-        controlParam.setRenderParam(portletWindow, Constants.NAVIGATIONAL_STATE,
-                new String[] {Constants.NAVIGATIONAL_STATE_TEMPLATE});
-        controlParam.setRequestParam(Constants.INTERACTION_STATE,
-                new String[] {Constants.INTERACTION_STATE_TEMPLATE});
-        plutoURL.analyzeControlInformation(controlParam);
-        
-        String template = plutoURL.toString(controlParam);
-        if (log.isDebugEnabled()) {
-            log.debug("Sending BlockingActionTemplate: " + template);
+    }
+    
+    public String processDefaultSecureTemplate(
+            String portalUrl, String urlType,
+            String portletHandle, String userContextKey,
+            String portletInstanceKey, String sessionId,
+            String navigationalState, String interactionState,
+            String mode, String windowState, String url,
+            String fragmentId, boolean requiresRewrite) {
+        
+        /* This variable will contain the processed final url */
+        String processedUrl = null;
+        
+        if (urlType.equals(Constants.URL_TYPE_RENDER)) {
+        
+            /* This is a render url */
+            processedUrl = processSecureRenderTemplate(portalUrl,
+                    portletHandle, userContextKey, portletInstanceKey,
+                    sessionId, navigationalState, mode, windowState, 
+                    fragmentId, requiresRewrite);
+            
+            
+        } else if (urlType.equals(Constants.URL_TYPE_BLOCKINGACTION)) {
+            
+            /* This is a blockingAction url */
+            processedUrl = processSecureBlockingActionTemplate(portalUrl,
+                    portletHandle, userContextKey, portletInstanceKey,
+                    sessionId, navigationalState, interactionState,
+                    mode, windowState, fragmentId, requiresRewrite);
+            
+        } else if (urlType.equals(Constants.URL_TYPE_RESOURCE)) {
+            
+            /* This is a resource url */
+            processedUrl = processSecureResourceTemplate(portalUrl,
+                    portletHandle, userContextKey, portletInstanceKey,
+                    sessionId, navigationalState, mode, windowState,
+                    url, requiresRewrite);
+            
         }
-        return template;
+        
+        return processedUrl;
         
     }
     
-    public String getSecureBlockingActionTemplate() {
+    public String processRenderTemplate(
+            String portalUrl, String portletHandle, 
+            String userContextKey, String portletInstanceKey,
+            String sessionId, String navigationalState, 
+            String mode, String windowState, 
+            String fragmentId, boolean requiresRewrite) {
+        
         return null;
+        
     }
     
-    public String getRenderTemplate() {
-        
-        boolean isAction = false;
-        PortletURL baseURL = PortletObjectAccess.getPortletURL(
-                portletWindow, servletRequest, servletResponse, isAction);
-        PlutoPortalURL plutoURL = 
-                new PlutoPortalURL(baseURL.toString(), portletWindow);
-        PlutoPortalControlParameter controlParam =
-                new PlutoPortalControlParameter(plutoURL);
+    public String processSecureRenderTemplate(
+            String portalUrl, String portletHandle, 
+            String userContextKey, String portletInstanceKey,
+            String sessionId, String navigationalState, 
+            String mode, String windowState, 
+            String fragmentId, boolean requiresRewrite) {
         
-        controlParam.setMode(portletWindow, Constants.PORTLET_MODE_TEMPLATE);
-        controlParam.setState(portletWindow, Constants.WINDOW_STATE_TEMPLATE);
-        controlParam.setPortletId(portletWindow);
-        controlParam.setRenderParam(portletWindow, Constants.NAVIGATIONAL_STATE,
-                new String[] {Constants.NAVIGATIONAL_STATE_TEMPLATE});
-        plutoURL.analyzeControlInformation(controlParam);
+        return null;
         
-        String template = plutoURL.toString(controlParam);
-        if (log.isDebugEnabled()) {
-            log.debug("Sending RenderTemplate: " + template);
-        }
-        return template;
-
     }
     
-    public String getSecureRenderTemplate() {
+    public String processBlockingActionTemplate(
+            String portalUrl, String portletHandle, 
+            String userContextKey, String portletInstanceKey,
+            String sessionId, String navigationalState, 
+            String interactionState,
+            String mode, String windowState, 
+            String fragmentId, boolean requiresRewrite) {
+        
         return null;
+        
     }
     
-    public String getResourceTemplate() {
-        String resourceProxy = response.encodeURL(
-                request.getContextPath() + RESOURCE_PROXY_URL);
-        PlutoPortalURL plutoURL =
-                new PlutoPortalURL(resourceProxy, portletWindow);
-        PlutoPortalControlParameter controlParam =
-                new PlutoPortalControlParameter(plutoURL);
-        
-        controlParam.setRequestParam(Constants.REWRITE_RESOURCE,
-                new String[] {Constants.REWRITE_RESOURCE_TEMPLATE});
-        controlParam.setRequestParam(Constants.URL,
-                new String[] {Constants.URL_TEMPLATE});
-        plutoURL.analyzeControlInformation(controlParam);
+    public String processSecureBlockingActionTemplate(
+            String portalUrl, String portletHandle, 
+            String userContextKey, String portletInstanceKey,
+            String sessionId, String navigationalState, 
+            String interactionState,
+            String mode, String windowState, 
+            String fragmentId, boolean requiresRewrite) {
         
-        String template = plutoURL.toString(controlParam);
-        if (log.isDebugEnabled()) {
-            log.debug("Sending ResourceTemplate: " + template);
-        }
-        return template;
+        return null;
         
     }
     
-    public String getSecureResourceTemplate() {
+    public String processResourceTemplate(
+            String portalUrl, String portletHandle, 
+            String userContextKey, String portletInstanceKey,
+            String sessionId, String navigationalState, 
+            String mode, String windowState,
+            String url, boolean requiresRewrite) {
+        
         return null;
+        
     }
     
-    public String getDefaultTemplate() {
-        boolean isAction = true;
-        PortletURL baseURL = PortletObjectAccess.getPortletURL(
-                portletWindow, servletRequest, servletResponse, isAction);
-        PlutoPortalURL plutoURL =
-                new PlutoPortalURL(baseURL.toString(), portletWindow);
-        PlutoPortalControlParameter controlParam =
-                new PlutoPortalControlParameter(plutoURL);
+    public String processSecureResourceTemplate(
+            String portalUrl, String portletHandle, 
+            String userContextKey, String portletInstanceKey,
+            String sessionId, String navigationalState, 
+            String mode, String windowState,
+            String url, boolean requiresRewrite) {
         
-        controlParam.setAction(portletWindow);
-        controlParam.setMode(portletWindow, Constants.PORTLET_MODE_TEMPLATE);
-        controlParam.setState(portletWindow, Constants.WINDOW_STATE_TEMPLATE);
-        controlParam.setRenderParam(portletWindow, Constants.NAVIGATIONAL_STATE,
-                new String[] {Constants.NAVIGATIONAL_STATE_TEMPLATE});
-        controlParam.setRequestParam(Constants.INTERACTION_STATE,
-                new String[] {Constants.INTERACTION_STATE_TEMPLATE});
-        plutoURL.analyzeControlInformation(controlParam);
+        return null;
         
-        String template = plutoURL.toString(controlParam);
-        if (log.isDebugEnabled()) {
-            log.debug("Sending DefaultTemplate: " + template);
-        }
-        return template;
     }
     
-    public String getSecureDefaultTemplate() {
-        /* For now return the same content as a non-secure defaultTemplate */
-        return getDefaultTemplate();
-    }
+//    public String getBlockingActionTemplate() {
+//        
+//        boolean isAction = true;
+//        PortletURL baseURL = PortletObjectAccess.getPortletURL(
+//                portletWindow, servletRequest, servletResponse, isAction);
+//        PlutoPortalURL plutoURL =
+//                new PlutoPortalURL(baseURL.toString(), portletWindow);
+//        PlutoPortalControlParameter controlParam =
+//                new PlutoPortalControlParameter(plutoURL);
+//        
+//        controlParam.setAction(portletWindow);
+//        controlParam.setMode(portletWindow, Constants.PORTLET_MODE_TEMPLATE);
+//        controlParam.setState(portletWindow, Constants.WINDOW_STATE_TEMPLATE);
+//        controlParam.setPortletId(portletWindow);
+//        controlParam.setRenderParam(portletWindow, Constants.NAVIGATIONAL_STATE,
+//                new String[] {Constants.NAVIGATIONAL_STATE_TEMPLATE});
+//        controlParam.setRequestParam(Constants.INTERACTION_STATE,
+//                new String[] {Constants.INTERACTION_STATE_TEMPLATE});
+//        plutoURL.analyzeControlInformation(controlParam);
+//        
+//        String template = plutoURL.toString(controlParam);
+//        if (log.isDebugEnabled()) {
+//            log.debug("Sending BlockingActionTemplate: " + template);
+//        }
+//        return template;
+//        
+//    }
+//    
+//    public String getSecureBlockingActionTemplate() {
+//        return null;
+//    }
+//    
+//    public String getRenderTemplate() {
+//        
+//        boolean isAction = false;
+//        PortletURL baseURL = PortletObjectAccess.getPortletURL(
+//                portletWindow, servletRequest, servletResponse, isAction);
+//        PlutoPortalURL plutoURL = 
+//                new PlutoPortalURL(baseURL.toString(), portletWindow);
+//        PlutoPortalControlParameter controlParam =
+//                new PlutoPortalControlParameter(plutoURL);
+//        
+//        controlParam.setMode(portletWindow, Constants.PORTLET_MODE_TEMPLATE);
+//        controlParam.setState(portletWindow, Constants.WINDOW_STATE_TEMPLATE);
+//        controlParam.setPortletId(portletWindow);
+//        controlParam.setRenderParam(portletWindow, Constants.NAVIGATIONAL_STATE,
+//                new String[] {Constants.NAVIGATIONAL_STATE_TEMPLATE});
+//        plutoURL.analyzeControlInformation(controlParam);
+//        
+//        String template = plutoURL.toString(controlParam);
+//        if (log.isDebugEnabled()) {
+//            log.debug("Sending RenderTemplate: " + template);
+//        }
+//        return template;
+//
+//    }
+//    
+//    public String getSecureRenderTemplate() {
+//        return null;
+//    }
+//    
+//    public String getResourceTemplate() {
+//        String resourceProxy = response.encodeURL(
+//                request.getContextPath() + RESOURCE_PROXY_URL);
+//        PlutoPortalURL plutoURL =
+//                new PlutoPortalURL(resourceProxy, portletWindow);
+//        PlutoPortalControlParameter controlParam =
+//                new PlutoPortalControlParameter(plutoURL);
+//        
+//        controlParam.setRequestParam(Constants.REWRITE_RESOURCE,
+//                new String[] {Constants.REWRITE_RESOURCE_TEMPLATE});
+//        controlParam.setRequestParam(Constants.URL,
+//                new String[] {Constants.URL_TEMPLATE});
+//        plutoURL.analyzeControlInformation(controlParam);
+//        
+//        String template = plutoURL.toString(controlParam);
+//        if (log.isDebugEnabled()) {
+//            log.debug("Sending ResourceTemplate: " + template);
+//        }
+//        return template;
+//        
+//    }
+//    
+//    public String getSecureResourceTemplate() {
+//        return null;
+//    }
+//    
+//    public String getDefaultTemplate() {
+//        boolean isAction = true;
+//        PortletURL baseURL = PortletObjectAccess.getPortletURL(
+//                portletWindow, servletRequest, servletResponse, isAction);
+//        PlutoPortalURL plutoURL =
+//                new PlutoPortalURL(baseURL.toString(), portletWindow);
+//        PlutoPortalControlParameter controlParam =
+//                new PlutoPortalControlParameter(plutoURL);
+//        
+//        controlParam.setAction(portletWindow);
+//        controlParam.setMode(portletWindow, Constants.PORTLET_MODE_TEMPLATE);
+//        controlParam.setState(portletWindow, Constants.WINDOW_STATE_TEMPLATE);
+//        controlParam.setRenderParam(portletWindow, Constants.NAVIGATIONAL_STATE,
+//                new String[] {Constants.NAVIGATIONAL_STATE_TEMPLATE});
+//        controlParam.setRequestParam(Constants.INTERACTION_STATE,
+//                new String[] {Constants.INTERACTION_STATE_TEMPLATE});
+//        plutoURL.analyzeControlInformation(controlParam);
+//        
+//        String template = plutoURL.toString(controlParam);
+//        if (log.isDebugEnabled()) {
+//            log.debug("Sending DefaultTemplate: " + template);
+//        }
+//        return template;
+//    }
+//    
+//    public String getSecureDefaultTemplate() {
+//        /* For now return the same content as a non-secure defaultTemplate */
+//        return getDefaultTemplate();
+//    }
     
 }

Modified: portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/pluto/PlutoPortalTemplateComposerService.java
URL: http://svn.apache.org/viewvc/portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/pluto/PlutoPortalTemplateComposerService.java?view=diff&rev=492309&r1=492308&r2=492309
==============================================================================
--- portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/pluto/PlutoPortalTemplateComposerService.java (original)
+++ portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/pluto/PlutoPortalTemplateComposerService.java Wed Jan  3 13:30:44 2007
@@ -15,9 +15,6 @@
  */
 package org.apache.wsrp4j.consumer.proxyportlet.template.pluto;
 
-import javax.portlet.PortletRequest;
-import javax.portlet.PortletResponse;
-
 import org.apache.wsrp4j.consumer.proxyportlet.template.PortalTemplateComposer;
 import org.apache.wsrp4j.consumer.proxyportlet.template.PortalTemplateComposerService;
 
@@ -30,9 +27,8 @@
     
     public PlutoPortalTemplateComposerService() {}
     
-    public PortalTemplateComposer getPortalTemplateComposer(
-            PortletRequest request, PortletResponse response) {
-        return new PlutoPortalTemplateComposer(request, response);
+    public PortalTemplateComposer getPortalTemplateComposer() {
+        return new PlutoPortalTemplateComposer();
     }
     
 }

Modified: portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/pluto/PlutoPortalURL.java
URL: http://svn.apache.org/viewvc/portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/pluto/PlutoPortalURL.java?view=diff&rev=492309&r1=492308&r2=492309
==============================================================================
--- portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/pluto/PlutoPortalURL.java (original)
+++ portals/wsrp4j/trunk/consumer-proxyportlet/src/java/org/apache/wsrp4j/consumer/proxyportlet/template/pluto/PlutoPortalURL.java Wed Jan  3 13:30:44 2007
@@ -168,18 +168,7 @@
                 // appends the prefix (currently "_") in front of the encoded parameter name
                 result.append(PlutoPortalControlParameter.encodeParameterName(encodedName));
                 result.append("/");
-                /* If it's a wsrp render parameter (for instance, wsrp-navigationalState),
-                 * a PortletMode or a WindowState parameter, then do not
-                 * www-url-encode the value */
-                if (Constants.isWsrpURLParam(controlParam.decodeParameterName(
-                            PlutoPortalControlParameter.decodeRenderParamName(
-                            portletWindow, encodedName))) || 
-                        controlParam.isPortletModeParameter(portletWindow, encodedName) ||
-                        controlParam.isWindowStateParameter(portletWindow, encodedName)) {
-                    result.append(encodedValue);
-                } else {
-                    result.append(urlEncode(encodedValue));
-                }
+                result.append(urlEncode(encodedValue));
             }
         }
 
@@ -311,13 +300,13 @@
                     startGlobalNavigation.add(token);
                 } else if (mode==1) {
                     if ((PlutoPortalControlParameter.isStateFullParameter(encodedName))) {
-                    	// cut the prefix before saving the parameter name
-                    	encodedName = PlutoPortalControlParameter.decodeParameterName(encodedName);
+                        // cut the prefix before saving the parameter name
+                        encodedName = PlutoPortalControlParameter.decodeParameterName(encodedName);
                         encodedStartControlParameter.put(encodedName, token);
                     } else {
                         startStateLessControlParameter.put(
                                 PlutoPortalControlParameter.decodeParameterName(encodedName),
-                                PlutoPortalControlParameter.decodeParameterValue(encodedName,token));
+                                PlutoPortalControlParameter.decodeParameterValue(encodedName, token));
                     }
                     mode = 0;
                 }

Modified: portals/wsrp4j/trunk/consumer-proxyportlet/src/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/portals/wsrp4j/trunk/consumer-proxyportlet/src/webapp/WEB-INF/web.xml?view=diff&rev=492309&r1=492308&r2=492309
==============================================================================
--- portals/wsrp4j/trunk/consumer-proxyportlet/src/webapp/WEB-INF/web.xml (original)
+++ portals/wsrp4j/trunk/consumer-proxyportlet/src/webapp/WEB-INF/web.xml Wed Jan  3 13:30:44 2007
@@ -34,11 +34,29 @@
             org.apache.wsrp4j.consumer.proxyportlet.impl.ResourceProxy
         </servlet-class>
     </servlet>
+    
+    <!-- Template Processor -->
+    <!--
+    <servlet>
+        <servlet-name>WSRP4JTemplateProcessor</servlet-name>
+        <servlet-class>
+            org.apache.wsrp4j.consumer.proxyportlet.template.TemplateProcessor
+        </servlet-class>
+    </servlet>
+    -->
 
     <servlet-mapping>
         <servlet-name>WSRP4JResourceProxy</servlet-name>
         <url-pattern>/WSRP4JResourceProxy/*</url-pattern>
     </servlet-mapping>
+    
+    <!-- Template Processor mapping -->
+    <!--
+    <servlet-mapping>
+        <servlet-name>WSRP4JTemplateProcessor</servlet-name>
+        <url-pattern>/WSRP4JTemplateProcessor/*</url-pattern>
+    </servlet-mapping>
+    -->
     
     <taglib>
         <taglib-uri>http://java.sun.com/jstl/core</taglib-uri>