diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 2232deacd0..0b91f2af0c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -46,7 +46,6 @@ awssdk-bom = { module = "software.amazon.awssdk:bom", version = "2.33.0" } awaitility = { module = "org.awaitility:awaitility", version = "4.3.0" } azuresdk-bom = { module = "com.azure:azure-sdk-bom", version = "1.2.38" } caffeine = { module = "com.github.ben-manes.caffeine:caffeine", version = "3.2.2" } -commons-codec = { module = "commons-codec:commons-codec", version = "1.19.0" } commons-lang3 = { module = "org.apache.commons:commons-lang3", version = "3.18.0" } commons-text = { module = "org.apache.commons:commons-text", version = "1.14.0" } eclipselink = { module = "org.eclipse.persistence:eclipselink", version = "4.0.7" } diff --git a/polaris-core/build.gradle.kts b/polaris-core/build.gradle.kts index c3d004cc21..4aeaa0b439 100644 --- a/polaris-core/build.gradle.kts +++ b/polaris-core/build.gradle.kts @@ -42,7 +42,6 @@ dependencies { runtimeOnly("com.fasterxml.jackson.datatype:jackson-datatype-jsr310") implementation(libs.caffeine) - implementation(libs.commons.codec) implementation(libs.guava) implementation(libs.slf4j.api) diff --git a/polaris-core/src/main/java/org/apache/polaris/core/DigestUtils.java b/polaris-core/src/main/java/org/apache/polaris/core/DigestUtils.java new file mode 100644 index 0000000000..7b95628002 --- /dev/null +++ b/polaris-core/src/main/java/org/apache/polaris/core/DigestUtils.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.polaris.core; + +import com.google.common.hash.Hashing; +import java.nio.charset.StandardCharsets; + +public final class DigestUtils { + private DigestUtils() { + // utils class + } + + public static String sha256Hex(String input) { + return Hashing.sha256().hashString(input, StandardCharsets.UTF_8).toString(); + } +} diff --git a/polaris-core/src/main/java/org/apache/polaris/core/entity/PolarisPrincipalSecrets.java b/polaris-core/src/main/java/org/apache/polaris/core/entity/PolarisPrincipalSecrets.java index 61d48e8875..d902bed8ee 100644 --- a/polaris-core/src/main/java/org/apache/polaris/core/entity/PolarisPrincipalSecrets.java +++ b/polaris-core/src/main/java/org/apache/polaris/core/entity/PolarisPrincipalSecrets.java @@ -22,7 +22,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import jakarta.annotation.Nullable; import java.security.SecureRandom; -import org.apache.commons.codec.digest.DigestUtils; +import org.apache.polaris.core.DigestUtils; /** * Simple class to represent the secrets used to authenticate a catalog principal, These secrets are diff --git a/polaris-core/src/main/java/org/apache/polaris/core/secrets/UnsafeInMemorySecretsManager.java b/polaris-core/src/main/java/org/apache/polaris/core/secrets/UnsafeInMemorySecretsManager.java index 7b402dd233..6bbd979b1c 100644 --- a/polaris-core/src/main/java/org/apache/polaris/core/secrets/UnsafeInMemorySecretsManager.java +++ b/polaris-core/src/main/java/org/apache/polaris/core/secrets/UnsafeInMemorySecretsManager.java @@ -27,7 +27,7 @@ import java.util.Map; import java.util.Objects; import java.util.concurrent.ConcurrentHashMap; -import org.apache.commons.codec.digest.DigestUtils; +import org.apache.polaris.core.DigestUtils; import org.apache.polaris.core.entity.PolarisEntityCore; /** diff --git a/runtime/service/src/main/java/org/apache/polaris/service/http/IcebergHttpUtil.java b/runtime/service/src/main/java/org/apache/polaris/service/http/IcebergHttpUtil.java index 2fd0445d93..63323c2f3a 100644 --- a/runtime/service/src/main/java/org/apache/polaris/service/http/IcebergHttpUtil.java +++ b/runtime/service/src/main/java/org/apache/polaris/service/http/IcebergHttpUtil.java @@ -18,7 +18,7 @@ */ package org.apache.polaris.service.http; -import org.apache.commons.codec.digest.DigestUtils; +import org.apache.polaris.core.DigestUtils; /** Utility class that encapsulates logic pertaining to Iceberg REST specific concepts. */ public class IcebergHttpUtil {