You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hop.apache.org by ha...@apache.org on 2022/01/29 12:16:55 UTC
[hop] branch master updated: HOP-3202 Code cleanup and Sonar issues
This is an automated email from the ASF dual-hosted git repository.
hansva pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hop.git
The following commit(s) were added to refs/heads/master by this push:
new a8d8976 HOP-3202 Code cleanup and Sonar issues
new 981fe07 Merge pull request #1301 from gvdutra/HOP-3202
a8d8976 is described below
commit a8d8976e5c74fe6f24f65f9ef361e872a7e44adb
Author: Gabriel Dutra <gv...@gmail.com>
AuthorDate: Thu Jan 27 21:00:40 2022 -0800
HOP-3202 Code cleanup and Sonar issues
---
core/src/main/java/org/apache/hop/core/Const.java | 31 ++++++++--------
.../test/java/org/apache/hop/core/ConstTest.java | 42 +++++++++++-----------
.../hop/neo4j/perspective/HopNeo4jPerspective.java | 3 +-
.../apache/hop/neo4j/shared/DriverSingleton.java | 3 +-
.../org/apache/hop/neo4j/shared/NeoConnection.java | 37 ++++++++-----------
.../apache/hop/neo4j/transforms/cypher/Cypher.java | 7 ++--
.../stringoperations/StringOperations.java | 4 +--
.../apache/hop/ui/hopgui/dialog/NotePadDialog.java | 2 +-
8 files changed, 60 insertions(+), 69 deletions(-)
diff --git a/core/src/main/java/org/apache/hop/core/Const.java b/core/src/main/java/org/apache/hop/core/Const.java
index ba14319..7e67390 100644
--- a/core/src/main/java/org/apache/hop/core/Const.java
+++ b/core/src/main/java/org/apache/hop/core/Const.java
@@ -21,6 +21,7 @@ import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.exception.ExceptionUtils;
import org.apache.commons.lang.text.StrBuilder;
+import org.apache.hop.core.exception.HopException;
import org.apache.hop.core.row.IValueMeta;
import org.apache.hop.core.util.EnvUtil;
import org.apache.hop.core.util.Utils;
@@ -1235,7 +1236,7 @@ public class Const {
// If the field already contains quotes, we don't touch it anymore, just
// return the same string...
// also return it if no spaces are found
- if (string.indexOf(quote) >= 0 || (string.indexOf(' ') < 0 && string.indexOf('=') < 0)) {
+ if (string.contains(quote) || (string.indexOf(' ') < 0 && string.indexOf('=') < 0)) {
return string;
} else {
return quote + string + quote;
@@ -1401,7 +1402,7 @@ public class Const {
String os = getSystemOs();
String s = "";
@SuppressWarnings("unused")
- Boolean errorOccured = false;
+ boolean errorOccured = false;
if (os.equalsIgnoreCase("Windows NT")
|| os.equalsIgnoreCase("Windows 2000")
|| os.equalsIgnoreCase("Windows XP")
@@ -1417,7 +1418,7 @@ public class Const {
while (!procDone(p)) {
while ((s = stdInput.readLine()) != null) {
- if (s.indexOf("MAC") >= 0) {
+ if (s.contains("MAC")) {
int idx = s.indexOf('=');
mac = s.substring(idx + 2);
}
@@ -1474,7 +1475,7 @@ public class Const {
while (!procDone(p)) {
while ((s = stdInput.readLine()) != null) {
- if (s.indexOf("MAC") >= 0) {
+ if (s.contains("MAC")) {
int idx = s.indexOf("0x");
mac = s.substring(idx + 2);
}
@@ -2061,7 +2062,7 @@ public class Const {
}
// Return list as array
- return splitList.toArray(new String[splitList.size()]);
+ return splitList != null ? splitList.toArray(new String[splitList.size()]) : new String[0];
}
private static String removeEnclosure(String stringToSplit, String enclosure) {
@@ -2091,9 +2092,7 @@ public class Const {
return new String[] {};
}
HashSet<String> set = new HashSet<>();
- for (String string : strings) {
- set.add(string);
- }
+ Collections.addAll(set, strings);
List<String> list = new ArrayList<>(set);
Collections.sort(list);
return list.toArray(new String[0]);
@@ -2254,9 +2253,7 @@ public class Const {
String[] nums = Const.getNumberFormats();
int totsize = dats.length + nums.length;
String[] formats = new String[totsize];
- for (int x = 0; x < dats.length; x++) {
- formats[x] = dats[x];
- }
+ System.arraycopy(dats, 0, formats, 0, dats.length);
for (int x = 0; x < nums.length; x++) {
formats[dats.length + x] = nums[x];
}
@@ -2548,7 +2545,7 @@ public class Const {
* @param dateFormat the time format
* @return date = input + time
*/
- public static Date addTimeToDate(Date input, String time, String dateFormat) throws Exception {
+ public static Date addTimeToDate(Date input, String time, String dateFormat) throws HopException {
if (Utils.isEmpty(time)) {
return input;
}
@@ -2561,7 +2558,7 @@ public class Const {
}
// Decodes a time value in specified date format and returns it as milliseconds since midnight.
- public static int decodeTime(String s, String dateFormat) throws Exception {
+ public static int decodeTime(String s, String dateFormat) throws HopException {
SimpleDateFormat f = new SimpleDateFormat(dateFormat);
TimeZone utcTimeZone = TimeZone.getTimeZone("UTC");
f.setTimeZone(utcTimeZone);
@@ -2569,7 +2566,7 @@ public class Const {
ParsePosition p = new ParsePosition(0);
Date d = f.parse(s, p);
if (d == null) {
- throw new Exception("Invalid time value " + dateFormat + ": \"" + s + "\".");
+ throw new HopException("Invalid time value " + dateFormat + ": \"" + s + "\".");
}
return (int) d.getTime();
}
@@ -2597,7 +2594,7 @@ public class Const {
return counter;
}
- public static String[] GetAvailableFontNames() {
+ public static String[] getAvailableFontNames() {
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
Font[] fonts = ge.getAllFonts();
String[] fontName = new String[fonts.length];
@@ -2669,7 +2666,7 @@ public class Const {
* enter an infinite loop. 3- For a null pad, it would throw an NPE 4- For a null valueToPad,
* it would throw an NPE
*/
- public static String Lpad(String valueToPad, String filler, int size) {
+ public static String lpad(String valueToPad, String filler, int size) {
if ((size == 0) || (valueToPad == null) || (filler == null)) {
return valueToPad;
}
@@ -2709,7 +2706,7 @@ public class Const {
* zero characters ("") the former method would enter an infinite loop. 3- For a null pad, it
* would throw an NPE 4- For a null valueToPad, it would throw an NPE
*/
- public static String Rpad(String valueToPad, String filler, int size) {
+ public static String rpad(String valueToPad, String filler, int size) {
if ((size == 0) || (valueToPad == null) || (filler == null)) {
return valueToPad;
}
diff --git a/core/src/test/java/org/apache/hop/core/ConstTest.java b/core/src/test/java/org/apache/hop/core/ConstTest.java
index a8b5d6c..28c4bd7 100644
--- a/core/src/test/java/org/apache/hop/core/ConstTest.java
+++ b/core/src/test/java/org/apache/hop/core/ConstTest.java
@@ -2665,7 +2665,7 @@ public class ConstTest {
@Test
public void testGetAvailableFontNames() {
- assertTrue(Const.GetAvailableFontNames().length > 0);
+ assertTrue(Const.getAvailableFontNames().length > 0);
}
@Test
@@ -2693,33 +2693,33 @@ public class ConstTest {
@Test
public void testLpad() {
final String s = "pad me";
- assertEquals(s, Const.Lpad(s, "-", 0));
- assertEquals(s, Const.Lpad(s, "-", 3));
- assertEquals("--" + s, Const.Lpad(s, "-", 8));
+ assertEquals(s, Const.lpad(s, "-", 0));
+ assertEquals(s, Const.lpad(s, "-", 3));
+ assertEquals("--" + s, Const.lpad(s, "-", 8));
// add in some edge cases
- assertEquals(s, Const.Lpad(s, null, 15)); // No NPE
- assertEquals(s, Const.Lpad(s, "", 15));
- assertEquals(s, Const.Lpad(s, "*", 5));
- assertEquals(null, Const.Lpad(null, "*", 15));
- assertEquals("****Test", Const.Lpad("Test", "**********", 8));
- assertEquals("*Test", Const.Lpad("Test", "**", 5));
- assertEquals("****", Const.Lpad("", "*", 4));
+ assertEquals(s, Const.lpad(s, null, 15)); // No NPE
+ assertEquals(s, Const.lpad(s, "", 15));
+ assertEquals(s, Const.lpad(s, "*", 5));
+ assertEquals(null, Const.lpad(null, "*", 15));
+ assertEquals("****Test", Const.lpad("Test", "**********", 8));
+ assertEquals("*Test", Const.lpad("Test", "**", 5));
+ assertEquals("****", Const.lpad("", "*", 4));
}
@Test
public void testRpad() {
final String s = "pad me";
- assertEquals(s, Const.Rpad(s, "-", 0));
- assertEquals(s, Const.Rpad(s, "-", 3));
- assertEquals(s + "--", Const.Rpad(s, "-", 8));
+ assertEquals(s, Const.rpad(s, "-", 0));
+ assertEquals(s, Const.rpad(s, "-", 3));
+ assertEquals(s + "--", Const.rpad(s, "-", 8));
// add in some edge cases
- assertEquals(s, Const.Rpad(s, null, 15)); // No NPE
- assertEquals(s, Const.Rpad(s, "", 15));
- assertEquals(s, Const.Rpad(s, "*", 5));
- assertEquals(null, Const.Rpad(null, "*", 15));
- assertEquals("Test****", Const.Rpad("Test", "**********", 8));
- assertEquals("Test*", Const.Rpad("Test", "**", 5));
- assertEquals("****", Const.Rpad("", "*", 4));
+ assertEquals(s, Const.rpad(s, null, 15)); // No NPE
+ assertEquals(s, Const.rpad(s, "", 15));
+ assertEquals(s, Const.rpad(s, "*", 5));
+ assertEquals(null, Const.rpad(null, "*", 15));
+ assertEquals("Test****", Const.rpad("Test", "**********", 8));
+ assertEquals("Test*", Const.rpad("Test", "**", 5));
+ assertEquals("****", Const.rpad("", "*", 4));
}
@Test
diff --git a/plugins/tech/neo4j/src/main/java/org/apache/hop/neo4j/perspective/HopNeo4jPerspective.java b/plugins/tech/neo4j/src/main/java/org/apache/hop/neo4j/perspective/HopNeo4jPerspective.java
index a8da8d2..dd77976 100644
--- a/plugins/tech/neo4j/src/main/java/org/apache/hop/neo4j/perspective/HopNeo4jPerspective.java
+++ b/plugins/tech/neo4j/src/main/java/org/apache/hop/neo4j/perspective/HopNeo4jPerspective.java
@@ -20,6 +20,7 @@ package org.apache.hop.neo4j.perspective;
import org.apache.commons.lang.StringUtils;
import org.apache.hop.core.Const;
import org.apache.hop.core.Props;
+import org.apache.hop.core.exception.HopConfigException;
import org.apache.hop.core.exception.HopException;
import org.apache.hop.core.gui.plugin.GuiPlugin;
import org.apache.hop.core.logging.ILogChannel;
@@ -901,7 +902,7 @@ public class HopNeo4jPerspective implements IHopPerspective {
}
}
- private void openItem(NeoConnection connection, String id, String name, String type) {
+ private void openItem(NeoConnection connection, String id, String name, String type) throws HopConfigException {
try (Driver driver = connection.getDriver(hopGui.getLog(), hopGui.getVariables())) {
try (Session session =
diff --git a/plugins/tech/neo4j/src/main/java/org/apache/hop/neo4j/shared/DriverSingleton.java b/plugins/tech/neo4j/src/main/java/org/apache/hop/neo4j/shared/DriverSingleton.java
index 70b5414..42825cd 100644
--- a/plugins/tech/neo4j/src/main/java/org/apache/hop/neo4j/shared/DriverSingleton.java
+++ b/plugins/tech/neo4j/src/main/java/org/apache/hop/neo4j/shared/DriverSingleton.java
@@ -18,6 +18,7 @@
package org.apache.hop.neo4j.shared;
+import org.apache.hop.core.exception.HopConfigException;
import org.apache.hop.core.logging.ILogChannel;
import org.apache.hop.core.variables.IVariables;
import org.neo4j.driver.Driver;
@@ -44,7 +45,7 @@ public class DriverSingleton {
return singleton;
}
- public static Driver getDriver(ILogChannel log, IVariables variables, NeoConnection connection) {
+ public static Driver getDriver(ILogChannel log, IVariables variables, NeoConnection connection) throws HopConfigException {
DriverSingleton ds = getInstance();
String key = getDriverKey(connection, variables);
diff --git a/plugins/tech/neo4j/src/main/java/org/apache/hop/neo4j/shared/NeoConnection.java b/plugins/tech/neo4j/src/main/java/org/apache/hop/neo4j/shared/NeoConnection.java
index 673a19f..d313804 100644
--- a/plugins/tech/neo4j/src/main/java/org/apache/hop/neo4j/shared/NeoConnection.java
+++ b/plugins/tech/neo4j/src/main/java/org/apache/hop/neo4j/shared/NeoConnection.java
@@ -20,9 +20,11 @@ package org.apache.hop.neo4j.shared;
import org.apache.commons.lang.StringUtils;
import org.apache.hop.core.Const;
import org.apache.hop.core.encryption.Encr;
+import org.apache.hop.core.exception.HopConfigException;
+import org.apache.hop.core.exception.HopException;
import org.apache.hop.core.logging.ILogChannel;
import org.apache.hop.core.logging.LogChannel;
-import org.apache.hop.core.row.value.ValueMetaString;
+import org.apache.hop.core.row.value.ValueMetaBase;
import org.apache.hop.core.util.Utils;
import org.apache.hop.core.variables.IVariables;
import org.apache.hop.metadata.api.HopMetadata;
@@ -35,6 +37,7 @@ import java.net.URI;
import java.net.URISyntaxException;
import java.net.URLEncoder;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.logging.Level;
@@ -183,10 +186,10 @@ public class NeoConnection extends HopMetadataBase implements IHopMetadata {
/**
* Test this connection to Neo4j
*
- * @throws Exception In case anything goes wrong
+ * @throws HopException In case anything goes wrong
* @param variables
*/
- public void test(IVariables variables) throws Exception {
+ public void test(IVariables variables) throws HopException {
try (Driver driver = getDriver(LogChannel.GENERAL, variables)) {
SessionConfig.Builder builder = SessionConfig.builder();
@@ -202,7 +205,7 @@ public class NeoConnection extends HopMetadataBase implements IHopMetadata {
int zero = value.asInt();
assert (zero == 0);
} catch (Exception e) {
- throw new Exception("Unable to connect to database '" + name + "' : " + e.getMessage(), e);
+ throw new HopException("Unable to connect to database '" + name + "' : " + e.getMessage(), e);
}
}
}
@@ -223,9 +226,7 @@ public class NeoConnection extends HopMetadataBase implements IHopMetadata {
List<String> serverStrings = new ArrayList<>();
String serversString = variables.resolve(server);
if (isUsingRouting(variables)) {
- for (String serverString : serversString.split(",")) {
- serverStrings.add(serverString);
- }
+ Collections.addAll(serverStrings, serversString.split(","));
} else {
serverStrings.add(serversString);
}
@@ -313,7 +314,7 @@ public class NeoConnection extends HopMetadataBase implements IHopMetadata {
if (!Utils.isEmpty(usingEncryptionVariable)) {
String value = variables.resolve(usingEncryptionVariable);
if (!Utils.isEmpty(value)) {
- return ValueMetaString.convertStringToBoolean(value);
+ return ValueMetaBase.convertStringToBoolean(value);
}
}
return false;
@@ -323,23 +324,13 @@ public class NeoConnection extends HopMetadataBase implements IHopMetadata {
if (!Utils.isEmpty(trustAllCertificatesVariable)) {
String value = variables.resolve(trustAllCertificatesVariable);
if (!Utils.isEmpty(value)) {
- return ValueMetaString.convertStringToBoolean(value);
- }
- }
- return false;
- }
-
- public boolean version4VariableSet(IVariables variables) {
- if (!Utils.isEmpty(version4Variable)) {
- String value = variables.resolve(version4Variable);
- if (!Utils.isEmpty(value)) {
- return ValueMetaString.convertStringToBoolean(value);
+ return ValueMetaBase.convertStringToBoolean(value);
}
}
return false;
}
- public Driver getDriver(ILogChannel log, IVariables variables) {
+ public Driver getDriver(ILogChannel log, IVariables variables) throws HopConfigException {
try {
List<URI> uris = getURIs(variables);
@@ -414,7 +405,7 @@ public class NeoConnection extends HopMetadataBase implements IHopMetadata {
uris.get(0), AuthTokens.basic(realUsername, realPassword), config);
}
} catch (URISyntaxException e) {
- throw new RuntimeException(
+ throw new HopConfigException(
"URI syntax problem, check your settings, hostnames especially. For routing use comma separated server values.",
e);
}
@@ -424,7 +415,7 @@ public class NeoConnection extends HopMetadataBase implements IHopMetadata {
if (!Utils.isEmpty(routingVariable)) {
String value = variables.resolve(routingVariable);
if (!Utils.isEmpty(value)) {
- return ValueMetaString.convertStringToBoolean(value);
+ return ValueMetaBase.convertStringToBoolean(value);
}
}
return routing;
@@ -442,7 +433,7 @@ public class NeoConnection extends HopMetadataBase implements IHopMetadata {
return isAutomatic();
} else {
String automaticString = variables.resolve(automaticVariable);
- Boolean auto = ValueMetaString.convertStringToBoolean(automaticString);
+ Boolean auto = ValueMetaBase.convertStringToBoolean(automaticString);
return auto != null && auto;
}
}
diff --git a/plugins/tech/neo4j/src/main/java/org/apache/hop/neo4j/transforms/cypher/Cypher.java b/plugins/tech/neo4j/src/main/java/org/apache/hop/neo4j/transforms/cypher/Cypher.java
index 8909e71..d0834e5 100644
--- a/plugins/tech/neo4j/src/main/java/org/apache/hop/neo4j/transforms/cypher/Cypher.java
+++ b/plugins/tech/neo4j/src/main/java/org/apache/hop/neo4j/transforms/cypher/Cypher.java
@@ -19,6 +19,7 @@ package org.apache.hop.neo4j.transforms.cypher;
import org.apache.commons.lang.StringUtils;
import org.apache.hop.core.Const;
+import org.apache.hop.core.exception.HopConfigException;
import org.apache.hop.core.exception.HopException;
import org.apache.hop.core.exception.HopTransformException;
import org.apache.hop.core.row.IValueMeta;
@@ -141,12 +142,12 @@ public class Cypher extends BaseTransform<CypherMeta, CypherData>
}
}
- private void createDriverSession() {
+ private void createDriverSession() throws HopConfigException {
data.driver = data.neoConnection.getDriver(log, this);
data.session = data.neoConnection.getSession(log, data.driver, this);
}
- private void reconnect() {
+ private void reconnect() throws HopConfigException {
closeSessionDriver();
log.logBasic("RECONNECTING to database");
@@ -312,7 +313,7 @@ public class Cypher extends BaseTransform<CypherMeta, CypherData>
private void runCypherStatementsBatch() throws HopException {
- if (data.cypherStatements == null || data.cypherStatements.size() == 0) {
+ if (data.cypherStatements == null || data.cypherStatements.isEmpty()) {
// Nothing to see here, move along
return;
}
diff --git a/plugins/transforms/stringoperations/src/main/java/org/apache/hop/pipeline/transforms/stringoperations/StringOperations.java b/plugins/transforms/stringoperations/src/main/java/org/apache/hop/pipeline/transforms/stringoperations/StringOperations.java
index b7ff6a2..09ca619 100644
--- a/plugins/transforms/stringoperations/src/main/java/org/apache/hop/pipeline/transforms/stringoperations/StringOperations.java
+++ b/plugins/transforms/stringoperations/src/main/java/org/apache/hop/pipeline/transforms/stringoperations/StringOperations.java
@@ -93,10 +93,10 @@ public class StringOperations extends BaseTransform<StringOperationsMeta, String
if (!Utils.isEmpty(rcode)) {
switch (padType) {
case StringOperationsMeta.PADDING_LEFT:
- rcode = Const.Lpad(rcode, padChar, padLen);
+ rcode = Const.lpad(rcode, padChar, padLen);
break;
case StringOperationsMeta.PADDING_RIGHT:
- rcode = Const.Rpad(rcode, padChar, padLen);
+ rcode = Const.rpad(rcode, padChar, padLen);
break;
default:
break;
diff --git a/ui/src/main/java/org/apache/hop/ui/hopgui/dialog/NotePadDialog.java b/ui/src/main/java/org/apache/hop/ui/hopgui/dialog/NotePadDialog.java
index d53c502..21acd11 100644
--- a/ui/src/main/java/org/apache/hop/ui/hopgui/dialog/NotePadDialog.java
+++ b/ui/src/main/java/org/apache/hop/ui/hopgui/dialog/NotePadDialog.java
@@ -199,7 +199,7 @@ public class NotePadDialog extends Dialog {
fdlFontName.right = new FormAttachment(middle, -margin);
wlFontName.setLayoutData(fdlFontName);
wFontName = new CCombo(wNoteFontComp, SWT.BORDER | SWT.READ_ONLY);
- wFontName.setItems(Const.GetAvailableFontNames());
+ wFontName.setItems(Const.getAvailableFontNames());
props.setLook(wFontName);
FormData fdFontName = new FormData();
fdFontName.left = new FormAttachment(middle, 0);