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>