vgritsenko    2004/06/25 07:18:29

  Modified:    src/java/org/apache/cocoon/components/modules/input
                        XMLFileModule.java
  Log:
  Refix previous fix (forgot case with null validity, and case with 
isValid()==INVALID)
  
  Revision  Changes    Path
  1.20      +17 -15    
cocoon-2.1/src/java/org/apache/cocoon/components/modules/input/XMLFileModule.java
  
  Index: XMLFileModule.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/java/org/apache/cocoon/components/modules/input/XMLFileModule.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- XMLFileModule.java        24 Jun 2004 01:11:49 -0000      1.19
  +++ XMLFileModule.java        25 Jun 2004 14:18:29 -0000      1.20
  @@ -158,21 +158,23 @@
                       src = resolver.resolveURI(this.uri);
                       this.validity = src.getValidity();
                       this.document = SourceUtil.toDOM(src);
  -                } else {
  -                    if (this.reloadable) {
  -                        if (logger.isDebugEnabled()) {
  -                            logger.debug("Document cached... checking 
validity of uri " + this.uri);
  -                        }
  -                        if (this.validity != null && this.validity.isValid() 
== SourceValidity.UNKNOWN) {
  -                            src = resolver.resolveURI(this.uri);
  -                            SourceValidity valid = src.getValidity();
  -                            if (this.validity.isValid(valid) != 
SourceValidity.VALID) {
  -                                if (logger.isDebugEnabled()) {
  -                                    logger.debug("Reloading document... uri 
" + this.uri);
  -                                }
  -                                this.validity = valid;
  -                                this.document = SourceUtil.toDOM(src);
  +                } else if (this.reloadable) {
  +                    if (logger.isDebugEnabled()) {
  +                        logger.debug("Document cached... checking validity 
of uri " + this.uri);
  +                    }
  +
  +                    int valid = this.validity == null? 
SourceValidity.INVALID: this.validity.isValid();
  +                    if (valid != SourceValidity.VALID) {
  +                        // Get new source and validity
  +                        src = resolver.resolveURI(this.uri);
  +                        SourceValidity newValidity = src.getValidity();
  +                        // If already invalid, or invalid after validities 
comparison, reload
  +                        if (valid == SourceValidity.INVALID || 
this.validity.isValid(newValidity) != SourceValidity.VALID) {
  +                            if (logger.isDebugEnabled()) {
  +                                logger.debug("Reloading document... uri " + 
this.uri);
                               }
  +                            this.validity = newValidity;
  +                            this.document = SourceUtil.toDOM(src);
                           }
                       }
                   }
  
  
  

Reply via email to