donaldp 2002/09/13 03:31:51
Modified: monitor/src/java/org/apache/avalon/excalibur/monitor
DirectoryResource.java
Log:
Okay - if a directory disapears we issue a remove event for all remaining files.
Revision Changes Path
1.4 +21 -21
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.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- DirectoryResource.java 13 Sep 2002 10:18:24 -0000 1.3
+++ DirectoryResource.java 13 Sep 2002 10:31:51 -0000 1.4
@@ -73,31 +73,31 @@
final HashSet addedFiles = new HashSet();
final File[] files = m_dir.listFiles();
- if( null == files )
- {
- //In the case that the directory does not exist
- return;
- }
- for( int i = 0; i < files.length; i++ )
+ int fileCount = 0;
+ if( null != files )
{
- final File file = files[ i ];
- final long newModTime = file.lastModified();
- if( m_files.contains( file ) )
+ fileCount = files.length;
+ for( int i = 0; i < files.length; i++ )
{
- existingFiles.add( file );
+ final File file = files[ i ];
+ final long newModTime = file.lastModified();
+ if( m_files.contains( file ) )
+ {
+ existingFiles.add( file );
- final Long oldModTime = (Long)m_times.get( file );
- if( oldModTime.longValue() != newModTime )
+ final Long oldModTime = (Long)m_times.get( file );
+ if( oldModTime.longValue() != newModTime )
+ {
+ modifiedFiles.add( file );
+ }
+ }
+ else
{
- modifiedFiles.add( file );
+ addedFiles.add( file );
}
+ m_times.put( file, new Long( newModTime ) );
}
- else
- {
- addedFiles.add( file );
- }
- m_times.put( file, new Long( newModTime ) );
}
final int lastCount = m_files.size();
@@ -106,7 +106,7 @@
//If no new files have been added and
//none deleted then nothing to do
- if( files.length == lastCount &&
+ if( fileCount == lastCount &&
0 == addedCount &&
0 == modifiedCount )
{
@@ -117,7 +117,7 @@
//If only new files were added and none were changed then
//we don't have to scan for deleted files
- if( files.length != lastCount + addedCount )
+ if( fileCount != lastCount + addedCount )
{
//Looks like we do have to scan for deleted files
final Iterator iterator = m_files.iterator();
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>