One logical/conceptual error. I went too far with the JavaBean approach, and assumed that we had one listener per resource. One of the planned uses was to have one listener (i.e. a cache, a program generator, etc.) for a larger number of resources. I have changed the name of the property returned by the PropertyChangeEvent to be the value returned by the getResourceKey() method.
Berin Loritsch wrote: > > The tests pass with flying colors. It turns out that the > PropertyChangeListeners > need to be given some time to operate--and they can run outside the current > thread. > > We have two monitors: > > The ActiveMonitor and the PassiveMonitor. > > The ActiveMonitor polls the Resource every X milliseconds > (specified by the "frequency" element). If the resource > has changed then the "last-modified" time changes. This > allows you to monitor resources that might be altered by > third parties. > > The PassiveMonitor does nothing except manage the Resources > in the same manner that all Monitors manage resources. > > All Resources have the responsibility to notify all listeners > if it has been modified through the Resource class. As both > an example and a practical example, the StreamResource is used > by all classes that manage the contents by IO streams. When > a writing IO stream (obtained from the StreamResource) closes, > the StreamResource notifies all of its listeners. > > It works pretty well! > > The we can have an implementation of the Cache that is notified > by the Monitor section. > > Also, you can test your own Monitors by adding a simple test > script to get the Monitor in question. > > We might want to set up the ExcaliburTestCase so that the > initialize() and dispose() methods are called only once during > the life of the test. In order to do that, we have to use a > TestDecorator that performs that action. > > JUnit calls setUp() and tearDown() around each testXXXX() method. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
