Update CoprocessorUtils.java

change addCoprocessor add isMVCC as param.

Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/d11e9d4e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/d11e9d4e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/d11e9d4e

Branch: refs/heads/master
Commit: d11e9d4ecf4263b7999d4bf8e6460ba78da04150
Parents: a005ebf
Author: mashengchen <[email protected]>
Authored: Fri Jan 15 14:22:24 2016 +0800
Committer: mashengchen <[email protected]>
Committed: Fri Jan 15 14:22:24 2016 +0800

----------------------------------------------------------------------
 .../org/trafodion/sql/CoprocessorUtils.java     | 47 ++++++++++++++------
 1 file changed, 33 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/d11e9d4e/core/sql/src/main/java/org/trafodion/sql/CoprocessorUtils.java
----------------------------------------------------------------------
diff --git a/core/sql/src/main/java/org/trafodion/sql/CoprocessorUtils.java 
b/core/sql/src/main/java/org/trafodion/sql/CoprocessorUtils.java
index 18bb65c..f1b228d 100644
--- a/core/sql/src/main/java/org/trafodion/sql/CoprocessorUtils.java
+++ b/core/sql/src/main/java/org/trafodion/sql/CoprocessorUtils.java
@@ -22,16 +22,20 @@
 package org.trafodion.sql;
 
 import java.io.IOException;
-import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
 
 import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.PropertiesConfiguration;
 import org.apache.hadoop.hbase.HTableDescriptor;
 import org.apache.log4j.Logger;
 
 public class CoprocessorUtils {
-    private static Logger logger = 
Logger.getLogger(HBaseClient.class.getName());
-    private static String[] coprocessors = null;
+    private static Logger logger = 
Logger.getLogger(CoprocessorUtils.class.getName());
+    private static List<String> coprocessors = new ArrayList<String>();
+    private static String MVCC = null;
+    private static String SSCC = null;
 
     static {
         init();
@@ -40,20 +44,24 @@ public class CoprocessorUtils {
     private static void init() {
         Configuration config = null;
         try {
-            String path = System.getenv("MY_SQROOT") + 
"/etc/traf_coprocessor.properties";
+            String path = System.getenv("MY_SQROOT") + 
"/etc/trafcoprocess.properties";
             config = new PropertiesConfiguration(path);
-        } catch (Exception e) {
+        } catch (ConfigurationException e) {
             logger.error("error when finding trafcoprocess.properties");
             e.printStackTrace();
         }
 
         if (config != null) {
-            coprocessors = config.getStringArray("coprocessors");
+            for (String coprocessor : config.getStringArray("coprocessors")) {
+                coprocessors.add(coprocessor);
+            }
+            MVCC = config.getString("MVCC");
+            SSCC = config.getString("SSCC");
         }
     }
 
-    public static void addCoprocessor(String currentAllClassName, 
HTableDescriptor desc) throws IOException {
-        if (coprocessors == null) {
+    public static void addCoprocessor(String currentAllClassName, 
HTableDescriptor desc, boolean isMVCC) throws IOException {
+        if (coprocessors == null || currentAllClassName == null) {
             return;
         }
         for (String coprocess : coprocessors) {
@@ -61,16 +69,27 @@ public class CoprocessorUtils {
                 desc.addCoprocessor(coprocess);
             }
         }
+        if (isMVCC && (currentAllClassName == null || 
!currentAllClassName.contains(MVCC))) {
+            desc.addCoprocessor(MVCC);
+        } else if (!isMVCC && (currentAllClassName == null || 
!currentAllClassName.contains(SSCC))) {
+            desc.addCoprocessor(SSCC);
+        }
     }
 
     public static void main(String[] args) {
         
System.out.println("================CoprocessorUtils.main======================");
-        //init();
-        if (coprocessors == null) {
-            return;
-        }
-        for (String coprocess : coprocessors) {
-            System.out.println(coprocess);
+        // String currentAllClassName =
+        // 
"org.apache.hadoop.hbase.coprocessor.transactional.TrxRegionObserver,org.apache.hadoop.hbase.coprocessor.transactional.TrxRegionEndpoint,org.apache.hadoop.hbase.coprocessor.transactional.SsccRegionEndpoint,org.apache.hadoop.hbase.coprocessor.AggregateImplementation";
+        String currentAllClassName = "";
+        HTableDescriptor desc = new HTableDescriptor();
+        boolean isMVCC = true;
+        addCoprocessor(currentAllClassName, desc, isMVCC);
+
+        List<String> list = desc.getCoprocessors();
+
+        for (String string : list) {
+            System.out.println(string);
         }
+        
System.out.println("================CoprocessorUtils.main======================");
     }
 }

Reply via email to