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 ms...@apache.org on 2014/12/03 16:01:34 UTC

[09/11] portals-pluto git commit: Added additional debug output for part processing

Added additional debug output for part processing


Project: http://git-wip-us.apache.org/repos/asf/portals-pluto/repo
Commit: http://git-wip-us.apache.org/repos/asf/portals-pluto/commit/5eb2aa1c
Tree: http://git-wip-us.apache.org/repos/asf/portals-pluto/tree/5eb2aa1c
Diff: http://git-wip-us.apache.org/repos/asf/portals-pluto/diff/5eb2aa1c

Branch: refs/heads/PortletHub
Commit: 5eb2aa1c1e05dbaab518bdff255494827a9fdbbb
Parents: bd96a22
Author: Scott Nicklous <ms...@apache.org>
Authored: Wed Dec 3 10:37:46 2014 +0100
Committer: Scott Nicklous <ms...@apache.org>
Committed: Wed Dec 3 10:37:46 2014 +0100

----------------------------------------------------------------------
 .../container/PortletRequestContextImpl.java    | 34 ++++++++++++++++++--
 1 file changed, 32 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/5eb2aa1c/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/PortletRequestContextImpl.java
----------------------------------------------------------------------
diff --git a/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/PortletRequestContextImpl.java b/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/PortletRequestContextImpl.java
index 25859d4..5c52a94 100644
--- a/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/PortletRequestContextImpl.java
+++ b/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/PortletRequestContextImpl.java
@@ -218,6 +218,19 @@ public class PortletRequestContextImpl implements PortletRequestContext {
             }
          }
       }
+      if (LOGGER.isLoggable(Level.FINE)) {
+         StringBuffer sb = new StringBuffer();
+         sb.append("Dump private Parameter Map:");
+         for (String k : parameters.keySet()) {
+            sb.append("\nName: " + k + ", Values: ");
+            String sep = "";
+            for (String v : parameters.get(k)) {
+               sb.append(sep + v);
+               sep = ", ";
+            }
+         }
+         LOGGER.fine(sb.toString());
+      }
       return parameters;
    }
 
@@ -225,10 +238,15 @@ public class PortletRequestContextImpl implements PortletRequestContext {
     * Looks for multipart form data on an action or serveResource request, and decodes
     * it into a parameter map if found. (doesn't handle file upload or anything like that) 
     * 
+    * NOTE!! : At the current time, this method really only outputs debug info, as it
+    * seems that the servlet container automatically interprets multipart form data
+    * in the same manner that it interprets URL encoded form data.
+    * 
     * @return A Map containing parameter values extracted from a multipart form
     */
    private Map<String, String[]> decodeMultipartForm() {
       Map<String, String[]> parms = new HashMap<String, String[]>();
+      Map<String, String[]> servletMap = servletRequest.getParameterMap();
       String ct = servletRequest.getContentType();
 
       if (LOGGER.isLoggable(Level.FINE)) {
@@ -243,15 +261,27 @@ public class PortletRequestContextImpl implements PortletRequestContext {
                LOGGER.fine("There are " + parts.size() + " parts to process.");
             }
             
+            StringBuilder sb = new StringBuilder();
             for (Part p : parts) {
                if (LOGGER.isLoggable(Level.FINE)) {
-                  StringBuilder sb = new StringBuilder();
                   sb.append("\nPart name: " + p.getName());
                   sb.append(", size: " + p.getSize());
                   sb.append(", type: " + p.getContentType());
-                  LOGGER.fine(sb.toString());
+                  sb.append(", in servletMap=" + servletMap.containsKey(p.getName()));
+                  Collection<String> hn = p.getHeaderNames();
+                  if (hn != null) {
+                     for (String h : hn) {
+                        sb.append(", hdr==" + h + "==");
+                     }
+                  } else {
+                     sb.append(", hdrNames=" + hn);
+                  }
+                  sb.append(", cdHdr==" + p.getHeader("content-disposition") + "==");
                }
             }
+            if (LOGGER.isLoggable(Level.FINE)) {
+               LOGGER.fine(sb.toString());
+            }
 
          } catch (Exception e) {
             LOGGER.logp(FINE, LOG_CLASS, "decodeMultipartForm",