diff --git a/parent-pom.xml b/parent-pom.xml
index ff69787597..2fe35bd578 100644
--- a/parent-pom.xml
+++ b/parent-pom.xml
@@ -48,7 +48,6 @@
24.3.25
2.57.0
33.3.1-jre
- 1.45.0
3.0.0
3.0.2
4.28.2
@@ -127,13 +126,6 @@
pom
import
-
- com.google.http-client
- google-http-client-bom
- ${google.http.client.version}
- pom
- import
-
com.google.protobuf
protobuf-bom
@@ -651,10 +643,6 @@
com.google.guava
guava
-
- com.google.http-client
- google-http-client
-
com.microsoft.azure
azure-storage
diff --git a/src/main/java/net/snowflake/client/config/SFConnectionConfigParser.java b/src/main/java/net/snowflake/client/config/SFConnectionConfigParser.java
index 1a93d20f68..0e710be5cb 100644
--- a/src/main/java/net/snowflake/client/config/SFConnectionConfigParser.java
+++ b/src/main/java/net/snowflake/client/config/SFConnectionConfigParser.java
@@ -1,11 +1,11 @@
package net.snowflake.client.config;
import static net.snowflake.client.jdbc.SnowflakeUtil.convertSystemGetEnvToBooleanValue;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
import static net.snowflake.client.jdbc.SnowflakeUtil.isWindows;
import static net.snowflake.client.jdbc.SnowflakeUtil.systemGetEnv;
import com.fasterxml.jackson.dataformat.toml.TomlMapper;
-import com.google.common.base.Strings;
import java.io.File;
import java.io.IOException;
import java.nio.charset.Charset;
@@ -162,7 +162,7 @@ private static String createUrl(Map fileConnectionConfiguration)
logger.debug("Host created using parameters from connection configuration file: {}", host);
String port = fileConnectionConfiguration.get("port");
String protocol = fileConnectionConfiguration.get("protocol");
- if (Strings.isNullOrEmpty(port)) {
+ if (isNullOrEmpty(port)) {
if ("https".equals(protocol)) {
port = "443";
} else {
diff --git a/src/main/java/net/snowflake/client/core/CredentialManager.java b/src/main/java/net/snowflake/client/core/CredentialManager.java
index 04f229c52b..7f45faf0ab 100644
--- a/src/main/java/net/snowflake/client/core/CredentialManager.java
+++ b/src/main/java/net/snowflake/client/core/CredentialManager.java
@@ -1,7 +1,7 @@
package net.snowflake.client.core;
-import com.amazonaws.util.StringUtils;
-import com.google.common.base.Strings;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
+
import java.net.URI;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
@@ -149,7 +149,7 @@ static void fillCachedDPoPBundledAccessToken(SFLoginInput loginInput) throws SFE
synchronized void fillCachedCredential(
SFLoginInput loginInput, String host, String username, CachedCredentialType credType)
throws SFException {
- if (StringUtils.isNullOrEmpty(username)) {
+ if (isNullOrEmpty(username)) {
logger.debug("Missing username; Cannot read from credential cache");
return;
}
@@ -210,7 +210,7 @@ synchronized void fillCachedCredential(
private void updateInputWithTokenAndPublicKey(String cred, SFLoginInput loginInput)
throws SFException {
- if (Strings.isNullOrEmpty(cred)) {
+ if (isNullOrEmpty(cred)) {
String[] values = cred.split("\\.");
if (values.length != 2) {
throw new SFException(
@@ -313,11 +313,11 @@ static void writeDPoPBundledAccessToken(SFLoginInput loginInput) throws SFExcept
/** Store the temporary credential */
synchronized void writeTemporaryCredential(
String host, String user, String cred, CachedCredentialType credType) {
- if (StringUtils.isNullOrEmpty(user)) {
+ if (isNullOrEmpty(user)) {
logger.debug("Missing username; Cannot write to credential cache");
return;
}
- if (Strings.isNullOrEmpty(cred)) {
+ if (isNullOrEmpty(cred)) {
logger.debug("No {} is given.", credType);
return; // no credential
}
@@ -426,7 +426,7 @@ synchronized void deleteTemporaryCredential(
logMissingJnaJarForSecureLocalStorage();
return;
}
- if (StringUtils.isNullOrEmpty(user)) {
+ if (isNullOrEmpty(user)) {
logger.debug("Missing username; Cannot delete from credential cache");
return;
}
diff --git a/src/main/java/net/snowflake/client/core/ExecTimeTelemetryData.java b/src/main/java/net/snowflake/client/core/ExecTimeTelemetryData.java
index 4fbf27a454..af5ab24537 100644
--- a/src/main/java/net/snowflake/client/core/ExecTimeTelemetryData.java
+++ b/src/main/java/net/snowflake/client/core/ExecTimeTelemetryData.java
@@ -1,6 +1,7 @@
package net.snowflake.client.core;
-import com.google.common.base.Strings;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
+
import net.minidev.json.JSONObject;
import net.snowflake.client.jdbc.telemetryOOB.TelemetryService;
import net.snowflake.client.util.TimeMeasurement;
@@ -106,7 +107,7 @@ public void setRequestId(String requestId) {
}
public void addRetryLocation(String location) {
- if (Strings.isNullOrEmpty(this.retryLocations)) {
+ if (isNullOrEmpty(this.retryLocations)) {
this.retryLocations = location;
} else {
this.retryLocations = this.retryLocations.concat(", ").concat(location);
diff --git a/src/main/java/net/snowflake/client/core/FileUtil.java b/src/main/java/net/snowflake/client/core/FileUtil.java
index 4152be45e9..3bb1698bd7 100644
--- a/src/main/java/net/snowflake/client/core/FileUtil.java
+++ b/src/main/java/net/snowflake/client/core/FileUtil.java
@@ -1,8 +1,8 @@
package net.snowflake.client.core;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
import static net.snowflake.client.jdbc.SnowflakeUtil.isWindows;
-import com.google.common.base.Strings;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
@@ -190,7 +190,7 @@ static String getFileOwnerName(Path filePath) throws IOException {
}
private static String getContextStr(String context) {
- return Strings.isNullOrEmpty(context) ? "" : context + ": ";
+ return isNullOrEmpty(context) ? "" : context + ": ";
}
public static boolean exists(File file) {
diff --git a/src/main/java/net/snowflake/client/core/HttpClientSettingsKey.java b/src/main/java/net/snowflake/client/core/HttpClientSettingsKey.java
index da41401a23..abf489f546 100644
--- a/src/main/java/net/snowflake/client/core/HttpClientSettingsKey.java
+++ b/src/main/java/net/snowflake/client/core/HttpClientSettingsKey.java
@@ -1,6 +1,7 @@
package net.snowflake.client.core;
-import com.google.common.base.Strings;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
+
import java.io.Serializable;
/**
@@ -35,14 +36,14 @@ public HttpClientSettingsKey(
Boolean gzipDisabled) {
this.useProxy = true;
this.ocspMode = mode != null ? mode : OCSPMode.FAIL_OPEN;
- this.proxyHost = !Strings.isNullOrEmpty(host) ? host.trim() : "";
+ this.proxyHost = !isNullOrEmpty(host) ? host.trim() : "";
this.proxyPort = port;
- this.nonProxyHosts = !Strings.isNullOrEmpty(nonProxyHosts) ? nonProxyHosts.trim() : "";
- this.proxyUser = !Strings.isNullOrEmpty(user) ? user.trim() : "";
- this.proxyPassword = !Strings.isNullOrEmpty(password) ? password.trim() : "";
- this.proxyProtocol = !Strings.isNullOrEmpty(scheme) ? scheme.trim() : "http";
+ this.nonProxyHosts = !isNullOrEmpty(nonProxyHosts) ? nonProxyHosts.trim() : "";
+ this.proxyUser = !isNullOrEmpty(user) ? user.trim() : "";
+ this.proxyPassword = !isNullOrEmpty(password) ? password.trim() : "";
+ this.proxyProtocol = !isNullOrEmpty(scheme) ? scheme.trim() : "http";
this.gzipDisabled = gzipDisabled;
- this.userAgentSuffix = !Strings.isNullOrEmpty(userAgentSuffix) ? userAgentSuffix.trim() : "";
+ this.userAgentSuffix = !isNullOrEmpty(userAgentSuffix) ? userAgentSuffix.trim() : "";
}
public HttpClientSettingsKey(OCSPMode mode) {
@@ -52,7 +53,7 @@ public HttpClientSettingsKey(OCSPMode mode) {
HttpClientSettingsKey(OCSPMode mode, String userAgentSuffix, Boolean gzipDisabled) {
this(mode);
- this.userAgentSuffix = !Strings.isNullOrEmpty(userAgentSuffix) ? userAgentSuffix.trim() : "";
+ this.userAgentSuffix = !isNullOrEmpty(userAgentSuffix) ? userAgentSuffix.trim() : "";
this.gzipDisabled = gzipDisabled;
}
diff --git a/src/main/java/net/snowflake/client/core/HttpUtil.java b/src/main/java/net/snowflake/client/core/HttpUtil.java
index 258696a4e1..975676da4c 100644
--- a/src/main/java/net/snowflake/client/core/HttpUtil.java
+++ b/src/main/java/net/snowflake/client/core/HttpUtil.java
@@ -1,5 +1,6 @@
package net.snowflake.client.core;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
import static net.snowflake.client.jdbc.SnowflakeUtil.systemGetProperty;
import static org.apache.http.client.config.CookieSpecs.DEFAULT;
import static org.apache.http.client.config.CookieSpecs.IGNORE_COOKIES;
@@ -8,7 +9,6 @@
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Strings;
import com.microsoft.azure.storage.OperationContext;
import java.io.File;
import java.io.IOException;
@@ -403,8 +403,7 @@ public static CloseableHttpClient buildHttpClient(
key.getProxyHttpProtocol(),
key.getNonProxyHosts()));
httpClientBuilder.setProxy(proxy).setRoutePlanner(sdkProxyRoutePlanner);
- if (!Strings.isNullOrEmpty(key.getProxyUser())
- && !Strings.isNullOrEmpty(key.getProxyPassword())) {
+ if (!isNullOrEmpty(key.getProxyUser()) && !isNullOrEmpty(key.getProxyPassword())) {
Credentials credentials =
new UsernamePasswordCredentials(key.getProxyUser(), key.getProxyPassword());
AuthScope authScope = new AuthScope(key.getProxyHost(), key.getProxyPort());
@@ -966,7 +965,7 @@ private static String executeRequestInternal(
private static void checkForDPoPNonceError(HttpResponse response) throws IOException {
String errorResponse = EntityUtils.toString(response.getEntity());
- if (!Strings.isNullOrEmpty(errorResponse)) {
+ if (!isNullOrEmpty(errorResponse)) {
ObjectMapper objectMapper = ObjectMapperFactory.getObjectMapper();
JsonNode rootNode = objectMapper.readTree(errorResponse);
JsonNode errorNode = rootNode.get(ERROR_FIELD_NAME);
diff --git a/src/main/java/net/snowflake/client/core/SFBaseSession.java b/src/main/java/net/snowflake/client/core/SFBaseSession.java
index db5cd445e5..7611dbb184 100644
--- a/src/main/java/net/snowflake/client/core/SFBaseSession.java
+++ b/src/main/java/net/snowflake/client/core/SFBaseSession.java
@@ -1,9 +1,9 @@
package net.snowflake.client.core;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
import static net.snowflake.client.jdbc.SnowflakeUtil.systemGetEnv;
import static net.snowflake.client.jdbc.SnowflakeUtil.systemGetProperty;
-import com.google.common.base.Strings;
import java.sql.DriverPropertyInfo;
import java.sql.SQLException;
import java.util.ArrayList;
@@ -593,8 +593,8 @@ public HttpClientSettingsKey getHttpClientKey() throws SnowflakeSQLException {
userAgentSuffix,
gzipDisabled);
// There are 2 possible parameters for non proxy hosts that can be combined into 1
- String combinedNonProxyHosts = Strings.isNullOrEmpty(nonProxyHosts) ? "" : nonProxyHosts;
- if (!Strings.isNullOrEmpty(noProxy)) {
+ String combinedNonProxyHosts = isNullOrEmpty(nonProxyHosts) ? "" : nonProxyHosts;
+ if (!isNullOrEmpty(noProxy)) {
combinedNonProxyHosts += combinedNonProxyHosts.length() == 0 ? "" : "|";
combinedNonProxyHosts += noProxy;
}
@@ -602,18 +602,18 @@ public HttpClientSettingsKey getHttpClientKey() throws SnowflakeSQLException {
// It is possible that a user can have both http and https proxies specified in the JVM
// parameters. The default protocol is http.
String proxyProtocol = "http";
- if (!Strings.isNullOrEmpty(httpProxyProtocol)) {
+ if (!isNullOrEmpty(httpProxyProtocol)) {
proxyProtocol = httpProxyProtocol;
- } else if (!Strings.isNullOrEmpty(httpsProxyHost)
- && !Strings.isNullOrEmpty(httpsProxyPort)
- && Strings.isNullOrEmpty(httpProxyHost)
- && Strings.isNullOrEmpty(httpProxyPort)) {
+ } else if (!isNullOrEmpty(httpsProxyHost)
+ && !isNullOrEmpty(httpsProxyPort)
+ && isNullOrEmpty(httpProxyHost)
+ && isNullOrEmpty(httpProxyPort)) {
proxyProtocol = "https";
}
if (proxyProtocol.equals("https")
- && !Strings.isNullOrEmpty(httpsProxyHost)
- && !Strings.isNullOrEmpty(httpsProxyPort)) {
+ && !isNullOrEmpty(httpsProxyHost)
+ && !isNullOrEmpty(httpsProxyPort)) {
logger.debug("Using https proxy configuration from JVM parameters");
int proxyPort;
try {
@@ -635,8 +635,8 @@ public HttpClientSettingsKey getHttpClientKey() throws SnowflakeSQLException {
gzipDisabled);
logHttpClientInitInfo(ocspAndProxyAndGzipKey);
} else if (proxyProtocol.equals("http")
- && !Strings.isNullOrEmpty(httpProxyHost)
- && !Strings.isNullOrEmpty(httpProxyPort)) {
+ && !isNullOrEmpty(httpProxyHost)
+ && !isNullOrEmpty(httpProxyPort)) {
logger.debug("Using http proxy configuration from JVM parameters");
int proxyPort;
try {
@@ -703,10 +703,10 @@ private void logHttpClientInitInfo(HttpClientSettingsKey key) {
public void unsetInvalidProxyHostAndPort() {
// If proxyHost and proxyPort are used without http or https unset them, so they are not used
// later by the ProxySelector.
- if (!Strings.isNullOrEmpty(systemGetProperty("proxyHost"))) {
+ if (!isNullOrEmpty(systemGetProperty("proxyHost"))) {
System.clearProperty("proxyHost");
}
- if (!Strings.isNullOrEmpty(systemGetProperty("proxyPort"))) {
+ if (!isNullOrEmpty(systemGetProperty("proxyPort"))) {
System.clearProperty("proxyPort");
}
}
@@ -1145,7 +1145,7 @@ public String getDatabase() {
}
public void setDatabase(String database) {
- if (!Strings.isNullOrEmpty(database)) {
+ if (!isNullOrEmpty(database)) {
this.database = database;
}
}
@@ -1155,7 +1155,7 @@ public String getSchema() {
}
public void setSchema(String schema) {
- if (!Strings.isNullOrEmpty(schema)) {
+ if (!isNullOrEmpty(schema)) {
this.schema = schema;
}
}
@@ -1173,7 +1173,7 @@ public String getWarehouse() {
}
public void setWarehouse(String warehouse) {
- if (!Strings.isNullOrEmpty(warehouse)) {
+ if (!isNullOrEmpty(warehouse)) {
this.warehouse = warehouse;
}
}
diff --git a/src/main/java/net/snowflake/client/core/SFSession.java b/src/main/java/net/snowflake/client/core/SFSession.java
index eafe2263d8..acec6b3f33 100644
--- a/src/main/java/net/snowflake/client/core/SFSession.java
+++ b/src/main/java/net/snowflake/client/core/SFSession.java
@@ -4,11 +4,11 @@
import static net.snowflake.client.core.QueryStatus.isAnError;
import static net.snowflake.client.core.QueryStatus.isStillRunning;
import static net.snowflake.client.core.SFLoginInput.getBooleanValue;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Strings;
import java.security.PrivateKey;
import java.sql.DriverPropertyInfo;
import java.sql.SQLException;
@@ -326,7 +326,7 @@ else if (isAnError(result)) {
// if an error message has been provided, set appropriate error message.
// This should override the default error message displayed when there is
// an error with no code.
- if (!Strings.isNullOrEmpty(errorMessage) && !errorMessage.equalsIgnoreCase("null")) {
+ if (!isNullOrEmpty(errorMessage) && !errorMessage.equalsIgnoreCase("null")) {
result.setErrorMessage(errorMessage);
} else {
result.setErrorMessage("No error reported");
@@ -875,7 +875,7 @@ boolean isExternalbrowserOrOAuthFullFlowAuthenticator() {
boolean isOKTAAuthenticator() {
Map connectionPropertiesMap = getConnectionPropertiesMap();
String authenticator = (String) connectionPropertiesMap.get(SFSessionProperty.AUTHENTICATOR);
- return !Strings.isNullOrEmpty(authenticator) && authenticator.startsWith("https://");
+ return !isNullOrEmpty(authenticator) && authenticator.startsWith("https://");
}
/**
@@ -1040,7 +1040,7 @@ public Void call() throws SQLException {
/** Start heartbeat for this session */
protected void startHeartbeatForThisSession() {
- if (getEnableHeartbeat() && !Strings.isNullOrEmpty(masterToken)) {
+ if (getEnableHeartbeat() && !isNullOrEmpty(masterToken)) {
logger.debug(
"Session {} start heartbeat, master token validity: {} s",
getSessionId(),
@@ -1055,7 +1055,7 @@ protected void startHeartbeatForThisSession() {
/** Stop heartbeat for this session */
protected void stopHeartbeatForThisSession() {
- if (getEnableHeartbeat() && !Strings.isNullOrEmpty(masterToken)) {
+ if (getEnableHeartbeat() && !isNullOrEmpty(masterToken)) {
logger.debug("Session {} stop heartbeat", getSessionId());
HeartbeatBackground.getInstance().removeSession(this);
@@ -1298,12 +1298,12 @@ private void performSanityCheckOnProperties() throws SFException {
|| isUsernamePasswordMFAAuthenticator()) {
// userName and password are expected for both Snowflake and Okta.
String userName = (String) connectionPropertiesMap.get(SFSessionProperty.USER);
- if (Strings.isNullOrEmpty(userName)) {
+ if (isNullOrEmpty(userName)) {
throw new SFException(ErrorCode.MISSING_USERNAME);
}
String password = (String) connectionPropertiesMap.get(SFSessionProperty.PASSWORD);
- if (Strings.isNullOrEmpty(password)) {
+ if (isNullOrEmpty(password)) {
throw new SFException(ErrorCode.MISSING_PASSWORD);
}
@@ -1335,13 +1335,13 @@ public List checkProperties() {
if (isSnowflakeAuthenticator() || isOKTAAuthenticator()) {
// userName and password are expected for both Snowflake and Okta.
String userName = (String) connectionPropertiesMap.get(SFSessionProperty.USER);
- if (Strings.isNullOrEmpty(userName)) {
+ if (isNullOrEmpty(userName)) {
missingProperties.add(
addNewDriverProperty(SFSessionProperty.USER.getPropertyKey(), "username for account"));
}
String password = (String) connectionPropertiesMap.get(SFSessionProperty.PASSWORD);
- if (Strings.isNullOrEmpty(password)) {
+ if (isNullOrEmpty(password)) {
missingProperties.add(
addNewDriverProperty(
SFSessionProperty.PASSWORD.getPropertyKey(), "password for " + "account"));
diff --git a/src/main/java/net/snowflake/client/core/SFTrustManager.java b/src/main/java/net/snowflake/client/core/SFTrustManager.java
index bca17a24d5..aa4b84796b 100644
--- a/src/main/java/net/snowflake/client/core/SFTrustManager.java
+++ b/src/main/java/net/snowflake/client/core/SFTrustManager.java
@@ -1,5 +1,6 @@
package net.snowflake.client.core;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
import static net.snowflake.client.jdbc.SnowflakeUtil.systemGetEnv;
import static net.snowflake.client.jdbc.SnowflakeUtil.systemGetProperty;
@@ -10,7 +11,6 @@
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.JsonNodeType;
import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.google.common.base.Strings;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
@@ -577,8 +577,8 @@ private static CloseableHttpClient getHttpClient(int timeout) {
Protocol.HTTP,
proxySettingsKey.getNonProxyHosts());
httpClientBuilder = httpClientBuilder.setProxy(proxy).setRoutePlanner(sdkProxyRoutePlanner);
- if (!Strings.isNullOrEmpty(proxySettingsKey.getProxyUser())
- && !Strings.isNullOrEmpty(proxySettingsKey.getProxyPassword())) {
+ if (!isNullOrEmpty(proxySettingsKey.getProxyUser())
+ && !isNullOrEmpty(proxySettingsKey.getProxyPassword())) {
Credentials credentials =
new UsernamePasswordCredentials(
proxySettingsKey.getProxyUser(), proxySettingsKey.getProxyPassword());
@@ -1106,7 +1106,7 @@ private OCSPResp fetchOcspResponse(
String urlEncodedOCSPReq = URLUtil.urlEncode(ocspReqDerBase64);
if (SF_OCSP_RESPONSE_CACHE_SERVER_RETRY_URL_PATTERN != null) {
URL ocspUrl = new URL(ocspUrlStr);
- if (!Strings.isNullOrEmpty(ocspUrl.getPath())) {
+ if (!isNullOrEmpty(ocspUrl.getPath())) {
path = ocspUrl.getPath();
}
if (ocspUrl.getPort() > 0) {
diff --git a/src/main/java/net/snowflake/client/core/SecureStorageAppleManager.java b/src/main/java/net/snowflake/client/core/SecureStorageAppleManager.java
index 8a95eb99f5..2108d7d2f6 100644
--- a/src/main/java/net/snowflake/client/core/SecureStorageAppleManager.java
+++ b/src/main/java/net/snowflake/client/core/SecureStorageAppleManager.java
@@ -1,6 +1,7 @@
package net.snowflake.client.core;
-import com.google.common.base.Strings;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
+
import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.Pointer;
@@ -23,7 +24,7 @@ public static SecureStorageAppleManager builder() {
}
public SecureStorageStatus setCredential(String host, String user, String type, String cred) {
- if (Strings.isNullOrEmpty(cred)) {
+ if (isNullOrEmpty(cred)) {
logger.debug("No credential provided", false);
return SecureStorageStatus.SUCCESS;
}
diff --git a/src/main/java/net/snowflake/client/core/SecureStorageLinuxManager.java b/src/main/java/net/snowflake/client/core/SecureStorageLinuxManager.java
index c99224076d..6693d0733d 100644
--- a/src/main/java/net/snowflake/client/core/SecureStorageLinuxManager.java
+++ b/src/main/java/net/snowflake/client/core/SecureStorageLinuxManager.java
@@ -1,11 +1,11 @@
package net.snowflake.client.core;
import static net.snowflake.client.core.StmtUtil.mapper;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.JsonNodeType;
import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.google.common.base.Strings;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
@@ -49,7 +49,7 @@ public static SecureStorageLinuxManager getInstance() {
@Override
public synchronized SecureStorageStatus setCredential(
String host, String user, String type, String token) {
- if (Strings.isNullOrEmpty(token)) {
+ if (isNullOrEmpty(token)) {
logger.warn("No token provided", false);
return SecureStorageStatus.SUCCESS;
}
diff --git a/src/main/java/net/snowflake/client/core/SecureStorageWindowsManager.java b/src/main/java/net/snowflake/client/core/SecureStorageWindowsManager.java
index 0d374b73a4..a6dc011f53 100644
--- a/src/main/java/net/snowflake/client/core/SecureStorageWindowsManager.java
+++ b/src/main/java/net/snowflake/client/core/SecureStorageWindowsManager.java
@@ -1,6 +1,7 @@
package net.snowflake.client.core;
-import com.google.common.base.Strings;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
+
import com.sun.jna.Memory;
import com.sun.jna.Native;
import com.sun.jna.Pointer;
@@ -34,7 +35,7 @@ public static SecureStorageWindowsManager builder() {
}
public SecureStorageStatus setCredential(String host, String user, String type, String token) {
- if (Strings.isNullOrEmpty(token)) {
+ if (isNullOrEmpty(token)) {
logger.warn("No token provided", false);
return SecureStorageStatus.SUCCESS;
}
diff --git a/src/main/java/net/snowflake/client/core/SessionUtil.java b/src/main/java/net/snowflake/client/core/SessionUtil.java
index 275ad5a5a6..ba10e7b3d2 100644
--- a/src/main/java/net/snowflake/client/core/SessionUtil.java
+++ b/src/main/java/net/snowflake/client/core/SessionUtil.java
@@ -1,14 +1,13 @@
package net.snowflake.client.core;
import static net.snowflake.client.core.SFTrustManager.resetOCSPResponseCacherServerURL;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
import static net.snowflake.client.jdbc.SnowflakeUtil.systemGetEnv;
import static net.snowflake.client.jdbc.SnowflakeUtil.systemGetProperty;
-import com.amazonaws.util.StringUtils;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.common.base.Strings;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URI;
@@ -445,7 +444,7 @@ private static void convertSessionParameterStringValueToBooleanIfGiven(
}
private static void readCachedCredentialsIfPossible(SFLoginInput loginInput) throws SFException {
- if (!StringUtils.isNullOrEmpty(loginInput.getUserName())) {
+ if (!isNullOrEmpty(loginInput.getUserName())) {
if (asBoolean(loginInput.getSessionParameters().get(CLIENT_STORE_TEMPORARY_CREDENTIAL))) {
CredentialManager.fillCachedIdToken(loginInput);
CredentialManager.fillCachedOAuthRefreshToken(loginInput);
@@ -520,7 +519,7 @@ static SFLoginOutput newSession(
loginInput.getLoginTimeout(),
loginInput.getAuthTimeout(),
loginInput.getOCSPMode(),
- Strings.isNullOrEmpty(oktaUsername) ? "" : ", okta username: " + oktaUsername);
+ isNullOrEmpty(oktaUsername) ? "" : ", okta username: " + oktaUsername);
try {
@@ -1094,14 +1093,14 @@ private static void clearAccessTokenCache(SFLoginInput loginInput) throws SFExce
}
private static void setServiceNameHeader(SFLoginInput loginInput, HttpPost postRequest) {
- if (!Strings.isNullOrEmpty(loginInput.getServiceName())) {
+ if (!isNullOrEmpty(loginInput.getServiceName())) {
// service name is used to route a request to appropriate cluster.
postRequest.setHeader(SF_HEADER_SERVICE_NAME, loginInput.getServiceName());
}
}
private static String nullStringAsEmptyString(String value) {
- if (Strings.isNullOrEmpty(value) || "null".equals(value)) {
+ if (isNullOrEmpty(value) || "null".equals(value)) {
return "";
}
return value;
@@ -2025,7 +2024,7 @@ private static StringEntity prepareFederatedFlowStep1RequestInput(SFLoginInput l
private static void setFederatedFlowStep3PostRequestAuthData(
HttpPost postRequest, SFLoginInput loginInput) throws SnowflakeSQLException {
String userName =
- Strings.isNullOrEmpty(loginInput.getOKTAUserName())
+ isNullOrEmpty(loginInput.getOKTAUserName())
? loginInput.getUserName()
: loginInput.getOKTAUserName();
try {
diff --git a/src/main/java/net/snowflake/client/core/SessionUtilExternalBrowser.java b/src/main/java/net/snowflake/client/core/SessionUtilExternalBrowser.java
index 64436359c7..082f392b15 100644
--- a/src/main/java/net/snowflake/client/core/SessionUtilExternalBrowser.java
+++ b/src/main/java/net/snowflake/client/core/SessionUtilExternalBrowser.java
@@ -1,8 +1,9 @@
package net.snowflake.client.core;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
+
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.common.base.Strings;
import java.awt.Desktop;
import java.io.BufferedReader;
import java.io.IOException;
@@ -364,9 +365,9 @@ private boolean processOptions(String[] rets, Socket socket) throws IOException
if (userAgent != null) {
logger.debug("{}", userAgent);
}
- if (Strings.isNullOrEmpty(targetLine)
- || Strings.isNullOrEmpty(requestedHeaderLine)
- || Strings.isNullOrEmpty(this.origin)) {
+ if (isNullOrEmpty(targetLine)
+ || isNullOrEmpty(requestedHeaderLine)
+ || isNullOrEmpty(this.origin)) {
return false;
}
returnToBrowserForOptions(requestedHeaderLine, socket);
diff --git a/src/main/java/net/snowflake/client/core/SessionUtilKeyPair.java b/src/main/java/net/snowflake/client/core/SessionUtilKeyPair.java
index 61800c4ced..8ed7123700 100644
--- a/src/main/java/net/snowflake/client/core/SessionUtilKeyPair.java
+++ b/src/main/java/net/snowflake/client/core/SessionUtilKeyPair.java
@@ -1,8 +1,8 @@
package net.snowflake.client.core;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
import static net.snowflake.client.jdbc.SnowflakeUtil.systemGetEnv;
-import com.google.common.base.Strings;
import com.nimbusds.jose.JOSEException;
import com.nimbusds.jose.JWSAlgorithm;
import com.nimbusds.jose.JWSHeader;
@@ -121,17 +121,17 @@ class SessionUtilKeyPair {
private static void ensurePrivateKeyProvidedInOnlyOneProperty(
PrivateKey privateKey, String privateKeyFile, String privateKeyBase64) throws SFException {
- if (!Strings.isNullOrEmpty(privateKeyFile) && privateKey != null) {
+ if (!isNullOrEmpty(privateKeyFile) && privateKey != null) {
throw new SFException(
ErrorCode.INVALID_OR_UNSUPPORTED_PRIVATE_KEY,
"Cannot have both private key object and private key file.");
}
- if (!Strings.isNullOrEmpty(privateKeyBase64) && !Strings.isNullOrEmpty(privateKeyFile)) {
+ if (!isNullOrEmpty(privateKeyBase64) && !isNullOrEmpty(privateKeyFile)) {
throw new SFException(
ErrorCode.INVALID_OR_UNSUPPORTED_PRIVATE_KEY,
"Cannot have both private key file and private key base64 string value.");
}
- if (!Strings.isNullOrEmpty(privateKeyBase64) && privateKey != null) {
+ if (!isNullOrEmpty(privateKeyBase64) && privateKey != null) {
throw new SFException(
ErrorCode.INVALID_OR_UNSUPPORTED_PRIVATE_KEY,
"Cannot have both private key object and private key base64 string value.");
@@ -141,11 +141,11 @@ private static void ensurePrivateKeyProvidedInOnlyOneProperty(
private PrivateKey buildPrivateKey(
PrivateKey privateKey, String privateKeyFile, String privateKeyBase64, String privateKeyPwd)
throws SFException {
- if (!Strings.isNullOrEmpty(privateKeyBase64)) {
+ if (!isNullOrEmpty(privateKeyBase64)) {
logger.trace("Reading private key from base64 string");
return extractPrivateKeyFromBase64(privateKeyBase64, privateKeyPwd);
}
- if (!Strings.isNullOrEmpty(privateKeyFile)) {
+ if (!isNullOrEmpty(privateKeyFile)) {
logger.trace("Reading private key from file");
return extractPrivateKeyFromFile(privateKeyFile, privateKeyPwd);
}
@@ -307,7 +307,7 @@ private PrivateKey extractPrivateKeyWithJdk(byte[] privateKeyFileBytes, String p
throws IOException, NoSuchAlgorithmException, InvalidKeySpecException, InvalidKeyException {
logger.trace("Extracting private key using JDK");
String privateKeyContent = new String(privateKeyFileBytes, StandardCharsets.UTF_8);
- if (Strings.isNullOrEmpty(privateKeyPwd)) {
+ if (isNullOrEmpty(privateKeyPwd)) {
// unencrypted private key file
return generatePrivateKey(false, privateKeyContent, privateKeyPwd);
} else {
diff --git a/src/main/java/net/snowflake/client/core/StmtUtil.java b/src/main/java/net/snowflake/client/core/StmtUtil.java
index 80ab97b0bb..cde909a18e 100644
--- a/src/main/java/net/snowflake/client/core/StmtUtil.java
+++ b/src/main/java/net/snowflake/client/core/StmtUtil.java
@@ -1,8 +1,9 @@
package net.snowflake.client.core;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
+
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.common.base.Strings;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.net.URISyntaxException;
@@ -419,7 +420,7 @@ public static StmtOutput execute(StmtInput stmtInput, ExecTimeTelemetryData exec
}
private static void setServiceNameHeader(StmtInput stmtInput, HttpRequestBase httpRequest) {
- if (!Strings.isNullOrEmpty(stmtInput.serviceName)) {
+ if (!isNullOrEmpty(stmtInput.serviceName)) {
httpRequest.setHeader(SessionUtil.SF_HEADER_SERVICE_NAME, stmtInput.serviceName);
}
}
diff --git a/src/main/java/net/snowflake/client/core/auth/oauth/AuthorizationCodeRedirectRequestHandler.java b/src/main/java/net/snowflake/client/core/auth/oauth/AuthorizationCodeRedirectRequestHandler.java
index e518d6762c..f19825650f 100644
--- a/src/main/java/net/snowflake/client/core/auth/oauth/AuthorizationCodeRedirectRequestHandler.java
+++ b/src/main/java/net/snowflake/client/core/auth/oauth/AuthorizationCodeRedirectRequestHandler.java
@@ -1,6 +1,7 @@
package net.snowflake.client.core.auth.oauth;
-import com.amazonaws.util.StringUtils;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
+
import com.google.common.html.HtmlEscapers;
import com.nimbusds.oauth2.sdk.id.State;
import java.util.Map;
@@ -38,7 +39,7 @@ static String handleRedirectRequest(
response = "Authorization error: invalid authorization request redirection state";
} else {
String authorizationCode = urlParams.get("code");
- if (!StringUtils.isNullOrEmpty(authorizationCode)) {
+ if (!isNullOrEmpty(authorizationCode)) {
logger.debug("Received authorization code on redirect URI");
response = "Authorization completed successfully.";
authorizationCodeFuture.complete(authorizationCode);
diff --git a/src/main/java/net/snowflake/client/core/auth/oauth/OAuthAccessTokenProviderFactory.java b/src/main/java/net/snowflake/client/core/auth/oauth/OAuthAccessTokenProviderFactory.java
index 18cc9eaaec..6ca0318ef0 100644
--- a/src/main/java/net/snowflake/client/core/auth/oauth/OAuthAccessTokenProviderFactory.java
+++ b/src/main/java/net/snowflake/client/core/auth/oauth/OAuthAccessTokenProviderFactory.java
@@ -1,6 +1,7 @@
package net.snowflake.client.core.auth.oauth;
-import com.amazonaws.util.StringUtils;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
+
import java.net.URI;
import java.util.Arrays;
import java.util.HashSet;
@@ -61,19 +62,15 @@ private void validateAuthorizationAndTokenEndpointsIfSpecified(SFLoginInput logi
throws SFException {
String authorizationEndpoint = loginInput.getOauthLoginInput().getAuthorizationUrl();
String tokenEndpoint = loginInput.getOauthLoginInput().getTokenRequestUrl();
- if ((!StringUtils.isNullOrEmpty(authorizationEndpoint)
- && StringUtils.isNullOrEmpty(tokenEndpoint))
- || (StringUtils.isNullOrEmpty(authorizationEndpoint)
- && !StringUtils.isNullOrEmpty(tokenEndpoint))) {
+ if ((!isNullOrEmpty(authorizationEndpoint) && isNullOrEmpty(tokenEndpoint))
+ || (isNullOrEmpty(authorizationEndpoint) && !isNullOrEmpty(tokenEndpoint))) {
throw new SFException(
ErrorCode.OAUTH_AUTHORIZATION_CODE_FLOW_ERROR,
"For OAUTH_AUTHORIZATION_CODE authentication with external IdP, both oauthAuthorizationUrl and oauthTokenRequestUrl must be specified");
- } else if (!StringUtils.isNullOrEmpty(authorizationEndpoint)
- && !StringUtils.isNullOrEmpty(tokenEndpoint)) {
+ } else if (!isNullOrEmpty(authorizationEndpoint) && !isNullOrEmpty(tokenEndpoint)) {
URI authorizationUrl = URI.create(authorizationEndpoint);
URI tokenUrl = URI.create(tokenEndpoint);
- if (StringUtils.isNullOrEmpty(authorizationUrl.getHost())
- || StringUtils.isNullOrEmpty(tokenUrl.getHost())) {
+ if (isNullOrEmpty(authorizationUrl.getHost()) || isNullOrEmpty(tokenUrl.getHost())) {
throw new SFException(
ErrorCode.OAUTH_AUTHORIZATION_CODE_FLOW_ERROR,
String.format(
diff --git a/src/main/java/net/snowflake/client/core/auth/oauth/OAuthUtil.java b/src/main/java/net/snowflake/client/core/auth/oauth/OAuthUtil.java
index 6475f84630..1f51903c1f 100644
--- a/src/main/java/net/snowflake/client/core/auth/oauth/OAuthUtil.java
+++ b/src/main/java/net/snowflake/client/core/auth/oauth/OAuthUtil.java
@@ -2,8 +2,8 @@
import static net.snowflake.client.core.auth.oauth.OAuthAuthorizationCodeAccessTokenProvider.DEFAULT_REDIRECT_HOST;
import static net.snowflake.client.core.auth.oauth.OAuthAuthorizationCodeAccessTokenProvider.DEFAULT_REDIRECT_URI_ENDPOINT;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
-import com.amazonaws.util.StringUtils;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.nimbusds.oauth2.sdk.http.HTTPRequest;
import java.io.IOException;
@@ -31,7 +31,7 @@ class OAuthUtil {
static URI getTokenRequestUrl(SFOauthLoginInput oauthLoginInput, String serverUrl) {
URI uri =
- !StringUtils.isNullOrEmpty(oauthLoginInput.getTokenRequestUrl())
+ !isNullOrEmpty(oauthLoginInput.getTokenRequestUrl())
? URI.create(oauthLoginInput.getTokenRequestUrl())
: URI.create(serverUrl + SNOWFLAKE_TOKEN_REQUEST_ENDPOINT);
return uri.normalize();
@@ -48,21 +48,21 @@ static HttpRequestBase convertToBaseRequest(HTTPRequest request) {
static URI getAuthorizationUrl(SFOauthLoginInput oauthLoginInput, String serverUrl) {
URI uri =
- !StringUtils.isNullOrEmpty(oauthLoginInput.getAuthorizationUrl())
+ !isNullOrEmpty(oauthLoginInput.getAuthorizationUrl())
? URI.create(oauthLoginInput.getAuthorizationUrl())
: URI.create(serverUrl + SNOWFLAKE_AUTHORIZE_ENDPOINT);
return uri.normalize();
}
static String getScope(SFOauthLoginInput oauthLoginInput, String role) {
- return (!StringUtils.isNullOrEmpty(oauthLoginInput.getScope()))
+ return (!isNullOrEmpty(oauthLoginInput.getScope()))
? oauthLoginInput.getScope()
: DEFAULT_SESSION_ROLE_SCOPE_PREFIX + role;
}
static URI buildRedirectUri(SFOauthLoginInput oauthLoginInput) throws IOException {
String redirectUri =
- !StringUtils.isNullOrEmpty(oauthLoginInput.getRedirectUri())
+ !isNullOrEmpty(oauthLoginInput.getRedirectUri())
? oauthLoginInput.getRedirectUri()
: createDefaultRedirectUri();
return URI.create(redirectUri);
diff --git a/src/main/java/net/snowflake/client/jdbc/SFAsyncResultSet.java b/src/main/java/net/snowflake/client/jdbc/SFAsyncResultSet.java
index 692e907639..6e7284d2a8 100644
--- a/src/main/java/net/snowflake/client/jdbc/SFAsyncResultSet.java
+++ b/src/main/java/net/snowflake/client/jdbc/SFAsyncResultSet.java
@@ -1,8 +1,8 @@
package net.snowflake.client.jdbc;
import static net.snowflake.client.core.QueryStatus.NO_DATA;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
-import com.google.api.client.util.Strings;
import java.math.BigDecimal;
import java.sql.Date;
import java.sql.ResultSet;
@@ -151,7 +151,7 @@ private void getRealResults() throws SQLException {
// exception
if (!QueryStatus.isStillRunning(qs) && qs.getValue() != QueryStatus.SUCCESS.getValue()) {
String errorMessage = qs.getErrorMessage();
- if (Strings.isNullOrEmpty(errorMessage)) {
+ if (isNullOrEmpty(errorMessage)) {
errorMessage = "No error message available";
}
throw new SQLException(
diff --git a/src/main/java/net/snowflake/client/jdbc/SnowflakeBasicDataSource.java b/src/main/java/net/snowflake/client/jdbc/SnowflakeBasicDataSource.java
index e74fb2c7ef..c354dd66e9 100644
--- a/src/main/java/net/snowflake/client/jdbc/SnowflakeBasicDataSource.java
+++ b/src/main/java/net/snowflake/client/jdbc/SnowflakeBasicDataSource.java
@@ -1,6 +1,7 @@
package net.snowflake.client.jdbc;
-import com.google.common.base.Strings;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
+
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
@@ -238,7 +239,7 @@ public void setPrivateKey(PrivateKey privateKey) {
public void setPrivateKeyFile(String location, String password) {
this.setAuthenticator(AUTHENTICATOR_SNOWFLAKE_JWT);
this.properties.put(SFSessionProperty.PRIVATE_KEY_FILE.getPropertyKey(), location);
- if (!Strings.isNullOrEmpty(password)) {
+ if (!isNullOrEmpty(password)) {
this.properties.put(SFSessionProperty.PRIVATE_KEY_PWD.getPropertyKey(), password);
}
}
@@ -246,7 +247,7 @@ public void setPrivateKeyFile(String location, String password) {
public void setPrivateKeyBase64(String privateKeyBase64, String password) {
this.setAuthenticator(AUTHENTICATOR_SNOWFLAKE_JWT);
this.properties.put(SFSessionProperty.PRIVATE_KEY_BASE64.getPropertyKey(), privateKeyBase64);
- if (!Strings.isNullOrEmpty(password)) {
+ if (!isNullOrEmpty(password)) {
this.properties.put(SFSessionProperty.PRIVATE_KEY_PWD.getPropertyKey(), password);
}
}
diff --git a/src/main/java/net/snowflake/client/jdbc/SnowflakeColumnMetadata.java b/src/main/java/net/snowflake/client/jdbc/SnowflakeColumnMetadata.java
index 2cfe2b4002..aea8b66842 100644
--- a/src/main/java/net/snowflake/client/jdbc/SnowflakeColumnMetadata.java
+++ b/src/main/java/net/snowflake/client/jdbc/SnowflakeColumnMetadata.java
@@ -2,10 +2,10 @@
import static net.snowflake.client.jdbc.SnowflakeUtil.getFieldMetadata;
import static net.snowflake.client.jdbc.SnowflakeUtil.getSnowflakeType;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
import static net.snowflake.client.jdbc.SnowflakeUtil.isVectorType;
import com.fasterxml.jackson.databind.JsonNode;
-import com.google.common.base.Strings;
import java.io.Serializable;
import java.sql.Types;
import java.util.List;
@@ -135,8 +135,7 @@ public SnowflakeColumnMetadata(
JsonNode udtOutputType = colNode.path("outputType");
JsonNode extColTypeNameNode = colNode.path("extTypeName");
String extColTypeName = null;
- if (!extColTypeNameNode.isMissingNode()
- && !Strings.isNullOrEmpty(extColTypeNameNode.asText())) {
+ if (!extColTypeNameNode.isMissingNode() && !isNullOrEmpty(extColTypeNameNode.asText())) {
extColTypeName = extColTypeNameNode.asText();
}
String internalColTypeName = colNode.path("type").asText();
diff --git a/src/main/java/net/snowflake/client/jdbc/SnowflakeConnectString.java b/src/main/java/net/snowflake/client/jdbc/SnowflakeConnectString.java
index 26b29eb842..ab018bd147 100644
--- a/src/main/java/net/snowflake/client/jdbc/SnowflakeConnectString.java
+++ b/src/main/java/net/snowflake/client/jdbc/SnowflakeConnectString.java
@@ -1,6 +1,7 @@
package net.snowflake.client.jdbc;
-import com.google.common.base.Strings;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
+
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.net.URI;
@@ -73,7 +74,7 @@ public static SnowflakeConnectString parse(String url, Properties info) {
logger.debug("Connect strings must have a valid scheme: 'snowflake' or 'http' or 'https'");
return INVALID_CONNECT_STRING;
}
- if (Strings.isNullOrEmpty(host)) {
+ if (isNullOrEmpty(host)) {
logger.debug("Connect strings must have a valid host: found null or empty host");
return INVALID_CONNECT_STRING;
}
@@ -81,12 +82,12 @@ public static SnowflakeConnectString parse(String url, Properties info) {
port = 443;
}
String path = uri.getPath();
- if (!Strings.isNullOrEmpty(path) && !"/".equals(path)) {
+ if (!isNullOrEmpty(path) && !"/".equals(path)) {
logger.debug("Connect strings must have no path: expecting empty or null or '/'");
return INVALID_CONNECT_STRING;
}
String account = null;
- if (!Strings.isNullOrEmpty(queryData)) {
+ if (!isNullOrEmpty(queryData)) {
String[] params = queryData.split("&");
for (String p : params) {
String[] keyVals = p.split("=");
@@ -137,7 +138,7 @@ public static SnowflakeConnectString parse(String url, Properties info) {
parameters.put("ACCOUNT", account);
}
- if (Strings.isNullOrEmpty(account)) {
+ if (isNullOrEmpty(account)) {
logger.debug("Connect strings must contain account identifier");
return INVALID_CONNECT_STRING;
}
@@ -222,7 +223,7 @@ public String toString(boolean maskSensitiveValue) {
public boolean isValid() {
// invalid if host name is null or empty
- return !Strings.isNullOrEmpty(host);
+ return !isNullOrEmpty(host);
}
public String getScheme() {
diff --git a/src/main/java/net/snowflake/client/jdbc/SnowflakeConnectionV1.java b/src/main/java/net/snowflake/client/jdbc/SnowflakeConnectionV1.java
index 82f884ec59..158b70e4c2 100644
--- a/src/main/java/net/snowflake/client/jdbc/SnowflakeConnectionV1.java
+++ b/src/main/java/net/snowflake/client/jdbc/SnowflakeConnectionV1.java
@@ -2,8 +2,8 @@
import static net.snowflake.client.jdbc.ErrorCode.FEATURE_UNSUPPORTED;
import static net.snowflake.client.jdbc.ErrorCode.INVALID_CONNECT_STRING;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
-import com.google.common.base.Strings;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Array;
@@ -986,7 +986,7 @@ public InputStream downloadStream(String stageName, String sourceFileName, boole
logger.debug(
"Download data to stream: stageName={}" + ", sourceFileName={}", stageName, sourceFileName);
- if (Strings.isNullOrEmpty(stageName)) {
+ if (isNullOrEmpty(stageName)) {
throw new SnowflakeSQLLoggedException(
sfSession,
ErrorCode.INTERNAL_ERROR.getMessageCode(),
@@ -994,7 +994,7 @@ public InputStream downloadStream(String stageName, String sourceFileName, boole
"stage name is null or empty");
}
- if (Strings.isNullOrEmpty(sourceFileName)) {
+ if (isNullOrEmpty(sourceFileName)) {
throw new SnowflakeSQLLoggedException(
sfSession,
ErrorCode.INTERNAL_ERROR.getMessageCode(),
diff --git a/src/main/java/net/snowflake/client/jdbc/SnowflakeDatabaseMetaData.java b/src/main/java/net/snowflake/client/jdbc/SnowflakeDatabaseMetaData.java
index e1c75a8313..026f119103 100644
--- a/src/main/java/net/snowflake/client/jdbc/SnowflakeDatabaseMetaData.java
+++ b/src/main/java/net/snowflake/client/jdbc/SnowflakeDatabaseMetaData.java
@@ -14,11 +14,11 @@
import static net.snowflake.client.jdbc.DBMetadataResultSetMetadata.GET_TABLES;
import static net.snowflake.client.jdbc.DBMetadataResultSetMetadata.GET_TABLE_PRIVILEGES;
import static net.snowflake.client.jdbc.SnowflakeType.convertStringToType;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.google.common.base.Strings;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
@@ -1457,17 +1457,17 @@ private String getFirstResultSetCommand(
procedures or functions */
private String getSecondResultSetCommand(
String catalog, String schemaPattern, String name, String type) {
- if (Strings.isNullOrEmpty(name)) {
+ if (isNullOrEmpty(name)) {
return "";
}
String procedureCols = name.substring(name.indexOf("("), name.indexOf(" RETURN"));
String quotedName = "\"" + name.substring(0, name.indexOf("(")) + "\"";
String procedureName = quotedName + procedureCols;
String showProcedureColCommand;
- if (!Strings.isNullOrEmpty(catalog) && !Strings.isNullOrEmpty(schemaPattern)) {
+ if (!isNullOrEmpty(catalog) && !isNullOrEmpty(schemaPattern)) {
showProcedureColCommand =
"desc " + type + " " + catalog + "." + schemaPattern + "." + procedureName;
- } else if (!Strings.isNullOrEmpty(schemaPattern)) {
+ } else if (!isNullOrEmpty(schemaPattern)) {
showProcedureColCommand = "desc " + type + " " + schemaPattern + "." + procedureName;
} else {
showProcedureColCommand = "desc " + type + " " + procedureName;
@@ -3677,7 +3677,7 @@ private ResultSet executeAndReturnEmptyResultIfNotFound(
Statement statement, String sql, DBMetadataResultSetMetadata metadataType)
throws SQLException {
ResultSet resultSet;
- if (Strings.isNullOrEmpty(sql)) {
+ if (isNullOrEmpty(sql)) {
return SnowflakeDatabaseMetaDataResultSet.getEmptyResultSet(metadataType, statement);
}
try {
diff --git a/src/main/java/net/snowflake/client/jdbc/SnowflakeFileTransferAgent.java b/src/main/java/net/snowflake/client/jdbc/SnowflakeFileTransferAgent.java
index 98feb55bfa..c4adb9b637 100644
--- a/src/main/java/net/snowflake/client/jdbc/SnowflakeFileTransferAgent.java
+++ b/src/main/java/net/snowflake/client/jdbc/SnowflakeFileTransferAgent.java
@@ -1,13 +1,13 @@
package net.snowflake.client.jdbc;
import static net.snowflake.client.core.Constants.NO_SPACE_LEFT_ON_DEVICE_ERR;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
import static net.snowflake.client.jdbc.SnowflakeUtil.systemGetProperty;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.common.base.Strings;
import com.google.common.io.ByteStreams;
import com.google.common.io.CountingOutputStream;
import java.io.File;
@@ -1175,7 +1175,7 @@ static StageInfo getStageInfo(JsonNode jsonNode, SFSession session) throws Snowf
JsonNode presignedUrlNode = jsonNode.path("data").path("stageInfo").path("presignedUrl");
if (!presignedUrlNode.isMissingNode()) {
String presignedUrl = presignedUrlNode.asText();
- if (!Strings.isNullOrEmpty(presignedUrl)) {
+ if (!isNullOrEmpty(presignedUrl)) {
stageInfo.setPresignedUrl(presignedUrl);
}
}
@@ -3061,7 +3061,7 @@ static Optional mimeTypeToCompressionType(String mimeTypeSt
} else {
subType = mimeTypeStr.substring(slashIndex + 1, semiColonIndex);
}
- if (Strings.isNullOrEmpty(subType)) {
+ if (isNullOrEmpty(subType)) {
return Optional.empty();
}
return FileCompressionType.lookupByMimeSubType(subType);
diff --git a/src/main/java/net/snowflake/client/jdbc/SnowflakeFileTransferMetadataV1.java b/src/main/java/net/snowflake/client/jdbc/SnowflakeFileTransferMetadataV1.java
index 7e4850c907..f12e847a2e 100644
--- a/src/main/java/net/snowflake/client/jdbc/SnowflakeFileTransferMetadataV1.java
+++ b/src/main/java/net/snowflake/client/jdbc/SnowflakeFileTransferMetadataV1.java
@@ -1,7 +1,8 @@
package net.snowflake.client.jdbc;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
+
import com.fasterxml.jackson.annotation.JsonProperty;
-import com.google.common.base.Strings;
import java.io.Serializable;
import net.snowflake.client.jdbc.SFBaseFileTransferAgent.CommandType;
import net.snowflake.client.jdbc.cloud.storage.StageInfo;
@@ -49,7 +50,7 @@ public SnowflakeFileTransferMetadataV1(
public boolean isForOneFile() {
// The presigned url is for one file and the down-scoped token can be used for multiple files.
return stageInfo.getStageType() == StageInfo.StageType.GCS
- && !Strings.isNullOrEmpty(presignedUrl)
+ && !isNullOrEmpty(presignedUrl)
&& !"null".equalsIgnoreCase(presignedUrl);
}
diff --git a/src/main/java/net/snowflake/client/jdbc/SnowflakeSQLLoggedException.java b/src/main/java/net/snowflake/client/jdbc/SnowflakeSQLLoggedException.java
index 35ffd3b400..1955d783dd 100644
--- a/src/main/java/net/snowflake/client/jdbc/SnowflakeSQLLoggedException.java
+++ b/src/main/java/net/snowflake/client/jdbc/SnowflakeSQLLoggedException.java
@@ -1,8 +1,9 @@
package net.snowflake.client.jdbc;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
+
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.google.api.client.util.Strings;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.sql.SQLException;
@@ -131,10 +132,10 @@ static JSONObject createOOBValue(String queryId, String SQLState, int vendorCode
oobValue.put("type", TelemetryField.SQL_EXCEPTION.toString());
oobValue.put("DriverType", LoginInfoDTO.SF_JDBC_APP_ID);
oobValue.put("DriverVersion", SnowflakeDriver.implementVersion);
- if (!Strings.isNullOrEmpty(queryId)) {
+ if (!isNullOrEmpty(queryId)) {
oobValue.put("QueryID", queryId);
}
- if (!Strings.isNullOrEmpty(SQLState)) {
+ if (!isNullOrEmpty(SQLState)) {
oobValue.put("SQLState", SQLState);
}
if (vendorCode != NO_VENDOR_CODE) {
@@ -156,10 +157,10 @@ static ObjectNode createIBValue(String queryId, String SQLState, int vendorCode)
ibValue.put("type", TelemetryField.SQL_EXCEPTION.toString());
ibValue.put("DriverType", LoginInfoDTO.SF_JDBC_APP_ID);
ibValue.put("DriverVersion", SnowflakeDriver.implementVersion);
- if (!Strings.isNullOrEmpty(queryId)) {
+ if (!isNullOrEmpty(queryId)) {
ibValue.put("QueryID", queryId);
}
- if (!Strings.isNullOrEmpty(SQLState)) {
+ if (!isNullOrEmpty(SQLState)) {
ibValue.put("SQLState", SQLState);
}
if (vendorCode != NO_VENDOR_CODE) {
diff --git a/src/main/java/net/snowflake/client/jdbc/SnowflakeUtil.java b/src/main/java/net/snowflake/client/jdbc/SnowflakeUtil.java
index fb65e4a250..d77df65a23 100644
--- a/src/main/java/net/snowflake/client/jdbc/SnowflakeUtil.java
+++ b/src/main/java/net/snowflake/client/jdbc/SnowflakeUtil.java
@@ -8,7 +8,6 @@
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ArrayNode;
-import com.google.common.base.Strings;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
@@ -365,8 +364,7 @@ static List createFieldsMetadata(
JsonNode outputType = node.path("outputType");
JsonNode extColTypeNameNode = node.path("extTypeName");
String extColTypeName = null;
- if (!extColTypeNameNode.isMissingNode()
- && !Strings.isNullOrEmpty(extColTypeNameNode.asText())) {
+ if (!extColTypeNameNode.isMissingNode() && !isNullOrEmpty(extColTypeNameNode.asText())) {
extColTypeName = extColTypeNameNode.asText();
}
ColumnTypeInfo columnTypeInfo =
@@ -753,8 +751,7 @@ public static HttpClientSettingsKey convertProxyPropertiesToHttpClientKey(
String userAgentSuffix =
info.getProperty(SFSessionProperty.USER_AGENT_SUFFIX.getPropertyKey());
Boolean gzipDisabled =
- Strings.isNullOrEmpty(
- info.getProperty(SFSessionProperty.GZIP_DISABLED.getPropertyKey()))
+ isNullOrEmpty(info.getProperty(SFSessionProperty.GZIP_DISABLED.getPropertyKey()))
? false
: Boolean.valueOf(
info.getProperty(SFSessionProperty.GZIP_DISABLED.getPropertyKey()));
@@ -906,4 +903,8 @@ public static Map createCaseInsensitiveMap(Header[] headers) {
public static boolean isWindows() {
return Constants.getOS() == Constants.OS.WINDOWS;
}
+
+ public static boolean isNullOrEmpty(String str) {
+ return str == null || str.isEmpty();
+ }
}
diff --git a/src/main/java/net/snowflake/client/jdbc/cloud/storage/S3HttpUtil.java b/src/main/java/net/snowflake/client/jdbc/cloud/storage/S3HttpUtil.java
index 235ec60996..e122c03459 100644
--- a/src/main/java/net/snowflake/client/jdbc/cloud/storage/S3HttpUtil.java
+++ b/src/main/java/net/snowflake/client/jdbc/cloud/storage/S3HttpUtil.java
@@ -1,8 +1,9 @@
package net.snowflake.client.jdbc.cloud.storage;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
+
import com.amazonaws.ClientConfiguration;
import com.amazonaws.Protocol;
-import com.google.common.base.Strings;
import java.util.Properties;
import net.snowflake.client.core.HttpClientSettingsKey;
import net.snowflake.client.core.HttpProtocol;
@@ -41,8 +42,7 @@ public static void setProxyForS3(HttpClientSettingsKey key, ClientConfiguration
+ key.getProxyHttpProtocol()
+ ", non-proxy hosts: "
+ key.getNonProxyHosts();
- if (!Strings.isNullOrEmpty(key.getProxyUser())
- && !Strings.isNullOrEmpty(key.getProxyPassword())) {
+ if (!isNullOrEmpty(key.getProxyUser()) && !isNullOrEmpty(key.getProxyPassword())) {
logMessage +=
", user: "
+ key.getProxyUser()
@@ -96,7 +96,7 @@ public static void setSessionlessProxyForS3(
String proxyProtocol =
proxyProperties.getProperty(SFSessionProperty.PROXY_PROTOCOL.getPropertyKey());
Protocol protocolEnum =
- (!Strings.isNullOrEmpty(proxyProtocol) && proxyProtocol.equalsIgnoreCase("https"))
+ (!isNullOrEmpty(proxyProtocol) && proxyProtocol.equalsIgnoreCase("https"))
? Protocol.HTTPS
: Protocol.HTTP;
clientConfig.setProxyHost(proxyHost);
@@ -112,7 +112,7 @@ public static void setSessionlessProxyForS3(
+ nonProxyHosts
+ ", protocol: "
+ proxyProtocol;
- if (!Strings.isNullOrEmpty(proxyUser) && !Strings.isNullOrEmpty(proxyPassword)) {
+ if (!isNullOrEmpty(proxyUser) && !isNullOrEmpty(proxyPassword)) {
logMessage += ", user: " + proxyUser + " with password provided";
clientConfig.setProxyUsername(proxyUser);
clientConfig.setProxyPassword(proxyPassword);
diff --git a/src/main/java/net/snowflake/client/jdbc/cloud/storage/SnowflakeGCSClient.java b/src/main/java/net/snowflake/client/jdbc/cloud/storage/SnowflakeGCSClient.java
index c567617e13..40290bd857 100644
--- a/src/main/java/net/snowflake/client/jdbc/cloud/storage/SnowflakeGCSClient.java
+++ b/src/main/java/net/snowflake/client/jdbc/cloud/storage/SnowflakeGCSClient.java
@@ -5,6 +5,7 @@
import static net.snowflake.client.jdbc.SnowflakeUtil.createCaseInsensitiveMap;
import static net.snowflake.client.jdbc.SnowflakeUtil.getRootCause;
import static net.snowflake.client.jdbc.SnowflakeUtil.isBlank;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
import static net.snowflake.client.jdbc.SnowflakeUtil.systemGetProperty;
import com.fasterxml.jackson.core.JsonFactory;
@@ -24,7 +25,6 @@
import com.google.cloud.storage.Storage.BlobListOption;
import com.google.cloud.storage.StorageException;
import com.google.cloud.storage.StorageOptions;
-import com.google.common.base.Strings;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
@@ -263,7 +263,7 @@ public void download(
String key = null;
String iv = null;
long downloadMillis = 0;
- if (!Strings.isNullOrEmpty(presignedUrl)) {
+ if (!isNullOrEmpty(presignedUrl)) {
logger.debug("Starting download with presigned URL", false);
URIBuilder uriBuilder = new URIBuilder(presignedUrl);
@@ -362,8 +362,8 @@ public void download(
}
}
- if (!Strings.isNullOrEmpty(iv)
- && !Strings.isNullOrEmpty(key)
+ if (!isNullOrEmpty(iv)
+ && !isNullOrEmpty(key)
&& this.isEncrypting()
&& this.getEncryptionKeySize() <= 256) {
if (key == null || iv == null) {
@@ -457,7 +457,7 @@ public InputStream downloadToStream(
String key = null;
String iv = null;
- if (!Strings.isNullOrEmpty(presignedUrl)) {
+ if (!isNullOrEmpty(presignedUrl)) {
logger.debug("Starting download with presigned URL", false);
URIBuilder uriBuilder = new URIBuilder(presignedUrl);
@@ -655,7 +655,7 @@ public void uploadWithPresignedUrlWithoutConnection(
}
Stopwatch stopwatch = new Stopwatch();
stopwatch.start();
- if (Strings.isNullOrEmpty(presignedUrl) || "null".equalsIgnoreCase(presignedUrl)) {
+ if (isNullOrEmpty(presignedUrl) || "null".equalsIgnoreCase(presignedUrl)) {
logger.debug("Starting upload with downscoped token");
uploadWithDownScopedToken(
remoteStorageLocation,
@@ -758,7 +758,7 @@ public void upload(
Stopwatch stopwatch = new Stopwatch();
stopwatch.start();
- if (!Strings.isNullOrEmpty(presignedUrl)) {
+ if (!isNullOrEmpty(presignedUrl)) {
logger.debug("Starting upload with downscope token", false);
uploadWithPresignedUrl(
session.getNetworkTimeoutInMilli(),
@@ -1001,7 +1001,7 @@ private void uploadWithPresignedUrl(
* @return Just the object path
*/
private String scrubPresignedUrl(String presignedUrl) {
- if (Strings.isNullOrEmpty(presignedUrl)) {
+ if (isNullOrEmpty(presignedUrl)) {
return "";
}
int indexOfQueryString = presignedUrl.lastIndexOf("?");
diff --git a/src/main/java/net/snowflake/client/log/SFLoggerUtil.java b/src/main/java/net/snowflake/client/log/SFLoggerUtil.java
index 199f86b530..0317135bac 100644
--- a/src/main/java/net/snowflake/client/log/SFLoggerUtil.java
+++ b/src/main/java/net/snowflake/client/log/SFLoggerUtil.java
@@ -1,8 +1,8 @@
package net.snowflake.client.log;
+import static net.snowflake.client.jdbc.SnowflakeUtil.isNullOrEmpty;
import static net.snowflake.client.jdbc.SnowflakeUtil.systemGetProperty;
-import com.google.common.base.Strings;
import net.snowflake.client.core.SnowflakeJdbcInternalApi;
import org.apache.commons.logging.LogFactory;
@@ -45,7 +45,7 @@ public static void initializeSnowflakeLogger() {
@SnowflakeJdbcInternalApi
public static String isVariableProvided(T variable) {
if (variable instanceof String) {
- return (Strings.isNullOrEmpty((String) variable)) ? NOT_PROVIDED_LOG : PROVIDED_LOG;
+ return (isNullOrEmpty((String) variable)) ? NOT_PROVIDED_LOG : PROVIDED_LOG;
}
return variable == null ? NOT_PROVIDED_LOG : PROVIDED_LOG;
}