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/06/24 11:22:08 UTC

svn commit: r1605038 - in /jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene: LuceneIndexMBean.java LuceneIndexMBeanImpl.java LuceneIndexProviderService.java

Author: chetanm
Date: Tue Jun 24 09:22:08 2014
New Revision: 1605038

URL: http://svn.apache.org/r1605038
Log:
OAK-1893 - MBean to dump Lucene Index content and related stats

Use the new annotations from oak-commons for description

Modified:
    jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBean.java
    jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBeanImpl.java
    jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java

Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBean.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBean.java?rev=1605038&r1=1605037&r2=1605038&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBean.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBean.java Tue Jun 24 09:22:08 2014
@@ -23,6 +23,9 @@ import java.io.IOException;
 
 import javax.management.openmbean.TabularData;
 
+import org.apache.jackrabbit.oak.commons.jmx.Description;
+import org.apache.jackrabbit.oak.commons.jmx.Name;
+
 public interface LuceneIndexMBean {
     String TYPE = "LuceneIndex";
 
@@ -35,5 +38,11 @@ public interface LuceneIndexMBean {
      * @param destPath path on server where the index content needs to be copied
      * @throws IOException
      */
-    void dumpIndexContent(String sourcePath, String destPath) throws IOException;
+    void dumpIndexContent(@Name("sourcePath")
+                          @Description("Index path in content. Can be null")
+                          String sourcePath,
+
+                          @Name("destPath")
+                          @Description("Target directory path on server where the index content needs to be copied")
+                          String destPath) throws IOException;
 }

Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBeanImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBeanImpl.java?rev=1605038&r1=1605037&r2=1605038&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBeanImpl.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBeanImpl.java Tue Jun 24 09:22:08 2014
@@ -23,9 +23,7 @@ import java.io.File;
 import java.io.IOException;
 import java.util.Set;
 
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanParameterInfo;
-import javax.management.StandardMBean;
+import javax.management.NotCompliantMBeanException;
 import javax.management.openmbean.CompositeDataSupport;
 import javax.management.openmbean.CompositeType;
 import javax.management.openmbean.OpenDataException;
@@ -35,6 +33,7 @@ import javax.management.openmbean.Tabula
 import javax.management.openmbean.TabularDataSupport;
 import javax.management.openmbean.TabularType;
 
+import org.apache.jackrabbit.oak.commons.jmx.AnnotatedStandardMBean;
 import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.store.Directory;
@@ -45,12 +44,12 @@ import org.slf4j.LoggerFactory;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
-public class LuceneIndexMBeanImpl extends StandardMBean implements LuceneIndexMBean {
+public class LuceneIndexMBeanImpl extends AnnotatedStandardMBean implements LuceneIndexMBean {
     private final Logger log = LoggerFactory.getLogger(getClass());
     private final IndexTracker indexTracker;
 
-    public LuceneIndexMBeanImpl(IndexTracker indexTracker) {
-        super(LuceneIndexMBean.class, false);
+    public LuceneIndexMBeanImpl(IndexTracker indexTracker) throws NotCompliantMBeanException {
+        super(LuceneIndexMBean.class);
         this.indexTracker = indexTracker;
     }
 
@@ -107,19 +106,6 @@ public class LuceneIndexMBeanImpl extend
         }
     }
 
-    //~------------------------------------------------------< StandardMBean >
-
-    @Override
-    protected String getDescription(MBeanOperationInfo op, MBeanParameterInfo param, int sequence) {
-        if(op.getName().equals("dumpIndexContent")){
-            switch(sequence){
-                case 0 : return "Index path in content. Can be null";
-                case 1 : return "Target directory path on server";
-            }
-        }
-        return super.getDescription(op, param, sequence);
-    }
-
     private static class IndexStats {
         static final String[] FIELD_NAMES = new String[]{
                 "path",

Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java?rev=1605038&r1=1605037&r2=1605038&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java Tue Jun 24 09:22:08 2014
@@ -22,6 +22,8 @@ package org.apache.jackrabbit.oak.plugin
 import java.util.List;
 import java.util.Map;
 
+import javax.management.NotCompliantMBeanException;
+
 import com.google.common.collect.Lists;
 import org.apache.felix.scr.annotations.Activate;
 import org.apache.felix.scr.annotations.Component;
@@ -71,7 +73,8 @@ public class LuceneIndexProviderService 
     private Registration mbeanReg;
 
     @Activate
-    private void activate(BundleContext bundleContext, Map<String, ?> config) {
+    private void activate(BundleContext bundleContext, Map<String, ?> config)
+            throws NotCompliantMBeanException {
         indexProvider = new LuceneIndexProvider();
         initialize();