stephan     2003/03/05 10:40:48

  Modified:    src/blocks/chaperon/java/org/apache/cocoon/transformation
                        LexicalTransformer.java ParserTransformer.java
                        PatternTransformer.java
  Log:
  The transient store seems to have problems serializing the inner classes
  of the transformers.
  
  Revision  Changes    Path
  1.4       +13 -6     
xml-cocoon2/src/blocks/chaperon/java/org/apache/cocoon/transformation/LexicalTransformer.java
  
  Index: LexicalTransformer.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/blocks/chaperon/java/org/apache/cocoon/transformation/LexicalTransformer.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- LexicalTransformer.java   3 Mar 2003 18:08:53 -0000       1.3
  +++ LexicalTransformer.java   5 Mar 2003 18:40:48 -0000       1.4
  @@ -193,15 +193,9 @@
               LexicalAutomatonEntry entry = (LexicalAutomatonEntry) 
store.get(this.lexiconSource.getURI());
   
               // If the parser table has changed, rebuild the parser table
  -
  -            /*if (entry!=null)
  -                    System.out.println("entry.getValidity()="+entry.getValidity());
  -            
System.out.println("this.lexiconSource.getValidity()="+this.lexiconSource.getValidity()+"
 of
  -      "+this.lexiconSource.getURI());*/
               if ((entry==null) || (entry.getValidity()==null) ||
                   (entry.getValidity().isValid(this.lexiconSource.getValidity())<=
                    0)) {
  -                /* 
(!entry.getValidity().isValid(this.lexiconSource.getValidity()))) { */
   
                   this.logger.info("(Re)building the automaton from '"+
                                    this.lexiconSource.getURI()+"'");
  @@ -225,6 +219,7 @@
   
                   this.logger.info("Store automaton into store for '"+
                                    this.lexiconSource.getURI()+"'");
  +
                   store.store(this.lexiconSource.getURI(),
                               new LexicalAutomatonEntry(this.automaton,
                                                         
this.lexiconSource.getValidity()));
  @@ -341,6 +336,18 @@
            */
           public LexicalAutomaton getLexicalAutomaton() {
               return this.automaton;
  +        }
  +
  +        private void writeObject(java.io.ObjectOutputStream out)
  +            throws IOException {
  +            out.writeObject(validity);
  +            out.writeObject(automaton);
  +        }
  +
  +        private void readObject(java.io.ObjectInputStream in)
  +            throws IOException, ClassNotFoundException {
  +            validity = (SourceValidity)in.readObject();
  +            automaton = (LexicalAutomaton)in.readObject();
           }
       }
   }
  
  
  
  1.4       +15 -8     
xml-cocoon2/src/blocks/chaperon/java/org/apache/cocoon/transformation/ParserTransformer.java
  
  Index: ParserTransformer.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/blocks/chaperon/java/org/apache/cocoon/transformation/ParserTransformer.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ParserTransformer.java    3 Mar 2003 18:08:53 -0000       1.3
  +++ ParserTransformer.java    5 Mar 2003 18:40:48 -0000       1.4
  @@ -4,7 +4,7 @@
                      The Apache Software License, Version 1.1
    ============================================================================
   
  - Copyright (C) 1999-2002 The Apache Software Foundation. All rights reserved.
  + Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
   
    Redistribution and use in source and binary forms, with or without modifica-
    tion, are permitted provided that the following conditions are met:
  @@ -116,9 +116,6 @@
     implements Transformer, LogEnabled, Composable, Parameterizable,
                Recyclable, Disposable, CacheableProcessingComponent {
   
  -    /** Namespace for the SAX events. */
  -/*    public final static String NS = "http://apache.org/cocoon/lexemes/1.0";*/
  -
       private XMLConsumer consumer = null;
   
       private String grammar = null;
  @@ -178,7 +175,6 @@
           setLexicalHandler(consumer);
   
           adapter.setContentHandler(consumer);
  -//        adapter.setNamespace(NS);
       }
   
       /**
  @@ -215,7 +211,6 @@
               if ((entry==null) || (entry.getValidity()==null) ||
                   (entry.getValidity().isValid(this.grammarSource.getValidity()))<=
                   0) {
  -
                   this.logger.info("(Re)building the automaton from '"+
                                    this.grammarSource.getURI()+"'");
   
  @@ -322,7 +317,7 @@
   
       /**
        * This class represent a entry in a store to cache
  -  * the parser automaton.
  +     * the parser automaton.
        */
       public class ParserAutomatonEntry implements Serializable {
           private SourceValidity validity = null;
  @@ -356,6 +351,18 @@
            */
           public ParserAutomaton getParserAutomaton() {
               return this.automaton;
  +        }
  +
  +        private void writeObject(java.io.ObjectOutputStream out)
  +          throws IOException {
  +            out.writeObject(validity);
  +            out.writeObject(automaton);
  +        }
  +
  +        private void readObject(java.io.ObjectInputStream in)
  +          throws IOException, ClassNotFoundException {
  +            validity = (SourceValidity) in.readObject();
  +            automaton = (ParserAutomaton) in.readObject();
           }
       }
   }
  
  
  
  1.6       +13 -1     
xml-cocoon2/src/blocks/chaperon/java/org/apache/cocoon/transformation/PatternTransformer.java
  
  Index: PatternTransformer.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/blocks/chaperon/java/org/apache/cocoon/transformation/PatternTransformer.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- PatternTransformer.java   3 Mar 2003 18:08:53 -0000       1.5
  +++ PatternTransformer.java   5 Mar 2003 18:40:48 -0000       1.6
  @@ -530,5 +530,17 @@
           public LexicalAutomaton getLexicalAutomaton() {
               return this.automaton;
           }
  +
  +        private void writeObject(java.io.ObjectOutputStream out)
  +            throws IOException {
  +            out.writeObject(validity);
  +            out.writeObject(automaton);
  +        }
  +
  +        private void readObject(java.io.ObjectInputStream in)
  +            throws IOException, ClassNotFoundException {
  +            validity = (SourceValidity)in.readObject();
  +            automaton = (LexicalAutomaton)in.readObject();
  +        }
       }
   }
  
  
  

Reply via email to