diff --git a/make/data/charsetmapping/charsets b/make/data/charsetmapping/charsets index ba4a8ea8ed57f8d004c40a08387b77573b35e33f..7c946298e47d5a4862f1750e9c4528a48b8e21c8 100644 --- a/make/data/charsetmapping/charsets +++ b/make/data/charsetmapping/charsets @@ -1,5 +1,5 @@ # -# Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -282,6 +282,7 @@ charset ISO-8859-16 ISO_8859_16 alias iso-ir-226 alias ISO_8859-16:2001 alias ISO_8859-16 + alias ISO8859_16 alias latin10 alias l10 alias csISO885916 @@ -702,7 +703,7 @@ charset x-euc-jp-linux EUC_JP_LINUX charset x-eucJP-Open EUC_JP_Open package sun.nio.cs.ext type template - hisname EUC_JP_Solari + hisname EUC_JP_Solaris ascii true alias EUC_JP_Solaris # JDK historical alias eucJP-open @@ -1396,7 +1397,7 @@ charset x-IBM833 IBM833 charset x-IBM834 IBM834 # EBCDIC DBCS-only Korean package sun.nio.cs.ext - type source + type template alias cp834 alias ibm834 alias 834 @@ -1490,7 +1491,7 @@ charset x-IBM949 IBM949 charset x-IBM949C IBM949C package sun.nio.cs.ext - type source + type template alias cp949C # JDK historical alias ibm949C alias ibm-949C diff --git a/src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM834.java b/src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM834.java.template similarity index 95% rename from src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM834.java rename to src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM834.java.template index aeb4dedfdd682f0dc82f03add88ca7bf35854ad9..4d3f4b1421f16bc0696ad47577375fd3d017aa9a 100644 --- a/src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM834.java +++ b/src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM834.java.template @@ -1,6 +1,6 @@ /* - * Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2006, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -27,7 +27,7 @@ /* */ -package sun.nio.cs.ext; +package $PACKAGE$; import java.nio.ByteBuffer; import java.nio.charset.Charset; @@ -41,7 +41,7 @@ import static sun.nio.cs.CharsetMapping.*; public class IBM834 extends Charset { public IBM834() { - super("x-IBM834", ExtendedCharsets.aliasesFor("x-IBM834")); + super("x-IBM834", $ALIASES$); } public boolean contains(Charset cs) { diff --git a/src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM949C.java b/src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM949C.java.template similarity index 94% rename from src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM949C.java rename to src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM949C.java.template index 194b56719fd93adadaa6edb4d64eb136813a7c0a..d930cb11c4b9049e6ccbe10517d640309e299ff1 100644 --- a/src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM949C.java +++ b/src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM949C.java.template @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,7 +23,7 @@ * questions. */ -package sun.nio.cs.ext; +package $PACKAGE$; import java.nio.charset.Charset; import java.nio.charset.CharsetDecoder; @@ -36,7 +36,7 @@ public class IBM949C extends Charset implements HistoricallyNamedCharset { public IBM949C() { - super("x-IBM949C", ExtendedCharsets.aliasesFor("x-IBM949C")); + super("x-IBM949C", $ALIASES$); } public String historicalName() { diff --git a/test/jdk/java/nio/charset/Charset/RegisteredCharsets.java b/test/jdk/java/nio/charset/Charset/RegisteredCharsets.java index f0fe2d4e5e430e0be97f947c6e06ae658c11ab2e..25e8f287e1c04396e7e98815ec8c24718a7c7f92 100644 --- a/test/jdk/java/nio/charset/Charset/RegisteredCharsets.java +++ b/test/jdk/java/nio/charset/Charset/RegisteredCharsets.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,7 +23,7 @@ /* @test * @bug 4473201 4696726 4652234 4482298 4784385 4966197 4267354 5015668 - 6911753 8071447 8186751 + 6911753 8071447 8186751 8242541 * @summary Check that registered charsets are actually registered * @modules jdk.charsets */ @@ -443,6 +443,7 @@ public class RegisteredCharsets { "iso-ir-226", "ISO_8859-16:2001", "ISO_8859-16", + "ISO8859_16", "latin10", "l10", "csISO885916" diff --git a/test/jdk/sun/nio/cs/CheckHistoricalNames.java b/test/jdk/sun/nio/cs/CheckHistoricalNames.java index 884e460fa23c15495f8f9d90ce3850f18f83e2bb..1d7b0f0cb5db55b40d425240f226537055979143 100644 --- a/test/jdk/sun/nio/cs/CheckHistoricalNames.java +++ b/test/jdk/sun/nio/cs/CheckHistoricalNames.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2008, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -22,12 +22,14 @@ */ /* @test - * @bug 4513767 4961027 6217210 + * @bug 4513767 4961027 6217210 8242541 * @summary Checks canonical names match between old and (NIO) core charsets * @modules jdk.charsets */ import java.io.InputStreamReader; import java.io.IOException; +import java.nio.charset.Charset; +import java.nio.charset.UnsupportedCharsetException; public class CheckHistoricalNames { static int failed = 0; @@ -294,6 +296,7 @@ public class CheckHistoricalNames { checkMappedName("x-MacThai", "MacThai"); checkMappedName("x-MacTurkish", "MacTurkish"); checkMappedName("x-MacUkraine", "MacUkraine"); + checkCharsetAndHistoricalName(); if (failed != 0) throw new Exception("Test Failed: " + failed); @@ -315,4 +318,24 @@ public class CheckHistoricalNames { failed++; } } + + private static void checkCharsetAndHistoricalName() { + for (Charset cs : Charset.availableCharsets().values()) { + InputStreamReader isr = new InputStreamReader(System.in, cs); + String encoding = isr.getEncoding(); + try { + Charset csHist = Charset.forName(encoding); + if (!cs.equals(csHist)) { + System.out.println("Failed charset name" + + " - expected " + cs.name() + + ", got " + csHist.name()); + failed++; + } + } catch (UnsupportedCharsetException uce) { + System.out.println("Failed : charset - " + cs.name() + + ", missing alias entry - " + encoding); + failed++; + } + } + } }