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 2007/03/29 06:00:05 UTC

svn commit: r523548 - in /portals/pluto/branches/pluto-1.1.x: pluto-container/src/main/java/org/apache/pluto/core/ pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/url/impl/ pluto-portal-driver/src/main/java/org/apache/pluto/driver/ pluto...

Author: ddewolf
Date: Wed Mar 28 21:00:04 2007
New Revision: 523548

URL: http://svn.apache.org/viewvc?view=rev&rev=523548
Log:
Implemented pluto portal driver filter allowing jsp based portal pages.  No portal configuration is required.    PLUTO-352

Added:
    portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/main/java/org/apache/pluto/driver/PortalDriverFilter.java   (with props)
    portals/pluto/branches/pluto-1.1.x/pluto-portal/src/main/webapp/WEB-INF/themes/navigation.jsp   (with props)
    portals/pluto/branches/pluto-1.1.x/pluto-portal/src/main/webapp/about.jsp   (with props)
Modified:
    portals/pluto/branches/pluto-1.1.x/pluto-container/src/main/java/org/apache/pluto/core/PortletContextManager.java
    portals/pluto/branches/pluto-1.1.x/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/url/impl/PortalURLParserImpl.java
    portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PortletWindowConfig.java
    portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/main/java/org/apache/pluto/driver/tags/IsMaximizedTag.java
    portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURLParser.java
    portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/test/java/org/apache/pluto/driver/services/portal/PortletWindowConfigTest.java
    portals/pluto/branches/pluto-1.1.x/pluto-portal/src/main/webapp/WEB-INF/themes/pluto-default-theme.jsp
    portals/pluto/branches/pluto-1.1.x/pluto-portal/src/main/webapp/WEB-INF/web.xml

Modified: portals/pluto/branches/pluto-1.1.x/pluto-container/src/main/java/org/apache/pluto/core/PortletContextManager.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/pluto-1.1.x/pluto-container/src/main/java/org/apache/pluto/core/PortletContextManager.java?view=diff&rev=523548&r1=523547&r2=523548
==============================================================================
--- portals/pluto/branches/pluto-1.1.x/pluto-container/src/main/java/org/apache/pluto/core/PortletContextManager.java (original)
+++ portals/pluto/branches/pluto-1.1.x/pluto-container/src/main/java/org/apache/pluto/core/PortletContextManager.java Wed Mar 28 21:00:04 2007
@@ -217,6 +217,7 @@
         if (ipc != null) {
             return ipc.getPortletDefinition();
         }
+        LOG.warn("Unable to retrieve portlet descriptor: '"+applicationId+"/"+portletName+"'");
         return null;
 
     }
@@ -226,6 +227,7 @@
         if (ipc != null) {
             return ipc.getPortletApplicationDefinition();
         }
+        LOG.warn("Unable to retrieve portlet application descriptor: '"+applicationId+"'");
         return null;
     }
 

Modified: portals/pluto/branches/pluto-1.1.x/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/url/impl/PortalURLParserImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/pluto-1.1.x/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/url/impl/PortalURLParserImpl.java?view=diff&rev=523548&r1=523547&r2=523548
==============================================================================
--- portals/pluto/branches/pluto-1.1.x/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/url/impl/PortalURLParserImpl.java (original)
+++ portals/pluto/branches/pluto-1.1.x/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/url/impl/PortalURLParserImpl.java Wed Mar 28 21:00:04 2007
@@ -106,9 +106,17 @@
         // Construct portal URL using info retrieved from servlet request.
         PortalURL portalURL =  new RelativePortalURLImpl(contextPath, servletName);
 
