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 ch...@apache.org on 2014/09/26 12:22:48 UTC
svn commit: r1627738 - in /jackrabbit/oak/branches/1.0: ./
oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/NodeObserver.java
oak-doc/
Author: chetanm
Date: Fri Sep 26 10:22:47 2014
New Revision: 1627738
URL: http://svn.apache.org/r1627738
Log:
OAK-2143 - NodeObservor should catch exception in case event processing
Merging 1627731
Modified:
jackrabbit/oak/branches/1.0/ (props changed)
jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/NodeObserver.java
jackrabbit/oak/branches/1.0/oak-doc/ (props changed)
Propchange: jackrabbit/oak/branches/1.0/
------------------------------------------------------------------------------
Merged /jackrabbit/oak/trunk:r1627731
Modified: jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/NodeObserver.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/NodeObserver.java?rev=1627738&r1=1627737&r2=1627738&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/NodeObserver.java (original)
+++ jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/NodeObserver.java Fri Sep 26 10:22:47 2014
@@ -119,40 +119,44 @@ public abstract class NodeObserver imple
@Override
public void contentChanged(@Nonnull NodeState root, @Nullable CommitInfo info) {
if (previousRoot != null) {
- NamePathMapper namePathMapper = new NamePathMapperImpl(
- new GlobalNameMapper(new ImmutableRoot(root)));
-
- Set<String> oakPropertyNames = Sets.newHashSet();
- for (String name : propertyNames) {
- String oakName = namePathMapper.getOakNameOrNull(name);
- if (oakName == null) {
- LOG.warn("Ignoring invalid property name: {}", name);
- } else {
- oakPropertyNames.add(oakName);
+ try {
+ NamePathMapper namePathMapper = new NamePathMapperImpl(
+ new GlobalNameMapper(new ImmutableRoot(root)));
+
+ Set<String> oakPropertyNames = Sets.newHashSet();
+ for (String name : propertyNames) {
+ String oakName = namePathMapper.getOakNameOrNull(name);
+ if (oakName == null) {
+ LOG.warn("Ignoring invalid property name: {}", name);
+ } else {
+ oakPropertyNames.add(oakName);
+ }
}
- }
- NodeState before = previousRoot;
- NodeState after = root;
- EventHandler handler = new FilteredHandler(
- new VisibleFilter(),
- new NodeEventHandler("/", info, namePathMapper, oakPropertyNames));
-
- String oakPath = namePathMapper.getOakPath(path);
- if (oakPath == null) {
- LOG.warn("Cannot listen for changes on invalid path: {}", path);
- return;
- }
+ NodeState before = previousRoot;
+ NodeState after = root;
+ EventHandler handler = new FilteredHandler(
+ new VisibleFilter(),
+ new NodeEventHandler("/", info, namePathMapper, oakPropertyNames));
+
+ String oakPath = namePathMapper.getOakPath(path);
+ if (oakPath == null) {
+ LOG.warn("Cannot listen for changes on invalid path: {}", path);
+ return;
+ }
- for (String oakName : PathUtils.elements(oakPath)) {
- before = before.getChildNode(oakName);
- after = after.getChildNode(oakName);
- handler = handler.getChildHandler(oakName, before, after);
- }
+ for (String oakName : PathUtils.elements(oakPath)) {
+ before = before.getChildNode(oakName);
+ after = after.getChildNode(oakName);
+ handler = handler.getChildHandler(oakName, before, after);
+ }
- EventGenerator generator = new EventGenerator(before, after, handler);
- while (!generator.isDone()) {
- generator.generate();
+ EventGenerator generator = new EventGenerator(before, after, handler);
+ while (!generator.isDone()) {
+ generator.generate();
+ }
+ } catch (Exception e) {
+ LOG.warn("Error while dispatching observation events", e);
}
}
Propchange: jackrabbit/oak/branches/1.0/oak-doc/
------------------------------------------------------------------------------
Merged /jackrabbit/oak/trunk/oak-doc:r1627731