You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by de...@apache.org on 2017/09/17 12:29:40 UTC

[myfaces-trinidad] 03/06: A number of changes to prototype Portlet 2.0

This is an automated email from the ASF dual-hosted git repository.

deki pushed a commit to branch sobryan-portlet
in repository https://gitbox.apache.org/repos/asf/myfaces-trinidad.git

commit 3c15cf1951bbfd14c9812c00209205dffd12f3a0
Author: Scott Bryan <so...@apache.org>
AuthorDate: Thu Jan 29 20:02:50 2009 +0000

    A number of changes to prototype Portlet 2.0
---
 pom.xml                                            |  13 +-
 trinidad-api/pom.xml                               |  10 +
 .../myfaces/trinidad/config/Configurator.java      |   6 +-
 .../myfaces/trinidad/util/RequestStateMap.java     |  94 +++++
 trinidad-impl/pom.xml                              |   5 +
 .../config/GlobalConfiguratorImpl.java             | 145 ++++----
 .../config/dispatch/DispatchRenderResponse.java    |   7 +-
 ...Response.java => DispatchResourceResponse.java} |  39 +--
 .../dispatch/DispatchResponseConfiguratorImpl.java |  29 +-
 .../config/upload/ActionUploadRequestWrapper.java  |   4 +-
 .../config/upload/FileUploadConfiguratorImpl.java  |  46 +--
 ...pper.java => ResourceUploadRequestWrapper.java} |  56 +--
 .../webapp/wrappers/ActionRequestWrapper.java      |  95 -----
 .../webapp/wrappers/ActionResponseWrapper.java     |  97 -----
 .../webapp/wrappers/PortletContextWrapper.java     | 230 ------------
 .../wrappers/PortletRequestDispatcherWrapper.java  |  66 ----
 .../webapp/wrappers/PortletRequestWrapper.java     | 389 ---------------------
 .../webapp/wrappers/PortletResponseWrapper.java    |  72 ----
 .../webapp/wrappers/RenderRequestWrapper.java      |  47 ---
 .../webapp/wrappers/RenderResponseWrapper.java     | 181 ----------
 20 files changed, 261 insertions(+), 1370 deletions(-)

diff --git a/pom.xml b/pom.xml
index b199942..2d82ddb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -40,15 +40,16 @@
     <!-- Standards -->
     <jdk.version>1.5</jdk.version>    
     <servlet.version>2.5</servlet.version>
-    <portlet.version>1.0</portlet.version>
+    <portlet.version>2.0</portlet.version>
     <jsp.version>2.1</jsp.version>
     <jstl.version>1.2</jstl.version>
     <jsf-spec.version>1.2</jsf-spec.version>
     <jsf-ri.version>1.2_09</jsf-ri.version>
     <jsf-myfaces.version>1.2.4</jsf-myfaces.version>
     <jsf-facelets.version>1.1.14</jsf-facelets.version>
-    <portlet-bridge.version>1.0.0-alpha-2</portlet-bridge.version>
+    <portlet-bridge.version>2.0.0-alpha</portlet-bridge.version>
     <commons-lang.version>2.4</commons-lang.version>
+    <myfaces-commons.version>1.0.1-SNAPSHOT</myfaces-commons.version>
     
     <!-- Testing -->
     <shale.version>1.0.4</shale.version>
@@ -261,6 +262,12 @@
       </dependency>
 
       <dependency>
+        <groupId>org.apache.myfaces.commons</groupId>
+        <artifactId>myfaces-commons-utils12</artifactId>
+        <version>${myfaces-commons.version}</version>
+      </dependency>      
+
+      <dependency>
         <groupId>org.apache.myfaces.trinidad</groupId>
         <artifactId>trinidad-build</artifactId>
         <version>${pom.version}</version>
@@ -313,7 +320,7 @@
         <artifactId>junit</artifactId>
         <version>${junit.version}</version>
         <scope>test</scope>
-      </dependency>      
+      </dependency>
     </dependencies>
   </dependencyManagement>
 
diff --git a/trinidad-api/pom.xml b/trinidad-api/pom.xml
index a232a05..5bd0a11 100644
--- a/trinidad-api/pom.xml
+++ b/trinidad-api/pom.xml
@@ -61,6 +61,16 @@
       <scope>provided</scope> <!-- force provided scope here -->
     </dependency>
 
+    <dependency>
+      <groupId>org.apache.myfaces.portlet-bridge</groupId>
+      <artifactId>portlet-bridge-api</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.myfaces.commons</groupId>
+      <artifactId>myfaces-commons-utils12</artifactId>
+    </dependency>
+
     <!-- "test" scope dependencies -->
     <dependency>
       <groupId>junit</groupId>
diff --git a/trinidad-api/src/main/java/org/apache/myfaces/trinidad/config/Configurator.java b/trinidad-api/src/main/java/org/apache/myfaces/trinidad/config/Configurator.java
index 1a95883..011e04d 100644
--- a/trinidad-api/src/main/java/org/apache/myfaces/trinidad/config/Configurator.java
+++ b/trinidad-api/src/main/java/org/apache/myfaces/trinidad/config/Configurator.java
@@ -21,6 +21,8 @@ package org.apache.myfaces.trinidad.config;
 import javax.faces.context.ExternalContext;
 import javax.servlet.ServletRequest;
 
+import org.apache.myfaces.trinidad.util.RequestStateMap;
+
 /**
  * This defines an abstract class for the Configurator. Classes implementing
  * this abstraction should be listed in the jar's /META-INF/services folder
@@ -158,7 +160,7 @@ public abstract class Configurator
    */
   public static final void disableConfiguratorServices(ServletRequest srq)
   {
-    srq.setAttribute(_DISABLE_SERVICES, Boolean.TRUE);
+    RequestStateMap.getInstance(srq).put(_DISABLE_SERVICES, Boolean.TRUE);
   }
 
   /**
@@ -180,7 +182,7 @@ public abstract class Configurator
    */
   protected static final boolean isConfiguratorServiceDisabled(ExternalContext ec)
   {
-    return Boolean.TRUE.equals(ec.getRequestMap().get(_DISABLE_SERVICES));
+    return Boolean.TRUE.equals(RequestStateMap.getInstance(ec).get(_DISABLE_SERVICES));
   }
 
   static private final String _DISABLE_SERVICES =  Configurator.class.getName()+".DISABLE_SERVICES";
diff --git a/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/RequestStateMap.java b/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/RequestStateMap.java
new file mode 100644
index 0000000..6d6d41a
--- /dev/null
+++ b/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/RequestStateMap.java
@@ -0,0 +1,94 @@
+package org.apache.myfaces.trinidad.util;
+
+import java.lang.reflect.Method;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+import javax.faces.context.ExternalContext;
+
+import javax.portlet.faces.annotation.ExcludeFromManagedRequestScope;
+
+import javax.servlet.ServletRequest;
+
+import org.apache.myfaces.commons.util.RequestType;
+
+/**
+ * TODO: get rid of this object
+ */
+ @ExcludeFromManagedRequestScope
+ public class RequestStateMap extends HashMap<String, Object>
+ {
+   static public RequestStateMap getInstance(ServletRequest req)
+   {
+     RequestStateMap map = (RequestStateMap)req.getAttribute(_STATE_MAP);
+     
+     if(map == null)
+     {
+       map = new RequestStateMap();
+       req.setAttribute(_STATE_MAP, map);
+     }
+     
+     return map;
+   }
+   
+   static public RequestStateMap getInstance(ExternalContext ec)
+   {
+     Map<String, Object> reqMap = ec.getRequestMap();
+     RequestStateMap map = (RequestStateMap)reqMap.get(_STATE_MAP);
+     
+     //For now, always check this on a render so it can be removed from the session.
+     //This can be optimized to only save the state when request attributes are NOT preserved
+     if(RequestType.RENDER.equals(org.apache.myfaces.commons.util.ExternalContextUtils.getRequestType(ec)))
+     {
+       String uuid = ec.getRequestParameterMap().get(_STATE_MAP);
+       if(uuid!= null)
+       {
+          RequestStateMap myMap= (RequestStateMap)ec.getSessionMap().remove(_STATE_MAP+"."+uuid);
+          if(map == null)
+          {
+            map = myMap;
+          }
+          else
+          {
+            //TODO: put optimization code here
+          }
+       }
+     }
+     
+     if(map == null)
+     {
+       map = new RequestStateMap();
+       reqMap.put(_STATE_MAP, map);
+     }
+     
+     return map;
+   }
+   
+   private RequestStateMap(){};
+   
+   public void saveState(ExternalContext ec)
+   {
+     if(RequestType.ACTION.equals(org.apache.myfaces.commons.util.ExternalContextUtils.getRequestType(ec)))
+     {
+       try
+       {
+         //TODO: use reflection here but it can be replaced..
+         Object actionResp = ec.getResponse();
+         Method m = actionResp.getClass().getMethod("setRenderParameter", String.class, String.class);
+         String uuid = UUID.randomUUID().toString();
+
+         ec.getRequestMap().put(_STATE_MAP+"."+uuid, this);
+         m.invoke(actionResp, _STATE_MAP, uuid);
+       }
+       catch(Throwable t)
+       {
+         //TODO: Log exception
+         t.printStackTrace();
+       }
+     }
+   }
+   
+   private static final String _STATE_MAP = RequestStateMap.class.getName();
+ }
diff --git a/trinidad-impl/pom.xml b/trinidad-impl/pom.xml
index 414e1f5..a4e0eb2 100644
--- a/trinidad-impl/pom.xml
+++ b/trinidad-impl/pom.xml
@@ -81,6 +81,11 @@
       <artifactId>jsf-facelets</artifactId>
     </dependency>
 
