bndtools.jareditor.internal.URIHelper Maven / Gradle / Ivy
package bndtools.jareditor.internal;
import java.net.URI;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.jface.dialogs.ErrorDialog;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IFileEditorInput;
import org.eclipse.ui.IURIEditorInput;
import org.eclipse.ui.PlatformUI;
public class URIHelper {
static URI retrieveFileURI(final IEditorInput input) {
URI uri = null;
if (input instanceof IFileEditorInput) {
uri = ((IFileEditorInput) input).getFile()
.getLocationURI();
if (!uri.getScheme()
.equals("file")) {
// we have a file on the local machine and can get the file URI from it
uri = ((IFileEditorInput) input).getFile()
.getLocation()
.toFile()
.toURI();
}
} else if (input instanceof IURIEditorInput) {
uri = ((IURIEditorInput) input).getURI();
if (!uri.getScheme()
.equals("file")) {
// unrecoverable error java.io.File(URI) is only supporting file protocol
Status status = new Status(IStatus.ERROR, PluginConstants.PLUGIN_ID, "Only file uri protocol is supported.");
ErrorDialog.openError(PlatformUI.getWorkbench()
.getActiveWorkbenchWindow()
.getShell(), "Error", null, status);
}
}
return uri;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy