You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by ta...@apache.org on 2008/10/22 03:34:12 UTC

svn commit: r706843 [1/2] - in /portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade: components/jetspeed-cm/src/main/java/org/apache/jetspeed/components/factorybeans/ components/jetspeed-portal/src/main/java/org/apache/jetspeed/ components/jet...

Author: taylor
Date: Tue Oct 21 18:34:10 2008
New Revision: 706843

URL: http://svn.apache.org/viewvc?rev=706843&view=rev
Log:
https://issues.apache.org/jira/browse/JS2-871
This commit hooks in the majority of the new Pluto 2.0 services into Jetspeed Spring configurations and implementations
Still remaining:
* prefs, registry/factory
In the next commit all deprecated Pluto 1.0 factories will be removed

Added:
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/JetspeedPortletInvokerService.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/EventProviderImpl.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/FilterManagerImpl.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/PortletURLListenerImpl.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/PortletURLProviderImpl.java   (contents, props changed)
      - copied, changed from r705397, portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/information/PortletURLProviderImpl.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/RequestPropertyProviderImpl.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/ResourceURLProviderImpl.java   (contents, props changed)
      - copied, changed from r705397, portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/information/ResourceURLProviderImpl.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/services/JetspeedOptionalPlutoServices.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/services/JetspeedPortalCallbackServices.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/services/JetspeedRequiredPlutoServices.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/jetspeed-api/src/main/java/org/apache/jetspeed/engine/servlet/
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/jetspeed-api/src/main/java/org/apache/jetspeed/engine/servlet/ServletRequestFactory.java   (contents, props changed)
      - copied, changed from r706807, portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/engine/servlet/ServletRequestFactory.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/jetspeed-api/src/main/java/org/apache/jetspeed/engine/servlet/ServletResponseFactory.java   (contents, props changed)
      - copied, changed from r706807, portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/engine/servlet/ServletResponseFactory.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/jetspeed-portal-resources/src/main/resources/assembly/pluto-services.xml
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/jetspeed-portal-resources/src/main/resources/assembly/servlet-api.xml
Removed:
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/engine/servlet/ServletRequestFactory.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/engine/servlet/ServletResponseFactory.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/information/PortletURLProviderImpl.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/information/ResourceURLProviderImpl.java
Modified:
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-cm/src/main/java/org/apache/jetspeed/components/factorybeans/PlutoFactoryFactoryBean.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/JetspeedPortalContext.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/DesktopPortletContainerImpl.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/JetspeedPortletContainerWrapper.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/JetspeedPortletInvoker.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/LocalPortletInvoker.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/LocalPortletInvokerFactory.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/LocalServletRequest.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/PortletInvokerFactoryImpl.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/ServletPortletInvoker.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/ServletPortletInvokerFactory.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/namespace/JetspeedNamespaceMapper.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/namespace/JetspeedNamespaceMapperImpl.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/engine/JetspeedEngine.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/engine/servlet/ServletRequestFactoryImpl.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/engine/servlet/ServletRequestImpl.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/engine/servlet/ServletResponseFactoryImpl.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/request/JetspeedRequestContext.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/request/JetspeedRequestContextComponent.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/information/DynamicInformationProviderImpl.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/information/InformationProviderServiceImpl.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/information/StaticInformationProviderImpl.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/UserInfoManagerImpl.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletregistry/PersistenceBrokerPortletRegistry.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/jetspeed-api/src/main/java/org/apache/jetspeed/PortalContext.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/jetspeed-api/src/main/java/org/apache/jetspeed/components/portletregistry/PortletRegistry.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/jetspeed-api/src/main/java/org/apache/jetspeed/engine/Engine.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/jetspeed-api/src/main/java/org/apache/jetspeed/request/RequestContext.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/jetspeed-api/src/main/java/org/apache/jetspeed/request/RequestContextComponent.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/jetspeed-api/src/main/java/org/apache/jetspeed/userinfo/UserInfoManager.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/jetspeed-commons/src/main/java/org/apache/jetspeed/container/ContainerConstants.java
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/jetspeed-portal-resources/src/main/resources/assembly/desktop.xml
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-spring.xml
    portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/jetspeed-portal-resources/src/main/resources/assembly/userinfo.xml

Modified: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-cm/src/main/java/org/apache/jetspeed/components/factorybeans/PlutoFactoryFactoryBean.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-cm/src/main/java/org/apache/jetspeed/components/factorybeans/PlutoFactoryFactoryBean.java?rev=706843&r1=706842&r2=706843&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-cm/src/main/java/org/apache/jetspeed/components/factorybeans/PlutoFactoryFactoryBean.java (original)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-cm/src/main/java/org/apache/jetspeed/components/factorybeans/PlutoFactoryFactoryBean.java Tue Oct 21 18:34:10 2008
@@ -21,7 +21,6 @@
 
 import javax.servlet.ServletConfig;
 
-import org.apache.pluto.factory.Factory;
 import org.springframework.beans.factory.BeanCreationException;
 import org.springframework.beans.factory.config.AbstractFactoryBean;
 

Modified: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/JetspeedPortalContext.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/JetspeedPortalContext.java?rev=706843&r1=706842&r2=706843&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/JetspeedPortalContext.java (original)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/JetspeedPortalContext.java Tue Oct 21 18:34:10 2008
@@ -62,20 +62,17 @@
      */
     private String applicationRoot;
     
-    private final String portalInfo;
+    private String portalInfo;
 
-    public JetspeedPortalContext(Engine engine, PortalConfiguration configuration, String applicationRoot)
+    public JetspeedPortalContext()
+    {
+    }
+    
+    public JetspeedPortalContext(PortalConfiguration configuration, String applicationRoot)
     {
-        this.engine = engine;
         this.configuration = configuration;
         this.applicationRoot = applicationRoot;
-             
-        portalInfo = configuration.getString(PORTAL_NAME_ATTR) + "/" + configuration.getString(PORTAL_VERSION_ATTR);
-        
-        // Inititalize supported portlet modes and window states
-        String[] supportedModes = configuration.getStringArray(SUPPORTED_PORTLETMODE_ATTR);
-        String[] supportedStates = configuration.getStringArray(SUPPORTED_WINDOWSTATE_ATTR);
-        new JetspeedActions(supportedModes, supportedStates);
+        initialize();
     }
 
     // ------------------------------------------------------------------------
