Author: mreutegg
Date: Wed Mar 6 14:32:57 2013
New Revision: 1453345
URL: http://svn.apache.org/r1453345
Log:
OAK-677: Property events on root node fail with NPE
- adding test case
Modified:
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java
Modified:
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java?rev=1453345&r1=1453344&r2=1453345&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java
(original)
+++
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java
Wed Mar 6 14:32:57 2013
@@ -2072,6 +2072,38 @@ public class RepositoryTest extends Abst
}
@Test
+ @Ignore("OAK-677")
+ public void observationOnRootNode() throws Exception {
+ final AtomicReference<CountDownLatch> hasEvents = new
AtomicReference<CountDownLatch>(new CountDownLatch(1));
+ Session observingSession = createAdminSession();
+ try {
+ ObservationManager obsMgr =
observingSession.getWorkspace().getObservationManager();
+ EventListener listener = new EventListener() {
+ @Override
+ public void onEvent(EventIterator events) {
+ while (events.hasNext()) {
+ events.next();
+ hasEvents.get().countDown();
+ }
+ }
+ };
+
+ obsMgr.addEventListener(listener, Event.PROPERTY_ADDED,
+ "/", true, null, null, false);
+
+ // add property to root node
+ Node root = getNode("/");
+ root.setProperty("prop", "value");
+ root.getSession().save();
+
+ assertTrue(hasEvents.get().await(2, TimeUnit.SECONDS));
+ obsMgr.removeEventListener(listener);
+ } finally {
+ observingSession.logout();
+ }
+ }
+
+ @Test
public void liveNode() throws RepositoryException {
Session session = getAdminSession();