Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-7121761

creation of java.awt.DataFlavour fails for turkish locale

XMLWordPrintable

    • b25
    • x86
    • windows_7
    • Verified

      FULL PRODUCT VERSION :
      C:\FirstSpirit\trunk>java -version
      java version "1.7.0_01"
      Java(TM) SE Runtime Environment (build 1.7.0_01-b08)
      Java HotSpot(TM) 64-Bit Server VM (build 21.1-b02, mixed mode)

      ADDITIONAL OS VERSION INFORMATION :
      any os

      EXTRA RELEVANT SYSTEM CONFIGURATION :
      not relevant

      A DESCRIPTION OF THE PROBLEM :
      Under turkish locale creation of DataFlavour instances where mime type string contains capital letter "i" fails with IllegalArgumentException.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Compile and execute this two lines:

      java.util.Locale.setDefault(new Locale("tr", "TR"));
      new java.awt.datatransfer.DataFlavor("xxx/Its_a_bug; class=java.lang.String");


      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      Code should pass without exception
      ACTUAL -
      IllegalArgumentException, see below

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      java.lang.IllegalArgumentException: failed to parse:xxx/Its_a_bug; class=java.lang.String
      at java.awt.datatransfer.DataFlavor.<init>(DataFlavor.java:428)
      at de.espirit.firstspirit.ui.gadgets.aspects.transfer.TestTransferTypeImpl.test_creating_transfer_type_with_turkish_locale(TestTransferTypeImpl.java:21)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
      at java.util.concurrent.FutureTask.run(FutureTask.java:166)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
      at java.lang.Thread.run(Thread.java:722)

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      import java.awt.datatransfer.DataFlavor;
      import java.util.Locale;

      public class Test {

      public static void main(String[] args) throws Exception {
      Locale.setDefault(new Locale("tr", "TR"));
      new DataFlavor("xxx/Its_a_bug; class=java.lang.String");
      }

      }
      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      Do not use flavours with capital "i" letter.

            denis Denis Fokin (Inactive)
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: