Author: mduerig
Date: Tue Nov 26 13:36:30 2013
New Revision: 1545652
URL: http://svn.apache.org/r1545652
Log:
OAK-1133: Observation listener PLUS
Avoid duplicate path conversion
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/ChangeProcessor.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ObservationManagerImpl.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=1545652&r1=1545651&r2=1545652&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
Tue Nov 26 13:36:30 2013
@@ -133,12 +133,11 @@ public class ChangeProcessor implements
FilterProvider provider = filterProvider.get();
// FIXME don't rely on toString for session id
if (provider.includeCommit(contentSession.toString(), info)) {
- String path =
namePathMapper.getOakPath(provider.getPath());
- ImmutableTree beforeTree = getTree(previousRoot, path);
- ImmutableTree afterTree = getTree(root, path);
+ ImmutableTree beforeTree = getTree(previousRoot,
provider.getPath());
+ ImmutableTree afterTree = getTree(root,
provider.getPath());
TreePermission treePermission =
getTreePermission(afterTree);
EventIterator<Event> events = new EventIterator<Event>(
- beforeTree.getNodeState(),
afterTree.getNodeState(), path,
+ beforeTree.getNodeState(),
afterTree.getNodeState(), provider.getPath(),
provider.getFilter(beforeTree, afterTree,
treePermission),
new JcrListener(beforeTree, afterTree,
namePathMapper, info));
if (events.hasNext()) {
Modified:
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ObservationManagerImpl.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ObservationManagerImpl.java?rev=1545652&r1=1545651&r2=1545652&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ObservationManagerImpl.java
(original)
+++
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ObservationManagerImpl.java
Tue Nov 26 13:36:30 2013
@@ -111,7 +111,8 @@ public class ObservationManagerImpl impl
public synchronized void addEventListener(EventListener listener, int
eventTypes, String absPath,
boolean isDeep, String[] uuid, String[] nodeTypeName, boolean
noLocal) throws RepositoryException {
boolean includeExternal = !(listener instanceof ExcludeExternal);
- FilterProvider filterProvider = new JcrFilterProvider(ntMgr,
eventTypes, oakPath(absPath), isDeep,
+ String oakPath = namePathMapper.getOakPath(absPath);
+ FilterProvider filterProvider = new JcrFilterProvider(ntMgr,
eventTypes, oakPath, isDeep,
uuid, validateNodeTypeNames(nodeTypeName), !noLocal,
includeExternal);
ChangeProcessor processor = processors.get(listener);
if (processor == null) {
@@ -172,10 +173,6 @@ public class ObservationManagerImpl impl
//------------------------------------------------------------< private
>---
- private String oakPath(String jcrPath) {
- return namePathMapper.getOakPath(jcrPath);
- }
-
/**
* Validates the given node type names.
*