List of usage examples for org.eclipse.jdt.core IJavaProject getProject
IProject getProject();
IProject
on which this IJavaProject
was created. From source file:de.devboost.eclipse.jloop.LoopRunner.java
License:Open Source License
private Set<String> getRequiredProjects(IType type) { Set<String> requiredProjects; try {/*from ww w . j a v a 2 s .c o m*/ IJavaProject javaProject = type.getJavaProject(); List<String> projectNames = Arrays.asList(javaProject.getRequiredProjectNames()); requiredProjects = new LinkedHashSet<String>(projectNames); requiredProjects.add(javaProject.getProject().getName()); } catch (JavaModelException e) { JLoopPlugin.logError("Can't determine list of required projects.", e); return null; } return requiredProjects; }
From source file:de.fxworld.generationgap.GapEclipseWorkflow.java
License:Open Source License
protected List<String> getSourceFolders(IProject project) { List<String> result = new ArrayList<String>(); IJavaProject javaProject = JavaCore.create(project); IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); try {//w ww .ja v a 2 s. c o m for (IPackageFragmentRoot packageFragmentRoot : javaProject.getPackageFragmentRoots()) { if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) { IPath path = packageFragmentRoot.getPath(); IFolder folder = root.getFolder(path); String location = folder.getLocation().toString(); if (!location.contains("src-gen")) { result.add(location); } } } for (IProject referencedProject : javaProject.getProject().getReferencedProjects()) { if (referencedProject.isAccessible() && referencedProject.hasNature(JavaCore.NATURE_ID)) { result.addAll(getSourceFolders(referencedProject)); } } } catch (JavaModelException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (CoreException e) { // TODO Auto-generated catch block e.printStackTrace(); } return result; }
From source file:de.fxworld.generationgap.ui.commands.AbstractProjectHandler.java
License:Open Source License
@Override public Object execute(ExecutionEvent event) throws ExecutionException { Object result = null;/* www . jav a 2s . c o m*/ ISelection selection = HandlerUtil.getCurrentSelection(event); final List<IProject> projects = new ArrayList<IProject>(); if (selection instanceof IProject) { projects.add((IProject) selection); } else if (selection instanceof IStructuredSelection) { for (Iterator<?> it = ((IStructuredSelection) selection).iterator(); it.hasNext();) { Object element = it.next(); if (element instanceof IProject) { projects.add((IProject) element); } else if (element instanceof IJavaProject) { IJavaProject javaProject = (IJavaProject) element; projects.add(javaProject.getProject()); } } } Job job = new Job(jobName) { @Override protected IStatus run(IProgressMonitor monitor) { executeOnProjects(projects, monitor); return Status.OK_STATUS; } }; job.setPriority(Job.SHORT); job.schedule(); // start as soon as possible return result; }
From source file:de.fxworld.generationgap.ui.commands.AddBuilderHandler.java
License:Open Source License
@Override protected void executeOnJavaProjects(List<IJavaProject> javaProjects, IProgressMonitor monitor) { monitor.beginTask("Adding Builder", javaProjects.size()); for (IJavaProject javaProject : javaProjects) { try {//from w w w . j av a 2s. co m BuilderHelper.addBuilder(javaProject.getProject(), Activator.BUILDER_ID); monitor.worked(1); } catch (CoreException e) { // TODO Auto-generated catch block e.printStackTrace(); } } monitor.done(); }
From source file:de.fxworld.generationgap.ui.commands.BuildNowCommand.java
License:Open Source License
protected void executeOnJavaProject(IJavaProject javaProject, IProgressMonitor monitor) { GapEclipseWorkflow workflow = GapEclipseWorkflowFactory.createGapWorkflow(); final List<IFile> genmodelFiles = new ArrayList<IFile>(); try {//from ww w . j a v a 2 s . co m javaProject.getProject().accept(new IResourceVisitor() { @Override public boolean visit(IResource resource) throws CoreException { if ((resource != null) && (resource instanceof IFile)) { IFile file = (IFile) resource; if ((file.exists()) && ("genmodel".equals(file.getFileExtension()))) { genmodelFiles.add(file); } } return true; // visit children too } }); } catch (CoreException e) { // TODO Auto-generated catch block e.printStackTrace(); } workflow.build(new GapConfiguration(javaProject), genmodelFiles, monitor); }
From source file:de.fxworld.generationgap.ui.commands.RemoveBuilderHandler.java
License:Open Source License
@Override protected void executeOnJavaProjects(List<IJavaProject> javaProjects, IProgressMonitor monitor) { monitor.beginTask("Removeing Builder", javaProjects.size()); for (IJavaProject javaProject : javaProjects) { try {/*from w ww . j a v a 2 s .c o m*/ BuilderHelper.removeBuilder(javaProject.getProject(), Activator.BUILDER_ID); monitor.worked(1); } catch (CoreException e) { // TODO Auto-generated catch block e.printStackTrace(); } } monitor.done(); }
From source file:de.fxworld.generationgap.ui.properties.PropertyTester.java
License:Open Source License
@Override public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { boolean result = false; if ("hasBuilder".equals(property)) { if (receiver instanceof IJavaProject) { IJavaProject project = (IJavaProject) receiver; try { result = BuilderHelper.hasBuilder(project.getProject(), Activator.BUILDER_ID); } catch (CoreException e) { // ok then it should not be visible }// w ww . j a va 2s . co m } } return result; }
From source file:de.hentschel.visualdbc.datasource.ui.test.testCase.swtbot.SWTBotJavaPackageSettingControlTest.java
License:Open Source License
/** * Tests error messages on the file tab. *//*w ww . ja va2s.c om*/ @Test public void testPackageErrorMessages() throws CoreException, InterruptedException { // Create project IJavaProject javaProject = createProject(); IProject project = javaProject.getProject(); assertTrue(project.exists()); IFolder srcFolder = project.getFolder("src"); assertTrue(srcFolder.exists()); IFolder packageAFolder = srcFolder.getFolder("sWTBotJavaPackageSettingControlTestA"); assertTrue(packageAFolder.exists()); IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots(); assertTrue(roots.length >= 1); IPackageFragmentRoot defaultPackage = roots[0]; assertNotNull(defaultPackage); IPackageFragment packageA = defaultPackage.getPackageFragment("sWTBotJavaPackageSettingControlTestA"); assertNotNull(packageA); IPackageFragment packageB = defaultPackage.getPackageFragment("sWTBotJavaPackageSettingControlTestB"); assertNotNull(packageB); // Create control final ISettingControl settingControl = SettingControlUtil.createSettingControl(getControlId()); assertNotNull(settingControl); assertEquals(0, settingControl.getSettingControlListeners().length); // Create shell and UI control instance and set initial value IRunnableWithResult<Control> createRun = new AbstractRunnableWithResult<Control>() { @Override public void run() { Shell shell = new Shell(Display.getDefault()); shell.setText("SWTBotJavaPackageSettingControlTest"); shell.setLayout(new FillLayout()); shell.setSize(300, 300); Control control = settingControl.createControl(shell); setResult(control); shell.open(); } }; Display.getDefault().syncExec(createRun); final Control control = createRun.getResult(); assertNotNull(control); try { // Create bot and get Shell SWTWorkbenchBot bot = new SWTWorkbenchBot(); SWTBotShell botShell = bot.shell("SWTBotJavaPackageSettingControlTest"); SWTBotRadio resourceRadio = botShell.bot().radio("Resource"); SWTBotRadio packageRadio = botShell.bot().radio("Package"); SWTBotText pathText = botShell.bot().text(); // Select type packageRadio.click(); // Test initial value assertEquals("No directory defined.", TestDataSourceUIUtil.getValidationMessageThreadSave(settingControl, control)); assertNull(TestDataSourceUIUtil.getValueThreadSave(settingControl, control)); // Switch to other invalid type resourceRadio.click(); assertEquals("No existing project or folder defined.", TestDataSourceUIUtil.getValidationMessageThreadSave(settingControl, control)); assertEquals(new Path(""), TestDataSourceUIUtil.getValueThreadSave(settingControl, control)); // Switch back from invalid type packageRadio.click(); assertEquals("No directory defined.", TestDataSourceUIUtil.getValidationMessageThreadSave(settingControl, control)); assertNull(TestDataSourceUIUtil.getValueThreadSave(settingControl, control)); // Switch to other invalid type and make it valid resourceRadio.click(); assertEquals("No existing project or folder defined.", TestDataSourceUIUtil.getValidationMessageThreadSave(settingControl, control)); assertEquals(new Path(""), TestDataSourceUIUtil.getValueThreadSave(settingControl, control)); pathText.setText(packageB.getPath().toString()); assertNull(TestDataSourceUIUtil.getValidationMessageThreadSave(settingControl, control)); assertEquals(packageB.getPath(), TestDataSourceUIUtil.getValueThreadSave(settingControl, control)); // Switch back from valid type packageRadio.click(); assertEquals("No directory defined.", TestDataSourceUIUtil.getValidationMessageThreadSave(settingControl, control)); assertNull(TestDataSourceUIUtil.getValueThreadSave(settingControl, control)); } finally { // Close shell if (control != null) { control.getDisplay().syncExec(new Runnable() { @Override public void run() { control.getShell().close(); } }); } } }
From source file:de.hentschel.visualdbc.datasource.ui.test.testCase.swtbot.SWTBotJavaPackageSettingControlTest.java
License:Open Source License
/** * Tests error messages on the file tab. *///from w ww . j a va 2s .com @Test public void testFileErrorMessages() throws CoreException, InterruptedException { // Create project IJavaProject javaProject = createProject(); IProject project = javaProject.getProject(); assertTrue(project.exists()); IFolder srcFolder = project.getFolder("src"); assertTrue(srcFolder.exists()); IFolder packageAFolder = srcFolder.getFolder("sWTBotJavaPackageSettingControlTestA"); assertTrue(packageAFolder.exists()); IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots(); assertTrue(roots.length >= 1); IPackageFragmentRoot defaultPackage = roots[0]; assertNotNull(defaultPackage); IPackageFragment packageA = defaultPackage.getPackageFragment("sWTBotJavaPackageSettingControlTestA"); assertNotNull(packageA); IPackageFragment packageB = defaultPackage.getPackageFragment("sWTBotJavaPackageSettingControlTestB"); assertNotNull(packageB); // Create control final ISettingControl settingControl = SettingControlUtil.createSettingControl(getControlId()); assertNotNull(settingControl); assertEquals(0, settingControl.getSettingControlListeners().length); // Create shell and UI control instance and set initial value IRunnableWithResult<Control> createRun = new AbstractRunnableWithResult<Control>() { @Override public void run() { Shell shell = new Shell(Display.getDefault()); shell.setText("SWTBotJavaPackageSettingControlTest"); shell.setLayout(new FillLayout()); shell.setSize(300, 300); Control control = settingControl.createControl(shell); setResult(control); shell.open(); } }; Display.getDefault().syncExec(createRun); final Control control = createRun.getResult(); try { assertNotNull(control); // Create bot and get Shell SWTWorkbenchBot bot = new SWTWorkbenchBot(); SWTBotShell botShell = bot.shell("SWTBotJavaPackageSettingControlTest"); SWTBotRadio fileRadio = botShell.bot().radio("Directory"); SWTBotRadio packageRadio = botShell.bot().radio("Package"); SWTBotText pathText = botShell.bot().text(); // Select type fileRadio.click(); // Test initial value assertEquals("No existing directory defined.", TestDataSourceUIUtil.getValidationMessageThreadSave(settingControl, control)); assertEquals(new File(""), TestDataSourceUIUtil.getValueThreadSave(settingControl, control)); // Set invalid path pathText.setText("INVALID"); assertEquals("No existing directory defined.", TestDataSourceUIUtil.getValidationMessageThreadSave(settingControl, control)); assertEquals(new File("INVALID"), TestDataSourceUIUtil.getValueThreadSave(settingControl, control)); // Set valid path pathText.setText(ResourceUtil.getLocation(packageA.getResource()).toString()); assertNull(TestDataSourceUIUtil.getValidationMessageThreadSave(settingControl, control)); assertEquals(ResourceUtil.getLocation(packageA.getResource()), TestDataSourceUIUtil.getValueThreadSave(settingControl, control)); // Set invalid path pathText.setText("INVALID"); assertEquals("No existing directory defined.", TestDataSourceUIUtil.getValidationMessageThreadSave(settingControl, control)); assertEquals(new File("INVALID"), TestDataSourceUIUtil.getValueThreadSave(settingControl, control)); // Switch to other invalid type packageRadio.click(); assertEquals("No directory defined.", TestDataSourceUIUtil.getValidationMessageThreadSave(settingControl, control)); assertNull(TestDataSourceUIUtil.getValueThreadSave(settingControl, control)); // Switch back from invalid type fileRadio.click(); assertEquals("No existing directory defined.", TestDataSourceUIUtil.getValidationMessageThreadSave(settingControl, control)); assertEquals(new File("INVALID"), TestDataSourceUIUtil.getValueThreadSave(settingControl, control)); // Switch to other invalid type and make it valid packageRadio.click(); assertEquals("No directory defined.", TestDataSourceUIUtil.getValidationMessageThreadSave(settingControl, control)); assertNull(TestDataSourceUIUtil.getValueThreadSave(settingControl, control)); botShell.bot().button().click(); SWTBotShell selectShell = botShell.bot().shell("Select package"); selectShell.bot().text().setText(packageB.getElementName()); // Filter the table entries, required in tests if scroll bars are used. selectShell.bot().table().select(packageB.getElementName()); selectShell.bot().button("OK").click(); assertNull(TestDataSourceUIUtil.getValidationMessageThreadSave(settingControl, control)); assertEquals(getExpectedPackage(packageB), TestDataSourceUIUtil.getValueThreadSave(settingControl, control)); // Switch back from valid type fileRadio.click(); assertEquals("No existing directory defined.", TestDataSourceUIUtil.getValidationMessageThreadSave(settingControl, control)); assertEquals(new File("INVALID"), TestDataSourceUIUtil.getValueThreadSave(settingControl, control)); } finally { // Close shell if (control != null) { control.getDisplay().syncExec(new Runnable() { @Override public void run() { control.getShell().close(); } }); } } }