+    <dependency>
+      <groupId>org.apache.myfaces.commons</groupId>
+      <artifactId>myfaces-commons-utils12</artifactId>
+    </dependency>
+
     <!-- "test" scope dependencies -->
     <dependency>
       <groupId>org.apache.myfaces.trinidad</groupId>
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/GlobalConfiguratorImpl.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/GlobalConfiguratorImpl.java
index 0488ee1..dafde84 100644
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/GlobalConfiguratorImpl.java
+++ b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/GlobalConfiguratorImpl.java
@@ -19,14 +19,20 @@
 
 package org.apache.myfaces.trinidadinternal.config;
 
+import java.lang.reflect.Method;
+
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import java.util.UUID;
 import java.util.concurrent.atomic.AtomicReference;
 
 import javax.faces.context.ExternalContext;
 
+import javax.portlet.faces.annotation.ExcludeFromManagedRequestScope;
+
+import javax.servlet.ServletContext;
 import javax.servlet.ServletRequest;
 
 import javax.servlet.ServletRequestWrapper;
@@ -40,6 +46,9 @@ import org.apache.myfaces.trinidad.context.RequestContextFactory;
 import org.apache.myfaces.trinidad.logging.TrinidadLogger;
 import org.apache.myfaces.trinidad.skin.SkinFactory;
 import org.apache.myfaces.trinidad.util.ClassLoaderUtils;
+import org.apache.myfaces.commons.util.ExternalContextUtils;
+import org.apache.myfaces.commons.util.RequestType;
+import org.apache.myfaces.trinidad.util.RequestStateMap;
 import org.apache.myfaces.trinidadinternal.context.RequestContextFactoryImpl;
 import org.apache.myfaces.trinidadinternal.context.external.ServletCookieMap;
 import org.apache.myfaces.trinidadinternal.context.external.ServletRequestHeaderMap;
@@ -49,7 +58,6 @@ import org.apache.myfaces.trinidadinternal.context.external.ServletRequestParame
 import org.apache.myfaces.trinidadinternal.context.external.ServletRequestParameterValuesMap;
 import org.apache.myfaces.trinidadinternal.skin.SkinFactoryImpl;
 import org.apache.myfaces.trinidadinternal.skin.SkinUtils;
