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 2005/10/27 16:57:52 UTC
svn commit: r328887 - in /portals/pluto/branches/pluto-1.1:
pluto-container/src/main/java/org/apache/pluto/
pluto-container/src/main/java/org/apache/pluto/core/
pluto-container/src/main/java/org/apache/pluto/core/impl/
pluto-container/src/main/java/org...
Author: ddewolf
Date: Thu Oct 27 07:57:39 2005
New Revision: 328887
URL: http://svn.apache.org/viewcvs?rev=328887&view=rev
Log:
Refactoring container services to simplify and standardize the way services are handled. Introducing optional services.
Removed:
portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/services/DynamicInformationProvider.java
portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/services/PropertyManagerService.java
portals/pluto/branches/pluto-1.1/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/container/DynamicInformationProviderImpl.java
portals/pluto/branches/pluto-1.1/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/container/PropertyManagerProviderImpl.java
Modified:
portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/PortletContainer.java
portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/PortletContainerFactory.java
portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/PortletContainerImpl.java
portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/PortletInvoker.java
portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/ActionResponseImpl.java
portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/PortletPreferencesImpl.java
portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/PortletRequestImpl.java
portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/PortletResponseImpl.java
portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/PortletURLImpl.java
portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/RenderResponseImpl.java
portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/services/PortletContainerServices.java
portals/pluto/branches/pluto-1.1/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/container/ContainerServicesImpl.java
portals/pluto/branches/pluto-1.1/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/container/PortalCallbackProviderImpl.java
portals/pluto/branches/pluto-1.1/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/container/PortletPreferencesProviderImpl.java
portals/pluto/branches/pluto-1.1/pluto-site/src/site/apt/app-servers.apt
Modified: portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/PortletContainer.java
URL: http://svn.apache.org/viewcvs/portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/PortletContainer.java?rev=328887&r1=328886&r2=328887&view=diff
==============================================================================
--- portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/PortletContainer.java (original)
+++ portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/PortletContainer.java Thu Oct 27 07:57:39 2005
@@ -16,6 +16,7 @@
package org.apache.pluto;
import org.apache.pluto.services.PortletContainerServices;
+import org.apache.pluto.services.OptionalPortletContainerServices;
import javax.portlet.PortletException;
import javax.servlet.ServletContext;
@@ -130,4 +131,10 @@
* @return the container services associated with this container.
*/
public PortletContainerServices getContainerServices();
+
+ /**
+ * Retrieve the optional container services associated with this contianer.
+ * @return the container services provided by either the portal or the defaults.
+ */
+ public OptionalPortletContainerServices getOptionalContainerServices();
}
Modified: portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/PortletContainerFactory.java
URL: http://svn.apache.org/viewcvs/portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/PortletContainerFactory.java?rev=328887&r1=328886&r2=328887&view=diff
==============================================================================
--- portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/PortletContainerFactory.java (original)
+++ portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/PortletContainerFactory.java Thu Oct 27 07:57:39 2005
@@ -18,7 +18,9 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.pluto.core.PortletContainerImpl;
+import org.apache.pluto.core.DefaultOptionalServices;
import org.apache.pluto.services.PortletContainerServices;
+import org.apache.pluto.services.OptionalPortletContainerServices;
import org.apache.pluto.util.ArgumentUtility;
/**
@@ -65,23 +67,30 @@
* Create a container with the given containerName, initialized from the given
* servlet config, and using the given container services.
* @param containerName
- * @param env
+ * @param services
* @return newly created PortletContainer
* @throws PortletContainerException
*/
public PortletContainer createContainer(String containerName,
- PortletContainerServices env)
+ PortletContainerServices services)
throws PortletContainerException {
+ return createContainer(containerName, services, new DefaultOptionalServices());
+ }
- ArgumentUtility.validateNotNull("environment", env);
+ public PortletContainer createContainer(String containerName,
+ PortletContainerServices services,
+ OptionalPortletContainerServices optionalServices) {
+
+ ArgumentUtility.validateNotNull("containerServices", services);
ArgumentUtility.validateNotEmpty("containerName", containerName);
PortletContainer container =
- new PortletContainerImpl(containerName, env);
+ new PortletContainerImpl(containerName, services, optionalServices);
if (LOG.isInfoEnabled()) {
LOG.info("Portlet Container [" + containerName + "] created.");
}
+
return container;
}
}
Modified: portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/PortletContainerImpl.java
URL: http://svn.apache.org/viewcvs/portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/PortletContainerImpl.java?rev=328887&r1=328886&r2=328887&view=diff
==============================================================================
--- portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/PortletContainerImpl.java (original)
+++ portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/PortletContainerImpl.java Thu Oct 27 07:57:39 2005
@@ -34,6 +34,7 @@
import org.apache.pluto.core.impl.RenderResponseImpl;
import org.apache.pluto.services.PortletContainerServices;
import org.apache.pluto.services.PortletURLProvider;
+import org.apache.pluto.services.OptionalPortletContainerServices;
/**
* Default Pluto Container implementation.
@@ -53,6 +54,7 @@
/** The PortletContainerServices associated with this container. */
private PortletContainerServices containerServices;
+ private OptionalPortletContainerServices optionalContainerServices;
/** The ServletContext associated with this container. */
private ServletContext context;
@@ -67,9 +69,11 @@
* @param services the container services implementation.
*/
public PortletContainerImpl(String name,
- PortletContainerServices services) {
+ PortletContainerServices services,
+ OptionalPortletContainerServices optionalServices) {
this.name = name;
this.containerServices = services;
+ this.optionalContainerServices = optionalServices;
}
/**
@@ -192,8 +196,8 @@
}
PortletURLProvider redirectURL =
- containerServices.getDynamicInformationProvider(request)
- .getPortletURLProvider(window);
+ containerServices.getPortalCallbackService()
+ .getPortletURLProvider(request, window);
if (res.getChangedPortletMode() != null) {
redirectURL.setPortletMode(res.getChangedPortletMode());
@@ -268,6 +272,10 @@
public PortletContainerServices getContainerServices() {
return containerServices;
+ }
+
+ public OptionalPortletContainerServices getOptionalContainerServices() {
+ return optionalContainerServices;
}
}
Modified: portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/PortletInvoker.java
URL: http://svn.apache.org/viewcvs/portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/PortletInvoker.java?rev=328887&r1=328886&r2=328887&view=diff
==============================================================================
--- portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/PortletInvoker.java (original)
+++ portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/PortletInvoker.java Thu Oct 27 07:57:39 2005
@@ -20,6 +20,10 @@
import javax.portlet.PortletException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -142,9 +146,19 @@
methodID);
request.setAttribute(
org.apache.pluto.Constants.PORTLET_REQUEST, request);
+
request.setAttribute(
org.apache.pluto.Constants.PORTLET_RESPONSE, response);
+
+ // TODO
+ // Tomcat does not like to properly include wrapped requests
+ // and responses. Thus we "unwrap" and then include.
+
+ //HttpServletRequest req = request.getHttpServletRequest();
+ //HttpServletResponse res = response.getHttpServletResponse();
+
dispatcher.include(request, response);
+
} catch (javax.servlet.UnavailableException e) {
int seconds = e.isPermanent()?-1:e.getUnavailableSeconds();
String message = EXCEPTIONS.getString(
Modified: portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/ActionResponseImpl.java
URL: http://svn.apache.org/viewcvs/portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/ActionResponseImpl.java?rev=328887&r1=328886&r2=328887&view=diff
==============================================================================
--- portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/ActionResponseImpl.java (original)
+++ portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/ActionResponseImpl.java Thu Oct 27 07:57:39 2005
@@ -30,14 +30,16 @@
import javax.portlet.PortletModeException;
import javax.portlet.WindowState;
import javax.portlet.WindowStateException;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpServletResponseWrapper;
import org.apache.pluto.PortletContainer;
import org.apache.pluto.descriptors.portlet.PortletDD;
import org.apache.pluto.descriptors.portlet.SupportsDD;
import org.apache.pluto.core.InternalActionResponse;
import org.apache.pluto.core.InternalPortletWindow;
-import org.apache.pluto.services.DynamicInformationProvider;
import org.apache.pluto.services.ResourceURLProvider;
+import org.apache.pluto.services.PortalCallbackService;
import org.apache.pluto.util.StringUtils;
public class ActionResponseImpl extends PortletResponseImpl
@@ -55,7 +57,7 @@
private WindowState windowState = null;
private PortletMode portletMode = null;
- private DynamicInformationProvider provider;
+ private PortalCallbackService callback;
private PortalContext context;
@@ -66,12 +68,12 @@
super(container, internalPortletWindow, servletRequest,
servletResponse);
context = container.getContainerServices().getPortalContext();
- provider =
- container.getContainerServices().getDynamicInformationProvider(
- servletRequest);
+ callback = container.getContainerServices().getPortalCallbackService();
}
- // javax.portlet.ActionResponse ---------------------------------------------------------------
+//
+// javax.portlet.ActionResponse
+//
public void setWindowState(WindowState windowState)
throws WindowStateException {
if (redirected) {
@@ -114,14 +116,17 @@
public void sendRedirect(String location) throws java.io.IOException {
if (redirectAllowed) {
if (location != null) {
- javax.servlet.http.HttpServletResponse redirectResponse = _getHttpServletResponse();
- while (redirectResponse instanceof javax.servlet.http.HttpServletResponseWrapper) {
- redirectResponse =
- (javax.servlet.http.HttpServletResponse)
- ((javax.servlet.http.HttpServletResponseWrapper) redirectResponse).getResponse();
+ HttpServletResponse redirectResponse = getHttpServletResponse();
+ while (redirectResponse instanceof HttpServletResponseWrapper) {
+ redirectResponse = (HttpServletResponse)
+ ((HttpServletResponseWrapper)redirectResponse).getResponse();
}
- ResourceURLProvider provider = this.provider.getResourceURLProvider(
- getInternalPortletWindow());
+
+ ResourceURLProvider provider = callback.getResourceURLProvider(
+ getHttpServletRequest(),
+ getInternalPortletWindow()
+ );
+
if (location.indexOf("://") != -1) {
provider.setAbsoluteURL(location);
} else {
Modified: portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/PortletPreferencesImpl.java
URL: http://svn.apache.org/viewcvs/portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/PortletPreferencesImpl.java?rev=328887&r1=328886&r2=328887&view=diff
==============================================================================
--- portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/PortletPreferencesImpl.java (original)
+++ portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/PortletPreferencesImpl.java Thu Oct 27 07:57:39 2005
@@ -37,7 +37,7 @@
import org.apache.pluto.core.InternalPortletWindow;
import org.apache.pluto.core.PortletPreference;
import org.apache.pluto.core.PortletEntity;
-import org.apache.pluto.services.PortletPreferencesFactory;
+import org.apache.pluto.services.PortletPreferencesService;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.logging.Log;
@@ -45,7 +45,7 @@
public class PortletPreferencesImpl implements PortletPreferences {
private static final Log LOG = LogFactory.getLog(PortletPreferencesImpl.class);
- private PortletPreferencesFactory factory;
+ private PortletPreferencesService factory;
private InternalPortletWindow window;
@@ -63,7 +63,7 @@
InternalPortletRequest request,
Integer methodId) {
this.factory =
- container.getContainerServices().getPortletPreferencesFactory();
+ container.getOptionalContainerServices().getPortletPreferencesService();
this.window = window;
this.request = request;
this.methodId = methodId;
@@ -77,8 +77,9 @@
preferences.put(prefs[i].getName(), prefs[i]);
}
- PortletPreferencesFactory factory
- = container.getContainerServices().getPortletPreferencesFactory();
+ PortletPreferencesService factory = container
+ .getOptionalContainerServices()
+ .getPortletPreferencesService();
try {
prefs = factory.getStoredPreferences(window, request);
@@ -99,7 +100,7 @@
}
PortletPreference pref = (PortletPreference) preferences.get(key);
- return pref == null ? true : pref.isReadOnly();
+ return pref == null || pref.isReadOnly();
}
public String getValue(String key, String def) {
@@ -107,7 +108,7 @@
throw new IllegalArgumentException("key == null");
}
- String[] value = null;
+ String[] value;
PortletPreference pref = (PortletPreference) preferences.get(key);
if (pref != null) {
@@ -123,7 +124,7 @@
throw new IllegalArgumentException("key == null");
}
- String[] values = null;
+ String[] values;
PortletPreference pref = (PortletPreference) preferences.get(key);
if (pref != null) {
Modified: portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/PortletRequestImpl.java
URL: http://svn.apache.org/viewcvs/portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/PortletRequestImpl.java?rev=328887&r1=328886&r2=328887&view=diff
==============================================================================
--- portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/PortletRequestImpl.java (original)
+++ portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/PortletRequestImpl.java Thu Oct 27 07:57:39 2005
@@ -22,7 +22,6 @@
import org.apache.pluto.descriptors.common.SecurityRoleRefDD;
import org.apache.pluto.descriptors.portlet.PortletDD;
import org.apache.pluto.descriptors.portlet.SupportsDD;
-import org.apache.pluto.services.PropertyManagerService;
import org.apache.pluto.util.Enumerator;
import org.apache.pluto.util.NamespaceMapper;
import org.apache.pluto.util.StringUtils;
@@ -169,10 +168,9 @@
String prop = this.getHttpServletRequest().getHeader(name);
if (prop == null) {
// get properties from PropertyManager
- PropertyManagerService mgr = container.getContainerServices()
- .getPropertyManagerService();
- Map map = mgr.getRequestProperties(internalPortletWindow,
- this.getHttpServletRequest());
+ Map map = container.getContainerServices()
+ .getPortalCallbackService()
+ .getRequestProperties(getHttpServletRequest(), internalPortletWindow);
if (map != null) {
String[] properties = (String[]) map.get(name);
if ((properties != null) && (properties.length > 0)) {
@@ -191,7 +189,6 @@
Set v = new HashSet();
- // get properties from request header
Enumeration props = this.getHttpServletRequest().getHeaders(name);
if (props != null) {
while (props.hasMoreElements()) {
@@ -200,10 +197,10 @@
}
// get properties from PropertyManager
- PropertyManagerService mgr = container.getContainerServices()
- .getPropertyManagerService();
- Map map = mgr.getRequestProperties(internalPortletWindow,
- this.getHttpServletRequest());
+ Map map = container.getContainerServices()
+ .getPortalCallbackService()
+ .getRequestProperties(getHttpServletRequest(), internalPortletWindow);
+
if (map != null) {
String[] properties = (String[]) map.get(name);
@@ -222,10 +219,10 @@
Set v = new HashSet();
// get properties from PropertyManager
- PropertyManagerService mgr = container.getContainerServices()
- .getPropertyManagerService();
- Map map = mgr.getRequestProperties(internalPortletWindow,
- this.getHttpServletRequest());
+ Map map = container.getContainerServices()
+ .getPortalCallbackService()
+ .getRequestProperties(getHttpServletRequest(), internalPortletWindow);
+
if (map != null) {
v.addAll(map.keySet());
}
@@ -285,7 +282,7 @@
}
}
- String link = null;
+ String link;
if (ref != null && ref.getRoleLink() != null) {
link = ref.getRoleLink();
} else {
@@ -594,8 +591,7 @@
"This method must not be called after the HTTP-Body was accessed !");
}
- this.getHttpServletRequest().setCharacterEncoding(env);
- return;
+ getHttpServletRequest().setCharacterEncoding(env);
}
public javax.servlet.ServletInputStream getInputStream()
Modified: portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/PortletResponseImpl.java
URL: http://svn.apache.org/viewcvs/portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/PortletResponseImpl.java?rev=328887&r1=328886&r2=328887&view=diff
==============================================================================
--- portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/PortletResponseImpl.java (original)
+++ portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/PortletResponseImpl.java Thu Oct 27 07:57:39 2005
@@ -22,18 +22,16 @@
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
-import java.util.HashMap;
-import java.util.Map;
import javax.portlet.PortletResponse;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import org.apache.pluto.PortletContainer;
import org.apache.pluto.core.InternalPortletResponse;
import org.apache.pluto.core.InternalPortletWindow;
import org.apache.pluto.services.PortletContainerServices;
-import org.apache.pluto.services.PropertyManagerService;
import org.apache.pluto.services.ResourceURLProvider;
import org.apache.pluto.util.PrintWriterServletOutputStream;
@@ -49,13 +47,13 @@
* this variable holds the servlet request of the target/portlet's web
* module
*/
- private javax.servlet.http.HttpServletRequest webModuleServletRequest;
+ private HttpServletRequest httpServletRequest;
+ private HttpServletResponse httpServletResponse;
private boolean usingWriter;
private boolean usingStream;
private ServletOutputStream wrappedWriter;
- private Map properties;
/**
* true if we are in an include call
@@ -64,11 +62,12 @@
public PortletResponseImpl(PortletContainer container,
InternalPortletWindow internalPortletWindow,
- javax.servlet.http.HttpServletRequest servletRequest,
- javax.servlet.http.HttpServletResponse servletResponse) {
+ HttpServletRequest servletRequest,
+ HttpServletResponse servletResponse) {
super(servletResponse);
this.container = container;
- this.webModuleServletRequest = servletRequest;
+ this.httpServletRequest = servletRequest;
+ this.httpServletResponse = servletResponse;
this.internalPortletWindow = internalPortletWindow;
}
@@ -78,26 +77,11 @@
throw new IllegalArgumentException("Property key == null");
}
- Map props = getProperties();
-
- String[] oldValues = (String[]) props.get(key);
- String[] newValues = null;
- if (oldValues == null) {
- newValues = new String[]{value};
- } else {
- int len = oldValues.length;
- newValues = new String[len + 1];
- System.arraycopy(oldValues, 0, newValues, 0, len);
- newValues[len] = value;
- }
- props.put(key, newValues);
-
- PropertyManagerService service = container.getContainerServices()
- .getPropertyManagerService();
- service.setResponseProperties(internalPortletWindow,
- this.getHttpServletRequest(),
- _getHttpServletResponse(), props);
-
+ container.getContainerServices()
+ .getPortalCallbackService()
+ .addResponseProperty(
+ getHttpServletRequest(), internalPortletWindow, key, value
+ );
}
public void setProperty(String key, String value) {
@@ -105,16 +89,11 @@
throw new IllegalArgumentException("Property key == null");
}
- Map props = getProperties();
-
- String[] newValues = new String[]{value};
- props.put(key, newValues);
-
- PropertyManagerService service = container.getContainerServices()
- .getPropertyManagerService();
- service.setResponseProperties(internalPortletWindow,
- this.getHttpServletRequest(),
- _getHttpServletResponse(), props);
+ container.getContainerServices()
+ .getPortalCallbackService()
+ .setResponseProperty(
+ getHttpServletRequest(), internalPortletWindow, key, value
+ );
}
public String encodeURL(String path) {
@@ -126,14 +105,14 @@
PortletContainerServices services = getContainer()
.getContainerServices();
ResourceURLProvider provider =
- services.getDynamicInformationProvider(webModuleServletRequest)
- .getResourceURLProvider(internalPortletWindow);
+ services.getPortalCallbackService()
+ .getResourceURLProvider(httpServletRequest,internalPortletWindow);
if (path.indexOf("://") != -1) {
provider.setAbsoluteURL(path);
} else {
provider.setFullPath(path);
}
- return this._getHttpServletResponse().encodeURL(provider.toString());
+ return getHttpServletResponse().encodeURL(provider.toString());
}
// --------------------------------------------------------------------------------------------
@@ -141,95 +120,87 @@
public void lateInit(
javax.servlet.http.HttpServletRequest webModuleServletRequest,
javax.servlet.http.HttpServletResponse webModuleServletResponse) {
- this.webModuleServletRequest = webModuleServletRequest;
+ this.httpServletRequest = webModuleServletRequest;
this.setResponse(webModuleServletResponse);
}
// --------------------------------------------------------------------------------------------
// internal methods ---------------------------------------------------------------------------
- protected javax.servlet.http.HttpServletResponse _getHttpServletResponse() {
- return (javax.servlet.http.HttpServletResponse) super.getResponse();
- }
-
- protected javax.servlet.http.HttpServletRequest getHttpServletRequest() {
- return webModuleServletRequest;
+ public HttpServletResponse getHttpServletResponse() {
+ return httpServletResponse;
}
- private Map getProperties() {
- if (properties == null) {
- properties = new HashMap();
- }
- return properties;
+ protected HttpServletRequest getHttpServletRequest() {
+ return httpServletRequest;
}
- // --------------------------------------------------------------------------------------------
// additional methods -------------------------------------------------------------------------
// servlet-only implementation
// (inherited from HttpServletResponseWrapper)
public void addCookie(javax.servlet.http.Cookie cookie) {
- this._getHttpServletResponse().addCookie(cookie);
+ getHttpServletResponse().addCookie(cookie);
}
public boolean containsHeader(String name) {
- return this._getHttpServletResponse().containsHeader(name);
+ return getHttpServletResponse().containsHeader(name);
}
public String encodeRedirectUrl(String url) {
return included
- ? null : this._getHttpServletResponse().encodeRedirectURL(url);
+ ? null : getHttpServletResponse().encodeRedirectURL(url);
}
public String encodeRedirectURL(String url) {
return included
- ? null : this._getHttpServletResponse().encodeRedirectURL(url);
+ ? null : getHttpServletResponse().encodeRedirectURL(url);
}
public void sendRedirect(String location) throws java.io.IOException {
- this._getHttpServletResponse().sendRedirect(location);
+ getHttpServletResponse().sendRedirect(location);
}
public void setDateHeader(String name, long date) {
- this._getHttpServletResponse().setDateHeader(name, date);
+ getHttpServletResponse().setDateHeader(name, date);
}
public void sendError(int sc, String msg) throws java.io.IOException {
- this._getHttpServletResponse().sendError(sc, msg);
+ getHttpServletResponse().sendError(sc, msg);
}
public void sendError(int sc) throws java.io.IOException {
- this._getHttpServletResponse().sendError(sc);
+ getHttpServletResponse().sendError(sc);
}
public void addHeader(String name, String value) {
- this._getHttpServletResponse().addHeader(name, value);
+ getHttpServletResponse().addHeader(name, value);
}
public void setIntHeader(String name, int value) {
- this._getHttpServletResponse().setIntHeader(name, value);
+ getHttpServletResponse().setIntHeader(name, value);
}
public void addDateHeader(String name, long date) {
- this._getHttpServletResponse().addDateHeader(name, date);
+ getHttpServletResponse().addDateHeader(name, date);
}
public void setHeader(String name, String value) {
- this._getHttpServletResponse().setHeader(name, value);
+ getHttpServletResponse().setHeader(name, value);
}
public void setStatus(int sc) {
- this._getHttpServletResponse().setStatus(sc);
+ getHttpServletResponse().setStatus(sc);
}
public void setStatus(int sc, String sm) {
- this._getHttpServletResponse().setStatus(sc, sm);
+ getHttpServletResponse().setStatus(sc, sm);
}
public void addIntHeader(String name, int value) {
- this._getHttpServletResponse().addIntHeader(name, value);
+ getHttpServletResponse().addIntHeader(name, value);
}
public void setContentLength(int len) {
- this._getHttpServletResponse().setContentLength(len);
+ getHttpServletResponse().setContentLength(len);
}
public String encodeUrl(String url) {
@@ -237,7 +208,7 @@
}
public void setLocale(java.util.Locale loc) {
- this._getHttpServletResponse().setLocale(loc);
+ getHttpServletResponse().setLocale(loc);
}
public ServletOutputStream getOutputStream() throws IllegalStateException,
@@ -250,7 +221,7 @@
if (wrappedWriter == null) {
wrappedWriter =
new PrintWriterServletOutputStream(
- _getHttpServletResponse().getWriter());
+ getHttpServletResponse().getWriter());
}
usingStream = true;
@@ -267,7 +238,7 @@
usingWriter = true;
- return _getHttpServletResponse().getWriter();
+ return getHttpServletResponse().getWriter();
}
// other
@@ -278,7 +249,7 @@
// internal
HttpServletRequest getHttpDServletRequest() {
- return webModuleServletRequest;
+ return httpServletRequest;
}
public void setIncluded(boolean included) {
@@ -292,4 +263,5 @@
public PortletContainer getContainer() {
return container;
}
+
}
Modified: portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/PortletURLImpl.java
URL: http://svn.apache.org/viewcvs/portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/PortletURLImpl.java?rev=328887&r1=328886&r2=328887&view=diff
==============================================================================
--- portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/PortletURLImpl.java (original)
+++ portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/PortletURLImpl.java Thu Oct 27 07:57:39 2005
@@ -139,8 +139,8 @@
StringBuffer url = new StringBuffer(200);
PortletURLProvider urlProvider = container.getContainerServices()
- .getDynamicInformationProvider(servletRequest)
- .getPortletURLProvider(internalPortletWindow);
+ .getPortalCallbackService()
+ .getPortletURLProvider(servletRequest, internalPortletWindow);
if (mode != null) {
urlProvider.setPortletMode(mode);
Modified: portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/RenderResponseImpl.java
URL: http://svn.apache.org/viewcvs/portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/RenderResponseImpl.java?rev=328887&r1=328886&r2=328887&view=diff
==============================================================================
--- portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/RenderResponseImpl.java (original)
+++ portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/core/impl/RenderResponseImpl.java Thu Oct 27 07:57:39 2005
@@ -24,7 +24,7 @@
import org.apache.pluto.core.PortletEntity;
import org.apache.pluto.descriptors.portlet.PortletDD;
import org.apache.pluto.descriptors.portlet.SupportsDD;
-import org.apache.pluto.services.PortalCallbackProvider;
+import org.apache.pluto.services.PortalCallbackService;
import org.apache.pluto.util.NamespaceMapper;
import org.apache.pluto.util.StringManager;
import org.apache.pluto.util.StringUtils;
@@ -62,7 +62,7 @@
public String getContentType() {
// in servlet 2.4 we could simply use this:
- // return this._getHttpServletResponse().getContentType();
+ // return this.getHttpServletResponse().getContentType();
return currentContentType;
}
@@ -92,8 +92,8 @@
}
public void setTitle(String title) {
- PortalCallbackProvider callback =
- container.getContainerServices().getPortalCallbackProvider();
+ PortalCallbackService callback =
+ container.getContainerServices().getPortalCallbackService();
callback.setTitle(this.getHttpServletRequest(),
getInternalPortletWindow(),
@@ -105,12 +105,12 @@
if (!isValidContentType(mimeType)) {
throw new IllegalArgumentException(mimeType);
}
- this._getHttpServletResponse().setContentType(mimeType);
+ this.getHttpServletResponse().setContentType(mimeType);
currentContentType = mimeType;
}
public String getCharacterEncoding() {
- return this._getHttpServletResponse().getCharacterEncoding();
+ return this.getHttpServletResponse().getCharacterEncoding();
}
/**
@@ -136,24 +136,24 @@
}
public int getBufferSize() {
- //return this._getHttpServletResponse().getBufferSize();
+ //return this.getHttpServletResponse().getBufferSize();
return 0;
}
public void flushBuffer() throws java.io.IOException {
- this._getHttpServletResponse().flushBuffer();
+ this.getHttpServletResponse().flushBuffer();
}
public void resetBuffer() {
- this._getHttpServletResponse().resetBuffer();
+ this.getHttpServletResponse().resetBuffer();
}
public boolean isCommitted() {
- return this._getHttpServletResponse().isCommitted();
+ return this.getHttpServletResponse().isCommitted();
}
public void reset() {
- this._getHttpServletResponse().reset();
+ this.getHttpServletResponse().reset();
}
/**
@@ -182,7 +182,7 @@
return new PortletURLImpl(container,
getInternalPortletWindow(),
getHttpServletRequest(),
- _getHttpServletResponse(),
+ getHttpServletResponse(),
isAction);
}
Modified: portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/services/PortletContainerServices.java
URL: http://svn.apache.org/viewcvs/portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/services/PortletContainerServices.java?rev=328887&r1=328886&r2=328887&view=diff
==============================================================================
--- portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/services/PortletContainerServices.java (original)
+++ portals/pluto/branches/pluto-1.1/pluto-container/src/main/java/org/apache/pluto/services/PortletContainerServices.java Thu Oct 27 07:57:39 2005
@@ -11,20 +11,6 @@
public interface PortletContainerServices {
/**
- * Provider used to retrieve request-time services.
- * @param req
- * @return a DynamicInformationProvider implementation.
- */
- DynamicInformationProvider getDynamicInformationProvider(
- HttpServletRequest req);
-
- /**
- * Return the PortletPreferencesFactory implementation.
- * @return a PortletPreferencesFactory implementation.
- */
- PortletPreferencesFactory getPortletPreferencesFactory();
-
- /**
* Retrieve the PortalContext associated with this group of container
* services.
* @return a PortalContext implementation.
@@ -32,12 +18,8 @@
PortalContext getPortalContext();
/**
- * @return a PortalCallbackProvider implementation.
+ * @return a PortalCallbackService implementation.
*/
- PortalCallbackProvider getPortalCallbackProvider();
+ PortalCallbackService getPortalCallbackService();
- /**
- * @return a PropertyManagerService implementation.
- */
- PropertyManagerService getPropertyManagerService();
}
Modified: portals/pluto/branches/pluto-1.1/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/container/ContainerServicesImpl.java
URL: http://svn.apache.org/viewcvs/portals/pluto/branches/pluto-1.1/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/container/ContainerServicesImpl.java?rev=328887&r1=328886&r2=328887&view=diff
==============================================================================
--- portals/pluto/branches/pluto-1.1/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/container/ContainerServicesImpl.java (original)
+++ portals/pluto/branches/pluto-1.1/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/container/ContainerServicesImpl.java Thu Oct 27 07:57:39 2005
@@ -18,7 +18,6 @@
import org.apache.pluto.services.*;
import javax.portlet.PortalContext;
-import javax.servlet.http.HttpServletRequest;
/**
* The Portal Driver's <code>PortletContainerServices</code> implementation. The
@@ -28,14 +27,14 @@
* @version 1.0
* @since Sep 21, 2004
*/
-public class ContainerServicesImpl implements PortletContainerServices {
+public class ContainerServicesImpl
+ implements PortletContainerServices, OptionalPortletContainerServices {
private PortalContextImpl context;
- private PortletPreferencesFactory preferencesFactory;
- private PortalCallbackProvider callback;
- private PropertyManagerService propertyService;
+ private PortletPreferencesService preferencesFactory;
+ private PortalCallbackService callback;
/**
* Default Constructor.
@@ -44,7 +43,6 @@
this.context = context;
preferencesFactory = new PortletPreferencesProviderImpl();
callback = new PortalCallbackProviderImpl();
- propertyService = new PropertyManagerProviderImpl();
}
/**
@@ -56,43 +54,22 @@
}
/**
- * The PortletPreferencesFactory provides access to the portal's
+ * The PortletPreferencesService provides access to the portal's
* PortletPreference persistence mechanism.
- * @return a PortletPreferencesFactory instance.
+ * @return a PortletPreferencesService instance.
*/
- public PortletPreferencesFactory getPortletPreferencesFactory() {
+ public PortletPreferencesService getPortletPreferencesService() {
return preferencesFactory;
}
/**
- * The DynamicInformationProvider provides dynamic, runtime evaluated,
- * information.
- * @param req the HttpServletRequest identifying the request
- * @return a DynamicInformationProvider implementation.
- */
- public DynamicInformationProvider getDynamicInformationProvider(
- HttpServletRequest req) {
- return new DynamicInformationProviderImpl(req);
- }
-
-
- /**
- * The PortalCallbackProvider allows the container to communicate
+ * The PortalCallbackService allows the container to communicate
* actions back to the portal.
- * @return a PortalCallbackProvider implementation.
+ * @return a PortalCallbackService implementation.
*/
- public PortalCallbackProvider getPortalCallbackProvider() {
+ public PortalCallbackService getPortalCallbackService() {
return callback;
}
-
- /**
- * The PropertyManagerService manages portal properties.
- * @return a PropertyManagerService implemenatation.
- */
- public PropertyManagerService getPropertyManagerService() {
- return this.propertyService;
- }
-
}
Modified: portals/pluto/branches/pluto-1.1/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/container/PortalCallbackProviderImpl.java
URL: http://svn.apache.org/viewcvs/portals/pluto/branches/pluto-1.1/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/container/PortalCallbackProviderImpl.java?rev=328887&r1=328886&r2=328887&view=diff
==============================================================================
--- portals/pluto/branches/pluto-1.1/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/container/PortalCallbackProviderImpl.java (original)
+++ portals/pluto/branches/pluto-1.1/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/container/PortalCallbackProviderImpl.java Thu Oct 27 07:57:39 2005
@@ -18,14 +18,22 @@
import javax.servlet.http.HttpServletRequest;
import org.apache.pluto.PortletWindow;
-import org.apache.pluto.services.PortalCallbackProvider;
+import org.apache.pluto.driver.core.PortalEnvironment;
+import org.apache.pluto.driver.core.ResourceURLProviderImpl;
+import org.apache.pluto.services.PortalCallbackService;
+import org.apache.pluto.services.PortletURLProvider;
+import org.apache.pluto.services.ResourceURLProvider;
+
+import java.util.Map;
+import java.util.Collections;
/**
* @author <a href="ddewolf@apache.org">David H. DeWolf</a>
* @version 1.0
* @since Sep 22, 2004
*/
-public class PortalCallbackProviderImpl implements PortalCallbackProvider {
+public class PortalCallbackProviderImpl implements PortalCallbackService {
+
public PortalCallbackProviderImpl() {
@@ -37,6 +45,26 @@
request.setAttribute("org.apache.pluto.dynamic_title", title);
}
+ public PortletURLProvider getPortletURLProvider(
+ HttpServletRequest req, PortletWindow internalPortletWindow) {
+ return new PortletURLProviderImpl(req, internalPortletWindow);
+ }
+
+ public ResourceURLProvider getResourceURLProvider(
+ HttpServletRequest req, PortletWindow internalPortletWindow) {
+ return new ResourceURLProviderImpl(req, internalPortletWindow);
+ }
+
+ public Map getRequestProperties(HttpServletRequest req, PortletWindow portletWindow) {
+ return Collections.EMPTY_MAP;
+ }
+
+ public void setResponseProperty(HttpServletRequest req, PortletWindow window, String property, String value) {
+
+ }
+
+ public void addResponseProperty(HttpServletRequest req, PortletWindow window, String property, String value) {
+ }
}
Modified: portals/pluto/branches/pluto-1.1/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/container/PortletPreferencesProviderImpl.java
URL: http://svn.apache.org/viewcvs/portals/pluto/branches/pluto-1.1/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/container/PortletPreferencesProviderImpl.java?rev=328887&r1=328886&r2=328887&view=diff
==============================================================================
--- portals/pluto/branches/pluto-1.1/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/container/PortletPreferencesProviderImpl.java (original)
+++ portals/pluto/branches/pluto-1.1/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/container/PortletPreferencesProviderImpl.java Thu Oct 27 07:57:39 2005
@@ -28,21 +28,21 @@
import org.apache.pluto.PortletContainerException;
import org.apache.pluto.driver.services.container.PortletPreferenceImpl;
import org.apache.pluto.core.PortletPreference;
-import org.apache.pluto.services.PortletPreferencesFactory;
+import org.apache.pluto.services.PortletPreferencesService;
import org.apache.commons.digester.Digester;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.logging.Log;
import org.xml.sax.SAXException;
/**
- * The Portal Driver's PortletPreferencesFactory implementation. This
+ * The Portal Driver's PortletPreferencesService implementation. This
* implementation makes use of the filesystem for writing portlet preferences.
* @author <a href="ddewolf@apache.org">David H. DeWolf</a>
* @version 1.0
* @since Sep 22, 2004
*/
public class PortletPreferencesProviderImpl
- implements PortletPreferencesFactory {
+ implements PortletPreferencesService {
private static final Log LOG =
LogFactory.getLog(PortletPreferencesProviderImpl.class);
Modified: portals/pluto/branches/pluto-1.1/pluto-site/src/site/apt/app-servers.apt
URL: http://svn.apache.org/viewcvs/portals/pluto/branches/pluto-1.1/pluto-site/src/site/apt/app-servers.apt?rev=328887&r1=328886&r2=328887&view=diff
==============================================================================
--- portals/pluto/branches/pluto-1.1/pluto-site/src/site/apt/app-servers.apt (original)
+++ portals/pluto/branches/pluto-1.1/pluto-site/src/site/apt/app-servers.apt Thu Oct 27 07:57:39 2005
@@ -14,6 +14,7 @@
| App Server | Version | Status | Notes |
*-- --+-- --*-- --*-- --*
| Tomcat | 5.5.9 | WORKING |Use pluto-util module to install the the container and portal into tomcat. |
+| Tomcat | 5.5.12 | MANUAL |Tomcat contains a bug and does not recognize the context configuration. Manual Installation and renaming will work. |
*-- --+-- --*-- --*-- --*
| Jetty | | UNTESTED | |
*-- --+-- --*-- --*-- --*