Author: mreutegg
Date: Wed Mar 6 14:56:47 2013
New Revision: 1453359
URL: http://svn.apache.org/r1453359
Log:
OAK-677: Property events on root node fail with NPE
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/ReadOnlyTree.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/ChangeFilter.java
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/ReadOnlyTree.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/ReadOnlyTree.java?rev=1453359&r1=1453358&r2=1453359&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/ReadOnlyTree.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/ReadOnlyTree.java
Wed Mar 6 14:56:47 2013
@@ -51,7 +51,7 @@ public class ReadOnlyTree implements Tre
*/
private final NodeState state;
- public ReadOnlyTree(NodeState rootState) {
+ public ReadOnlyTree(@Nonnull NodeState rootState) {
this(null, "", rootState);
}
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/ChangeFilter.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/ChangeFilter.java?rev=1453359&r1=1453358&r2=1453359&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/ChangeFilter.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/ChangeFilter.java
Wed Mar 6 14:56:47 2013
@@ -61,10 +61,11 @@ class ChangeFilter {
this.noLocal = noLocal;
}
- public boolean include(int eventType, String path, NodeState
associatedParentNode) {
+ public boolean include(int eventType, String path, @Nullable NodeState
associatedParentNode) {
return include(eventType)
&& include(path)
- && includeByType(new ReadOnlyTree(associatedParentNode));
+ && (associatedParentNode == null
+ || includeByType(new ReadOnlyTree(associatedParentNode)));
}
public boolean includeChildren(String path) {
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=1453359&r1=1453358&r2=1453359&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:56:47 2013
@@ -2072,7 +2072,6 @@ 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();