[ 
https://issues.apache.org/jira/browse/KYLIN-3597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16663297#comment-16663297
 ] 

ASF GitHub Bot commented on KYLIN-3597:
---------------------------------------

shaofengshi closed pull request #309: KYLIN-3597 Fix sonar issues
URL: https://github.com/apache/kylin/pull/309
 
 
   

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-cube/src/main/java/org/apache/kylin/cube/CubeManager.java 
b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
index 7e3be40cdb..7801185f1d 100755
--- a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
@@ -125,6 +125,8 @@ static CubeManager newInstance(KylinConfig config) throws 
IOException {
     private SegmentAssist segAssist = new SegmentAssist();
     private DictionaryAssist dictAssist = new DictionaryAssist();
 
+    private Random ran = new Random();
+
     private CubeManager(KylinConfig cfg) throws IOException {
         logger.info("Initializing CubeManager with config {}", cfg);
         this.config = cfg;
@@ -524,7 +526,6 @@ private String getSnapshotResPath(CubeSegment cubeSegment, 
String tableName, Sna
         String namePrefix = config.getHBaseTableNamePrefix();
         String namespace = config.getHBaseStorageNameSpace();
         String tableName = "";
-        Random ran = new Random();
         do {
             StringBuffer sb = new StringBuffer();
             if ((namespace.equals("default") || namespace.equals("")) == 
false) {
diff --git 
a/query/src/main/java/org/apache/kylin/query/enumerator/HiveEnumerator.java 
b/query/src/main/java/org/apache/kylin/query/enumerator/HiveEnumerator.java
index 2b258f0326..f1b674b632 100644
--- a/query/src/main/java/org/apache/kylin/query/enumerator/HiveEnumerator.java
+++ b/query/src/main/java/org/apache/kylin/query/enumerator/HiveEnumerator.java
@@ -62,7 +62,7 @@ private ResultSet executeQuery() {
         String url = olapContext.olapSchema.getStarSchemaUrl();
         String user = olapContext.olapSchema.getStarSchemaUser();
         String pwd = olapContext.olapSchema.getStarSchemaPassword();
-        String sql = olapContext.sql;
+        String sql = olapContext.sql.toString();
         Statement stmt = null;
         try {
             conn = DriverManager.getConnection(url, user, pwd);
diff --git 
a/source-hive/src/main/java/org/apache/kylin/source/hive/BeelineHiveClient.java 
b/source-hive/src/main/java/org/apache/kylin/source/hive/BeelineHiveClient.java
index b1021dc885..6ad8593d8a 100644
--- 
a/source-hive/src/main/java/org/apache/kylin/source/hive/BeelineHiveClient.java
+++ 
b/source-hive/src/main/java/org/apache/kylin/source/hive/BeelineHiveClient.java
@@ -112,7 +112,8 @@ public long getHiveTableRows(String database, String 
tableName) throws Exception
         ResultSet resultSet = null;
         long count = 0;
         try {
-            resultSet = stmt.executeQuery("select count(*) from " + database + 
"." + tableName);
+            String query = "select count(*) from ";
+            resultSet = stmt.executeQuery(query.concat(database + "." + 
tableName));
             if (resultSet.next()) {
                 count = resultSet.getLong(1);
             }
@@ -147,8 +148,10 @@ public HiveTableMeta getHiveTableMeta(String database, 
String tableName) throws
         }
         builder.setAllColumns(allColumns);
         DBUtils.closeQuietly(columns);
-        stmt.execute("use " + database);
-        ResultSet resultSet = stmt.executeQuery("describe formatted " + 
tableName);
+        String exe = "use ";
+        stmt.execute(exe.concat(database));
+        String des = "describe formatted ";
+        ResultSet resultSet = stmt.executeQuery(des.concat(tableName));
         extractHiveTableMeta(resultSet, builder);
         DBUtils.closeQuietly(resultSet);
         return builder.createHiveTableMeta();
@@ -169,7 +172,11 @@ public static String considerDataTypePrecision(String 
dataType, String precision
 
     private void extractHiveTableMeta(ResultSet resultSet, 
HiveTableMetaBuilder builder) throws SQLException {
         while (resultSet.next()) {
+            parseResultEntry(resultSet, builder);
+        }
+    }
 
+    private void parseResultEntry(ResultSet resultSet, HiveTableMetaBuilder 
builder) throws  SQLException{
             List<HiveTableMeta.HiveTableColumnMeta> partitionColumns = 
Lists.newArrayList();
             if ("# Partition 
Information".equals(resultSet.getString(1).trim())) {
                 resultSet.next();
@@ -204,23 +211,7 @@ private void extractHiveTableMeta(ResultSet resultSet, 
HiveTableMetaBuilder buil
                 builder.setTableType(resultSet.getString(2).trim());
             }
             if ("Table Parameters:".equals(resultSet.getString(1).trim())) {
-                while (resultSet.next()) {
-                    if (resultSet.getString(2) == null) {
-                        break;
-                    }
-                    if 
("storage_handler".equals(resultSet.getString(2).trim())) {
-                        builder.setIsNative(false);//default is true
-                    }
-                    if ("totalSize".equals(resultSet.getString(2).trim())) {
-                        
builder.setFileSize(Long.parseLong(resultSet.getString(3).trim()));//default is 
false
-                    }
-                    if ("numFiles".equals(resultSet.getString(2).trim())) {
-                        
builder.setFileNum(Long.parseLong(resultSet.getString(3).trim()));
-                    }
-                    if 
("skip.header.line.count".equals(resultSet.getString(2).trim())) {
-                        
builder.setSkipHeaderLineCount(resultSet.getString(3).trim());
-                    }
-                }
+                extractTableParam(resultSet, builder);
             }
             if ("InputFormat:".equals(resultSet.getString(1).trim())) {
                 builder.setSdInputFormat(resultSet.getString(2).trim());
@@ -228,6 +219,25 @@ private void extractHiveTableMeta(ResultSet resultSet, 
HiveTableMetaBuilder buil
             if ("OutputFormat:".equals(resultSet.getString(1).trim())) {
                 builder.setSdOutputFormat(resultSet.getString(2).trim());
             }
+    }
+
+    private void extractTableParam(ResultSet resultSet, HiveTableMetaBuilder 
builder) throws SQLException {
+        while (resultSet.next()) {
+            if (resultSet.getString(2) == null) {
+                break;
+            }
+            if ("storage_handler".equals(resultSet.getString(2).trim())) {
+                builder.setIsNative(false);//default is true
+            }
+            if ("totalSize".equals(resultSet.getString(2).trim())) {
+                
builder.setFileSize(Long.parseLong(resultSet.getString(3).trim()));//default is 
false
+            }
+            if ("numFiles".equals(resultSet.getString(2).trim())) {
+                
builder.setFileNum(Long.parseLong(resultSet.getString(3).trim()));
+            }
+            if 
("skip.header.line.count".equals(resultSet.getString(2).trim())) {
+                builder.setSkipHeaderLineCount(resultSet.getString(3).trim());
+            }
         }
     }
 
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/GridTableHBaseBenchmark.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/GridTableHBaseBenchmark.java
index fb944dce0d..40c2890735 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/GridTableHBaseBenchmark.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/GridTableHBaseBenchmark.java
@@ -56,6 +56,7 @@
     private static final double DFT_HIT_RATIO = 0.3;
     private static final double DFT_INDEX_RATIO = 0.1;
     private static final int ROUND = 3;
+    private static final Random rand = new Random();
     protected static final Logger logger = 
LoggerFactory.getLogger(GridTableHBaseBenchmark.class);
 
     public static void main(String[] args) throws IOException {
@@ -257,7 +258,6 @@ private static void dot(int i, int nRows) {
 
     private static byte[] randomBytes() {
         byte[] bytes = new byte[CELL_SIZE];
-        Random rand = new Random();
         rand.nextBytes(bytes);
         return bytes;
     }
diff --git a/tool/src/main/java/org/apache/kylin/tool/CubeMetaIngester.java 
b/tool/src/main/java/org/apache/kylin/tool/CubeMetaIngester.java
index a8e0ab3fb5..4030913796 100644
--- a/tool/src/main/java/org/apache/kylin/tool/CubeMetaIngester.java
+++ b/tool/src/main/java/org/apache/kylin/tool/CubeMetaIngester.java
@@ -20,6 +20,8 @@
 
 import java.io.File;
 import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
 import java.util.Arrays;
 import java.util.Set;
 
@@ -28,6 +30,7 @@
 import org.apache.commons.cli.Options;
 import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common.persistence.ResourceTool;
+import org.apache.kylin.common.persistence.RootPersistentEntity;
 import org.apache.kylin.common.util.AbstractApplication;
 import org.apache.kylin.common.util.OptionsHelper;
 import org.apache.kylin.common.util.ZipFileUtils;
@@ -112,10 +115,9 @@ protected void execute(OptionsHelper optionsHelper) throws 
Exception {
             throw new IllegalArgumentException(OPTION_SRC.getArgName() + " 
file does does exist");
         }
 
-        File tempFolder = File.createTempFile("_unzip", "folder");
+        Path tempPath = Files.createTempDirectory("_unzip");
+        File tempFolder = tempPath.toFile();
         tempFolder.deleteOnExit();
-        tempFolder.delete();
-        tempFolder.mkdir();
         ZipFileUtils.decompressZipfileToDirectory(srcPath, tempFolder);
         if (tempFolder.list().length != 1) {
             throw new 
IllegalStateException(Arrays.toString(tempFolder.list()));
@@ -182,45 +184,34 @@ private void checkAndMark(TableMetadataManager 
srcMetadataManager, DataModelMana
 
         DataModelManager modelManager = 
DataModelManager.getInstance(kylinConfig);
         for (DataModelDesc dataModelDesc : srcModelManager.listDataModels()) {
-            DataModelDesc existing = 
modelManager.getDataModelDesc(dataModelDesc.getName());
-            if (existing != null) {
-                if (!forceIngest) {
-                    throw new IllegalStateException("Already exist a model 
called " + dataModelDesc.getName());
-                } else {
-                    logger.warn("Overwriting the old model desc: " + 
dataModelDesc.getName());
-                }
-            }
+            
checkExesting(modelManager.getDataModelDesc(dataModelDesc.getName()), "model", 
dataModelDesc.getName());
             
requiredResources.add(DataModelDesc.concatResourcePath(dataModelDesc.getName()));
         }
 
         CubeDescManager cubeDescManager = 
CubeDescManager.getInstance(kylinConfig);
         for (CubeDesc cubeDesc : srcCubeDescManager.listAllDesc()) {
-            CubeDesc existing = 
cubeDescManager.getCubeDesc(cubeDesc.getName());
-            if (existing != null) {
-                if (!forceIngest) {
-                    throw new IllegalStateException("Already exist a cube desc 
called " + cubeDesc.getName());
-                } else {
-                    logger.warn("Overwriting the old cube desc: " + 
cubeDesc.getName());
-                }
-            }
+            checkExesting(cubeDescManager.getCubeDesc(cubeDesc.getName()), 
"cube desc", cubeDesc.getName());
             
requiredResources.add(CubeDesc.concatResourcePath(cubeDesc.getName()));
         }
 
         CubeManager cubeManager = CubeManager.getInstance(kylinConfig);
         for (CubeInstance cube : srcCubeManager.listAllCubes()) {
-            CubeInstance existing = cubeManager.getCube(cube.getName());
-            if (existing != null) {
-                if (!forceIngest) {
-                    throw new IllegalStateException("Already exist a cube 
called " + cube.getName());
-                } else {
-                    logger.warn("Overwriting the old cube: " + cube.getName());
-                }
-            }
+            checkExesting(cubeManager.getCube(cube.getName()), "cube", 
cube.getName());
             
requiredResources.add(CubeInstance.concatResourcePath(cube.getName()));
         }
 
     }
 
+    private void checkExesting(RootPersistentEntity existing, String type, 
String name) {
+        if (existing != null) {
+            if (!forceIngest) {
+                throw new IllegalStateException("Already exist a " + type + " 
called " + name);
+            } else {
+                logger.warn("Overwriting the old {0} desc: {1}", type, name);
+            }
+        }
+    }
+
     public static void main(String[] args) {
         CubeMetaIngester extractor = new CubeMetaIngester();
         extractor.execute(args);


 

----------------------------------------------------------------
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]


> Fix sonar reported static code issues
> -------------------------------------
>
>                 Key: KYLIN-3597
>                 URL: https://issues.apache.org/jira/browse/KYLIN-3597
>             Project: Kylin
>          Issue Type: Improvement
>          Components: Others
>            Reporter: Shaofeng SHI
>            Priority: Major
>             Fix For: v2.6.0
>
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to