* Package access for callbacks.
* @param testngType - one of TestNGLaunchConfigurationConstants
*/
void handleSearchButtonSelected(LaunchType testngType) {
Object[] types = new Object[0];
SelectionDialog dialog = null;
IJavaProject selectedProject = getSelectedProject();
if (selectedProject == null) {
MessageDialog.openError(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
"No project", "Please select a project");
return;
}
try {
switch(testngType) {
case CLASS:
types = TestSearchEngine.findTests(getLaunchConfigurationDialog(),
new Object[] {m_selectedProject}, Filters.SINGLE_TEST);
dialog = TestSelectionDialog.createTestTypeSelectionDialog(getShell(), m_selectedProject,
types, Filters.SINGLE_TEST);
break;
case METHOD:
types = TestSearchEngine.findMethods(getLaunchConfigurationDialog(),
new Object[] {m_selectedProject}, m_classSelector.getText());
dialog = TestSelectionDialog.createMethodSelectionDialog(getShell(), m_selectedProject,
types);
break;
case PACKAGE:
types = TestSearchEngine.findPackages(getLaunchConfigurationDialog(),
new Object[] {m_selectedProject});
dialog = TestSelectionDialog.createPackageSelectionDialog(getShell(), m_selectedProject,
types);
break;
default:
throw new IllegalArgumentException(UNKNOWN_CONSTANT + testngType);
}
}
catch(InterruptedException e) {
TestNGPlugin.log(e);
}
catch(InvocationTargetException e) {
TestNGPlugin.log(e.getTargetException());
}
dialog.setBlockOnOpen(true);
dialog.setTitle(ResourceUtil.getString("TestNGMainTab.testdialog.title")); //$NON-NLS-1$
if(dialog.open() == Window.CANCEL) {
return;
}
Object[] results = dialog.getResult();
if((results == null) || (results.length < 1)) {
return;
}
Object type = results[0];