You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by lu...@apache.org on 2005/03/02 13:36:11 UTC
cvs commit: jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/properties/exchange LastAccessedMaintainer.java LastAccessedProperty.java
luetzkendorf 2005/03/02 04:36:11
Modified: src/webdav/server/org/apache/slide/webdav/util/properties/exchange
LastAccessedMaintainer.java
LastAccessedProperty.java
Log:
slide:lastaccessed now stores the last time the resource is read; the property
computer determined wether to use lastaccessed of lastmodified
Revision Changes Path
1.2 +12 -43 jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/properties/exchange/LastAccessedMaintainer.java
Index: LastAccessedMaintainer.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/properties/exchange/LastAccessedMaintainer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- LastAccessedMaintainer.java 2 Mar 2005 11:41:46 -0000 1.1
+++ LastAccessedMaintainer.java 2 Mar 2005 12:36:11 -0000 1.2
@@ -24,9 +24,10 @@
import java.util.Date;
-import org.apache.slide.common.Domain;
import org.apache.slide.common.NamespaceAccessToken;
import org.apache.slide.common.PropertyName;
+import org.apache.slide.common.SlideToken;
+import org.apache.slide.common.SlideTokenWrapper;
import org.apache.slide.content.Content;
import org.apache.slide.content.NodeProperty;
import org.apache.slide.content.NodeRevisionDescriptor;
@@ -39,7 +40,7 @@
/**
* Content event listener that updated the property <code>lastaccessed</code>
- * if the content is retrieved, i.e. the resource is read.
+ * if the content is retrieved, i.e. <em>the resource is read</em>.
*/
public class LastAccessedMaintainer extends WebdavAdapter
{
@@ -62,9 +63,13 @@
nrd.setProperty(PN_LAST_ACCESSED, Long.toString((new Date()).getTime()));
- content.store(method.getSlideToken(), method.getRequestUri(), nrd, null);
+ SlideToken systemToken = new SlideTokenWrapper(method.getSlideToken());
+ systemToken.setForceSecurity(false);
+ systemToken.setForceLock(false);
+
+ content.store(systemToken, method.getRequestUri(), nrd, null);
} catch (Exception e) {
- Domain.error("Error while updateing lastaccessed property", e);
+ // ignore, may be the resource does not exists, ...
}
}
@@ -73,44 +78,8 @@
{
setLastAccessed(event);
}
- public void checkin(WebdavEvent event) throws VetoException
- {
- setLastAccessed(event);
- }
- public void checkout(WebdavEvent event) throws VetoException
- {
- setLastAccessed(event);
- }
- public void copy(WebdavEvent event) throws VetoException
- {
- setLastAccessed(event);
- }
- public void label(WebdavEvent event) throws VetoException
- {
- setLastAccessed(event);
- }
- public void mkcol(WebdavEvent event) throws VetoException
- {
- setLastAccessed(event);
- }
- public void move(WebdavEvent event) throws VetoException
- {
- setLastAccessed(event);
- }
public void propFind(WebdavEvent event) throws VetoException
{
setLastAccessed(event);
}
- public void propPatch(WebdavEvent event) throws VetoException
- {
- setLastAccessed(event);
- }
- public void put(WebdavEvent event) throws VetoException
- {
- setLastAccessed(event);
- }
- public void versionControl(WebdavEvent event) throws VetoException
- {
- setLastAccessed(event);
- }
}
\ No newline at end of file
1.2 +10 -5 jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/properties/exchange/LastAccessedProperty.java
Index: LastAccessedProperty.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/properties/exchange/LastAccessedProperty.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- LastAccessedProperty.java 2 Mar 2005 11:41:46 -0000 1.1
+++ LastAccessedProperty.java 2 Mar 2005 12:36:11 -0000 1.2
@@ -45,7 +45,7 @@
protected static final SimpleDateFormat DATE_FORMAT =
//new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.US);
//new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); // same as createdate
- new SimpleDateFormat("dd/MM/yyyy HH:mm:ss a"); // 3/29/1999 1:30:00 PM
+ new SimpleDateFormat("dd/MM/yyyy HH:mm:ss a"); // 3/29/1999 1:30:00 PM, see MSDN library TODO time zone?
/*
* @see org.apache.slide.webdav.util.properties.PropertyComputer#getPropertyName()
@@ -69,7 +69,12 @@
LastAccessedMaintainer.PN_LAST_ACCESSED);
if (nodeProperty != null) {
lastAccessed = new Date(Long.parseLong(nodeProperty.getValue().toString()));
- return DATE_FORMAT.format(lastAccessed);
+ Date lastModified = revisionDescriptor.getLastModifiedAsDate();
+ if (lastAccessed.after(lastModified)) {
+ return DATE_FORMAT.format(lastAccessed);
+ } else {
+ return DATE_FORMAT.format(lastModified);
+ }
} else {
return DATE_FORMAT.format(revisionDescriptor.getLastModifiedAsDate());
}
---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org