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