@@ -110,6 +107,17 @@
     public void setConfiguration(PortalConfiguration configuration)
     {
         this.configuration = configuration;
+        initialize();
+    }
+    
+    protected void initialize()
+    {
+        portalInfo = configuration.getString(PORTAL_NAME_ATTR) + "/" + configuration.getString(PORTAL_VERSION_ATTR);
+        
+        // Inititalize supported portlet modes and window states
+        String[] supportedModes = configuration.getStringArray(SUPPORTED_PORTLETMODE_ATTR);
+        String[] supportedStates = configuration.getStringArray(SUPPORTED_WINDOWSTATE_ATTR);
+        new JetspeedActions(supportedModes, supportedStates);        
     }
 
     /**
@@ -141,6 +149,11 @@
     {
         return this.engine;
     }
+    
+    public void setEngine(Engine engine)
+    {
+        this.engine = engine;
+    }
 
     /**
      * Returns the engine attribute with the given name, or null if there is no attribute by that name.

Modified: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/DesktopPortletContainerImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/DesktopPortletContainerImpl.java?rev=706843&r1=706842&r2=706843&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/DesktopPortletContainerImpl.java (original)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/DesktopPortletContainerImpl.java Tue Oct 21 18:34:10 2008
@@ -17,22 +17,15 @@
 package org.apache.jetspeed.container;
 
 import java.io.IOException;
-import java.util.Map;
 
-import javax.portlet.PortletMode;
-import javax.portlet.WindowState;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.pluto.PortletContainer;
-import org.apache.pluto.PortletContainerImpl;
-import org.apache.pluto.core.InternalActionResponse;
-import org.apache.jetspeed.container.PortletWindow;
-import org.apache.pluto.services.information.DynamicInformationProvider;
-import org.apache.pluto.services.information.InformationProviderAccess;
-import org.apache.pluto.services.information.PortletURLProvider;
-
 import org.apache.jetspeed.desktop.JetspeedDesktop;
+import org.apache.pluto.OptionalContainerServices;
+import org.apache.pluto.PortletContainer;
+import org.apache.pluto.RequiredContainerServices;
+import org.apache.pluto.core.PortletContainerImpl;
 
 /**
  * Desktop Portlet Container implementation. This implementation 
@@ -49,8 +42,11 @@
     private String desktopActionPipelinePath = null;
     private String desktopRenderPipelinePath = null;
     
-    public DesktopPortletContainerImpl( String desktopPipelinePath, String desktopActionPipelinePath, String desktopRenderPipelinePath )
+    public DesktopPortletContainerImpl(String containerName,
+            RequiredContainerServices requiredServices, OptionalContainerServices optionalServices, 
+            String desktopPipelinePath, String desktopActionPipelinePath, String desktopRenderPipelinePath)
     {
+        super(containerName, requiredServices, optionalServices);
         if ( desktopPipelinePath == null || desktopPipelinePath.length() == 0 )
             desktopPipelinePath = JetspeedDesktop.DEFAULT_DESKTOP_PIPELINE_PATH;
         if ( desktopPipelinePath.charAt( 0 ) != '/' )
@@ -76,21 +72,13 @@
         this.desktopActionPipelinePath = desktopActionPipelinePath;
         this.desktopRenderPipelinePath = desktopRenderPipelinePath;
     }
-
-    /**
-     * This redirect does not redirect, instead returns the redirect URL in the response
-     */
-    protected void redirect(String location, PortletWindow portletWindow,
-            HttpServletRequest servletRequest,
-            HttpServletResponse servletResponse,
-            InternalActionResponse _actionResponse) throws IOException
+    
+    protected void redirect(HttpServletRequest servletRequest, HttpServletResponse servletResponse, String location) throws IOException    
     {
     	String encoding = servletRequest.getParameter( JetspeedDesktop.DESKTOP_ENCODER_REQUEST_PARAMETER );
-        boolean requestHasDesktopEncoding = false;
     	boolean requestIsDesktopAjax = false;
         if ( encoding != null && encoding.equals( JetspeedDesktop.DESKTOP_ENCODER_REQUEST_PARAMETER_VALUE ) )
         {   // used in cases where action request cannot be made via ajax (e.g. form has <input type=file/> element)
-        	requestHasDesktopEncoding = true;
         	requestIsDesktopAjax = true;
         	String ajaxOverride = servletRequest.getParameter( JetspeedDesktop.DESKTOP_AJAX_REQUEST_PARAMETER );
         	if ( ajaxOverride != null && ajaxOverride.equals( "false" ) )
@@ -98,66 +86,8 @@
         		requestIsDesktopAjax = false;
         	}
         }
-    	
-        if (location == null && _actionResponse != null)
-        {
-            DynamicInformationProvider provider = InformationProviderAccess
-                    .getDynamicProvider(servletRequest);
-
-            // TODO: don't send changes in case of exception -> PORTLET:SPEC:17
-
-            PortletMode portletMode = provider.getPortletMode(portletWindow);
-            WindowState windowState = provider.getWindowState(portletWindow);
-
-            // get the changings of this portlet entity that might be set during
-            // action handling
-            // change portlet mode
-            if (_actionResponse.getChangedPortletMode() != null)
-            {
-                portletMode = _actionResponse.getChangedPortletMode();
-                InformationProviderAccess.getDynamicProvider(servletRequest)
-                        .getPortletActionProvider(portletWindow)
-                        .changePortletMode(portletMode);
-            }
-            // change window state
-            if (_actionResponse.getChangedWindowState() != null)
-            {
-                windowState = _actionResponse.getChangedWindowState();
-                InformationProviderAccess.getDynamicProvider(servletRequest)
-                        .getPortletActionProvider(portletWindow)
-                        .changePortletWindowState(windowState);
-            }
-            // get render parameters
-            Map renderParameter = _actionResponse.getRenderParameters();
-
-            PortletURLProvider redirectURL = provider
-                    .getPortletURLProvider(portletWindow);
-
-            if (provider.getPortletMode(portletWindow) != null)
-            {
-                redirectURL.setPortletMode(portletMode);
-            }
-            if (provider.getWindowState(portletWindow) != null)
-            {
-                redirectURL.setWindowState(windowState);
-            }
-            if (servletRequest.isSecure())
-            {
-                redirectURL.setSecure(); // TBD
-            }
-            
-            if ( requestHasDesktopEncoding && ! requestIsDesktopAjax )
-            {   // add parameter to tell DesktopEncodingPortalURL that it should not add extra desktop parameters (e.g. entity and portlet)
-            	renderParameter.put( JetspeedDesktop.DESKTOP_REQUEST_NOT_AJAX_PARAMETER, Boolean.TRUE );
-            }
-
-            redirectURL.clearParameters();
-            redirectURL.setParameters(renderParameter);
-            
-            location = servletResponse
-                    .encodeRedirectURL(redirectURL.toString());
-        }
 
+        // TODO: 2.2 is this still necessary?
         javax.servlet.http.HttpServletResponse redirectResponse = servletResponse;
         while (redirectResponse instanceof javax.servlet.http.HttpServletResponseWrapper)
         {
@@ -176,8 +106,7 @@
             location = location.replaceAll( this.desktopRenderPipelinePath, this.desktopPipelinePath);
             redirectResponse.sendRedirect(location);
         }
-        // System.out.println("+++ >>>> location is " + location);
-        
+        System.out.println("+++ >>>> DESKTOP REDIRECT: location is " + location);        
     }
-
+    
 }

Modified: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/JetspeedPortletContainerWrapper.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/JetspeedPortletContainerWrapper.java?rev=706843&r1=706842&r2=706843&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/JetspeedPortletContainerWrapper.java (original)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/JetspeedPortletContainerWrapper.java Tue Oct 21 18:34:10 2008
@@ -17,10 +17,8 @@
 package org.apache.jetspeed.container;
 
 import java.io.IOException;
-import java.util.Properties;
 
 import javax.portlet.PortletException;
-import javax.servlet.ServletConfig;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
@@ -28,10 +26,11 @@
 import org.apache.commons.logging.LogFactory;
 import org.apache.jetspeed.engine.servlet.ServletRequestFactory;
 import org.apache.jetspeed.engine.servlet.ServletResponseFactory;
+import org.apache.pluto.OptionalContainerServices;
 import org.apache.pluto.PortletContainer;
 import org.apache.pluto.PortletContainerException;
-import org.apache.jetspeed.container.PortletWindow;
-import org.apache.pluto.services.PortletContainerEnvironment;
+import org.apache.pluto.PortletWindow;
+import org.apache.pluto.RequiredContainerServices;
 
 /**
  * Portlet Container Wrapper to secure access to portlet container.
@@ -43,70 +42,36 @@
 {
     private boolean initialized = false;
     private static final Log log = LogFactory.getLog(JetspeedPortletContainerWrapper.class);
+    private final String INVALID_WINDOW_TYPE = "Window is not of valid type: ";    
     private final PortletContainer pluto;
     private final String containerId;
-    private final Properties properties;
-    private final PortletContainerEnvironment environment;
-    private final ServletConfig servletConfig;
     
     private ServletRequestFactory requestFactory;
     private ServletResponseFactory responseFactory;
 
-    public JetspeedPortletContainerWrapper(PortletContainer pluto, String containerId, 
-            ServletConfig servletConfig, PortletContainerEnvironment env, Properties properties)
+    public JetspeedPortletContainerWrapper(PortletContainer pluto, String containerId)
     {
         this.pluto = pluto;
         this.containerId = containerId;
-        this.environment = env;
-        this.properties = properties;
-        this.servletConfig = servletConfig;
     }
     
-    public JetspeedPortletContainerWrapper(PortletContainer pluto, String containerId, 
-            ServletConfig servletConfig, PortletContainerEnvironment env)
-    {
-        this(pluto, containerId, servletConfig, env, new Properties());
-    }
-    
-    /**
-     * Allows starting of the container without providing calling the 
-     * <code>init()</code> method without all of the arguments as the
-     * arguments have already been provided in the constructor.
-     * 
-     * @throws PortletContainerException
-     */
-    public void start() throws PortletContainerException
+    public void init() throws PortletContainerException
     {
         log.info("Attmepting to start Pluto portal container...");
-        this.init(containerId, servletConfig, environment, properties);
-        log.info("Pluto portlet container successfully started.");
-    }
-  
-    /**
-     * initialization is still handled outside component architecture, since Pluto is not a component
-     */
-    public synchronized void init(
-        String uniqueContainerId,
-        ServletConfig servletConfig,
-        PortletContainerEnvironment environment,
-        Properties props)
-        throws PortletContainerException
-    {
-
-        pluto.init(uniqueContainerId, servletConfig, environment, props);
-        initialized = true;
+        pluto.init();
+        initialized = true;        
+        log.info("Pluto portlet container successfully started.");        
     }
-
-    public synchronized void shutdown() throws PortletContainerException
+    
+    public synchronized void destroy() throws PortletContainerException
     {
         initialized = false;
-        pluto.shutdown();
+        pluto.destroy();
     }
-
-    public void renderPortlet(PortletWindow portletWindow, HttpServletRequest servletRequest, HttpServletResponse servletResponse)
+    
+    public void doRender(PortletWindow portletWindow, HttpServletRequest servletRequest, HttpServletResponse servletResponse)
         throws PortletException, IOException, PortletContainerException
