/**
* <copyright>
* </copyright>
*
*
*/
package org.feature.multi.perspective.mapping.viewmapping.resource.mtext.ui.launch;
/**
* A class that converts the current selection or active editor to a launch
* configuration.
* Set the overrideLaunchShortcut option to false to customize this class.
*/
public class MtextLaunchShortcut implements org.eclipse.debug.ui.ILaunchShortcut2 {
public void launch(org.eclipse.jface.viewers.ISelection selection, String mode) {
if (selection instanceof org.eclipse.jface.viewers.IStructuredSelection) {
org.eclipse.jface.viewers.IStructuredSelection structuredSelection = (org.eclipse.jface.viewers.IStructuredSelection) selection;
java.util.Iterator<?> it = structuredSelection.iterator();
while (it.hasNext()) {
Object object = it.next();
if (object instanceof org.eclipse.core.resources.IFile) {
org.eclipse.core.resources.IFile file = (org.eclipse.core.resources.IFile) object;
launch(file, mode);
}
}
}
}
public void launch(org.eclipse.ui.IEditorPart editorPart, String mode) {
org.eclipse.ui.IEditorInput editorInput = editorPart.getEditorInput();
if (editorInput instanceof org.eclipse.ui.IFileEditorInput) {
org.eclipse.ui.IFileEditorInput fileInput = (org.eclipse.ui.IFileEditorInput) editorInput;
launch(fileInput.getFile(), mode);
}
}
private void launch(org.eclipse.core.resources.IFile file, String mode) {
try {
org.eclipse.debug.core.ILaunchManager lm = org.eclipse.debug.core.DebugPlugin.getDefault().getLaunchManager();
org.eclipse.debug.core.ILaunchConfigurationType type = lm.getLaunchConfigurationType(new org.feature.multi.perspective.mapping.viewmapping.resource.mtext.mopp.MtextMetaInformation().getLaunchConfigurationType());
org.eclipse.debug.core.ILaunchConfigurationWorkingCopy workingCopy = type.newInstance(null, file.getName());
org.eclipse.emf.common.util.URI uri = org.eclipse.emf.common.util.URI.createPlatformResourceURI(file.getFullPath().toString(), true);
workingCopy.setAttribute(org.feature.multi.perspective.mapping.viewmapping.resource.mtext.launch.MtextLaunchConfigurationDelegate.ATTR_RESOURCE_URI, uri.toString());
org.eclipse.debug.core.ILaunchConfiguration configuration = workingCopy.doSave();
org.eclipse.debug.ui.DebugUITools.launch(configuration, mode);
} catch (org.eclipse.core.runtime.CoreException e) {
org.feature.multi.perspective.mapping.viewmapping.resource.mtext.mopp.MtextPlugin.logError("Exception while launching selection", e);
}
}
public org.eclipse.debug.core.ILaunchConfiguration[] getLaunchConfigurations(org.eclipse.jface.viewers.ISelection selection) {
return null;
}
public org.eclipse.debug.core.ILaunchConfiguration[] getLaunchConfigurations(org.eclipse.ui.IEditorPart editorPart) {
return null;
}
public org.eclipse.core.resources.IResource getLaunchableResource(org.eclipse.jface.viewers.ISelection selection) {
return null;
}
public org.eclipse.core.resources.IResource getLaunchableResource(org.eclipse.ui.IEditorPart editorPart) {
return null;
}
}