portals-pluto-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From a..@apache.org
Subject svn commit: r750951 - in /portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto: ./ core/ internal/ om/portlet/ services/ spi/ spi/optional/
Date Fri, 06 Mar 2009 16:03:01 GMT
Author: ate
Date: Fri Mar  6 16:03:00 2009
New Revision: 750951

URL: http://svn.apache.org/viewvc?rev=750951&view=rev
Log:
"More required Pluto 2.0 SPI and implementation refactoring issues", see: http://www.nabble.com/More-required-Pluto-2.0-SPI-and-implementation-refactoring-issues-td21973310.html
Very big changes to Pluto SPI and implementations based upon the mail discussion and the JIRA issues: http://issues.apache.org/jira/browse/PLUTO-529 , PLUTO-530, PLUTO--531, PLUTO-532, PLUTO--535, PLUTO--536.
Note: this is still an ongoing process and as result of this and a few following commits, the Pluto trunk will temporarily be "broken" until the still missing implementations of the new SPI are provided.

This commit concerns only the pluto-container-api, so the new interfaces and SPI.

Added:
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/RequestDispatcherPathInfo.java   (with props)
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/EventCoordinationService.java   (with props)
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletActionResponseContext.java   (with props)
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletEventRequestContext.java   (with props)
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletEventResponseContext.java   (with props)
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletMimeResponseContext.java   (with props)
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletRenderResponseContext.java   (with props)
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletRequestContext.java   (with props)
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletRequestContextService.java   (with props)
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletResourceRequestContext.java   (with props)
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletResourceResponseContext.java   (with props)
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletResponseContext.java   (with props)
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletStateAwareResponseContext.java   (with props)
Removed:
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/InternalActionRequest.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/InternalActionResponse.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/InternalEventRequest.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/InternalEventResponse.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/InternalPortletRequest.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/InternalPortletResponse.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/InternalPortletSession.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/InternalRenderRequest.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/InternalRenderResponse.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/InternalResourceRequest.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/InternalResourceResponse.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/ContainerService.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/PropertyManager.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/PublicRenderParameterProvider.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/RequestAttributeService.java
Modified:
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/Constants.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/OptionalContainerServices.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/PlutoConfigurationException.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/PortletContainerException.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/PortletContainerRuntimeException.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/RequiredContainerServices.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/core/PortletServlet.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/InternalPortletConfig.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/InternalPortletContext.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/om/portlet/PortletApplicationDefinition.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/services/PlutoServices.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/services/PortletAppDescriptorService.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/CCPPProfileService.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/EventProvider.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/PortalCallbackService.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/PortletURLProvider.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletEnvironmentService.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletInvokerService.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletPreferencesService.java
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/UserInfoService.java

Modified: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/Constants.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/Constants.java?rev=750951&r1=750950&r2=750951&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/Constants.java (original)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/Constants.java Fri Mar  6 16:03:00 2009
@@ -16,6 +16,8 @@
  */
 package org.apache.pluto;
 
+import org.apache.pluto.spi.optional.PortletRequestContext;
+
 /**
  * Constant values used to bind internal portlet objects as attributes,
  * typically to a request.
@@ -42,6 +44,11 @@
     public final static String PORTLET_CONFIG = "javax.portlet.config";
 
     /**
+     * The <code>PortletRequest</code> key used to retrieve the <code>PortletRequestContext</code> instance
+     */
+    public final static String REQUEST_CONTEXT = PortletRequestContext.class.getName();
+
+    /**
      *
      */
     public final static String TITLE_KEY = "javax.portlet.title";

Modified: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/OptionalContainerServices.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/OptionalContainerServices.java?rev=750951&r1=750950&r2=750951&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/OptionalContainerServices.java (original)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/OptionalContainerServices.java Fri Mar  6 16:03:00 2009
@@ -23,7 +23,7 @@
 import org.apache.pluto.spi.optional.PortletInvokerService;
 import org.apache.pluto.spi.optional.PortletPreferencesService;
 import org.apache.pluto.spi.optional.PortletRegistryService;
