rename put to putString to make it easier for ides to find references

This commit is contained in:
2021-10-16 18:41:26 +02:00
parent d7cd4a94a5
commit 7d3ae61656
11 changed files with 52 additions and 52 deletions

View File

@@ -283,7 +283,7 @@ public class QueryCompletionIndex implements AutoCloseable {
return new byte[0]; return new byte[0];
} }
return VariableByteEncoder.encode(stringCompressor.put(field)); return VariableByteEncoder.encode(stringCompressor.putString(field));
} }
@Override @Override
@@ -387,7 +387,7 @@ public class QueryCompletionIndex implements AutoCloseable {
public SortedSet<String> find(final DateTimeRange dateRange, final Tag tag, final String field) { public SortedSet<String> find(final DateTimeRange dateRange, final Tag tag, final String field) {
final SortedSet<String> result = new TreeSet<>(); final SortedSet<String> result = new TreeSet<>();
final int tagBKey = stringCompressor.put(field); final int tagBKey = stringCompressor.putString(field);
final Tag tagB = new Tag(tagBKey, -1); // the value must be negative for the prefix search to work. See final Tag tagB = new Tag(tagBKey, -1); // the value must be negative for the prefix search to work. See
// EncoderTwoTags // EncoderTwoTags
final TwoTags keyPrefix = new TwoTags(tag, tagB); final TwoTags keyPrefix = new TwoTags(tag, tagB);
@@ -410,7 +410,7 @@ public class QueryCompletionIndex implements AutoCloseable {
public SortedSet<String> findAllValuesForField(final DateTimeRange dateRange, final String field) { public SortedSet<String> findAllValuesForField(final DateTimeRange dateRange, final String field) {
final SortedSet<String> result = new TreeSet<>(); final SortedSet<String> result = new TreeSet<>();
final int tagKey = stringCompressor.put(field); final int tagKey = stringCompressor.putString(field);
final Tag keyPrefix = new Tag(tagKey, -1); // the value must be negative for the prefix search to work. See final Tag keyPrefix = new Tag(tagKey, -1); // the value must be negative for the prefix search to work. See
final PartitionIdSource partitionIdSource = new DatePartitioner(dateRange); final PartitionIdSource partitionIdSource = new DatePartitioner(dateRange);

View File

@@ -21,12 +21,12 @@ class TagEncoderDecoder implements EncoderDecoder<Tag> {
final String key = stringCompressor.getKeyAsString(tag); final String key = stringCompressor.getKeyAsString(tag);
final byte[] result; final byte[] result;
if (!key.isEmpty()) { if (!key.isEmpty()) {
final Integer keyAsLong = stringCompressor.put(key); final Integer keyAsLong = stringCompressor.putString(key);
keyAndValueCompressed.add(keyAsLong); keyAndValueCompressed.add(keyAsLong);
final String value = stringCompressor.getValueAsString(tag); final String value = stringCompressor.getValueAsString(tag);
if (!value.isEmpty()) { if (!value.isEmpty()) {
final Integer valueAsLong = stringCompressor.put(value); final Integer valueAsLong = stringCompressor.putString(value);
keyAndValueCompressed.add(valueAsLong); keyAndValueCompressed.add(valueAsLong);
} }
result = VariableByteEncoder.encode(keyAndValueCompressed); result = VariableByteEncoder.encode(keyAndValueCompressed);

View File

@@ -25,24 +25,24 @@ public class StringCompressor {
final UniqueStringIntegerPairs mapsi = new UniqueStringIntegerPairs(storageBasePath); final UniqueStringIntegerPairs mapsi = new UniqueStringIntegerPairs(storageBasePath);
final StringCompressor result = new StringCompressor(mapsi); final StringCompressor result = new StringCompressor(mapsi);
result.put(ALL_DOCS_KEY); result.putString(ALL_DOCS_KEY);
result.put(""); result.putString("");
TAG_ALL_DOCS = result.createTag(ALL_DOCS_KEY, ""); TAG_ALL_DOCS = result.createTag(ALL_DOCS_KEY, "");
return result; return result;
} }
public int put(final String string) { public int putString(final String string) {
return usip.computeIfAbsent(string, s -> usip.getHighestInteger() + 1); return usip.computeIfAbsent(string, s -> usip.getHighestInteger() + 1);
} }
public int put(final byte[] bytes, final int start, final int endExclusive, public int putStringFromBytes(final byte[] bytes, final int start, final int endExclusive,
final Function<String, String> postProcess) { final Function<String, String> postProcess) {
return usip.computeIfAbsent(bytes, start, endExclusive, postProcess); return usip.computeIfAbsent(bytes, start, endExclusive, postProcess);
} }
public int put(final String value, final Function<String, String> postProcess) { public int putString(final String value, final Function<String, String> postProcess) {
final String processedValue = postProcess.apply(value); final String processedValue = postProcess.apply(value);
return usip.computeIfAbsentWithPostprocess(processedValue, postProcess); return usip.computeIfAbsentWithPostprocess(processedValue, postProcess);
} }
@@ -78,18 +78,18 @@ public class StringCompressor {
} }
public Tags createAndAddToDictionary(final String key, final String value) { public Tags createAndAddToDictionary(final String key, final String value) {
final int keyAsInt = put(key); final int keyAsInt = putString(key);
final int valueAsInt = put(value); final int valueAsInt = putString(value);
return TagsBuilder.create().add(keyAsInt, valueAsInt).build(); return TagsBuilder.create().add(keyAsInt, valueAsInt).build();
} }
public Tags createAndAddToDictionary(final String key1, final String value1, final String key2, public Tags createAndAddToDictionary(final String key1, final String value1, final String key2,
final String value2) { final String value2) {
final int key1AsInt = put(key1); final int key1AsInt = putString(key1);
final int value1AsInt = put(value1); final int value1AsInt = putString(value1);
final int key2AsInt = put(key2); final int key2AsInt = putString(key2);
final int value2AsInt = put(value2); final int value2AsInt = putString(value2);
final Tags result = TagsBuilder.create().add(key1AsInt, value1AsInt).add(key2AsInt, value2AsInt).build(); final Tags result = TagsBuilder.create().add(key1AsInt, value1AsInt).add(key2AsInt, value2AsInt).build();
return result; return result;
@@ -98,14 +98,14 @@ public class StringCompressor {
public Tags createAndAddToDictionary(final String key1, final String value1, final String key2, final String value2, public Tags createAndAddToDictionary(final String key1, final String value1, final String key2, final String value2,
final String key3, final String value3) { final String key3, final String value3) {
final int key1AsInt = put(key1); final int key1AsInt = putString(key1);
final int value1AsInt = put(value1); final int value1AsInt = putString(value1);
final int key2AsInt = put(key2); final int key2AsInt = putString(key2);
final int value2AsInt = put(value2); final int value2AsInt = putString(value2);
final int key3AsInt = put(key3); final int key3AsInt = putString(key3);
final int value3AsInt = put(value3); final int value3AsInt = putString(value3);
final Tags result = TagsBuilder.create().add(key1AsInt, value1AsInt).add(key2AsInt, value2AsInt) final Tags result = TagsBuilder.create().add(key1AsInt, value1AsInt).add(key2AsInt, value2AsInt)
.add(key3AsInt, value3AsInt).build(); .add(key3AsInt, value3AsInt).build();
@@ -115,17 +115,17 @@ public class StringCompressor {
public Tags createAndAddToDictionary(final String key1, final String value1, final String key2, final String value2, public Tags createAndAddToDictionary(final String key1, final String value1, final String key2, final String value2,
final String key3, final String value3, final String key4, final String value4) { final String key3, final String value3, final String key4, final String value4) {
final int key1AsInt = put(key1); final int key1AsInt = putString(key1);
final int value1AsInt = put(value1); final int value1AsInt = putString(value1);
final int key2AsInt = put(key2); final int key2AsInt = putString(key2);
final int value2AsInt = put(value2); final int value2AsInt = putString(value2);
final int key3AsInt = put(key3); final int key3AsInt = putString(key3);
final int value3AsInt = put(value3); final int value3AsInt = putString(value3);
final int key4AsInt = put(key4); final int key4AsInt = putString(key4);
final int value4AsInt = put(value4); final int value4AsInt = putString(value4);
final Tags result = TagsBuilder.create().add(key1AsInt, value1AsInt).add(key2AsInt, value2AsInt) final Tags result = TagsBuilder.create().add(key1AsInt, value1AsInt).add(key2AsInt, value2AsInt)
.add(key3AsInt, value3AsInt).add(key4AsInt, value4AsInt).build(); .add(key3AsInt, value3AsInt).add(key4AsInt, value4AsInt).build();

View File

@@ -128,7 +128,7 @@ public class Tags implements Comparable<Tags> {
} }
public String getValue(final String key) { public String getValue(final String key) {
final Tag needle = new Tag(STRING_COMPRESSOR.put(key), 0); final Tag needle = new Tag(STRING_COMPRESSOR.putString(key), 0);
final int index = Collections.binarySearch(tags, needle, TagByKeyComparator.INSTANCE); final int index = Collections.binarySearch(tags, needle, TagByKeyComparator.INSTANCE);
if (index >= 0) { if (index >= 0) {
@@ -139,7 +139,7 @@ public class Tags implements Comparable<Tags> {
} }
public int getValueAsInt(final String key) { public int getValueAsInt(final String key) {
final Tag needle = new Tag(STRING_COMPRESSOR.put(key), 0); final Tag needle = new Tag(STRING_COMPRESSOR.putString(key), 0);
final int index = Collections.binarySearch(tags, needle, TagByKeyComparator.INSTANCE); final int index = Collections.binarySearch(tags, needle, TagByKeyComparator.INSTANCE);
if (index >= 0) { if (index >= 0) {

View File

@@ -11,9 +11,9 @@ import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.Assertions;
import org.lucares.utils.file.FileUtils; import org.lucares.utils.file.FileUtils;
public class StringCompressorTest { public class StringCompressorTest {
@@ -34,7 +34,7 @@ public class StringCompressorTest {
final StringCompressor keyValueCompressor = StringCompressor.create(dataDirectory.resolve("key.csv")); final StringCompressor keyValueCompressor = StringCompressor.create(dataDirectory.resolve("key.csv"));
final String value = "foo"; final String value = "foo";
final Integer intFoo = keyValueCompressor.put(value); final Integer intFoo = keyValueCompressor.putString(value);
final String actual = keyValueCompressor.get(intFoo); final String actual = keyValueCompressor.get(intFoo);
Assertions.assertEquals(value, actual); Assertions.assertEquals(value, actual);
@@ -47,7 +47,7 @@ public class StringCompressorTest {
{ {
final StringCompressor keyValueCompressor = StringCompressor.create(database); final StringCompressor keyValueCompressor = StringCompressor.create(database);
keyValueCompressor.put(value); keyValueCompressor.putString(value);
} }
{ {
final StringCompressor keyValueCompressor = StringCompressor.create(database); final StringCompressor keyValueCompressor = StringCompressor.create(database);

View File

@@ -21,7 +21,7 @@ final class StringInserter implements Callable<List<String>> {
final List<String> result = new ArrayList<>(); final List<String> result = new ArrayList<>();
for (int i = 0; i < numEntries; i++) { for (int i = 0; i < numEntries; i++) {
final String s = UUID.randomUUID().toString(); final String s = UUID.randomUUID().toString();
stringCompressor.put(s); stringCompressor.putString(s);
result.add(s); result.add(s);
} }
return result; return result;

View File

@@ -49,8 +49,8 @@ public class CsvReaderCsvToEntryTransformer implements CsvToEntryTransformer {
final int chunksize = 1000; final int chunksize = 1000;
Entries entries = new Entries(chunksize); Entries entries = new Entries(chunksize);
final int keyTimestamp = Tags.STRING_COMPRESSOR.put(settings.getTimeColumn()); final int keyTimestamp = Tags.STRING_COMPRESSOR.putString(settings.getTimeColumn());
final int keyDuration = Tags.STRING_COMPRESSOR.put(settings.getValueColumn()); final int keyDuration = Tags.STRING_COMPRESSOR.putString(settings.getValueColumn());
final DateTimeFormatter dateParser = createDateParser(settings.getDateTimePattern()); final DateTimeFormatter dateParser = createDateParser(settings.getDateTimePattern());
final Tags additionalTags = initAdditionalTags(settings); final Tags additionalTags = initAdditionalTags(settings);
@@ -101,7 +101,7 @@ public class CsvReaderCsvToEntryTransformer implements CsvToEntryTransformer {
final String renameTo = settings.getColumnDefinitions().getRenameTo(columnName); final String renameTo = settings.getColumnDefinitions().getRenameTo(columnName);
final String renamedColumn = renameTo != null ? renameTo : columnName; final String renamedColumn = renameTo != null ? renameTo : columnName;
compressedHeaders[i] = Tags.STRING_COMPRESSOR.put(renamedColumn); compressedHeaders[i] = Tags.STRING_COMPRESSOR.putString(renamedColumn);
final EnumSet<PostProcessors> postProcessors = settings.getColumnDefinitions() final EnumSet<PostProcessors> postProcessors = settings.getColumnDefinitions()
.getPostProcessors(columnName); .getPostProcessors(columnName);
final Function<String, String> postProcessFunction = PostProcessors.toFunction(postProcessors); final Function<String, String> postProcessFunction = PostProcessors.toFunction(postProcessors);
@@ -134,7 +134,7 @@ public class CsvReaderCsvToEntryTransformer implements CsvToEntryTransformer {
duration = Long.parseLong(val); duration = Long.parseLong(val);
} else if (!val.isEmpty()) { } else if (!val.isEmpty()) {
final Function<String, String> postProcess = postProcessersForColumns.get(i); final Function<String, String> postProcess = postProcessersForColumns.get(i);
final int value = Tags.STRING_COMPRESSOR.put(val, postProcess); final int value = Tags.STRING_COMPRESSOR.putString(val, postProcess);
tagsBuilder.add(key, value); tagsBuilder.add(key, value);
} }

View File

@@ -21,8 +21,8 @@ public interface CsvToEntryTransformer {
default Tags initAdditionalTags(final CsvReaderSettings settings) { default Tags initAdditionalTags(final CsvReaderSettings settings) {
final TagsBuilder tags = new TagsBuilder(); final TagsBuilder tags = new TagsBuilder();
for (final java.util.Map.Entry<String, String> entry : settings.getAdditionalTags().entrySet()) { for (final java.util.Map.Entry<String, String> entry : settings.getAdditionalTags().entrySet()) {
final int field = Tags.STRING_COMPRESSOR.put(entry.getKey()); final int field = Tags.STRING_COMPRESSOR.putString(entry.getKey());
final int value = Tags.STRING_COMPRESSOR.put(entry.getValue()); final int value = Tags.STRING_COMPRESSOR.putString(entry.getValue());
tags.add(field, value); tags.add(field, value);
} }
return tags.build(); return tags.build();

View File

@@ -72,12 +72,12 @@ public class JsonToEntryTransformer implements LineToEntryTransformer {
// ignore: we only support key/value tags // ignore: we only support key/value tags
break; break;
default: default:
final int keyAsInt = Tags.STRING_COMPRESSOR.put(key); final int keyAsInt = Tags.STRING_COMPRESSOR.putString(key);
final int valueAsInt; final int valueAsInt;
if (value instanceof String) { if (value instanceof String) {
valueAsInt = Tags.STRING_COMPRESSOR.put((String) value); valueAsInt = Tags.STRING_COMPRESSOR.putString((String) value);
} else if (value != null) { } else if (value != null) {
valueAsInt = Tags.STRING_COMPRESSOR.put(String.valueOf(value)); valueAsInt = Tags.STRING_COMPRESSOR.putString(String.valueOf(value));
} else { } else {
continue; continue;
} }

View File

@@ -59,8 +59,8 @@ class NoCopyCsvToEntryTransformer implements CsvToEntryTransformer {
int lineCounter = 0; int lineCounter = 0;
final byte[] buffer = new byte[4096 * 16]; final byte[] buffer = new byte[4096 * 16];
final int keyTimestamp = stringCompressor.put(settings.getTimeColumn()); final int keyTimestamp = stringCompressor.putString(settings.getTimeColumn());
final int keyDuration = stringCompressor.put(settings.getValueColumn()); final int keyDuration = stringCompressor.putString(settings.getValueColumn());
final FastISODateParser dateParser = new FastISODateParser(); final FastISODateParser dateParser = new FastISODateParser();
Tags additionalTags = initAdditionalTags(settings); Tags additionalTags = initAdditionalTags(settings);
@@ -148,7 +148,7 @@ class NoCopyCsvToEntryTransformer implements CsvToEntryTransformer {
final String renameTo = settings.getColumnDefinitions().getRenameTo(columnName); final String renameTo = settings.getColumnDefinitions().getRenameTo(columnName);
final String renamedColumn = renameTo != null ? renameTo : columnName; final String renamedColumn = renameTo != null ? renameTo : columnName;
columns[i] = stringCompressor.put(renamedColumn); columns[i] = stringCompressor.putString(renamedColumn);
final EnumSet<PostProcessors> postProcessors = settings.getColumnDefinitions() final EnumSet<PostProcessors> postProcessors = settings.getColumnDefinitions()
.getPostProcessors(columnName); .getPostProcessors(columnName);
final Function<String, String> postProcessFunction = PostProcessors.toFunction(postProcessors); final Function<String, String> postProcessFunction = PostProcessors.toFunction(postProcessors);
@@ -190,8 +190,8 @@ class NoCopyCsvToEntryTransformer implements CsvToEntryTransformer {
duration = parseLong(line, lastSeparatorPosition + 1, separatorPosition); duration = parseLong(line, lastSeparatorPosition + 1, separatorPosition);
} else if (lastSeparatorPosition + 1 < separatorPosition) { // value is not empty } else if (lastSeparatorPosition + 1 < separatorPosition) { // value is not empty
final Function<String, String> postProcess = postProcessersForColumns.get(i); final Function<String, String> postProcess = postProcessersForColumns.get(i);
final int value = stringCompressor.put(line, lastSeparatorPosition + 1, separatorPosition, final int value = stringCompressor.putStringFromBytes(line, lastSeparatorPosition + 1,
postProcess); separatorPosition, postProcess);
tagsBuilder.add(key, value); tagsBuilder.add(key, value);
} }

View File

@@ -26,8 +26,8 @@ public class TagMatchExtractor {
if (matcher.find() && matcher.groupCount() >= 1) { if (matcher.find() && matcher.groupCount() >= 1) {
final String group = matcher.group(1); final String group = matcher.group(1);
Tags.STRING_COMPRESSOR.put(tagMatcher.tag()); Tags.STRING_COMPRESSOR.putString(tagMatcher.tag());
Tags.STRING_COMPRESSOR.put(group); Tags.STRING_COMPRESSOR.putString(group);
System.out.println(tagMatcher.tag() + " -> " + group); System.out.println(tagMatcher.tag() + " -> " + group);
final Tag tag = Tags.STRING_COMPRESSOR.createTag(tagMatcher.tag(), group); final Tag tag = Tags.STRING_COMPRESSOR.createTag(tagMatcher.tag(), group);