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);
}
}
}