-import org.apache.pluto.spi.optional.RequestAttributeService;
+import org.apache.pluto.spi.optional.PortletRequestContextService;
 import org.apache.pluto.spi.optional.UserInfoService;
 
 /**
@@ -49,6 +49,13 @@
     PortletPreferencesService getPortletPreferencesService();
 
     /**
+     * Returns the portlet request context service implementation
+     * used by the container
+     * @return
+     */
+    PortletRequestContextService getPortletRequestContextService();
+    
+    /**
      * Returns the environment services implementation
      * used by the container.
      *
@@ -107,14 +114,6 @@
     UserInfoService getUserInfoService();
     
     /**
-     * Returns the request attribute service implementation used by the
-     * container.
-     * 
-     * @return request attribute service
-     */
-    RequestAttributeService getRequestAttributeService();  
-
-    /**
      * Returns the NamespaceMapper used to retrieve the Portal
      * specific PortletWindow namespace and encoding/decoding
      * of PortletWindow parameters in a PortalURL

Modified: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/PlutoConfigurationException.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/PlutoConfigurationException.java?rev=750951&r1=750950&r2=750951&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/PlutoConfigurationException.java (original)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/PlutoConfigurationException.java Fri Mar  6 16:03:00 2009
@@ -23,6 +23,8 @@
  */
 public class PlutoConfigurationException extends RuntimeException {
 
+    private static final long serialVersionUID = 8159327269127050615L;
+
     public PlutoConfigurationException(String message) {
         super(message);
     }

Modified: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/PortletContainerException.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/PortletContainerException.java?rev=750951&r1=750950&r2=750951&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/PortletContainerException.java (original)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/PortletContainerException.java Fri Mar  6 16:03:00 2009
@@ -24,6 +24,7 @@
  * @version 1.0
  */
 public class PortletContainerException extends Exception {
+    private static final long serialVersionUID = 1737400909124312241L;
     private Throwable cause;
 
     /**

Modified: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/PortletContainerRuntimeException.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/PortletContainerRuntimeException.java?rev=750951&r1=750950&r2=750951&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/PortletContainerRuntimeException.java (original)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/PortletContainerRuntimeException.java Fri Mar  6 16:03:00 2009
@@ -23,6 +23,8 @@
  */
 public class PortletContainerRuntimeException extends RuntimeException {
 
+    private static final long serialVersionUID = 5055187491167595228L;
+
     public PortletContainerRuntimeException() {
 
     }

Modified: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/RequiredContainerServices.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/RequiredContainerServices.java?rev=750951&r1=750950&r2=750951&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/RequiredContainerServices.java (original)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/RequiredContainerServices.java Fri Mar  6 16:03:00 2009
@@ -20,6 +20,7 @@
 
 import org.apache.pluto.spi.CCPPProfileService;
 import org.apache.pluto.spi.ContainerInvocationService;
+import org.apache.pluto.spi.EventCoordinationService;
 import org.apache.pluto.spi.PortalCallbackService;
 
 /**
@@ -50,4 +51,6 @@
     CCPPProfileService getCCPPProfileService();
     
     ContainerInvocationService getContainerInvocationService();
+    
+    EventCoordinationService getEventCoordinationService();
 }

Modified: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/core/PortletServlet.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/core/PortletServlet.java?rev=750951&r1=750950&r2=750951&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/core/PortletServlet.java (original)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/core/PortletServlet.java Fri Mar  6 16:03:00 2009
@@ -17,7 +17,6 @@
 package org.apache.pluto.core;
 
 import java.io.IOException;
-import java.util.Iterator;
 import java.util.Timer;
 import java.util.TimerTask;
 
@@ -28,11 +27,14 @@
 import javax.portlet.EventResponse;
 import javax.portlet.Portlet;
 import javax.portlet.PortletException;
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletResponse;
 import javax.portlet.RenderRequest;
 import javax.portlet.RenderResponse;
 import javax.portlet.ResourceRequest;
 import javax.portlet.ResourceResponse;
 import javax.portlet.ResourceServingPortlet;
+import javax.portlet.UnavailableException;
 import javax.servlet.ServletConfig;
 import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
@@ -46,8 +48,6 @@
 import org.apache.pluto.PortletWindow;
 import org.apache.pluto.internal.InternalPortletConfig;
 import org.apache.pluto.internal.InternalPortletContext;
-import org.apache.pluto.internal.InternalPortletRequest;
-import org.apache.pluto.internal.InternalPortletResponse;
 import org.apache.pluto.om.portlet.PortletDefinition;
 import org.apache.pluto.services.PlutoServices;
 import org.apache.pluto.spi.ContainerInvocationService;
@@ -57,6 +57,7 @@
 import org.apache.pluto.spi.optional.PortletContextService;
 import org.apache.pluto.spi.optional.PortletInvocationEvent;
 import org.apache.pluto.spi.optional.PortletInvocationListener;
+import org.apache.pluto.spi.optional.PortletRequestContext;
 
 /**
  * Portlet Invocation Servlet. This servlet recieves cross context requests from
@@ -67,6 +68,7 @@
  */
 public class PortletServlet extends HttpServlet
 {
+    private static final long serialVersionUID = -5096339022539360365L;
 
     // Private Member Variables ------------------------------------------------
     /**
@@ -103,7 +105,7 @@
     private ContainerInvocationService containerInvocationService;
 
     private boolean started = false;
-    private Timer   startTimer = null;
+    Timer   startTimer = null;
 
     // HttpServlet Impl --------------------------------------------------------
 
@@ -184,7 +186,7 @@
 //          Create and initialize the portlet wrapped in the servlet.
             try
             {
-                Class clazz = paClassLoader.loadClass((portletDD.getPortletClass()));
+                Class<?> clazz = paClassLoader.loadClass((portletDD.getPortletClass()));
                 portlet = (Portlet) clazz.newInstance();
                 portlet.init(portletConfig);
                 initializeEventPortlet();
@@ -284,19 +286,20 @@
         // Retrieve attributes from the servlet request.
         Integer methodId = (Integer) request.getAttribute(Constants.METHOD_ID);
 
-        final InternalPortletRequest portletRequest = (InternalPortletRequest) request
+        final PortletRequest portletRequest = (PortletRequest) request
                 .getAttribute(Constants.PORTLET_REQUEST);
 
-        final InternalPortletResponse portletResponse = (InternalPortletResponse) request
+        final PortletResponse portletResponse = (PortletResponse) request
                 .getAttribute(Constants.PORTLET_RESPONSE);
-
+        
+        final PortletRequestContext requestContext = (PortletRequestContext)request.getAttribute(Constants.REQUEST_CONTEXT);
+        
         FilterManager filterManager = (FilterManager) request
                 .getAttribute(Constants.FILTER_MANAGER);
 
-        portletRequest.init(portletContext, request);
+        requestContext.init(portletConfig);
 
-        PortletWindow window = containerInvocationService.getInvocation()
-                .getPortletWindow();
+        PortletWindow window = requestContext.getPortletWindow();
 
         PortletInvocationEvent event = new PortletInvocationEvent(
                 portletRequest, window, methodId.intValue());
@@ -358,11 +361,8 @@
                         .getOptionalContainerServices()
                         .getPortalAdministrationService();
 
-                Iterator<AdministrativeRequestListener> it = pas.getAdministrativeRequestListeners()
-                        .iterator();
-                while (it.hasNext())
+                for (AdministrativeRequestListener l : pas.getAdministrativeRequestListeners())
                 {
-                    AdministrativeRequestListener l = it.next();
                     l.administer(portletRequest, portletResponse);
                 }
             }
@@ -376,7 +376,7 @@
             notify(event, false, null);
 
         }
-        catch (javax.portlet.UnavailableException ex)
+        catch (UnavailableException ex)
         {
             System.err.println(ex.getMessage());
             /*
@@ -413,7 +413,6 @@
         finally
         {
             request.removeAttribute(Constants.PORTLET_CONFIG);
-            portletRequest.release();
         }
     }
 
@@ -424,10 +423,8 @@
                 .getOptionalContainerServices()
                 .getPortalAdministrationService();
 
-        Iterator<PortletInvocationListener> i = pas.getPortletInvocationListeners().iterator();
-        while (i.hasNext())
+        for (PortletInvocationListener listener : pas.getPortletInvocationListeners())
         {
-            PortletInvocationListener listener = i.next();
             if (pre)
             {
                 listener.onBegin(event);
@@ -441,7 +438,6 @@
                 listener.onError(event, e);
             }
         }
-
     }
 
     private void initializeEventPortlet()

Modified: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/InternalPortletConfig.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/InternalPortletConfig.java?rev=750951&r1=750950&r2=750951&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/InternalPortletConfig.java (original)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/InternalPortletConfig.java Fri Mar  6 16:03:00 2009
@@ -22,7 +22,8 @@
 
 public interface InternalPortletConfig extends PortletConfig {
 
-    public PortletDefinition getPortletDefinition();
+    PortletDefinition getPortletDefinition();
+    InternalPortletContext getPortletContext();
 }
 
 

Modified: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/InternalPortletContext.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/InternalPortletContext.java?rev=750951&r1=750950&r2=750951&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/InternalPortletContext.java (original)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/InternalPortletContext.java Fri Mar  6 16:03:00 2009
@@ -40,12 +40,14 @@
      * @return the context path for this PortletContext
      */
     public String getContextPath();
-
+    
     /**
      *
      * @return application config
      */
     public PortletApplicationDefinition getPortletApplicationDefinition();
+    
+    RequestDispatcherPathInfo getPathInfo(String path);
 }
 
 

Added: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/RequestDispatcherPathInfo.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/RequestDispatcherPathInfo.java?rev=750951&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/RequestDispatcherPathInfo.java (added)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/RequestDispatcherPathInfo.java Fri Mar  6 16:03:00 2009
@@ -0,0 +1,31 @@
+/*
+ * 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.pluto.internal;
+
+/**
+ * @version $Id$
+ *
+ */
+public interface RequestDispatcherPathInfo
+{
+    boolean isNamedRequestDispatcher();
+    String getRequestURI();
+    String getServletPath();
+    String getPathInfo();
+    String getQueryString();
+}

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/RequestDispatcherPathInfo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/RequestDispatcherPathInfo.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/internal/RequestDispatcherPathInfo.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/om/portlet/PortletApplicationDefinition.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/om/portlet/PortletApplicationDefinition.java?rev=750951&r1=750950&r2=750951&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/om/portlet/PortletApplicationDefinition.java (original)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/om/portlet/PortletApplicationDefinition.java Fri Mar  6 16:03:00 2009
@@ -16,6 +16,9 @@
 package org.apache.pluto.om.portlet;
 
 import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
 
 import javax.xml.namespace.QName;
 
@@ -78,4 +81,10 @@
 	ContainerRuntimeOption getContainerRuntimeOption(String name);
 	List<? extends ContainerRuntimeOption> getContainerRuntimeOptions();
 	ContainerRuntimeOption addContainerRuntimeOption(String name);
+
+    Set<String> getServletMappingURLPatterns();
+    void addServletMappingURLPattern(String servletMappingURLPattern);
+    
+    Map<Locale, String> getLocaleEncodingMappings();
+    void addLocaleEncodingMapping(Locale locale, String encoding);
 }
\ No newline at end of file

Modified: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/services/PlutoServices.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/services/PlutoServices.java?rev=750951&r1=750950&r2=750951&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/services/PlutoServices.java (original)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/services/PlutoServices.java Fri Mar  6 16:03:00 2009
@@ -21,6 +21,7 @@
 import org.apache.pluto.NamespaceMapper;
 import org.apache.pluto.spi.CCPPProfileService;
 import org.apache.pluto.spi.ContainerInvocationService;
+import org.apache.pluto.spi.EventCoordinationService;
 import org.apache.pluto.spi.PortalCallbackService;
 import org.apache.pluto.spi.optional.PortalAdministrationService;
 import org.apache.pluto.spi.optional.PortletContextService;
@@ -29,7 +30,7 @@
 import org.apache.pluto.spi.optional.PortletInvokerService;
 import org.apache.pluto.spi.optional.PortletPreferencesService;
 import org.apache.pluto.spi.optional.PortletRegistryService;
-import org.apache.pluto.spi.optional.RequestAttributeService;
+import org.apache.pluto.spi.optional.PortletRequestContextService;
 import org.apache.pluto.spi.optional.UserInfoService;
 
 
@@ -104,11 +105,6 @@
         return provider.getPortletRegistryService();
     }
 
-    public RequestAttributeService getRequestAttributeService()
-    {
-        return provider.getRequestAttributeService();
-    }
-
     public UserInfoService getUserInfoService()
     {
         return provider.getUserInfoService();
@@ -118,4 +114,14 @@
     {
         return provider.getPortletContextService();
     }
+
+    public PortletRequestContextService getPortletRequestContextService()
+    {
+        return provider.getPortletRequestContextService();
+    }
+
+    public EventCoordinationService getEventCoordinationService()
+    {
+        return provider.getEventCoordinationService();
+    }
 }

Modified: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/services/PortletAppDescriptorService.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/services/PortletAppDescriptorService.java?rev=750951&r1=750950&r2=750951&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/services/PortletAppDescriptorService.java (original)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/services/PortletAppDescriptorService.java Fri Mar  6 16:03:00 2009
@@ -44,6 +44,16 @@
     PortletApplicationDefinition read(InputStream in) throws IOException;
 
     /**
+     * Merge web.xml descriptor meta data with the PortletApplicationDefinition.
+     * The Portlet container needs access to (at a minimum) the servlet-mapping url-patterns (PLT.19.3.8)
+     * and the optional locale-encoding-mapping-list (PLT.12.7.1)
+     * @param pa the PortletApplicationDefinition
+     * @param webDescriptor the web.xml InputStream
+     * @throws IOException
+     */
+    void mergeWebDescriptor(PortletApplicationDefinition pa, InputStream webDescriptor) throws IOException;
+    
+    /**
      * Write the PortletApp deployment descriptor
      * (portlet.xml).
      * @param portletDescriptor

Modified: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/CCPPProfileService.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/CCPPProfileService.java?rev=750951&r1=750950&r2=750951&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/CCPPProfileService.java (original)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/CCPPProfileService.java Fri Mar  6 16:03:00 2009
@@ -10,7 +10,7 @@
  * The CC/PP profile service defining how to get the CCPP profile
  *
  */
-public interface CCPPProfileService extends ContainerService {
+public interface CCPPProfileService {
 	
 	public Profile getCCPPProfile(HttpServletRequest httpServletRequest);
 

Added: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/EventCoordinationService.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/EventCoordinationService.java?rev=750951&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/EventCoordinationService.java (added)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/EventCoordinationService.java Fri Mar  6 16:03:00 2009
@@ -0,0 +1,33 @@
+/*
+ * 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.pluto.spi;
+
+import java.util.List;
+
+import javax.portlet.Event;
+
+import org.apache.pluto.PortletWindow;
+
+/**
+ * @author <a href="mailto:ate@douma.nu">Ate Douma</a>
+ * @version $Id$
+ */
+public interface EventCoordinationService
+{
+    void processEvents(PortletWindow portletWindow, List<Event> events);
+}

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/EventCoordinationService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/EventCoordinationService.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/EventCoordinationService.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/EventProvider.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/EventProvider.java?rev=750951&r1=750950&r2=750951&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/EventProvider.java (original)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/EventProvider.java Fri Mar  6 16:03:00 2009
@@ -17,10 +17,9 @@
 
 import java.io.Serializable;
 
+import javax.portlet.Event;
 import javax.xml.namespace.QName;
 
-import org.apache.pluto.EventContainer;
-
 	/**
 	 *
 	 * @author <a href="mailto:ferdy@informatik.uni-jena.de">Fred Thiele</a>
@@ -30,20 +29,6 @@
 
 public interface EventProvider {
 
-	/**
-	 *
-	 * @param name
-	 * @param value
-	 * @throws IllegalArgumentException
-	 */
-	public abstract void registerToFireEvent(QName name, Serializable value)
+	public Event createEvent(QName name, Serializable value)
 			throws IllegalArgumentException;
-
-
-	/**
-	 * Fire events.
-	 *
-	 * @param container the event container
-	 */
-	public abstract void fireEvents(EventContainer container);
 }

Modified: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/PortalCallbackService.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/PortalCallbackService.java?rev=750951&r1=750950&r2=750951&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/PortalCallbackService.java (original)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/PortalCallbackService.java Fri Mar  6 16:03:00 2009
@@ -27,17 +27,7 @@
  * @version 1.0
  * @since Sep 21, 2004
  */
-public interface PortalCallbackService extends ContainerService {
-
-    /**
-     * Set the title to be used for this portlet.
-     * @param request  the servlet request.
-     * @param portletWindow  the portlet window.
-     * @param title  the title to set.
-     */
-    public void setTitle(HttpServletRequest request,
-                         PortletWindow portletWindow,
-                         String title);
+public interface PortalCallbackService {
 
     /**
      * Returns a URL provider used to constuct a URL to the given portlet.
@@ -58,14 +48,9 @@
     public ResourceURLProvider getResourceURLProvider(HttpServletRequest request,
                                                       PortletWindow portletWindow);
 
-    public PropertyManager getPropertyManager();
-       
-    
     public EventProvider getEventProvider(HttpServletRequest request,
 			PortletWindow portletWindow);
     
-    public EventProvider getEventProvider();
-    
     /**
      * Returns the FilterManager, this is used to process the filter.
      * @return FilterManager

Modified: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/PortletURLProvider.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/PortletURLProvider.java?rev=750951&r1=750950&r2=750951&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/PortletURLProvider.java (original)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/PortletURLProvider.java Fri Mar  6 16:03:00 2009
@@ -16,16 +16,17 @@
  */
 package org.apache.pluto.spi;
 
+import java.io.Writer;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import javax.portlet.PortletMode;
 import javax.portlet.PortletSecurityException;
 import javax.portlet.WindowState;
-import javax.servlet.http.HttpServletRequest;
 
 /**
- * Defines the interface used by the portlet container to create Portal URLs.
+ * Defines the interface used by the portlet container to create Portlet URLs.
  * This provider must be implemented by the Portal and provided via the
  * container services upon initialization of the container.
  *
@@ -33,110 +34,54 @@
  */
 public interface PortletURLProvider {
 
+    boolean isActionURL();
+    boolean isRenderURL();
+    boolean isResourceURL();
 
     /**
      * Sets the new portlet mode at the URL. If no mode is set at the URL the
      * currently active mode is used.
      * @param mode the new portlet mode
      */
-    public void setPortletMode(PortletMode mode);
+    void setPortletMode(PortletMode mode);
+    
+    PortletMode getPortletMode();
 
     /**
      * Sets the new window state at the URL. If no state is set at the URL the
      * currently active state is used.
      * @param state the new window state
      */
-    public void setWindowState(WindowState state);
-
-    /**
-     * Specifies whether or not this request should be considered an action
-     * request. If the value specified is false, a render request will be
-     * assumed.
-     */
-    public void setAction(boolean action);
-
-    /**
-     * Specifies whether or not this request should be considered an resource Serving
-     * request.
-     * @since 2.0
-     */
-    public void setResourceServing(boolean resource);
-
-    /**
-     * Shows you if the lifecycle is serveResource
-     * @return true if ResourceServing else false
-     * @since 2.0
-     */
-    public boolean isResourceServing();
-
-    /**
-     * By calling this method the URL is defined as a secure URL.
-     */
-    public void setSecure() throws PortletSecurityException ;
-
-    /**
-     * Determine whether or not this url provider
-     * supports secure urls.
-     *
-     * @return <code>true</code> if secure urls are supported.
-     */
-    public boolean isSecureSupported();
-
-    /**
-     * Removes all pre-existing parameters in this URL
-     */
-    public void clearParameters();
-
+    void setWindowState(WindowState state);
+    
+    WindowState getWindowState();
+
+    void setSecure(boolean secure) throws PortletSecurityException;
+    boolean isSecure();
+
+    Map<String, String[]> getRenderParameters();
+    Set<String> getRemovedPublicRenderParameters();
+    
+    
+    String getCacheability();
+    void setCacheability(String cacheLevel);
+    
+    String getResourceID();
+    void setResourceID(String resourceID);
+    
     /**
-     * Sets the given parameters as parameters into the URL, Removes all
-     * previously set parameters.
-     * @param parameters a map containing the name [java.lang.String] and value
-     *                   [java.lang.String[]] of the parameters.
-     */
-    public void setParameters(Map<String, String[]> parameters);
-
-    /**
-     * Sets the given public-render-parameters as parameters into the URL.
-     * @param parameters a map containing the name [java.lang.String] and value
-     *                   [java.lang.String[]] of the parameters.
-     */
-    public void setPublicRenderParameters(Map<String, String[]> parameters);
-
-    /**
-     * Returns the URL in string format. This method should only be called
-     * once.
+     * Returns the URL in string format
      * @return the URL
      */
-    public String toString();
-
-    public void savePortalURL(HttpServletRequest request);
-
-    /**
-     * Gets the values from the current public-render-parameters from this request.
-     * @param name Parametername
-     * @return the values for the Parameter, can be null, if there is no Parameter with this name.
-     */
-    public String[] getPublicRenderParameters(String name);
-
-    /**
-     * Gets the values from the parameters from this request. This is only used for ServeResource.
-     * @param name Parametername
-     * @return the values for the Parameter, can be null, if there is no Parameter with this name.
-     */
-    public String[] getPrivateRenderParameters(String name);
-
-    public Map<String, String[]> parseRenderParameters(Map<String, String[]> parentMap, String queryString);
-
-    public Map<String, String[]> getRenderParameters();
-
-    /**
-     * Provides the BaseURL vendor-specific properties
-     * @param properties a map containing the name and value(s) of the properties.
-     */
-    public void setProperties(Map<String, List<String>> properties);
+    String toString();
+    
+    String toQueryStringValue();
+    
+    void write(Writer out);
+    void write(Writer out, boolean escapeXML);
 
     /**
-     * Gets the vendor-specific properties as set on the BaseURL
+     * Gets the mutable map of vendor-specific properties as set on the BaseURL
      * @return parameters a map containing the name and value(s) of the properties (may return null)
      */
     public Map<String, List<String>> getProperties();

Added: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletActionResponseContext.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletActionResponseContext.java?rev=750951&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletActionResponseContext.java (added)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletActionResponseContext.java Fri Mar  6 16:03:00 2009
@@ -0,0 +1,30 @@
+/*
+ * 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.pluto.spi.optional;
+
+/**
+ * @author <a href="mailto:ate@douma.nu">Ate Douma</a>
+ * @version $Id$
+ */
+public interface PortletActionResponseContext extends PortletStateAwareResponseContext
+{
+    void setRedirect(String location);
+    void setRedirect(String location, String renderURLParamName);
+    boolean isRedirect();
+    String getResponseURL();
+}

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletActionResponseContext.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletActionResponseContext.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletActionResponseContext.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletEnvironmentService.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletEnvironmentService.java?rev=750951&r1=750950&r2=750951&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletEnvironmentService.java (original)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletEnvironmentService.java Fri Mar  6 16:03:00 2009
@@ -16,68 +16,40 @@
  */
 package org.apache.pluto.spi.optional;
 
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.CacheControl;
+import javax.portlet.Event;
+import javax.portlet.EventRequest;
+import javax.portlet.EventResponse;
 import javax.portlet.PortletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import javax.portlet.PortletSession;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.portlet.ResourceRequest;
+import javax.portlet.ResourceResponse;
 import javax.servlet.http.HttpSession;
 
-import org.apache.pluto.PortletContainer;
 import org.apache.pluto.PortletWindow;
-import org.apache.pluto.internal.InternalActionRequest;
-import org.apache.pluto.internal.InternalActionResponse;
-import org.apache.pluto.internal.InternalPortletSession;
-import org.apache.pluto.internal.InternalRenderRequest;
-import org.apache.pluto.internal.InternalRenderResponse;
-import org.apache.pluto.internal.InternalResourceRequest;
-import org.apache.pluto.internal.InternalResourceResponse;
 
 /**
- * Factory Service for creating Portlet request and responses.
+ * Factory Service for creating Portlet request, responses and session.
  *
  * @since 1.1.0
  */
-public interface PortletEnvironmentService {
+public interface PortletEnvironmentService
+{    
+    ActionRequest createActionRequest(PortletRequestContext requestContext);
+    ActionResponse createActionResponse(PortletActionResponseContext responseContext);
 
-    InternalActionRequest createActionRequest(
-        PortletContainer container,
-        HttpServletRequest servletRequest,
-        HttpServletResponse servletResponse,
-        PortletWindow portletWindow);
-
-    InternalActionResponse createActionResponse(
-        PortletContainer container,
-        HttpServletRequest servletRequest,
-        HttpServletResponse servletResponse,
-        PortletWindow portletWindow);
-
-    InternalRenderRequest createRenderRequest(
-        PortletContainer container,
-        HttpServletRequest servletRequest,
-        HttpServletResponse servletResponse,
-        PortletWindow portletWindow);
-
-    InternalRenderResponse createRenderResponse(
-        PortletContainer container,
-        HttpServletRequest servletRequest,
-        HttpServletResponse servletResponse,
-        PortletWindow portletWindow);
+    EventRequest createEventRequest(PortletRequestContext requestContext, Event event);
+    EventResponse createEventResponse(PortletEventResponseContext responseContext);
     
-    InternalPortletSession createPortletSession(
-        PortletContainer container,
-        HttpServletRequest servletRequest,
-        PortletContext portletContext,
-        HttpSession httpSession,
-        PortletWindow portletWindow);
-
-    InternalResourceRequest createResourceRequest(
-            PortletContainer container,
-            HttpServletRequest servletRequest,
-            HttpServletResponse servletResponse,
-            PortletWindow portletWindow);
+    RenderRequest createRenderRequest(PortletRequestContext requestContext, CacheControl cacheControl);
+    RenderResponse createRenderResponse(PortletRenderResponseContext responseContext);
     
-    InternalResourceResponse createResourceResponse(
-            PortletContainer container,
-            HttpServletRequest servletRequest,
-            HttpServletResponse servletResponse,
-            PortletWindow portletWindow);
+    ResourceRequest createResourceRequest(PortletResourceRequestContext requestContext, CacheControl cacheControl);
+    ResourceResponse createResourceResponse(PortletResourceResponseContext responseContext, String requestCacheLevel);
+
+    PortletSession createPortletSession(PortletContext portletContext, PortletWindow portletWindow, HttpSession session);
 }

Added: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletEventRequestContext.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletEventRequestContext.java?rev=750951&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletEventRequestContext.java (added)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletEventRequestContext.java Fri Mar  6 16:03:00 2009
@@ -0,0 +1,26 @@
+/*
+ * 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.pluto.spi.optional;
+
+/**
+ * @author <a href="mailto:ate@douma.nu">Ate Douma</a>
+ * @version $Id$
+ */
+public interface PortletEventRequestContext extends PortletRequestContext
+{
+}

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletEventRequestContext.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletEventRequestContext.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletEventRequestContext.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletEventResponseContext.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletEventResponseContext.java?rev=750951&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletEventResponseContext.java (added)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletEventResponseContext.java Fri Mar  6 16:03:00 2009
@@ -0,0 +1,26 @@
+/*
+ * 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.pluto.spi.optional;
+
+/**
+ * @author <a href="mailto:ate@douma.nu">Ate Douma</a>
+ * @version $Id$
+ */
+public interface PortletEventResponseContext extends PortletStateAwareResponseContext
+{
+}

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletEventResponseContext.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletEventResponseContext.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletEventResponseContext.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletInvokerService.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletInvokerService.java?rev=750951&r1=750950&r2=750951&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletInvokerService.java (original)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletInvokerService.java Fri Mar  6 16:03:00 2009
@@ -31,7 +31,6 @@
 import javax.portlet.ResourceResponse;
 
 import org.apache.pluto.PortletContainerException;
-import org.apache.pluto.PortletWindow;
 import org.apache.pluto.spi.FilterManager;
 
 /**
@@ -39,21 +38,21 @@
  */
 public interface PortletInvokerService {
 	
-    public void action(ActionRequest req, ActionResponse res, PortletWindow window, FilterManager filterManager)
+    public void action(PortletRequestContext ctx, ActionRequest req, ActionResponse res, FilterManager filterManager)
     	throws IOException, PortletException, PortletContainerException;
     
-    public void event(EventRequest request, EventResponse response, PortletWindow window, FilterManager filterManager)
+    public void event(PortletRequestContext ctx, EventRequest request, EventResponse response, FilterManager filterManager)
         throws IOException, PortletException, PortletContainerException;
 
-    public void render(RenderRequest req, RenderResponse res, PortletWindow window, FilterManager filterManager)
+    public void render(PortletRequestContext ctx, RenderRequest req, RenderResponse res, FilterManager filterManager)
         throws IOException, PortletException, PortletContainerException;
     
-    public void serveResource(ResourceRequest req, ResourceResponse res, PortletWindow window, FilterManager filterManager)
+    public void serveResource(PortletRequestContext ctx, ResourceRequest req, ResourceResponse res, FilterManager filterManager)
         throws IOException, PortletException, PortletContainerException;
 
-    public void load(PortletRequest req, PortletResponse res, PortletWindow window)
+    public void load(PortletRequestContext ctx, PortletRequest req, PortletResponse res)
         throws IOException, PortletException, PortletContainerException;
     
-    public void admin(PortletRequest req, PortletResponse res, PortletWindow window)
+    public void admin(PortletRequestContext ctx, PortletRequest req, PortletResponse res)
         throws IOException, PortletException, PortletContainerException;
 }

Added: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletMimeResponseContext.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletMimeResponseContext.java?rev=750951&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletMimeResponseContext.java (added)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletMimeResponseContext.java Fri Mar  6 16:03:00 2009
@@ -0,0 +1,45 @@
+/*
+ * 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.pluto.spi.optional;
+
+import java.io.OutputStream;
+import java.io.PrintWriter;
+import java.util.Locale;
+
+import javax.portlet.CacheControl;
+
+/**
+ * @author <a href="mailto:ate@douma.nu">Ate Douma</a>
+ * @version $Id$
+ */
+public interface PortletMimeResponseContext extends PortletResponseContext
+{
+    CacheControl getCacheControl();
+    Locale getLocale();
+    String getContentType();
+    void setContentType(String contentType);
+    String getCharacterEncoding();
+    OutputStream getOutputStream();
+    PrintWriter getWriter();
+    int getBufferSize();
+    void setBufferSize(int size);
+    void reset();
+    void resetBuffer();
+    void flushBuffer();
+    boolean isCommitted();
+}

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletMimeResponseContext.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletMimeResponseContext.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletMimeResponseContext.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletPreferencesService.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletPreferencesService.java?rev=750951&r1=750950&r2=750951&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletPreferencesService.java (original)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletPreferencesService.java Fri Mar  6 16:03:00 2009
@@ -26,14 +26,13 @@
 import org.apache.pluto.PortletWindow;
 import org.apache.pluto.internal.InternalPortletPreference;
 import org.apache.pluto.om.portlet.PortletDefinition;
-import org.apache.pluto.spi.ContainerService;
 
 /**
  * Portlet preferences service that should be implemented by the portal.
  * This is an optional container service.
  *
  */
-public interface PortletPreferencesService extends ContainerService {
+public interface PortletPreferencesService {
 
     /**
      * Returns the default portlet preferences.

Added: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletRenderResponseContext.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletRenderResponseContext.java?rev=750951&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletRenderResponseContext.java (added)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletRenderResponseContext.java Fri Mar  6 16:03:00 2009
@@ -0,0 +1,32 @@
+/*
+ * 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.pluto.spi.optional;
+
+import java.util.Collection;
+
+import javax.portlet.PortletMode;
+
+/**
+ * @author <a href="mailto:ate@douma.nu">Ate Douma</a>
+ * @version $Id$
+ */
+public interface PortletRenderResponseContext extends PortletMimeResponseContext
+{
+    void setTitle(String title);
+    void setNextPossiblePortletModes(Collection<PortletMode> portletModes);
+}

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletRenderResponseContext.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletRenderResponseContext.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletRenderResponseContext.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletRequestContext.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletRequestContext.java?rev=750951&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletRequestContext.java (added)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletRequestContext.java Fri Mar  6 16:03:00 2009
@@ -0,0 +1,55 @@
+/*
+ * 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.pluto.spi.optional;
+
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Map;
+
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.pluto.PortletContainer;
+import org.apache.pluto.PortletWindow;
+import org.apache.pluto.internal.InternalPortletConfig;
+
+/**
+ * @author <a href="mailto:ate@douma.nu">Ate Douma</a>
+ * @version $Id$
+ */
+public interface PortletRequestContext
+{
+    void init(InternalPortletConfig portletConfig);
+    PortletContainer getContainer();
+    InternalPortletConfig getPortletConfig();
+    HttpServletRequest getServletRequest();
+    HttpServletResponse getServletResponse();
+    PortletWindow getPortletWindow();
+    
+    Enumeration<String> getAttributeNames();
+    Object getAttribute(String name);
+    void setAttribute(String name, Object value);
+
+    Locale getPreferredLocale();
+    Cookie[] getCookies();
+    Map<String, String[]> getProperties();
+    
+    Map<String, String[]> getPrivateParameterMap();
+    Map<String, String[]> getPublicParameterMap();
+}

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletRequestContext.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletRequestContext.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletRequestContext.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletRequestContextService.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletRequestContextService.java?rev=750951&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletRequestContextService.java (added)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletRequestContextService.java Fri Mar  6 16:03:00 2009
@@ -0,0 +1,58 @@
+/*
+ * 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.pluto.spi.optional;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.pluto.PortletContainer;
+import org.apache.pluto.PortletWindow;
+
+/**
+ * @author <a href="mailto:ate@douma.nu">Ate Douma</a>
+ * @version $Id$
+ */
+public interface PortletRequestContextService
+{
+    PortletRequestContext getPortletActionRequestContext(PortletContainer container, HttpServletRequest request,
+                                                         HttpServletResponse response, PortletWindow window);
+
+    PortletRequestContext getPortletEventRequestContext(PortletContainer container, HttpServletRequest request,
+                                                        HttpServletResponse response, PortletWindow window);
+
+    PortletResourceRequestContext getPortletResourceRequestContext(PortletContainer container,
+                                                                   HttpServletRequest request,
+                                                                   HttpServletResponse response, PortletWindow window);
+
+    PortletRequestContext getPortletRenderRequestContext(PortletContainer container, HttpServletRequest request,
+                                                         HttpServletResponse response, PortletWindow window);
+
+    PortletActionResponseContext getPortletActionResponseContext(PortletContainer container,
+                                                                 HttpServletRequest request,
+                                                                 HttpServletResponse response, PortletWindow window);
+
+    PortletEventResponseContext getPortletEventResponseContext(PortletContainer container, HttpServletRequest request,
+                                                               HttpServletResponse response, PortletWindow window);
+
+    PortletResourceResponseContext getPortletResourceResponseContext(PortletContainer container,
+                                                                     HttpServletRequest request,
+                                                                     HttpServletResponse response, PortletWindow window);
+
+    PortletRenderResponseContext getPortletRenderResponseContext(PortletContainer container,
+                                                                 HttpServletRequest request,
+                                                                 HttpServletResponse response, PortletWindow window);
+}

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletRequestContextService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletRequestContextService.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletRequestContextService.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletResourceRequestContext.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletResourceRequestContext.java?rev=750951&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletResourceRequestContext.java (added)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletResourceRequestContext.java Fri Mar  6 16:03:00 2009
@@ -0,0 +1,31 @@
+/*
+ * 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.pluto.spi.optional;
+
+import java.util.Map;
+
+/**
+ * @version $Id$
+ *
+ */
+public interface PortletResourceRequestContext extends PortletRequestContext
+{
+    String getResourceID();
+    String getCacheability();
+    Map<String, String[]> getPrivateRenderParameterMap();
+}

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletResourceRequestContext.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletResourceRequestContext.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletResourceRequestContext.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletResourceResponseContext.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletResourceResponseContext.java?rev=750951&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletResourceResponseContext.java (added)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletResourceResponseContext.java Fri Mar  6 16:03:00 2009
@@ -0,0 +1,31 @@
+/*
+ * 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.pluto.spi.optional;
+
+import java.util.Locale;
+
+/**
+ * @author <a href="mailto:ate@douma.nu">Ate Douma</a>
+ * @version $Id$
+ */
+public interface PortletResourceResponseContext extends PortletMimeResponseContext
+{
+    void setLocale(Locale locale);
+    void setCharacterEncoding(String charset);
+    void setContentLength(int len);
+}

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletResourceResponseContext.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletResourceResponseContext.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletResourceResponseContext.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletResponseContext.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletResponseContext.java?rev=750951&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletResponseContext.java (added)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletResponseContext.java Fri Mar  6 16:03:00 2009
@@ -0,0 +1,59 @@
+/*
+ * 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.pluto.spi.optional;
+
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.pluto.PortletContainer;
+import org.apache.pluto.PortletWindow;
+import org.w3c.dom.Element;
+
+/**
+ * @author <a href="mailto:ate@douma.nu">Ate Douma</a>
+ * @version $Id$
+ */
+public interface PortletResponseContext
+{
+    PortletContainer getContainer();
+    HttpServletRequest getServletRequest();
+    HttpServletResponse getServletResponse();
+    
+    PortletWindow getPortletWindow();
+    void addProperty(Cookie cookie);
+    void addProperty(String key, Element element);
+    void addProperty(String key, String value);
+    void setProperty(String key, String value);
+
+    /**
+     * Closing the response context means processing has been completed and
+     * internal storage can be flushed and written out to the Portal.
+     * It is not required for the Portal to do internal buffering, except for
+     * the PortletEventResponseContext as the portlet spec explicitely states that
+     * any changes during a processEvent should be ignored if an exception occurs,
+     * in which case the portlet container should only call release() and not close().
+     */
+    void close();
+    
+    /**
+     * Releasing the response context means its internal storage can be released as well.
+     * If any outstanding changes have not been processed yet, those will be lost.
+     */
+    void release();
+}

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletResponseContext.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletResponseContext.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletResponseContext.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletStateAwareResponseContext.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletStateAwareResponseContext.java?rev=750951&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletStateAwareResponseContext.java (added)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletStateAwareResponseContext.java Fri Mar  6 16:03:00 2009
@@ -0,0 +1,41 @@
+/*
+ * 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.pluto.spi.optional;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.portlet.Event;
+import javax.portlet.PortletMode;
+import javax.portlet.WindowState;
+
+/**
+ * @author <a href="mailto:ate@douma.nu">Ate Douma</a>
+ * @version $Id$
+ */
+public interface PortletStateAwareResponseContext extends PortletResponseContext
+{
+    PortletMode getPortletMode();
+    void setPortletMode(PortletMode portletMode);
+    WindowState getWindowState();
+    void setWindowState(WindowState windowState);
+    Map<String, String[]> getRenderParameters();
+    Set<String> getRemovedPublicRenderParameters();
+    List<Event> getEvents();
+}

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletStateAwareResponseContext.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletStateAwareResponseContext.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/PortletStateAwareResponseContext.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/UserInfoService.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/UserInfoService.java?rev=750951&r1=750950&r2=750951&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/UserInfoService.java (original)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/spi/optional/UserInfoService.java Fri Mar  6 16:03:00 2009
@@ -23,7 +23,6 @@
 
 import org.apache.pluto.PortletContainerException;
 import org.apache.pluto.PortletWindow;
-import org.apache.pluto.spi.ContainerService;
 
 /**
  * Used to access user information attributes as described in
@@ -31,7 +30,7 @@
  * not covered by the spec so it is not done here.
  *
  */
-public interface UserInfoService extends ContainerService {
+public interface UserInfoService {
     /**
      * Retrieve the user attribues and their values associated with the given
      * request and window. This can return null if the user associated with the



Mime
View raw message