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/02/03 22:14:07 UTC
svn commit: r503314 - in /portals/pluto/trunk:
pluto-container/src/main/java/org/apache/pluto/core/
pluto-container/src/main/java/org/apache/pluto/internal/
pluto-container/src/main/java/org/apache/pluto/internal/impl/
pluto-container/src/main/java/org...
Author: ddewolf
Date: Sat Feb 3 13:14:06 2007
New Revision: 503314
URL: http://svn.apache.org/viewvc?view=rev&rev=503314
Log:
Adding version to PortletAppDD; Enabling the environment service; PLUTO-298, PLUTO-296
Added:
portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/DefaultPortletEnvironmentService.java (with props)
Modified:
portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/DefaultOptionalContainerServices.java
portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/PortletContainerImpl.java
portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/InternalActionRequest.java
portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/InternalActionResponse.java
portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/InternalRenderRequest.java
portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/InternalRenderResponse.java
portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletPreferencesImpl.java
portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/spi/optional/PortletEnvironmentService.java
portals/pluto/trunk/pluto-descriptor-api/src/main/java/org/apache/pluto/descriptors/portlet/PortletAppDD.java
portals/pluto/trunk/pluto-descriptor-impl/src/main/resources/org/apache/pluto/descriptors/services/castor/castor-portlet-xml-mapping.xml
portals/pluto/trunk/pluto-descriptor-impl/src/test/java/org/apache/pluto/descriptors/services/castor/PortletAppDescriptorServiceImplTest.java
Modified: portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/DefaultOptionalContainerServices.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/DefaultOptionalContainerServices.java?view=diff&rev=503314&r1=503313&r2=503314
==============================================================================
--- portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/DefaultOptionalContainerServices.java (original)
+++ portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/DefaultOptionalContainerServices.java Sat Feb 3 13:14:06 2007
@@ -47,7 +47,7 @@
portletPreferencesService = new DefaultPortletPreferencesService();
portletRegistryService = PortletContextManager.getManager();
portletInvokerService = new DefaultPortletInvokerService();
- portletEnvironmentService = null;
+ portletEnvironmentService = new DefaultPortletEnvironmentService();
portletInfoService = null;
}
Added: portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/DefaultPortletEnvironmentService.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/DefaultPortletEnvironmentService.java?view=auto&rev=503314
==============================================================================
--- portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/DefaultPortletEnvironmentService.java (added)
+++ portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/DefaultPortletEnvironmentService.java Sat Feb 3 13:14:06 2007
@@ -0,0 +1,53 @@
+package org.apache.pluto.core;
+
+import org.apache.pluto.PortletContainer;
+import org.apache.pluto.spi.optional.PortletEnvironmentService;
+import org.apache.pluto.internal.InternalActionRequest;
+import org.apache.pluto.internal.InternalActionResponse;
+import org.apache.pluto.internal.InternalPortletWindow;
+import org.apache.pluto.internal.InternalRenderRequest;
+import org.apache.pluto.internal.InternalRenderResponse;
+import org.apache.pluto.internal.impl.ActionRequestImpl;
+import org.apache.pluto.internal.impl.ActionResponseImpl;
+import org.apache.pluto.internal.impl.RenderRequestImpl;
+import org.apache.pluto.internal.impl.RenderResponseImpl;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ *
+ */
+public class DefaultPortletEnvironmentService implements PortletEnvironmentService {
+
+
+ public InternalActionRequest createActionRequest(PortletContainer container,
+ HttpServletRequest request,
+ HttpServletResponse response,
+ InternalPortletWindow internalPortletWindow) {
+ return new ActionRequestImpl(container, internalPortletWindow, request);
+ }
+
+ public InternalActionResponse createActionResponse(PortletContainer container,
+ HttpServletRequest request,
+ HttpServletResponse response,
+ InternalPortletWindow internalPortletWindow) {
+ return new ActionResponseImpl(container, internalPortletWindow, request, response);
+ }
+
+ public InternalRenderRequest createRenderRequest(PortletContainer container,
+ HttpServletRequest request,
+ HttpServletResponse response,
+ InternalPortletWindow internalPortletWindow) {
+ return new RenderRequestImpl(container, internalPortletWindow, request);
+ }
+
+ public InternalRenderResponse createRenderResponse(PortletContainer container,
+ HttpServletRequest request,
+ HttpServletResponse response,
+ InternalPortletWindow internalPortletWindow) {
+ return new RenderResponseImpl(container, internalPortletWindow, request, response);
+ }
+
+
+}
Propchange: portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/DefaultPortletEnvironmentService.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/DefaultPortletEnvironmentService.java
------------------------------------------------------------------------------
svn:keywords = Id Author Date Rev
Modified: portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/PortletContainerImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/PortletContainerImpl.java?view=diff&rev=503314&r1=503313&r2=503314
==============================================================================
--- portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/PortletContainerImpl.java (original)
+++ portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/core/PortletContainerImpl.java Sat Feb 3 13:14:06 2007
@@ -29,11 +29,11 @@
import org.apache.pluto.descriptors.portlet.PortletAppDD;
import org.apache.pluto.internal.InternalPortletWindow;
import org.apache.pluto.internal.PortletDescriptorRegistry;
-import org.apache.pluto.internal.impl.ActionRequestImpl;
-import org.apache.pluto.internal.impl.ActionResponseImpl;
+import org.apache.pluto.internal.InternalActionResponse;
+import org.apache.pluto.internal.InternalRenderRequest;
+import org.apache.pluto.internal.InternalRenderResponse;
+import org.apache.pluto.internal.InternalActionRequest;
import org.apache.pluto.internal.impl.PortletWindowImpl;
-import org.apache.pluto.internal.impl.RenderRequestImpl;
-import org.apache.pluto.internal.impl.RenderResponseImpl;
import org.apache.pluto.spi.PortletURLProvider;
import org.apache.pluto.spi.optional.PortletInvokerService;
import org.apache.pluto.OptionalContainerServices;
@@ -152,11 +152,12 @@
new PortletWindowImpl(servletContext, portletWindow);
debugWithName("Render request received for portlet: "
+ portletWindow.getPortletName());
-
- RenderRequestImpl renderRequest = new RenderRequestImpl(
- this, internalPortletWindow, request);
- RenderResponseImpl renderResponse = new RenderResponseImpl(
- this, internalPortletWindow, request, response);
+
+ InternalRenderRequest renderRequest = getOptionalContainerServices().getPortletEnvironmentService()
+ .createRenderRequest(this, request, response, internalPortletWindow);
+
+ InternalRenderResponse renderResponse = getOptionalContainerServices().getPortletEnvironmentService()
+ .createRenderResponse(this, request, response, internalPortletWindow);
PortletInvokerService invoker = optionalContainerServices.getPortletInvokerService();
@@ -171,6 +172,7 @@
+ portletWindow.getPortletName());
}
+
/**
* Process action for the portlet associated with the given portlet window.
* @param portletWindow the portlet window.
@@ -193,12 +195,13 @@
new PortletWindowImpl(servletContext, portletWindow);
debugWithName("Action request received for portlet: "
+ portletWindow.getPortletName());
-
- ActionRequestImpl actionRequest = new ActionRequestImpl(
- this, internalPortletWindow, request);
- ActionResponseImpl actionResponse = new ActionResponseImpl(
- this, internalPortletWindow, request, response);
-
+
+ InternalActionRequest actionRequest = getOptionalContainerServices().getPortletEnvironmentService()
+ .createActionRequest(this, request, response, internalPortletWindow);
+
+ InternalActionResponse actionResponse = getOptionalContainerServices().getPortletEnvironmentService()
+ .createActionResponse(this, request, response, internalPortletWindow);
+
PortletInvokerService invoker = optionalContainerServices.getPortletInvokerService();
try {
@@ -278,12 +281,14 @@
new PortletWindowImpl(servletContext, portletWindow);
debugWithName("Load request received for portlet: "
+ portletWindow.getPortletName());
-
- RenderRequestImpl renderRequest = new RenderRequestImpl(
- this, internalPortletWindow, request);
- RenderResponseImpl renderResponse = new RenderResponseImpl(
- this, internalPortletWindow, request, response);
-
+
+ InternalRenderRequest renderRequest =
+ getOptionalContainerServices().getPortletEnvironmentService()
+ .createRenderRequest(this, request, response, internalPortletWindow);
+ InternalRenderResponse renderResponse =
+ getOptionalContainerServices().getPortletEnvironmentService()
+ .createRenderResponse(this, request, response, internalPortletWindow);
+
PortletInvokerService invoker = optionalContainerServices.getPortletInvokerService();
try {
@@ -398,6 +403,7 @@
LOG.info("Portlet Container [" + name + "]: " + message);
}
}
-
+
+
}
Modified: portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/InternalActionRequest.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/InternalActionRequest.java?view=diff&rev=503314&r1=503313&r2=503314
==============================================================================
--- portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/InternalActionRequest.java (original)
+++ portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/InternalActionRequest.java Sat Feb 3 13:14:06 2007
@@ -15,13 +15,15 @@
*/
package org.apache.pluto.internal;
+import javax.portlet.ActionRequest;
+
/**
* The internal action request extends the internal portlet request and provides
* some action-specific methods (currently, no specific methods are declared).
* @author <a href="mailto:zheng@apache.org">ZHENG Zhong</a>
* @since 2006-02-17
*/
-public interface InternalActionRequest extends InternalPortletRequest {
+public interface InternalActionRequest extends InternalPortletRequest, ActionRequest {
}
Modified: portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/InternalActionResponse.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/InternalActionResponse.java?view=diff&rev=503314&r1=503313&r2=503314
==============================================================================
--- portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/InternalActionResponse.java (original)
+++ portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/InternalActionResponse.java Sat Feb 3 13:14:06 2007
@@ -19,13 +19,14 @@
import javax.portlet.PortletMode;
import javax.portlet.WindowState;
+import javax.portlet.ActionResponse;
/**
* The internal action response interface extends the internal portlet response
* interface and provides some action-specific methods.
* @author <a href="mailto:zheng@apache.org">ZHENG Zhong</a>
*/
-public interface InternalActionResponse extends InternalPortletResponse {
+public interface InternalActionResponse extends InternalPortletResponse, ActionResponse {
/**
* Retrieves the render parameters associated with this response.
@@ -51,6 +52,9 @@
* @return the redirect location.
*/
public String getRedirectLocation();
+
+
+ public String encodeRedirectURL(String url);
}
Modified: portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/InternalRenderRequest.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/InternalRenderRequest.java?view=diff&rev=503314&r1=503313&r2=503314
==============================================================================
--- portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/InternalRenderRequest.java (original)
+++ portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/InternalRenderRequest.java Sat Feb 3 13:14:06 2007
@@ -15,13 +15,15 @@
*/
package org.apache.pluto.internal;
+import javax.portlet.RenderRequest;
+
/**
* The internal render request interface extends the internal portlet request
* interface and provides some render-specific methods.
* @author <a href="mailto:zheng@apache.org">ZHENG Zhong</a>
* @since 2006-02-17
*/
-public interface InternalRenderRequest extends InternalPortletRequest {
+public interface InternalRenderRequest extends InternalPortletRequest, RenderRequest {
public void setIncluded(boolean included);
Modified: portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/InternalRenderResponse.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/InternalRenderResponse.java?view=diff&rev=503314&r1=503313&r2=503314
==============================================================================
--- portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/InternalRenderResponse.java (original)
+++ portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/InternalRenderResponse.java Sat Feb 3 13:14:06 2007
@@ -15,13 +15,15 @@
*/
package org.apache.pluto.internal;
+import javax.portlet.RenderResponse;
+
/**
* The internal render response interface extends the internal portlet response
* interface and provides some render-specific methods.
* @author <a href="mailto:zheng@apache.org">ZHENG Zhong</a>
* @since 2006-02-17
*/
-public interface InternalRenderResponse extends InternalPortletResponse {
+public interface InternalRenderResponse extends InternalPortletResponse, RenderResponse {
public void setIncluded(boolean included);
Modified: portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletPreferencesImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletPreferencesImpl.java?view=diff&rev=503314&r1=503313&r2=503314
==============================================================================
--- portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletPreferencesImpl.java (original)
+++ portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletPreferencesImpl.java Sat Feb 3 13:14:06 2007
@@ -45,8 +45,8 @@
* Implementation of the <code>javax.portlet.PortletPreferences</code>
* interface.
*
- * @see org.apache.pluto.core.PortletPreference
- * @see org.apache.pluto.core.impl.PortletPreferenceImpl
+ * @see PortletPreferences
+ * @see PortletPreferenceImpl
*
* @author <a href="mailto:ddewolf@apache.org">David H. DeWolf</a>
* @author <a href="mailto:zheng@apache.org">ZHENG Zhong</a>
@@ -90,7 +90,7 @@
/**
* Constructs an instance.
* @param container the portlet container.
- * @param portletWindow the internal portlet window.
+ * @param window the internal portlet window.
* @param request the internal portlet request.
* @param methodId the request method ID: render request or action request.
*/
Modified: portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/spi/optional/PortletEnvironmentService.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/spi/optional/PortletEnvironmentService.java?view=diff&rev=503314&r1=503313&r2=503314
==============================================================================
--- portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/spi/optional/PortletEnvironmentService.java (original)
+++ portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/spi/optional/PortletEnvironmentService.java Sat Feb 3 13:14:06 2007
@@ -15,38 +15,48 @@
*/
package org.apache.pluto.spi.optional;
-import org.apache.pluto.internal.InternalPortletWindow;
+import org.apache.pluto.PortletContainer;
+import org.apache.pluto.internal.InternalActionResponse;
import org.apache.pluto.internal.InternalPortletRequest;
import org.apache.pluto.internal.InternalPortletResponse;
-import org.apache.pluto.internal.InternalActionResponse;
+import org.apache.pluto.internal.InternalPortletWindow;
+import org.apache.pluto.internal.InternalRenderRequest;
+import org.apache.pluto.internal.InternalActionRequest;
+import org.apache.pluto.internal.InternalRenderResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Factory Service for creating Portlet request and responses.
- * <a href="mailto:zheng@apache.org">ZHENG Zhong</a>
+ *
+ * @author David H. DeWolf
+ * @since 1.1.0
*/
public interface PortletEnvironmentService {
-
- public InternalPortletRequest createActionRequest(
- HttpServletRequest servletRequest,
- HttpServletResponse servletResponse,
- InternalPortletWindow internalPortletWindow);
-
- public InternalActionResponse createActionRespose(
- HttpServletRequest servletRequest,
- HttpServletResponse servletResponse,
- InternalPortletWindow internalPortletWindow);
-
- public InternalPortletRequest createRenderRequest(
- HttpServletRequest servletRequest,
- HttpServletResponse servletResponse,
- InternalPortletWindow internalPortletWindow);
-
- public InternalPortletResponse createRenderRespose(
- HttpServletRequest servletRequest,
- HttpServletResponse servletResponse,
- InternalPortletWindow internalPortletWindow);
-
+
+ public InternalActionRequest createActionRequest(
+ PortletContainer container,
+ HttpServletRequest servletRequest,
+ HttpServletResponse servletResponse,
+ InternalPortletWindow internalPortletWindow);
+
+ public InternalActionResponse createActionResponse(
+ PortletContainer container,
+ HttpServletRequest servletRequest,
+ HttpServletResponse servletResponse,
+ InternalPortletWindow internalPortletWindow);
+
+ public InternalRenderRequest createRenderRequest(
+ PortletContainer container,
+ HttpServletRequest servletRequest,
+ HttpServletResponse servletResponse,
+ InternalPortletWindow internalPortletWindow);
+
+ public InternalRenderResponse createRenderResponse(
+ PortletContainer container,
+ HttpServletRequest servletRequest,
+ HttpServletResponse servletResponse,
+ InternalPortletWindow internalPortletWindow);
+
}
Modified: portals/pluto/trunk/pluto-descriptor-api/src/main/java/org/apache/pluto/descriptors/portlet/PortletAppDD.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-descriptor-api/src/main/java/org/apache/pluto/descriptors/portlet/PortletAppDD.java?view=diff&rev=503314&r1=503313&r2=503314
==============================================================================
--- portals/pluto/trunk/pluto-descriptor-api/src/main/java/org/apache/pluto/descriptors/portlet/PortletAppDD.java (original)
+++ portals/pluto/trunk/pluto-descriptor-api/src/main/java/org/apache/pluto/descriptors/portlet/PortletAppDD.java Sat Feb 3 13:14:06 2007
@@ -27,6 +27,9 @@
*/
public class PortletAppDD {
+ /** PortletApplication descriptor version */
+ private String version;
+
/** The defined portlets within the system. */
private List portlets = new ArrayList();
@@ -46,6 +49,15 @@
* Default Constructor.
*/
public PortletAppDD() {
+ }
+
+
+ public String getVersion() {
+ return version;
+ }
+
+ public void setVersion(String version) {
+ this.version = version;
}
/**
Modified: portals/pluto/trunk/pluto-descriptor-impl/src/main/resources/org/apache/pluto/descriptors/services/castor/castor-portlet-xml-mapping.xml
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-descriptor-impl/src/main/resources/org/apache/pluto/descriptors/services/castor/castor-portlet-xml-mapping.xml?view=diff&rev=503314&r1=503313&r2=503314
==============================================================================
--- portals/pluto/trunk/pluto-descriptor-impl/src/main/resources/org/apache/pluto/descriptors/services/castor/castor-portlet-xml-mapping.xml (original)
+++ portals/pluto/trunk/pluto-descriptor-impl/src/main/resources/org/apache/pluto/descriptors/services/castor/castor-portlet-xml-mapping.xml Sat Feb 3 13:14:06 2007
@@ -25,6 +25,11 @@
<class name="org.apache.pluto.descriptors.portlet.PortletAppDD">
<map-to xml="portlet-app"/>
+
+ <field name="Version">
+ <bind-xml name="version" node="attribute"/>
+ </field>
+
<field name="Portlets"
type="org.apache.pluto.descriptors.portlet.PortletDD"
collection="arraylist">
Modified: portals/pluto/trunk/pluto-descriptor-impl/src/test/java/org/apache/pluto/descriptors/services/castor/PortletAppDescriptorServiceImplTest.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-descriptor-impl/src/test/java/org/apache/pluto/descriptors/services/castor/PortletAppDescriptorServiceImplTest.java?view=diff&rev=503314&r1=503313&r2=503314
==============================================================================
--- portals/pluto/trunk/pluto-descriptor-impl/src/test/java/org/apache/pluto/descriptors/services/castor/PortletAppDescriptorServiceImplTest.java (original)
+++ portals/pluto/trunk/pluto-descriptor-impl/src/test/java/org/apache/pluto/descriptors/services/castor/PortletAppDescriptorServiceImplTest.java Sat Feb 3 13:14:06 2007
@@ -42,6 +42,7 @@
InputStream in = new ByteArrayInputStream(xml.toString().getBytes());
PortletAppDD dd = service.read(in);
+ assertEquals("1.0", dd.getVersion());
assertEquals(0, dd.getPortlets().size());
assertEquals(2, dd.getCustomPortletModes().size());
assertEquals(2, dd.getCustomWindowStates().size());