Author: stefanegli
Date: Tue Nov 29 11:12:57 2016
New Revision: 1771883
URL: http://svn.apache.org/viewvc?rev=1771883&view=rev
Log:
OAK-5181 : replaced somewhat implicit getSubTrees of FilterConfigMBean with a
more explicit and orthogonal getPaths - to have original glob/paths show up
correctly in the consolidated listener stats mbean
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/FilterBuilder.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/FilterConfigMBean.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ConsolidatedListenerMBeanImpl.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/filter/FilterBuilder.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/FilterBuilder.java?rev=1771883&r1=1771882&r2=1771883&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/FilterBuilder.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/FilterBuilder.java
Tue Nov 29 11:12:57 2016
@@ -22,6 +22,7 @@ package org.apache.jackrabbit.oak.plugin
import static com.google.common.base.Preconditions.checkNotNull;
import static com.google.common.collect.Lists.newArrayList;
+import static com.google.common.collect.Sets.newHashSet;
import static javax.jcr.observation.Event.NODE_ADDED;
import static javax.jcr.observation.Event.NODE_MOVED;
import static javax.jcr.observation.Event.NODE_REMOVED;
@@ -34,6 +35,7 @@ import static org.apache.jackrabbit.oak.
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.regex.Pattern;
import javax.annotation.CheckForNull;
@@ -62,6 +64,7 @@ public final class FilterBuilder {
private boolean includeClusterExternal;
private boolean includeClusterLocal = true;
private final List<String> subTrees = newArrayList();
+ private final Set<String> pathsForMBean = newHashSet();
private Condition condition = includeAll();
private ChangeSetFilter changeSetFilter = new ChangeSetFilter() {
@@ -108,6 +111,16 @@ public final class FilterBuilder {
subTrees.add(checkNotNull(absPath));
return this;
}
+
+ /**
+ * Adds paths to the FilterConfigMBean's getPaths set
+ * @param paths
+ * @return
+ */
+ public FilterBuilder addPathsForMBean(@Nonnull Set<String> paths) {
+ pathsForMBean.addAll(paths);
+ return this;
+ }
/**
* A set of paths whose subtrees include all events of this filter.
@@ -452,8 +465,8 @@ public final class FilterBuilder {
private FilterConfigMBean getConfigMBean(){
return new FilterConfigMBean() {
@Override
- public String[] getSubTrees() {
- return Iterables.toArray(subTrees, String.class);
+ public String[] getPaths() {
+ return Iterables.toArray(pathsForMBean, String.class);
}
@Override
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/FilterConfigMBean.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/FilterConfigMBean.java?rev=1771883&r1=1771882&r2=1771883&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/FilterConfigMBean.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/FilterConfigMBean.java
Tue Nov 29 11:12:57 2016
@@ -23,11 +23,11 @@ public interface FilterConfigMBean {
String TYPE = "FilterConfig";
/**
- * A set of paths whose subtrees include all events of this filter.
+ * A set of paths, potentially containing globs, that include all events
of this filter.
* @return list of paths
* @see
org.apache.jackrabbit.oak.plugins.observation.filter.FilterBuilder#addSubTree(String)
*/
- String[] getSubTrees();
+ String[] getPaths();
/**
* Whether to include cluster local changes.
Modified:
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ConsolidatedListenerMBeanImpl.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ConsolidatedListenerMBeanImpl.java?rev=1771883&r1=1771882&r2=1771883&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ConsolidatedListenerMBeanImpl.java
(original)
+++
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ConsolidatedListenerMBeanImpl.java
Tue Nov 29 11:12:57 2016
@@ -411,7 +411,7 @@ public class ConsolidatedListenerMBeanIm
mbeans.observerMBean.getQueueSize(),
mbeans.observerMBean.getLocalEventCount(),
mbeans.observerMBean.getExternalEventCount(),
- Arrays.toString(mbeans.filterConfigMBean.getSubTrees()),
+ Arrays.toString(mbeans.filterConfigMBean.getPaths()),
mbeans.filterConfigMBean.isIncludeClusterExternal(),
mbeans.filterConfigMBean.isIncludeClusterLocal(),
mbeans.observerMBean.getMaxQueueSize(),
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=1771883&r1=1771882&r2=1771883&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 29 11:12:57 2016
@@ -253,6 +253,7 @@ public class ObservationManagerImpl impl
FilterBuilder filterBuilder = new FilterBuilder();
String depthPattern = isDeep ? STAR + '/' + STAR_STAR : STAR;
List<Condition> includeConditions = newArrayList();
+ filterBuilder.addPathsForMBean(includePaths);
for (String path : includePaths) {
final String deepenedPath;
if (path.endsWith(STAR)) {