You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by re...@apache.org on 2007/10/22 16:09:46 UTC

svn commit: r587103 - /jackrabbit/trunk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/observation/ObservationManagerImpl.java

Author: reschke
Date: Mon Oct 22 07:09:45 2007
New Revision: 587103

URL: http://svn.apache.org/viewvc?rev=587103&view=rev
Log:
JCR-1183: delay listener registration until the SPI event filter has been created and internally registered.

Modified:
    jackrabbit/trunk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/observation/ObservationManagerImpl.java

Modified: jackrabbit/trunk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/observation/ObservationManagerImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/observation/ObservationManagerImpl.java?rev=587103&r1=587102&r2=587103&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/observation/ObservationManagerImpl.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/observation/ObservationManagerImpl.java Mon Oct 22 07:09:45 2007
@@ -103,10 +103,6 @@
                                  String[] uuids,
                                  String[] nodeTypeNames,
                                  boolean noLocal) throws RepositoryException {
-        if (!isRegistered) {
-            wspManager.addEventListener(this);
-            isRegistered = true;
-        }
         Path path;
         try {
             path = resolver.getQPath(absPath).getCanonicalPath();
@@ -137,6 +133,11 @@
         synchronized (subscriptions) {
             subscriptions.put(listener, filter);
             readOnlySubscriptions = null;
+        }
+
+        if (!isRegistered) {
+            wspManager.addEventListener(this);
+            isRegistered = true;
         }
     }