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)) {


Reply via email to