+        // Support added for filter.  Should we seperate into a different impl?
         String pathInfo = request.getPathInfo();
         if (pathInfo == null) {
-            return portalURL;
+            if(servletName.contains(".jsp") && !servletName.endsWith(".jsp")) {
+                int idx = servletName.indexOf(".jsp")+".jsp".length();
+                pathInfo = servletName.substring(idx);
+                servletName = servletName.substring(0, idx);
+                portalURL = new RelativePortalURLImpl(contextPath, servletName);
+            } else {
+                return portalURL;
+            }
         }
 
         if (LOG.isDebugEnabled()) {

Added: portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/main/java/org/apache/pluto/driver/PortalDriverFilter.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/main/java/org/apache/pluto/driver/PortalDriverFilter.java?view=auto&rev=523548
==============================================================================
--- portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/main/java/org/apache/pluto/driver/PortalDriverFilter.java (added)
+++ portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/main/java/org/apache/pluto/driver/PortalDriverFilter.java Wed Mar 28 21:00:04 2007
@@ -0,0 +1,176 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.pluto.driver;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.pluto.PortletContainer;
+import org.apache.pluto.PortletContainerException;
+import org.apache.pluto.driver.core.PortalRequestContext;
+import org.apache.pluto.driver.core.PortletWindowImpl;
+import org.apache.pluto.driver.services.portal.PortletWindowConfig;
+import org.apache.pluto.driver.url.PortalURL;
+
+import javax.portlet.PortletException;
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * The controller filter used to drive static portlet pages.
+ *
+ * @version 1.0
+ * @since March 28, 2006
+ */
+public class PortalDriverFilter implements Filter {
+
+    /**
+     * Internal Logger.
+     */
+    private static final Log LOG = LogFactory.getLog(PortalDriverFilter.class);
+
+    /**
+     * The Portal Driver sServlet Context
+     */
+    private ServletContext servletContext;
+
+    /**
+     * The portlet container to which we
+     * will forward all portlet requests.
+     */
+    protected PortletContainer container;
+
+
+    public ServletContext getServletContext() {
+        return servletContext;
+    }
+
+    /**
+     * Initialize the Portal Driver.
+     * This method retrieves the portlet container instance
+     * from the servlet context scope.
+     *
+     * @see org.apache.pluto.PortletContainer
+     */
+    public void init(FilterConfig filterConfig) throws ServletException {
+        servletContext = filterConfig.getServletContext();
+        container = (PortletContainer) servletContext.getAttribute(
+            AttributeKeys.PORTLET_CONTAINER);
+    }
+
+
+    /**
+     * Release the container and the context.
+     */
+    public void destroy() {
+        container = null;
+        servletContext = null;
+    }
+
+    /**
+     * Intercept requests in order to perform any actions.
+     *
+     * @param request  the incoming ServletRequest.
+     * @param response the incoming ServletResponse.
+     * @throws javax.servlet.ServletException if an internal error occurs.
+     * @throws java.io.IOException            if an error occurs writing to the response.
+     */
+    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)
+        throws IOException, ServletException {
+        if (request instanceof HttpServletRequest && response instanceof HttpServletResponse) {
+            HttpServletRequest req = (HttpServletRequest) request;
+            // Since we must support a 2.3 environment, we can't use
+            //  filter dispatchers.  B/C of this, we make sure we haven't
+            //  allready processed this request. No infinite loops for us!!!!
+            if (PortalRequestContext.getContext(req) == null) {
+                PortalRequestContext ctx = doPortletPrepare(req, (HttpServletResponse) response);
+                LOG.debug("Render Path: " + ctx.getRequestedPortalURL().getRenderPath());
+                LOG.debug("Servlet Path: " + ctx.getRequestedPortalURL().getServletPath());
+                PortalURL url = ctx.getRequestedPortalURL();
+                if (url.getActionWindow() != null) {
+                    return;
+                }
+
+            }
+
+            String path = req.getServletPath();
+            int idx = path.indexOf(".jsp");
+            if (!path.endsWith(".jsp") && idx > 0) {
+                String realPath = path.substring(0, idx + ".jsp".length());
+                if (realPath.startsWith(req.getContextPath())) {
+                    realPath = realPath.substring(req.getContextPath().length());
+                }
+                LOG.info("Forwarding to realPath: " + realPath);
+                request.getRequestDispatcher(realPath).forward(request, response);
+                return;
+            }
+        }
+        filterChain.doFilter(request, response);
+    }
+
+    /**
+     * Perform Portlet Preparation
+     *
+     * @param request
+     * @param response
+     * @throws java.io.IOException            if an io exception occurs
+     * @throws javax.servlet.ServletException if a servlet exception occurs
+     */
+    public PortalRequestContext doPortletPrepare(HttpServletRequest request, HttpServletResponse response)
+        throws IOException, ServletException {
+
+        PortalRequestContext portalRequestContext =
+            new PortalRequestContext(getServletContext(), request, response);
+
+        PortalURL portalURL = portalRequestContext.getRequestedPortalURL();
+        String actionWindowId = portalURL.getActionWindow();
+
+        PortletWindowConfig actionWindowConfig =
+            actionWindowId == null
+                ? null
+                : PortletWindowConfig.fromId(actionWindowId);
+
+        // Action window config will only exist if there is an action request.
+        if (actionWindowConfig != null) {
+            PortletWindowImpl portletWindow = new PortletWindowImpl(
+                actionWindowConfig, portalURL);
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Processing action request for window: "
+                    + portletWindow.getId().getStringId());
+            }
+            try {
+                container.doAction(portletWindow, request, response);
+            } catch (PortletContainerException ex) {
+                throw new ServletException(ex);
+            } catch (PortletException ex) {
+                throw new ServletException(ex);
+            }
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Action request processed.\n\n");
+            }
+        }
+
+        return portalRequestContext;
+    }
+}

Propchange: portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/main/java/org/apache/pluto/driver/PortalDriverFilter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/main/java/org/apache/pluto/driver/PortalDriverFilter.java
------------------------------------------------------------------------------
    svn:keywords = Id Author Date Rev

Modified: portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PortletWindowConfig.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PortletWindowConfig.java?view=diff&rev=523548&r1=523547&r2=523548
==============================================================================
--- portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PortletWindowConfig.java (original)
+++ portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PortletWindowConfig.java Wed Mar 28 21:00:04 2007
@@ -1,9 +1,9 @@
 /*
- * 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
+ * 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
@@ -131,12 +131,18 @@
     	int index = getSeparatorIndex(portletId);
         String postfix = portletId.substring(index + 1);
         index = postfix.indexOf("!");
-        return postfix.substring(0, index);
+        if(index > -1) {
+            return postfix.substring(0, index);
+        }
+        return postfix;
     }
 
     public static String parseMetaInfo(String portletId) {
         int index = portletId.indexOf("!");
-        return portletId.substring(index+1);
+        if(index > -1) {
+            return portletId.substring(index+1);
+        }
+        return "";
     }
 
 

Modified: portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/main/java/org/apache/pluto/driver/tags/IsMaximizedTag.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/main/java/org/apache/pluto/driver/tags/IsMaximizedTag.java?view=diff&rev=523548&r1=523547&r2=523548
==============================================================================
--- portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/main/java/org/apache/pluto/driver/tags/IsMaximizedTag.java (original)
+++ portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/main/java/org/apache/pluto/driver/tags/IsMaximizedTag.java Wed Mar 28 21:00:04 2007
@@ -27,11 +27,8 @@
 import java.util.Map;
 
 /**
- * Created by IntelliJ IDEA.
- * User: ddewolf
- * Date: Sep 4, 2006
- * Time: 9:27:35 PM
- * To change this template use File | Settings | File Templates.
+ * Determine whether the one of the portlets
+ * for the given url is maximized.
  */
 public class IsMaximizedTag extends TagSupport {
 

Modified: portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURLParser.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURLParser.java?view=diff&rev=523548&r1=523547&r2=523548
==============================================================================
--- portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURLParser.java (original)
+++ portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/main/java/org/apache/pluto/driver/url/PortalURLParser.java Wed Mar 28 21:00:04 2007
@@ -18,13 +18,6 @@
 
 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);
 

