-
Notifications
You must be signed in to change notification settings - Fork 11
/
RuncoafileHandler.java
70 lines (63 loc) · 2.07 KB
/
RuncoafileHandler.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package com.coala.core.handlers;
import com.coala.core.utils.ExternalUtils;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.core.runtime.IPath;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
import java.io.IOException;
/**
* The PluginHandler extends AbstractHandler, an IHandler base class.
*
* @see org.eclipse.core.commands.IHandler
* @see org.eclipse.core.commands.AbstractHandler
*/
public class RuncoafileHandler extends AbstractHandler {
/**
* The constructor.
*
* @throws IOException
* exception
*/
public RuncoafileHandler() {
}
/**
* Execute analysis.
*/
public Object execute(ExecutionEvent event) throws ExecutionException {
String folder = null;
IProject project = null;
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
if (window != null) {
IStructuredSelection selection = (IStructuredSelection) window.getSelectionService()
.getSelection();
Object firstElement = selection.getFirstElement();
if (firstElement instanceof IAdaptable) {
project = (IProject) ((IAdaptable) firstElement).getAdapter(IProject.class);
if (project == null) {
System.out.println("Project returned null.");
} else {
IPath path = project.getLocation();
folder = path.toOSString();
}
}
}
new RemoveMarkers().execute(event);
try {
if (folder != null && project != null) {
ExternalUtils.runcoafile(folder, project);
} else {
MessageDialog.openError(null, "coafile not found",
"This coafile couldn't be found in this directory. Please create one.");
}
} catch (IOException ex) {
ex.printStackTrace();
}
return null;
}
}