You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by we...@apache.org on 2004/05/19 22:19:50 UTC

cvs commit: jakarta-jetspeed-2/commons/src/java/org/apache/jetspeed/cache/file FileCacheEntry.java FileCacheEventListener.java

weaver      2004/05/19 13:19:50

  Added:       components/file-cache/src/test/org/apache/jetspeed/cache/file
                        FileCopy.java TestFileCache.java
               components/file-cache/src/java/org/apache/jetspeed/cache/file
                        FileCache.java FileCacheEntryImpl.java
               components/file-cache/testdata default.psml
               components/file-cache project.xml project.properties
                        maven.xml .cvsignore
               commons/src/java/org/apache/jetspeed/cache/file
                        FileCacheEntry.java FileCacheEventListener.java
  Log:
  - FileCacheEntry refactored to an interface
  - file cache refactored to a separate component
  - removed container-based testing, it is unneeded just create an instance
    and test it ;)
  
  Revision  Changes    Path
  1.2       +111 -0    jakarta-jetspeed-2/components/file-cache/src/test/org/apache/jetspeed/cache/file/FileCopy.java
  
  
  
  
  1.2       +233 -0    jakarta-jetspeed-2/components/file-cache/src/test/org/apache/jetspeed/cache/file/TestFileCache.java
  
  
  
  
  1.2       +404 -0    jakarta-jetspeed-2/components/file-cache/src/java/org/apache/jetspeed/cache/file/FileCache.java
  
  
  
  
  1.1                  jakarta-jetspeed-2/components/file-cache/src/java/org/apache/jetspeed/cache/file/FileCacheEntryImpl.java
  
  Index: FileCacheEntryImpl.java
  ===================================================================
  /*
   * Copyright 2000-2004 The Apache Software Foundation.
   * 
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   * 
   *      http://www.apache.org/licenses/LICENSE-2.0
   * 
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  package org.apache.jetspeed.cache.file;
  
  import java.io.File;
  import java.util.Date;
  
  /**
   * FileCache entry keeps the cached content along with last access information.
   *
   *  @author David S. Taylor <a href="mailto:taylor@apache.org">David Sean Taylor</a>
   *  @version $Id: FileCacheEntryImpl.java,v 1.1 2004/05/19 20:19:49 weaver Exp $
   */
  
  public class FileCacheEntryImpl implements FileCacheEntry
  {
      protected File file;
      protected Object document;
  
      protected long lastAccessed;
      protected Date lastModified;
  
      private FileCacheEntryImpl()
      {
      }
  
      /**
       * Constructs a FileCacheEntry object
       *
       * @param document The user specific content being cached
       * @param lastModified The document's last modified stamp
       */
      public FileCacheEntryImpl(File file, Object document)
      {
          this.file = file;
          this.document = document;
          this.lastModified = new Date(file.lastModified());
          this.lastAccessed = new Date().getTime();
      }
  
      /**
       * Get the file descriptor
       *
       * @return the file descriptor
       */
      public File getFile()
      {
          return this.file;
      }
  
      /**
       * Set the file descriptor
       *
       * @param file the new file descriptor
       */
      public void setFile(File file)
      {
          this.file = file;
      }
  
      /**
       * Set the cache's last accessed stamp
       *
       * @param lastAccessed the cache's last access stamp
       */
      public void setLastAccessed(long lastAccessed)
      {
          this.lastAccessed = lastAccessed;
      }
  
      /**
       * Get the cache's lastAccessed stamp
       *
       * @return the cache's last accessed stamp
       */
      public long getLastAccessed()
      {
          return this.lastAccessed;
      }
  
      /**
       * Set the cache's last modified stamp
       *
       * @param lastModified the cache's last modified stamp
       */
      public void setLastModified(Date lastModified)
      {
          this.lastModified = lastModified;
      }
  
      /**
       * Get the entry's lastModified stamp (which may be stale compared to file's stamp)
       *
       * @return the last modified stamp
       */
      public Date getLastModified()
      {
          return this.lastModified;
      }
  
      /**
       * Set the Document in the cache
       *
       * @param document the document being cached
       */
      public void setDocument(Object document)
      {
          this.document = document;
      }
  
      /**
       * Get the Document
       *
       * @return the document being cached
       */
      public Object getDocument()
      {
          return this.document;
      }
  
  }
  
  
  
  
  
  1.1                  jakarta-jetspeed-2/components/file-cache/testdata/default.psml
  
  Index: default.psml
  ===================================================================
  <?xml version="1.0" encoding="iso-8859-1"?>
  <!--
  Copyright 2004 The Apache Software Foundation
  
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at
  
      http://www.apache.org/licenses/LICENSE-2.0
  
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
  -->
  <portlets id="100" xmlns="http://xml.apache.org/jetspeed/2000/psml">
      <metainfo>
        <title>Default Jetspeed Page</title>
      </metainfo>
  
    <control name="TabControl"/>
  
    <controller name="CardPortletController">
      <parameter name="parameter" value="pane"/>
    </controller>
  
    <skin name="orange-grey"/>
  
    <portlets id="101">
      <controller name="RowController">
        <parameter name="sizes" value="66%,34%"/>
      </controller>
  
      <metainfo>
        <title>Home Page</title>
      </metainfo>
  
      <portlets id="102">
        <entry id="103" parent="JetspeedContent"/>
      </portlets>
  
      <portlets id="104">
        <entry id="105" parent="Jetspeed"/>
        <entry id="106" parent="Welcome"/>
      </portlets>
  
    </portlets>
  
    <portlets id="107">
      <metainfo>
        <title>RSS</title>
      </metainfo>
  
      <portlets id="108">
        <control name="TabControl"/>
        <controller name="CardPortletController">
          <parameter name="defaultcard" value="0"/>
          <parameter name="parameter" value="channel"/>
          <parameter name="ruler-size" value="0"/>
        </controller>      
  
        <entry id="109" parent="http://jakarta.apache.org/jetspeed/channels/jetspeed.rss">
          <control name="ClearPortletControl"/>
        </entry>
  
        <entry id="110" parent="http://jakarta.apache.org/jetspeed/channels/turbine.rss">
          <control name="ClearPortletControl"/>
        </entry>
  
        <entry id="111" parent="http://www.mozilla.org/news.rdf">
          <control name="ClearPortletControl"/>
          <parameter name="itemdisplayed" value="5"/>
        </entry>
  
        <entry id="112" parent="http://www.apacheweek.com/issues/apacheweek-headlines.xml">
          <control name="ClearPortletControl"/>
          <parameter name="showtitle" value="false"/>
          <parameter name="showdescription" value="false"/>
        </entry>
  
        <entry id="113" parent="http://www.xmlhack.com/rsscat.php">
          <control name="ClearPortletControl"/>
        </entry>
  
        <entry id="123" parent="BBCFrontPage">
          <control name="ClearPortletControl"/>
        </entry>
  
      </portlets>
    </portlets>
  
    <portlets id="114">
      <controller name="TwoColumns"/>
  
      <metainfo>
        <title>Dynamic</title>
      </metainfo>
  
      <portlets id="115">
        <entry id="116" parent="JetspeedContent"/>
        <layout>
        	<property name="row" value="0"/>
        	<property name="column" value="0"/>
        </layout>
      </portlets>
  
      <portlets id="117">
        <entry id="118" parent="HelloVelocity"/>
        <layout>
        	<property name="row" value="0"/>
        	<property name="column" value="1"/>
        </layout>
      </portlets>
  
      <portlets id="119">
        <entry id="120" parent="HelloVelocityCached"/>
        <entry id="808" parent="InstanceExample">
            <parameter name="country" value="Brazil"/>
        </entry>
        <entry id="809" parent="InstanceExample">
            <parameter name="country" value="Germany"/>
        </entry>
        <layout>
        	<property name="row" value="1"/>
        	<property name="column" value="1"/>
        </layout>
      </portlets>
  
      <portlets id="121">
        <entry id="122" parent="HelloJSP"/>
        <layout>
        	<property name="row" value="1"/>
        	<property name="column" value="0"/>
        </layout>
      </portlets>
      
    </portlets>
  </portlets>
  
  
  
  1.2       +121 -0    jakarta-jetspeed-2/components/file-cache/project.xml
  
  
  
  
  1.2       +42 -0     jakarta-jetspeed-2/components/file-cache/project.properties
  
  
  
  
  1.2       +42 -0     jakarta-jetspeed-2/components/file-cache/maven.xml
  
  
  
  
  1.2       +2 -0      jakarta-jetspeed-2/components/file-cache/.cvsignore
  
  
  
  
  1.2       +82 -0     jakarta-jetspeed-2/commons/src/java/org/apache/jetspeed/cache/file/FileCacheEntry.java
  
  
  
  
  1.2       +47 -0     jakarta-jetspeed-2/commons/src/java/org/apache/jetspeed/cache/file/FileCacheEventListener.java
  
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org