And the last problem is:
import java.text.DateFormat;
import java.util.Calendar;
import java.util.Locale;
public class Java13Regression3
{
public static void main(String[] args)
{
final Locale DUTCH_LOCALE = new Locale("nl", "NL");
Calendar cal = Calendar.getInstance(DUTCH_LOCALE);
cal.clear();
cal.set(2011, Calendar.MAY, 1);
final DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.SHORT,
DUTCH_LOCALE);
final String formatted = dateFormat.format(cal.getTime());
// prints true for Java 13 build 18 and earlier (Java 12, 11, ...)
// But prints false for Java 13 build 23
System.out.println("Expected: " + "01-05-11".equals(formatted));
}
}
Regards,
Martin
On Mon, Jun 3, 2019 at 8:50 PM Martin Grigorov <[email protected]> wrote:
> And here is the second problem:
>
>
> import java.text.DecimalFormat;
> import java.text.NumberFormat;
> import java.util.Locale;
>
> /**
> *
> */
> public class Java13Regression2
> {
>
> public static void main(String[] args)
> {
> final NumberFormat numberFormat =
> NumberFormat.getCurrencyInstance(Locale.FRENCH);
> ((DecimalFormat)numberFormat).setParseBigDecimal(true);
> // \u00A0 = nbsp
> // \u00A4 = currency symbol (unspecified currency)
> String expected = "1\u00A0234,00\u00A0\u00A4";
> final String formatted = numberFormat.format(1234f);
>
> // prints true for Java 13 build 18 and earlier (Java 12, 11, ...)
> // But prints false for Java 13 build 23
> System.out.println("Expected: " + expected.equals(formatted));
> }
> }
>
> Regards,
> Martin
>
> On Mon, Jun 3, 2019 at 8:41 PM Martin Grigorov <[email protected]>
> wrote:
>
>> Hi Dalibor,
>>
>> I do not see a "Register" link at
>> https://bugs.openjdk.java.net/secure/Dashboard.jspa. Is this the correct
>> JIRA to report the problem ?
>>
>> Here is the code snippet that reproduces the problem:
>>
>> public class Java13Regression1
>> {
>> public static void main(String[] args)
>> {
>> NumberFormat numberFormat = NumberFormat.getInstance(Locale.FRENCH);
>> ((DecimalFormat) numberFormat).setParseBigDecimal(true);
>> final ParsePosition position = new ParsePosition(0);
>>
>> // Convert spaces to no-break space (U+00A0) as required by Java
>> formats:
>> // http://bugs.sun.com/view_bug.do?bug_id=4510618
>> String value = "3 000".replaceAll("(\\d+)\\s(?=\\d)", "$1\u00A0");
>> // this causes the problem
>>
>> numberFormat.parseObject(value, position);
>>
>> // prints 5 for Java 13 build 18 and earlier (Java 12, 11, ...)
>> // But prints 1 for Java 13 build 23
>> System.err.println("Position index: " + position.getIndex());
>> }
>>
>> }
>>
>> Regards,
>> Martin
>>
>> On Mon, Jun 3, 2019 at 3:38 PM Dalibor Topic <[email protected]>
>> wrote:
>>
>>> Hi,
>>>
>>> this might be a side effect of the update to CLDR 35.1.
>>>
>>> I don't see anything related in JBS about currency or decimal formatting
>>> issues introduced in JDK 13, so I think a bug report would be great.
>>>
>>> cheers,
>>> dalibor topic
>>>
>>> On 01.06.2019 17:28, Martin Grigorov wrote:
>>> > Hi Rory,
>>> >
>>> > There are several test failures in Wicket due to some change in the
>>> > Decimal and Currency formatting/pasrsing:
>>> >
>>> > cat
>>> >
>>> wicket-util/target/surefire-reports/org.apache.wicket.util.convert.converters.ConvertersTest.txt
>>>
>>> >
>>> > master … 2 ⚑ 9
>>> >
>>> ───────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
>>> > │ File:
>>> >
>>> target/surefire-reports/org.apache.wicket.util.convert.converters.ConvertersTest.txt
>>> >
>>> ───────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
>>> > 1 │
>>> >
>>> -------------------------------------------------------------------------------
>>> > 2 │ Test set:
>>> org.apache.wicket.util.convert.converters.ConvertersTest
>>> > 3 │
>>> >
>>> -------------------------------------------------------------------------------
>>> > 4 │ Tests run: 42, Failures: 3, Errors: 1, Skipped: 0, Time
>>> > elapsed: 0.076 s <<< FAILURE! - in
>>> > org.apache.wicket.util.convert.converters.ConvertersTest
>>> > 5 │ thousandSeperatorWithCurrency Time elapsed: 0.011 s <<<
>>> FAILURE!
>>> > 6 │ org.opentest4j.AssertionFailedError: expected: <1 234,00 ¤>
>>> > but was: <1 234,00 ¤>
>>> > 7 │ at
>>> >
>>> org.apache.wicket.util.convert.converters.ConvertersTest.thousandSeperatorWithCurrency(ConvertersTest.java:84)
>>> > 8 │
>>> > 9 │ thousandSeperator Time elapsed: 0.002 s <<< ERROR!
>>> > 10 │ org.apache.wicket.util.convert.ConversionException: Cannot
>>> > parse '3 000' using format java.text.DecimalFormat@674dc
>>> > 11 │ at
>>> >
>>> org.apache.wicket.util.convert.converters.ConvertersTest.thousandSeperator(ConvertersTest.java:57)
>>> > 12 │
>>> > 13 │ calendarConverter Time elapsed: 0.017 s <<< FAILURE!
>>> > 14 │ org.opentest4j.AssertionFailedError: expected: <01-05-11>
>>> but
>>> > was: <01-05-2011>
>>> > 15 │ at
>>> >
>>> org.apache.wicket.util.convert.converters.ConvertersTest.calendarConverter(ConvertersTest.java:434)
>>> > 16 │
>>> > 17 │ validDateConverters Time elapsed: 0.001 s <<< FAILURE!
>>> > 18 │ org.opentest4j.AssertionFailedError: expected: <24-10-02>
>>> but
>>> > was: <24-10-2002>
>>> > 19 │ at
>>> >
>>> org.apache.wicket.util.convert.converters.ConvertersTest.validDateConverters(ConvertersTest.java:400)
>>> >
>>> > This test was fine with the previous build of 13 and is also OK with
>>> > Java 11 and 12.
>>> > Please let me know if this is not reported yet and I will try to
>>> prepare
>>> > plain Java test (without Wicket) that reproduces the issue!
>>> >
>>> > Regards,
>>> > Martin
>>> >
>>> > On Fri, May 31, 2019 at 10:25 AM Rory O'Donnell
>>> > <[email protected] <mailto:[email protected]>> wrote:
>>> >
>>> > Hi Martin,
>>> >
>>> >
>>> > *OpenJDK builds *- JDK 13 - Early Access build 23 is
>>> available at
>>> > http://jdk.java.net/13/
>>> >
>>> > * These early-access , open-source builds are provided under the
>>> > o GNU General Public License, version 2, with the Classpath
>>> > Exception <http://openjdk.java.net/legal/gplv2+ce.html>.
>>> > * Changes in this build
>>> >
>>> > <
>>> http://hg.openjdk.java.net/jdk/jdk/log?rev=reverse%28%22jdk-13%2B22%22%3A%3A%22jdk-13%2B23%22-%22jdk-13%2B22%22%29&revcount=1000
>>> >
>>> >
>>> > * Release notes [1]
>>> >
>>> >
>>> > *Significant changes since the last availability email*
>>> >
>>> > * build 23
>>> > o Support for Unicode 12.1 (JDK-8221431
>>> > <https://bugs.openjdk.java.net/browse/JDK-8221431>)
>>> > o Add new keytool -showinfo -tls command for displaying TLS
>>> > configuration information (JDK-8219861
>>> > <https://bugs.openjdk.java.net/browse/JDK-8219861>)
>>> > * build 22
>>> > o New methods for creating DOM and SAX factories with
>>> Namespace
>>> > support (JDK-8219692
>>> > <https://bugs.openjdk.java.net/browse/JDK-8219692>)
>>> > o Removal of two DocuSign root CA certificates (JDK-8223499
>>> > <https://bugs.openjdk.java.net/browse/JDK-8223499>)
>>> > * build 21
>>> > o JDWP support for IPv6 (JDK-8184770
>>> > <https://bugs.openjdk.java.net/browse/JDK-8184770>)
>>> > o Change the mechanism by which JDK loads the
>>> platform-specific
>>> > AWT Toolkit (JDK-8212700
>>> > <https://bugs.openjdk.java.net/browse/JDK-8212700>)
>>> > o Upgrade CLDR to Version 35.1 (JDK-8221432
>>> > <https://bugs.openjdk.java.net/browse/JDK-8221432>)
>>> > o xConfigurable Read Timeout for CRLs (JDK-8191808
>>> > <https://bugs.openjdk.java.net/browse/JDK-8191808>)
>>> > o Removal of two Comodo root CA certificates (JDK-8222136
>>> > <https://bugs.openjdk.java.net/browse/JDK-8222136>)
>>> >
>>> >
>>> > Bug fixes for issues reported by Open Source Projects
>>> >
>>> > * build 22
>>> > o OutOfMemory on compiling with darcula.jar in classpath
>>> > (JDK-8222807
>>> > <https://bugs.openjdk.java.net/browse/JDK-8222807>)
>>> > * build 21
>>> > o java -version output and certain system properties contain
>>> > "null" text in their values (JDK-8223695
>>> > <https://bugs.openjdk.java.net/browse/JDK-8223695>)
>>> > * build 20
>>> > o assert(Compile::current()->live_nodes() <
>>> > Compile::current()->max_node_limit()) failed: Live Node
>>> limit
>>> > exceeded limit (JDK-8219520
>>> > <https://bugs.openjdk.java.net/browse/JDK-8219520>)
>>> > o C2: MemNode::can_see_stored_value() ignores casts which
>>> carry
>>> > control dependency (JDK-8219902
>>> > <https://bugs.openjdk.java.net/browse/JDK-8219902>)
>>> > o New fix of the deadlock in sun.security.ssl.SSLSocketImpl
>>> > (JDK-8219991
>>> > <https://bugs.openjdk.java.net/browse/JDK-8219991>)
>>> >
>>> >
>>> > JEP updates since last email
>>> >
>>> > * JEP 350: Dynamic CDS Archives
>>> > <http://openjdk.java.net/jeps/350> was
>>> > *Integrated*.
>>> > * JEP 351: ZGC: Uncommit Unused Memory
>>> > <http://openjdk.java.net/jeps/351> was *Integrated*.
>>> > * JEP 353: Reimplement the Legacy Socket API
>>> > <http://openjdk.java.net/jeps/353> was*Targetted* JDK 13.
>>> > * JEP 355: Text Blocks (Preview)
>>> > <http://openjdk.java.net/jeps/355> was *Proposed to
>>> target* JDK 13.
>>> >
>>> >
>>> > Rgds,Rory
>>> >
>>> > [1] http://jdk.java.net/13/release-notes
>>> >
>>> > --
>>> > Rgds, Rory O'Donnell
>>> > Quality Engineering Manager
>>> > Oracle EMEA, Dublin, Ireland
>>> >
>>>
>>> --
>>> Oracle <http://www.oracle.com>
>>> Dalibor Topic | Principal Product Manager
>>> Phone: +494089091214 <tel:+494089091214> | Mobile: +491737185961
>>> <tel:+491737185961>
>>>
>>> ORACLE Deutschland B.V. & Co. KG | Kühnehöfe 5 | D-22761 Hamburg
>>>
>>> ORACLE Deutschland B.V. & Co. KG
>>> Hauptverwaltung: Riesstr. 25, D-80992 München
>>> Registergericht: Amtsgericht München, HRA 95603
>>>
>>> Komplementärin: ORACLE Deutschland Verwaltung B.V.
>>> Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
>>> Handelsregister der Handelskammer Midden-Nederland, Nr. 30143697
>>> Geschäftsführer: Alexander van der Ven, Jan Schultheiss, Val Maher
>>>
>>> Green Oracle <http://www.oracle.com/commitment> Oracle is committed to
>>> developing practices and products that help protect the environment
>>>
>>