-import org.apache.myfaces.trinidad.util.ExternalContextUtils;
 
 /**
  * This is the implementation of the Trinidad's Global configurator. It provides the entry point for
@@ -123,7 +131,7 @@ public final class GlobalConfiguratorImpl extends Configurator
    */
   static public boolean isRequestStarted(final ExternalContext ec)
   {
-    return (RequestType.getType(ec) != null);
+    return (RequestStateMap.getInstance(ec).get(_STATE_REQUEST_TYPE) != null);
   }
 
   /**
@@ -182,13 +190,16 @@ public final class GlobalConfiguratorImpl extends Configurator
   {
     // asserts for debug which disappear in production
     assert externalContext != null;
-
+    RequestStateMap state = RequestStateMap.getInstance(externalContext);
+    RequestType reqType = (RequestType)state.get(_STATE_REQUEST_TYPE);
+ 
     // Do per-virtual request stuff
-    if (RequestType.getType(externalContext) == null)
+    if (reqType == null)
     {
-      // RequestType may change in a portal environment. Make sure it's set up to enforce the
-      // contracts
-      RequestType.setType(externalContext);
+      reqType = ExternalContextUtils.getRequestType(externalContext);
+      // RequestType may change in a portal environment. Make sure it's set up 
+      // to enforce the contracts
+      state.put(_STATE_REQUEST_TYPE, reqType);
 
       // By contract, Configurators beginRequest is only called once per physical request.
       // The globalConfigurator may be called multiple times, however, so we need to enforce
@@ -203,7 +214,7 @@ public final class GlobalConfiguratorImpl extends Configurator
 
         _attachRequestContext(externalContext);
 
-        if (externalContext.getRequestMap().get(_IN_REQUEST) == null)
+        if (state.get(_IN_REQUEST) == null)
         {
           _startConfiguratorServiceRequest(externalContext);
         }
@@ -213,7 +224,7 @@ public final class GlobalConfiguratorImpl extends Configurator
         _LOG.fine("GlobalConfigurator: Configurators have been disabled for this request.");
       }
     }
-    else if (!RequestType.isCorrectType(externalContext))
+    else if (reqType.equals(state.get(_STATE_REQUEST_TYPE)))
     {
       // This will happen if the actionRequest was not ended before dispatching to the render
       // request
@@ -275,28 +286,35 @@ public final class GlobalConfiguratorImpl extends Configurator
   @Override
   public void endRequest(final ExternalContext externalContext)
   {
+    RequestStateMap state = RequestStateMap.getInstance(externalContext);
+    boolean responseWritable = ExternalContextUtils.isResponseWritable(externalContext);
+    
     // do per virtual-request stuff
-    if (RequestType.getType(externalContext) != null)
+    if (state.get(_STATE_REQUEST_TYPE) != null)
     {
       if (!_isDisabled(externalContext))
       {
         try
         {
-          final RequestType type = RequestType.getType(externalContext);
+          final RequestType type = ExternalContextUtils.getRequestType(externalContext);
   
           // Do not end services at the end of a portal action request
-          if (type != RequestType.PORTAL_ACTION)
+          if (responseWritable)
           {
             _endConfiguratorServiceRequest(externalContext);
           }
         }
         finally
         {
+          if(!responseWritable)
+          {
+            state.saveState(externalContext);
+          }
           _releaseRequestContext(externalContext);
-          _releaseManagedThreadLocals();
         }
       }
-      RequestType.clearType(externalContext);
+      
+      state.remove(_STATE_REQUEST_TYPE);
     }
   }
 
@@ -315,7 +333,8 @@ public final class GlobalConfiguratorImpl extends Configurator
   @Override
   public ExternalContext getExternalContext(ExternalContext externalContext)
   {
-    if (RequestType.getType(externalContext) == null)
+    RequestStateMap state = RequestStateMap.getInstance(externalContext);
+    if (state.get(_STATE_REQUEST_TYPE) == null)
     {
       beginRequest(externalContext);
     }
@@ -438,8 +457,7 @@ public final class GlobalConfiguratorImpl extends Configurator
       {
         _LOG.warning("REQUESTCONTEXT_NOT_PROPERLY_RELEASED");
       }
-      context.release();
-      _releaseManagedThreadLocals();
+      _releaseRequestContext(externalContext);
     }
     
     // See if we've got a cached RequestContext instance; if so,
@@ -452,32 +470,25 @@ public final class GlobalConfiguratorImpl extends Configurator
     if (cachedRequestContext instanceof RequestContext)
     {
       context = (RequestContext) cachedRequestContext;
-      context.attach();
     }
     else
     {
       final RequestContextFactory factory = RequestContextFactory.getFactory();
       assert factory != null;
       context = factory.createContext(externalContext);
-      externalContext.getRequestMap().put(_REQUEST_CONTEXT, context);
+      RequestStateMap.getInstance(externalContext).put(_REQUEST_CONTEXT, context);
     }
-
+    context.attach();
     assert RequestContext.getCurrentInstance() == context;
   }
 
   private void _releaseRequestContext(final ExternalContext ec)
   {
-    //If it's not a portal action, we should remove the cached request because
-    //well want to create a new one next request
-    if(RequestType.getType(ec) != RequestType.PORTAL_ACTION)
-    {
-      ec.getRequestMap().remove(_REQUEST_CONTEXT);
-    }
-
     final RequestContext context = RequestContext.getCurrentInstance();
     if (context != null)
     {
       context.release();
+      _releaseManagedThreadLocals();
       assert RequestContext.getCurrentInstance() == null;
 
     }
@@ -497,12 +508,19 @@ public final class GlobalConfiguratorImpl extends Configurator
   {
     // Physical request has now ended
     // Clear the in-request flag
-    ec.getRequestMap().remove(_IN_REQUEST);
+    RequestStateMap.getInstance(ec).remove(_IN_REQUEST);
     if(_services != null)
     {
       for (final Configurator config : _services)
       {
-        config.endRequest(ec);
+        try
+        {
+          config.endRequest(ec);
+        }
+        catch (Throwable t)
+        {
+          t.printStackTrace();
+        }
       }
     }
   }
@@ -514,12 +532,19 @@ public final class GlobalConfiguratorImpl extends Configurator
     final boolean disabled = isConfiguratorServiceDisabled(ec);
 
     // Tell whether the services were disabled when the requests had begun
-    ec.getRequestMap().put(_IN_REQUEST, disabled);
+    RequestStateMap.getInstance(ec).put(_IN_REQUEST, disabled);
 
     // If this hasn't been initialized then please initialize
     for (final Configurator config : _services)
     {
-      config.beginRequest(ec);
+      try
+      {
+        config.beginRequest(ec);
+      }
+      catch(Throwable t)
+      {
+        t.printStackTrace();
+      }
     }
   }
 
@@ -675,6 +700,7 @@ public final class GlobalConfiguratorImpl extends Configurator
       return (HttpServletRequest)getRequest();
     }
   }
+  
 
 
   private static volatile boolean _sSetRequestBugTested = false;
@@ -690,58 +716,11 @@ public final class GlobalConfiguratorImpl extends Configurator
   static private final String _REQUEST_CONTEXT =
      GlobalConfiguratorImpl.class.getName()
      + ".REQUEST_CONTEXT";
-
-
-  private enum RequestType
-  {
-    PORTAL_ACTION,
-    PORTAL_RENDER,
-    SERVLET;
-
-    public static void clearType(final ExternalContext ec)
-    {
-      ec.getRequestMap().remove(_REQUEST_TYPE);
-    }
-
-    public static RequestType getType(final ExternalContext ec)
-    {
-      return (RequestType) ec.getRequestMap().get(_REQUEST_TYPE);
-    }
-
-    public static boolean isCorrectType(final ExternalContext ec)
-    {
-      return _findType(ec) == getType(ec);
-    }
-
-    @SuppressWarnings("unchecked")
-    public static void setType(final ExternalContext ec)
-    {
-      ec.getRequestMap().put(_REQUEST_TYPE, _findType(ec));
-    }
-
-    private static final RequestType _findType(final ExternalContext ec)
-    {
-      if (ExternalContextUtils.isPortlet(ec))
-      {
-        if (ExternalContextUtils.isAction(ec))
-        {
-          return PORTAL_ACTION;
-        }
-        else
-        {
-          return PORTAL_RENDER;
-        }
-      }
-      else
-      {
-        return SERVLET;
-      }
-    }
-
-    static private final String _REQUEST_TYPE = GlobalConfiguratorImpl.class.getName()
-                                                  + ".REQUEST_TYPE";
-  }
-
+  
+  static private final String _DISABLE_SERVICES =  Configurator.class.getName()+".DISABLE_SERVICES";
+  
+  static private final String _STATE_REQUEST_TYPE = GlobalConfiguratorImpl.class.getName()
+                                                + ".REQUEST_TYPE";
   static private class TestRequest extends ServletRequestWrapper
   {
     public TestRequest(ServletRequest request)
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/dispatch/DispatchRenderResponse.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/dispatch/DispatchRenderResponse.java
index 7b3911c..f782b1d 100644
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/dispatch/DispatchRenderResponse.java
+++ b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/dispatch/DispatchRenderResponse.java
@@ -25,7 +25,7 @@ import javax.faces.context.ExternalContext;
 import javax.portlet.RenderRequest;
 import javax.portlet.RenderResponse;
 
-import org.apache.myfaces.trinidadinternal.webapp.wrappers.RenderResponseWrapper;
+import javax.portlet.filter.RenderResponseWrapper;
 
 @SuppressWarnings("deprecation")
 class DispatchRenderResponse extends RenderResponseWrapper
@@ -33,7 +33,7 @@ class DispatchRenderResponse extends RenderResponseWrapper
   public DispatchRenderResponse(ExternalContext ec)
   {
     super((RenderResponse)ec.getResponse());
-     _request = (RenderRequest)ec.getRequest();
+    _request = (RenderRequest)ec.getRequest();
   }
 
   @Override
@@ -72,6 +72,5 @@ class DispatchRenderResponse extends RenderResponseWrapper
 
   private final RenderRequest _request;
 
-  static private final Pattern _CONTENT_TYPE_PATTERN =
-                                  Pattern.compile("([^;]+)(?:;charset=(.*))?");
+  static private final Pattern _CONTENT_TYPE_PATTERN = Pattern.compile("([^;]+)(?:;charset=(.*))?");
 }
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/dispatch/DispatchRenderResponse.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/dispatch/DispatchResourceResponse.java
similarity index 51%
copy from trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/dispatch/DispatchRenderResponse.java
copy to trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/dispatch/DispatchResourceResponse.java
index 7b3911c..4890587 100644
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/dispatch/DispatchRenderResponse.java
+++ b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/dispatch/DispatchResourceResponse.java
@@ -1,39 +1,23 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you 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.myfaces.trinidadinternal.config.dispatch;
 
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 import javax.faces.context.ExternalContext;
+
 import javax.portlet.RenderRequest;
 import javax.portlet.RenderResponse;
+import javax.portlet.ResourceRequest;
+import javax.portlet.ResourceResponse;
+import javax.portlet.filter.ResourceResponseWrapper;
 
-import org.apache.myfaces.trinidadinternal.webapp.wrappers.RenderResponseWrapper;
-
-@SuppressWarnings("deprecation")
-class DispatchRenderResponse extends RenderResponseWrapper
+public class DispatchResourceResponse
+  extends ResourceResponseWrapper
 {
-  public DispatchRenderResponse(ExternalContext ec)
+  public DispatchResourceResponse(ExternalContext ec)
   {
-    super((RenderResponse)ec.getResponse());
-     _request = (RenderRequest)ec.getRequest();
+    super((ResourceResponse)ec.getResponse());
+    _request = (ResourceRequest)ec.getRequest();
   }
 
   @Override
@@ -70,8 +54,7 @@ class DispatchRenderResponse extends RenderResponseWrapper
     super.setContentType(contentTypeAndCharset);
   }
 
-  private final RenderRequest _request;
+  private final ResourceRequest _request;
 
-  static private final Pattern _CONTENT_TYPE_PATTERN =
-                                  Pattern.compile("([^;]+)(?:;charset=(.*))?");
+  static private final Pattern _CONTENT_TYPE_PATTERN = Pattern.compile("([^;]+)(?:;charset=(.*))?");
 }
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/dispatch/DispatchResponseConfiguratorImpl.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/dispatch/DispatchResponseConfiguratorImpl.java
index f70170d..6df85eb 100644
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/dispatch/DispatchResponseConfiguratorImpl.java
+++ b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/dispatch/DispatchResponseConfiguratorImpl.java
@@ -24,7 +24,8 @@ import javax.faces.context.ExternalContext;
 import javax.faces.context.FacesContext;
 
 import org.apache.myfaces.trinidad.config.Configurator;
-import org.apache.myfaces.trinidad.util.ExternalContextUtils;
+import org.apache.myfaces.commons.util.ExternalContextUtils;
+import org.apache.myfaces.trinidad.util.RequestStateMap;
 
 /**
  * TODO: Document this
@@ -40,18 +41,22 @@ public class DispatchResponseConfiguratorImpl extends Configurator
   {
     if(!isApplied(externalContext))
     {
-      if(ExternalContextUtils.isPortlet(externalContext))
+      switch(ExternalContextUtils.getRequestType(externalContext))
       {
-        if(!ExternalContextUtils.isAction(externalContext))
-        {
+        case RENDER:
+          //TODO: not sure if this is needed
           externalContext.setResponse(new DispatchRenderResponse(externalContext));
-        }
+          break;
+          
+        case RESOURCE:
+          //TODO: Not sure if this is needed
+          externalContext.setResponse(new DispatchResourceResponse(externalContext));
+          break;
+          
+        case SERVLET:
+          externalContext.setResponse(new DispatchServletResponse(externalContext));
       }
-      else
-      {
-        externalContext.setResponse(new DispatchServletResponse(externalContext));
-      }
-
+      
       apply(externalContext);
     }
 
@@ -75,7 +80,7 @@ public class DispatchResponseConfiguratorImpl extends Configurator
    */
   static public boolean isApplied(ExternalContext context)
   {
-    return (context.getRequestMap().get(_APPLIED)!=null);
+    return (RequestStateMap.getInstance(context).get(_APPLIED)!=null);
   }
 
   /**
@@ -84,7 +89,7 @@ public class DispatchResponseConfiguratorImpl extends Configurator
   @SuppressWarnings("unchecked")
   static public void apply(ExternalContext context)
   {
-    context.getRequestMap().put(_APPLIED, Boolean.TRUE);
+    RequestStateMap.getInstance(context).put(_APPLIED, Boolean.TRUE);
   }
 
   static private final String _APPLIED =
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/upload/ActionUploadRequestWrapper.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/upload/ActionUploadRequestWrapper.java
index 6c15c7d..5817fd4 100644
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/upload/ActionUploadRequestWrapper.java
+++ b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/upload/ActionUploadRequestWrapper.java
@@ -30,9 +30,10 @@ import javax.faces.context.ExternalContext;
 import javax.portlet.ActionRequest;
 import javax.portlet.ActionResponse;
 
+import javax.portlet.filter.ActionRequestWrapper;
+
 import org.apache.myfaces.trinidad.logging.TrinidadLogger;
 import org.apache.myfaces.trinidadinternal.share.util.CaboHttpUtils;
-import org.apache.myfaces.trinidadinternal.webapp.wrappers.ActionRequestWrapper;
 
 public class ActionUploadRequestWrapper
   extends ActionRequestWrapper
@@ -110,7 +111,6 @@ public class ActionUploadRequestWrapper
       }
 
       _extractedAndDecodedParams.put(key, newValue);
-      _response.setRenderParameters(_extractedAndDecodedParams);
     }
 
     // Let the UploadedFiles know, so it can fix up filenames
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/upload/FileUploadConfiguratorImpl.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/upload/FileUploadConfiguratorImpl.java
index 0a41669..84b8a15 100644
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/upload/FileUploadConfiguratorImpl.java
+++ b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/upload/FileUploadConfiguratorImpl.java
@@ -30,11 +30,14 @@ import javax.portlet.faces.annotation.ExcludeFromManagedRequestScope;
 
 import javax.servlet.http.HttpServletRequest;
 
+import org.apache.myfaces.commons.util.ExternalContextUtils;
+
+import org.apache.myfaces.commons.util.RequestType;
 import org.apache.myfaces.trinidad.config.Configurator;
 import org.apache.myfaces.trinidad.context.RequestContext;
 import org.apache.myfaces.trinidad.logging.TrinidadLogger;
 import org.apache.myfaces.trinidad.model.UploadedFile;
-import org.apache.myfaces.trinidad.util.ExternalContextUtils;
+import org.apache.myfaces.trinidad.util.RequestStateMap;
 import org.apache.myfaces.trinidadinternal.share.util.MultipartFormHandler;
 import org.apache.myfaces.trinidadinternal.share.util.MultipartFormItem;
 
@@ -55,7 +58,7 @@ public class FileUploadConfiguratorImpl extends Configurator
   static public Map<String, String[]> getAddedParameters(ExternalContext externalContext)
   {
     @SuppressWarnings("unchecked")
-    Map<String, String[]> map = (Map<String, String[]>) externalContext.getRequestMap().get(_PARAMS);
+    Map<String, String[]> map = (Map<String, String[]>) RequestStateMap.getInstance(externalContext).get(_PARAMS);
 
     return map;
   }
@@ -68,7 +71,7 @@ public class FileUploadConfiguratorImpl extends Configurator
    */
   static public boolean isApplied(ExternalContext context)
   {
-    return (context.getRequestMap().get(_APPLIED)!=null);
+    return (RequestStateMap.getInstance(context).get(_APPLIED)!=null);
   }
 
   /**
@@ -77,7 +80,7 @@ public class FileUploadConfiguratorImpl extends Configurator
   @SuppressWarnings("unchecked")
   static public void apply(ExternalContext context)
   {
-    context.getRequestMap().put(_APPLIED, AppliedClass.APPLIED);
+    RequestStateMap.getInstance(context).put(_APPLIED, AppliedClass.APPLIED);
   }
 
   /* (non-Javadoc)
@@ -87,6 +90,8 @@ public class FileUploadConfiguratorImpl extends Configurator
   @SuppressWarnings("unchecked")
   public void beginRequest(ExternalContext externalContext)
   {
+    RequestType type = ExternalContextUtils.getRequestType(externalContext);
+    
     /*
      * Note: This class does not do a dispose on the file uploads.  The
      * reason for this is that in a portal environment, multiple render-requests
@@ -100,7 +105,7 @@ public class FileUploadConfiguratorImpl extends Configurator
     // as possible is a good thing
     //Process MultipartForm if need be
     if (MultipartFormHandler.isMultipartRequest(externalContext) &&
-       (externalContext.getRequest() instanceof HttpServletRequest || ExternalContextUtils.isPortlet(externalContext)))
+       (ExternalContextUtils.isHttpServletRequest(externalContext) || type.isPortlet()))
     {
       try
       {
@@ -110,7 +115,7 @@ public class FileUploadConfiguratorImpl extends Configurator
         // AdamWiner: looks like the previous Trinidad incarnation
         // of this code didn't have any allowed configuration...
         mfh.setMaximumAllowedBytes(_maxAllowedBytes);
-        mfh.setCharacterEncoding(ExternalContextUtils.getCharacterEncoding(externalContext));
+        mfh.setCharacterEncoding(externalContext.getRequestCharacterEncoding());
 
         final HashMap<String, String[]> parameters = new HashMap<String, String[]>();
         MultipartFormItem item;
@@ -223,24 +228,23 @@ public class FileUploadConfiguratorImpl extends Configurator
 
   static private ExternalContext _getExternalContextWrapper(ExternalContext externalContext, Map<String, String[]> addedParams)
   {
+    /**
+     * Only need to support Servlet, Action, and Resource (for ppr) Requests.
+     */
     if(!isApplied(externalContext))
     {
-      if(!ExternalContextUtils.isPortlet(externalContext))
-      {  
-        externalContext.setRequest(new UploadRequestWrapper(
-            (HttpServletRequest)externalContext.getRequest(),
-            addedParams));        
-      }
-      else if(ExternalContextUtils.isAction(externalContext))
+      switch(ExternalContextUtils.getRequestType(externalContext))
       {
-        /*
-         * We only need to do this if we have an action request.  Why?
-         * Because durring the ActionRequest, the wrapper will set the
-         * RenderParameters.  This is a cool thing because subsequent
-         * render requests will retain these parameters for us.
-         */
-        externalContext.setRequest(new ActionUploadRequestWrapper(externalContext,
-           addedParams));
+        case SERVLET:
+          externalContext.setRequest(new UploadRequestWrapper((HttpServletRequest)externalContext.getRequest(), addedParams));
+          break;
+        
+        case ACTION:
+          externalContext.setRequest(new ActionUploadRequestWrapper(externalContext, addedParams));
+          break;
+        
+        case RESOURCE:
+          externalContext.setRequest(new ResourceUploadRequestWrapper(externalContext, addedParams));
       }
       apply(externalContext);        
     }
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/upload/ActionUploadRequestWrapper.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/upload/ResourceUploadRequestWrapper.java
similarity index 65%
copy from trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/upload/ActionUploadRequestWrapper.java
copy to trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/upload/ResourceUploadRequestWrapper.java
index 6c15c7d..6c45c63 100644
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/upload/ActionUploadRequestWrapper.java
+++ b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/upload/ResourceUploadRequestWrapper.java
@@ -1,21 +1,3 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you 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.myfaces.trinidadinternal.config.upload;
 
 import java.io.UnsupportedEncodingException;
