[prev in list] [next in list] [prev in thread] [next in thread]
List: xml-cocoon-cvs
Subject: svn commit: r159521 -
From: upayavira () apache ! org
Date: 2005-03-30 20:31:32
Message-ID: 20050330203132.49159.qmail () minotaur ! apache ! org
[Download RAW message or body]
Author: upayavira
Date: Wed Mar 30 12:31:30 2005
New Revision: 159521
URL: http://svn.apache.org/viewcvs?view=rev&rev=159521
Log:
Allow the CocoonBean to use an existing Cocoon object, if one exists.
You just need to do cocoonBean.setUseExistingCocoon(true);
Modified:
cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/bean/CocoonWrapper.java
Modified: cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/bean/CocoonWrapper.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/bean/CocoonWrapper.java?view=diff&r1=159520&r2=159521
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/bean/CocoonWrapper.java \
(original)
+++ cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/bean/CocoonWrapper.java \
Wed Mar 30 12:31:30 2005 @@ -40,6 +40,7 @@
import org.apache.avalon.framework.logger.Logger;
import org.apache.cocoon.Cocoon;
+import org.apache.cocoon.CocoonAccess;
import org.apache.cocoon.Constants;
import org.apache.cocoon.ProcessingException;
import org.apache.cocoon.components.CocoonComponentManager;
@@ -100,6 +101,7 @@
private HashMap empty = new HashMap();
private boolean initialized = false;
+ private boolean useExistingCocoon = false;
//
// INITIALISATION METHOD
@@ -164,12 +166,16 @@
loadClasses(classList);
- cocoon = new Cocoon();
- ContainerUtil.enableLogging(cocoon, log);
- ContainerUtil.contextualize(cocoon, appContext);
- cocoon.setLoggerManager(logManager);
- ContainerUtil.initialize(cocoon);
-
+ if (this.useExistingCocoon) {
+ cocoon = getCocoon();
+ }
+ if (cocoon == null) {
+ cocoon = new Cocoon();
+ ContainerUtil.enableLogging(cocoon, log);
+ ContainerUtil.contextualize(cocoon, appContext);
+ cocoon.setLoggerManager(logManager);
+ ContainerUtil.initialize(cocoon);
+ }
} catch (Exception e) {
log.fatalError("Exception caught", e);
throw e;
@@ -177,6 +183,14 @@
initialized = true;
}
+ private Cocoon getCocoon() {
+ return new CocoonAccess() {
+ final Cocoon instance() {
+ return super.getCocoon();
+ }
+ }.instance();
+ }
+
protected ExcaliburComponentManager getComponentManager() {
return cocoon.getComponentManager();
}
@@ -367,6 +381,11 @@
public void addLoadedClasses(List classList) {
this.classList.addAll(classList);
}
+
+ public void setUseExistingCocoon(boolean useExistingCocoon) {
+ this.useExistingCocoon = useExistingCocoon;
+ }
+
/**
* Process single URI into given output stream.
*
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic