You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by do...@apache.org on 2002/09/13 12:11:42 UTC

cvs commit: jakarta-avalon-excalibur/monitor/src/test/org/apache/avalon/excalibur/monitor/test ActiveMonitorComponent.java PassiveMonitorComponent.java DirectoryTestCase.java DirectoryTestCaseListener.java MonitorTestCase.xtest

donaldp     2002/09/13 03:11:42

  Modified:    monitor/src/java/org/apache/avalon/excalibur/monitor
                        ActiveMonitor.java DirectoryResource.java
                        PassiveMonitor.java
               monitor/src/test/org/apache/avalon/excalibur/monitor/test
                        DirectoryTestCase.java
                        DirectoryTestCaseListener.java
                        MonitorTestCase.xtest
  Added:       monitor/src/test/org/apache/avalon/excalibur/monitor/test
                        ActiveMonitorComponent.java
                        PassiveMonitorComponent.java
  Log:
  Add unit tests to make sure that changes in directory are only noted once. Fix DirectoryResource to make sure that added files are only detected first time they are added.
  
  Revision  Changes    Path
  1.16      +2 -2      jakarta-avalon-excalibur/monitor/src/java/org/apache/avalon/excalibur/monitor/ActiveMonitor.java
  
  Index: ActiveMonitor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/monitor/src/java/org/apache/avalon/excalibur/monitor/ActiveMonitor.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- ActiveMonitor.java	7 Sep 2002 12:15:00 -0000	1.15
  +++ ActiveMonitor.java	13 Sep 2002 10:11:41 -0000	1.16
  @@ -35,7 +35,7 @@
    * @author <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
    * @version $Id$
    */
  -public final class ActiveMonitor
  +public class ActiveMonitor
       extends org.apache.avalon.excalibur.monitor.impl.ActiveMonitor
       implements LogEnabled, Configurable, Startable, ThreadSafe
   {
  
  
  
  1.2       +2 -1      jakarta-avalon-excalibur/monitor/src/java/org/apache/avalon/excalibur/monitor/DirectoryResource.java
  
  Index: DirectoryResource.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/monitor/src/java/org/apache/avalon/excalibur/monitor/DirectoryResource.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DirectoryResource.java	8 Sep 2002 02:30:48 -0000	1.1
  +++ DirectoryResource.java	13 Sep 2002 10:11:41 -0000	1.2
  @@ -147,6 +147,7 @@
                                                     modifiedFiles );
           }
   
  +        existingFiles.addAll( addedFiles );
           m_files = existingFiles;
       }
   
  
  
  
  1.12      +2 -2      jakarta-avalon-excalibur/monitor/src/java/org/apache/avalon/excalibur/monitor/PassiveMonitor.java
  
  Index: PassiveMonitor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/monitor/src/java/org/apache/avalon/excalibur/monitor/PassiveMonitor.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- PassiveMonitor.java	7 Sep 2002 12:14:01 -0000	1.11
  +++ PassiveMonitor.java	13 Sep 2002 10:11:41 -0000	1.12
  @@ -33,7 +33,7 @@
    * @author <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
    * @version $Id$
    */
  -public final class PassiveMonitor
  +public class PassiveMonitor
       extends org.apache.avalon.excalibur.monitor.impl.PassiveMonitor
       implements LogEnabled, Configurable, ThreadSafe
   {
  
  
  
  1.2       +7 -1      jakarta-avalon-excalibur/monitor/src/test/org/apache/avalon/excalibur/monitor/test/DirectoryTestCase.java
  
  Index: DirectoryTestCase.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/monitor/src/test/org/apache/avalon/excalibur/monitor/test/DirectoryTestCase.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DirectoryTestCase.java	8 Sep 2002 02:30:48 -0000	1.1
  +++ DirectoryTestCase.java	13 Sep 2002 10:11:41 -0000	1.2
  @@ -120,10 +120,16 @@
           longDelay();
   
           resource.testModifiedAfter( System.currentTimeMillis() );
  +        final int changeCount = listener.getChangeCount();
  +        resource.testModifiedAfter( System.currentTimeMillis() + 1 );
           testExpected( "Add", added, listener.getAdded() );
           testExpected( "Remove", removed, listener.getRemoved() );
           testExpected( "Modify", modified, listener.getModified() );
   
  +        assertEquals( "Changes detected. (Should be " + changeCount +
  +                      " as no changes occured between two tests)",
  +                      changeCount,
  +                      listener.getChangeCount() );
           listener.reset();
       }
   
  
  
  
  1.2       +7 -0      jakarta-avalon-excalibur/monitor/src/test/org/apache/avalon/excalibur/monitor/test/DirectoryTestCaseListener.java
  
  Index: DirectoryTestCaseListener.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/monitor/src/test/org/apache/avalon/excalibur/monitor/test/DirectoryTestCaseListener.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DirectoryTestCaseListener.java	8 Sep 2002 02:30:48 -0000	1.1
  +++ DirectoryTestCaseListener.java	13 Sep 2002 10:11:41 -0000	1.2
  @@ -18,6 +18,7 @@
       extends AbstractLogEnabled
       implements PropertyChangeListener
   {
  +    private int m_changeCount;
       private Set m_added = Collections.EMPTY_SET;
       private Set m_removed = Collections.EMPTY_SET;
       private Set m_modified = Collections.EMPTY_SET;
  @@ -44,8 +45,14 @@
           return m_modified;
       }
   
  +    public int getChangeCount()
  +    {
  +        return m_changeCount;
  +    }
  +
       public void propertyChange( final PropertyChangeEvent event )
       {
  +        m_changeCount++;
           final String name = event.getPropertyName();
           final Set newValue = (Set)event.getNewValue();
           if( name.equals( DirectoryResource.ADDED ) )
  
  
  
  1.7       +2 -2      jakarta-avalon-excalibur/monitor/src/test/org/apache/avalon/excalibur/monitor/test/MonitorTestCase.xtest
  
  Index: MonitorTestCase.xtest
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/monitor/src/test/org/apache/avalon/excalibur/monitor/test/MonitorTestCase.xtest,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- MonitorTestCase.xtest	7 Sep 2002 12:14:02 -0000	1.6
  +++ MonitorTestCase.xtest	13 Sep 2002 10:11:41 -0000	1.7
  @@ -39,8 +39,8 @@
       <role name="org.apache.avalon.excalibur.monitor.MonitorSelector"
             shorthand="monitors"
             default-class="org.apache.avalon.excalibur.component.ExcaliburComponentSelector">
  -      <hint shorthand="active-monitor" class="org.apache.avalon.excalibur.monitor.ActiveMonitor"/>
  -      <hint shorthand="passive-monitor" class="org.apache.avalon.excalibur.monitor.PassiveMonitor"/>
  +      <hint shorthand="active-monitor" class="org.apache.avalon.excalibur.monitor.test.ActiveMonitorComponent"/>
  +      <hint shorthand="passive-monitor" class="org.apache.avalon.excalibur.monitor.test.PassiveMonitorComponent"/>
       </role>
     </roles>
   
  
  
  
  1.1                  jakarta-avalon-excalibur/monitor/src/test/org/apache/avalon/excalibur/monitor/test/ActiveMonitorComponent.java
  
  Index: ActiveMonitorComponent.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE.txt file.
   */
  package org.apache.avalon.excalibur.monitor.test;
  
  import org.apache.avalon.excalibur.monitor.ActiveMonitor;
  import org.apache.avalon.framework.component.Component;
  
  /**
   *
   * @author <a href="mailto:peter at apache.org">Peter Donald</a>
   * @version $Revision: 1.1 $ $Date: 2002/09/13 10:11:41 $
   */
  public class ActiveMonitorComponent
      extends ActiveMonitor
      implements Component
  {
  }
  
  
  
  1.1                  jakarta-avalon-excalibur/monitor/src/test/org/apache/avalon/excalibur/monitor/test/PassiveMonitorComponent.java
  
  Index: PassiveMonitorComponent.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE.txt file.
   */
  package org.apache.avalon.excalibur.monitor.test;
  
  import org.apache.avalon.excalibur.monitor.PassiveMonitor;
  import org.apache.avalon.framework.component.Component;
  
  /**
   * implement component
   *
   * @author <a href="mailto:peter at apache.org">Peter Donald</a>
   * @version $Revision: 1.1 $ $Date: 2002/09/13 10:11:41 $
   */
  public class PassiveMonitorComponent
      extends PassiveMonitor
      implements Component
  {
  }
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>