You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-scm@portals.apache.org by dd...@apache.org on 2006/09/05 02:08:39 UTC

svn commit: r440207 - in /portals/pluto/trunk: ./ pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/config/impl/ pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/ pluto-portal-driver/src/main/java/org/apach...

Author: ddewolf
Date: Mon Sep  4 17:08:38 2006
New Revision: 440207

URL: http://svn.apache.org/viewvc?view=rev&rev=440207
Log:
Refactoring URL handling; Extracting interfaces; Enabling Parser as service

Added:
    portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/PortalRequestContext.java
      - copied, changed from r439902, portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/PortalEnvironment.java
    portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURL.java
    portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURLParser.java
    portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/impl/
    portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/impl/PortalURLImpl.java
      - copied, changed from r439902, portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURL.java
    portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/impl/PortalURLParserImpl.java
      - copied, changed from r439902, portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURLParser.java
Removed:
    portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/PortalEnvironment.java
    portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURLFactory.java
Modified:
    portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/config/impl/DriverConfigurationImpl.java
    portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/PortletURLProviderImpl.java
    portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/AttributeKeys.java
    portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/PortalDriverServlet.java
    portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/config/DriverConfiguration.java
    portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/PortalServletRequest.java
    portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/PortletWindowImpl.java
    portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/ResourceURLProviderImpl.java
    portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/tags/PortletPortalURLTag.java
    portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/tags/PortletTag.java
    portals/pluto/trunk/pluto-portal/pom.xml
    portals/pluto/trunk/pluto-portal/src/main/webapp/WEB-INF/pluto-portal-driver-services-config.xml
    portals/pluto/trunk/pluto-taglib/pom.xml
    portals/pluto/trunk/pom.xml

Modified: portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/config/impl/DriverConfigurationImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/config/impl/DriverConfigurationImpl.java?view=diff&rev=440207&r1=440206&r2=440207
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/config/impl/DriverConfigurationImpl.java (original)
+++ portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/config/impl/DriverConfigurationImpl.java Mon Sep  4 17:08:38 2006
@@ -22,6 +22,7 @@
 import org.apache.pluto.driver.services.portal.PropertyConfigService;
 import org.apache.pluto.driver.services.portal.RenderConfigService;
 import org.apache.pluto.driver.config.DriverConfiguration;
+import org.apache.pluto.driver.url.PortalURLParser;
 import org.apache.pluto.spi.PortalCallbackService;
 import org.apache.pluto.spi.optional.PortletPreferencesService;
 
