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 2005/10/18 15:29:24 UTC
svn commit: r326102 - in
/cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon:
components/persistence/ portal/coplet/adapter/impl/ portal/impl/
portal/util/ portal/wsrp/adapter/
Author: cziegeler
Date: Tue Oct 18 06:29:15 2005
New Revision: 326102
URL: http://svn.apache.org/viewcvs?rev=326102&view=rev
Log:
Clean up usage of thread locals
Modified:
cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/components/persistence/CastorSourceConverter.java
cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl/PortletAdapter.java
cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/impl/PortletPortalManager.java
cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/util/ReferenceFieldHandler.java
cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/wsrp/adapter/WSRPAdapter.java
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/components/persistence/CastorSourceConverter.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/components/persistence/CastorSourceConverter.java?rev=326102&r1=326101&r2=326102&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/components/persistence/CastorSourceConverter.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/components/persistence/CastorSourceConverter.java Tue Oct 18 06:29:15 2005
@@ -82,6 +82,8 @@
return result;
} catch (Exception e) {
throw new ConverterException(e.getMessage(), e);
+ } finally {
+ ReferenceFieldHandler.clearObjectMap();
}
}
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl/PortletAdapter.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl/PortletAdapter.java?rev=326102&r1=326101&r2=326102&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl/PortletAdapter.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl/PortletAdapter.java Tue Oct 18 06:29:15 2005
@@ -83,8 +83,6 @@
extends AbstractCopletAdapter
implements Contextualizable, Initializable, PortalManagerAspect, Receiver, Disposable {
- public final ThreadLocal copletInstanceData = new InheritableThreadLocal();
-
/** The avalon context */
protected Context context;
@@ -152,7 +150,6 @@
objectModel.put("portlet-request", req);
}
final HttpServletResponse res = (HttpServletResponse) objectModel.get("portlet-response");
- this.copletInstanceData.set(coplet);
try {
this.portletContainer.portletLoad(portletWindow, req.getRequest(portletWindow),
res);
@@ -161,8 +158,6 @@
// remove portlet entity
coplet.removeTemporaryAttribute("window");
((PortletEntityListImpl)pae.getPortletEntityList()).remove(portletEntity);
- } finally {
- this.copletInstanceData.set(null);
}
}
}
@@ -189,7 +184,6 @@
final Map objectModel = ContextHelper.getObjectModel(this.context);
final ServletRequestImpl req = (ServletRequestImpl) objectModel.get("portlet-request");
final HttpServletResponse res = (HttpServletResponse) objectModel.get("portlet-response");
- this.copletInstanceData.set(coplet);
// TODO - for parallel processing we have to clone the response!
this.portletContainer.renderPortlet(window, req.getRequest(window), res);
@@ -214,8 +208,6 @@
throw se;
} catch (Exception e) {
throw new SAXException(e);
- } finally {
- this.copletInstanceData.set(null);
}
}
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/impl/PortletPortalManager.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/impl/PortletPortalManager.java?rev=326102&r1=326101&r2=326102&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/impl/PortletPortalManager.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/impl/PortletPortalManager.java Tue Oct 18 06:29:15 2005
@@ -31,8 +31,6 @@
extends PortalManagerImpl
implements Initializable {
- public static ThreadLocal copletInstanceData;
-
/**
* @see org.apache.avalon.framework.activity.Initializable#initialize()
*/
@@ -40,7 +38,6 @@
Deprecation.logger.info("The PortletPortalManager is deprecated. Please use the PortletPortalManagerAspect instead.");
PortletAdapter aspect = (PortletAdapter)this.adapterSelector.select("portlet");
this.chain.addAsFirst(aspect, new Parameters());
- copletInstanceData = aspect.copletInstanceData;
}
}
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/util/ReferenceFieldHandler.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/util/ReferenceFieldHandler.java?rev=326102&r1=326101&r2=326102&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/util/ReferenceFieldHandler.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/util/ReferenceFieldHandler.java Tue Oct 18 06:29:15 2005
@@ -15,7 +15,7 @@
*/
package org.apache.cocoon.portal.util;
-import java.util.HashMap;
+import java.util.Collections;
import java.util.Map;
/**
@@ -23,25 +23,22 @@
*
* @author <a href="mailto:bluetkemeier@s-und-n.de">Björn Lütkemeier</a>
*
- * @version CVS $Id: ReferenceFieldHandler.java,v 1.5 2004/03/05 13:02:17 bdelacretaz Exp $
+ * @version CVS $Id$
*/
public abstract class ReferenceFieldHandler extends AbstractFieldHandler {
/**
* Used to pass resolvable objects to the field handler.
*/
- private static ThreadLocal threadLocalMap = new InheritableThreadLocal();
+ private static ThreadLocal threadLocalMap = new ThreadLocal();
/**
* Gets the map used to pass resolvable objects to the field handler.
*/
public static Map getObjectMap() {
Map map = (Map) threadLocalMap.get();
-
if (map == null) {
- map = new HashMap();
- threadLocalMap.set(map);
+ map = Collections.EMPTY_MAP;
}
-
return map;
}
@@ -49,10 +46,10 @@
* Sets the map used to pass resolvable objects to the field handler.
*/
public static void setObjectMap(Map objectMap) {
- if (objectMap == null) {
- threadLocalMap.set(new HashMap());
- } else {
- threadLocalMap.set(objectMap);
- }
+ threadLocalMap.set(objectMap);
+ }
+
+ public static void clearObjectMap() {
+ threadLocalMap.set(null);
}
}
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/wsrp/adapter/WSRPAdapter.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/wsrp/adapter/WSRPAdapter.java?rev=326102&r1=326101&r2=326102&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/wsrp/adapter/WSRPAdapter.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/wsrp/adapter/WSRPAdapter.java Tue Oct 18 06:29:15 2005
@@ -166,7 +166,7 @@
protected ConsumerEnvironmentImpl consumerEnvironment;
/** Stores the current coplet instance data per thread. */
- protected final ThreadLocal copletInstanceData = new InheritableThreadLocal();
+ protected final ThreadLocal copletInstanceData = new ThreadLocal();
/** The servlet configuration. */
protected ServletConfig servletConfig;