cziegeler 2002/11/14 07:43:32
Modified: src/java/org/apache/cocoon/components/source/impl
SitemapSource.java
src/java/org/apache/cocoon/components
CocoonComponentManager.java
src/blocks/databases/java/org/apache/cocoon/transformation
SQLTransformer.java
. changes.xml
src/java/org/apache/cocoon Cocoon.java
Log:
<action dev="CZ" type="fix" fixes-bug="14466" due-to="Luca Morandini"
due-to-email="[EMAIL PROTECTED]">
Fixing namespace handling of SQLTransformer.
</action>
Revision Changes Path
1.19 +2 -2
xml-cocoon2/src/java/org/apache/cocoon/components/source/impl/SitemapSource.java
Index: SitemapSource.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/source/impl/SitemapSource.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- SitemapSource.java 14 Nov 2002 14:33:07 -0000 1.18
+++ SitemapSource.java 14 Nov 2002 15:43:17 -0000 1.19
@@ -303,7 +303,7 @@
reset();
try {
- this.processKey = CocoonComponentManager.startProcessing();
+ this.processKey =
CocoonComponentManager.startProcessing(this.environment);
this.environment.setURI(this.prefix, this.uri);
this.processingPipeline =
this.processor.processInternal(this.environment);
this.pipelineProcessor = this.environment.changeToLastContext();
1.29 +32 -4
xml-cocoon2/src/java/org/apache/cocoon/components/CocoonComponentManager.java
Index: CocoonComponentManager.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/CocoonComponentManager.java,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- CocoonComponentManager.java 14 Nov 2002 14:33:07 -0000 1.28
+++ CocoonComponentManager.java 14 Nov 2002 15:43:20 -0000 1.29
@@ -89,6 +89,9 @@
/** The environment information */
private static InheritableThreadLocal environmentStack = new
InheritableThreadLocal();
+ /** The processing information */
+ private static InheritableThreadLocal processList = new
InheritableThreadLocal();
+
/** The configured <code>SourceResolver</code> */
private SourceResolver sourceResolver;
@@ -182,8 +185,16 @@
* cocoon protocol implementation.
* @return A unique key within this thread.
*/
- public static Object startProcessing() {
- return null;
+ public static Object startProcessing(Environment env) {
+ ArrayList processes = (ArrayList)processList.get();
+
+ if (processes == null) {
+ processes = new ArrayList(4);
+ processList.set(processes);
+ }
+ Map key = new HashMap(5);
+ processes.add(key);
+ return key;
}
/**
@@ -191,9 +202,26 @@
* The hook is called by the Cocoon component and by the
* cocoon protocol implementation.
* @param key A unique key within this thread return by
- * {@link startProcessing()}.
+ * {@link startProcessing(Environment)}.
*/
public static void endProcessing(Object key) {
+ ArrayList processes = (ArrayList)processList.get();
+ if ( null != processes ) {
+
+ // we do a direct object reference comparission
+ // here for improved performance
+ int i = 0;
+ int len = processes.size();
+
+ while (i < len) {
+ if (processes.get(i) == key) {
+ processes.remove(i);
+ i = len;
+ } else {
+ i++;
+ }
+ }
+ }
}
/**
1.3 +1 -31
xml-cocoon2/src/blocks/databases/java/org/apache/cocoon/transformation/SQLTransformer.java
Index: SQLTransformer.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/blocks/databases/java/org/apache/cocoon/transformation/SQLTransformer.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- SQLTransformer.java 23 Oct 2002 04:31:04 -0000 1.2
+++ SQLTransformer.java 14 Nov 2002 15:43:23 -0000 1.3
@@ -173,9 +173,6 @@
/** Namespace uri to output */
protected String outUri;
- /** The prefix of our namespace to listen to */
- protected String inPrefix;
-
/** The database selector */
protected ComponentSelector dbSelector;
@@ -219,7 +216,6 @@
super.recycle();
this.queries.clear();
this.outUri = null;
- this.inPrefix = null;
this.outPrefix = null;
this.manager.release(this.parser);
this.parser = null;
@@ -688,32 +684,6 @@
return name;
}
}
-
- /**
- * ContentHandler method
- */
- public void startPrefixMapping( String prefix, String uri )
- throws SAXException {
- if ( uri.equals( NAMESPACE ) ) {
- if (inPrefix != null) {
- super.startPrefixMapping( inPrefix, NAMESPACE);
- }
- inPrefix = prefix;
- } else {
- super.startPrefixMapping( prefix, uri );
- }
- }
-
- /**
- * ContentHandler method
- */
- public void endPrefixMapping( String prefix )
- throws SAXException {
- if ( !prefix.equals( inPrefix ) ) {
- super.endPrefixMapping( prefix );
- }
- }
-
/**
* ContentHandler method
1.282 +4 -1 xml-cocoon2/changes.xml
Index: changes.xml
===================================================================
RCS file: /home/cvs/xml-cocoon2/changes.xml,v
retrieving revision 1.281
retrieving revision 1.282
diff -u -r1.281 -r1.282
--- changes.xml 13 Nov 2002 22:52:09 -0000 1.281
+++ changes.xml 14 Nov 2002 15:43:28 -0000 1.282
@@ -40,6 +40,9 @@
</devs>
<release version="@version@" date="@date@">
+ <action dev="CZ" type="fix" fixes-bug="14466" due-to="Luca Morandini"
due-to-email="[EMAIL PROTECTED]">
+ Fixing namespace handling of SQLTransformer.
+ </action>
<action dev="KP" type="add">
Added SystemPropertyModule input module to enable environment variables
in sitemap attributes. E.g.:
1.42 +2 -2 xml-cocoon2/src/java/org/apache/cocoon/Cocoon.java
Index: Cocoon.java
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/Cocoon.java,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -r1.41 -r1.42
--- Cocoon.java 14 Nov 2002 14:33:07 -0000 1.41
+++ Cocoon.java 14 Nov 2002 15:43:32 -0000 1.42
@@ -584,7 +584,7 @@
}
environment.setComponents( this.sourceResolver, this.xmlizer );
- Object key = CocoonComponentManager.startProcessing();
+ Object key = CocoonComponentManager.startProcessing(environment);
try {
boolean result;
if (this.getLogger().isDebugEnabled()) {
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]