You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by mi...@apache.org on 2005/04/11 13:46:25 UTC
svn commit: r160864 - in
lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms:
cocoon/generation/SiteTreeGenerator.java publication/DefaultSiteTree.java
Author: michi
Date: Mon Apr 11 04:46:24 2005
New Revision: 160864
URL: http://svn.apache.org/viewcvs?view=rev&rev=160864
Log:
thanks to Felix and Josias last modified has been implemeneted
Modified:
lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/generation/SiteTreeGenerator.java
lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/publication/DefaultSiteTree.java
Modified: lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/generation/SiteTreeGenerator.java
URL: http://svn.apache.org/viewcvs/lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/generation/SiteTreeGenerator.java?view=diff&r1=160863&r2=160864
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/generation/SiteTreeGenerator.java (original)
+++ lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/generation/SiteTreeGenerator.java Mon Apr 11 04:46:24 2005
@@ -20,15 +20,20 @@
package org.apache.lenya.cms.cocoon.generation;
import java.io.IOException;
+import java.io.Serializable;
import java.util.Map;
import org.apache.avalon.framework.parameters.ParameterException;
import org.apache.avalon.framework.parameters.Parameterizable;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.cocoon.ProcessingException;
+import org.apache.cocoon.caching.CacheableProcessingComponent;
import org.apache.cocoon.environment.SourceResolver;
import org.apache.cocoon.generation.ServiceableGenerator;
+import org.apache.excalibur.source.SourceValidity;
+import org.apache.excalibur.source.impl.validity.TimeStampValidity;
import org.apache.lenya.cms.publication.Label;
+import org.apache.lenya.cms.publication.LastModified;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.publication.PublicationException;
import org.apache.lenya.cms.publication.PublicationFactory;
@@ -40,7 +45,7 @@
import org.xml.sax.helpers.AttributesImpl;
public class SiteTreeGenerator extends ServiceableGenerator
- implements Parameterizable
+ implements Parameterizable, CacheableProcessingComponent
{
private static Logger log = Logger.getLogger(SiteTreeGenerator.class);
@@ -171,5 +176,24 @@
super.recycle();
sitetree = null;
area = null;
+ }
+
+ /**
+ * @see org.apache.cocoon.caching.CacheableProcessingComponent#getKey()
+ */
+ public Serializable getKey() {
+ return area;
+ }
+
+ /**
+ * @see org.apache.cocoon.caching.CacheableProcessingComponent#getValidity()
+ */
+ public SourceValidity getValidity() {
+ // Check if sitetree implementation supports last modified
+ if (!(sitetree instanceof LastModified)) {
+ return null;
+ } else {
+ return new TimeStampValidity(((LastModified)sitetree).getLastModified());
+ }
}
}
Modified: lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/publication/DefaultSiteTree.java
URL: http://svn.apache.org/viewcvs/lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/publication/DefaultSiteTree.java?view=diff&r1=160863&r2=160864
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/publication/DefaultSiteTree.java (original)
+++ lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/publication/DefaultSiteTree.java Mon Apr 11 04:46:24 2005
@@ -22,6 +22,7 @@
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import java.util.StringTokenizer;
@@ -42,7 +43,7 @@
/**
* Default Sitetree implementation
*/
-public class DefaultSiteTree implements SiteTree {
+public class DefaultSiteTree implements SiteTree, LastModified {
private static Logger log = Logger.getLogger(DefaultSiteTree.class);
private static Object lock = new Object();
@@ -53,6 +54,8 @@
private File treefile = null;
// the area is only retained to provide some more info when raising an exception.
private String area = "";
+
+ private long lastModified = 0;
/**
* Create a DefaultSiteTree
@@ -118,8 +121,6 @@
}
- private long lastModified = 0;
-
/**
* Checks if the tree file has been modified externally and reloads the site tree.
* @throws SiteTreeException when something went wrong.
@@ -366,7 +367,6 @@
parentNode.appendChild(child);
}
log.debug("Tree has been modified: " + document.getDocumentElement());
-
}
/**
* (non-Javadoc)
@@ -586,8 +586,7 @@
if (children == null) {
log.info("The node " + subtreeRoot.toString() + " has no children");
return;
- } else {
- for (int i = 0; i < children.length; i++) {
+ } else { for (int i = 0; i < children.length; i++) {
importSubtree(newParent, children[i], children[i].getId(), null);
}
}
@@ -606,6 +605,7 @@
throw new SiteTreeException(
"The saving of document [" + document.getLocalName() + "] failed");
}
+ lastModified = new Date().getTime();
}
/**
@@ -684,5 +684,12 @@
}
}
}
+ }
+
+ /**
+ * @see org.apache.lenya.cms.publication.LastModified#getLastModified()
+ */
+ public long getLastModified() {
+ return lastModified;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org