You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-scm@portals.apache.org by dd...@apache.org on 2006/01/07 21:06:17 UTC

svn commit: r366900 - in /portals/pluto/trunk: pluto-container/src/main/java/org/apache/pluto/ pluto-container/src/main/java/org/apache/pluto/core/ pluto-container/src/main/java/org/apache/pluto/core/impl/ pluto-portal-driver/src/main/java/org/apache/p...

Author: ddewolf
Date: Sat Jan  7 12:06:10 2006
New Revision: 366900

URL: http://svn.apache.org/viewcvs?rev=366900&view=rev
Log:
Spec Bug fixes in ActionRequest; PortletPreferences retrieval threw exception in some instances;  ActionRequest Parameters merged;

Modified:
    portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/PortletContainerFactory.java
    portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/DefaultOptionalServices.java
    portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/impl/PortletRequestImpl.java
    portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/PortalUrlParser.java
    portals/pluto/trunk/pluto-portal/src/main/webapp/WEB-INF/classes/simplelog.properties

Modified: portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/PortletContainerFactory.java
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/PortletContainerFactory.java?rev=366900&r1=366899&r2=366900&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/PortletContainerFactory.java (original)
+++ portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/PortletContainerFactory.java Sat Jan  7 12:06:10 2006
@@ -82,8 +82,10 @@
         ArgumentUtility.validateNotNull("containerServices", services);
         ArgumentUtility.validateNotEmpty("containerName", containerName);
 
+        DefaultOptionalServices optional = new DefaultOptionalServices(optionalServices);
+
         PortletContainer container =
-                new PortletContainerImpl(containerName, services, optionalServices);
+                new PortletContainerImpl(containerName, services, optional);
 
         if (LOG.isInfoEnabled()) {
             LOG.info("Portlet Container [" + containerName + "] created.");

Modified: portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/DefaultOptionalServices.java
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/DefaultOptionalServices.java?rev=366900&r1=366899&r2=366900&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/DefaultOptionalServices.java (original)
+++ portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/DefaultOptionalServices.java Sat Jan  7 12:06:10 2006
@@ -49,8 +49,10 @@
 
     public DefaultOptionalServices(OptionalPortletContainerServices rootServices) {
         this();
+
         if(rootServices.getPortletPreferencesService() != null)
             this.preferenceService = rootServices.getPortletPreferencesService();
+
     }
 
 

Modified: portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/impl/PortletRequestImpl.java
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/impl/PortletRequestImpl.java?rev=366900&r1=366899&r2=366900&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/impl/PortletRequestImpl.java (original)
+++ portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/impl/PortletRequestImpl.java Sat Jan  7 12:06:10 2006
@@ -484,7 +484,7 @@
     }
 
     public boolean isRequestedSessionIdValid() {
-        return this.getHttpServletRequest().isRequestedSessionIdValid();
+        return getHttpServletRequest().isRequestedSessionIdValid();
     }
 
     public String getResponseContentType() {

Modified: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/PortalUrlParser.java
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/PortalUrlParser.java?rev=366900&r1=366899&r2=366900&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/PortalUrlParser.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/PortalUrlParser.java Sat Jan  7 12:06:10 2006
@@ -25,6 +25,8 @@
 import javax.servlet.http.HttpServletRequest;
 
 import org.apache.pluto.util.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 /**
  * @author <a href="ddewolf@apache.org">David H. DeWolf</a>
@@ -35,6 +37,8 @@
 
     private static PortalUrlParser parser;
 
+    private static final Log LOG = LogFactory.getLog(PortalUrlParser.class);
+
 
     public static PortalUrlParser getParser() {
         if (parser == null) {
@@ -44,6 +48,9 @@
     }
 
     public PortalURL parse(HttpServletRequest req) {
+        if(LOG.isDebugEnabled()) {
+            LOG.debug("Parsing url: "+req.getRequestURI());
+        }
 
         String protocol = req.isSecure() ? "https://" : "http://";
         String server = req.getServerName();
@@ -59,11 +66,15 @@
 
         url.setControllerPath(req.getContextPath(), req.getServletPath());
 
+        if(LOG.isDebugEnabled()) {
+            LOG.debug("Parsing parameters for request: "+req.getPathInfo());
+        }
         StringBuffer renderPath = new StringBuffer();
         if (req.getPathInfo() == null) {
             return url;
         }
-        StringTokenizer st = new StringTokenizer(req.getPathInfo(), "/", false);
+
+       StringTokenizer st = new StringTokenizer(req.getPathInfo(), "/", false);
 
         while (st.hasMoreTokens()) {
             String token = st.nextToken();
@@ -137,8 +148,9 @@
             PortalUrlParameter param = (PortalUrlParameter) it.next();
             if (url.getActionWindow() != null &&
                 url.getActionWindow().equals(param.getWindowId())) {
-                query.append("&").append(param.getName()).append("=").append(
-                    convert(param.getValues()));
+                for(int i=0;i<param.getValues().length;i++) {
+                    query.append("&").append(param.getName()).append("=").append(param.getValues()[i]);
+                }
             } else if (param.getValues() != null &&
                        param.getValues().length > 0) {
                 String valueString = encode(param.getValues());
@@ -232,6 +244,10 @@
      * @return url parameter
      */
     private PortalUrlParameter decode(String name, String value) {
+        if(LOG.isDebugEnabled()) {
+            LOG.debug("Decoding parameter (name="+name+" : value="+value+")");
+        }
+
         String nopre = name.substring((PREFIX + PORTLET_ID).length());
         String windowId = nopre.substring(0, nopre.indexOf(DELIM));
         String param = nopre.substring(nopre.indexOf(DELIM) + 1);
@@ -244,13 +260,20 @@
                 value =
                 StringUtils.replace(value, ENCODINGS[i][1], ENCODINGS[i][0]);
             }
+
+           StringTokenizer st = new StringTokenizer(value, VALUE_DELIM, false);
+            while(st.hasMoreTokens()) {
+                values.add(st.nextToken());
+            }
+            /*
             int idx, start = 0;
-            while( (idx = value.indexOf(VALUE_DELIM, start)) > 0) {
+            while( (idx = value.indexOf(VALUE_DELIM, start)) > -1) {
                 values.add(value.substring(start, idx));
                 start = idx;
             }
+            */
         }
-        String[] vals = values.size() > 0 ? (String[])values.toArray(new String[values.size()]) : new String[] { value };
+        String[] vals = (String[])values.toArray(new String[values.size()]);
         return new PortalUrlParameter(windowId, param, vals);
     }
 

Modified: portals/pluto/trunk/pluto-portal/src/main/webapp/WEB-INF/classes/simplelog.properties
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-portal/src/main/webapp/WEB-INF/classes/simplelog.properties?rev=366900&r1=366899&r2=366900&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-portal/src/main/webapp/WEB-INF/classes/simplelog.properties (original)
+++ portals/pluto/trunk/pluto-portal/src/main/webapp/WEB-INF/classes/simplelog.properties Sat Jan  7 12:06:10 2006
@@ -8,4 +8,5 @@
 
 org.apache.commons.logging.simplelog.log.org.apache.pluto.core.PortletContainerImpl=DEBUG
 org.apache.commons.logging.simplelog.log.org.apache.pluto.driver.PortalStartupListener=DEBUG
+org.apache.commons.logging.simplelog.log.org.apache.pluto.driver.core.PortalUrlParser=DEBUG
 org.apache.commons.logging.simplelog.log.org.apache.pluto.driver.config.DriverConfigurationFactory=ERROR