You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by sh...@apache.org on 2018/11/20 08:16:00 UTC

[kylin] branch master updated: KYLIN-3290 Leverage getDecalredConstructor().newInstance() instead of newInstance()

This is an automated email from the ASF dual-hosted git repository.

shaofengshi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/master by this push:
     new cede58b  KYLIN-3290 Leverage getDecalredConstructor().newInstance() instead of newInstance()
cede58b is described below

commit cede58b5325bdb8b17dd8f0f1d59f8e0ded52ceb
Author: 武斌 <wu...@wubindeMacBook-Pro.local>
AuthorDate: Tue Nov 20 14:46:26 2018 +0800

    KYLIN-3290 Leverage getDecalredConstructor().newInstance() instead of
    newInstance()
---
 .../src/main/java/org/apache/kylin/common/util/ClassUtil.java     | 2 +-
 .../main/java/org/apache/kylin/dict/DictionaryInfoSerializer.java | 8 +++++++-
 .../src/main/java/org/apache/kylin/dict/DictionarySerializer.java | 2 +-
 .../src/main/java/org/apache/kylin/dict/NumberDictionary.java     | 2 +-
 .../src/main/java/org/apache/kylin/dict/NumberDictionary2.java    | 2 +-
 .../src/main/java/org/apache/kylin/dict/TrieDictionary.java       | 2 +-
 .../src/main/java/org/apache/kylin/dict/TrieDictionaryForest.java | 2 +-
 .../java/org/apache/kylin/dict/global/GlobalDictHDFSStore.java    | 4 ++--
 .../src/test/java/org/apache/kylin/jdbc/ITJDBCDriverTest.java     | 2 +-
 query/src/main/java/org/apache/kylin/query/QueryConnection.java   | 5 +++--
 .../java/org/apache/kylin/query/relnode/OLAPAggregateRel.java     | 2 +-
 .../src/test/java/org/apache/kylin/rest/bean/BeanValidator.java   | 2 +-
 12 files changed, 21 insertions(+), 14 deletions(-)

