Was able to reproduce on win32.
Ended up being th:
- "new" URLTransfer type was not being fed into our DnDTransfer extension and registered on the CatalogView etc.... so no URLs were being "dropped" (only text and html text)
- The UDigByteAndLocalTransfer was being Transfer.registered with the same string and thus conflicted with the above URLTransfer
Chat with Jesse....
(8:15:26 PM) jeichar: ok
(8:15:33 PM) jgarnett: do you have a udig checkout to refer to?
(8:15:43 PM) jeichar: 1 sec let me open eclipse
(8:16:14 PM) jgarnett: thanks; I am near the end of the firefox DnD not working on win32 bug :-P
(8:17:17 PM) jeichar: ok
(8:17:19 PM) jgarnett: I am going to type for a moment to set the context; catch up when you have eclipse open.
(8:17:19 PM) jgarnett: When DnD from Walkthrough+1 page the http://wms.jpl.nasa.gov/wms.cgi?Service=WMS&Version=1.1.1&Request=GetCapabilities
URL comes in as "http://wms.jpl.nasa.gov/wms.cgi?Service=W
(8:17:26 PM) jgarnett: ie it is truncated
(8:17:39 PM) jgarnett: I hunted around for a bit
(8:17:53 PM) jgarnett: before sorting out that the URLTransfer (which was added in Ecllipse 3.4)
(8:18:00 PM) jgarnett: does not seem to be in our list
(8:18:10 PM) jgarnett: the udig.ui plugin.xml
(8:18:24 PM) jgarnett: has registered a single UDigTransferFactory
(8:18:39 PM) jgarnett: offering up a list of getTransfers() to pay attention to
(8:18:56 PM) jgarnett: suspect #1: URLTransfer.getInstance() is not in the list
(8:19:06 PM) jgarnett: suspect#2: UDigByteAndLocalTransfer.getInstance() is in the list
(8:19:13 PM) jgarnett: looking at the internals of UDigByteAndLocalTransfer
(8:19:24 PM) jgarnett: it appears to be an early cut of the URLTransfer implementation
(8:19:31 PM) jgarnett: indeed they both register under the same String.
(8:19:41 PM) jgarnett: static final String CFSTR_INETURL = "UniformResourceLocator"; //$NON-NLS-1$
(8:19:53 PM) jgarnett: private static final int CFSTR_INETURLID = Transfer.registerType(CFSTR_INETURL);
(8:20:19 PM) jgarnett: and both extend ByteArrayTransfer
(8:20:35 PM) jgarnett: So am I on a good track here?
(8:20:43 PM) jeichar: More or less
(8:21:05 PM) jgarnett: UDigByteAndLocalTransfer looks like it may be hacked over time; it has code in javaToNative to unwrap IStructuredSelection
(8:21:22 PM) jeichar: I thought UDigByteAndLocalTransfer.getInstance was supposed to mainly be a way to drag and drop uDig objects
(8:21:30 PM) jeichar: layers, IResources, etc...
(8:21:32 PM) jgarnett: I think it is
(8:21:39 PM) jgarnett: (see comment about IStructuredSelection
(8:21:45 PM) jeichar: exactly
(8:21:50 PM) jeichar: it is not supposed to do the URL stuff
(8:21:52 PM) jgarnett: but then why is it registering itself with the same string as the URLTransfer?
(8:22:09 PM) jeichar: I think the URL transfer was package protected at the time of writing so I had no access to it
(8:22:12 PM) jgarnett: Want me to leave it in; and give it a new String
(8:22:31 PM) jeichar: and depended on Text Tranfer and RichTextTransfer to get the URLS
(8:22:41 PM) jeichar: yes try giving it a new string
(8:23:31 PM) jgarnett: I will give it a go and report back
(8:25:12 PM) jgarnett: that did the trick!
(8:25:18 PM) jeichar: great
(8:25:20 PM) jgarnett: going to test with a bunch of browsers now
(8:25:32 PM) jeichar: check that you can still DND layers in Layers view
(8:25:36 PM) jgarnett: thanks for the sanity check; DnD code is so fragile to test
(8:25:38 PM) jgarnett: will do
(8:25:44 PM) jgarnett: used the string InternalObject
(8:29:05 PM) jgarnett: I can still move layers around
(8:29:15 PM) jgarnett: going to mark the issue fixed and make an SDK
(8:35:17 PM) jgarnett: ie worked; chrome worked