/** * Determine whether the drop target data is valid. On some platforms this cannot be detected, * in which which case we return true. * @param event the drop target event * @return <code>true</code> if data is valid, (or can not be determined), <code>false</code> otherwise. */ protected boolean dropTargetDataIsValid(DropTargetEvent event) { if (Util.isWindows()) return URLTransfer.getInstance().nativeToJava(event.currentDataType) != null; return true; }
@Override public Object nativeToJava(TransferData transferData) { Object result = urlTransfer.nativeToJava(transferData); if (DISABLED || result != null) { return result; } if (DEBUG) System.out.println("nativeToJava called"); try { if (isSupportedType(transferData)) { byte [] buffer = (byte[]) super.nativeToJava(transferData); return bytebufferToJava(buffer); } } catch (Exception e) { Debug.out(e); } return null; }
private String getURLText(DropTargetEvent event) { if (URLTransfer.getInstance().isSupportedType(event.currentDataType)) return (String) URLTransfer.getInstance().nativeToJava(event.currentDataType); if (convertFileToURL && FileTransfer.getInstance().isSupportedType(event.currentDataType)) { String[] names = (String[]) FileTransfer.getInstance().nativeToJava(event.currentDataType); if (names != null && names.length == 1) { URI potentialLocation; try { potentialLocation = URIUtil.fromString(names[0]); return URIUtil.toUnencodedString(RepositoryHelper.localRepoURIHelper(potentialLocation)); } catch (URISyntaxException e) { return names[0]; } } } return null; }