You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by bi...@apache.org on 2018/09/27 13:17:24 UTC

[kylin] branch master updated: Add private constructor for utility classes.

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

billyliu 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 de396e3  Add private constructor for utility classes.
de396e3 is described below

commit de396e3bb019243a4dfe51e11c77db6381de4357
Author: Lijun Cao <64...@qq.com>
AuthorDate: Thu Sep 27 18:40:21 2018 +0800

    Add private constructor for utility classes.
---
 .../src/main/java/org/apache/kylin/common/util/BytesUtil.java        | 4 ++++
 .../src/main/java/org/apache/kylin/common/util/ClassUtil.java        | 4 ++++
 .../src/main/java/org/apache/kylin/common/util/CompressionUtils.java | 4 ++++
 .../src/main/java/org/apache/kylin/common/util/HadoopUtil.java       | 3 +++
 .../src/main/java/org/apache/kylin/common/util/IdentityUtils.java    | 5 +++++
 core-common/src/main/java/org/apache/kylin/common/util/JsonUtil.java | 4 ++++
 core-common/src/main/java/org/apache/kylin/common/util/MathUtil.java | 5 +++++
 .../src/main/java/org/apache/kylin/common/util/RandomUtil.java       | 5 +++++
 .../src/main/java/org/apache/kylin/common/util/RangeUtil.java        | 4 ++++
 core-common/src/main/java/org/apache/kylin/common/util/SortUtil.java | 5 +++++
 .../java/org/apache/kylin/common/util/SourceConfigurationUtil.java   | 4 ++++
 .../src/main/java/org/apache/kylin/common/util/StringUtil.java       | 4 ++++
 core-common/src/main/java/org/apache/kylin/common/util/TimeUtil.java | 4 ++++
 .../src/main/java/org/apache/kylin/common/util/ZipFileUtils.java     | 4 ++++
 .../src/main/java/org/apache/kylin/common/util/ZooKeeperUtil.java    | 4 ++++
 .../main/java/org/apache/kylin/job/util/MailNotificationUtil.java    | 4 ++++
 core-metadata/src/main/java/org/apache/kylin/util/KryoUtils.java     | 4 ++++
 .../src/main/java/org/apache/kylin/storage/util/SizeOfUtil.java      | 1 +
 .../main/java/org/apache/kylin/engine/spark/util/IteratorUtils.java  | 4 ++++
 query/src/main/java/org/apache/kylin/query/util/PushDownUtil.java    | 4 ++++
 query/src/main/java/org/apache/kylin/query/util/QueryUtil.java       | 4 ++++
 query/src/main/java/org/apache/kylin/query/util/RexUtil.java         | 4 ++++
 .../src/main/java/org/apache/kylin/rest/util/AclPermissionUtil.java  | 4 ++++
 .../src/main/java/org/apache/kylin/rest/util/QueryRequestLimits.java | 2 +-
 .../src/main/java/org/apache/kylin/rest/util/TableauInterceptor.java | 4 ++++
 .../main/java/org/apache/kylin/source/kafka/util/KafkaClient.java    | 4 ++++
 tool/src/main/java/org/apache/kylin/tool/util/ToolUtil.java          | 5 +++++
 27 files changed, 106 insertions(+), 1 deletion(-)

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 faabbd1..a597780 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 @@ import com.google.common.primitives.Shorts;
 
 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 bfc6ce1..cd78fe0 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 @@ public class ClassUtil {
 
     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 7bd520c..997a8d8 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 @@ import org.slf4j.LoggerFactory;
 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 152d506..9364279 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 @@ public class HadoopUtil {
     @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 35ade60..e42a64f 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 @@ import java.util.IdentityHashMap;
 /**
  */
 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 21bc8f1..8cb7f65 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 @@ import com.fasterxml.jackson.databind.SerializationFeature;
 
 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 ae674c6..8270290 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 @@ package org.apache.kylin.common.util;
 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 00be8dd..226cd20 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.UUID;
 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 6ef8c089..ec61f7d 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 @@ import com.google.common.collect.Range;
  */
 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 1ea9d97..42da69d 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 @@ import com.google.common.collect.TreeMultimap;
 /**
  */
 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 7e61d62..80e2f71 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 @@ public class SourceConfigurationUtil {
     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 0b94d9c..84c1da5 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 @@ import org.apache.commons.lang.StringUtils;
  */
 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 73209f5..bf3f351 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 @@ import java.util.TimeZone;
  */
 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 f67b2a2..f68eb59 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 @@ public class ZipFileUtils {
 
     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 66fed31..48a70b9 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 @@ import com.google.common.collect.Iterables;
 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 31c5b20..aba1cc1 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 @@ public class MailNotificationUtil {
         }
     }
 
+    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 4059e94..675d49d 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 @@ public class KryoUtils {
 
     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 aa379d4..e3e2030 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 @@ import net.sf.ehcache.pool.sizeof.ReflectionSizeOf;
 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 a8a4d28..2dd7e48 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 @@ import scala.Tuple2;
  */
 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 7c88141..4010a96 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 @@ import com.google.common.collect.Lists;
 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 4378221..5420327 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 @@ public class QueryUtil {
 
     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 27087ee..c31cb11 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 @@ import org.apache.kylin.metadata.filter.CompareTupleFilter;
 
 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 4526522..3737648 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 @@ import org.springframework.security.core.context.SecurityContextHolder;
 
 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 eb8eee8..9b50030 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 class QueryRequestLimits implements AutoCloseable {
         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 49b7502..2066c68 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 @@ public class TableauInterceptor {
 
     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 bd8f90e..a0cb59a 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 @@ import java.util.Properties;
  */
 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 2e357da..842beb2 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.net.UnknownHostException;
 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);