You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by md...@apache.org on 2013/06/20 09:33:43 UTC
svn commit: r1494881 - in
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation:
ChangeProcessor.java SecurableNodeStateDiff.java
Author: mduerig
Date: Thu Jun 20 07:33:42 2013
New Revision: 1494881
URL: http://svn.apache.org/r1494881
Log:
OAK-144 Implement Observation
- temporary solution to skip look ahead on hidden child nodes
- avoid extra instance creation
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/ChangeProcessor.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/SecurableNodeStateDiff.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/ChangeProcessor.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/ChangeProcessor.java?rev=1494881&r1=1494880&r2=1494881&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/ChangeProcessor.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/ChangeProcessor.java Thu Jun 20 07:33:42 2013
@@ -296,7 +296,7 @@ class ChangeProcessor implements Runnabl
changes, PathUtils.concat(path, name), events, before, after, this, name);
return VisibleDiff.wrap(diff);
} else {
- return new RecursingNodeStateDiff();
+ return RecursingNodeStateDiff.EMPTY;
}
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/SecurableNodeStateDiff.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/SecurableNodeStateDiff.java?rev=1494881&r1=1494880&r2=1494881&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/SecurableNodeStateDiff.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/SecurableNodeStateDiff.java Thu Jun 20 07:33:42 2013
@@ -22,6 +22,7 @@ package org.apache.jackrabbit.oak.plugin
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.spi.state.NodeState;
import org.apache.jackrabbit.oak.spi.state.NodeStateDiff;
+import org.apache.jackrabbit.oak.spi.state.NodeStateUtils;
public abstract class SecurableNodeStateDiff implements NodeStateDiff {
private final SecurableNodeStateDiff parent;
@@ -102,6 +103,11 @@ public abstract class SecurableNodeState
@Override
public boolean childNodeChanged(final String name, final NodeState before, final NodeState after) {
+ // FIXME temporary solution to skip look ahead on hidden child nodes
+ if (NodeStateUtils.isHidden(name)) {
+ return true;
+ }
+
final SecurableNodeStateDiff childDiff = create(this, name, before, after);
deferred = new Deferred() {
@Override