@@ -38,6 +39,7 @@
 public class DriverConfigurationImpl
     implements DriverConfiguration {
 
+    private PortalURLParser portalUrlParser;
     private PropertyConfigService propertyService;
     private PortletRegistryService registryService;
     private RenderConfigService renderService;
@@ -46,10 +48,12 @@
     private PortalCallbackService portalCallbackService;
     private PortletPreferencesService portletPreferencesService;
 
-    public DriverConfigurationImpl(PropertyConfigService propertyService,
+    public DriverConfigurationImpl(PortalURLParser portalUrlParser,
+                                   PropertyConfigService propertyService,
                                    PortletRegistryService registryService,
                                    RenderConfigService renderService,
                                    PortalCallbackService portalCallback) {
+        this.portalUrlParser = portalUrlParser;
         this.propertyService = propertyService;
         this.registryService = registryService;
         this.renderService = renderService;
@@ -151,6 +155,17 @@
             renderService.destroy();
     }
 
+//
+// Portal Driver Services
+//
+
+    public PortalURLParser getPortalUrlParser() {
+        return portalUrlParser;
+    }
+
+    public void setPortalUrlParser(PortalURLParser portalUrlParser) {
+        this.portalUrlParser = portalUrlParser;
+    }
 
 //
 // Container Services

Modified: portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/PortletURLProviderImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/PortletURLProviderImpl.java?view=diff&rev=440207&r1=440206&r2=440207
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/PortletURLProviderImpl.java (original)
+++ portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/PortletURLProviderImpl.java Mon Sep  4 17:08:38 2006
@@ -23,9 +23,9 @@
 import javax.servlet.http.HttpServletRequest;
 
 import org.apache.pluto.PortletWindow;
-import org.apache.pluto.driver.url.PortalURL;
-import org.apache.pluto.driver.url.PortalURLFactory;
 import org.apache.pluto.driver.url.PortalURLParameter;
+import org.apache.pluto.driver.url.PortalURL;
+import org.apache.pluto.driver.core.PortalRequestContext;
 import org.apache.pluto.spi.PortletURLProvider;
 
 /**
@@ -40,7 +40,10 @@
 
     public PortletURLProviderImpl(HttpServletRequest request,
                                   PortletWindow internalPortletWindow) {
-        url = PortalURLFactory.getFactory().createPortalURL(request);
+        PortalRequestContext ctx = (PortalRequestContext)
+            request.getAttribute(PortalRequestContext.REQUEST_KEY);
+        url = ctx.createPortalURL();
+
         this.window = internalPortletWindow.getId().getStringId();
     }
 

Modified: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/AttributeKeys.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/AttributeKeys.java?view=diff&rev=440207&r1=440206&r2=440207
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/AttributeKeys.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/AttributeKeys.java Mon Sep  4 17:08:38 2006
@@ -50,8 +50,9 @@
     /** Attribute key used to bind the portlet title to servlet request. */ 
     public static final String PORTLET_TITLE =
     		"org.apache.pluto.driver.DynamicPortletTitle";
-    
-    
+
+    public static final String PORTAL_URL_PARSER = "PORTAL_URL_PARSER";
+
     // Constructor -------------------------------------------------------------
     
     /**

Modified: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/PortalDriverServlet.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/PortalDriverServlet.java?view=diff&rev=440207&r1=440206&r2=440207
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/PortalDriverServlet.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/PortalDriverServlet.java Mon Sep  4 17:08:38 2006
@@ -20,7 +20,7 @@
 import org.apache.pluto.PortletContainer;
 import org.apache.pluto.PortletContainerException;
 import org.apache.pluto.driver.config.DriverConfiguration;
-import org.apache.pluto.driver.core.PortalEnvironment;
+import org.apache.pluto.driver.core.PortalRequestContext;
 import org.apache.pluto.driver.core.PortletWindowImpl;
 import org.apache.pluto.driver.services.portal.PageConfig;
 import org.apache.pluto.driver.services.portal.PortletWindowConfig;
@@ -84,9 +84,13 @@
     public void doGet(HttpServletRequest request, HttpServletResponse response)
     throws ServletException, IOException {
     	
-        PortalEnvironment portalEnvironment = new PortalEnvironment(
-        		request, response);
-        PortalURL portalURL = portalEnvironment.getRequestedPortalURL();
+        PortalRequestContext portalRequestContext =
+            new PortalRequestContext(getServletContext(), request, response);
+
+
+
+
+        PortalURL portalURL = portalRequestContext.getRequestedPortalURL();
         String actionWindowId = portalURL.getActionWindow();
         PortletWindowConfig actionWindowConfig = getDriverConfiguration()
         		.getPortletWindowConfig(actionWindowId);

Modified: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/config/DriverConfiguration.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/config/DriverConfiguration.java?view=diff&rev=440207&r1=440206&r2=440207
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/config/DriverConfiguration.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/config/DriverConfiguration.java Mon Sep  4 17:08:38 2006
@@ -18,6 +18,7 @@
 import org.apache.pluto.driver.services.portal.PortletApplicationConfig;
 import org.apache.pluto.driver.services.portal.PortletWindowConfig;
 import org.apache.pluto.driver.services.portal.PageConfig;
+import org.apache.pluto.driver.url.PortalURLParser;
 import org.apache.pluto.spi.PortalCallbackService;
 import org.apache.pluto.spi.optional.PortletPreferencesService;
 
@@ -104,4 +105,5 @@
 
     PortletPreferencesService getPortletPreferencesService();
 
+    PortalURLParser getPortalUrlParser();
 }

Copied: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/PortalRequestContext.java (from r439902, portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/PortalEnvironment.java)
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/PortalRequestContext.java?view=diff&rev=440207&p1=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/PortalEnvironment.java&r1=439902&p2=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/PortalRequestContext.java&r2=440207
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/PortalEnvironment.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/PortalRequestContext.java Mon Sep  4 17:08:38 2006
@@ -17,9 +17,12 @@
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import javax.servlet.ServletContext;
 
 import org.apache.pluto.driver.url.PortalURL;
-import org.apache.pluto.driver.url.PortalURLFactory;
+import org.apache.pluto.driver.url.PortalURLParser;
+import org.apache.pluto.driver.AttributeKeys;
+import org.apache.pluto.driver.config.DriverConfiguration;
 
 /**
  * The portal environment of the incoming servlet request and response.
@@ -27,41 +30,44 @@
  * @author <a href="mailto:ddewolf@apache.org">David H. DeWolf</a>
  * @author <a href="mailto:zheng@apache.org">ZHENG Zhong</a>
  */
-public class PortalEnvironment {
-	
-	/**
-	 * The attribute key to bind the portal environment instance to servlet
-	 * request.
-	 */
-    public final static String REQUEST_PORTALENV =
-    		PortalEnvironment.class.getName();
-    
+public class PortalRequestContext {
+
+    /**
+     * The attribute key to bind the portal environment instance to servlet
+     * request.
+     */
+    public final static String REQUEST_KEY =
+            PortalRequestContext.class.getName();
+
+    /** The servletContext of execution. **/
+    private ServletContext servletContext = null;
+
     /** The incoming servlet request. */
     private HttpServletRequest request = null;
-    
+
     /** The incoming servlet response. */
     private HttpServletResponse response = null;
-    
+
     /** The requested portal URL. */
     private PortalURL requestedPortalURL = null;
-    
-    
+
+
     // Constructor -------------------------------------------------------------
-    
+
     /**
-     * Creates a PortalEnvironment instance.
+     * Creates a PortalRequestContext instance.
      * @param request  the incoming servlet request.
      * @param response  the incoming servlet response.
      */
-    public PortalEnvironment(HttpServletRequest request,
-                             HttpServletResponse response) {
+    public PortalRequestContext(ServletContext servletContext,
+                                HttpServletRequest request,
+                                HttpServletResponse response) {
+        this.servletContext = servletContext;
         this.request = request;
         this.response = response;
-        // Parse servlet request and construct portal URL.
-        this.requestedPortalURL = PortalURLFactory.getFactory()
-        		.createPortalURL(request);
+
         // Bind the instance to servlet request for later use.
-        request.setAttribute(REQUEST_PORTALENV, this);
+        request.setAttribute(REQUEST_KEY, this);
     }
 
     /**
@@ -70,11 +76,11 @@
      * @param request  the servlet request.
      * @return the portal environment.
      */
-    public static PortalEnvironment getPortalEnvironment(
-    		HttpServletRequest request) {
-        return (PortalEnvironment) request.getAttribute(REQUEST_PORTALENV);
+    public static PortalRequestContext getPortalEnvironment(
+            HttpServletRequest request) {
+        return (PortalRequestContext) request.getAttribute(REQUEST_KEY);
     }
-    
+
     /**
      * Returns the servlet request.
      * @return the servlet request.
@@ -82,7 +88,7 @@
     public HttpServletRequest getRequest() {
         return request;
     }
-    
+
     /**
      * Returns the servlet response.
      * @return the servlet response.
@@ -90,12 +96,22 @@
     public HttpServletResponse getResponse() {
         return response;
     }
-    
+
     /**
      * Returns the requested portal URL.
      * @return the requested portal URL.
      */
     public PortalURL getRequestedPortalURL() {
+        if(requestedPortalURL == null) {
+            DriverConfiguration config = (DriverConfiguration)
+                servletContext.getAttribute(AttributeKeys.DRIVER_CONFIG);
+            PortalURLParser parser = config.getPortalUrlParser();
+            requestedPortalURL = parser.parse(request);
+        }
         return requestedPortalURL;
+    }
+
+    public PortalURL createPortalURL() {
+        return (PortalURL)getRequestedPortalURL().clone();
     }
 }

Modified: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/PortalServletRequest.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/PortalServletRequest.java?view=diff&rev=440207&r1=440206&r2=440207
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/PortalServletRequest.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/PortalServletRequest.java Mon Sep  4 17:08:38 2006
@@ -25,8 +25,8 @@
 import javax.servlet.http.HttpServletRequestWrapper;
 
 import org.apache.pluto.PortletWindow;
-import org.apache.pluto.driver.url.PortalURL;
 import org.apache.pluto.driver.url.PortalURLParameter;
+import org.apache.pluto.driver.url.PortalURL;
 
 public class PortalServletRequest extends HttpServletRequestWrapper {
 
@@ -41,12 +41,12 @@
         this.portletWindow = window;
 
         url =
-        PortalEnvironment.getPortalEnvironment(request).getRequestedPortalURL();
+        PortalRequestContext.getPortalEnvironment(request).getRequestedPortalURL();
     }
 
 
 // HttpServletRequestWrapper overlay
-          
+
     public java.lang.String getContentType() {
         String contentType = super.getContentType();
         return contentType;

Modified: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/PortletWindowImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/PortletWindowImpl.java?view=diff&rev=440207&r1=440206&r2=440207
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/PortletWindowImpl.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/PortletWindowImpl.java Mon Sep  4 17:08:38 2006
@@ -29,16 +29,16 @@
  * @author <a href="mailto:ddewolf@apache.org">David H. DeWolf</a>
  */
 public class PortletWindowImpl implements PortletWindow {
-	
-	// Private Member Variables ------------------------------------------------
-	
+
+    // Private Member Variables ------------------------------------------------
+
     private PortletWindowConfig config = null;
     private PortalURL portalURL = null;
     private PortletWindowIDImpl objectIdImpl = null;
-    
-    
+
+
     // Constructor -------------------------------------------------------------
-    
+
     /**
      * Constructs an instance.
      * @param config  the portlet window configuration.
@@ -48,10 +48,10 @@
         this.config = config;
         this.portalURL = portalURL;
     }
-    
-    
+
+
     // PortletWindow Impl ------------------------------------------------------
-    
+
     public String getContextPath() {
         return config.getContextPath();
     }

Modified: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/ResourceURLProviderImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/ResourceURLProviderImpl.java?view=diff&rev=440207&r1=440206&r2=440207
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/ResourceURLProviderImpl.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/core/ResourceURLProviderImpl.java Mon Sep  4 17:08:38 2006
@@ -23,7 +23,6 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.pluto.PortletWindow;
-import org.apache.pluto.driver.url.PortalURLFactory;
 import org.apache.pluto.spi.ResourceURLProvider;
 
 public class ResourceURLProviderImpl implements ResourceURLProvider {
@@ -36,8 +35,10 @@
 
     public ResourceURLProviderImpl(HttpServletRequest req,
                                    PortletWindow internalPortletWindow) {
-        this.base =
-        PortalURLFactory.getFactory().createPortalURL(req).getServerURI();
+        PortalRequestContext ctx = (PortalRequestContext)
+            req.getAttribute(PortalRequestContext.REQUEST_KEY);
+
+        this.base = ctx.createPortalURL().getServerURI();
         if (LOG.isDebugEnabled()) {
             LOG.debug("Resource URL Created with base: " + base);
         }

Modified: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/tags/PortletPortalURLTag.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/tags/PortletPortalURLTag.java?view=diff&rev=440207&r1=440206&r2=440207
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/tags/PortletPortalURLTag.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/tags/PortletPortalURLTag.java Mon Sep  4 17:08:38 2006
@@ -25,7 +25,7 @@
 import javax.servlet.jsp.tagext.TagSupport;
 
 import org.apache.pluto.driver.url.PortalURL;
-import org.apache.pluto.driver.url.PortalURLFactory;
+import org.apache.pluto.driver.core.PortalRequestContext;
 
 /**
  * The portlet URL tag is used to generate portal URL pointing to the current
@@ -37,18 +37,18 @@
  * @since Oct 4, 2004
  */
 public class PortletPortalURLTag extends BodyTagSupport {
-	
-	// Private Member Variables ------------------------------------------------
-	
-	/** The window state to be encoded in the portal URL. */
+
+    // Private Member Variables ------------------------------------------------
+
+    /** The window state to be encoded in the portal URL. */
     private String windowState = null;
-    
+
     /** The portlet mode to be encoded in the portal URL. */
     private String portletMode = null;
-    
-    
+
+
     // Tag Attribute Accessors -------------------------------------------------
-    
+
     public String getWindowState() {
         return windowState;
     }
@@ -64,49 +64,52 @@
     public void setPortletMode(String portletMode) {
         this.portletMode = portletMode;
     }
-    
-    
+
+
     // BodyTagSupport Impl -----------------------------------------------------
-    
+
     /**
      * Creates the portal URL pointing to the current portlet with specified
      * portlet mode and window state, and print the URL to the page.
      * @see PortletTag
      */
     public int doStartTag() throws JspException {
-    	
-    	// Ensure that the portlet render tag resides within a portlet tag.
+
+        // Ensure that the portlet render tag resides within a portlet tag.
         PortletTag parentTag = (PortletTag) TagSupport.findAncestorWithClass(
-        		this, PortletTag.class);
+                this, PortletTag.class);
         if (parentTag == null) {
             throw new JspException("Portlet window controls may only reside "
-            		+ "within a pluto:portlet tag.");
+                    + "within a pluto:portlet tag.");
         }
-        
+
         // Create portal URL.
         HttpServletRequest request = (HttpServletRequest)
-        		pageContext.getRequest();
-        PortalURL portalUrl = PortalURLFactory.getFactory()
-        		.createPortalURL(request);
-        
+                pageContext.getRequest();
+
+        PortalRequestContext ctx = (PortalRequestContext)
+            request.getAttribute(PortalRequestContext.REQUEST_KEY);
+
+        PortalURL portalUrl =  ctx.createPortalURL();
+
         // Encode window state of the current portlet in the portal URL.
         String portletId = parentTag.getEvaluatedPortletId();
         if (windowState != null) {
             portalUrl.setWindowState(portletId, new WindowState(windowState));
         }
-        
+
         // Encode portlet mode of the current portlet in the portal URL.
         if (portletMode != null) {
             portalUrl.setPortletMode(portletId, new PortletMode(portletMode));
         }
-        
+
         // Print the portal URL as a string to the page.
         try {
             pageContext.getOut().print(portalUrl.toString());
         } catch (IOException ex) {
             throw new JspException(ex);
         }
-        
+
         // Skip the tag body.
         return SKIP_BODY;
     }

Modified: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/tags/PortletTag.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/tags/PortletTag.java?view=diff&rev=440207&r1=440206&r2=440207
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/tags/PortletTag.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/tags/PortletTag.java Mon Sep  4 17:08:38 2006
@@ -33,7 +33,7 @@
 import org.apache.pluto.driver.services.portal.PortletWindowConfig;
 import org.apache.pluto.driver.url.PortalURL;
 import org.apache.pluto.driver.config.DriverConfiguration;
-import org.apache.pluto.driver.core.PortalEnvironment;
+import org.apache.pluto.driver.core.PortalRequestContext;
 import org.apache.pluto.driver.core.PortalServletRequest;
 import org.apache.pluto.driver.core.PortalServletResponse;
 import org.apache.pluto.driver.core.PortletWindowImpl;
@@ -119,7 +119,7 @@
         }
         
         // Retrieve the current portal URL.
-        PortalEnvironment portalEnv = PortalEnvironment.getPortalEnvironment(
+        PortalRequestContext portalEnv = PortalRequestContext.getPortalEnvironment(
         		(HttpServletRequest) pageContext.getRequest());
         PortalURL portalURL = portalEnv.getRequestedPortalURL();
         

Added: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURL.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURL.java?view=auto&rev=440207
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURL.java (added)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURL.java Mon Sep  4 17:08:38 2006
@@ -0,0 +1,49 @@
+package org.apache.pluto.driver.url;
+
+import javax.portlet.PortletMode;
+import javax.portlet.WindowState;
+import java.util.Collection;
+import java.util.Map;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: ddewolf
+ * Date: Sep 4, 2006
+ * Time: 5:17:34 PM
+ * To change this template use File | Settings | File Templates.
+ */
+public interface PortalURL extends Cloneable {
+    void setRenderPath(String renderPath);
+
+    String getRenderPath();
+
+    void addParameter(PortalURLParameter param);
+
+    Collection getParameters();
+
+    void setActionWindow(String actionWindow);
+
+    String getActionWindow();
+
+    Map getPortletModes();
+
+    PortletMode getPortletMode(String windowId);
+
+    void setPortletMode(String windowId, PortletMode portletMode);
+
+    Map getWindowStates();
+
+    WindowState getWindowState(String windowId);
+
+    void setWindowState(String windowId, WindowState windowState);
+
+    void clearParameters(String windowId);
+
+    String toString();
+
+    String getServerURI();
+
+    String getServletPath();
+
+    Object clone();
+}

Added: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURLParser.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURLParser.java?view=auto&rev=440207
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURLParser.java (added)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURLParser.java Mon Sep  4 17:08:38 2006
@@ -0,0 +1,16 @@
+package org.apache.pluto.driver.url;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: ddewolf
+ * Date: Sep 4, 2006
+ * Time: 5:49:37 PM
+ * To change this template use File | Settings | File Templates.
+ */
+public interface PortalURLParser {
+    PortalURL parse(HttpServletRequest request);
+
+    String toString(PortalURL portalURL);
+}

Copied: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/impl/PortalURLImpl.java (from r439902, portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURL.java)
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/impl/PortalURLImpl.java?view=diff&rev=440207&p1=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURL.java&r1=439902&p2=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/impl/PortalURLImpl.java&r2=440207
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURL.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/impl/PortalURLImpl.java Mon Sep  4 17:08:38 2006
@@ -13,7 +13,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.pluto.driver.url;
+package org.apache.pluto.driver.url.impl;
+
+import org.apache.pluto.driver.url.PortalURL;
+import org.apache.pluto.driver.url.PortalURLParameter;
 
 import javax.portlet.PortletMode;
 import javax.portlet.WindowState;
@@ -30,7 +33,7 @@
  * @author <a href="mailto:ddewolf@apache.org">David H. DeWolf</a>
  * @since 1.0
  */
-public class PortalURL implements Cloneable {
+public class PortalURLImpl implements PortalURL {
 	
 	/** Server URI contains protocol, host name, and (optional) port. */
     private String serverURI = null;
@@ -51,32 +54,32 @@
     // Constructors ------------------------------------------------------------
     
     /**
-     * Constructs a PortalURL instance using default port.
+     * Constructs a PortalURLImpl instance using default port.
      * @param protocol  the protocol.
      * @param hostName  the host name.
      * @param contextPath  the servlet context path.
      * @param servletName  the servlet name.
      */
-    public PortalURL(String protocol,
-                     String hostName,
-                     String contextPath,
-                     String servletName) {
+    public PortalURLImpl(String protocol,
+                         String hostName,
+                         String contextPath,
+                         String servletName) {
     	this(protocol, hostName, -1, contextPath, servletName);
     }
     
     /**
-     * Constructs a PortalURL instance using customized port.
+     * Constructs a PortalURLImpl instance using customized port.
      * @param protocol  the protocol.
      * @param hostName  the host name.
      * @param port  the port number: 0 or negative means using default port.
      * @param contextPath  the servlet context path.
      * @param servletName  the servlet name.
      */
-    public PortalURL(String protocol,
-                     String hostName,
-                     int port,
-                     String contextPath,
-                     String servletName) {
+    public PortalURLImpl(String protocol,
+                         String hostName,
+                         int port,
+                         String contextPath,
+                         String servletName) {
     	StringBuffer buffer = new StringBuffer();
     	buffer.append(protocol);
     	buffer.append(hostName);
@@ -95,7 +98,7 @@
      * Internal private constructor used by method <code>clone()</code>.
      * @see #clone()
      */
-    private PortalURL() {
+    private PortalURLImpl() {
     	// Do nothing.
     }
     
@@ -184,10 +187,10 @@
     /**
      * Converts to a string representing the portal URL.
      * @return a string representing the portal URL.
-     * @see org.apache.pluto.driver.url.PortalURLParser#toString(PortalURL)
+     * @see org.apache.pluto.driver.url.impl.PortalURLParserImpl#toString(PortalURL)
      */
     public String toString() {
-        return PortalURLParser.getParser().toString(this);
+        return PortalURLParserImpl.getParser().toString(this);
     }
 
 
@@ -212,7 +215,7 @@
      * @return a copy of itself.
      */
     public Object clone() {
-    	PortalURL portalURL = new PortalURL();
+    	PortalURLImpl portalURL = new PortalURLImpl();
     	portalURL.serverURI = this.serverURI;
     	portalURL.servletPath = this.servletPath;
     	portalURL.parameters = new HashMap(parameters);

Copied: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/impl/PortalURLParserImpl.java (from r439902, portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURLParser.java)
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/impl/PortalURLParserImpl.java?view=diff&rev=440207&p1=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURLParser.java&r1=439902&p2=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/impl/PortalURLParserImpl.java&r2=440207
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURLParser.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/impl/PortalURLParserImpl.java Mon Sep  4 17:08:38 2006
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.pluto.driver.url;
+package org.apache.pluto.driver.url.impl;
 
 import java.util.Iterator;
 import java.util.Map;
@@ -26,6 +26,10 @@
 import javax.servlet.http.HttpServletRequest;
 
 import org.apache.pluto.util.StringUtils;
+import org.apache.pluto.driver.url.impl.PortalURLImpl;
+import org.apache.pluto.driver.url.PortalURLParser;
+import org.apache.pluto.driver.url.PortalURL;
+import org.apache.pluto.driver.url.PortalURLParameter;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
@@ -35,13 +39,13 @@
  * @version 1.0
  * @since Sep 30, 2004
  */
-class PortalURLParser {
+public class PortalURLParserImpl implements PortalURLParser {
 	
 	/** Logger. */
-    private static final Log LOG = LogFactory.getLog(PortalURLParser.class);
+    private static final Log LOG = LogFactory.getLog(PortalURLParserImpl.class);
     
     /** The singleton parser instance. */
-    private static final PortalURLParser PARSER = new PortalURLParser();
+    private static final PortalURLParser PARSER = new PortalURLParserImpl();
     
     
     // Constants used for Encoding/Decoding ------------------------------------
@@ -72,10 +76,10 @@
     /**
      * Private constructor that prevents external instantiation.
      */
-    private PortalURLParser() {
+    private PortalURLParserImpl() {
     	// Do nothing.
     }
-    
+
     /**
      * Returns the singleton parser instance.
      * @return the singleton parser instance.
@@ -108,9 +112,9 @@
         PortalURL portalURL = null;
         if ((request.isSecure() && port != 443)
         		|| (!request.isSecure() && port != 80)) {
-        	portalURL = new PortalURL(protocol, server, port, contextPath, servletName);
+        	portalURL = new PortalURLImpl(protocol, server, port, contextPath, servletName);
         } else {
-        	portalURL = new PortalURL(protocol, server, contextPath, servletName);
+        	portalURL = new PortalURLImpl(protocol, server, contextPath, servletName);
         }
         
         String pathInfo = request.getPathInfo();

Modified: portals/pluto/trunk/pluto-portal/pom.xml
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal/pom.xml?view=diff&rev=440207&r1=440206&r2=440207
==============================================================================
--- portals/pluto/trunk/pluto-portal/pom.xml (original)
+++ portals/pluto/trunk/pluto-portal/pom.xml Mon Sep  4 17:08:38 2006
@@ -17,107 +17,114 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  
-  <parent>
-    <groupId>org.apache.pluto</groupId>
-    <artifactId>pluto</artifactId>
-    <version>1.1.0-SNAPSHOT</version>
-  </parent>
-  
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>pluto-portal</artifactId>
-  <packaging>war</packaging>
-  <name>Pluto Portal</name>
-  
-  <dependencies>
-    
-    <dependency>
-      <groupId>org.apache.pluto</groupId>
-      <artifactId>pluto-portal-driver</artifactId>
-      <version>${pom.version}</version>
-      <scope>compile</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>javax.servlet</groupId>
-          <artifactId>jsp-api</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>xml-apis</groupId>
-          <artifactId>xml-apis</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>junit</groupId>
-          <artifactId>junit</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-
-     <dependency>
-      <groupId>org.apache.pluto</groupId>
-      <artifactId>pluto-portal-driver-impl</artifactId>
-      <version>${pom.version}</version>
-      <scope>compile</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>javax.servlet</groupId>
-          <artifactId>jsp-api</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>xml-apis</groupId>
-          <artifactId>xml-apis</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>junit</groupId>
-          <artifactId>junit</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-
-    <!-- Log4j as the underlying logging impl for commons-logging -->
-    <dependency>
-      <groupId>log4j</groupId>
-      <artifactId>log4j</artifactId>
-      <version>${log4j.version}</version>
-      <scope>runtime</scope>
-    </dependency>
-    
-  </dependencies>
-  
-  
-  <build>
-    <finalName>pluto-portal</finalName>
-    
-    <plugins>
-      <plugin>
-        <artifactId>maven-antrun-plugin</artifactId>
-        <configuration>
-          <tasks>
-            <get src="http://archive.apache.org/dist/tomcat/tomcat-5/archive/v5.5.9/bin/jakarta-tomcat-5.5.9.tar.gz" 
-                 dest="target/tomcat.tar.gz"/>
-            <gunzip src="target/tomcat.tar.gz"/>
-            <untar src="target/tomcat.tar"/>
-          </tasks>
-        </configuration>
-      </plugin>
-      
-      <plugin>
-        <artifactId>maven-assembly-plugin</artifactId>
-        <configuration>
-          <descriptor>src/assemble/bin.xml</descriptor>
-          <finalName>pluto-portal-${pom.version}</finalName>
-        </configuration>
-      </plugin>
-      
-      <plugin>
-        <artifactId>maven-site-plugin</artifactId>
-        <configuration>
-          <resourcesDirectory>${basedir}/../pluto-site/src/site/resources</resourcesDirectory>
-        </configuration>
-      </plugin>
-    </plugins>
-    
-  </build>
-  
+
+    <parent>
+        <groupId>org.apache.pluto</groupId>
+        <artifactId>pluto</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>pluto-portal</artifactId>
+    <packaging>war</packaging>
+    <name>Pluto Portal</name>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>org.apache.pluto</groupId>
+            <artifactId>pluto-portal-driver</artifactId>
+            <version>${pom.version}</version>
+            <scope>compile</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>javax.servlet</groupId>
+                    <artifactId>jsp-api</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>xml-apis</groupId>
+                    <artifactId>xml-apis</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>junit</groupId>
+                    <artifactId>junit</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.pluto</groupId>
+            <artifactId>pluto-portal-driver-impl</artifactId>
+            <version>${pom.version}</version>
+            <scope>compile</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>javax.servlet</groupId>
+                    <artifactId>jsp-api</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>xml-apis</groupId>
+                    <artifactId>xml-apis</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>junit</groupId>
+                    <artifactId>junit</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <!-- Log4j as the underlying logging impl for commons-logging -->
+        <dependency>
+            <groupId>log4j</groupId>
+            <artifactId>log4j</artifactId>
+            <version>${log4j.version}</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <artifactId>junit</artifactId>
+            <groupId>junit</groupId>
+            <version>${junit.version}</version>
+            <scope>test</scope>
+        </dependency>
+
+    </dependencies>
+
+
+    <build>
+        <finalName>pluto-portal</finalName>
+
+        <plugins>
+            <plugin>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <configuration>
+                    <tasks>
+                        <get src="http://archive.apache.org/dist/tomcat/tomcat-5/archive/v5.5.9/bin/jakarta-tomcat-5.5.9.tar.gz"
+                             dest="target/tomcat.tar.gz"/>
+                        <gunzip src="target/tomcat.tar.gz"/>
+                        <untar src="target/tomcat.tar"/>
+                    </tasks>
+                </configuration>
+            </plugin>
+
+            <plugin>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <configuration>
+                    <descriptor>src/assemble/bin.xml</descriptor>
+                    <finalName>pluto-portal-${pom.version}</finalName>
+                </configuration>
+            </plugin>
+
+            <plugin>
+                <artifactId>maven-site-plugin</artifactId>
+                <configuration>
+                    <resourcesDirectory>${basedir}/../pluto-site/src/site/resources</resourcesDirectory>
+                </configuration>
+            </plugin>
+        </plugins>
+
+    </build>
+
 </project>
 
 

Modified: portals/pluto/trunk/pluto-portal/src/main/webapp/WEB-INF/pluto-portal-driver-services-config.xml
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal/src/main/webapp/WEB-INF/pluto-portal-driver-services-config.xml?view=diff&rev=440207&r1=440206&r2=440207
==============================================================================
--- portals/pluto/trunk/pluto-portal/src/main/webapp/WEB-INF/pluto-portal-driver-services-config.xml (original)
+++ portals/pluto/trunk/pluto-portal/src/main/webapp/WEB-INF/pluto-portal-driver-services-config.xml Mon Sep  4 17:08:38 2006
@@ -62,7 +62,9 @@
     <!-- ================================================ -->
     <bean id="DriverConfiguration"
           class="org.apache.pluto.driver.config.impl.DriverConfigurationImpl">
+
       <!-- ===== Portal Services ===== -->
+      <constructor-arg><ref bean="PortalURLParser"/></constructor-arg>
       <constructor-arg><ref bean="PropertyConfigService"/></constructor-arg>
       <constructor-arg><ref bean="PortletRegistryConfig"/></constructor-arg>
       <constructor-arg><ref bean="RenderConfigService"/></constructor-arg>
@@ -89,6 +91,12 @@
     <!-- ================================================ -->
     <!-- Portal Services injected into the Configuration  -->
     <!-- ================================================ -->
+    <bean id="PortalURLParser"
+          class="org.apache.pluto.driver.url.impl.PortalURLParserImpl"
+          factory-method="getParser"
+          singleton="true">
+    </bean>
+
     <bean id="PropertyConfigService"
           class="org.apache.pluto.driver.services.impl.resource.PropertyConfigServiceImpl"
           singleton="true">

Modified: portals/pluto/trunk/pluto-taglib/pom.xml
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-taglib/pom.xml?view=diff&rev=440207&r1=440206&r2=440207
==============================================================================
--- portals/pluto/trunk/pluto-taglib/pom.xml (original)
+++ portals/pluto/trunk/pluto-taglib/pom.xml Mon Sep  4 17:08:38 2006
@@ -17,55 +17,62 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  
-  <parent>
-    <groupId>org.apache.pluto</groupId>
-    <artifactId>pluto</artifactId>
-    <version>1.1.0-SNAPSHOT</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>pluto-taglib</artifactId>
-  <packaging>jar</packaging>
-  <name>Pluto Portlet Tag Library</name>
-  <description>Pluto's Java Portlet Specification Tag Library implementation</description>
-  
-  <dependencies>
-    <dependency>
-      <groupId>javax.portlet</groupId>
-      <artifactId>portlet-api</artifactId>
-      <version>${portlet-api.version}</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>javax.servlet</groupId>
-      <artifactId>servlet-api</artifactId>
-      <version>${servlet-api.version}</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>javax.servlet</groupId>
-      <artifactId>jsp-api</artifactId>
-      <version>${jsp-api.version}</version>
-      <scope>provided</scope>
-    </dependency>
-  </dependencies>
-  
-  <build>
-    <plugins>
-      <!-- Assembly Plugin - Create Distributions -->
-      <plugin>
-        <artifactId>maven-assembly-plugin</artifactId>
-        <configuration>
-          <descriptor>src/assemble/bin.xml</descriptor>
-          <finalName>pluto-taglib-${pom.currentVersion}</finalName>
-        </configuration>
-      </plugin>
-      <plugin>
-        <artifactId>maven-site-plugin</artifactId>
-        <configuration>
-          <resourcesDirectory>${basedir}/../pluto-site/src/site/resources</resourcesDirectory>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
+
+    <parent>
+        <groupId>org.apache.pluto</groupId>
+        <artifactId>pluto</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>pluto-taglib</artifactId>
+    <packaging>jar</packaging>
+    <name>Pluto Portlet Tag Library</name>
+    <description>Pluto's Java Portlet Specification Tag Library implementation</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>javax.portlet</groupId>
+            <artifactId>portlet-api</artifactId>
+            <version>${portlet-api.version}</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>servlet-api</artifactId>
+            <version>${servlet-api.version}</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>jsp-api</artifactId>
+            <version>${jsp-api.version}</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>${junit.version}</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+
+    <build>
+        <plugins>
+            <!-- Assembly Plugin - Create Distributions -->
+            <plugin>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <configuration>
+                    <descriptor>src/assemble/bin.xml</descriptor>
+                    <finalName>pluto-taglib-${pom.currentVersion}</finalName>
+                </configuration>
+            </plugin>
+            <plugin>
+                <artifactId>maven-site-plugin</artifactId>
+                <configuration>
+                    <resourcesDirectory>${basedir}/../pluto-site/src/site/resources</resourcesDirectory>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 </project>

Modified: portals/pluto/trunk/pom.xml
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pom.xml?view=diff&rev=440207&r1=440206&r2=440207
==============================================================================
--- portals/pluto/trunk/pom.xml (original)
+++ portals/pluto/trunk/pom.xml Mon Sep  4 17:08:38 2006
@@ -106,8 +106,8 @@
       <email>ddewolf@apache.org</email>
       <timezone>-4</timezone>
       <url>http://www.daviddewolf.com</url>
-      <organization>Digital Focus</organization>
-      <organizationUrl>http://www.digitalfocus.com</organizationUrl>
+      <organization>Three Pillar Software, Inc.</organization>
+      <organizationUrl>http://www.threepillarsoftware.com</organizationUrl>
       <roles><role>Java Developer</role></roles>
     </developer>
 
@@ -243,7 +243,7 @@
     <plexus.version>1.0.4</plexus.version>
     <maven.version>2.0</maven.version>
     <ant.version>1.6.5</ant.version>
-    <junit.version>3.8.1</junit.version>
+    <junit.version>4.0</junit.version>
     <jmock.version>1.0.1</jmock.version>    
   </properties>