yiming187 closed pull request #266: KYLIN-3600 Add private constructor for 
utility classes.
URL: https://github.com/apache/kylin/pull/266
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git 
a/core-common/src/main/java/org/apache/kylin/common/util/BytesUtil.java 
b/core-common/src/main/java/org/apache/kylin/common/util/BytesUtil.java
index faabbd1f10..a597780df5 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/BytesUtil.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/BytesUtil.java
@@ -26,6 +26,10 @@
 
 public class BytesUtil {
 
+    private BytesUtil() {
+        throw new IllegalStateException("Class BytesUtil is an utility class 
!");
+    }
+
     public static final byte[] EMPTY_BYTE_ARRAY = new byte[0];
 
     public static void writeByte(byte num, byte[] bytes, int offset, int size) 
{
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 bfc6ce185f..cd78fe0e01 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
@@ -36,6 +36,10 @@
 
     private static final org.slf4j.Logger logger = 
LoggerFactory.getLogger(ClassUtil.class);
 
+    private ClassUtil() {
+        throw new IllegalStateException("Class ClassUtil is an utility class 
!");
+    }
+
     public static void addClasspath(String path) {
         logger.info("Adding path " + path + " to class path");
         File file = new File(path);
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/util/CompressionUtils.java 
b/core-common/src/main/java/org/apache/kylin/common/util/CompressionUtils.java
index 7bd520ccea..997a8d8de7 100644
--- 
a/core-common/src/main/java/org/apache/kylin/common/util/CompressionUtils.java
+++ 
b/core-common/src/main/java/org/apache/kylin/common/util/CompressionUtils.java
@@ -30,6 +30,10 @@
 public class CompressionUtils {
     private static final org.slf4j.Logger logger = 
LoggerFactory.getLogger(CompressionUtils.class);
 
+    private CompressionUtils() {
+        throw new IllegalStateException("Class CompressionUtils is an utility 
class !");
+    }
+
     public static byte[] compress(byte[] data) throws IOException {
         long startTime = System.currentTimeMillis();
         Deflater deflater = new Deflater(1);
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/util/HadoopUtil.java 
b/core-common/src/main/java/org/apache/kylin/common/util/HadoopUtil.java
index 152d5067c0..936427930d 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/HadoopUtil.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/HadoopUtil.java
@@ -46,6 +46,9 @@
     @SuppressWarnings("unused")
     private static final Logger logger = 
LoggerFactory.getLogger(HadoopUtil.class);
     private static final transient ThreadLocal<Configuration> hadoopConfig = 
new ThreadLocal<>();
+    private HadoopUtil() {
+        throw new IllegalStateException("Class HadoopUtil is an utility class 
!");
+    }
 
     public static void setCurrentConfiguration(Configuration conf) {
         hadoopConfig.set(conf);
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/util/IdentityUtils.java 
b/core-common/src/main/java/org/apache/kylin/common/util/IdentityUtils.java
index 35ade60589..e42a64f8f2 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/IdentityUtils.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/IdentityUtils.java
@@ -23,6 +23,11 @@
 /**
  */
 public class IdentityUtils {
+
+    private IdentityUtils() {
+        throw new IllegalStateException("Class IdentityUtils is an utility 
class !");
+    }
+
     public static <K> boolean collectionReferenceEquals(Collection<K> 
collectionA, Collection<K> collectionB) {
         if (collectionA == null || collectionB == null) {
             throw new RuntimeException("input must be not null");
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/util/JsonUtil.java 
b/core-common/src/main/java/org/apache/kylin/common/util/JsonUtil.java
index 21bc8f1e2e..8cb7f653f6 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/JsonUtil.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/JsonUtil.java
@@ -38,6 +38,10 @@
 
 public class JsonUtil {
 
+    private JsonUtil() {
+        throw new IllegalStateException("Class JsonUtil is an utility class 
!");
+    }
+
     // reuse the object mapper to save memory footprint
     private static final ObjectMapper mapper = new ObjectMapper();
     private static final ObjectMapper indentMapper = new ObjectMapper();
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/util/MathUtil.java 
b/core-common/src/main/java/org/apache/kylin/common/util/MathUtil.java
index ae674c612c..8270290853 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/MathUtil.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/MathUtil.java
@@ -21,6 +21,11 @@
 import java.util.List;
 
 public class MathUtil {
+
+    private MathUtil() {
+        throw new IllegalStateException("Class MathUtil is an utility class 
!");
+    }
+
     public static double findMedianInSortedList(List<Double> m) {
         int middle = m.size() / 2;
         if (m.size() % 2 == 1) {
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/util/RandomUtil.java 
b/core-common/src/main/java/org/apache/kylin/common/util/RandomUtil.java
index 00be8dd4c3..226cd20d9f 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/RandomUtil.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/RandomUtil.java
@@ -22,6 +22,11 @@
 import java.util.concurrent.ThreadLocalRandom;
 
 public class RandomUtil {
+
+    private RandomUtil() {
+        throw new IllegalStateException("Class RandomUtil is an utility class 
!");
+    }
+
     public static UUID randomUUID() {
         return new UUID(ThreadLocalRandom.current().nextLong(), 
ThreadLocalRandom.current().nextLong());
     }
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/util/RangeUtil.java 
b/core-common/src/main/java/org/apache/kylin/common/util/RangeUtil.java
index 6ef8c08924..ec61f7da36 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/RangeUtil.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/RangeUtil.java
@@ -34,6 +34,10 @@
  */
 public class RangeUtil {
 
+    private RangeUtil() {
+        throw new IllegalStateException("Class RangeUtil is an utility class 
!");
+    }
+
     /**
      * for NavigableMap sorted by C, given a range of C, return the sub map 
whose key falls in the range
      */
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/util/SortUtil.java 
b/core-common/src/main/java/org/apache/kylin/common/util/SortUtil.java
index 1ea9d975e2..42da69d01b 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/SortUtil.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/SortUtil.java
@@ -26,6 +26,11 @@
 /**
  */
 public class SortUtil {
+
+    private SortUtil() {
+        throw new IllegalStateException("Class SortUtil is an utility class 
!");
+    }
+
     public static <T extends Comparable, E extends Comparable> Iterator<T> 
extractAndSort(Iterator<T> input, Function<T, E> extractor) {
         TreeMultimap<E, T> reorgnized = TreeMultimap.create();
         while (input.hasNext()) {
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/util/SourceConfigurationUtil.java
 
b/core-common/src/main/java/org/apache/kylin/common/util/SourceConfigurationUtil.java
index 7e61d625c0..80e2f7130b 100644
--- 
a/core-common/src/main/java/org/apache/kylin/common/util/SourceConfigurationUtil.java
+++ 
b/core-common/src/main/java/org/apache/kylin/common/util/SourceConfigurationUtil.java
@@ -41,6 +41,10 @@
     private static final org.slf4j.Logger logger = 
LoggerFactory.getLogger(SourceConfigurationUtil.class);
     private static final String HIVE_CONF_PREFIX = "hiveconf:";
 
+    private SourceConfigurationUtil() {
+        throw new IllegalStateException("Class SourceConfigurationUtil is an 
utility class !");
+    }
+
     public static final String HIVE_CONF_FILENAME = "kylin_hive_conf";
     public static final String SQOOP_CONF_FILENAME = "kylin_sqoop_conf";
 
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/util/StringUtil.java 
b/core-common/src/main/java/org/apache/kylin/common/util/StringUtil.java
index 0b94d9c8d7..84c1da5919 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/StringUtil.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/StringUtil.java
@@ -28,6 +28,10 @@
  */
 public class StringUtil {
 
+    private StringUtil() {
+        throw new IllegalStateException("Class StringUtil is an utility class 
!");
+    }
+
     public static String[] filterSystemArgs(String[] args) {
         ArrayList<String> whatsLeft = new ArrayList<String>();
         for (String a : args) {
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/util/TimeUtil.java 
b/core-common/src/main/java/org/apache/kylin/common/util/TimeUtil.java
index 73209f5dfd..bf3f351440 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/TimeUtil.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/TimeUtil.java
@@ -26,6 +26,10 @@
  */
 public class TimeUtil {
 
+    private TimeUtil() {
+        throw new IllegalStateException("Class TimeUtil is an utility class 
!");
+    }
+
     private static TimeZone gmt = TimeZone.getTimeZone("GMT");
     private static long ONE_MINUTE_TS = 60 * 1000L;
     private static long ONE_HOUR_TS = 60 * ONE_MINUTE_TS;
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/util/ZipFileUtils.java 
b/core-common/src/main/java/org/apache/kylin/common/util/ZipFileUtils.java
index f67b2a27eb..f68eb59710 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/ZipFileUtils.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/ZipFileUtils.java
@@ -35,6 +35,10 @@
 
     private static final Logger logger = 
LoggerFactory.getLogger(ZipFileUtils.class);
 
+    private ZipFileUtils() {
+        throw new IllegalStateException("Class ZipFileUtils is an utility 
class !");
+    }
+
     public static void compressZipFile(String sourceDir, String zipFileName) 
throws IOException, ArchiveException {
         if (!validateZipFilename(zipFileName)) {
             throw new RuntimeException("Zip file must end with .zip");
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/util/ZooKeeperUtil.java 
b/core-common/src/main/java/org/apache/kylin/common/util/ZooKeeperUtil.java
index 66fed3119a..48a70b9092 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/ZooKeeperUtil.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/ZooKeeperUtil.java
@@ -36,6 +36,10 @@
 public class ZooKeeperUtil {
     private static final Logger logger = 
LoggerFactory.getLogger(ZooKeeperUtil.class);
 
+    private ZooKeeperUtil() {
+        throw new IllegalStateException("Class ZooKeeperUtil is an utility 
class !");
+    }
+
     public static String getZKConnectStringFromHBase() {
         Configuration hconf = null;
         try {
diff --git 
a/core-job/src/main/java/org/apache/kylin/job/util/MailNotificationUtil.java 
b/core-job/src/main/java/org/apache/kylin/job/util/MailNotificationUtil.java
index 31c5b2036b..aba1cc1e0f 100644
--- a/core-job/src/main/java/org/apache/kylin/job/util/MailNotificationUtil.java
+++ b/core-job/src/main/java/org/apache/kylin/job/util/MailNotificationUtil.java
@@ -45,6 +45,10 @@
         }
     }
 
+    private MailNotificationUtil() {
+        throw new IllegalStateException("Class MailNotificationUtil is an 
utility class !");
+    }
+
     private static String getMailTemplateKey(ExecutableState state) {
         switch (state) {
         case ERROR:
diff --git a/core-metadata/src/main/java/org/apache/kylin/util/KryoUtils.java 
b/core-metadata/src/main/java/org/apache/kylin/util/KryoUtils.java
index 4059e9475c..675d49d85e 100644
--- a/core-metadata/src/main/java/org/apache/kylin/util/KryoUtils.java
+++ b/core-metadata/src/main/java/org/apache/kylin/util/KryoUtils.java
@@ -30,6 +30,10 @@
 
     private static ThreadLocal<Kryo> _Kryo = new ThreadLocal<>();
 
+    private KryoUtils() {
+        throw new IllegalStateException("Class KryoUtils is an utility class 
!");
+    }
+
     public static byte[] serialize(Object obj) {
         Kryo kryo = getKryo();
         Output output = new Output(1024, 8 * 1024 * 1024);
diff --git 
a/core-storage/src/main/java/org/apache/kylin/storage/util/SizeOfUtil.java 
b/core-storage/src/main/java/org/apache/kylin/storage/util/SizeOfUtil.java
index aa379d4373..e3e2030d5c 100644
--- a/core-storage/src/main/java/org/apache/kylin/storage/util/SizeOfUtil.java
+++ b/core-storage/src/main/java/org/apache/kylin/storage/util/SizeOfUtil.java
@@ -25,6 +25,7 @@
 public final class SizeOfUtil {
 
     private SizeOfUtil() {
+        throw new IllegalStateException("Class SizeOfUtil is an utility class 
!");
     }
 
     private static final ReflectionSizeOf DEFAULT_SIZE_OF = new 
ReflectionSizeOf();
diff --git 
a/engine-spark/src/main/java/org/apache/kylin/engine/spark/util/IteratorUtils.java
 
b/engine-spark/src/main/java/org/apache/kylin/engine/spark/util/IteratorUtils.java
index a8a4d287b5..2dd7e4845d 100644
--- 
a/engine-spark/src/main/java/org/apache/kylin/engine/spark/util/IteratorUtils.java
+++ 
b/engine-spark/src/main/java/org/apache/kylin/engine/spark/util/IteratorUtils.java
@@ -30,6 +30,10 @@
  */
 public class IteratorUtils {
 
+    private IteratorUtils() {
+        throw new IllegalStateException("Class IteratorUtils is an utility 
class !");
+    }
+
     public static <K, V> Iterator<Tuple2<K, V>> merge(final Iterator<Tuple2<K, 
V>> input, final Comparator<K> comparator, final Function<Iterable<V>, V> 
converter) {
         return new Iterator<Tuple2<K, V>>() {
 
diff --git a/query/src/main/java/org/apache/kylin/query/util/PushDownUtil.java 
b/query/src/main/java/org/apache/kylin/query/util/PushDownUtil.java
index 7c88141e15..4010a96438 100644
--- a/query/src/main/java/org/apache/kylin/query/util/PushDownUtil.java
+++ b/query/src/main/java/org/apache/kylin/query/util/PushDownUtil.java
@@ -62,6 +62,10 @@
 public class PushDownUtil {
     private static final Logger logger = 
LoggerFactory.getLogger(PushDownUtil.class);
 
+    private PushDownUtil() {
+        throw new IllegalStateException("Class PushDownUtil is an utility 
class !");
+    }
+
     public static Pair<List<List<String>>, List<SelectedColumnMeta>> 
tryPushDownSelectQuery(String project, String sql,
             String defaultSchema, SQLException sqlException, boolean 
isPrepare) throws Exception {
         return tryPushDownQuery(project, sql, defaultSchema, sqlException, 
true, isPrepare);
diff --git a/query/src/main/java/org/apache/kylin/query/util/QueryUtil.java 
b/query/src/main/java/org/apache/kylin/query/util/QueryUtil.java
index 4378221a3c..54203273d8 100644
--- a/query/src/main/java/org/apache/kylin/query/util/QueryUtil.java
+++ b/query/src/main/java/org/apache/kylin/query/util/QueryUtil.java
@@ -38,6 +38,10 @@
 
     protected static final Logger logger = 
LoggerFactory.getLogger(QueryUtil.class);
 
+    private QueryUtil() {
+        throw new IllegalStateException("Class QueryUtil is an utility class 
!");
+    }
+
     private static List<IQueryTransformer> queryTransformers;
 
     public interface IQueryTransformer {
diff --git a/query/src/main/java/org/apache/kylin/query/util/RexUtil.java 
b/query/src/main/java/org/apache/kylin/query/util/RexUtil.java
index 27087ee6a0..c31cb11af9 100644
--- a/query/src/main/java/org/apache/kylin/query/util/RexUtil.java
+++ b/query/src/main/java/org/apache/kylin/query/util/RexUtil.java
@@ -28,6 +28,10 @@
 
 public class RexUtil {
 
+    private RexUtil() {
+        throw new IllegalStateException("Class RexUtil is an utility class !");
+    }
+
     public static CompareTupleFilter.CompareResultType 
getCompareResultType(RexCall whenCall) {
         List<RexNode> operands = whenCall.getOperands();
         if (SqlKind.EQUALS == whenCall.getKind() && operands != null && 
operands.size() == 2) {
diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/util/AclPermissionUtil.java 
b/server-base/src/main/java/org/apache/kylin/rest/util/AclPermissionUtil.java
index 4526522752..373764840b 100644
--- 
a/server-base/src/main/java/org/apache/kylin/rest/util/AclPermissionUtil.java
+++ 
b/server-base/src/main/java/org/apache/kylin/rest/util/AclPermissionUtil.java
@@ -30,6 +30,10 @@
 
 public class AclPermissionUtil {
 
+    private AclPermissionUtil() {
+        throw new IllegalStateException("Class AclPermissionUtil is an utility 
class !");
+    }
+
     public static List<String> transformAuthorities(Collection<? extends 
GrantedAuthority> authorities) {
         List<String> ret = new ArrayList<String>();
         for (GrantedAuthority auth : authorities) {
diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/util/QueryRequestLimits.java 
b/server-base/src/main/java/org/apache/kylin/rest/util/QueryRequestLimits.java
index eb8eee8fbb..9b50030996 100644
--- 
a/server-base/src/main/java/org/apache/kylin/rest/util/QueryRequestLimits.java
+++ 
b/server-base/src/main/java/org/apache/kylin/rest/util/QueryRequestLimits.java
@@ -109,7 +109,7 @@ public QueryRequestLimits(String project) {
         boolean ok = openQueryRequest(project, maxConcurrentQuery);
         if (!ok) {
             Message msg = MsgPicker.getMsg();
-            logger.warn("Directly return exception as too many concurrent 
query requests for project:" + project);
+            logger.warn("Directly return exception as too many concurrent 
query requests for project: {}", project);
             throw new BadRequestException(msg.getQUERY_TOO_MANY_RUNNING());
         }
     }
diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/util/TableauInterceptor.java 
b/server-base/src/main/java/org/apache/kylin/rest/util/TableauInterceptor.java
index 49b75025a2..2066c688fe 100644
--- 
a/server-base/src/main/java/org/apache/kylin/rest/util/TableauInterceptor.java
+++ 
b/server-base/src/main/java/org/apache/kylin/rest/util/TableauInterceptor.java
@@ -32,6 +32,10 @@
 
     protected static final Logger logger = 
LoggerFactory.getLogger(TableauInterceptor.class);
 
+    private TableauInterceptor() {
+        throw new IllegalStateException("Class TableauInterceptor is an 
utility class !");
+    }
+
     private static String[] tableauTestQueries = new String[] { "SELECT 1", //
             "CREATE LOCAL TEMPORARY TABLE \"XTableau_B_Connect\" ( \"COL\" 
INTEGER ) ON COMMIT PRESERVE ROWS", //
             "DROP TABLE \"XTableau_B_Connect\"", //
diff --git 
a/source-kafka/src/main/java/org/apache/kylin/source/kafka/util/KafkaClient.java
 
b/source-kafka/src/main/java/org/apache/kylin/source/kafka/util/KafkaClient.java
index bd8f90e095..a0cb59ad67 100644
--- 
a/source-kafka/src/main/java/org/apache/kylin/source/kafka/util/KafkaClient.java
+++ 
b/source-kafka/src/main/java/org/apache/kylin/source/kafka/util/KafkaClient.java
@@ -39,6 +39,10 @@
  */
 public class KafkaClient {
 
+    private KafkaClient() {
+        throw new IllegalStateException("Class KafkaClient is an utility class 
!");
+    }
+
     public static KafkaConsumer getKafkaConsumer(String brokers, String 
consumerGroup, Properties properties) {
         Properties props = constructDefaultKafkaConsumerProperties(brokers, 
consumerGroup, properties);
         KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
diff --git a/tool/src/main/java/org/apache/kylin/tool/util/ToolUtil.java 
b/tool/src/main/java/org/apache/kylin/tool/util/ToolUtil.java
index 2e357dac81..842beb21ca 100644
--- a/tool/src/main/java/org/apache/kylin/tool/util/ToolUtil.java
+++ b/tool/src/main/java/org/apache/kylin/tool/util/ToolUtil.java
@@ -31,6 +31,11 @@
 import java.util.Map;
 
 public class ToolUtil {
+
+    private ToolUtil() {
+        throw new IllegalStateException("Class ToolUtil is an utility class 
!");
+    }
+
     public static String getConfFolder() {
         final String CONF = "conf";
         String path = System.getProperty(KylinConfig.KYLIN_CONF);


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to