aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fop-core/src/main/codegen/unicode/java/org/apache/fop/hyphenation/UnicodeClasses.java12
-rw-r--r--fop-core/src/main/java/org/apache/fop/datatypes/URISpecification.java12
-rw-r--r--fop-core/src/main/java/org/apache/fop/fonts/truetype/FontFileReader.java6
-rw-r--r--fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java7
-rw-r--r--fop-core/src/main/java/org/apache/fop/fonts/truetype/SVGGlyphData.java4
-rw-r--r--fop-core/src/main/java/org/apache/fop/hyphenation/PatternParser.java3
-rw-r--r--fop-core/src/main/java/org/apache/fop/pdf/PDFDocument.java5
-rw-r--r--fop-core/src/main/java/org/apache/fop/pdf/PDFEncryptionJCE.java44
-rw-r--r--fop-core/src/main/java/org/apache/fop/pdf/PDFLinearization.java3
-rw-r--r--fop-core/src/main/java/org/apache/fop/pdf/PDFSignature.java11
-rw-r--r--fop-core/src/main/java/org/apache/fop/pdf/PDFText.java17
-rw-r--r--fop-core/src/main/java/org/apache/fop/render/txt/TXTStream.java5
-rw-r--r--fop-core/src/main/java/org/apache/fop/render/txt/TxtRendererConfig.java3
-rw-r--r--fop-core/src/test/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverterTestCase.java4
-rw-r--r--fop-core/src/test/java/org/apache/fop/afp/fonts/OutlineFontTestCase.java5
-rw-r--r--fop-core/src/test/java/org/apache/fop/apps/FopConfBuilder.java8
-rw-r--r--fop-core/src/test/java/org/apache/fop/complexscripts/scripts/arabic/GenerateArabicTestData.java4
-rw-r--r--fop-core/src/test/java/org/apache/fop/pdf/PDFEncryptionJCETestCase.java7
-rw-r--r--fop-core/src/test/java/org/apache/fop/pdf/PDFStructureTreeTestCase.java6
-rw-r--r--fop-core/src/test/java/org/apache/fop/render/afp/AFPParser.java3
-rw-r--r--fop-core/src/test/java/org/apache/fop/render/ps/ImageHandlingTestCase.java3
-rw-r--r--fop-core/src/test/java/org/apache/fop/render/ps/svg/GradientTestCase.java4
-rw-r--r--fop-sandbox/src/main/java/org/apache/fop/render/svg/SVGRenderer.java3
23 files changed, 88 insertions, 91 deletions
diff --git a/fop-core/src/main/codegen/unicode/java/org/apache/fop/hyphenation/UnicodeClasses.java b/fop-core/src/main/codegen/unicode/java/org/apache/fop/hyphenation/UnicodeClasses.java
index df25831ea..7550bbabc 100644
--- a/fop-core/src/main/codegen/unicode/java/org/apache/fop/hyphenation/UnicodeClasses.java
+++ b/fop-core/src/main/codegen/unicode/java/org/apache/fop/hyphenation/UnicodeClasses.java
@@ -87,7 +87,7 @@ public final class UnicodeClasses {
}
f.createNewFile();
FileOutputStream fw = new FileOutputStream(f);
- OutputStreamWriter ow = new OutputStreamWriter(fw, "utf-8");
+ OutputStreamWriter ow = new OutputStreamWriter(fw, StandardCharsets.UTF_8);
int maxChar;
maxChar = Character.MAX_VALUE;
@@ -189,7 +189,7 @@ public final class UnicodeClasses {
}
f.createNewFile();
FileOutputStream fw = new FileOutputStream(f);
- OutputStreamWriter ow = new OutputStreamWriter(fw, "utf-8");
+ OutputStreamWriter ow = new OutputStreamWriter(fw, StandardCharsets.UTF_8);
URI inuri = unidata.resolve("Blocks.txt");
InputStream inis = null;
@@ -199,7 +199,7 @@ public final class UnicodeClasses {
} else if (scheme.equals("http")) {
inis = inuri.toURL().openStream();
}
- InputStreamReader insr = new InputStreamReader(inis, "utf-8");
+ InputStreamReader insr = new InputStreamReader(inis, StandardCharsets.UTF_8);
BufferedReader inbr = new BufferedReader(insr);
Map blocks = new HashMap();
for (String line = inbr.readLine(); line != null; line = inbr.readLine()) {
@@ -221,7 +221,7 @@ public final class UnicodeClasses {
} else if (scheme.equals("http")) {
inis = inuri.toURL().openStream();
}
- insr = new InputStreamReader(inis, "utf-8");
+ insr = new InputStreamReader(inis, StandardCharsets.UTF_8);
inbr = new BufferedReader(insr);
int maxChar;
maxChar = Character.MAX_VALUE;
@@ -306,10 +306,10 @@ public final class UnicodeClasses {
}
f.createNewFile();
FileOutputStream fw = new FileOutputStream(f);
- OutputStreamWriter ow = new OutputStreamWriter(fw, "utf-8");
+ OutputStreamWriter ow = new OutputStreamWriter(fw, StandardCharsets.UTF_8);
FileInputStream inis = new FileInputStream(in);
- InputStreamReader insr = new InputStreamReader(inis, "utf-8");
+ InputStreamReader insr = new InputStreamReader(inis, StandardCharsets.UTF_8);
BufferedReader inbr = new BufferedReader(insr);
ow.write("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n");
diff --git a/fop-core/src/main/java/org/apache/fop/datatypes/URISpecification.java b/fop-core/src/main/java/org/apache/fop/datatypes/URISpecification.java
index b82dbee97..3e56bdd13 100644
--- a/fop-core/src/main/java/org/apache/fop/datatypes/URISpecification.java
+++ b/fop-core/src/main/java/org/apache/fop/datatypes/URISpecification.java
@@ -19,7 +19,7 @@
package org.apache.fop.datatypes;
-import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
/**
@@ -130,13 +130,9 @@ public final class URISpecification {
//Note: this may not be accurate for some very special cases.
sb.append(ch);
} else {
- try {
- byte[] utf8 = Character.toString(ch).getBytes("UTF-8");
- for (byte anUtf8 : utf8) {
- appendEscape(sb, anUtf8);
- }
- } catch (UnsupportedEncodingException e) {
- throw new Error("Incompatible JVM. UTF-8 not supported.");
+ byte[] utf8 = Character.toString(ch).getBytes(StandardCharsets.UTF_8);
+ for (byte anUtf8 : utf8) {
+ appendEscape(sb, anUtf8);
}
}
}
diff --git a/fop-core/src/main/java/org/apache/fop/fonts/truetype/FontFileReader.java b/fop-core/src/main/java/org/apache/fop/fonts/truetype/FontFileReader.java
index 790e885bc..5e85e926a 100644
--- a/fop-core/src/main/java/org/apache/fop/fonts/truetype/FontFileReader.java
+++ b/fop-core/src/main/java/org/apache/fop/fonts/truetype/FontFileReader.java
@@ -21,6 +21,7 @@ package org.apache.fop.fonts.truetype;
import java.io.IOException;
import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
import org.apache.commons.io.IOUtils;
@@ -292,9 +293,8 @@ public class FontFileReader {
byte[] tmp = new byte[len];
System.arraycopy(file, current, tmp, 0, len);
current += len;
- final String encoding;
- encoding = "UTF-16BE"; //Use this for all known encoding IDs for now
- return new String(tmp, encoding);
+ //Use this for all known encoding IDs for now
+ return new String(tmp, StandardCharsets.UTF_16BE);
}
/**
diff --git a/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java b/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java
index 2ea2ed823..40185abed 100644
--- a/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java
+++ b/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java
@@ -24,6 +24,7 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Field;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -203,7 +204,7 @@ public class OTFSubSetFile extends OTFSubSetWriter {
writeBytes(cffReader.getHeader());
//Name Index
- writeIndex(Arrays.asList(embedFontName.getBytes("UTF-8")));
+ writeIndex(Arrays.asList(embedFontName.getBytes(StandardCharsets.UTF_8)));
Offsets offsets = new Offsets();
@@ -355,7 +356,7 @@ public class OTFSubSetFile extends OTFSubSetWriter {
int sidAStringIndex = stringIndexData.size() + 390;
int sidB = dictEntry.getOperands().get(1).intValue();
if (sidB > 390) {
- stringIndexData.add("Identity".getBytes("UTF-8"));
+ stringIndexData.add("Identity".getBytes(StandardCharsets.UTF_8));
}
int sidBStringIndex = stringIndexData.size() + 390;
byte[] cidEntryByteData = dictEntry.getByteData();
@@ -407,7 +408,7 @@ public class OTFSubSetFile extends OTFSubSetWriter {
if (index < cffReader.getStringIndex().getNumObjects()) {
byte[] value = cffReader.getStringIndex().getValue(index);
if (mbFont != null) {
- mbFont.mapUsedGlyphName(v, new String(value, "UTF-8"));
+ mbFont.mapUsedGlyphName(v, new String(value, StandardCharsets.UTF_8));
}
gidToSID.put(v, stringIndexData.size() + 391);
stringIndexData.add(value);
diff --git a/fop-core/src/main/java/org/apache/fop/fonts/truetype/SVGGlyphData.java b/fop-core/src/main/java/org/apache/fop/fonts/truetype/SVGGlyphData.java
index d018f5bf2..9bc248331 100644
--- a/fop-core/src/main/java/org/apache/fop/fonts/truetype/SVGGlyphData.java
+++ b/fop-core/src/main/java/org/apache/fop/fonts/truetype/SVGGlyphData.java
@@ -22,6 +22,7 @@ import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
+import java.nio.charset.StandardCharsets;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
@@ -54,7 +55,8 @@ public class SVGGlyphData {
public String getDataURL(int height) {
try {
String modifiedSVG = updateTransform(svg, height);
- return DataURLUtil.createDataURL(new ByteArrayInputStream(modifiedSVG.getBytes("UTF-8")), "image/svg");
+ return DataURLUtil.createDataURL(
+ new ByteArrayInputStream(modifiedSVG.getBytes(StandardCharsets.UTF_8)), "image/svg");
} catch (IOException | TransformerException | SAXException | ParserConfigurationException e) {
throw new RuntimeException(e);
}
diff --git a/fop-core/src/main/java/org/apache/fop/hyphenation/PatternParser.java b/fop-core/src/main/java/org/apache/fop/hyphenation/PatternParser.java
index 6bf3391e6..4a8a30086 100644
--- a/fop-core/src/main/java/org/apache/fop/hyphenation/PatternParser.java
+++ b/fop-core/src/main/java/org/apache/fop/hyphenation/PatternParser.java
@@ -26,6 +26,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
import java.net.MalformedURLException;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import javax.xml.parsers.SAXParserFactory;
@@ -489,7 +490,7 @@ public class PatternParser extends DefaultHandler implements PatternConsumer {
PrintStream p = null;
if (args.length > 1) {
FileOutputStream f = new FileOutputStream(args[1]);
- p = new PrintStream(f, false, "utf-8");
+ p = new PrintStream(f, false, StandardCharsets.UTF_8.name());
pp.setTestOut(p);
}
pp.parse(args[0]);
diff --git a/fop-core/src/main/java/org/apache/fop/pdf/PDFDocument.java b/fop-core/src/main/java/org/apache/fop/pdf/PDFDocument.java
index 7ebb0ffd6..c2080f0d0 100644
--- a/fop-core/src/main/java/org/apache/fop/pdf/PDFDocument.java
+++ b/fop-core/src/main/java/org/apache/fop/pdf/PDFDocument.java
@@ -23,6 +23,7 @@ package org.apache.fop.pdf;
import java.io.IOException;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
@@ -847,13 +848,13 @@ public class PDFDocument {
}
try {
MessageDigest md = MessageDigest.getInstance("MD5");
- byte[] thedigest = md.digest(key.getBytes("UTF-8"));
+ byte[] thedigest = md.digest(key.getBytes(StandardCharsets.UTF_8));
StringBuilder hex = new StringBuilder();
for (byte b : thedigest) {
hex.append(String.format("%02x", b));
}
return hex.toString();
- } catch (NoSuchAlgorithmException | UnsupportedEncodingException e) {
+ } catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e);
}
}
diff --git a/fop-core/src/main/java/org/apache/fop/pdf/PDFEncryptionJCE.java b/fop-core/src/main/java/org/apache/fop/pdf/PDFEncryptionJCE.java
index edebbb23a..7517646e5 100644
--- a/fop-core/src/main/java/org/apache/fop/pdf/PDFEncryptionJCE.java
+++ b/fop-core/src/main/java/org/apache/fop/pdf/PDFEncryptionJCE.java
@@ -21,7 +21,7 @@ package org.apache.fop.pdf;
import java.io.IOException;
import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
import java.security.MessageDigest;
@@ -332,19 +332,15 @@ public final class PDFEncryptionJCE extends PDFObject implements PDFEncryption {
protected byte[] preparePassword(String password) {
int finalLength = 32;
byte[] preparedPassword = new byte[finalLength];
- try {
- byte[] passwordBytes = password.getBytes("UTF-8");
- if (passwordBytes.length >= finalLength) {
- System.arraycopy(passwordBytes, 0, preparedPassword, 0, finalLength);
- } else {
- System.arraycopy(passwordBytes, 0, preparedPassword, 0, passwordBytes.length);
- System.arraycopy(padding, 0, preparedPassword, passwordBytes.length, finalLength
- - passwordBytes.length);
- }
- return preparedPassword;
- } catch (UnsupportedEncodingException e) {
- throw new UnsupportedOperationException(e);
+ byte[] passwordBytes = password.getBytes(StandardCharsets.UTF_8);
+ if (passwordBytes.length >= finalLength) {
+ System.arraycopy(passwordBytes, 0, preparedPassword, 0, finalLength);
+ } else {
+ System.arraycopy(passwordBytes, 0, preparedPassword, 0, passwordBytes.length);
+ System.arraycopy(padding, 0, preparedPassword, passwordBytes.length, finalLength
+ - passwordBytes.length);
}
+ return preparedPassword;
}
void run() {
@@ -548,20 +544,16 @@ public final class PDFEncryptionJCE extends PDFObject implements PDFEncryption {
protected byte[] preparePassword(String password) {
byte[] passwordBytes;
byte[] preparedPassword;
- try {
- // the password needs to be normalized first but we are bypassing that step for now
- passwordBytes = password.getBytes("UTF-8");
- if (passwordBytes.length > 127) {
- preparedPassword = new byte[127];
- System.arraycopy(passwordBytes, 0, preparedPassword, 0, 127);
- } else {
- preparedPassword = new byte[passwordBytes.length];
- System.arraycopy(passwordBytes, 0, preparedPassword, 0, passwordBytes.length);
- }
- return preparedPassword;
- } catch (UnsupportedEncodingException e) {
- throw new UnsupportedOperationException(e.getMessage());
+ // the password needs to be normalized first but we are bypassing that step for now
+ passwordBytes = password.getBytes(StandardCharsets.UTF_8);
+ if (passwordBytes.length > 127) {
+ preparedPassword = new byte[127];
+ System.arraycopy(passwordBytes, 0, preparedPassword, 0, 127);
+ } else {
+ preparedPassword = new byte[passwordBytes.length];
+ System.arraycopy(passwordBytes, 0, preparedPassword, 0, passwordBytes.length);
}
+ return preparedPassword;
}
/**
diff --git a/fop-core/src/main/java/org/apache/fop/pdf/PDFLinearization.java b/fop-core/src/main/java/org/apache/fop/pdf/PDFLinearization.java
index f071c6250..dc294b307 100644
--- a/fop-core/src/main/java/org/apache/fop/pdf/PDFLinearization.java
+++ b/fop-core/src/main/java/org/apache/fop/pdf/PDFLinearization.java
@@ -21,6 +21,7 @@ package org.apache.fop.pdf;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
@@ -312,7 +313,7 @@ public class PDFLinearization {
private static void writePadding(int padding, OutputStream stream) throws IOException {
for (int i = 0; i < padding; i++) {
- stream.write(" ".getBytes("UTF-8"));
+ stream.write(" ".getBytes(StandardCharsets.UTF_8));
}
}
diff --git a/fop-core/src/main/java/org/apache/fop/pdf/PDFSignature.java b/fop-core/src/main/java/org/apache/fop/pdf/PDFSignature.java
index f5384be53..bdcc07bc0 100644
--- a/fop-core/src/main/java/org/apache/fop/pdf/PDFSignature.java
+++ b/fop-core/src/main/java/org/apache/fop/pdf/PDFSignature.java
@@ -25,6 +25,7 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.net.URI;
import java.net.URISyntaxException;
+import java.nio.charset.StandardCharsets;
import java.security.GeneralSecurityException;
import java.security.KeyStore;
import java.security.PrivateKey;
@@ -208,8 +209,8 @@ public class PDFSignature {
.replace("\0", " ");
try (OutputStream editedPDF = getTempOS()) {
IOUtils.copyLarge(pdfIS, editedPDF, 0, startOfContents);
- editedPDF.write(byteRange.getBytes("UTF-8"));
- editedPDF.write(byteRangePadding.getBytes("UTF-8"));
+ editedPDF.write(byteRange.getBytes(StandardCharsets.UTF_8));
+ editedPDF.write(byteRangePadding.getBytes(StandardCharsets.UTF_8));
IOUtils.copyLarge(pdfIS, editedPDF, offsetToPDFEnd - startOfContents, Long.MAX_VALUE);
}
pdfIS.reset();
@@ -219,10 +220,10 @@ public class PDFSignature {
String signedHexPadding = new String(new char[SIZE_OF_CONTENTS - (signed.length * 2)])
.replace("\0", "0");
String signedHex = "<" + PDFText.toHex(signed, false) + signedHexPadding + ">";
- os.write(signedHex.getBytes("UTF-8"));
+ os.write(signedHex.getBytes(StandardCharsets.UTF_8));
}
- os.write(byteRange.getBytes("UTF-8"));
- os.write(byteRangePadding.getBytes("UTF-8"));
+ os.write(byteRange.getBytes(StandardCharsets.UTF_8));
+ os.write(byteRangePadding.getBytes(StandardCharsets.UTF_8));
IOUtils.copyLarge(pdfIS, os, offsetToPDFEnd - startOfContents, Long.MAX_VALUE);
}
}
diff --git a/fop-core/src/main/java/org/apache/fop/pdf/PDFText.java b/fop-core/src/main/java/org/apache/fop/pdf/PDFText.java
index 749bf5a30..d088f355f 100644
--- a/fop-core/src/main/java/org/apache/fop/pdf/PDFText.java
+++ b/fop-core/src/main/java/org/apache/fop/pdf/PDFText.java
@@ -21,6 +21,7 @@ package org.apache.fop.pdf;
import java.io.ByteArrayOutputStream;
+import java.nio.charset.StandardCharsets;
import java.util.Locale;
import org.apache.fop.util.CharUtilities;
@@ -99,12 +100,7 @@ public class PDFText extends PDFObject {
}
if (hexMode) {
- final byte[] uniBytes;
- try {
- uniBytes = text.getBytes("UTF-16");
- } catch (java.io.UnsupportedEncodingException uee) {
- throw new RuntimeException("Incompatible VM", uee);
- }
+ final byte[] uniBytes = text.getBytes(StandardCharsets.UTF_16);
return toHex(uniBytes);
} else {
final StringBuffer result = new StringBuffer(text.length() * 2);
@@ -192,13 +188,8 @@ public class PDFText extends PDFObject {
*/
public static final String toUnicodeHex(char c) {
final StringBuffer buf = new StringBuffer(4);
- final byte[] uniBytes;
- try {
- final char[] a = {c};
- uniBytes = new String(a).getBytes("UTF-16BE");
- } catch (java.io.UnsupportedEncodingException uee) {
- throw new RuntimeException("Incompatible VM", uee);
- }
+ final char[] a = {c};
+ final byte[] uniBytes = new String(a).getBytes(StandardCharsets.UTF_16BE);
for (byte uniByte : uniBytes) {
buf.append(DIGITS[(uniByte >>> 4) & 0x0F]);
diff --git a/fop-core/src/main/java/org/apache/fop/render/txt/TXTStream.java b/fop-core/src/main/java/org/apache/fop/render/txt/TXTStream.java
index 44a237b34..85639e29c 100644
--- a/fop-core/src/main/java/org/apache/fop/render/txt/TXTStream.java
+++ b/fop-core/src/main/java/org/apache/fop/render/txt/TXTStream.java
@@ -21,13 +21,14 @@ package org.apache.fop.render.txt;
import java.io.IOException;
import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
/**
* Helper class for text streams.
*/
public class TXTStream {
- private static final String DEFAULT_ENCODING = "UTF-8";
+ private static final String DEFAULT_ENCODING = StandardCharsets.UTF_8.name();
private OutputStream out;
private boolean doOutput = true;
@@ -68,7 +69,7 @@ public class TXTStream {
/**
* Set the encoding for the text stream.
- * @param encoding the encoding, if null, "UTF-8" is chosen as default
+ * @param encoding the encoding, if null, StandardCharsets.UTF_8 is chosen as default
*/
public void setEncoding(String encoding) {
if (encoding != null) {
diff --git a/fop-core/src/main/java/org/apache/fop/render/txt/TxtRendererConfig.java b/fop-core/src/main/java/org/apache/fop/render/txt/TxtRendererConfig.java
index 76128d42b..a8afffc06 100644
--- a/fop-core/src/main/java/org/apache/fop/render/txt/TxtRendererConfig.java
+++ b/fop-core/src/main/java/org/apache/fop/render/txt/TxtRendererConfig.java
@@ -19,6 +19,7 @@
package org.apache.fop.render.txt;
+import java.nio.charset.StandardCharsets;
import java.util.EnumMap;
import org.apache.fop.apps.FOPException;
@@ -37,7 +38,7 @@ import org.apache.fop.render.RendererConfigOption;
public final class TxtRendererConfig implements RendererConfig {
public enum TxtRendererOption implements RendererConfigOption {
- ENCODING("encoding", "UTF-8");
+ ENCODING("encoding", StandardCharsets.UTF_8.name());
private final String name;
private final Object defaultValue;
diff --git a/fop-core/src/test/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverterTestCase.java b/fop-core/src/test/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverterTestCase.java
index 57443e15d..e604e5619 100644
--- a/fop-core/src/test/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverterTestCase.java
+++ b/fop-core/src/test/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverterTestCase.java
@@ -26,6 +26,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.StringWriter;
+import java.nio.charset.StandardCharsets;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
@@ -183,7 +184,8 @@ public class FO2StructureTreeConverterTestCase {
@Test
public void testRemoveTableHeader() throws Exception {
keepEmptyTags = false;
- String fo = IOUtils.toString(getResource("table-artifact.fo"), "utf8").replace("role=\"artifact\"", "");
+ String fo = IOUtils.toString(getResource("table-artifact.fo"), StandardCharsets.UTF_8)
+ .replace("role=\"artifact\"", "");
compare(fo, "<structure-tree-sequence>\n"
+ "<structure-tree xmlns=\"http://xmlgraphics.apache.org/fop/intermediate\" "
+ "xmlns:foi=\"http://xmlgraphics.apache.org/fop/internal\" "
diff --git a/fop-core/src/test/java/org/apache/fop/afp/fonts/OutlineFontTestCase.java b/fop-core/src/test/java/org/apache/fop/afp/fonts/OutlineFontTestCase.java
index f4c64d9f0..3c696164f 100644
--- a/fop-core/src/test/java/org/apache/fop/afp/fonts/OutlineFontTestCase.java
+++ b/fop-core/src/test/java/org/apache/fop/afp/fonts/OutlineFontTestCase.java
@@ -18,6 +18,8 @@
/* $Id$ */
package org.apache.fop.afp.fonts;
+import java.nio.charset.StandardCharsets;
+
import org.junit.Assert;
import org.junit.Test;
@@ -33,7 +35,8 @@ public class OutlineFontTestCase {
}
public static CharacterSet getCharacterSet() {
- CharacterSet characterSet = new CharacterSet("00000000", "utf-8", CharacterSetType.SINGLE_BYTE, "", null, null);
+ CharacterSet characterSet = new CharacterSet("00000000", StandardCharsets.UTF_8.name(),
+ CharacterSetType.SINGLE_BYTE, "", null, null);
characterSet.addCharacterSetOrientation(new CharacterSetOrientation(0, 0, 0, 0));
return characterSet;
}
diff --git a/fop-core/src/test/java/org/apache/fop/apps/FopConfBuilder.java b/fop-core/src/test/java/org/apache/fop/apps/FopConfBuilder.java
index e99a83260..c337aa715 100644
--- a/fop-core/src/test/java/org/apache/fop/apps/FopConfBuilder.java
+++ b/fop-core/src/test/java/org/apache/fop/apps/FopConfBuilder.java
@@ -24,8 +24,8 @@ import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
-import java.io.UnsupportedEncodingException;
import java.lang.reflect.InvocationTargetException;
+import java.nio.charset.StandardCharsets;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
@@ -309,13 +309,11 @@ public class FopConfBuilder implements FontConfigurator<FopConfBuilder> {
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no");
transformer.setOutputProperty(OutputKeys.METHOD, "xml");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
- transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
+ transformer.setOutputProperty(OutputKeys.ENCODING, StandardCharsets.UTF_8.name());
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
try {
transformer.transform(new DOMSource(fopConfDOM),
- new StreamResult(new OutputStreamWriter(out, "UTF-8")));
- } catch (UnsupportedEncodingException e) {
- throw new RuntimeException(e);
+ new StreamResult(new OutputStreamWriter(out, StandardCharsets.UTF_8)));
} catch (TransformerException e) {
throw new RuntimeException(e);
}
diff --git a/fop-core/src/test/java/org/apache/fop/complexscripts/scripts/arabic/GenerateArabicTestData.java b/fop-core/src/test/java/org/apache/fop/complexscripts/scripts/arabic/GenerateArabicTestData.java
index 9c2cd78e0..837ad8025 100644
--- a/fop-core/src/test/java/org/apache/fop/complexscripts/scripts/arabic/GenerateArabicTestData.java
+++ b/fop-core/src/test/java/org/apache/fop/complexscripts/scripts/arabic/GenerateArabicTestData.java
@@ -28,7 +28,7 @@ import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.io.ObjectOutputStream;
import java.nio.IntBuffer;
-import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
@@ -104,7 +104,7 @@ public final class GenerateArabicTestData implements ArabicWordFormsConstants {
FileInputStream fis = null;
try {
fis = new FileInputStream(spn);
- LineNumberReader lr = new LineNumberReader(new InputStreamReader(fis, Charset.forName("UTF-8")));
+ LineNumberReader lr = new LineNumberReader(new InputStreamReader(fis, StandardCharsets.UTF_8));
String wf;
while ((wf = lr.readLine()) != null) {
GlyphSequence igs = tf.mapCharsToGlyphs(wf);
diff --git a/fop-core/src/test/java/org/apache/fop/pdf/PDFEncryptionJCETestCase.java b/fop-core/src/test/java/org/apache/fop/pdf/PDFEncryptionJCETestCase.java
index 18d15c384..d3345a893 100644
--- a/fop-core/src/test/java/org/apache/fop/pdf/PDFEncryptionJCETestCase.java
+++ b/fop-core/src/test/java/org/apache/fop/pdf/PDFEncryptionJCETestCase.java
@@ -22,6 +22,7 @@ package org.apache.fop.pdf;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
import java.security.MessageDigest;
@@ -460,7 +461,7 @@ public class PDFEncryptionJCETestCase {
IllegalBlockSizeException, BadPaddingException {
MessageDigest sha256 = MessageDigest.getInstance("SHA-256");
String dataText = "Test data to encrypt.";
- byte[] data = dataText.getBytes("UTF-8");
+ byte[] data = dataText.getBytes(StandardCharsets.UTF_8);
PDFEncryptionParams params = new PDFEncryptionParams();
params.setEncryptionLengthInBits(256);
params.setUserPassword("userpassword");
@@ -486,7 +487,7 @@ public class PDFEncryptionJCETestCase {
byte[] userKeySalt = new byte[8];
System.arraycopy(u, 32, userValSalt, 0, 8);
System.arraycopy(u, 40, userKeySalt, 0, 8);
- byte[] uPassBytes = params.getUserPassword().getBytes("UTF-8");
+ byte[] uPassBytes = params.getUserPassword().getBytes(StandardCharsets.UTF_8);
byte[] testUPass = new byte[uPassBytes.length + 8];
System.arraycopy(uPassBytes, 0, testUPass, 0, uPassBytes.length);
System.arraycopy(userValSalt, 0, testUPass, uPassBytes.length, 8);
@@ -501,7 +502,7 @@ public class PDFEncryptionJCETestCase {
byte[] ownerKeySalt = new byte[8];
System.arraycopy(o, 32, ownerValSalt, 0, 8);
System.arraycopy(o, 40, ownerKeySalt, 0, 8);
- byte[] oPassBytes = params.getOwnerPassword().getBytes("UTF-8");
+ byte[] oPassBytes = params.getOwnerPassword().getBytes(StandardCharsets.UTF_8);
byte[] testOPass = new byte[oPassBytes.length + 8 + 48];
System.arraycopy(oPassBytes, 0, testOPass, 0, oPassBytes.length);
System.arraycopy(ownerValSalt, 0, testOPass, oPassBytes.length, 8);
diff --git a/fop-core/src/test/java/org/apache/fop/pdf/PDFStructureTreeTestCase.java b/fop-core/src/test/java/org/apache/fop/pdf/PDFStructureTreeTestCase.java
index d66159fd2..27b0bea12 100644
--- a/fop-core/src/test/java/org/apache/fop/pdf/PDFStructureTreeTestCase.java
+++ b/fop-core/src/test/java/org/apache/fop/pdf/PDFStructureTreeTestCase.java
@@ -21,7 +21,7 @@ package org.apache.fop.pdf;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
-import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
@@ -79,14 +79,14 @@ public class PDFStructureTreeTestCase {
}
private ByteArrayOutputStream foToOutput(String fo)
- throws IOException, SAXException, TransformerException {
+ throws SAXException, TransformerException {
FopFactory fopFactory = FopFactory.newInstance(new File(".").toURI());
FOUserAgent userAgent = fopFactory.newFOUserAgent();
userAgent.setAccessibility(true);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, userAgent, bos);
Transformer transformer = TransformerFactory.newInstance().newTransformer();
- Source src = new StreamSource(new ByteArrayInputStream(fo.getBytes("UTF-8")));
+ Source src = new StreamSource(new ByteArrayInputStream(fo.getBytes(StandardCharsets.UTF_8)));
Result res = new SAXResult(fop.getDefaultHandler());
transformer.transform(src, res);
return bos;
diff --git a/fop-core/src/test/java/org/apache/fop/render/afp/AFPParser.java b/fop-core/src/test/java/org/apache/fop/render/afp/AFPParser.java
index e3705271a..747a88ea5 100644
--- a/fop-core/src/test/java/org/apache/fop/render/afp/AFPParser.java
+++ b/fop-core/src/test/java/org/apache/fop/render/afp/AFPParser.java
@@ -21,6 +21,7 @@ package org.apache.fop.render.afp;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
@@ -90,7 +91,7 @@ public class AFPParser {
} else if ("TRN".equals(PTOCA_MAP.get(functionType))) {
byte[] data = new byte[len - 2];
bis.read(data);
- sb.append(" " + new String(data, "UTF-16BE"));
+ sb.append(" " + new String(data, StandardCharsets.UTF_16BE));
} else {
bis.skip(len - 2);
}
diff --git a/fop-core/src/test/java/org/apache/fop/render/ps/ImageHandlingTestCase.java b/fop-core/src/test/java/org/apache/fop/render/ps/ImageHandlingTestCase.java
index c8baf8ad7..b702e1264 100644
--- a/fop-core/src/test/java/org/apache/fop/render/ps/ImageHandlingTestCase.java
+++ b/fop-core/src/test/java/org/apache/fop/render/ps/ImageHandlingTestCase.java
@@ -24,6 +24,7 @@ import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
import org.junit.Test;
@@ -184,7 +185,7 @@ public class ImageHandlingTestCase extends AbstractPostScriptTest {
+ "rotate=\"30 30 0 15\">Hello SVG with FOP</text>\n"
+ "</svg>";
SAXSVGDocumentFactory factory = new SAXSVGDocumentFactory(null);
- Document doc = factory.createDocument(null, IOUtils.toInputStream(svg, "utf-8"));
+ Document doc = factory.createDocument(null, IOUtils.toInputStream(svg, StandardCharsets.UTF_8));
ByteArrayOutputStream bos = new ByteArrayOutputStream();
new PSImageHandlerSVG().handleImage(
new PSRenderingContext(ua, new PSGenerator(bos), new FontInfo()),
diff --git a/fop-core/src/test/java/org/apache/fop/render/ps/svg/GradientTestCase.java b/fop-core/src/test/java/org/apache/fop/render/ps/svg/GradientTestCase.java
index 80e40dbfd..1b7ad1962 100644
--- a/fop-core/src/test/java/org/apache/fop/render/ps/svg/GradientTestCase.java
+++ b/fop-core/src/test/java/org/apache/fop/render/ps/svg/GradientTestCase.java
@@ -22,6 +22,7 @@ package org.apache.fop.render.ps.svg;
import java.awt.Color;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import org.junit.Test;
@@ -68,7 +69,8 @@ public class GradientTestCase {
svgGraphics2D.setGraphicContext(new GraphicContext());
svgGraphics2D.translate(100, 100);
svgGraphics2D.applyPaint(gradient, true);
- String expected = IOUtils.toString(getClass().getResourceAsStream(expectedResourceName), "utf-8");
+ String expected = IOUtils.toString(
+ getClass().getResourceAsStream(expectedResourceName), StandardCharsets.UTF_8);
assertEquals(expected.replace("\r", ""), out.toString());
}
diff --git a/fop-sandbox/src/main/java/org/apache/fop/render/svg/SVGRenderer.java b/fop-sandbox/src/main/java/org/apache/fop/render/svg/SVGRenderer.java
index 9cbc1662d..9800eb766 100644
--- a/fop-sandbox/src/main/java/org/apache/fop/render/svg/SVGRenderer.java
+++ b/fop-sandbox/src/main/java/org/apache/fop/render/svg/SVGRenderer.java
@@ -25,6 +25,7 @@ import java.awt.geom.Rectangle2D;
import java.io.IOException;
import java.io.OutputStream;
import java.io.Writer;
+import java.nio.charset.StandardCharsets;
import org.w3c.dom.DOMImplementation;
import org.w3c.dom.Document;
@@ -148,7 +149,7 @@ public class SVGRenderer extends Java2DRenderer {
return;
}
try {
- Writer writer = new java.io.OutputStreamWriter(out, "UTF-8");
+ Writer writer = new java.io.OutputStreamWriter(out, StandardCharsets.UTF_8.name());
this.svgGenerator.stream(writer, useCSS);
} finally {
if (out != this.firstOutputStream) {