Skip to content

Commit c6bb208

Browse files
authored
OAK-11399: Remove usage of Guava io.BaseEncoding (#1992)
* OAK-11399: Remove usage of Guava io.BaseEncoding * OAK-11399: Remove usage of Guava io.BaseEncoding - restore base32 case * OAK-11399: Remove usage of Guava io.BaseEncoding * OAK-11399: Remove usage of Guava io.BaseEncoding
1 parent c48a666 commit c6bb208

File tree

3 files changed

+14
-12
lines changed

3 files changed

+14
-12
lines changed

oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStore.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
* specific language governing permissions and limitations
1717
* under the License.
1818
*/
19-
2019
package org.apache.jackrabbit.oak.plugins.blob.datastore;
2120

2221
import java.io.File;
@@ -25,18 +24,15 @@
2524
import java.io.InputStream;
2625
import java.lang.ref.WeakReference;
2726
import java.nio.charset.StandardCharsets;
28-
import java.nio.file.Files;
29-
import java.nio.file.Path;
30-
import java.nio.file.Paths;
3127
import java.util.AbstractMap;
3228
import java.util.ArrayList;
29+
import java.util.Base64;
3330
import java.util.Collections;
3431
import java.util.Iterator;
3532
import java.util.List;
3633
import java.util.Set;
3734

3835
import org.apache.jackrabbit.guava.common.base.Strings;
39-
import org.apache.jackrabbit.guava.common.io.BaseEncoding;
4036
import org.apache.jackrabbit.guava.common.io.Closeables;
4137
import org.apache.commons.io.FileUtils;
4238
import org.apache.commons.io.IOUtils;
@@ -95,7 +91,7 @@ protected byte[] getOrCreateReferenceKey() throws DataStoreException {
9591
* Set Base64 encoded signing key
9692
*/
9793
public void setReferenceKeyEncoded(String encodedKey) {
98-
this.referenceKey = BaseEncoding.base64().decode(encodedKey);
94+
this.referenceKey = Base64.getDecoder().decode(encodedKey);
9995
}
10096

10197
/**

oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/AbstractBlobStore.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import java.util.ArrayDeque;
3333
import java.util.ArrayList;
3434
import java.util.Arrays;
35+
import java.util.Base64;
3536
import java.util.Collections;
3637
import java.util.Iterator;
3738
import java.util.List;
@@ -44,7 +45,7 @@
4445
import javax.crypto.Mac;
4546
import javax.crypto.spec.SecretKeySpec;
4647

47-
import org.apache.jackrabbit.guava.common.io.BaseEncoding;
48+
import org.apache.commons.codec.binary.Base32;
4849
import org.apache.commons.io.FileUtils;
4950
import org.apache.jackrabbit.oak.commons.cache.Cache;
5051
import org.apache.jackrabbit.oak.commons.IOUtils;
@@ -135,6 +136,12 @@ public abstract class AbstractBlobStore implements GarbageCollectableBlobStore,
135136
*/
136137
private byte[] referenceKey;
137138

139+
/**
140+
* Encode in Base 32, hex encoding, no line breaks, padding with "="
141+
*/
142+
private static final Base32 BASE32ENCODER =
143+
new Base32(0, new byte[0], true, (byte)'=');
144+
138145
private final Logger log = LoggerFactory.getLogger(getClass());
139146

140147
private BlobStatsCollector statsCollector = BlobStatsCollector.NOOP;
@@ -237,7 +244,7 @@ public String getReference(@NotNull String blobId) {
237244
Mac mac = Mac.getInstance(ALGORITHM);
238245
mac.init(new SecretKeySpec(getReferenceKey(), ALGORITHM));
239246
byte[] hash = mac.doFinal(blobId.getBytes("UTF-8"));
240-
return blobId + ':' + BaseEncoding.base32Hex().encode(hash);
247+
return blobId + ':' + BASE32ENCODER.encodeToString(hash);
241248
} catch (NoSuchAlgorithmException e) {
242249
throw new IllegalStateException(e);
243250
} catch (InvalidKeyException e) {
@@ -307,7 +314,7 @@ public void setReferenceKey(byte[] referenceKey) {
307314
* @param encodedKey base64 encoded key
308315
*/
309316
public void setReferenceKeyEncoded(String encodedKey) {
310-
setReferenceKey(BaseEncoding.base64().decode(encodedKey));
317+
setReferenceKey(Base64.getDecoder().decode(encodedKey));
311318
}
312319

313320
/**

oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ReferenceBinaryIT.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
import java.io.File;
2525
import java.util.ArrayList;
26+
import java.util.Base64;
2627
import java.util.Collection;
2728
import java.util.List;
2829
import java.util.Random;
@@ -56,8 +57,6 @@
5657
import org.junit.runner.RunWith;
5758
import org.junit.runners.Parameterized;
5859

59-
import org.apache.jackrabbit.guava.common.io.BaseEncoding;
60-
6160
@RunWith(Parameterized.class)
6261
public class ReferenceBinaryIT {
6362

@@ -179,7 +178,7 @@ private static BlobStore createBlobStore(){
179178
OakFileDataStore fds = new OakFileDataStore();
180179
byte[] key = new byte[256];
181180
new Random().nextBytes(key);
182-
fds.setReferenceKeyEncoded(BaseEncoding.base64().encode(key));
181+
fds.setReferenceKeyEncoded(Base64.getEncoder().encodeToString(key));
183182
fds.setMinRecordLength(4092);
184183
fds.init(file.getAbsolutePath());
185184
return new DataStoreBlobStore(fds);

0 commit comments

Comments
 (0)