cziegeler 01/07/16 04:38:09
Modified: src/org/apache/cocoon/transformation
CachingCIncludeTransformer.java
Log:
Here is a new version of CachingCIncludeTransformer mofied to work in
noncaching pipelines.
Submitted by: Maciek Kaminski ([EMAIL PROTECTED])
Revision Changes Path
1.4 +20 -13
xml-cocoon2/src/org/apache/cocoon/transformation/CachingCIncludeTransformer.java
Index: CachingCIncludeTransformer.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/org/apache/cocoon/transformation/CachingCIncludeTransformer.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- CachingCIncludeTransformer.java 2001/07/13 13:56:14 1.3
+++ CachingCIncludeTransformer.java 2001/07/16 11:38:09 1.4
@@ -49,7 +49,7 @@
*
* @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Maciek Kaminski</a>
- * @version CVS $Revision: 1.3 $ $Date: 2001/07/13 13:56:14 $ $Author: dims $
+ * @version CVS $Revision: 1.4 $ $Date: 2001/07/16 11:38:09 $ $Author: cziegeler $
*/
public class CachingCIncludeTransformer extends AbstractTransformer
implements Recyclable, Composable, Cacheable {
@@ -67,8 +67,6 @@
/** The current <code>ComponentManager</code>. */
protected ComponentManager manager = null;
- protected Store eventCache;
-
protected IncludeCacheValidity currentCacheValidity;
/**
@@ -85,7 +83,6 @@
*/
public final void compose(final ComponentManager manager) throws
ComponentException {
this.manager = manager;
- this.eventCache = (Store)this.manager.lookup(Store.ROLE + "/EventCache");
}
/**
@@ -94,6 +91,7 @@
public void recycle() {
super.recycle();
this.sourceResolver = null;
+ this.currentCacheValidity = null;
}
public void startElement(String uri, String name, String raw, Attributes attr)
@@ -124,20 +122,14 @@
public void endDocument()
throws SAXException {
super.endDocument();
- currentCacheValidity.setIsNew2False();
+ if(currentCacheValidity != null) {
+ currentCacheValidity.setIsNew2False();
+ }
}
protected void processCIncludeElement(String src, String element, String ns,
String prefix)
throws SAXException {
- // complete validity information
- try {
- currentCacheValidity.add(src,
sourceResolver.resolve(src).getLastModified());
- } catch (Exception e) {
- getLogger().error("CachingCIncludeTransformer could not resolve
resource", e);
- throw new SAXException("CachingCIncludeTransformer could not resolve
resource", e);
- }
-
if (element == null) element="";
if (ns == null) ns="";
if (prefix == null) prefix="";
@@ -147,6 +139,18 @@
+ ", ns=" + ns
+ ", prefix=" + prefix);
+ // complete validity information
+ if(currentCacheValidity != null ) {
+ try {
+
+ currentCacheValidity.add(src,
sourceResolver.resolve(src).getLastModified());
+ getLogger().debug("currentCacheValidity: " + currentCacheValidity);
+ } catch (Exception e) {
+ getLogger().error("CachingCIncludeTransformer could not resolve
resource:" + src, e);
+ throw new SAXException("CachingCIncludeTransformer could not
resolve resource", e);
+ }
+ }
+
if (!"".equals(element)) {
AttributesImpl attrs = new AttributesImpl();
if (!ns.equals("")) {
@@ -159,6 +163,8 @@
}
try {
+ getLogger().debug("sourceResolver:" + sourceResolver);
+ getLogger().debug("this.sourceResolver.resolve(src):" +
this.sourceResolver.resolve(src));
this.sourceResolver.resolve(src).stream(this);
} catch (Exception e) {
getLogger().error("CachingCIncludeTransformer", e);
@@ -198,6 +204,7 @@
public CacheValidity generateValidity() {
+ getLogger().debug("generateValidity");
try {
currentCacheValidity = new IncludeCacheValidity(sourceResolver);
return currentCacheValidity;
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]