You are viewing a plain text version of this content. The canonical link for it is here.
Posted to adffaces-commits@incubator.apache.org by jw...@apache.org on 2007/01/31 18:34:24 UTC
svn commit: r501939 - in
/incubator/adffaces/branches/jwaldman-portal/trinidad:
trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/
trinidad-api/src/main/java/org/apache/myfaces/trinidad/webapp/
trinidad-demo/src/main/webapp/WEB-INF/ trinid...
Author: jwaldman
Date: Wed Jan 31 10:34:22 2007
New Revision: 501939
URL: http://svn.apache.org/viewvc?view=rev&rev=501939
Log:
ADFFACES-234 Filter logic for Portlets to jwaldman-portal branch
http://issues.apache.org/jira/browse/ADFFACES-234
Patch 11-ADFFACES-234.patch
(committed for Scott O'Bryan)
Added:
incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/PortletApplicationMap.java
incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/PortletInitParameterMap.java
incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/PortletRequestMap.java
Modified:
incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/RequestContextFactory.java
incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/webapp/UploadedFileProcessor.java
incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-demo/src/main/webapp/WEB-INF/web.xml
incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/ConfigParser.java
incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/dispatch/DispatchResponseConfiguratorImpl.java
incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/upload/FileUploadConfiguratorImpl.java
incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/upload/UploadedFileProcessorImpl.java
incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/RequestContextFactoryImpl.java
incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/ServletApplicationMap.java
incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/ServletExternalContext.java
incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/ServletInitParameterMap.java
incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/ServletRequestMap.java
Modified: incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/RequestContextFactory.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/RequestContextFactory.java?view=diff&rev=501939&r1=501938&r2=501939
==============================================================================
--- incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/RequestContextFactory.java (original)
+++ incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/RequestContextFactory.java Wed Jan 31 10:34:22 2007
@@ -55,12 +55,29 @@
_FACTORIES.put(cl, factory);
}
}
-
+
/**
- * Create a RequestContext.
+ * Create a RequestContext from a ServletContext and ServletRequest.
+ *
+ * @param context an object which must be a ServletContext
+ * @param request an object which must be a ServletRequest
+ *
+ * @deprecated This method does not work in a Portal environment. It will
+ * only work with a ServletRequest. Please use
+ * {@link #createContext(ExternalContext)} which is container
+ * agnostic.
*/
- abstract public RequestContext createContext(ExternalContext context);
-
+ @Deprecated
+ abstract public RequestContext createContext(Object context,
+ Object request);
+
+ /**
+ * Creates a RequestContext.
+ *
+ * @param ec The current ExternalContext.
+ */
+ abstract public RequestContext createContext(ExternalContext ec);
+
static private ClassLoader _getClassLoader()
{
return Thread.currentThread().getContextClassLoader();
Modified: incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/webapp/UploadedFileProcessor.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/webapp/UploadedFileProcessor.java?view=diff&rev=501939&r1=501938&r2=501939
==============================================================================
--- incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/webapp/UploadedFileProcessor.java (original)
+++ incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/webapp/UploadedFileProcessor.java Wed Jan 31 10:34:22 2007
@@ -80,9 +80,10 @@
/**
* Initialize the UploadedFileProcessor with access to the current
* web application context.
- * @param context the current ServletContext, if in a servlet environment
+ *
+ * @param context the current ServletContext or PortletContext
*/
- public void init(ExternalContext context);
+ public void init(Object context);
/**
* Process a single uploaded file, moving it from temporary
@@ -106,11 +107,11 @@
* guarantees that {@link UploadedFile#dispose}</code> will be called before
* the request completes.
* </p>
- * @param ec the current external context
+ * @param request the current servlet or portlet reque
* @param file a temporary file object
* @return a new instance of UploadedFile. It is legal to return null,
* in which case the file will not be available later in the request.
*/
public UploadedFile processFile(
- ExternalContext ec, UploadedFile file) throws IOException;
+ Object request, UploadedFile file) throws IOException;
}
Modified: incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-demo/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-demo/src/main/webapp/WEB-INF/web.xml?view=diff&rev=501939&r1=501938&r2=501939
==============================================================================
--- incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-demo/src/main/webapp/WEB-INF/web.xml (original)
+++ incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-demo/src/main/webapp/WEB-INF/web.xml Wed Jan 31 10:34:22 2007
@@ -80,10 +80,6 @@
<param-value>userInputHere:</param-value>
</context-param-->
- <listener>
- <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
- </listener>
-
<filter>
<filter-name>trinidad</filter-name>
<filter-class>org.apache.myfaces.trinidad.webapp.TrinidadFilter</filter-class>
Modified: incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/ConfigParser.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/ConfigParser.java?view=diff&rev=501939&r1=501938&r2=501939
==============================================================================
--- incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/ConfigParser.java (original)
+++ incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/ConfigParser.java Wed Jan 31 10:34:22 2007
@@ -124,7 +124,7 @@
UploadedFileProcessor ufp = (UploadedFileProcessor)
bean.getProperty(RequestContextBean.UPLOADED_FILE_PROCESSOR_KEY);
- ufp.init(externalContext);
+ ufp.init(externalContext.getContext());
if (_LOG.isInfo())
{
Modified: incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/dispatch/DispatchResponseConfiguratorImpl.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/dispatch/DispatchResponseConfiguratorImpl.java?view=diff&rev=501939&r1=501938&r2=501939
==============================================================================
--- incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/dispatch/DispatchResponseConfiguratorImpl.java (original)
+++ incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/dispatch/DispatchResponseConfiguratorImpl.java Wed Jan 31 10:34:22 2007
@@ -46,6 +46,9 @@
@Override
public ExternalContext getExternalContext(ExternalContext externalContext)
{
+ // TODO sobryan (dependency = JSF 1.2)
+ // For JSF 1.2, we can probably simply wrap the request objects and set them on
+ // the existing ExternalContext.
if(!isApplied(externalContext))
{
if(ExternalContextUtils.isPortlet(externalContext))
Modified: incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/upload/FileUploadConfiguratorImpl.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/upload/FileUploadConfiguratorImpl.java?view=diff&rev=501939&r1=501938&r2=501939
==============================================================================
--- incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/upload/FileUploadConfiguratorImpl.java (original)
+++ incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/upload/FileUploadConfiguratorImpl.java Wed Jan 31 10:34:22 2007
@@ -164,7 +164,10 @@
@SuppressWarnings("unchecked")
Map<String, String[]> parameters = new HashMap<String, String[]>(externalContext.getRequestParameterValuesMap());
parameters.putAll(addedParams);
-
+
+ // TODO sobryan (dependency = JSF 1.2)
+ // For JSF 1.2, we can probably simply wrap the request objects and set them on
+ // the existing ExternalContext.
return _getExternalContextWrapper(externalContext, addedParams);
}
@@ -190,7 +193,7 @@
final UploadedFile temp = new TempUploadedFile(item);
final UploadedFile file =
- context.getUploadedFileProcessor().processFile(externalContext, temp);
+ context.getUploadedFileProcessor().processFile(externalContext.getRequest(), temp);
if (file != null)
{
Modified: incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/upload/UploadedFileProcessorImpl.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/upload/UploadedFileProcessorImpl.java?view=diff&rev=501939&r1=501938&r2=501939
==============================================================================
--- incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/upload/UploadedFileProcessorImpl.java (original)
+++ incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/upload/UploadedFileProcessorImpl.java Wed Jan 31 10:34:22 2007
@@ -18,11 +18,23 @@
import java.io.File;
import java.io.IOException;
-import javax.faces.context.ExternalContext;
+import java.util.Map;
+
+import javax.portlet.PortletContext;
+import javax.portlet.PortletRequest;
+
+import javax.servlet.ServletContext;
import javax.servlet.ServletRequest;
+import org.apache.myfaces.trinidad.logging.TrinidadLogger;
import org.apache.myfaces.trinidad.model.UploadedFile;
import org.apache.myfaces.trinidad.webapp.UploadedFileProcessor;
+import org.apache.myfaces.trinidadinternal.context.external.PortletApplicationMap;
+import org.apache.myfaces.trinidadinternal.context.external.PortletInitParameterMap;
+import org.apache.myfaces.trinidadinternal.context.external.PortletRequestMap;
+import org.apache.myfaces.trinidadinternal.context.external.ServletApplicationMap;
+import org.apache.myfaces.trinidadinternal.context.external.ServletInitParameterMap;
+import org.apache.myfaces.trinidadinternal.context.external.ServletRequestMap;
public class UploadedFileProcessorImpl implements UploadedFileProcessor
{
@@ -30,15 +42,24 @@
{
}
- public void init(ExternalContext context)
+ public void init(Object context)
{
+ ContextInfo info;
+ if(_PORTLET_CONTEXT_CLASS != null && _PORTLET_CONTEXT_CLASS.isInstance(context))
+ {
+ info = _getPortletContextInfo(context);
+ }
+ else
+ {
+ info = _getServletContextInfo(context);
+ }
+
//
// Get MaxMemory and TempDir properties from servlet init params
//
if (_maxMemory == -1)
{
- String maxMemory = context.getInitParameter(
- MAX_MEMORY_PARAM_NAME);
+ String maxMemory = info.initParams.get(MAX_MEMORY_PARAM_NAME);
if (maxMemory != null)
{
try
@@ -58,8 +79,7 @@
if (_maxDiskSpace == -1)
{
- String maxDiskSpace = context.getInitParameter(
- MAX_DISK_SPACE_PARAM_NAME);
+ String maxDiskSpace = info.initParams.get(MAX_DISK_SPACE_PARAM_NAME);
if (maxDiskSpace != null)
{
try
@@ -79,24 +99,23 @@
if (_tempDir == null)
{
- _tempDir = context.getInitParameter(TEMP_DIR_PARAM_NAME);
+ _tempDir = info.initParams.get(TEMP_DIR_PARAM_NAME);
// Use the webapp temporary directory if the temporary directory
// has not been explicitly set.
if (_tempDir == null)
{
File tempDirFile = (File)
- context.getApplicationMap().get("javax.servlet.context.tempdir");
+ info.attributes.get("javax.servlet.context.tempdir");
if (tempDirFile != null)
_tempDir = tempDirFile.getAbsolutePath();
}
}
}
- public UploadedFile processFile(ExternalContext ec,
- UploadedFile tempFile)
- throws IOException
- {
- RequestInfo info = _getRequestInfo(ec);
+ public UploadedFile processFile(
+ Object request, UploadedFile tempFile) throws IOException
+ {
+ RequestInfo info = _getRequestInfo(request);
// Process one new file, loading only as much as can fit
// in the remaining memory and disk space.
@@ -120,27 +139,83 @@
return file;
}
- private RequestInfo _getRequestInfo(ExternalContext ec)
+ private RequestInfo _getRequestInfo(Object request)
{
- @SuppressWarnings("unchecked")
- RequestInfo info = (RequestInfo) ec.getRequestMap().get(_REQUEST_INFO_KEY);
+ Map<String, Object> attributes;
+ if (_PORTLET_REQUEST_CLASS != null && _PORTLET_REQUEST_CLASS.isInstance(request))
+ {
+ attributes = _getPortletRequestMap(request);
+ }
+ else
+ {
+ attributes = _getServletRequestMap(request);
+ }
+
+
+ RequestInfo info = (RequestInfo) attributes.get(_REQUEST_INFO_KEY);
if (info == null)
{
info = new RequestInfo();
- ec.getRequestMap().put(_REQUEST_INFO_KEY, info);
+ attributes.put(_REQUEST_INFO_KEY, info);
}
return info;
}
+
+ private static final ContextInfo _getServletContextInfo(final Object context)
+ {
+ assert(context instanceof ServletContext);
+
+ final ServletContext sContext = (ServletContext)context;
+ return new ContextInfo(
+ new ServletInitParameterMap(sContext),
+ new ServletApplicationMap(sContext));
+ }
+
+ private static final ContextInfo _getPortletContextInfo(final Object context)
+ {
+ assert(context instanceof PortletContext);
+
+ final PortletContext pContext = (PortletContext)context;
+ return new ContextInfo(
+ new PortletInitParameterMap(pContext),
+ new PortletApplicationMap(pContext));
+ }
+
+ private static final Map<String, Object> _getServletRequestMap(final Object request)
+ {
+ assert(request instanceof ServletRequest);
+
+ return new ServletRequestMap((ServletRequest) request);
+ }
+
+ private static final Map<String, Object> _getPortletRequestMap(final Object request)
+ {
+ assert(request instanceof PortletRequest);
+
+ return new PortletRequestMap((PortletRequest) request);
+ }
-
+
static private class RequestInfo
{
public long totalBytesInMemory;
public long totalBytesOnDisk;
}
-
+
+ static private class ContextInfo
+ {
+ public ContextInfo(Map<String,String> init, Map<String, Object> attrib)
+ {
+ initParams= init;
+ attributes = attrib;
+ }
+
+ public Map<String, String> initParams;
+ public Map<String, Object> attributes;
+ }
+
private long _maxMemory = -1;
private long _maxDiskSpace = -1;
private String _tempDir = null;
@@ -150,5 +225,31 @@
private static final String _REQUEST_INFO_KEY = UploadedFileProcessorImpl.class.getName()+
".UploadedFilesInfo";
+
+ private static final TrinidadLogger _LOG =
+ TrinidadLogger.createTrinidadLogger(UploadedFileProcessorImpl.class);
+
+ private static final Class _PORTLET_CONTEXT_CLASS;
+ private static final Class _PORTLET_REQUEST_CLASS;
+
+ static
+ {
+ Class context;
+ Class request;
+ try
+ {
+ context = Class.forName("javax.portlet.PortletContext");
+ request = Class.forName("javax.portlet.PortletRequest");
+ }
+ catch (final ClassNotFoundException e)
+ {
+ _LOG
+ .info("Portlet API is not available on the classpath. Portlet configurations are disabled.");
+ context = null;
+ request = null;
+ }
+ _PORTLET_CONTEXT_CLASS = context;
+ _PORTLET_REQUEST_CLASS = request;
+ }
}
Modified: incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/RequestContextFactoryImpl.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/RequestContextFactoryImpl.java?view=diff&rev=501939&r1=501938&r2=501939
==============================================================================
--- incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/RequestContextFactoryImpl.java (original)
+++ incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/RequestContextFactoryImpl.java Wed Jan 31 10:34:22 2007
@@ -20,6 +20,8 @@
import javax.faces.context.ExternalContext;
import javax.servlet.ServletContext;
+import javax.servlet.ServletRequest;
+
import org.apache.myfaces.trinidad.context.RequestContext;
import org.apache.myfaces.trinidad.context.RequestContextFactory;
import org.apache.myfaces.trinidad.context.PageFlowScopeProvider;
@@ -28,6 +30,7 @@
import org.apache.myfaces.trinidad.util.ClassLoaderUtils;
import org.apache.myfaces.trinidadinternal.config.ConfigParser;
+import org.apache.myfaces.trinidadinternal.context.external.ServletExternalContext;
/**
* @author The Oracle ADF Faces Team
@@ -39,6 +42,13 @@
}
@Override
+ @Deprecated
+ public RequestContext createContext(Object context, Object request)
+ {
+ return createContext(new ServletExternalContext((ServletContext)context, (ServletRequest)request, null));
+ }
+
+ @Override
public RequestContext createContext(ExternalContext externalContext)
{
RequestContextImpl impl = new RequestContextImpl(_getBean(externalContext));
@@ -97,4 +107,5 @@
"org.apache.myfaces.trinidad.context.PageResolver";
static private final String _PAGE_FLOW_SCOPE_PROVIDER_URL =
"org.apache.myfaces.trinidad.context.PageFlowScopeProvider";
+
}
Added: incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/PortletApplicationMap.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/PortletApplicationMap.java?view=auto&rev=501939
==============================================================================
--- incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/PortletApplicationMap.java (added)
+++ incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/PortletApplicationMap.java Wed Jan 31 10:34:22 2007
@@ -0,0 +1,71 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed 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.myfaces.trinidadinternal.context.external;
+
+import java.util.Enumeration;
+
+import javax.portlet.PortletContext;
+
+
+/**
+ * PortletContext attributes as a Map.
+ *
+ * @author Stan Silvert (latest modification by $Author: oros $)
+ * @version $Revision: 278654 $ $Date: 2005-09-04 18:32:35 -0600 (Sun, 04 Sep 2005) $
+ */
+public class PortletApplicationMap extends ModifiableAbstractAttributeMap<String, Object>
+{
+ public PortletApplicationMap(final PortletContext portletContext)
+ {
+ _portletContext = portletContext;
+ }
+
+ @Override
+ protected Object getAttribute(final Object key)
+ {
+ if (key.toString().equals(key))
+ {
+ return _portletContext.getAttribute(key.toString());
+ }
+ return null;
+ }
+
+ @Override
+ protected Enumeration<String> getAttributeNames()
+ {
+ @SuppressWarnings("unchecked")
+ final Enumeration<String> attributeNames = _portletContext.getAttributeNames();
+
+ return attributeNames;
+ }
+
+ @Override
+ protected void removeAttribute(final Object key)
+ {
+ if (key.toString().equals(key))
+ {
+ _portletContext.removeAttribute(key.toString());
+ }
+ }
+
+ @Override
+ protected void setAttribute(final String key, final Object value)
+ {
+ _portletContext.setAttribute(key, value);
+ }
+
+ final PortletContext _portletContext;
+}
Added: incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/PortletInitParameterMap.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/PortletInitParameterMap.java?view=auto&rev=501939
==============================================================================
--- incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/PortletInitParameterMap.java (added)
+++ incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/PortletInitParameterMap.java Wed Jan 31 10:34:22 2007
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed 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.myfaces.trinidadinternal.context.external;
+
+import java.util.Enumeration;
+import javax.portlet.PortletContext;
+
+/**
+ * portletContext init parameters as Map.
+ *
+ * @author Stan Silvert (latest modification by $Author: oros $)
+ * @version $Revision: 278654 $ $Date: 2005-09-04 18:32:35 -0600 (Sun, 04 Sep 2005) $
+ */
+public class PortletInitParameterMap extends AbstractAttributeMap
+{
+ public PortletInitParameterMap(final PortletContext portletContext)
+ {
+ _portletContext = portletContext;
+ }
+
+ @Override
+ protected Object getAttribute(final Object key)
+ {
+ if (key.toString().equals(key))
+ {
+ return _portletContext.getInitParameter(key.toString());
+ }
+ return null;
+ }
+
+ @Override
+ protected Enumeration getAttributeNames()
+ {
+ return _portletContext.getInitParameterNames();
+ }
+
+ final PortletContext _portletContext;
+}
Added: incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/PortletRequestMap.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/PortletRequestMap.java?view=auto&rev=501939
==============================================================================
--- incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/PortletRequestMap.java (added)
+++ incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/PortletRequestMap.java Wed Jan 31 10:34:22 2007
@@ -0,0 +1,70 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed 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.myfaces.trinidadinternal.context.external;
+
+import java.util.Enumeration;
+
+import javax.portlet.PortletRequest;
+
+
+/**
+ * PortletRequest attributes Map.
+ *
+ * @author Stan Silvert (latest modification by $Author: oros $)
+ * @version $Revision: 278654 $ $Date: 2005-09-04 18:32:35 -0600 (Sun, 04 Sep 2005) $
+ */
+public class PortletRequestMap extends ModifiableAbstractAttributeMap<String, Object>
+{
+ public PortletRequestMap(final PortletRequest portletRequest)
+ {
+ _portletRequest = portletRequest;
+ }
+
+ @Override
+ protected Object getAttribute(final Object key)
+ {
+ if (key.toString().equals(key))
+ {
+ return _portletRequest.getAttribute(key.toString());
+ }
+ return null;
+ }
+
+ @Override
+ protected Enumeration<String> getAttributeNames()
+ {
+ @SuppressWarnings("unchecked")
+ Enumeration<String> attributeNames = _portletRequest.getAttributeNames();
+ return attributeNames;
+ }
+
+ @Override
+ protected void removeAttribute(final Object key)
+ {
+ if (key.toString().equals(key))
+ {
+ _portletRequest.removeAttribute(key.toString());
+ }
+ }
+
+ @Override
+ protected void setAttribute(final String key, final Object value)
+ {
+ _portletRequest.setAttribute(key, value);
+ }
+
+ final PortletRequest _portletRequest;
+}
Modified: incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/ServletApplicationMap.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/ServletApplicationMap.java?view=diff&rev=501939&r1=501938&r2=501939
==============================================================================
--- incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/ServletApplicationMap.java (original)
+++ incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/ServletApplicationMap.java Wed Jan 31 10:34:22 2007
@@ -26,9 +26,9 @@
* @author Anton Koinov (latest modification by $Author: oros $)
* @version $Revision: 278654 $ $Date: 2005-09-04 18:32:35 -0600 (Sun, 04 Sep 2005) $
*/
-class ServletApplicationMap extends ModifiableAbstractAttributeMap<String, Object>
+public class ServletApplicationMap extends ModifiableAbstractAttributeMap<String, Object>
{
- ServletApplicationMap(final ServletContext servletContext)
+ public ServletApplicationMap(final ServletContext servletContext)
{
_servletContext = servletContext;
}
Modified: incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/ServletExternalContext.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/ServletExternalContext.java?view=diff&rev=501939&r1=501938&r2=501939
==============================================================================
--- incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/ServletExternalContext.java (original)
+++ incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/ServletExternalContext.java Wed Jan 31 10:34:22 2007
@@ -65,7 +65,11 @@
if (servletRequest != null && servletRequest instanceof HttpServletRequest)
{
_httpServletRequest = (HttpServletRequest) servletRequest;
- _httpServletResponse = (HttpServletResponse) servletResponse;
+
+ if(_servletResponse != null)
+ {
+ _httpServletResponse = (HttpServletResponse) servletResponse;
+ }
}
if (_httpServletRequest != null)
@@ -118,6 +122,7 @@
public void dispatch(final String path) throws IOException, FacesException
{
_checkRequest();
+ _checkResponse();
final RequestDispatcher requestDispatcher = _servletRequest.getRequestDispatcher(path);
// If there is no dispatcher, send NOT_FOUND
@@ -476,11 +481,7 @@
@Override
public void redirect(final String url) throws IOException
{
- _checkRequest();
- if (_servletRequest == null)
- {
- throw new UnsupportedOperationException("No request object present on this context");
- }
+ _checkResponse();
if (_servletResponse instanceof HttpServletResponse)
{
@@ -521,8 +522,16 @@
{
if(_servletRequest == null)
{
- throw new UnsupportedOperationException("Request and Response is null on this context.");
+ throw new UnsupportedOperationException("Request is null on this context.");
}
+ }
+
+ private void _checkResponse()
+ {
+ if(_servletResponse == null)
+ {
+ throw new UnsupportedOperationException("Response is null on this context.");
+ }
}
private String _lookupCharacterEncoding(final String contentType)
Modified: incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/ServletInitParameterMap.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/ServletInitParameterMap.java?view=diff&rev=501939&r1=501938&r2=501939
==============================================================================
--- incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/ServletInitParameterMap.java (original)
+++ incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/ServletInitParameterMap.java Wed Jan 31 10:34:22 2007
@@ -26,9 +26,9 @@
* @author Anton Koinov (latest modification by $Author: oros $)
* @version $Revision: 278654 $ $Date: 2005-09-04 18:32:35 -0600 (Sun, 04 Sep 2005) $
*/
-class ServletInitParameterMap extends AbstractAttributeMap
+public class ServletInitParameterMap extends AbstractAttributeMap
{
- ServletInitParameterMap(final ServletContext servletContext)
+ public ServletInitParameterMap(final ServletContext servletContext)
{
_servletContext = servletContext;
}
Modified: incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/ServletRequestMap.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/ServletRequestMap.java?view=diff&rev=501939&r1=501938&r2=501939
==============================================================================
--- incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/ServletRequestMap.java (original)
+++ incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/external/ServletRequestMap.java Wed Jan 31 10:34:22 2007
@@ -25,9 +25,9 @@
* @author Anton Koinov (latest modification by $Author: oros $)
* @version $Revision: 278654 $ $Date: 2005-09-04 18:32:35 -0600 (Sun, 04 Sep 2005) $
*/
-class ServletRequestMap extends ModifiableAbstractAttributeMap<String, Object>
+public class ServletRequestMap extends ModifiableAbstractAttributeMap<String, Object>
{
- ServletRequestMap(final ServletRequest servletRequest)
+ public ServletRequestMap(final ServletRequest servletRequest)
{
_servletRequest = servletRequest;
}