-    {
-                
+    {                
         if(portletWindow.getPortletEntity() == null)
         {
             log.warn("Could not render PortletWindow "+ portletWindow.getId() + " as it has no PortletEntity defined.");
@@ -118,32 +83,58 @@
             log.warn("Could not render PortletWindow"+ portletWindow.getId() + " as it has no PortletDefintion defined.");
             return;
         }
-        pluto.renderPortlet(portletWindow, servletRequest, servletResponse);
-        // TODO: figure out how to access pluto-services before container kicks in
-        //                              ServletObjectAccess.getServletRequest(servletRequest),
-        //                              ServletObjectAccess.getServletResponse(servletResponse));
+        pluto.doRender(portletWindow, servletRequest, servletResponse);
     }
 
-    public void processPortletAction(
+    public void doAction(
         PortletWindow portletWindow,
         HttpServletRequest servletRequest,
         HttpServletResponse servletResponse)
         throws PortletException, IOException, PortletContainerException
     {
-        pluto.processPortletAction(portletWindow, servletRequest, servletResponse);
-        //                                     ServletObjectAccess.getServletRequest(servletRequest),
-        //                                     ServletObjectAccess.getServletResponse(servletResponse));
+        pluto.doAction(portletWindow, servletRequest, servletResponse);
     }
 
-    public void portletLoad(PortletWindow portletWindow, HttpServletRequest servletRequest, HttpServletResponse servletResponse)
-        throws PortletException, PortletContainerException
+    
+    public void doLoad(PortletWindow portletWindow, HttpServletRequest servletRequest, HttpServletResponse servletResponse)
+        throws PortletException, IOException, PortletContainerException
     {
-        pluto.portletLoad(
-            portletWindow,
-            requestFactory.getServletRequest(servletRequest, portletWindow),
+        if (portletWindow instanceof org.apache.jetspeed.container.PortletWindow)
+            throw new PortletException(INVALID_WINDOW_TYPE + org.apache.jetspeed.container.PortletWindow.class);
+        org.apache.jetspeed.container.PortletWindow jpw = (org.apache.jetspeed.container.PortletWindow)portletWindow;
+        pluto.doLoad(portletWindow, 
+            requestFactory.getServletRequest(servletRequest, jpw),
             responseFactory.getServletResponse(servletResponse));
     }
 
+    public void doAdmin(PortletWindow portletWindow, HttpServletRequest servletRequest, HttpServletResponse servletResponse)
+        throws PortletException, IOException, PortletContainerException
+    {
+        pluto.doAdmin(portletWindow, servletRequest, servletResponse);
+    }
+
+    public void doServeResource(PortletWindow portletWindow, HttpServletRequest servletRequest, HttpServletResponse servletResponse)
+    throws PortletException, IOException, PortletContainerException
+    {
+        pluto.doServeResource(portletWindow, servletRequest, servletResponse);
+    }
+
+    public String getName()
+    {
+        return this.containerId;
+    }
+
+    public OptionalContainerServices getOptionalContainerServices()
+    {
+        return pluto.getOptionalContainerServices();
+    }
+
+    public RequiredContainerServices getRequiredContainerServices()
+    {
+        return pluto.getRequiredContainerServices();
+    }
+
+    
     /**
      * <p>
      * isInitialized
@@ -166,5 +157,6 @@
     {
         this.responseFactory = responseFactory;
     }
+    
 
 }

Modified: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/JetspeedPortletInvoker.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/JetspeedPortletInvoker.java?rev=706843&r1=706842&r2=706843&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/JetspeedPortletInvoker.java (original)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/JetspeedPortletInvoker.java Tue Oct 21 18:34:10 2008
@@ -16,21 +16,25 @@
  */
 package org.apache.jetspeed.container.invoker;
 
+import java.io.IOException;
+
+import javax.portlet.PortletException;
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletResponse;
 import javax.servlet.ServletConfig;
 
 import org.apache.jetspeed.factory.PortletFactory;
-import org.apache.pluto.invoker.PortletInvoker;
 import org.apache.pluto.om.portlet.PortletDefinition;
+import org.apache.pluto.spi.FilterManager;
 
 /**
- * JetspeedPortletInvoker extends Pluto's portlet invoker and extends it
- * with lifecycle management. Portlet Invokers can be pooled, and activated
- * and passivated per request cycle.
+ * JetspeedPortletInvoker extends Pluto's portlet invoker model and extends it
+ * with lifecycle management. 
  *
  * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
  * @version $Id$
  */
-public interface JetspeedPortletInvoker extends PortletInvoker
+public interface JetspeedPortletInvoker 
 {
     /**
      * Activating an invoker makes it ready to invoke portlets.
@@ -42,20 +46,7 @@
      * @param containerServlet
      */
     void activate(PortletFactory portletFactory, PortletDefinition portletDefinition, ServletConfig servletConfig);
-
-    /**
-     * Activating an invoker makes it ready to invoke portlets.
-     * If an invoker's state is not activated, it can not invoke.
-     * This second signature allows for activating with an extra property.
-     * 
-     * @param portletFactory The factory to get access to the portlet being invoked.
-     * @param portletDefinition The portlet's definition that is being invoked.
-     * @param servletConfig The servlet configuration of the portal. 
-     * @param property Implementation specific property
-     * @param containerServlet
-     */
-    void activate(PortletFactory portletFactory, PortletDefinition portletDefinition, ServletConfig servletConfig, String property);
-    
+   
     /**
      * Passivates an invoker, freeing it back to the invoker pool.
      * If an invoker's state is passivated, it cannot be used to invoke portlets.
@@ -67,4 +58,17 @@
      * @return True if the current state of the invoker is 'activated' otherwise false.
      */
     boolean isActivated();
+
+    /**
+     * Invoke a method
+     * @param portletRequest
+     * @param portletResponse
+     * @param method
+     * @param filter
+     * @throws PortletException
+     * @throws IOException
+     */
+    void invoke(PortletRequest portletRequest, PortletResponse portletResponse, Integer method, FilterManager filter)
+        throws PortletException, IOException;
+    
 }

Added: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/JetspeedPortletInvokerService.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/JetspeedPortletInvokerService.java?rev=706843&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/JetspeedPortletInvokerService.java (added)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/JetspeedPortletInvokerService.java Tue Oct 21 18:34:10 2008
@@ -0,0 +1,135 @@
+/*
+ * 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.jetspeed.container.invoker;
+
+import java.io.IOException;
+
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.EventRequest;
+import javax.portlet.EventResponse;
+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.servlet.ServletConfig;
+import javax.servlet.ServletContext;
+
+import org.apache.jetspeed.PortalContext;
+import org.apache.jetspeed.container.ContainerConstants;
+import org.apache.jetspeed.factory.PortletFactory;
+import org.apache.jetspeed.om.portlet.PortletApplication;
+import org.apache.jetspeed.om.portlet.PortletDefinition;
+import org.apache.pluto.PortletWindow;
+import org.apache.pluto.spi.FilterManager;
+import org.apache.pluto.spi.optional.PortletInvokerService;
+
+/**
+ * Implements Pluto's portlet invoker service interface.
+ *
+ * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
+ * @version $Id: $
+ */
+public class JetspeedPortletInvokerService implements PortletInvokerService
+{
+    public final static String INVOKER_SERVLET_MAPPING_NAME = "factory.invoker.servlet.mapping.name";
+    public final static String DEFAULT_MAPPING_NAME = "/container";
+    
+    private ServletConfig servletConfig;
+    private PortletFactory portletFactory;
+    private PortletRequestResponseUnwrapper unwrapper;
+    private String servletMappingName;
+    
+    public JetspeedPortletInvokerService(ServletConfig servletConfig, PortalContext portalContext, 
+            PortletFactory portletFactory, PortletRequestResponseUnwrapper unwrapper)
+    {
+        this.servletConfig = servletConfig;
+        this.portletFactory = portletFactory;
+        this.unwrapper = unwrapper;
+        this.servletMappingName = portalContext.getConfigurationProperty(INVOKER_SERVLET_MAPPING_NAME, DEFAULT_MAPPING_NAME);                                
+    }
+   
+    public void action(ServletContext context, ActionRequest request,
+            ActionResponse response, PortletWindow window, FilterManager filter)
+            throws IOException, PortletException
+    {
+        JetspeedPortletInvoker invoker = getInvoker(window);
+        invoker.invoke(request, response, ContainerConstants.METHOD_ACTION, filter);
+    }
+
+    public void admin(ServletContext context, PortletRequest request,
+            PortletResponse response, PortletWindow window) throws IOException,
+            PortletException
+    {
+        JetspeedPortletInvoker invoker = getInvoker(window);
+        invoker.invoke(request, response, ContainerConstants.METHOD_ADMIN, null);        
+    }
+
+    public void event(ServletContext context, EventRequest request,
+            EventResponse response, PortletWindow window, FilterManager filter)
+            throws IOException, PortletException
+    {
+        JetspeedPortletInvoker invoker = getInvoker(window);
+        invoker.invoke(request, response, ContainerConstants.METHOD_EVENT, filter);
+    }
+
+    public void load(ServletContext context, PortletRequest request,
+            PortletResponse response, PortletWindow window) throws IOException,
+            PortletException
+    {
+        JetspeedPortletInvoker invoker = getInvoker(window);
+        invoker.invoke(request, response, ContainerConstants.METHOD_NOOP, null);
+    }   
+    
+    public void render(ServletContext context, RenderRequest request,
+            RenderResponse response, PortletWindow window, FilterManager filter)
+            throws IOException, PortletException
+    {
+        JetspeedPortletInvoker invoker = getInvoker(window);
+        invoker.invoke(request, response, ContainerConstants.METHOD_RENDER, filter);
+    }
+
+    public void serveResource(ServletContext context, ResourceRequest request,
+            ResourceResponse response, PortletWindow window, FilterManager filter)
+            throws IOException, PortletException
+    {
+        JetspeedPortletInvoker invoker = getInvoker(window);
+        invoker.invoke(request, response, ContainerConstants.METHOD_RESOURCE, filter);
+    }
+    
+    protected JetspeedPortletInvoker getInvoker(PortletWindow window)
+    {
+        PortletDefinition portletDefinition = (PortletDefinition)window.getPortletEntity().getPortletDefinition();
+        PortletApplication app = (PortletApplication)portletDefinition.getApplication();
+        JetspeedPortletInvoker invoker;
+        if (app.getApplicationType() == PortletApplication.LOCAL)
+        {
+            invoker = new LocalPortletInvoker();
+        }
+        else
+        {
+            invoker =  new ServletPortletInvoker(this.unwrapper, servletMappingName);
+
+        }
+        invoker.activate(portletFactory, portletDefinition, servletConfig);
+        return invoker;        
+    }
+    
+}

Modified: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/LocalPortletInvoker.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/LocalPortletInvoker.java?rev=706843&r1=706842&r2=706843&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/LocalPortletInvoker.java (original)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/LocalPortletInvoker.java Tue Oct 21 18:34:10 2008
@@ -30,8 +30,6 @@
 import javax.servlet.ServletContext;
 import javax.servlet.ServletRequest;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.jetspeed.PortalReservedParameters;
 import org.apache.jetspeed.container.ContainerConstants;
 import org.apache.jetspeed.container.PortletRequestContext;
@@ -40,6 +38,7 @@
 import org.apache.jetspeed.om.portlet.PortletApplication;
 import org.apache.jetspeed.request.RequestContext;
 import org.apache.pluto.om.portlet.PortletDefinition;
+import org.apache.pluto.spi.FilterManager;
 
 /**
  * LocalPortletInvoker invokes local (internal) portlet applications.
@@ -58,8 +57,6 @@
  */
 public class LocalPortletInvoker implements JetspeedPortletInvoker
 {
-    private final static Log log = LogFactory.getLog(LocalPortletInvoker.class);
-
     protected PortletFactory portletFactory;
     protected ServletContext jetspeedContext;
     protected ServletConfig jetspeedConfig;
@@ -99,42 +96,6 @@
         activated = false;
     }
     
-    /* (non-Javadoc)
-     * @see org.apache.pluto.invoker.PortletInvoker#action(javax.portlet.ActionRequest, javax.portlet.ActionResponse)
-     */
-    public void action(ActionRequest request, ActionResponse response)
-        throws PortletException, IOException
-    {
-        invoke(request, response, ContainerConstants.METHOD_ACTION);
-    }
-    
-    /* (non-Javadoc)
-     * @see org.apache.pluto.invoker.PortletInvoker#render(javax.portlet.RenderRequest, javax.portlet.RenderResponse)
-     */
-    public void render(RenderRequest request, RenderResponse response)
-        throws PortletException, IOException
-    {
-        invoke(request, response, ContainerConstants.METHOD_RENDER);
-    }
-    
-    /* (non-Javadoc)
-     * @see org.apache.pluto.invoker.PortletInvoker#load(javax.portlet.PortletRequest, javax.portlet.RenderResponse)
-     */
-    public void load(PortletRequest request, RenderResponse response)
-        throws PortletException
-    {
-        try
-        {
-            invoke(request, response, ContainerConstants.METHOD_NOOP);
-        }
-        catch (IOException e)
-        {
-            log.error("LocalPortletInvokerImpl.load() - Error while dispatching portlet.", e);
-            throw new PortletException(e);
-        }
-    }
-    
-    
     /**
      * Invokes the specific request denoted by the <code>method</code> parameter on a portlet.
      * The portlet is invoked with a direct method call on the portlet. It is not invoked in another web application.
@@ -146,22 +107,17 @@
      * @throws PortletException
      * @throws IOException
      */
-    protected void invoke(PortletRequest portletRequest, PortletResponse portletResponse, Integer method)
+    public void invoke(PortletRequest portletRequest, PortletResponse portletResponse, Integer method, FilterManager filter)
             throws PortletException, IOException
     {
         ClassLoader paClassLoader = portletFactory
-                .getPortletApplicationClassLoader((PortletApplication) portletDefinition
-                        .getPortletApplicationDefinition());
+                .getPortletApplicationClassLoader((PortletApplication) portletDefinition.getApplication());
         PortletInstance portletInstance = portletFactory.getPortletInstance(jetspeedContext, portletDefinition);
-
         if (method == ContainerConstants.METHOD_NOOP)
         {
             return;
         }
-
-        // gather all required data from request and response
         ServletRequest servletRequest = ((javax.servlet.http.HttpServletRequestWrapper) portletRequest).getRequest();
-
         ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
         try
         {

Modified: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/LocalPortletInvokerFactory.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/LocalPortletInvokerFactory.java?rev=706843&r1=706842&r2=706843&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/LocalPortletInvokerFactory.java (original)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/LocalPortletInvokerFactory.java Tue Oct 21 18:34:10 2008
@@ -19,7 +19,7 @@
 /**
  * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
  * @version $Id: $
- *
+ * @deprecated delete me
  */
 public class LocalPortletInvokerFactory 
 {

Modified: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/LocalServletRequest.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/LocalServletRequest.java?rev=706843&r1=706842&r2=706843&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/LocalServletRequest.java (original)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/LocalServletRequest.java Tue Oct 21 18:34:10 2008
@@ -35,6 +35,7 @@
  * @author <a href="mailto:david@bluesunrise.com">David Sean Taylor</a>
  * @author <a href="">David Gurney</a>
  * @version $Id: $
+ * @deprecated delete me
  */
 public class LocalServletRequest extends HttpServletRequestWrapper
 {

Modified: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/PortletInvokerFactoryImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/PortletInvokerFactoryImpl.java?rev=706843&r1=706842&r2=706843&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/PortletInvokerFactoryImpl.java (original)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/PortletInvokerFactoryImpl.java Tue Oct 21 18:34:10 2008
@@ -23,8 +23,6 @@
 import org.apache.jetspeed.PortalContext;
 import org.apache.jetspeed.factory.PortletFactory;
 import org.apache.jetspeed.om.portlet.PortletApplication;
-import org.apache.pluto.factory.PortletInvokerFactory;
-import org.apache.pluto.invoker.PortletInvoker;
 import org.apache.pluto.om.portlet.PortletDefinition;
 
 /**
@@ -51,6 +49,7 @@
  * With servlet invokers, the servlet request dispatcher is used to call methods on the portlet. 
  * </p>
  * 
+ * @deprecated delete me
  * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
  * @version $Id$
  */

Modified: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/ServletPortletInvoker.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/ServletPortletInvoker.java?rev=706843&r1=706842&r2=706843&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/ServletPortletInvoker.java (original)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/ServletPortletInvoker.java Tue Oct 21 18:34:10 2008
@@ -18,13 +18,9 @@
 
 import java.io.IOException;
 
-import javax.portlet.ActionRequest;
-import javax.portlet.ActionResponse;
 import javax.portlet.PortletException;
 import javax.portlet.PortletRequest;
 import javax.portlet.PortletResponse;
-import javax.portlet.RenderRequest;
-import javax.portlet.RenderResponse;
 import javax.servlet.RequestDispatcher;
 import javax.servlet.ServletConfig;
 import javax.servlet.ServletContext;
@@ -35,15 +31,16 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.jetspeed.PortalReservedParameters;
+import org.apache.jetspeed.aggregator.CurrentWorkerContext;
 import org.apache.jetspeed.container.ContainerConstants;
 import org.apache.jetspeed.container.PortletRequestContext;
 import org.apache.jetspeed.factory.PortletFactory;
 import org.apache.jetspeed.factory.PortletInstance;
-import org.apache.jetspeed.request.RequestContext;
-import org.apache.jetspeed.aggregator.CurrentWorkerContext;
-import org.apache.pluto.om.portlet.PortletDefinition;
 import org.apache.jetspeed.om.portlet.PortletApplication;
 import org.apache.jetspeed.om.servlet.WebApplicationDefinition;
+import org.apache.jetspeed.request.RequestContext;
+import org.apache.pluto.om.portlet.PortletDefinition;
+import org.apache.pluto.spi.FilterManager;
 
 /**
  * ServletPortletInvoker invokes portlets in another web application, calling a 
@@ -81,13 +78,8 @@
      * to find the real servlet request or servlet response.
      */
     protected PortletRequestResponseUnwrapper requestResponseUnwrapper;
-
-    public ServletPortletInvoker()
-    {
-        this(new DefaultPortletRequestResponseUnwrapper());
-    }
     
-    public ServletPortletInvoker(PortletRequestResponseUnwrapper requestResponseUnwrapper)
+    public ServletPortletInvoker(PortletRequestResponseUnwrapper requestResponseUnwrapper, String servletMappingName)
     {
         this.requestResponseUnwrapper = requestResponseUnwrapper;
     }
@@ -120,50 +112,6 @@
         activated = true;
     }
 
-    /* (non-Javadoc)
-     * @see org.apache.jetspeed.container.invoker.JetspeedPortletInvoker#activate(PortletFactory,org.apache.pluto.om.portlet.PortletDefinition, javax.servlet.ServletConfig, java.lang.String)
-     */
-    public void activate(PortletFactory portletFactory, PortletDefinition portletDefinition, ServletConfig servletConfig, String servletMappingName)
-    {
-        this.servletMappingName = servletMappingName;
-        activate(portletFactory, portletDefinition, servletConfig);
-    }
-
-    /**
-     *
-     * @param request
-     * @param response
-     * @throws PortletException
-     */
-    public void render(RenderRequest request, RenderResponse response) throws PortletException, IOException
-    {
-        invoke(request, response, ContainerConstants.METHOD_RENDER);
-    }
-
-    /**
-     *
-     */
-    public void action(ActionRequest request, ActionResponse response) throws PortletException, IOException
-    {
-        invoke(request, response, ContainerConstants.METHOD_ACTION);
-    }
-
-    /**
-     *
-     */
-    public void load(PortletRequest request, RenderResponse response) throws PortletException
-    {
-        try
-        {
-            invoke(request, response, ContainerConstants.METHOD_NOOP);
-        }
-        catch (IOException e)
-        {
-            log.error("ServletPortletInvokerImpl.load() - Error while dispatching portlet.", e);
-            throw new PortletException(e);
-        }
-    }
-
     /**
      * Creates a servlet request dispatcher to dispatch to another web application to render the portlet.
      * NOTE: this method requires that your container supports cross-context dispatching.
@@ -175,7 +123,7 @@
      * @throws PortletException
      * @throws IOException
      */
-    protected void invoke(PortletRequest portletRequest, PortletResponse portletResponse, Integer methodID)
+    public void invoke(PortletRequest portletRequest, PortletResponse portletResponse, Integer methodID, FilterManager filter)
         throws PortletException, IOException
     {
         // In case of parallel mode, the portletDefinition member is not thread-safe.

Modified: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/ServletPortletInvokerFactory.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/ServletPortletInvokerFactory.java?rev=706843&r1=706842&r2=706843&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/ServletPortletInvokerFactory.java (original)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/ServletPortletInvokerFactory.java Tue Oct 21 18:34:10 2008
@@ -19,7 +19,7 @@
 /**
  * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
  * @version $Id: $
- *
+ * @deprecated delete me
  */
 public class ServletPortletInvokerFactory 
 {

Modified: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/namespace/JetspeedNamespaceMapper.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/namespace/JetspeedNamespaceMapper.java?rev=706843&r1=706842&r2=706843&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/namespace/JetspeedNamespaceMapper.java (original)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/namespace/JetspeedNamespaceMapper.java Tue Oct 21 18:34:10 2008
@@ -16,7 +16,7 @@
  */
 package org.apache.jetspeed.container.namespace;
 
-import org.apache.pluto.util.NamespaceMapper;
+import org.apache.pluto.NamespaceMapper;
 
 /**
  * Jetspeed NamespaceMapper interface extension

Modified: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/namespace/JetspeedNamespaceMapperImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/namespace/JetspeedNamespaceMapperImpl.java?rev=706843&r1=706842&r2=706843&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/namespace/JetspeedNamespaceMapperImpl.java (original)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/namespace/JetspeedNamespaceMapperImpl.java Tue Oct 21 18:34:10 2008
@@ -16,7 +16,7 @@
  */
 package org.apache.jetspeed.container.namespace;
 
-import org.apache.pluto.om.portlet.ObjectID;
+import org.apache.pluto.PortletWindowID;
 
 
 /**
@@ -33,7 +33,7 @@
     public JetspeedNamespaceMapperImpl(String prefix)
     {
         this.prefix = prefix;
-        if ( this.prefix == null )
+        if (this.prefix == null)
         {
             this.prefix = DEFAULT_PREFIX;
         }        
@@ -44,79 +44,72 @@
         this(null);
     }
     
-    public String getPrefix()
+    /*
+     * Public Pluto APIs, encode, decode on PortletWindowID, String
+     */
+    public String encode(PortletWindowID namespace, String name)
     {
-        return prefix;
+        return encode(namespace.toString(), name);        
     }
     
-    public String encode(String ns, String name)
-    {
-        return join(prefix,ns,"_",name,null,null);
-    }
-
-    public String encode(String ns1, String ns2, String name)
+    public String decode(PortletWindowID namespace, String name)
     {
-        return join(prefix,ns1,"_",ns2,"_",name);
+        return decode(namespace.toString(), name);
     }
-
-    public String decode(String ns, String name)
-    {
-        if (!name.startsWith(prefix)) return null;
-        String tmp = join(prefix,ns,"_",null,null,null);
-        if (!name.startsWith(tmp)) return null;
-        return name.substring(tmp.length());
-    }
-
-    public String encode(long id, String name)
+    
+    /*
+     * Jetspeed API, getPrefix
+     */    
+    public String getPrefix()
     {
-        return encode(new Long(id).toString(),name);
+        return prefix;
     }
-
-    /* (non-Javadoc)
-     * @see org.apache.pluto.util.NamespaceMapper#encode(org.apache.pluto.om.common.ObjectID, java.lang.String)
+    
+    /*
+     * Implementation
      */
-    public String encode(ObjectID ns, String name)
+    protected String encode(String ns, String name)
     {
-        return encode(ns.toString(),name);
+        return join(prefix, ns, "_", name, null, null);
     }
 
-    /* (non-Javadoc)
-     * @see org.apache.pluto.util.NamespaceMapper#encode(org.apache.pluto.om.common.ObjectID, org.apache.pluto.om.common.ObjectID, java.lang.String)
-     */
-    public String encode(ObjectID ns1, ObjectID ns2, String name)
+    public String encode(String ns1, String ns2, String name)
     {
-        return encode(ns1.toString(),ns2.toString(),name);
+        return join(prefix, ns1, "_", ns2, "_", name);
     }
 
-    /* (non-Javadoc)
-     * @see org.apache.pluto.util.NamespaceMapper#decode(org.apache.pluto.om.common.ObjectID, java.lang.String)
-     */
-    public String decode(ObjectID ns, String name)
+    public String decode(String ns, String name)
     {
-        return decode(ns.toString(),name);
+        if (!name.startsWith(prefix))
+            return null;
+        String tmp = join(prefix, ns, "_", null, null, null);
+        if (!name.startsWith(tmp))
+            return null;
+        return name.substring(tmp.length());
     }
     
-    private static String join(String s1, String s2, String s3, String s4, String s5, String s6)
+    protected static String join(String s1, String s2, String s3, String s4,
+            String s5, String s6)
     {
         int len = 0;
         if (s1 != null)
         {
-            len+=s1.length();
+            len += s1.length();
             if (s2 != null)
             {
-                len+=s2.length();
+                len += s2.length();
                 if (s3 != null)
                 {
-                    len+=s3.length();
+                    len += s3.length();
                     if (s4 != null)
                     {
-                        len+=s4.length();
+                        len += s4.length();
                         if (s5 != null)
                         {
-                            len+=s5.length();
+                            len += s5.length();
                             if (s6 != null)
                             {
-                                len+=s6.length();
+                                len += s6.length();
                             }
                         }
                     }
@@ -125,35 +118,35 @@
         }
         char[] buffer = new char[len];
         int index = 0;
-        if (s1 != null) 
+        if (s1 != null)
         {
             len = s1.length();
-            s1.getChars(0,len,buffer,index);
-            index+= len;
-            if (s2 != null) 
+            s1.getChars(0, len, buffer, index);
+            index += len;
+            if (s2 != null)
             {
                 len = s2.length();
-                s2.getChars(0,len,buffer,index);
-                index+= len;
-                if (s3 != null) 
+                s2.getChars(0, len, buffer, index);
+                index += len;
+                if (s3 != null)
                 {
                     len = s3.length();
-                    s3.getChars(0,len,buffer,index);
-                    index+= len;
-                    if (s4 != null) 
+                    s3.getChars(0, len, buffer, index);
+                    index += len;
+                    if (s4 != null)
                     {
                         len = s4.length();
-                        s4.getChars(0,len,buffer,index);
-                        index+= len;
-                        if (s5 != null) 
+                        s4.getChars(0, len, buffer, index);
+                        index += len;
+                        if (s5 != null)
                         {
                             len = s5.length();
-                            s5.getChars(0,len,buffer,index);
-                            index+= len;
-                            if (s6 != null) 
+                            s5.getChars(0, len, buffer, index);
+                            index += len;
+                            if (s6 != null)
                             {
                                 len = s6.length();
-                                s6.getChars(0,len,buffer,index);
+                                s6.getChars(0, len, buffer, index);
                             }
                         }
                     }

Added: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/EventProviderImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/EventProviderImpl.java?rev=706843&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/EventProviderImpl.java (added)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/EventProviderImpl.java Tue Oct 21 18:34:10 2008
@@ -0,0 +1,47 @@
+/*
+ * 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.jetspeed.container.providers;
+
+import java.io.Serializable;
+
+import javax.xml.namespace.QName;
+
+import org.apache.pluto.EventContainer;
+import org.apache.pluto.spi.EventProvider;
+
+/**
+ * TODO: 2.2 implement 
+ * 
+ * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
+ * @version $Id: $
+ */
+public class EventProviderImpl implements EventProvider, Cloneable
+{
+    public EventProviderImpl()
+    {}
+    
+    public void fireEvents(EventContainer eventContainer)
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    public void registerToFireEvent(QName name, Serializable value)
+            throws IllegalArgumentException
+    {
+        throw new UnsupportedOperationException();
+    }
+}

Added: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/FilterManagerImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/FilterManagerImpl.java?rev=706843&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/FilterManagerImpl.java (added)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/FilterManagerImpl.java Tue Oct 21 18:34:10 2008
@@ -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.jetspeed.container.providers;
+
+import java.io.IOException;
+
+import javax.portlet.EventPortlet;
+import javax.portlet.Portlet;
+import javax.portlet.PortletContext;
+import javax.portlet.PortletException;
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletResponse;
+import javax.portlet.ResourceServingPortlet;
+
+import org.apache.pluto.spi.FilterManager;
+
+/**
+ * TODO: 2.2 implement 
+ * 
+ * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
+ * @version $Id: $
+ */
+public class FilterManagerImpl implements FilterManager
+{
+    public FilterManagerImpl()
+    {}
+    
+    public void processFilter(PortletRequest req, PortletResponse res, ClassLoader loader, Portlet portlet,PortletContext portletContext)
+        throws PortletException, IOException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    public void processFilter(PortletRequest req, PortletResponse res, ClassLoader loader, ResourceServingPortlet resourceServingPortlet,PortletContext portletContext)
+            throws PortletException, IOException
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    public void processFilter(PortletRequest req, PortletResponse res, ClassLoader loader, EventPortlet eventPortlet,PortletContext portletContext)
+            throws PortletException, IOException
+    {
+        throw new UnsupportedOperationException();
+    }
+}

Added: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/PortletURLListenerImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/PortletURLListenerImpl.java?rev=706843&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/PortletURLListenerImpl.java (added)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/PortletURLListenerImpl.java Tue Oct 21 18:34:10 2008
@@ -0,0 +1,40 @@
+/*
+ * 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.jetspeed.container.providers;
+
+import javax.portlet.BaseURL;
+
+import org.apache.pluto.om.portlet.PortletApplicationDefinition;
+import org.apache.pluto.spi.PortletURLListener;
+
+/**
+ * TODO: 2.2 implement 
+ * 
+ * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
+ * @version $Id: $
+ */
+public class PortletURLListenerImpl implements PortletURLListener
+{
+    public PortletURLListenerImpl()
+    {}
+    
+    public void callListener(PortletApplicationDefinition portletApp, BaseURL baseURL, boolean isAction, boolean isResource)
+    {
+        throw new UnsupportedOperationException();        
+    }
+
+}

Copied: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/PortletURLProviderImpl.java (from r705397, portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/information/PortletURLProviderImpl.java)
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/PortletURLProviderImpl.java?p2=portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/PortletURLProviderImpl.java&p1=portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/information/PortletURLProviderImpl.java&r1=705397&r2=706843&rev=706843&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/information/PortletURLProviderImpl.java (original)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/PortletURLProviderImpl.java Tue Oct 21 18:34:10 2008
@@ -14,21 +14,22 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.jetspeed.services.information;
+package org.apache.jetspeed.container.providers;
 
 import java.util.Map;
 
 import javax.portlet.PortletMode;
 import javax.portlet.WindowState;
+import javax.servlet.http.HttpServletRequest;
 
 import org.apache.jetspeed.container.url.PortalURL;
 import org.apache.jetspeed.request.RequestContext;
-import org.apache.jetspeed.container.PortletWindow;
-import org.apache.pluto.services.information.PortletURLProvider;
+import org.apache.pluto.PortletWindow;
+import org.apache.pluto.spi.PortletURLProvider;
 
 /**
  * Provides access to the Portal URL manipulation 
- * 
+ * TODO: 2.2 implement Portlet API 2.0 features: see methods below throwing UnsupportedOperationException
  *
  * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
  * @version $Id$
@@ -85,4 +86,44 @@
     {
         return url.createPortletURL(portletWindow,parameters,mode,state,action,secure);
     }
+
+    public String[] getPrivateRenderParameters(String name)
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    public String[] getPublicRenderParameters(String name)
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    public boolean isResourceServing()
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    public boolean isSecureSupported()
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    public void savePortalURL(HttpServletRequest request)
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    public void setAction(boolean isAction)
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    public void setPublicRenderParameters(Map parameters)
+    {
+        throw new UnsupportedOperationException();
+    }
+
+    public void setResourceServing(boolean isResourceServing)
+    {
+        throw new UnsupportedOperationException();
+    }
 }

Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/PortletURLProviderImpl.java
------------------------------------------------------------------------------
    cvs2svn:cvs-rev = 1.10

Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/PortletURLProviderImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/PortletURLProviderImpl.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/PortletURLProviderImpl.java
------------------------------------------------------------------------------
    svn:mergeinfo = 

Added: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/RequestPropertyProviderImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/RequestPropertyProviderImpl.java?rev=706843&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/RequestPropertyProviderImpl.java (added)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/RequestPropertyProviderImpl.java Tue Oct 21 18:34:10 2008
@@ -0,0 +1,130 @@
+/*
+ * 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.jetspeed.container.providers;
+
+import java.util.Collections;
+import java.util.Map;
+
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import org.w3c.dom.Element;
+
+import org.apache.pluto.spi.RequestPropertyProvider;
+import org.apache.jetspeed.container.PortletWindow;
+
+/**
+ * TODO: 2.2 implement 
+ * 
+ * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
+ * @version $Id: $
+ */
+public class RequestPropertyProviderImpl implements RequestPropertyProvider
+{
+    public RequestPropertyProviderImpl(HttpServletRequest request, PortletWindow portletWindow) 
+    {}
+    
+    public Map getProperties(HttpServletRequest request,
+            PortletWindow portletWindow)
+    {
+        // TODO: currently this method returns an empty map.
+        return Collections.EMPTY_MAP;
+    }
+
+    public void setProperty(HttpServletRequest request,
+            PortletWindow portletWindow, String property, String value)
+    {
+        request.setAttribute(property + portletWindow.getId().getStringId()
+                + "__str", value);
+    }
+
+    public void addProperty(HttpServletRequest request,
+            PortletWindow portletWindow, String property, String value)
+    {
+        if (request
+                .getAttribute(property + portletWindow.getId().getStringId()) == null)
+        {
+            request.setAttribute(
+                    property + portletWindow.getId().getStringId(), value);
+        }
+        else
+        {
+            String[] tmp = (String[]) request.getAttribute(property
+                    + portletWindow.getId().getStringId() + "__str");
+            String[] values = new String[tmp.length];
+            for (int i = 0; i < tmp.length; i++)
+            {
+                values[i] = tmp[i];
+            }
+            values[tmp.length] = value;
+        }
+    }
+
+    public void addProperty(HttpServletRequest request,
+            PortletWindow portletWindow, String property, Element value)
+    {
+        if (request
+                .getAttribute(property + portletWindow.getId().getStringId()) == null)
+        {
+            request.setAttribute(
+                    property + portletWindow.getId().getStringId(), value);
+        }
+        else
+        {
+            String[] tmp = (String[]) request.getAttribute(property
+                    + portletWindow.getId().getStringId() + "__str");
+            String[] values = new String[tmp.length];
+            for (int i = 0; i < tmp.length; i++)
+            {
+                values[i] = tmp[i];
+            }
+            values[tmp.length] = value.toString();
+        }
+
+    }
+
+    public void addProperty(HttpServletRequest request,
+            PortletWindow portletWindow, Cookie cookie)
+    {
+        if (request.getAttribute(portletWindow.getId().getStringId() + "__coo") == null)
+        {
+            request.setAttribute(portletWindow.getId().getStringId() + "__coo",
+                    cookie);
+        }
+        else
+        {
+            Cookie[] tmp = (Cookie[]) request.getAttribute(portletWindow
+                    .getId().getStringId()
+                    + "__coo");
+            Cookie[] values = new Cookie[tmp.length];
+            for (int i = 0; i < tmp.length; i++)
+            {
+                values[i] = tmp[i];
+            }
+            values[tmp.length] = cookie;
+        }
+    }
+
+    public Cookie[] getPropertyCookie(HttpServletRequest request,
+            PortletWindow portletWindow)
+    {
+        return (Cookie[]) request.getAttribute(portletWindow.getId()
+                .getStringId()
+                + "__coo");
+    }
+    
+    
+}

Copied: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/ResourceURLProviderImpl.java (from r705397, portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/information/ResourceURLProviderImpl.java)
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/ResourceURLProviderImpl.java?p2=portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/ResourceURLProviderImpl.java&p1=portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/information/ResourceURLProviderImpl.java&r1=705397&r2=706843&rev=706843&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/information/ResourceURLProviderImpl.java (original)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/ResourceURLProviderImpl.java Tue Oct 21 18:34:10 2008
@@ -14,11 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.jetspeed.services.information;
+package org.apache.jetspeed.container.providers;
+
+import java.net.MalformedURLException;
+import java.net.URL;
 
 import org.apache.jetspeed.request.RequestContext;
-import org.apache.jetspeed.container.PortletWindow;
-import org.apache.pluto.services.information.ResourceURLProvider;
+import org.apache.pluto.PortletWindow;
+import org.apache.pluto.spi.ResourceURLProvider;
 
 /**
  * <p>
@@ -26,17 +29,22 @@
  * </p>
  * 
  * 
- * @
- * @author <a href="mailto:weaver@apache.org">Scott T. Weaver</a>
+ * @ * @author <a href="mailto:weaver@apache.org">Scott T. Weaver</a>
+ * 
  * @version $ $
- *
+ * 
  */
 public class ResourceURLProviderImpl implements ResourceURLProvider
 {
+
     private String stringUrl = "";
 
-    public ResourceURLProviderImpl(RequestContext context, PortletWindow portletWindow)
+    private String base = "";
+
+    public ResourceURLProviderImpl(RequestContext context,
+            PortletWindow portletWindow)
     {
+        this.base = context.getPortalURL().getBaseURL();
     }
 
     public void setAbsoluteURL(String path)
@@ -46,12 +54,26 @@
 
     public void setFullPath(String path)
     {
-        stringUrl = path;
+        stringUrl = base + path;
     }
 
     public String toString()
     {
-        return stringUrl;
+        URL url = null;
+
+        if (!"".equals(stringUrl))
+        {
+            try
+            {
+                url = new URL(stringUrl);
+            }
+            catch (MalformedURLException e)
+            {
+                throw new java.lang.IllegalArgumentException(
+                        "A malformed URL has occured");
+            }
+        }
+        return ((url == null) ? "" : url.toString());
     }
 
 }

Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/ResourceURLProviderImpl.java
------------------------------------------------------------------------------
    cvs2svn:cvs-rev = 1.4

Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/ResourceURLProviderImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/ResourceURLProviderImpl.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/providers/ResourceURLProviderImpl.java
------------------------------------------------------------------------------
    svn:mergeinfo = 



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org