Torsten Curdt wrote:
> On Sun, 21 Apr 2002, Torsten Curdt wrote:
>
>
>>>Can someone enlighten me... the ActiveMonitor does not report any file
>>>changes hear as he is supposed to... I just don't get the events :(
>>
>>ok... I have been debugging the active monitor... and I run into this:
>>
>>
>>in FileResource.java:
>>
>> public long lastModified()
>> {
>> return m_file.lastModified();
>> }
>>
>>
>>in Resource.java:
>>
>> public void testModifiedAfter( long time )
>> {
>> long lastModified = this.lastModified();
>> if( lastModified > time )
>> {
>> m_eventSupport.firePropertyChange( Resource.MODIFIED,
>> new Long( m_previousModified ),
>> new Long( lastModified ) );
>> m_previousModified = lastModified;
>> }
>> }
>>
>>Now what the active monitor does is to call the "testModifiedAfter" with
>>the "System.currentTimeMillis()" as an argument. On a change the
>>"testModifierAfter" is supposed to fire the "Resource.MODIFIED" event.
>>
>>But AFAICS the current code does something else.... If you break it down
>>you get:
>>
>> if ( file.lastModified() > System.currentTimeMillis() ) {
>> // fire event
>> }
>>
>>Which is not much likely to happen... ;-)
>>Shouldn't it be:
>>
>> if ( file.lastModified() > m_previousModified ) {
>> // fire event
>> m_previousModified = file.lastModified()
>> }
>>
>>But then the "time" argument wouldn't make much sense...
>
>
> One way to solve this is to replace this:
>
> in ActiveMonitor:
>
> for( int i = 0; i < resources.length; i++ )
> {
> resources[ i ].testModifiedAfter( currentTestTime );
> ~~~~~~~~~~~~~~~
> }
>
> by this:
>
> for( int i = 0; i < resources.length; i++ )
> {
> resources[ i ].testModifiedAfter( resources[i].m_previousModified );
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> }
>
> question is only if this is really desired...
>
> Berin, how did you wanted this to work?
> Do you want me to provide a patch?
> --
> Torsten
>
Go for it.
--
"They that give up essential liberty to obtain a little temporary safety
deserve neither liberty nor safety."
- Benjamin Franklin
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>