Author: vmassol
Date: 2008-02-12 11:59:35 +0100 (Tue, 12 Feb 2008)
New Revision: 7534

Modified:
   
xwiki-platform/core/branches/xwiki-core-1.2/xwiki-observation/src/main/java/org/xwiki/observation/event/filter/RegexEventFilter.java
   
xwiki-platform/core/branches/xwiki-core-1.2/xwiki-observation/src/test/java/org/xwiki/observation/ObservationManagerTest.java
Log:
XWIKI-1522: Rewrite the notification mechanism

* Fixed RegexEventFilter and added a unit test for it

Modified: 
xwiki-platform/core/branches/xwiki-core-1.2/xwiki-observation/src/main/java/org/xwiki/observation/event/filter/RegexEventFilter.java
===================================================================
--- 
xwiki-platform/core/branches/xwiki-core-1.2/xwiki-observation/src/main/java/org/xwiki/observation/event/filter/RegexEventFilter.java
        2008-02-12 08:57:34 UTC (rev 7533)
+++ 
xwiki-platform/core/branches/xwiki-core-1.2/xwiki-observation/src/main/java/org/xwiki/observation/event/filter/RegexEventFilter.java
        2008-02-12 10:59:35 UTC (rev 7534)
@@ -23,7 +23,7 @@
 import java.util.regex.Pattern;
 import java.util.regex.Matcher;
 
-public class RegexEventFilter
+public class RegexEventFilter implements EventFilter
 {
     private String filter;
     private Pattern pattern;

Modified: 
xwiki-platform/core/branches/xwiki-core-1.2/xwiki-observation/src/test/java/org/xwiki/observation/ObservationManagerTest.java
===================================================================
--- 
xwiki-platform/core/branches/xwiki-core-1.2/xwiki-observation/src/test/java/org/xwiki/observation/ObservationManagerTest.java
       2008-02-12 08:57:34 UTC (rev 7533)
+++ 
xwiki-platform/core/branches/xwiki-core-1.2/xwiki-observation/src/test/java/org/xwiki/observation/ObservationManagerTest.java
       2008-02-12 10:59:35 UTC (rev 7534)
@@ -23,10 +23,14 @@
 import junit.framework.TestCase;
 import org.xwiki.observation.event.DocumentSaveEvent;
 import org.xwiki.observation.event.Event;
+import org.xwiki.observation.event.filter.RegexEventFilter;
 import org.xwiki.observation.internal.DefaultObservationManager;
 
 public class ObservationManagerTest extends TestCase
 {
+    private ObservationManager manager;
+    private TestListener listener;
+
     public class TestListener implements EventListener
     {
         public boolean hasListenerBeenCalled = false;
@@ -40,14 +44,25 @@
         }
     }
 
-    public void testNotify()
+    protected void setUp()
     {
-        ObservationManager manager = new DefaultObservationManager();
-        TestListener listener = new TestListener();
+        this.manager = new DefaultObservationManager();
+        this.listener = new TestListener();
+    }
+
+    public void testNotifyWhenUsingDocumentSaveEvent()
+    {
         manager.addListener(new DocumentSaveEvent("SomeDocument"), listener);
 
         manager.notify(new DocumentSaveEvent("SomeDocument"), "some source", 
"some data");
         assertTrue("Listener has not been called", 
listener.hasListenerBeenCalled);
     }
 
+    public void testNotifyWhenUsingDocumentSaveEventWithFilter()
+    {
+        manager.addListener(new DocumentSaveEvent(new 
RegexEventFilter(".*Doc.*")), listener);
+
+        manager.notify(new DocumentSaveEvent("SomeDocument"), "some source", 
"some data");
+        assertTrue("Listener has not been called", 
listener.hasListenerBeenCalled);
+    }
 }

_______________________________________________
notifications mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/notifications

Reply via email to