diff --git a/core-common/src/main/java/org/apache/kylin/common/util/ClassUtil.java b/core-common/src/main/java/org/apache/kylin/common/util/ClassUtil.java
index cd78fe0..5019b21 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/ClassUtil.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/ClassUtil.java
@@ -85,7 +85,7 @@ public class ClassUtil {
 
     public static Object newInstance(String clz) {
         try {
-            return forName(clz, Object.class).newInstance();
+            return forName(clz, Object.class).getDeclaredConstructor().newInstance();
         } catch (Exception e) {
             throw new RuntimeException(e);
         }
diff --git a/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryInfoSerializer.java b/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryInfoSerializer.java
index ee88ea7..96d34a1 100644
--- a/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryInfoSerializer.java
+++ b/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryInfoSerializer.java
@@ -21,6 +21,7 @@ package org.apache.kylin.dict;
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
 import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
 
 import org.apache.kylin.common.persistence.Serializer;
 import org.apache.kylin.common.util.ClassUtil;
@@ -63,14 +64,19 @@ public class DictionaryInfoSerializer implements Serializer<DictionaryInfo> {
         if (infoOnly == false) {
             Dictionary<String> dict;
             try {
-                dict = (Dictionary<String>) ClassUtil.forName(obj.getDictionaryClass(), Dictionary.class).newInstance();
+                dict = (Dictionary<String>) ClassUtil.forName(obj.getDictionaryClass(), Dictionary.class).getDeclaredConstructor().newInstance();
             } catch (InstantiationException e) {
                 throw new RuntimeException(e);
             } catch (IllegalAccessException e) {
                 throw new RuntimeException(e);
             } catch (ClassNotFoundException e) {
                 throw new RuntimeException(e);
+            } catch (NoSuchMethodException e) {
+                throw new RuntimeException(e);
+            } catch (InvocationTargetException e) {
+                throw new RuntimeException(e);
             }
+
             dict.readFields(in);
             obj.setDictionaryObject(dict);
         }
diff --git a/core-dictionary/src/main/java/org/apache/kylin/dict/DictionarySerializer.java b/core-dictionary/src/main/java/org/apache/kylin/dict/DictionarySerializer.java
index 72dc995..23f2b88 100644
--- a/core-dictionary/src/main/java/org/apache/kylin/dict/DictionarySerializer.java
+++ b/core-dictionary/src/main/java/org/apache/kylin/dict/DictionarySerializer.java
@@ -41,7 +41,7 @@ public final class DictionarySerializer {
         try {
             final DataInputStream dataInputStream = new DataInputStream(inputStream);
             final String type = dataInputStream.readUTF();
-            final Dictionary<?> dictionary = ClassUtil.forName(type, Dictionary.class).newInstance();
+            final Dictionary<?> dictionary = ClassUtil.forName(type, Dictionary.class).getDeclaredConstructor().newInstance();
             dictionary.readFields(dataInputStream);
             return dictionary;
         } catch (Exception e) {
diff --git a/core-dictionary/src/main/java/org/apache/kylin/dict/NumberDictionary.java b/core-dictionary/src/main/java/org/apache/kylin/dict/NumberDictionary.java
index 1377e8e..8e59792 100644
--- a/core-dictionary/src/main/java/org/apache/kylin/dict/NumberDictionary.java
+++ b/core-dictionary/src/main/java/org/apache/kylin/dict/NumberDictionary.java
@@ -49,7 +49,7 @@ public class NumberDictionary<T> extends TrieDictionary<T> {
     @Override
     protected void setConverterByName(String converterName) throws Exception {
         converterName = "org.apache.kylin.dict.Number2BytesConverter";
-        this.bytesConvert = ClassUtil.forName(converterName, BytesConverter.class).newInstance();
+        this.bytesConvert = ClassUtil.forName(converterName, BytesConverter.class).getDeclaredConstructor().newInstance();
         ((Number2BytesConverter)this.bytesConvert).setMaxDigitsBeforeDecimalPoint(Number2BytesConverter.MAX_DIGITS_BEFORE_DECIMAL_POINT_LEGACY);
     }
 
diff --git a/core-dictionary/src/main/java/org/apache/kylin/dict/NumberDictionary2.java b/core-dictionary/src/main/java/org/apache/kylin/dict/NumberDictionary2.java
index 0efe936..24700ca 100644
--- a/core-dictionary/src/main/java/org/apache/kylin/dict/NumberDictionary2.java
+++ b/core-dictionary/src/main/java/org/apache/kylin/dict/NumberDictionary2.java
@@ -40,7 +40,7 @@ public class NumberDictionary2<T> extends NumberDictionary<T> {
     @Override
     protected void setConverterByName(String converterName) throws Exception {
         converterName = "org.apache.kylin.dict.Number2BytesConverter";
-        this.bytesConvert = ClassUtil.forName(converterName, BytesConverter.class).newInstance();
+        this.bytesConvert = ClassUtil.forName(converterName, BytesConverter.class).getDeclaredConstructor().newInstance();
     }
 
 }
diff --git a/core-dictionary/src/main/java/org/apache/kylin/dict/TrieDictionary.java b/core-dictionary/src/main/java/org/apache/kylin/dict/TrieDictionary.java
index 8303bb0..b0eb5bb 100644
--- a/core-dictionary/src/main/java/org/apache/kylin/dict/TrieDictionary.java
+++ b/core-dictionary/src/main/java/org/apache/kylin/dict/TrieDictionary.java
@@ -126,7 +126,7 @@ public class TrieDictionary<T> extends CacheDictionary<T> {
     }
 
     protected void setConverterByName(String converterName) throws Exception {
-        this.bytesConvert = ClassUtil.forName(converterName, BytesConverter.class).newInstance();
+        this.bytesConvert = ClassUtil.forName(converterName, BytesConverter.class).getDeclaredConstructor().newInstance();
     }
 
     @Override
diff --git a/core-dictionary/src/main/java/org/apache/kylin/dict/TrieDictionaryForest.java b/core-dictionary/src/main/java/org/apache/kylin/dict/TrieDictionaryForest.java
index 4642cf4..3d6d781 100644
--- a/core-dictionary/src/main/java/org/apache/kylin/dict/TrieDictionaryForest.java
+++ b/core-dictionary/src/main/java/org/apache/kylin/dict/TrieDictionaryForest.java
@@ -211,7 +211,7 @@ public class TrieDictionaryForest<T> extends CacheDictionary<T> {
             String converterName = in.readUTF();
             BytesConverter<T> bytesConverter = null;
             if (converterName.isEmpty() == false)
-                bytesConverter = ClassUtil.forName(converterName, BytesConverter.class).newInstance();
+                bytesConverter = ClassUtil.forName(converterName, BytesConverter.class).getDeclaredConstructor().newInstance();
             //init accuOffset
             int accuSize = in.readInt();
             ArrayList<Integer> accuOffset = new ArrayList<>();
diff --git a/core-dictionary/src/main/java/org/apache/kylin/dict/global/GlobalDictHDFSStore.java b/core-dictionary/src/main/java/org/apache/kylin/dict/global/GlobalDictHDFSStore.java
index f286085..17ced1c 100644
--- a/core-dictionary/src/main/java/org/apache/kylin/dict/global/GlobalDictHDFSStore.java
+++ b/core-dictionary/src/main/java/org/apache/kylin/dict/global/GlobalDictHDFSStore.java
@@ -316,7 +316,7 @@ public class GlobalDictHDFSStore extends GlobalDictStore {
                 String converterName = in.readUTF();
                 BytesConverter converter;
                 try {
-                    converter = ClassUtil.forName(converterName, BytesConverter.class).newInstance();
+                    converter = ClassUtil.forName(converterName, BytesConverter.class).getDeclaredConstructor().newInstance();
                 } catch (Exception e) {
                     throw new RuntimeException("Fail to instantiate BytesConverter: " + converterName, e);
                 }
@@ -386,7 +386,7 @@ public class GlobalDictHDFSStore extends GlobalDictStore {
                 String converterName = in.readUTF();
                 BytesConverter converter;
                 try {
-                    converter = ClassUtil.forName(converterName, BytesConverter.class).newInstance();
+                    converter = ClassUtil.forName(converterName, BytesConverter.class).getDeclaredConstructor().newInstance();
                 } catch (Exception e) {
                     throw new RuntimeException("Fail to instantiate BytesConverter: " + converterName, e);
                 }
diff --git a/kylin-it/src/test/java/org/apache/kylin/jdbc/ITJDBCDriverTest.java b/kylin-it/src/test/java/org/apache/kylin/jdbc/ITJDBCDriverTest.java
index eb3c773..5a2051f 100644
--- a/kylin-it/src/test/java/org/apache/kylin/jdbc/ITJDBCDriverTest.java
+++ b/kylin-it/src/test/java/org/apache/kylin/jdbc/ITJDBCDriverTest.java
@@ -96,7 +96,7 @@ public class ITJDBCDriverTest extends HBaseMetadataTestCase {
 
     protected Connection getConnection() throws Exception {
 
-        Driver driver = (Driver) Class.forName("org.apache.kylin.jdbc.Driver").newInstance();
+        Driver driver = (Driver) Class.forName("org.apache.kylin.jdbc.Driver").getDeclaredConstructor().newInstance();
         Properties info = new Properties();
         info.put("user", "ADMIN");
         info.put("password", "KYLIN");
diff --git a/query/src/main/java/org/apache/kylin/query/QueryConnection.java b/query/src/main/java/org/apache/kylin/query/QueryConnection.java
index 1ea715f..3ef4b77 100644
--- a/query/src/main/java/org/apache/kylin/query/QueryConnection.java
+++ b/query/src/main/java/org/apache/kylin/query/QueryConnection.java
@@ -19,6 +19,7 @@
 package org.apache.kylin.query;
 
 import java.io.File;
+import java.lang.reflect.InvocationTargetException;
 import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.SQLException;
@@ -38,9 +39,9 @@ public class QueryConnection {
             try {
                 Class<?> aClass = Thread.currentThread().getContextClassLoader()
                         .loadClass("org.apache.calcite.jdbc.Driver");
-                Driver o = (Driver) aClass.newInstance();
+                Driver o = (Driver) aClass.getDeclaredConstructor().newInstance();
                 DriverManager.registerDriver(o);
-            } catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {
+            } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | NoSuchMethodException | InvocationTargetException e) {
                 e.printStackTrace();
             }
             isRegister = true;
diff --git a/query/src/main/java/org/apache/kylin/query/relnode/OLAPAggregateRel.java b/query/src/main/java/org/apache/kylin/query/relnode/OLAPAggregateRel.java
index fb64c56..5ea0437 100644
--- a/query/src/main/java/org/apache/kylin/query/relnode/OLAPAggregateRel.java
+++ b/query/src/main/java/org/apache/kylin/query/relnode/OLAPAggregateRel.java
@@ -110,7 +110,7 @@ public class OLAPAggregateRel extends Aggregate implements OLAPRel {
         for (String func : udafs.keySet()) {
             try {
                 AGGR_FUNC_PARAM_AS_MEASURE_MAP.put(func,
-                        ((ParamAsMeasureCount) (udafs.get(func).newInstance())).getParamAsMeasureCount());
+                        ((ParamAsMeasureCount) (udafs.get(func).getDeclaredConstructor().newInstance())).getParamAsMeasureCount());
             } catch (Exception e) {
                 throw new RuntimeException(e);
             }
diff --git a/server-base/src/test/java/org/apache/kylin/rest/bean/BeanValidator.java b/server-base/src/test/java/org/apache/kylin/rest/bean/BeanValidator.java
index a7aea99..256a20e 100644
--- a/server-base/src/test/java/org/apache/kylin/rest/bean/BeanValidator.java
+++ b/server-base/src/test/java/org/apache/kylin/rest/bean/BeanValidator.java
@@ -67,7 +67,7 @@ public class BeanValidator {
                     try {
                         Object value = buildValue(returnType);
 
-                        T bean = clazz.newInstance();
+                        T bean = clazz.getDeclaredConstructor().newInstance();
 
                         setter.invoke(bean, value);