Author: cziegeler
Date: Wed Feb 2 10:48:01 2005
New Revision: 149545
URL: http://svn.apache.org/viewcvs?view=rev&rev=149545
Log:
Rename handler and subclass to avoid code duplication
Added:
cocoon/trunk/src/core/java/org/apache/cocoon/core/container/handler/PoolableComponentHandler.java
- copied, changed from r149543,
cocoon/trunk/src/core/java/org/apache/cocoon/core/container/handler/NewPoolableComponentHandler.java
Removed:
cocoon/trunk/src/core/java/org/apache/cocoon/core/container/handler/NewPoolableComponentHandler.java
Modified:
cocoon/trunk/src/core/java/org/apache/cocoon/components/ComponentInfo.java
cocoon/trunk/src/core/java/org/apache/cocoon/core/container/handler/AbstractComponentHandler.java
Modified:
cocoon/trunk/src/core/java/org/apache/cocoon/components/ComponentInfo.java
URL:
http://svn.apache.org/viewcvs/cocoon/trunk/src/core/java/org/apache/cocoon/components/ComponentInfo.java?view=diff&r1=149544&r2=149545
==============================================================================
--- cocoon/trunk/src/core/java/org/apache/cocoon/components/ComponentInfo.java
(original)
+++ cocoon/trunk/src/core/java/org/apache/cocoon/components/ComponentInfo.java
Wed Feb 2 10:48:01 2005
@@ -28,6 +28,7 @@
public static final int MODEL_PRIMITIVE = 0;
public static final int MODEL_SINGLETON = 1;
public static final int MODEL_POOLED = 2;
+ public static final int MODEL_NON_THREAD_SAFE_POOLED = 3;
private int model;
private String initMethodName;
@@ -154,6 +155,10 @@
final String model = attr.getAttribute("model", null);
if ( "pooled".equals(model) ) {
this.setModel(ComponentInfo.MODEL_POOLED);
+ this.setPoolInMethodName(attr.getAttribute("pool-in", null));
+ this.setPoolOutMethodName(attr.getAttribute("pool-out", null));
+ } else if ("non-thread-safe-pooled".equals(model)) {
+ this.setModel(ComponentInfo.MODEL_NON_THREAD_SAFE_POOLED);
this.setPoolInMethodName(attr.getAttribute("pool-in", null));
this.setPoolOutMethodName(attr.getAttribute("pool-out", null));
} else if ( "singleton".equals(model) ) {
Modified:
cocoon/trunk/src/core/java/org/apache/cocoon/core/container/handler/AbstractComponentHandler.java
URL:
http://svn.apache.org/viewcvs/cocoon/trunk/src/core/java/org/apache/cocoon/core/container/handler/AbstractComponentHandler.java?view=diff&r1=149544&r2=149545
==============================================================================
---
cocoon/trunk/src/core/java/org/apache/cocoon/core/container/handler/AbstractComponentHandler.java
(original)
+++
cocoon/trunk/src/core/java/org/apache/cocoon/core/container/handler/AbstractComponentHandler.java
Wed Feb 2 10:48:01 2005
@@ -97,7 +97,8 @@
if( Poolable.class.isAssignableFrom( componentClass ) ) {
numInterfaces++;
- info.setModel(ComponentInfo.MODEL_POOLED);
+ // FIXME - change this later on to MODEL_POOLED
+ info.setModel(ComponentInfo.MODEL_NON_THREAD_SAFE_POOLED);
}
if( numInterfaces > 1 ) {
@@ -130,8 +131,10 @@
factory = new ComponentFactory(componentEnv, info);
}
- if( info.getModel() == ComponentInfo.MODEL_POOLED ) {
+ if( info.getModel() == ComponentInfo.MODEL_NON_THREAD_SAFE_POOLED) {
handler = new NonThreadSafePoolableComponentHandler( info,
componentEnv.logger, factory, info.getConfiguration() );
+ } else if( info.getModel() == ComponentInfo.MODEL_POOLED ) {
+ handler = new PoolableComponentHandler( info, componentEnv.logger,
factory, info.getConfiguration() );
} else if( info.getModel() == ComponentInfo.MODEL_SINGLETON ) {
handler = new ThreadSafeComponentHandler( info,
componentEnv.logger, factory );
} else {
Copied:
cocoon/trunk/src/core/java/org/apache/cocoon/core/container/handler/PoolableComponentHandler.java
(from r149543,
cocoon/trunk/src/core/java/org/apache/cocoon/core/container/handler/NewPoolableComponentHandler.java)
URL:
http://svn.apache.org/viewcvs/cocoon/trunk/src/core/java/org/apache/cocoon/core/container/handler/PoolableComponentHandler.java?view=diff&rev=149545&p1=cocoon/trunk/src/core/java/org/apache/cocoon/core/container/handler/NewPoolableComponentHandler.java&r1=149543&p2=cocoon/trunk/src/core/java/org/apache/cocoon/core/container/handler/PoolableComponentHandler.java&r2=149545
==============================================================================
---
cocoon/trunk/src/core/java/org/apache/cocoon/core/container/handler/NewPoolableComponentHandler.java
(original)
+++
cocoon/trunk/src/core/java/org/apache/cocoon/core/container/handler/PoolableComponentHandler.java
Wed Feb 2 10:48:01 2005
@@ -56,9 +56,9 @@
* but not pooled.</li>
* </ul>
*
- * @version CVS $Id$
+ * @version $Id$
*/
-public class NewPoolableComponentHandler
+public class PoolableComponentHandler
extends NonThreadSafePoolableComponentHandler {
/**
@@ -69,7 +69,7 @@
* managed by the ComponentHandler.
* @param config The configuration to use to configure the pool.
*/
- public NewPoolableComponentHandler( final ComponentInfo info,
+ public PoolableComponentHandler( final ComponentInfo info,
final Logger logger,
final ComponentFactory factory,
final Configuration config )
@@ -152,9 +152,9 @@
protected static final class ProxyHandler implements InvocationHandler,
Core.CleanupTask {
private ThreadLocal componentHolder = new InheritableThreadLocal();
- private final NewPoolableComponentHandler handler;
+ private final PoolableComponentHandler handler;
- public ProxyHandler(NewPoolableComponentHandler handler) {
+ public ProxyHandler(PoolableComponentHandler handler) {
this.handler = handler;
}