cziegeler 2002/06/06 06:05:13
Modified: src/java/org/apache/cocoon/transformation
TraxTransformer.java
Log:
Cached logicsheet paramters, so that they are not generated twice
Revision Changes Path
1.29 +12 -5
xml-cocoon2/src/java/org/apache/cocoon/transformation/TraxTransformer.java
Index: TraxTransformer.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/transformation/TraxTransformer.java,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- TraxTransformer.java 4 Jun 2002 07:31:52 -0000 1.28
+++ TraxTransformer.java 6 Jun 2002 13:05:13 -0000 1.29
@@ -158,7 +158,7 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Ovidiu Predescu</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Mark H. Butler</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Stefano Mazzocchi</a>
- * @version CVS $Id: TraxTransformer.java,v 1.28 2002/06/04 07:31:52 cziegeler Exp $
+ * @version CVS $Id: TraxTransformer.java,v 1.29 2002/06/06 13:05:13 cziegeler Exp $
*/
public class TraxTransformer extends AbstractTransformer
implements Transformer, Composable, Configurable, CacheableProcessingComponent,
Disposable {
@@ -208,6 +208,9 @@
/** Did we finish the processing (is endDocument() called) */
private boolean finishedDocument = false;
+ /** Cache logicsheet parameters */
+ private Map logicSheetParameters;
+
/**
* Configure this transformer.
*/
@@ -331,7 +334,7 @@
* @return The generated key hashes the src
*/
public java.io.Serializable generateKey() {
- HashMap map = this.getLogicSheetParameters();
+ Map map = this.getLogicSheetParameters();
if (map == null) {
return this.inputSource.getSystemId();
}
@@ -370,7 +373,7 @@
*/
public void setConsumer(XMLConsumer consumer) {
- HashMap map = getLogicSheetParameters();
+ Map map = getLogicSheetParameters();
if (map != null) {
Iterator iterator = map.keySet().iterator();
while(iterator.hasNext()) {
@@ -391,7 +394,10 @@
transformerHandler.setResult(result);
}
- private HashMap getLogicSheetParameters() {
+ private Map getLogicSheetParameters() {
+ if (this.logicSheetParameters != null) {
+ return this.logicSheetParameters;
+ }
HashMap map = null;
if (par != null) {
String[] params = par.getNames();
@@ -522,7 +528,7 @@
getLogger().error("Error setting DELI info", e);
}
}
-
+ this.logicSheetParameters = map;
return map;
}
@@ -576,6 +582,7 @@
} catch (Exception ignore) {}
}
this.finishedDocument = false;
+ this.logicSheetParameters = null;
super.recycle();
}
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]