Modified: portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/test/java/org/apache/pluto/driver/services/portal/PortletWindowConfigTest.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/test/java/org/apache/pluto/driver/services/portal/PortletWindowConfigTest.java?view=diff&rev=523548&r1=523547&r2=523548
==============================================================================
--- portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/test/java/org/apache/pluto/driver/services/portal/PortletWindowConfigTest.java (original)
+++ portals/pluto/branches/pluto-1.1.x/pluto-portal-driver/src/test/java/org/apache/pluto/driver/services/portal/PortletWindowConfigTest.java Wed Mar 28 21:00:04 2007
@@ -1,9 +1,9 @@
 /*
- * 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
+ * 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
@@ -37,6 +37,7 @@
         assertEquals("PortletName", PortletWindowConfig.parsePortletName("c.PortletName!1234567"));
         assertEquals("P", PortletWindowConfig.parsePortletName("context.P!"));
         assertEquals("P", PortletWindowConfig.parsePortletName("c.P!ABC"));
+        assertEquals("PortletName", PortletWindowConfig.parsePortletName("context.PortletName"));
     }
 
     public void testParseContextPath() {
@@ -48,6 +49,7 @@
 
     public void testParseMetaInfo() {
         assertEquals("A", PortletWindowConfig.parseMetaInfo("c.p!A"));
+        assertEquals("", PortletWindowConfig.parseMetaInfo("c.p"));
     }
 
     public void testParseInvalidId() {

Added: portals/pluto/branches/pluto-1.1.x/pluto-portal/src/main/webapp/WEB-INF/themes/navigation.jsp
URL: http://svn.apache.org/viewvc/portals/pluto/branches/pluto-1.1.x/pluto-portal/src/main/webapp/WEB-INF/themes/navigation.jsp?view=auto&rev=523548
==============================================================================
--- portals/pluto/branches/pluto-1.1.x/pluto-portal/src/main/webapp/WEB-INF/themes/navigation.jsp (added)
+++ portals/pluto/branches/pluto-1.1.x/pluto-portal/src/main/webapp/WEB-INF/themes/navigation.jsp Wed Mar 28 21:00:04 2007
@@ -0,0 +1,26 @@
+<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
+<%@ taglib uri="http://portals.apache.org/pluto" prefix="pluto" %>
+
+<div id="navigation">
+    <h2>Navigation:</h2>
+    <ul>
+        <c:forEach var="page" items="${driverConfig.pages}">
+            <c:choose>
+                <c:when test="${page == currentPage}">
+                    <li class="selected">
+                        <a href='<c:out value="${pageContext.request.contextPath}"/>/portal/<c:out value="${page.name}"/>'>
+                            <c:out value="${page.name}"/>
+                        </a>
+                    </li>
+                </c:when>
+                <c:otherwise>
+                    <li>
+                        <a href='<c:out value="${pageContext.request.contextPath}"/>/portal/<c:out value="${page.name}"/>'>
+                            <c:out value="${page.name}"/>
+                        </a>
+                    </li>
+                </c:otherwise>
+            </c:choose>
+        </c:forEach>
+    </ul>
+</div>

Propchange: portals/pluto/branches/pluto-1.1.x/pluto-portal/src/main/webapp/WEB-INF/themes/navigation.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/pluto/branches/pluto-1.1.x/pluto-portal/src/main/webapp/WEB-INF/themes/navigation.jsp
------------------------------------------------------------------------------
    svn:keywords = Id Author Date Rev

Modified: portals/pluto/branches/pluto-1.1.x/pluto-portal/src/main/webapp/WEB-INF/themes/pluto-default-theme.jsp
URL: http://svn.apache.org/viewvc/portals/pluto/branches/pluto-1.1.x/pluto-portal/src/main/webapp/WEB-INF/themes/pluto-default-theme.jsp?view=diff&rev=523548&r1=523547&r2=523548
==============================================================================
--- portals/pluto/branches/pluto-1.1.x/pluto-portal/src/main/webapp/WEB-INF/themes/pluto-default-theme.jsp (original)
+++ portals/pluto/branches/pluto-1.1.x/pluto-portal/src/main/webapp/WEB-INF/themes/pluto-default-theme.jsp Wed Mar 28 21:00:04 2007
@@ -1,9 +1,9 @@
 <%--
-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
+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
@@ -34,9 +34,7 @@
         @import "<c:out value="${pageContext.request.contextPath}"/>/pluto.css";
         @import "<c:out value="${pageContext.request.contextPath}"/>/portlet-spec-1.0.css";
     </style>
-    <script type="text/javascript"
-            src="<c:out value="${pageContext.request.contextPath}"/>/pluto.js">
-    </script>
+    <script type="text/javascript" src="<c:out value="${pageContext.request.contextPath}"/>/pluto.js"></script>
 </head>
 
 <body>
@@ -46,7 +44,6 @@
     <!-- Header block: the Apache Pluto banner image and description -->
     <div id="header">
         <h1>Apache Pluto</h1>
-
         <p>An Apache Portals Project</p>
     </div>
 
@@ -56,29 +53,7 @@
     </div>
 
     <!-- Navigation block: links to portal pages -->
-    <div id="navigation">
-        <h2>Navigation:</h2>
-        <ul>
-            <c:forEach var="page" items="${driverConfig.pages}">
-                <c:choose>
-                    <c:when test="${page == currentPage}">
-                        <li class="selected">
-                            <a href='<c:out value="${pageContext.request.contextPath}"/>/portal/<c:out value="${page.name}"/>'>
-                                <c:out value="${page.name}"/>
-                            </a>
-                        </li>
-                    </c:when>
-                    <c:otherwise>
-                        <li>
-                            <a href='<c:out value="${pageContext.request.contextPath}"/>/portal/<c:out value="${page.name}"/>'>
-                                <c:out value="${page.name}"/>
-                            </a>
-                        </li>
-                    </c:otherwise>
-                </c:choose>
-            </c:forEach>
-        </ul>
-    </div>
+    <jsp:include page="navigation.jsp"/>
 
     <!-- Content block: portlets are divided into two columns/groups -->
     <div id="content">

Modified: portals/pluto/branches/pluto-1.1.x/pluto-portal/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/portals/pluto/branches/pluto-1.1.x/pluto-portal/src/main/webapp/WEB-INF/web.xml?view=diff&rev=523548&r1=523547&r2=523548
==============================================================================
--- portals/pluto/branches/pluto-1.1.x/pluto-portal/src/main/webapp/WEB-INF/web.xml (original)
+++ portals/pluto/branches/pluto-1.1.x/pluto-portal/src/main/webapp/WEB-INF/web.xml Wed Mar 28 21:00:04 2007
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
 <!DOCTYPE web-app PUBLIC
-        "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
-        "http://java.sun.com/dtd/web-app_2_3.dtd">
+    "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+    "http://java.sun.com/dtd/web-app_2_3.dtd">
 <!-- 
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -24,153 +24,169 @@
 
 <web-app>
 
-    <display-name>Apache Pluto Portal Driver</display-name>
+  <display-name>Apache Pluto Portal Driver</display-name>
 
-    <context-param>
-        <param-name>contextConfigLocation</param-name>
-        <param-value>/WEB-INF/pluto-portal-driver-services-config.xml</param-value>
-    </context-param>
-
-    <listener>
-        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
-    </listener>
-
-    <listener>
-        <listener-class>org.apache.pluto.driver.PortalStartupListener</listener-class>
-    </listener>
-
-    <servlet>
-        <servlet-name>plutoPortalDriver</servlet-name>
-        <display-name>Pluto Portal Driver</display-name>
-        <description>Pluto Portal Driver Controller</description>
-        <servlet-class>org.apache.pluto.driver.PortalDriverServlet</servlet-class>
-    </servlet>
-
-    <servlet>
-        <servlet-name>plutoPortalDriverLogout</servlet-name>
-        <display-name>Pluto Portal Driver</display-name>
-        <description>Pluto Portal Driver Logout</description>
-        <servlet-class>org.apache.pluto.driver.PortalDriverLogoutServlet</servlet-class>
-    </servlet>
-
-    <servlet>
-        <servlet-name>portletApplicationPublisher</servlet-name>
-        <display-name>Portlet Application Publisher</display-name>
-        <description>Portlet Application Publisher Service</description>
-        <servlet-class>org.apache.pluto.driver.PublishServlet</servlet-class>
-    </servlet>
-
-    <servlet>
-        <servlet-name>tckDriver</servlet-name>
-        <display-name>Pluto TCK Driver</display-name>
-        <description>Pluto TCK Driver Controller</description>
-        <servlet-class>org.apache.pluto.driver.TCKDriverServlet</servlet-class>
-    </servlet>
-
-    <servlet>
-        <servlet-name>AboutPortlet</servlet-name>
-        <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-        <init-param>
-            <param-name>portlet-name</param-name>
-            <param-value>AboutPortlet</param-value>
-        </init-param>
-        <load-on-startup>1</load-on-startup>
-    </servlet>
-
-    <servlet>
-        <servlet-name>AdminPortlet</servlet-name>
-        <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-        <init-param>
-            <param-name>portlet-name</param-name>
-            <param-value>AdminPortlet</param-value>
-        </init-param>
-        <load-on-startup>1</load-on-startup>
-    </servlet>
-
-    <servlet>
-        <servlet-name>PlutoPageAdmin</servlet-name>
-        <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-        <init-param>
-            <param-name>portlet-name</param-name>
-            <param-value>PlutoPageAdmin</param-value>
-        </init-param>
-        <load-on-startup>1</load-on-startup>
-    </servlet>
-
-    <servlet-mapping>
-        <servlet-name>plutoPortalDriver</servlet-name>
-        <url-pattern>/portal/*</url-pattern>
-    </servlet-mapping>
-
-    <servlet-mapping>
-        <servlet-name>plutoPortalDriverLogout</servlet-name>
-        <url-pattern>/Logout</url-pattern>
-    </servlet-mapping>
-
-    <servlet-mapping>
-        <servlet-name>portletApplicationPublisher</servlet-name>
-        <url-pattern>/admin/Publish</url-pattern>
-    </servlet-mapping>
-
-    <servlet-mapping>
-        <servlet-name>tckDriver</servlet-name>
-        <url-pattern>/tck/*</url-pattern>
-    </servlet-mapping>
-
-    <servlet-mapping>
-        <servlet-name>AboutPortlet</servlet-name>
-        <url-pattern>/PlutoInvoker/AboutPortlet</url-pattern>
-    </servlet-mapping>
-
-    <servlet-mapping>
-        <servlet-name>AdminPortlet</servlet-name>
-        <url-pattern>/PlutoInvoker/AdminPortlet</url-pattern>
-    </servlet-mapping>
-
-    <servlet-mapping>
-        <servlet-name>PlutoPageAdmin</servlet-name>
-        <url-pattern>/PlutoInvoker/PlutoPageAdmin</url-pattern>
-    </servlet-mapping>
-    <taglib>
-        <taglib-uri>http://java.sun.com/portlet</taglib-uri>
-        <taglib-location>/WEB-INF/tld/portlet.tld</taglib-location>
-    </taglib>
-
-    <taglib>
-        <taglib-uri>http://portals.apache.org/pluto/portlet-el</taglib-uri>
-        <taglib-location>/WEB-INF/tld/portlet-el.tld</taglib-location>
-    </taglib>
-
-    <taglib>
-        <taglib-uri>http://portals.apache.org/pluto</taglib-uri>
-        <taglib-location>/WEB-INF/tld/pluto.tld</taglib-location>
-    </taglib>
-
-    <security-constraint>
-        <web-resource-collection>
-            <web-resource-name>portal</web-resource-name>
-            <url-pattern>/portal</url-pattern>
-            <url-pattern>/portal/*</url-pattern>
-            <http-method>GET</http-method>
-            <http-method>POST</http-method>
-            <http-method>PUT</http-method>
-        </web-resource-collection>
-        <auth-constraint>
-            <role-name>pluto</role-name>
-        </auth-constraint>
-    </security-constraint>
-
-    <login-config>
-        <auth-method>FORM</auth-method>
-        <form-login-config>
-            <form-login-page>/login.jsp</form-login-page>
-            <form-error-page>/login.jsp?error=1</form-error-page>
-        </form-login-config>
-    </login-config>
-
-    <security-role>
-        <role-name>pluto</role-name>
-    </security-role>
+  <context-param>
+    <param-name>contextConfigLocation</param-name>
+    <param-value>/WEB-INF/pluto-portal-driver-services-config.xml</param-value>
+  </context-param>
+
+
+  <filter>
+    <filter-name>plutoPortalDriver</filter-name>
+    <filter-class>org.apache.pluto.driver.PortalDriverFilter</filter-class>
+  </filter>
+
+  <filter-mapping>
+    <filter-name>plutoPortalDriver</filter-name>
+    <url-pattern>/about.jsp</url-pattern>
+  </filter-mapping>
+
+  <filter-mapping>
+    <filter-name>plutoPortalDriver</filter-name>
+    <url-pattern>/about.jsp/*</url-pattern>
+  </filter-mapping>
+
+  <listener>
+    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
+  </listener>
+
+  <listener>
+    <listener-class>org.apache.pluto.driver.PortalStartupListener</listener-class>
+  </listener>
+
+  <servlet>
+    <servlet-name>plutoPortalDriver</servlet-name>
+    <display-name>Pluto Portal Driver</display-name>
+    <description>Pluto Portal Driver Controller</description>
+    <servlet-class>org.apache.pluto.driver.PortalDriverServlet</servlet-class>
+  </servlet>
+
+  <servlet>
+    <servlet-name>plutoPortalDriverLogout</servlet-name>
+    <display-name>Pluto Portal Driver</display-name>
+    <description>Pluto Portal Driver Logout</description>
+    <servlet-class>org.apache.pluto.driver.PortalDriverLogoutServlet</servlet-class>
+  </servlet>
+
+  <servlet>
+    <servlet-name>portletApplicationPublisher</servlet-name>
+    <display-name>Portlet Application Publisher</display-name>
+    <description>Portlet Application Publisher Service</description>
+    <servlet-class>org.apache.pluto.driver.PublishServlet</servlet-class>
+  </servlet>
+
+  <servlet>
+    <servlet-name>tckDriver</servlet-name>
+    <display-name>Pluto TCK Driver</display-name>
+    <description>Pluto TCK Driver Controller</description>
+    <servlet-class>org.apache.pluto.driver.TCKDriverServlet</servlet-class>
+  </servlet>
+
+  <servlet>
+    <servlet-name>AboutPortlet</servlet-name>
+    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
+    <init-param>
+      <param-name>portlet-name</param-name>
+      <param-value>AboutPortlet</param-value>
+    </init-param>
+    <load-on-startup>1</load-on-startup>
+  </servlet>
+
+  <servlet>
+    <servlet-name>AdminPortlet</servlet-name>
+    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
+    <init-param>
+      <param-name>portlet-name</param-name>
+      <param-value>AdminPortlet</param-value>
+    </init-param>
+    <load-on-startup>1</load-on-startup>
+  </servlet>
+
+  <servlet>
+    <servlet-name>PlutoPageAdmin</servlet-name>
+    <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
+    <init-param>
+      <param-name>portlet-name</param-name>
+      <param-value>PlutoPageAdmin</param-value>
+    </init-param>
+    <load-on-startup>1</load-on-startup>
+  </servlet>
+
+  <servlet-mapping>
+    <servlet-name>plutoPortalDriver</servlet-name>
+    <url-pattern>/portal/*</url-pattern>
+  </servlet-mapping>
+
+  <servlet-mapping>
+    <servlet-name>plutoPortalDriverLogout</servlet-name>
+    <url-pattern>/Logout</url-pattern>
+  </servlet-mapping>
+
+  <servlet-mapping>
+    <servlet-name>portletApplicationPublisher</servlet-name>
+    <url-pattern>/admin/Publish</url-pattern>
+  </servlet-mapping>
+
+  <servlet-mapping>
+    <servlet-name>tckDriver</servlet-name>
+    <url-pattern>/tck/*</url-pattern>
+  </servlet-mapping>
+
+  <servlet-mapping>
+    <servlet-name>AboutPortlet</servlet-name>
+    <url-pattern>/PlutoInvoker/AboutPortlet</url-pattern>
+  </servlet-mapping>
+
+  <servlet-mapping>
+    <servlet-name>AdminPortlet</servlet-name>
+    <url-pattern>/PlutoInvoker/AdminPortlet</url-pattern>
+  </servlet-mapping>
+
+  <servlet-mapping>
+    <servlet-name>PlutoPageAdmin</servlet-name>
+    <url-pattern>/PlutoInvoker/PlutoPageAdmin</url-pattern>
+  </servlet-mapping>
+  <taglib>
+    <taglib-uri>http://java.sun.com/portlet</taglib-uri>
+    <taglib-location>/WEB-INF/tld/portlet.tld</taglib-location>
+  </taglib>
+
+  <taglib>
+    <taglib-uri>http://portals.apache.org/pluto/portlet-el</taglib-uri>
+    <taglib-location>/WEB-INF/tld/portlet-el.tld</taglib-location>
+  </taglib>
+
+  <taglib>
+    <taglib-uri>http://portals.apache.org/pluto</taglib-uri>
+    <taglib-location>/WEB-INF/tld/pluto.tld</taglib-location>
+  </taglib>
+
+  <security-constraint>
+    <web-resource-collection>
+      <web-resource-name>portal</web-resource-name>
+      <url-pattern>/portal</url-pattern>
+      <url-pattern>/portal/*</url-pattern>
+      <http-method>GET</http-method>
+      <http-method>POST</http-method>
+      <http-method>PUT</http-method>
+    </web-resource-collection>
+    <auth-constraint>
+      <role-name>pluto</role-name>
+    </auth-constraint>
+  </security-constraint>
+
+  <login-config>
+    <auth-method>FORM</auth-method>
+    <form-login-config>
+      <form-login-page>/login.jsp</form-login-page>
+      <form-error-page>/login.jsp?error=1</form-error-page>
+    </form-login-config>
+  </login-config>
+
+  <security-role>
+    <role-name>pluto</role-name>
+  </security-role>
 
 </web-app>
 

Added: portals/pluto/branches/pluto-1.1.x/pluto-portal/src/main/webapp/about.jsp
URL: http://svn.apache.org/viewvc/portals/pluto/branches/pluto-1.1.x/pluto-portal/src/main/webapp/about.jsp?view=auto&rev=523548
==============================================================================
--- portals/pluto/branches/pluto-1.1.x/pluto-portal/src/main/webapp/about.jsp (added)
+++ portals/pluto/branches/pluto-1.1.x/pluto-portal/src/main/webapp/about.jsp Wed Mar 28 21:00:04 2007
@@ -0,0 +1,94 @@
+<%--
+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.
+--%>
+<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
+<%@ taglib uri="http://portals.apache.org/pluto" prefix="pluto" %>
+
+<html>
+<head>
+    <title>Pluto Portal</title>
+    <style type="text/css" title="currentStyle" media="screen">
+        @import "<c:out value="${pageContext.request.contextPath}"/>/pluto.css";
+        @import "<c:out value="${pageContext.request.contextPath}"/>/portlet-spec-1.0.css";
+    </style>
+    <script type="text/javascript" src="<c:out value="${pageContext.request.contextPath}"/>/pluto.js">
+    </script>
+</head>
+
+<body>
+
+<div id="portal">
+
+    <!-- Header block: the Apache Pluto banner image and description -->
+    <div id="header">
+        <h1>Apache Pluto</h1>
+
+        <p>An Apache Portals Project</p>
+    </div>
+
+    <!-- Logout link -->
+    <c:if test="${pageContext.request.remoteUser != null}">
+        <div id="logout">
+            <a href="<c:url value='/Logout'/>">Logout</a>
+        </div>
+    </c:if>
+
+    <!-- Navigation block: links to portal pages -->
+    <jsp:include page="/WEB-INF/themes/navigation.jsp"/>
+
+    <!-- Content block: portlets are divided into two columns/groups -->
+    <div id="content">
+        <pluto:isMaximized var="isMax"/>
+
+        <!-- Left column -->
+        <c:choose>
+            <c:when test="${isMax}">
+                <c:set var="portlet" value="/pluto.AboutPortlet!A" scope="request"/>
+                <jsp:include page="/WEB-INF/themes/portlet-skin.jsp"/>
+                <c:set var="portlet" value="/pluto.AboutPortlet!B" scope="request"/>
+                <jsp:include page="/WEB-INF/themes/portlet-skin.jsp"/>
+            </c:when>
+
+            <c:otherwise>
+                <div id="portlets-left-column">
+                    <c:set var="portlet" value="/pluto.AboutPortlet" scope="request"/>
+                    <jsp:include page="/WEB-INF/themes/portlet-skin.jsp"/>
+                </div>
+
+                <!-- Right column -->
+                <div id="portlets-right-column">
+                    <c:set var="portlet" value="/testsuite.TestPortlet1" scope="request"/>
+                    <jsp:include page="/WEB-INF/themes/portlet-skin.jsp"/>
+                </div>
+            </c:otherwise>
+        </c:choose>
+
+    </div>
+
+    <!-- Footer block: copyright -->
+    <div id="footer">
+        &copy; 2003-2005 Apache Software Foundation
+    </div>
+
+</div>
+
+</body>
+
+</html>
+
+

Propchange: portals/pluto/branches/pluto-1.1.x/pluto-portal/src/main/webapp/about.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/pluto/branches/pluto-1.1.x/pluto-portal/src/main/webapp/about.jsp
------------------------------------------------------------------------------
    svn:keywords = Id Author Date Rev