Created RT-36240

-Sven
Am 17.03.2014 13:10 schrieb "Kevin Rushforth" <kevin.rushfo...@oracle.com>:

> Hi Sven,
>
> If you file the bug then yes, we can look at it for 8u20 (there is no
> "earlier").
>
> And thanks to Petr for providing the evaluation for this.
>
> -- Kevin
>
>
> Sven Reimers wrote:
>
>> Ok.
>>
>> Will file an issue and if possible create a patch.
>>
>> Any this could end up in 8u20 (or earlier)?
>>
>> Thanks
>>
>> -Sven
>> Am 17.03.2014 11:05 schrieb "Petr Pchelko" <petr.pche...@oracle.com>:
>>
>>
>>
>>> Ok, I see.
>>>
>>> This is the problem in FX interop.
>>> In javafx.embed.swing.SwingDnD.DnDTransferable class. It's wrapper that
>>> wraps the FX dragboard into the Swing Trasferable.
>>> It is a simple class and many features are simply not implemented. The
>>> implementation is very basic - it just creates the DataFlavor with the
>>> mime-type corresponding to the DataFormat mime-type. However it does not
>>> take into account the representation class. This works fine for basic
>>> types
>>> like text or may be image, but it completely does not work for custom
>>> types
>>> with custom representation classes.
>>>
>>> You could file a bug for this.
>>>
>>> With best regards. Petr.
>>>
>>> On 17.03.2014, at 13:39, Sven Reimers <sven.reim...@gmail.com> wrote:
>>>
>>> The problem seems to be in AbstractDragSource in SceneBuilder. It defines
>>> a javafx.scene.input.DataFormat.
>>> This seems to cause problems if running embedded in Swing. I do not
>>> define
>>> my own DataFlavors..
>>>
>>> Any further help appreciated..
>>>
>>> -Sven
>>> Am 17.03.2014 09:54 schrieb "Petr Pchelko" <petr.pche...@oracle.com>:
>>>
>>>
>>>
>>>> Hello, Sven.
>>>>
>>>> Looks like you are not specifying the representation class for the
>>>> DataFlavor and it defaults
>>>> to the InputStream. So, scene builder puts a ByteBuffer while the
>>>> DataTransferer is trying to treat it as an
>>>> InputStream.
>>>>
>>>> Could you please try to explicitly specify the representation class in
>>>> the DataFlavor you are trying to put?
>>>> Like this: new DataFlavor("scene.builder/internal;
>>>> class=java.nio.HeapByteBuffer", "SceneBuilder internal DF"")
>>>>
>>>> With best regards. Petr.
>>>>
>>>> On 17.03.2014, at 0:13, Sven Reimers <sven.reim...@gmail.com> wrote:
>>>>
>>>>
>>>>
>>>>> Ok... figured it out. It seems scene.builder.internal crashes the Swing
>>>>> parsing mechanism for mime types in the data transfer. Changing it to
>>>>> scene.builder/internal fixes this problem.
>>>>>
>>>>> Shall I open an issue in Jira for it?
>>>>>
>>>>> Having fixed this I get another problem :-(
>>>>> (see stacktrace below)
>>>>>
>>>>> Not sure how to fix this... investigating now.
>>>>>
>>>>> -Sven
>>>>>
>>>>> java.lang.ClassCastException: java.nio.HeapByteBuffer cannot be cast to
>>>>> java.io.InputStream
>>>>> at
>>>>>
>>>>>
>>>>>
>>>> sun.awt.datatransfer.DataTransferer.translateTransferable(
>>>> DataTransferer.java:1372)
>>>>
>>>>
>>>>> at
>>>>>
>>>>>
>>>>>
>>>> sun.lwawt.macosx.CDataTransferer.translateTransferable(
>>>> CDataTransferer.java:131)
>>>>
>>>>
>>>>> at sun.awt.datatransfer.DataTransferer$6.run(DataTransferer.java:2380)
>>>>> at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
>>>>> at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
>>>>> at java.awt.EventQueue.access$400(EventQueue.java:97)
>>>>> at java.awt.EventQueue$3.run(EventQueue.java:697)
>>>>> at java.awt.EventQueue$3.run(EventQueue.java:691)
>>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>> at
>>>>>
>>>>>
>>>>>
>>>> java.security.ProtectionDomain$1.doIntersectionPrivilege(
>>>> ProtectionDomain.java:75)
>>>>
>>>>
>>>>> at
>>>>>
>>>>>
>>>>>
>>>> java.security.ProtectionDomain$1.doIntersectionPrivilege(
>>>> ProtectionDomain.java:86)
>>>>
>>>>
>>>>> at java.awt.EventQueue$4.run(EventQueue.java:719)
>>>>> at java.awt.EventQueue$4.run(EventQueue.java:717)
>>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>> at
>>>>>
>>>>>
>>>>>
>>>> java.security.ProtectionDomain$1.doIntersectionPrivilege(
>>>> ProtectionDomain.java:75)
>>>>
>>>>
>>>>> at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
>>>>> at
>>>>>
>>>>>
>>>>>
>>>> org.netbeans.core.TimableEventQueue.dispatchEvent(
>>>> TimableEventQueue.java:159)
>>>>
>>>>
>>>>> at
>>>>>
>>>>>
>>>>>
>>>> java.awt.EventDispatchThread.pumpOneEventForFilters(
>>>> EventDispatchThread.java:201)
>>>>
>>>>
>>>>> at
>>>>>
>>>>>
>>>>>
>>>> java.awt.EventDispatchThread.pumpEventsForFilter(
>>>> EventDispatchThread.java:116)
>>>>
>>>>
>>>>> at
>>>>>
>>>>>
>>>>>
>>>> java.awt.EventDispatchThread.pumpEventsForHierarchy(
>>>> EventDispatchThread.java:105)
>>>>
>>>>
>>>>> at java.awt.EventDispatchThread.pumpEvents(
>>>>> EventDispatchThread.java:101)
>>>>> at java.awt.EventDispatchThread.pumpEvents(
>>>>> EventDispatchThread.java:93)
>>>>> at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
>>>>>
>>>>>
>>>>> On Sun, Mar 16, 2014 at 8:30 PM, Sven Reimers <sven.reim...@gmail.com
>>>>> wrote:
>>>>>
>>>>>
>>>>>
>>>>>> Hi guys,
>>>>>>
>>>>>> hope someone can help me with the exception pasted below.
>>>>>>
>>>>>> Any idea how to go on from here?
>>>>>>
>>>>>> The code is available at
>>>>>>
>>>>>>
>>>>> https://bitbucket.org/sreimers/nbscenebuilder/
>>>>
>>>>
>>>>> Thanks
>>>>>>
>>>>>> -Sven
>>>>>>
>>>>>> java.lang.IllegalArgumentException: failed to
>>>>>>
>>>>>>
>>>>> parse:scene.builder.internal
>>>>
>>>>
>>>>> at java.awt.datatransfer.DataFlavor.<init>(DataFlavor.java:488)
>>>>>> at
>>>>>>
>>>>>>
>>>>>>
>>>>> javafx.embed.swing.SwingDnD$DnDTransferable.getTransferDataFlavors(
>>>> SwingDnD.java:398)
>>>>
>>>>
>>>>> at
>>>>>>
>>>>>>
>>>>>>
>>>>> sun.awt.datatransfer.DataTransferer.getFormatsForTransferable(
>>>> DataTransferer.java:655)
>>>>
>>>>
>>>>> at
>>>>>>
>>>>>>
>>>>>>
>>>>> sun.awt.dnd.SunDragSourceContextPeer.startDrag(
>>>> SunDragSourceContextPeer.java:131)
>>>>
>>>>
>>>>> at
>>>>>>
>>>>>>
>>>>>>
>>>>> sun.lwawt.macosx.CDragSourceContextPeer.startDrag(
>>>> CDragSourceContextPeer.java:88)
>>>>
>>>>
>>>>> at java.awt.dnd.DragSource.startDrag(DragSource.java:321)
>>>>>> at java.awt.dnd.DragSource.startDrag(DragSource.java:426)
>>>>>> at java.awt.dnd.DragGestureEvent.startDrag(DragGestureEvent.java:237)
>>>>>> at javafx.embed.swing.SwingDnD.startDrag(SwingDnD.java:284)
>>>>>> at javafx.embed.swing.SwingDnD.access$1000(SwingDnD.java:73)
>>>>>> at javafx.embed.swing.SwingDnD$4$1.run(SwingDnD.java:249)
>>>>>> at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
>>>>>> at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
>>>>>> at java.awt.EventQueue.access$400(EventQueue.java:97)
>>>>>> at java.awt.EventQueue$3.run(EventQueue.java:697)
>>>>>> at java.awt.EventQueue$3.run(EventQueue.java:691)
>>>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>>> at
>>>>>>
>>>>>>
>>>>>>
>>>>> java.security.ProtectionDomain$1.doIntersectionPrivilege(
>>>> ProtectionDomain.java:75)
>>>>
>>>>
>>>>> at java.awt.EventQueue.dispatchEvent(EventQueue.java:714)
>>>>>> at
>>>>>>
>>>>>>
>>>>>>
>>>>> org.netbeans.core.TimableEventQueue.dispatchEvent(
>>>> TimableEventQueue.java:159)
>>>>
>>>>
>>>>> [catch] at
>>>>>>
>>>>>>
>>>>>>
>>>>> java.awt.EventDispatchThread.pumpOneEventForFilters(
>>>> EventDispatchThread.java:201)
>>>>
>>>>
>>>>> at
>>>>>>
>>>>>>
>>>>>>
>>>>> java.awt.EventDispatchThread.pumpEventsForFilter(
>>>> EventDispatchThread.java:116)
>>>>
>>>>
>>>>> at
>>>>>>
>>>>>>
>>>>>>
>>>>> java.awt.EventDispatchThread.pumpEventsForHierarchy(
>>>> EventDispatchThread.java:105)
>>>>
>>>>
>>>>> at
>>>>>>
>>>>>>
>>>>> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
>>>>
>>>>
>>>>> at java.awt.EventDispatchThread.pumpEvents(
>>>>>> EventDispatchThread.java:93)
>>>>>> at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
>>>>>>
>>>>>> --
>>>>>> Sven Reimers
>>>>>>
>>>>>> * Senior Expert Software Architect
>>>>>> * NetBeans Dream Team Member: http://dreamteam.netbeans.org
>>>>>> * Community Leader  NetBeans: http://community.java.net/netbeans
>>>>>>                              Desktop Java:
>>>>>> http://community.java.net/javadesktop
>>>>>> * JUG Leader JUG Bodensee: http://www.jug-bodensee.de
>>>>>> * Duke's Choice Award Winner 2009
>>>>>> * Blog: https://www.java.net//blog/sven
>>>>>>
>>>>>> * XING: https://www.xing.com/profile/Sven_Reimers8
>>>>>> * LinkedIn: http://www.linkedin.com/in/svenreimers
>>>>>>
>>>>>> Join the NetBeans Groups:
>>>>>> * XING: http://www.xing.com/group-20148.82db20
>>>>>> * NUGM: http://haug-server.dyndns.org/display/NUGM/Home
>>>>>> * LinkedIn: http://www.linkedin.com/groups?gid=1860468
>>>>>>                   http://www.linkedin.com/groups?gid=107402
>>>>>>                   http://www.linkedin.com/groups?gid=1684717
>>>>>> * Oracle: https://mix.oracle.com/groups/18497
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> Sven Reimers
>>>>>
>>>>> * Senior Expert Software Architect
>>>>> * NetBeans Dream Team Member: http://dreamteam.netbeans.org
>>>>> * Community Leader  NetBeans: http://community.java.net/netbeans
>>>>>                              Desktop Java:
>>>>> http://community.java.net/javadesktop
>>>>> * JUG Leader JUG Bodensee: http://www.jug-bodensee.de
>>>>> * Duke's Choice Award Winner 2009
>>>>> * Blog: https://www.java.net//blog/sven
>>>>>
>>>>> * XING: https://www.xing.com/profile/Sven_Reimers8
>>>>> * LinkedIn: http://www.linkedin.com/in/svenreimers
>>>>>
>>>>> Join the NetBeans Groups:
>>>>> * XING: http://www.xing.com/group-20148.82db20
>>>>> * NUGM: http://haug-server.dyndns.org/display/NUGM/Home
>>>>> * LinkedIn: http://www.linkedin.com/groups?gid=1860468
>>>>>                   http://www.linkedin.com/groups?gid=107402
>>>>>                   http://www.linkedin.com/groups?gid=1684717
>>>>> * Oracle: https://mix.oracle.com/groups/18497
>>>>>
>>>>>
>>>>
>>>>
>>>

Reply via email to