summaryrefslogtreecommitdiffstats
path: root/vespajlib
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2020-10-05 13:37:33 +0200
committerMartin Polden <mpolden@mpolden.no>2020-10-05 13:48:57 +0200
commit5570710c8998c7ca73b868351b474c73a8e05af6 (patch)
tree4bd4cd7ed8101ffb06215615df1806aa60785ea5 /vespajlib
parentc2b5c6561939017b1bc36d6845a405f64b34234d (diff)
Use StandardCharsets
Diffstat (limited to 'vespajlib')
-rw-r--r--vespajlib/src/main/java/com/yahoo/io/IOUtils.java16
-rw-r--r--vespajlib/src/main/java/com/yahoo/io/ReadLine.java11
-rw-r--r--vespajlib/src/main/java/com/yahoo/text/StringUtilities.java14
-rw-r--r--vespajlib/src/test/java/com/yahoo/io/ByteWriterTestCase.java22
-rw-r--r--vespajlib/src/test/java/com/yahoo/io/FileReadTestCase.java10
-rw-r--r--vespajlib/src/test/java/com/yahoo/io/HexDumpTestCase.java19
6 files changed, 39 insertions, 53 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/io/IOUtils.java b/vespajlib/src/main/java/com/yahoo/io/IOUtils.java
index f2de0ace476..266b7857363 100644
--- a/vespajlib/src/main/java/com/yahoo/io/IOUtils.java
+++ b/vespajlib/src/main/java/com/yahoo/io/IOUtils.java
@@ -1,26 +1,24 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.io;
import java.io.*;
import java.nio.channels.FileChannel;
+import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.NoSuchFileException;
import java.util.List;
import java.nio.charset.Charset;
import java.nio.ByteBuffer;
-
/**
- * <p>Some static io convenience methods.</p>
+ * Some static I/O convenience methods.
*
- * @author bratseth
- * @author Bjorn Borud
+ * @author bratseth
+ * @author Bjorn Borud
*/
public abstract class IOUtils {
- static private final Charset utf8Charset = Charset.forName("utf-8");
-
/** Closes a writer, or does nothing if the writer is null */
public static void closeWriter(Writer writer) {
if (writer == null) return;
@@ -329,7 +327,7 @@ public abstract class IOUtils {
* Encodes string as UTF-8 into ByteBuffer
*/
public static ByteBuffer utf8ByteBuffer(String s) {
- return utf8Charset.encode(s);
+ return StandardCharsets.UTF_8.encode(s);
}
/**
@@ -341,7 +339,7 @@ public abstract class IOUtils {
public static String readFile(File file) throws IOException {
try {
if (file == null) return null;
- return new String(Files.readAllBytes(file.toPath()), "utf-8");
+ return Files.readString(file.toPath());
}
catch (NoSuchFileException e) {
throw new NoSuchFileException("Could not find file '" + file.getAbsolutePath() + "'");
diff --git a/vespajlib/src/main/java/com/yahoo/io/ReadLine.java b/vespajlib/src/main/java/com/yahoo/io/ReadLine.java
index 6e7f9f5e50e..f8a820a7421 100644
--- a/vespajlib/src/main/java/com/yahoo/io/ReadLine.java
+++ b/vespajlib/src/main/java/com/yahoo/io/ReadLine.java
@@ -1,10 +1,9 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.io;
import java.nio.Buffer;
-import java.nio.charset.Charset;
import java.nio.ByteBuffer;
-
+import java.nio.charset.StandardCharsets;
/**
* Conventient utility for reading lines from ByteBuffers. Please
@@ -12,11 +11,10 @@ import java.nio.ByteBuffer;
* ByteBuffer abstraction is somewhat clumsy and thus usage of this
* code requires that you understand the semantics clearly.
*
- * @author <a href="mailto:borud@yahoo-inc.com">Bjorn Borud</a>
+ * @author Bjorn Borud
*
*/
public class ReadLine {
- static private Charset charset = Charset.forName("latin1");
/**
* Extract next line from a byte buffer. Looks for EOL characters
@@ -49,7 +47,7 @@ public class ReadLine {
// The downcast to Buffer is done to avoid "redundant cast" warning on Java 9.
// TODO: when Java 8 is gone, remove the casts and above comments.
// extract string between start and i.
- String line = charset.decode((ByteBuffer) ((Buffer)buffer.slice()).limit(i - start)).toString();
+ String line = StandardCharsets.ISO_8859_1.decode((ByteBuffer) ((Buffer)buffer.slice()).limit(i - start)).toString();
// skip remaining
for (; (i < buffer.limit()) && isEolChar(buffer.get(i)); i++) {
@@ -80,4 +78,5 @@ public class ReadLine {
static boolean isEolChar(byte b) {
return ((10 == b) || (13 == b));
}
+
}
diff --git a/vespajlib/src/main/java/com/yahoo/text/StringUtilities.java b/vespajlib/src/main/java/com/yahoo/text/StringUtilities.java
index 370d079b3ec..74458be4584 100644
--- a/vespajlib/src/main/java/com/yahoo/text/StringUtilities.java
+++ b/vespajlib/src/main/java/com/yahoo/text/StringUtilities.java
@@ -1,9 +1,9 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.text;
import com.google.common.collect.ImmutableSet;
-import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
import java.util.Collections;
import java.util.List;
import java.io.ByteArrayOutputStream;
@@ -19,8 +19,6 @@ import java.util.Set;
// TODO: Text utilities should which are still needed should move to Text. This should be deprecated.
public class StringUtilities {
- private static Charset UTF8 = Charset.forName("utf8");
-
private static byte toHex(int val) { return (byte) (val < 10 ? '0' + val : 'a' + (val - 10)); }
private static class ReplacementCharacters {
@@ -65,7 +63,7 @@ public class StringUtilities {
* @return The escaped string
*/
public static String escape(String source, char delimiter) {
- byte bytes[] = source.getBytes(UTF8);
+ byte bytes[] = source.getBytes(StandardCharsets.UTF_8);
ByteArrayOutputStream result = new ByteArrayOutputStream();
for (byte b : bytes) {
int val = b;
@@ -86,11 +84,11 @@ public class StringUtilities {
result.write(replacementCharacters.replacement2[val]);
}
}
- return new String(result.toByteArray(), UTF8);
+ return new String(result.toByteArray(), StandardCharsets.UTF_8);
}
public static String unescape(String source) {
- byte bytes[] = source.getBytes(UTF8);
+ byte bytes[] = source.getBytes(StandardCharsets.UTF_8);
ByteArrayOutputStream result = new ByteArrayOutputStream();
for (int i=0; i<bytes.length; ++i) {
if (bytes[i] != '\\') {
@@ -120,7 +118,7 @@ public class StringUtilities {
result.write((byte) Integer.parseInt(hexdigits, 16));
i += 3;
}
- return new String(result.toByteArray(), UTF8);
+ return new String(result.toByteArray(), StandardCharsets.UTF_8);
}
/**
diff --git a/vespajlib/src/test/java/com/yahoo/io/ByteWriterTestCase.java b/vespajlib/src/test/java/com/yahoo/io/ByteWriterTestCase.java
index c6278133d4c..77967bb08fa 100644
--- a/vespajlib/src/test/java/com/yahoo/io/ByteWriterTestCase.java
+++ b/vespajlib/src/test/java/com/yahoo/io/ByteWriterTestCase.java
@@ -1,23 +1,23 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.io;
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import com.yahoo.text.Utf8;
+import com.yahoo.text.Utf8Array;
+import org.junit.Test;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.ByteBuffer;
-import java.nio.charset.Charset;
import java.nio.charset.CharsetEncoder;
+import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.IdentityHashMap;
-import com.yahoo.text.Utf8;
-import com.yahoo.text.Utf8Array;
-import org.junit.Test;
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
/**
* Test the ByteWriter class. ByteWriter is also implicitly tested in
@@ -27,7 +27,7 @@ import org.junit.Test;
*/
public class ByteWriterTestCase {
- private final CharsetEncoder encoder = Charset.forName("UTF-8").newEncoder();
+ private final CharsetEncoder encoder = StandardCharsets.UTF_8.newEncoder();
private final ByteArrayOutputStream stream = new ByteArrayOutputStream();
/**
@@ -281,7 +281,7 @@ public class ByteWriterTestCase {
@Test
public void testUnMappableCharacter() throws java.io.IOException {
ByteArrayOutputStream stream = new ByteArrayOutputStream();
- ByteWriter writer = new ByteWriter(stream, Charset.forName("ascii").newEncoder());
+ ByteWriter writer = new ByteWriter(stream, StandardCharsets.US_ASCII.newEncoder());
writer.write("yahoo\u9999bahoo");
writer.close();
assertTrue(stream.toString("ascii").contains("yahoo"));
diff --git a/vespajlib/src/test/java/com/yahoo/io/FileReadTestCase.java b/vespajlib/src/test/java/com/yahoo/io/FileReadTestCase.java
index 1acd225b18a..4769562db89 100644
--- a/vespajlib/src/test/java/com/yahoo/io/FileReadTestCase.java
+++ b/vespajlib/src/test/java/com/yahoo/io/FileReadTestCase.java
@@ -1,4 +1,4 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.io;
import org.junit.Test;
@@ -6,7 +6,7 @@ import org.junit.Test;
import java.io.File;
import java.io.IOException;
import java.io.StringReader;
-import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@@ -16,15 +16,15 @@ public class FileReadTestCase {
@Test
public void testReadByteArray() throws IOException {
byte[] thisFile = IOUtils.readFileBytes(new File("src/test/java/com/yahoo/io/FileReadTestCase.java"));
- String str = new String(thisFile, Charset.forName("US-ASCII"));
- assertTrue(str.startsWith("// Copyright 2017 Yahoo Holdings."));
+ String str = new String(thisFile, StandardCharsets.US_ASCII);
+ assertTrue(str.startsWith("// Copyright Verizon Media."));
assertTrue(str.endsWith("// Yeppers\n"));
}
@Test
public void testReadString() throws IOException {
String str = IOUtils.readFile(new File("src/test/java/com/yahoo/io/FileReadTestCase.java"));
- assertTrue(str.startsWith("// Copyright 2017 Yahoo Holdings."));
+ assertTrue(str.startsWith("// Copyright Verizon Media."));
assertTrue(str.endsWith("// Yeppers\n"));
}
diff --git a/vespajlib/src/test/java/com/yahoo/io/HexDumpTestCase.java b/vespajlib/src/test/java/com/yahoo/io/HexDumpTestCase.java
index dcea8101d9c..d250338b8fe 100644
--- a/vespajlib/src/test/java/com/yahoo/io/HexDumpTestCase.java
+++ b/vespajlib/src/test/java/com/yahoo/io/HexDumpTestCase.java
@@ -1,28 +1,19 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.io;
import org.junit.Test;
-import com.yahoo.text.Utf8;
-
-import java.io.ByteArrayOutputStream;
-import java.io.PrintStream;
-import java.io.UnsupportedEncodingException;
-import java.nio.ByteBuffer;
-import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
/**
* @author Simon Thoresen Hult
- * @author <a href="mailto:steinar@yahoo-inc.com">Steinar Knutsen</a>
+ * @author Steinar Knutsen
*/
public class HexDumpTestCase {
- private static final Charset UTF8 = Charset.forName("UTF-8");
- private static final Charset UTF16 = Charset.forName("UTF-16");
-
@Test
public void requireThatToHexStringAcceptsNull() {
assertNull(HexDump.toHexString(null));
@@ -31,10 +22,10 @@ public class HexDumpTestCase {
@Test
public void requireThatToHexStringIsUnformatted() {
assertEquals("6162636465666768696A6B6C6D6E6F707172737475767778797A",
- HexDump.toHexString("abcdefghijklmnopqrstuvwxyz".getBytes(UTF8)));
+ HexDump.toHexString("abcdefghijklmnopqrstuvwxyz".getBytes(StandardCharsets.UTF_8)));
assertEquals("FEFF006100620063006400650066006700680069006A006B006C00" +
"6D006E006F0070007100720073007400750076007700780079007A",
- HexDump.toHexString("abcdefghijklmnopqrstuvwxyz".getBytes(UTF16)));
+ HexDump.toHexString("abcdefghijklmnopqrstuvwxyz".getBytes(StandardCharsets.UTF_16)));
}
}