From fe26068400e053866de2139ed897f81f6f23066f Mon Sep 17 00:00:00 2001 From: Andreas Huber Date: Sat, 16 Oct 2021 18:55:27 +0200 Subject: [PATCH] remove unnecessary method --- .../org/lucares/pdb/api/StringCompressor.java | 2 +- .../pdb/api/UniqueStringIntegerPairs.java | 40 ++++++------------- 2 files changed, 14 insertions(+), 28 deletions(-) diff --git a/pdb-api/src/main/java/org/lucares/pdb/api/StringCompressor.java b/pdb-api/src/main/java/org/lucares/pdb/api/StringCompressor.java index ea98010..8ca82c4 100644 --- a/pdb-api/src/main/java/org/lucares/pdb/api/StringCompressor.java +++ b/pdb-api/src/main/java/org/lucares/pdb/api/StringCompressor.java @@ -44,7 +44,7 @@ public class StringCompressor { public int putString(final String value, final Function postProcess) { final String processedValue = postProcess.apply(value); - return usip.computeIfAbsentWithPostprocess(processedValue, postProcess); + return usip.computeIfAbsent(processedValue); } public String get(final int integer) { diff --git a/pdb-api/src/main/java/org/lucares/pdb/api/UniqueStringIntegerPairs.java b/pdb-api/src/main/java/org/lucares/pdb/api/UniqueStringIntegerPairs.java index 3cd73e1..138f893 100644 --- a/pdb-api/src/main/java/org/lucares/pdb/api/UniqueStringIntegerPairs.java +++ b/pdb-api/src/main/java/org/lucares/pdb/api/UniqueStringIntegerPairs.java @@ -205,6 +205,17 @@ public class UniqueStringIntegerPairs { return stringToInt.get(string); } + public Integer computeIfAbsent(final String string) { + if (!stringToInt.containsKey(string)) { + synchronized (stringToInt) { + final Integer integer = intToString.size(); + putStringAndInteger(string, integer); + } + } + + return stringToInt.get(string); + } + public Integer computeIfAbsent(final byte[] bytes, final int start, final int endExclusive, final Function postProcess) { @@ -212,34 +223,9 @@ public class UniqueStringIntegerPairs { Integer result = bytesToInt.get(byteArray); if (result == null) { final String string = new String(bytes, start, endExclusive - start, StandardCharsets.UTF_8); - result = computeIfAbsentWithPostprocess(string, postProcess); + final String postProcessed = postProcess.apply(string); + result = computeIfAbsent(postProcessed); } return result; } - - public Integer computeIfAbsentWithPostprocess(final String string, final Function postProcess) { - - final ByteArray byteArray = new ByteArray(string); - Integer result = bytesToInt.get(byteArray); - if (result == null) { - synchronized (stringToInt) { - if (!bytesToInt.containsKey(byteArray)) { - final String normalizedString = postProcess.apply(string); - result = get(normalizedString); - if (result != null) { - return result; - } - - final Integer integer = intToString.size(); - putStringAndInteger(normalizedString, integer); // adds the normalized String to stringToInt and - // bytesToInt - bytesToInt.put(byteArray, integer); // also add the original String to bytesToInt, because it is - // used as cache - } - result = bytesToInt.get(byteArray); - } - } - - return result; - } }