You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2007/11/28 00:28:35 UTC
svn commit: r598818 - in /cocoon/trunk/blocks/cocoon-portal:
cocoon-portal-api/pom.xml
cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/adapter/PortletAdapter.java
pom.xml
Author: cziegeler
Date: Tue Nov 27 15:28:25 2007
New Revision: 598818
URL: http://svn.apache.org/viewvc?rev=598818&view=rev
Log:
Fix compilation problems for api and portlet block and put portlet block back into build.
Modified:
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-api/pom.xml
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/adapter/PortletAdapter.java
cocoon/trunk/blocks/cocoon-portal/pom.xml
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-api/pom.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-api/pom.xml?rev=598818&r1=598817&r2=598818&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-api/pom.xml (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-api/pom.xml Tue Nov 27 15:28:25 2007
@@ -47,9 +47,16 @@
<dependencies>
<dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
</dependency>
+
</dependencies>
</project>
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/adapter/PortletAdapter.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/adapter/PortletAdapter.java?rev=598818&r1=598817&r2=598818&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/adapter/PortletAdapter.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/adapter/PortletAdapter.java Tue Nov 27 15:28:25 2007
@@ -18,7 +18,6 @@
import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
import java.util.Properties;
import javax.portlet.PortletMode;
@@ -31,7 +30,6 @@
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.cocoon.components.serializers.util.EncodingSerializer;
-import org.apache.cocoon.environment.http.HttpEnvironment;
import org.apache.cocoon.portal.Constants;
import org.apache.cocoon.portal.PortalException;
import org.apache.cocoon.portal.coplet.adapter.CopletDecorationProvider;
@@ -151,15 +149,15 @@
coplet.setTemporaryAttribute(PORTLET_WINDOW_ATTRIBUTE_NAME, portletWindow);
// load the portlet
- final Map objectModel = this.portalService.getProcessInfoProvider().getObjectModel();
- ServletRequestImpl req = (ServletRequestImpl) objectModel.get("portlet-request");
+ final HttpServletRequest servletRequest = this.portalService.getRequestContext().getRequest();
+ ServletRequestImpl req = (ServletRequestImpl) servletRequest.getAttribute("portlet-request-" + coplet.getId());
if ( req == null ) {
- final HttpServletResponse res = (HttpServletResponse) objectModel.get(HttpEnvironment.HTTP_RESPONSE_OBJECT);
- objectModel.put("portlet-response", new ServletResponseImpl(res));
- req = new ServletRequestImpl((HttpServletRequest) objectModel.get(HttpEnvironment.HTTP_REQUEST_OBJECT), null);
- objectModel.put("portlet-request", req);
+ final HttpServletResponse res = this.portalService.getRequestContext().getResponse();
+ servletRequest.setAttribute("portlet-response-" + coplet.getId(), new ServletResponseImpl(res));
+ req = new ServletRequestImpl(servletRequest, null);
+ servletRequest.setAttribute("portlet-request-" + coplet.getId(), req);
}
- final HttpServletResponse res = (HttpServletResponse) objectModel.get("portlet-response");
+ final HttpServletResponse res = (HttpServletResponse) servletRequest.getAttribute("portlet-response-" + coplet.getId());
try {
this.portletContainer.portletLoad(portletWindow, req.getRequest(portletWindow),
res);
@@ -187,9 +185,23 @@
if ( window == null ) {
throw new SAXException("Portlet couldn't be loaded: " + coplet.getId() + "(" + portletEntityId + ")");
}
- final Map objectModel = this.portalService.getProcessInfoProvider().getObjectModel();
- final ServletRequestImpl req = (ServletRequestImpl) objectModel.get("portlet-request");
- final HttpServletResponse res = (HttpServletResponse) objectModel.get("portlet-response");
+ final HttpServletRequest servletRequest = this.portalService.getRequestContext().getRequest();
+
+ ServletRequestImpl req = (ServletRequestImpl) servletRequest.getAttribute("portlet-request-" + coplet.getId());
+ HttpServletResponse res = (HttpServletResponse) servletRequest.getAttribute("portlet-response-" + coplet.getId());
+
+ if ( res == null ) {
+ res = new ServletResponseImpl(this.portalService.getRequestContext().getResponse());
+ servletRequest.setAttribute("portlet-response-" + coplet.getId(), res);
+ }
+ if ( req == null ) {
+ req = new ServletRequestImpl(this.portalService.getRequestContext().getRequest(), null);
+ servletRequest.setAttribute("portlet-request-" + coplet.getId(), req);
+ }
+ if ( !this.portalService.getUserService().getUser().isAnonymous() ) {
+ req.setAttribute(PortletRequest.USER_INFO,
+ this.portalService.getUserService().getUser().getUserInfos());
+ }
// TODO - for parallel processing we have to clone the response!
this.portletContainer.renderPortlet(window, req.getRequest(window), res);
@@ -304,15 +316,15 @@
* @see Receiver
*/
public void inform(PortletURLProviderImpl event) {
- final Map objectModel = this.portalService.getProcessInfoProvider().getObjectModel();
- final ServletRequestImpl req = new ServletRequestImpl((HttpServletRequest) objectModel.get(HttpEnvironment.HTTP_REQUEST_OBJECT), event);
- final HttpServletResponse res = new ServletResponseImpl((HttpServletResponse) objectModel.get(HttpEnvironment.HTTP_RESPONSE_OBJECT));
+ final HttpServletRequest servletRequest = this.portalService.getRequestContext().getRequest();
+ final ServletRequestImpl req = new ServletRequestImpl(servletRequest, event);
+ final HttpServletResponse res = new ServletResponseImpl(this.portalService.getRequestContext().getResponse());
if ( !this.portalService.getUserService().getUser().isAnonymous() ) {
req.setAttribute(PortletRequest.USER_INFO,
this.portalService.getUserService().getUser().getUserInfos());
}
- objectModel.put("portlet-response", res);
- objectModel.put("portlet-request", req);
+ servletRequest.setAttribute("portlet-response-" + event.getTarget().getId(), res);
+ servletRequest.setAttribute("portlet-request-" + event.getTarget().getId(), req);
// change portlet mode and window state
final InformationProviderService ips = (InformationProviderService)this.portletContainerEnvironment.getContainerService(InformationProviderService.class);
final DynamicInformationProvider dynProv = ips.getDynamicProvider(req);
@@ -328,7 +340,8 @@
}
if ( event.isAction() ) {
// This means we can only have ONE portlet event per request!
- objectModel.put("portlet-event", event);
+ servletRequest.setAttribute("portlet-event", event);
+ servletRequest.setAttribute("portlet-event-target", event.getTarget().getId());
} else {
((PortletActionProviderImpl)pap).changeRenderParameters(event.getParameters());
}
@@ -364,27 +377,19 @@
// do we already have an environment?
// if not, create one
- final Map objectModel = aspectContext.getPortalService().getProcessInfoProvider().getObjectModel();
+ final HttpServletRequest servletRequest = this.portalService.getRequestContext().getRequest();
- PortletURLProviderImpl event = (PortletURLProviderImpl) objectModel.get("portlet-event");
+ PortletURLProviderImpl event = (PortletURLProviderImpl) servletRequest.getAttribute("portlet-event");
if ( event != null ) {
+ final String targetId = (String) servletRequest.getAttribute("portlet-event-target");
PortletWindow actionWindow = event.getPortletWindow();
try {
- final ServletRequestImpl req = (ServletRequestImpl) objectModel.get("portlet-request");
- final ServletResponseImpl res= (ServletResponseImpl)objectModel.get("portlet-response");
+ final ServletRequestImpl req = (ServletRequestImpl) servletRequest.getAttribute("portlet-request-" + targetId);
+ final ServletResponseImpl res= (ServletResponseImpl)servletRequest.getAttribute("portlet-response-" + targetId);
this.portletContainer.processPortletAction(actionWindow, req.getRequest(actionWindow), res);
} catch (Exception ignore) {
this.getLogger().error("Error during processing of portlet action.", ignore);
}
- } else if ( objectModel.get("portlet-response") == null ) {
- final HttpServletResponse res = (HttpServletResponse) objectModel.get(HttpEnvironment.HTTP_RESPONSE_OBJECT);
- objectModel.put("portlet-response", new ServletResponseImpl(res));
- final ServletRequestImpl req = new ServletRequestImpl((HttpServletRequest) objectModel.get(HttpEnvironment.HTTP_REQUEST_OBJECT), null);
- objectModel.put("portlet-request", req);
- if ( !aspectContext.getPortalService().getUserService().getUser().isAnonymous() ) {
- req.setAttribute(PortletRequest.USER_INFO,
- aspectContext.getPortalService().getUserService().getUser().getUserInfos());
- }
}
}
@@ -395,12 +400,14 @@
ContentHandler ch,
Properties properties)
throws SAXException {
- final Map objectModel = aspectContext.getPortalService().getProcessInfoProvider().getObjectModel();
+ final HttpServletRequest servletRequest = aspectContext.getPortalService().getRequestContext().getRequest();
// don't generate a response, if we issued a redirect
- if (objectModel.remove("portlet-event") == null) {
+ if (servletRequest.getAttribute("portlet-event") == null) {
aspectContext.invokeNext(ch, properties);
}
+ servletRequest.removeAttribute("portlet-event");
+ servletRequest.removeAttribute("portlet-event-target");
}
protected String getResponse(CopletInstance instance, HttpServletResponse response) {
@@ -415,7 +422,7 @@
final PortletWindow window = (PortletWindow)copletInstanceData.getTemporaryAttribute(PORTLET_WINDOW_ATTRIBUTE_NAME);
if ( window != null ) {
InformationProviderService ips = (InformationProviderService) this.portletContainerEnvironment.getContainerService(InformationProviderService.class);
- DynamicInformationProvider dip = ips.getDynamicProvider((HttpServletRequest) this.portalService.getProcessInfoProvider().getObjectModel().get("portlet-request"));
+ DynamicInformationProvider dip = ips.getDynamicProvider(this.portalService.getRequestContext().getRequest());
// portlet modes
final String pmString = (String)copletInstanceData.getTemporaryAttribute(PORTLET_MODE_ATTRIBUTE_NAME);
@@ -456,7 +463,7 @@
final PortletWindow window = (PortletWindow)copletInstanceData.getTemporaryAttribute(PORTLET_WINDOW_ATTRIBUTE_NAME);
if ( window != null ) {
InformationProviderService ips = (InformationProviderService) this.portletContainerEnvironment.getContainerService(InformationProviderService.class);
- DynamicInformationProvider dip = ips.getDynamicProvider((HttpServletRequest)this.portalService.getProcessInfoProvider().getObjectModel().get("portlet-request"));
+ DynamicInformationProvider dip = ips.getDynamicProvider(this.portalService.getRequestContext().getRequest());
// Sizing
final String wsString = (String)copletInstanceData.getTemporaryAttribute(WINDOW_STATE_ATTRIBUTE_NAME);
Modified: cocoon/trunk/blocks/cocoon-portal/pom.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/pom.xml?rev=598818&r1=598817&r2=598818&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/pom.xml (original)
+++ cocoon/trunk/blocks/cocoon-portal/pom.xml Tue Nov 27 15:28:25 2007
@@ -37,8 +37,8 @@
<module>cocoon-portal-api</module>
<module>cocoon-portal-auth-impl</module>
<module>cocoon-portal-impl</module>
- <!--
<module>cocoon-portal-portlet-impl</module>
+ <!--
<module>cocoon-portal-portlet-newimpl</module>
<module>cocoon-portal-wsrp-impl</module>
-->