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]

Reply via email to