PARQUET-1725: Replace Usage of Strings.join with JDK Functionality in… (#713)
* PARQUET-1725: Replace Usage of Strings.join with JDK Functionality in ColumnPath Class
* Applied refactoring to DictionaryPageReader as well
* Remove Strings utility class join methods
* Deprecate instead of remove join methods
diff --git a/parquet-common/src/main/java/org/apache/parquet/Strings.java b/parquet-common/src/main/java/org/apache/parquet/Strings.java
index 17a0456..1a9fcee 100644
--- a/parquet-common/src/main/java/org/apache/parquet/Strings.java
+++ b/parquet-common/src/main/java/org/apache/parquet/Strings.java
@@ -38,7 +38,9 @@
* @param s an iterable of strings
* @param on the delimiter
* @return a single joined string
+ * @deprecated Use {@link String#join(CharSequence, Iterable)}
*/
+ @Deprecated
public static String join(Iterable<String> s, String on) {
return join(s.iterator(), on);
}
@@ -51,7 +53,9 @@
* @param iter an iterator of strings
* @param on the delimiter
* @return a single joined string
+ * @deprecated Use {@link String#join(CharSequence, Iterable)}
*/
+ @Deprecated
public static String join(Iterator<String> iter, String on) {
StringBuilder sb = new StringBuilder();
while (iter.hasNext()) {
@@ -71,7 +75,9 @@
* @param s an iterable of strings
* @param on the delimiter
* @return a single joined string
+ * @deprecated Use {@link String#join(CharSequence, Iterable)}
*/
+ @Deprecated
public static String join(String[] s, String on) {
return join(Arrays.asList(s), on);
}
diff --git a/parquet-common/src/main/java/org/apache/parquet/hadoop/metadata/ColumnPath.java b/parquet-common/src/main/java/org/apache/parquet/hadoop/metadata/ColumnPath.java
index 4383b0f..0b3f365 100644
--- a/parquet-common/src/main/java/org/apache/parquet/hadoop/metadata/ColumnPath.java
+++ b/parquet-common/src/main/java/org/apache/parquet/hadoop/metadata/ColumnPath.java
@@ -22,8 +22,6 @@
import java.util.Arrays;
import java.util.Iterator;
-import org.apache.parquet.Strings;
-
import static org.apache.parquet.Preconditions.checkNotNull;
public final class ColumnPath implements Iterable<String>, Serializable {
@@ -68,7 +66,7 @@
}
public String toDotString() {
- return Strings.join(p, ".");
+ return String.join(".", p);
}
@Override
diff --git a/parquet-hadoop/src/main/java/org/apache/parquet/hadoop/DictionaryPageReader.java b/parquet-hadoop/src/main/java/org/apache/parquet/hadoop/DictionaryPageReader.java
index ebc9c84..99643ed 100644
--- a/parquet-hadoop/src/main/java/org/apache/parquet/hadoop/DictionaryPageReader.java
+++ b/parquet-hadoop/src/main/java/org/apache/parquet/hadoop/DictionaryPageReader.java
@@ -18,7 +18,6 @@
*/
package org.apache.parquet.hadoop;
-import org.apache.parquet.Strings;
import org.apache.parquet.bytes.BytesInput;
import org.apache.parquet.column.ColumnDescriptor;
import org.apache.parquet.column.Encoding;
@@ -92,7 +91,7 @@
return rowGroup.readDictionaryPage(descriptor);
}
- String dotPath = Strings.join(descriptor.getPath(), ".");
+ String dotPath = String.join(".", descriptor.getPath());
ColumnChunkMetaData column = columns.get(dotPath);
if (column == null) {
throw new ParquetDecodingException(
diff --git a/parquet-hadoop/src/main/java/org/apache/parquet/hadoop/ParquetFileWriter.java b/parquet-hadoop/src/main/java/org/apache/parquet/hadoop/ParquetFileWriter.java
index e402c7d..39a75bc 100644
--- a/parquet-hadoop/src/main/java/org/apache/parquet/hadoop/ParquetFileWriter.java
+++ b/parquet-hadoop/src/main/java/org/apache/parquet/hadoop/ParquetFileWriter.java
@@ -41,7 +41,6 @@
import org.apache.hadoop.fs.Path;
import org.apache.parquet.Preconditions;
-import org.apache.parquet.Strings;
import org.apache.parquet.Version;
import org.apache.parquet.bytes.BytesInput;
import org.apache.parquet.bytes.BytesUtils;
@@ -763,7 +762,7 @@
if (!dropColumns && !columnsToCopy.isEmpty()) {
throw new IllegalArgumentException(String.format(
"Columns cannot be copied (missing from target schema): %s",
- Strings.join(columnsToCopy.keySet(), ", ")));
+ String.join(", ", columnsToCopy.keySet())));
}
// copy the data for all chunks
diff --git a/parquet-hadoop/src/test/java/org/apache/parquet/hadoop/example/TestInputOutputFormat.java b/parquet-hadoop/src/test/java/org/apache/parquet/hadoop/example/TestInputOutputFormat.java
index 0a38303..47645ac 100644
--- a/parquet-hadoop/src/test/java/org/apache/parquet/hadoop/example/TestInputOutputFormat.java
+++ b/parquet-hadoop/src/test/java/org/apache/parquet/hadoop/example/TestInputOutputFormat.java
@@ -48,7 +48,6 @@
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.lib.input.TextInputFormat;
import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat;
-import org.apache.parquet.Strings;
import org.apache.parquet.filter2.predicate.FilterApi;
import org.junit.Before;
import org.junit.Test;
@@ -307,7 +306,7 @@
sbFound.deleteCharAt(sbFound.length() - 1);
- assertEquals(Strings.join(expected, "\n"), sbFound.toString());
+ assertEquals(String.join("\n", expected), sbFound.toString());
}
@Test
diff --git a/parquet-thrift/src/main/java/org/apache/parquet/thrift/struct/CompatibilityChecker.java b/parquet-thrift/src/main/java/org/apache/parquet/thrift/struct/CompatibilityChecker.java
index f5e215c..7091711 100644
--- a/parquet-thrift/src/main/java/org/apache/parquet/thrift/struct/CompatibilityChecker.java
+++ b/parquet-thrift/src/main/java/org/apache/parquet/thrift/struct/CompatibilityChecker.java
@@ -34,7 +34,6 @@
import org.apache.parquet.thrift.struct.ThriftType.I32Type;
import org.apache.parquet.thrift.struct.ThriftType.I64Type;
import org.apache.parquet.thrift.struct.ThriftType.StringType;
-import org.apache.parquet.Strings;
/**
* A checker for thrift struct to enforce its backward compatibility, returns compatibility report based on following rules:
@@ -81,8 +80,7 @@
}
public String prettyMessages() {
-
- return Strings.join(messages, "\n");
+ return String.join("\n", messages);
}
@Override
diff --git a/parquet-thrift/src/test/java/org/apache/parquet/thrift/TestThriftRecordConverter.java b/parquet-thrift/src/test/java/org/apache/parquet/thrift/TestThriftRecordConverter.java
index 255515a..06c8cef 100644
--- a/parquet-thrift/src/test/java/org/apache/parquet/thrift/TestThriftRecordConverter.java
+++ b/parquet-thrift/src/test/java/org/apache/parquet/thrift/TestThriftRecordConverter.java
@@ -24,7 +24,6 @@
import java.util.ArrayList;
import java.util.Arrays;
-import org.apache.parquet.Strings;
import org.apache.parquet.io.ParquetDecodingException;
import org.apache.parquet.io.api.Binary;
import org.apache.parquet.thrift.ThriftRecordConverter.FieldEnumConverter;
@@ -78,10 +77,10 @@
@Test
public void constructorDoesNotRequireStructOrUnionTypeMeta() throws Exception {
- String jsonWithNoStructOrUnionMeta = Strings.join(
+ String jsonWithNoStructOrUnionMeta = String.join("\n",
Files.readAllLines(
new File("src/test/resources/org/apache/parquet/thrift/StructWithUnionV1NoStructOrUnionMeta.json").toPath(),
- StandardCharsets.UTF_8), "\n");
+ StandardCharsets.UTF_8));
StructType noStructOrUnionMeta = (StructType) ThriftType.fromJSON(jsonWithNoStructOrUnionMeta);