@@ -27,22 +9,21 @@ import java.util.Map;
 
 import javax.faces.context.ExternalContext;
 
-import javax.portlet.ActionRequest;
-import javax.portlet.ActionResponse;
+import javax.portlet.ResourceRequest;
+import javax.portlet.ResourceResponse;
+import javax.portlet.filter.ResourceRequestWrapper;
 
 import org.apache.myfaces.trinidad.logging.TrinidadLogger;
 import org.apache.myfaces.trinidadinternal.share.util.CaboHttpUtils;
-import org.apache.myfaces.trinidadinternal.webapp.wrappers.ActionRequestWrapper;
 
-public class ActionUploadRequestWrapper
-  extends ActionRequestWrapper
+public class ResourceUploadRequestWrapper
+  extends ResourceRequestWrapper
 {
-  public ActionUploadRequestWrapper(
-      ExternalContext ec,
-      Map<String, String[]> params)
+  public ResourceUploadRequestWrapper(ExternalContext ec,
+                                      Map<String, String[]> params)
   {
-    super((ActionRequest)ec.getRequest());
-    _response = (ActionResponse)ec.getResponse();
+    super((ResourceRequest) ec.getRequest());
+    _response = (ResourceResponse) ec.getResponse();
 
     @SuppressWarnings("unchecked")
     Map<String, String[]> origionalMap = super.getParameterMap();
@@ -80,7 +61,7 @@ public class ActionUploadRequestWrapper
     // If the encoding is already right, we can bail
     if (encoding.equals(_encoding))
       return;
-    
+
     // Don't call super.setCharacterEncoding() - it's too late
     // and we'll get a warning
     _encoding = encoding;
@@ -88,11 +69,11 @@ public class ActionUploadRequestWrapper
       _LOG.fine("Switching encoding of wrapper to " + encoding);
 
     _extractedAndDecodedParams =
-      new HashMap<String, String[]>(_extractedParams.size());
+        new HashMap<String, String[]>(_extractedParams.size());
 
     byte[] buffer = new byte[256];
 
-    for(Map.Entry<String, String[]> entry : _extractedParams.entrySet())
+    for (Map.Entry<String, String[]> entry: _extractedParams.entrySet())
     {
       String key = entry.getKey();
       key = CaboHttpUtils.decodeRequestParameter(key, encoding, buffer);
@@ -102,15 +83,14 @@ public class ActionUploadRequestWrapper
       String[] newValue = new String[length];
       for (int i = 0; i < length; i++)
       {
-        newValue[i] = CaboHttpUtils.decodeRequestParameter(oldValue[i],
-                                                           encoding,
-                                                           buffer);
+        newValue[i] =
+            CaboHttpUtils.decodeRequestParameter(oldValue[i], encoding,
+                                                 buffer);
         if (_LOG.isFinest())
           _LOG.finest("Parameter " + key + ":" + newValue[i]);
       }
 
       _extractedAndDecodedParams.put(key, newValue);
-      _response.setRenderParameters(_extractedAndDecodedParams);
     }
 
     // Let the UploadedFiles know, so it can fix up filenames
@@ -169,10 +149,10 @@ public class ActionUploadRequestWrapper
 
   private Map<String, String[]> _extractedAndDecodedParams;
   private Map<String, String[]> _extractedParams;
-  private ActionResponse _response;
-  private String         _encoding;
+  private ResourceResponse _response;
+  private String _encoding;
   private static final String _WWW_FORM_URLENCODED_TYPE =
     "application/x-www-form-urlencoded";
   private static final TrinidadLogger _LOG =
-     TrinidadLogger.createTrinidadLogger(ActionUploadRequestWrapper.class);
+    TrinidadLogger.createTrinidadLogger(ResourceUploadRequestWrapper.class);
 }
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/wrappers/ActionRequestWrapper.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/wrappers/ActionRequestWrapper.java
deleted file mode 100644
index 9b48110..0000000
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/wrappers/ActionRequestWrapper.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you 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.myfaces.trinidadinternal.webapp.wrappers;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-
-import javax.portlet.ActionRequest;
-
-/**
- * Wrapper for the native ActionRequest object.  Unlike the servlet wrappers,
- * Portlet Request/Response wrapping is not supported by JSR-160.  Therefore
- * it is important to use the PortletContextWrapper when retrieving the
- * PortletRequestDispatcher.  This will give you a special dispatcher that is
- * aware of the wrapping and will deploy the underlying PortletRequest/Response
- * implementations.
- *
- * @version $Revision$ $Date$
- */
-public class ActionRequestWrapper extends PortletRequestWrapper implements ActionRequest
-{
-  public ActionRequestWrapper(ActionRequest request)
-  {
-    super(request);
-   _req = request;
-  }
-
-  private ActionRequest _req;
-
-  /* (non-Javadoc)
-   * @see javax.portlet.ActionRequest#getCharacterEncoding()
-   */
-  public String getCharacterEncoding()
-  {
-    return _req.getCharacterEncoding();
-  }
-
-  /* (non-Javadoc)
-   * @see javax.portlet.ActionRequest#getContentLength()
-   */
-  public int getContentLength()
-  {
-    return _req.getContentLength();
-  }
-
-  /* (non-Javadoc)
-   * @see javax.portlet.ActionRequest#getContentType()
-   */
-  public String getContentType()
-  {
-    return _req.getContentType();
-  }
-
-  /* (non-Javadoc)
-   * @see javax.portlet.ActionRequest#getPortletInputStream()
-   */
-  public InputStream getPortletInputStream() throws IOException
-  {
-    return _req.getPortletInputStream();
-  }
-
-  /* (non-Javadoc)
-   * @see javax.portlet.ActionRequest#getReader()
-   */
-  public BufferedReader getReader() throws UnsupportedEncodingException, IOException
-  {
-    return _req.getReader();
-  }
-
-  /* (non-Javadoc)
-   * @see javax.portlet.ActionRequest#setCharacterEncoding(java.lang.String)
-   */
-  public void setCharacterEncoding(String arg0) throws UnsupportedEncodingException
-  {
-    _req.setCharacterEncoding(arg0);
-  }
-}
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/wrappers/ActionResponseWrapper.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/wrappers/ActionResponseWrapper.java
deleted file mode 100644
index 0972061..0000000
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/wrappers/ActionResponseWrapper.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you 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.myfaces.trinidadinternal.webapp.wrappers;
-
-import java.io.IOException;
-import java.util.Map;
-
-import javax.portlet.ActionResponse;
-import javax.portlet.PortletMode;
-import javax.portlet.PortletModeException;
-import javax.portlet.WindowState;
-import javax.portlet.WindowStateException;
-
-/**
- * TODO: Document this
- *
- * @version $Revision$ $Date$
- */
-
-public class ActionResponseWrapper extends PortletResponseWrapper implements ActionResponse
-{
-  public ActionResponseWrapper(ActionResponse response)
-  {
-    super(response);
-    _resp = response;
-  }
-
-  private ActionResponse _resp;
-
-  /* (non-Javadoc)
-   * @see javax.portlet.ActionResponse#sendRedirect(java.lang.String)
-   */
-  public void sendRedirect(String arg0) throws IOException
-  {
-    _resp.sendRedirect(arg0);
-  }
-
-  /* (non-Javadoc)
-   * @see javax.portlet.ActionResponse#setPortletMode(javax.portlet.PortletMode)
-   */
-  public void setPortletMode(PortletMode arg0) throws PortletModeException
-  {
-    _resp.setPortletMode(arg0);
-  }
-
-  /* (non-Javadoc)
-   * @see javax.portlet.ActionResponse#setRenderParameter(java.lang.String, java.lang.String)
-   */
-  public void setRenderParameter(String arg0, String arg1)
-  {
-    _resp.setRenderParameter(arg0, arg1);
-  }
-
-  /* (non-Javadoc)
-   * @see javax.portlet.ActionResponse#setRenderParameter(java.lang.String, java.lang.String[])
-   */
-  public void setRenderParameter(String arg0, String[] arg1)
-  {
-    _resp.setRenderParameter(arg0, arg1);
-  }
-
-  /* (non-Javadoc)
-   * @see javax.portlet.ActionResponse#setRenderParameters(java.util.Map)
-   * -= Simon =-
-   * TODO: When portlet is made generic, fix this signature to fit with 
-   *       ActionResponse.setRenderParameters
-   */
-  @SuppressWarnings("unchecked")
-  public void setRenderParameters(Map arg0)
-  {
-    _resp.setRenderParameters(arg0);
-  }
-
-  /* (non-Javadoc)
-   * @see javax.portlet.ActionResponse#setWindowState(javax.portlet.WindowState)
-   */
-  public void setWindowState(WindowState arg0) throws WindowStateException
-  {
-    _resp.setWindowState(arg0);
-  }
-}
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/wrappers/PortletContextWrapper.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/wrappers/PortletContextWrapper.java
deleted file mode 100644
index 7fd9b71..0000000
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/wrappers/PortletContextWrapper.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you 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.myfaces.trinidadinternal.webapp.wrappers;
-
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.Set;
-
-import javax.portlet.PortletContext;
-import javax.portlet.PortletRequestDispatcher;
-
-/**
- * TODO: Document this
- *
- * @version $Revision$ $Date$
- */
-
-public class PortletContextWrapper implements PortletContext
-{
-  public PortletContextWrapper(PortletContext context)
-  {
-    _context = context;
-  }
-
-  private PortletContext _context;
-
-  /**
-   * @param arg0
-   * @return
-   * @see javax.portlet.PortletContext#getAttribute(java.lang.String)
-   */
-  public Object getAttribute(String arg0)
-  {
-    return _context.getAttribute(arg0);
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletContext#getAttributeNames()
-   */
-  public Enumeration<?> getAttributeNames()
-  {
-    return _context.getAttributeNames();
-  }
-
-  /**
-   * @param arg0
-   * @return
-   * @see javax.portlet.PortletContext#getInitParameter(java.lang.String)
-   */
-  public String getInitParameter(String arg0)
-  {
-    return _context.getInitParameter(arg0);
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletContext#getInitParameterNames()
-   */
-  public Enumeration<?> getInitParameterNames()
-  {
-    return _context.getInitParameterNames();
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletContext#getMajorVersion()
-   */
-  public int getMajorVersion()
-  {
-    return _context.getMajorVersion();
-  }
-
-  /**
-   * @param arg0
-   * @return
-   * @see javax.portlet.PortletContext#getMimeType(java.lang.String)
-   */
-  public String getMimeType(String arg0)
-  {
-    return _context.getMimeType(arg0);
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletContext#getMinorVersion()
-   */
-  public int getMinorVersion()
-  {
-    return _context.getMinorVersion();
-  }
-
-  /**
-   * @param arg0
-   * @return
-   * @see javax.portlet.PortletContext#getNamedDispatcher(java.lang.String)
-   */
-  public PortletRequestDispatcher getNamedDispatcher(String arg0)
-  {
-    return new PortletRequestDispatcherWrapper(_context.getNamedDispatcher(arg0));
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletContext#getPortletContextName()
-   */
-  public String getPortletContextName()
-  {
-    return _context.getPortletContextName();
-  }
-
-  /**
-   * @param arg0
-   * @return
-   * @see javax.portlet.PortletContext#getRealPath(java.lang.String)
-   */
-  public String getRealPath(String arg0)
-  {
-    return _context.getRealPath(arg0);
-  }
-
-  /**
-   * @param arg0
-   * @return
-   * @see javax.portlet.PortletContext#getRequestDispatcher(java.lang.String)
-   */
-  public PortletRequestDispatcher getRequestDispatcher(String arg0)
-  {
-    return new PortletRequestDispatcherWrapper(_context.getRequestDispatcher(arg0));
-  }
-
-  /**
-   * @param arg0
-   * @return
-   * @throws MalformedURLException
-   * @see javax.portlet.PortletContext#getResource(java.lang.String)
-   */
-  public URL getResource(String arg0) throws MalformedURLException
-  {
-    return _context.getResource(arg0);
-  }
-
-  /**
-   * @param arg0
-   * @return
-   * @see javax.portlet.PortletContext#getResourceAsStream(java.lang.String)
-   */
-  public InputStream getResourceAsStream(String arg0)
-  {
-    return _context.getResourceAsStream(arg0);
-  }
-
-  /**
-   * @param arg0
-   * @return
-   * @see javax.portlet.PortletContext#getResourcePaths(java.lang.String)
-   * -= Simon =-
-   * TODO: Once portlet spec supports generics, change this signature to match it.
-   */
-  @SuppressWarnings("unchecked")
-  public Set getResourcePaths(String arg0)
-  {
-    return _context.getResourcePaths(arg0);
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletContext#getServerInfo()
-   */
-  public String getServerInfo()
-  {
-    return _context.getServerInfo();
-  }
-
-  /**
-   * @param arg0
-   * @param arg1
-   * @see javax.portlet.PortletContext#log(java.lang.String, java.lang.Throwable)
-   */
-  public void log(String arg0, Throwable arg1)
-  {
-    _context.log(arg0, arg1);
-  }
-
-  /**
-   * @param arg0
-   * @see javax.portlet.PortletContext#log(java.lang.String)
-   */
-  public void log(String arg0)
-  {
-    _context.log(arg0);
-  }
-
-  /**
-   * @param arg0
-   * @see javax.portlet.PortletContext#removeAttribute(java.lang.String)
-   */
-  public void removeAttribute(String arg0)
-  {
-    _context.removeAttribute(arg0);
-  }
-
-  /**
-   * @param arg0
-   * @param arg1
-   * @see javax.portlet.PortletContext#setAttribute(java.lang.String, java.lang.Object)
-   */
-  public void setAttribute(String arg0, Object arg1)
-  {
-    _context.setAttribute(arg0, arg1);
-  }
-}
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/wrappers/PortletRequestDispatcherWrapper.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/wrappers/PortletRequestDispatcherWrapper.java
deleted file mode 100644
index 54d87a3..0000000
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/wrappers/PortletRequestDispatcherWrapper.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you 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.myfaces.trinidadinternal.webapp.wrappers;
-
-import java.io.IOException;
-
-import javax.portlet.PortletException;
-import javax.portlet.PortletRequestDispatcher;
-import javax.portlet.RenderRequest;
-import javax.portlet.RenderResponse;
-
-/**
- * TODO: Document this
- *
- * @version $Revision$ $Date$
- */
-
-public class PortletRequestDispatcherWrapper implements PortletRequestDispatcher
-{
-  public PortletRequestDispatcherWrapper(PortletRequestDispatcher dispatcher)
-  {
-    _dispatch = dispatcher;
-  }
-
-  private PortletRequestDispatcher _dispatch;
-
-  /* (non-Javadoc)
-   * @see javax.portlet.PortletRequestDispatcher#include(javax.portlet.RenderRequest, javax.portlet.RenderResponse)
-   */
-  public void include(RenderRequest arg0, RenderResponse arg1) throws PortletException, IOException
-  {
-    //We need to dispatch the origional request/response objects.
-    //So cut through all the wrappers and dispatch the origionals.
-    //TODO: Try out some usecases.
-    RenderRequest req = arg0;
-    while(req instanceof RenderRequestWrapper)
-    {
-      req = ((RenderRequestWrapper)req).getRequest();
-    }
-
-    RenderResponse resp = arg1;
-    while(resp instanceof RenderResponseWrapper)
-    {
-      resp = ((RenderResponseWrapper)resp).getResponse();
-    }
-    _dispatch.include(req, resp);
-
-  }
-
-}
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/wrappers/PortletRequestWrapper.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/wrappers/PortletRequestWrapper.java
deleted file mode 100644
index d0de24a..0000000
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/wrappers/PortletRequestWrapper.java
+++ /dev/null
@@ -1,389 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you 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.myfaces.trinidadinternal.webapp.wrappers;
-
-import java.security.Principal;
-import java.util.Enumeration;
-import java.util.Locale;
-import java.util.Map;
-
-import javax.portlet.PortalContext;
-import javax.portlet.PortletMode;
-import javax.portlet.PortletPreferences;
-import javax.portlet.PortletRequest;
-import javax.portlet.PortletSession;
-import javax.portlet.WindowState;
-
-/**
- * TODO: Document this
- *
- * @version $Revision$ $Date$
- */
-
-public class PortletRequestWrapper implements PortletRequest
-{
-  public PortletRequestWrapper(PortletRequest request)
-  {
-    _req = request;
-  }
-
-  private PortletRequest _req;
-
-  /**
-   * @param arg0
-   * @return
-   * @see javax.portlet.PortletRequest#getAttribute(java.lang.String)
-   */
-  public Object getAttribute(String arg0)
-  {
-    return _req.getAttribute(arg0);
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletRequest#getAttributeNames()
-   * -= Simon =-
-   * TODO: Once portlet spec supports generics, change this signature to match it.
-   */
-  @SuppressWarnings("unchecked")
-  public Enumeration getAttributeNames()
-  {
-    return _req.getAttributeNames();
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletRequest#getAuthType()
-   */
-  public String getAuthType()
-  {
-    return _req.getAuthType();
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletRequest#getContextPath()
-   */
-  public String getContextPath()
-  {
-    return _req.getContextPath();
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletRequest#getLocale()
-   */
-  public Locale getLocale()
-  {
-    return _req.getLocale();
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletRequest#getLocales()
-   * -= Simon =-
-   * TODO: Once portlet spec supports generics, change this signature to match it.
-   */
-  @SuppressWarnings("unchecked")
-  public Enumeration getLocales()
-  {
-    return _req.getLocales();
-  }
-
-  /**
-   * @param arg0
-   * @return
-   * @see javax.portlet.PortletRequest#getParameter(java.lang.String)
-   */
-  public String getParameter(String arg0)
-  {
-    return _req.getParameter(arg0);
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletRequest#getParameterMap()
-   * -= Simon =-
-   * TODO: Once portlet spec supports generics, change this signature to match it.
-   */
-  @SuppressWarnings("unchecked")
-  public Map getParameterMap()
-  {
-    return _req.getParameterMap();
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletRequest#getParameterNames()
-   * -= Simon =-
-   * TODO: Once portlet spec supports generics, change this signature to match it.
-   */
-  @SuppressWarnings("unchecked")
-  public Enumeration getParameterNames()
-  {
-    return _req.getParameterNames();
-  }
-
-  /**
-   * @param arg0
-   * @return
-   * @see javax.portlet.PortletRequest#getParameterValues(java.lang.String)
-   */
-  public String[] getParameterValues(String arg0)
-  {
-    return _req.getParameterValues(arg0);
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletRequest#getPortalContext()
-   */
-  public PortalContext getPortalContext()
-  {
-    return _req.getPortalContext();
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletRequest#getPortletMode()
-   */
-  public PortletMode getPortletMode()
-  {
-    return _req.getPortletMode();
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletRequest#getPortletSession()
-   */
-  public PortletSession getPortletSession()
-  {
-    return _req.getPortletSession();
-  }
-
-  /**
-   * @param arg0
-   * @return
-   * @see javax.portlet.PortletRequest#getPortletSession(boolean)
-   */
-  public PortletSession getPortletSession(boolean arg0)
-  {
-    return _req.getPortletSession(arg0);
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletRequest#getPreferences()
-   */
-  public PortletPreferences getPreferences()
-  {
-    return _req.getPreferences();
-  }
-
-  /**
-   * @param arg0
-   * @return
-   * @see javax.portlet.PortletRequest#getProperties(java.lang.String)
-   * -= Simon =-
-   * TODO: Once portlet spec supports generics, change this signature to match it.
-   */
-  @SuppressWarnings("unchecked")
-  public Enumeration getProperties(String arg0)
-  {
-    return _req.getProperties(arg0);
-  }
-
-  /**
-   * @param arg0
-   * @return
-   * @see javax.portlet.PortletRequest#getProperty(java.lang.String)
-   */
-  public String getProperty(String arg0)
-  {
-    return _req.getProperty(arg0);
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletRequest#getPropertyNames()
-   * -= Simon =-
-   * TODO: Once portlet spec supports generics, change this signature to match it.
-   */
-  @SuppressWarnings("unchecked")
-  public Enumeration getPropertyNames()
-  {
-    return _req.getPropertyNames();
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletRequest#getRemoteUser()
-   */
-  public String getRemoteUser()
-  {
-    return _req.getRemoteUser();
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletRequest#getRequestedSessionId()
-   */
-  public String getRequestedSessionId()
-  {
-    return _req.getRequestedSessionId();
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletRequest#getResponseContentType()
-   */
-  public String getResponseContentType()
-  {
-    return _req.getResponseContentType();
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletRequest#getResponseContentTypes()
-   * -= Simon =-
-   * TODO: Once portlet spec supports generics, change this signature to match it.
-   */
-  @SuppressWarnings("unchecked")
-  public Enumeration getResponseContentTypes()
-  {
-    return _req.getResponseContentTypes();
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletRequest#getScheme()
-   */
-  public String getScheme()
-  {
-    return _req.getScheme();
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletRequest#getServerName()
-   */
-  public String getServerName()
-  {
-    return _req.getServerName();
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletRequest#getServerPort()
-   */
-  public int getServerPort()
-  {
-    return _req.getServerPort();
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletRequest#getUserPrincipal()
-   */
-  public Principal getUserPrincipal()
-  {
-    return _req.getUserPrincipal();
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletRequest#getWindowState()
-   */
-  public WindowState getWindowState()
-  {
-    return _req.getWindowState();
-  }
-
-  /**
-   * @param arg0
-   * @return
-   * @see javax.portlet.PortletRequest#isPortletModeAllowed(javax.portlet.PortletMode)
-   */
-  public boolean isPortletModeAllowed(PortletMode arg0)
-  {
-    return _req.isPortletModeAllowed(arg0);
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletRequest#isRequestedSessionIdValid()
-   */
-  public boolean isRequestedSessionIdValid()
-  {
-    return _req.isRequestedSessionIdValid();
-  }
-
-  /**
-   * @return
-   * @see javax.portlet.PortletRequest#isSecure()
-   */
-  public boolean isSecure()
-  {
-    return _req.isSecure();
-  }
-
-  /**
-   * @param arg0
-   * @return
-   * @see javax.portlet.PortletRequest#isUserInRole(java.lang.String)
-   */
-  public boolean isUserInRole(String arg0)
-  {
-    return _req.isUserInRole(arg0);
-  }
-
-  /**
-   * @param arg0
-   * @return
-   * @see javax.portlet.PortletRequest#isWindowStateAllowed(javax.portlet.WindowState)
-   */
-  public boolean isWindowStateAllowed(WindowState arg0)
-  {
-    return _req.isWindowStateAllowed(arg0);
-  }
-
-  /**
-   * @param arg0
-   * @see javax.portlet.PortletRequest#removeAttribute(java.lang.String)
-   */
-  public void removeAttribute(String arg0)
-  {
-    _req.removeAttribute(arg0);
-  }
-
-  /**
-   * @param arg0
-   * @param arg1
-   * @see javax.portlet.PortletRequest#setAttribute(java.lang.String, java.lang.Object)
-   */
-  public void setAttribute(String arg0, Object arg1)
-  {
-    _req.setAttribute(arg0, arg1);
-  }
-
-  public PortletRequest getRequest()
-  {
-    return _req;
-  }
-}
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/wrappers/PortletResponseWrapper.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/wrappers/PortletResponseWrapper.java
deleted file mode 100644
index dfdfe73..0000000
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/wrappers/PortletResponseWrapper.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you 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.myfaces.trinidadinternal.webapp.wrappers;
-
-import javax.portlet.PortletResponse;
-
-/**
- * TODO: Document this
- *
- * @version $Revision$ $Date$
- */
-
-public class PortletResponseWrapper implements PortletResponse
-{
-  public PortletResponseWrapper(PortletResponse response)
-  {
-   _resp = response;
-  }
-
-  private PortletResponse _resp;
-
-  public PortletResponse getResponse()
-  {
-    return _resp;
-  }
-
-  /**
-   * @param arg0
-   * @param arg1
-   * @see javax.portlet.PortletResponse#addProperty(java.lang.String, java.lang.String)
-   */
-  public void addProperty(String arg0, String arg1)
-  {
-    _resp.addProperty(arg0, arg1);
-  }
-
-  /**
-   * @param arg0
-   * @return
-   * @see javax.portlet.PortletResponse#encodeURL(java.lang.String)
-   */
-  public String encodeURL(String arg0)
-  {
-    return _resp.encodeURL(arg0);
-  }
-
-  /**
-   * @param arg0
-   * @param arg1
-   * @see javax.portlet.PortletResponse#setProperty(java.lang.String, java.lang.String)
-   */
-  public void setProperty(String arg0, String arg1)
-  {
-    _resp.setProperty(arg0, arg1);
-  }
-}
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/wrappers/RenderRequestWrapper.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/wrappers/RenderRequestWrapper.java
deleted file mode 100644
index 4d920d2..0000000
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/wrappers/RenderRequestWrapper.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you 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.myfaces.trinidadinternal.webapp.wrappers;
-
-import javax.portlet.RenderRequest;
-
-/**
- * TODO: Document this
- *
- * @version $Revision$ $Date$
- */
-
-public class RenderRequestWrapper extends PortletRequestWrapper implements RenderRequest
-{
-  public RenderRequestWrapper(RenderRequest request)
-  {
-    super(request);
-    _req = request;
-  }
-
-  private RenderRequest _req;
-
-  /* (non-Javadoc)
-   * @see org.apache.myfaces.trinidadinternal.webapp.wrappers.PortletRequestWrapper#getRequest()
-   */
-  @Override
-  public RenderRequest getRequest()
-  {
-    return _req;
-  }
-}
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/wrappers/RenderResponseWrapper.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/wrappers/RenderResponseWrapper.java
deleted file mode 100644
index 446c04b..0000000
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/wrappers/RenderResponseWrapper.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you 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.myfaces.trinidadinternal.webapp.wrappers;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.PrintWriter;
-import java.util.Locale;
-
-import javax.portlet.PortletURL;
-import javax.portlet.RenderResponse;
-
-/**
- * TODO: Document this
- *
- * @version $Revision$ $Date$
- */
-
-public class RenderResponseWrapper extends PortletResponseWrapper implements RenderResponse
-{
-  public RenderResponseWrapper(RenderResponse response)
-  {
-    super(response);
-    _resp = response;
-  }
-
-  private RenderResponse _resp;
-
-  /* (non-Javadoc)
-   * @see javax.portlet.RenderResponse#createActionURL()
-   */
-  public PortletURL createActionURL()
-  {
-    return _resp.createActionURL();
-  }
-
-  /* (non-Javadoc)
-   * @see javax.portlet.RenderResponse#createRenderURL()
-   */
-  public PortletURL createRenderURL()
-  {
-    return _resp.createRenderURL();
-  }
-
-  /* (non-Javadoc)
-   * @see javax.portlet.RenderResponse#flushBuffer()
-   */
-  public void flushBuffer() throws IOException
-  {
-    _resp.flushBuffer();
-  }
-
-  /* (non-Javadoc)
-   * @see javax.portlet.RenderResponse#getBufferSize()
-   */
-  public int getBufferSize()
-  {
-    return _resp.getBufferSize();
-  }
-
-  /* (non-Javadoc)
-   * @see javax.portlet.RenderResponse#getCharacterEncoding()
-   */
-  public String getCharacterEncoding()
-  {
-    return _resp.getCharacterEncoding();
-  }
-
-  /* (non-Javadoc)
-   * @see javax.portlet.RenderResponse#getContentType()
-   */
-  public String getContentType()
-  {
-    return _resp.getContentType();
-  }
-
-  /* (non-Javadoc)
-   * @see javax.portlet.RenderResponse#getLocale()
-   */
-  public Locale getLocale()
-  {
-    return _resp.getLocale();
-  }
-
-  /* (non-Javadoc)
-   * @see javax.portlet.RenderResponse#getNamespace()
-   */
-  public String getNamespace()
-  {
-    return _resp.getNamespace();
-  }
-
-  /* (non-Javadoc)
-   * @see javax.portlet.RenderResponse#getPortletOutputStream()
-   */
-  public OutputStream getPortletOutputStream() throws IOException
-  {
-    return _resp.getPortletOutputStream();
-  }
-
-  /* (non-Javadoc)
-   * @see javax.portlet.RenderResponse#getWriter()
-   */
-  public PrintWriter getWriter() throws IOException
-  {
-    return _resp.getWriter();
-  }
-
-  /* (non-Javadoc)
-   * @see javax.portlet.RenderResponse#isCommitted()
-   */
-  public boolean isCommitted()
-  {
-    return _resp.isCommitted();
-  }
-
-  /* (non-Javadoc)
-   * @see javax.portlet.RenderResponse#reset()
-   */
-  public void reset()
-  {
-    _resp.reset();
-  }
-
-  /* (non-Javadoc)
-   * @see javax.portlet.RenderResponse#resetBuffer()
-   */
-  public void resetBuffer()
-  {
-    _resp.resetBuffer();
-  }
-
-  /* (non-Javadoc)
-   * @see javax.portlet.RenderResponse#setBufferSize(int)
-   */
-  public void setBufferSize(int arg0)
-  {
-    _resp.setBufferSize(arg0);
-  }
-
-  /* (non-Javadoc)
-   * @see javax.portlet.RenderResponse#setContentType(java.lang.String)
-   */
-  public void setContentType(String arg0)
-  {
-    _resp.setContentType(arg0);
-  }
-
-  /* (non-Javadoc)
-   * @see javax.portlet.RenderResponse#setTitle(java.lang.String)
-   */
-  public void setTitle(String arg0)
-  {
-    _resp.setTitle(arg0);
-  }
-
-  /* (non-Javadoc)
-   * @see org.apache.myfaces.trinidadinternal.webapp.wrappers.PortletResponseWrapper#getResponse()
-   */
-  @Override
-  public RenderResponse getResponse()
-  {
-    return _resp;
-  }
-}

-- 
To stop receiving notification emails like this one, please contact
"commits@myfaces.apache.org" <co...@myfaces.apache.org>.