List of usage examples for org.eclipse.jdt.core IJavaElement getResource
IResource getResource();
From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.JavaElementDeltaFilter.java
License:Open Source License
/** * Returns true if the element resource is a file named 'package-info.java' (whatever the containing folder) * @param element//from ww w. j a va 2 s .c o m * @return */ private boolean isPackageInfoFile(final IJavaElement element) { return element.getResource() != null && element.getResource().getType() == IResource.FILE && element.getResource().getName().equals("package-info.java"); }
From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.JavaElementDeltaFilterTestCase.java
License:Open Source License
@Test public void shouldNotAcceptChangesInPackageInfoFile() { final IJavaElement element = createMock(IType.class, ANNOTATION, workingCopy); final IResource resource = mock(IResource.class); when(element.getResource()).thenReturn(resource); when(resource.getType()).thenReturn(IResource.FILE); when(resource.getName()).thenReturn("package-info.java"); assertFalse("Wrong result", filter.apply(createEvent(element, ADDED, POST_RECONCILE, Flags.NONE))); assertFalse("Wrong result", filter.apply(createEvent(element, ADDED, POST_CHANGE, Flags.NONE))); assertFalse("Wrong result", filter.apply(createEvent(element, CHANGED, POST_RECONCILE, Flags.NONE))); assertFalse("Wrong result", filter.apply(createEvent(element, CHANGED, POST_CHANGE, Flags.NONE))); assertFalse("Wrong result", filter.apply(createEvent(element, REMOVED, POST_RECONCILE, Flags.NONE))); assertFalse("Wrong result", filter.apply(createEvent(element, REMOVED, POST_CHANGE, Flags.NONE))); }
From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.JavaElementDeltaScanner.java
License:Open Source License
/** * Recursively analyse the given Java Element Delta. * //from w w w .ja v a 2s.c o m * @param delta * @param eventType * @throws CoreException * @see https://bugs.eclipse.org/bugs/show_bug.cgi?id=100267 */ private List<JavaElementChangedEvent> scanDelta(final IJavaElementDelta delta, final int eventType) throws CoreException { final List<JavaElementChangedEvent> events = new ArrayList<JavaElementChangedEvent>(); final IJavaElement element = delta.getElement(); // skip as the project is closed if (element == null) { Logger.debug("** skipping this build because the delta element is null **"); return Collections.emptyList(); } else if (element.getElementType() == IJavaElement.JAVA_PROJECT && !element.getJavaProject().getProject().isOpen() && delta.getFlags() != F_OPENED) { Logger.debug("** skipping this build because the java project is closed. **"); return Collections.emptyList(); } else if ((element.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT)) { final IPackageFragmentRoot packageFragmentRoot = (IPackageFragmentRoot) element; if (!packageFragmentRoot.isExternal() && (packageFragmentRoot.getResource() == null || !packageFragmentRoot.getResource().exists())) { return Collections.emptyList(); } } else if (element.getResource() == null || !element.getResource().exists()) { return Collections.emptyList(); } final int elementKind = element.getElementType(); final int deltaKind = retrieveDeltaKind(delta); final Flags flags = new Flags(delta.getFlags()); if (elementKind == JAVA_PROJECT) { final JavaElementChangedEvent event = new JavaElementChangedEvent(element, delta.getKind(), eventType, null, new Flags(delta.getFlags())); if (javaElementChangedEventFilter.apply(event)) { events.add(event); // skip anything below return events; } } final CompilationUnit compilationUnitAST = getCompilationUnitAST(delta); if (elementKind == COMPILATION_UNIT) { final ICompilationUnit compilationUnit = (ICompilationUnit) element; // compilationUnitAST is null when the given compilation unit'w // working copy is being commited (ie, Java Editor is being closed // for the given compilation unit, etc.) if (compilationUnit.exists() // see https://issues.jboss.org/browse/JBIDE-12760: compilationUnit may not exist && compilationUnit.isWorkingCopy() && compilationUnitAST != null) { // assuming possible changes in the method signatures (return type, // param types and param annotations). Other changes in methods // (renaming, adding/removing params) result in add+remove // events on the given method itself. if (requiresDiffsComputation(flags)) { for (IType type : compilationUnit.getAllTypes()) { for (IMethod javaMethod : type.getMethods()) { final JavaElementChangedEvent event = new JavaElementChangedEvent(javaMethod, CHANGED, eventType, compilationUnitAST, new Flags(F_SIGNATURE)); if (javaElementChangedEventFilter.apply(event)) { events.add(event); } } } } } } // element is part of the compilation unit else if (compilationUnitAST != null) { final JavaElementChangedEvent event = new JavaElementChangedEvent(element, deltaKind, eventType, compilationUnitAST, flags); if (javaElementChangedEventFilter.apply(event)) { events.add(event); } } // continue with children elements, both on annotations and other java // elements. for (IJavaElementDelta affectedChild : delta.getAffectedChildren()) { events.addAll(scanDelta(affectedChild, eventType)); } for (IJavaElementDelta annotation : delta.getAnnotationDeltas()) { events.addAll(scanDelta(annotation, eventType)); } return events; }
From source file:org.key_project.key4eclipse.common.ui.expression.MethodStarterAvailablePropertyTester.java
License:Open Source License
/** * Checks if the given {@link Object} is part of the specified source path. * @param receiver The {@link Object} to check. * @return {@code true} is part of source path, {@code false} is not part of source path or unknown. *///from w ww . jav a2 s . c om protected boolean isInSourcePath(Object receiver) { try { IResource resource = null; if (receiver instanceof IResource) { resource = (IResource) receiver; } else if (receiver instanceof IAdaptable) { resource = (IResource) ((IAdaptable) receiver).getAdapter(IResource.class); } else if (receiver instanceof ITextSelection) { IEditorPart editor = WorkbenchUtil.getActiveEditor(); if (editor instanceof JavaEditor) { JavaEditor javaEditor = (JavaEditor) editor; IJavaElement element = SelectionConverter.resolveEnclosingElement(javaEditor, (ITextSelection) receiver); if (element != null) { resource = element.getResource(); } } } if (resource != null) { IProject project = resource.getProject(); IResource sourceLocation = KeYResourceProperties.getSourceClassPathResource(project); return sourceLocation != null && sourceLocation.contains(resource); } else { return false; } } catch (CoreException e) { LogUtil.getLogger().logError(e); return false; } }
From source file:org.key_project.key4eclipse.common.ui.handler.FileStarterHandler.java
License:Open Source License
/** * {@inheritDoc}//w ww. j a va 2 s .com */ @Override protected Object doExecute(ExecutionEvent event) throws Exception { Shell parentShell = HandlerUtil.getActiveShell(event); ISelection selection = HandlerUtil.getCurrentSelection(event); if (selection instanceof IStructuredSelection) { // Try to load by selection Object[] elements = ((IStructuredSelection) selection).toArray(); for (Object element : elements) { if (element instanceof IFile) { IFile file = (IFile) element; if (KeYUtil.isFileExtensionSupported(file.getFileExtension())) { StarterUtil.openFileStarter(parentShell, file); } } else if (element instanceof IJavaElement) { IJavaElement javaElement = (IJavaElement) element; if (javaElement.getResource() instanceof IFile) { IFile file = (IFile) javaElement.getResource(); if (KeYUtil.isFileExtensionSupported(file.getFileExtension())) { StarterUtil.openFileStarter(parentShell, file); } } } } } else { // Try to load by KeY Editor IEditorPart editorPart = HandlerUtil.getActiveEditor(event); if (editorPart != null) { IEditorInput input = editorPart.getEditorInput(); if (input != null) { IFile file = (IFile) input.getAdapter(IFile.class); if (file != null && KeYUtil.isFileExtensionSupported(file.getFileExtension())) { StarterUtil.openFileStarter(parentShell, file); } } } } return null; }
From source file:org.key_project.key4eclipse.common.ui.handler.ProjectStarterHandler.java
License:Open Source License
/** * {@inheritDoc}//from w w w . ja v a2s.c o m */ @Override protected Object doExecute(ExecutionEvent event) throws Exception { Shell parentShell = HandlerUtil.getActiveShell(event); ISelection selection = HandlerUtil.getCurrentSelection(event); if (selection instanceof IStructuredSelection) { // Try to load by selection Object[] elements = ((IStructuredSelection) selection).toArray(); for (Object element : elements) { if (element instanceof IResource) { IProject project = ((IResource) element).getProject(); StarterUtil.openProjectStarter(parentShell, project); } else if (element instanceof IJavaElement) { IJavaElement javaElement = (IJavaElement) element; IProject project = javaElement.getResource().getProject(); StarterUtil.openProjectStarter(parentShell, project); } } } else { // Try to load by KeY Editor IEditorPart editorPart = HandlerUtil.getActiveEditor(event); if (editorPart != null) { IEditorInput input = editorPart.getEditorInput(); if (input != null) { IFile file = (IFile) input.getAdapter(IFile.class); if (file != null) { StarterUtil.openProjectStarter(parentShell, file.getProject()); } } } } return null; }
From source file:org.key_project.util.test.testcase.JDTUtilTest.java
License:Open Source License
/** * Tests {@link JDTUtil#getAllPackageFragmentRoot()} *///from w w w .ja v a2 s.c o m @Test public void testGetAllPackageFragmentRoot() throws CoreException, InterruptedException { // Create projects with test content IJavaProject jdt1 = TestUtilsUtil.createJavaProject("JDTUtilTest_testGetAllPackageFragmentRoot1"); IJavaProject jdt2 = TestUtilsUtil.createJavaProject("JDTUtilTest_testGetAllPackageFragmentRoot2"); IFolder srcFolder1 = jdt1.getProject().getFolder("src"); IFolder srcFolder2 = jdt2.getProject().getFolder("src"); BundleUtil.extractFromBundleToWorkspace(Activator.PLUGIN_ID, "data/packagesRoots1", srcFolder1); BundleUtil.extractFromBundleToWorkspace(Activator.PLUGIN_ID, "data/packagesRoots2", srcFolder2); // Get expected folders IFolder packageA = srcFolder1.getFolder("packageA"); IFolder packageB = srcFolder2.getFolder("packageB"); IFolder b1 = packageB.getFolder("B1"); IFolder b2 = packageB.getFolder("B2"); IFolder b23 = b2.getFolder("B3"); IFolder b234 = b23.getFolder("B4"); List<IResource> expectedResources = new LinkedList<IResource>(); expectedResources.add(packageA); expectedResources.add(packageB); expectedResources.add(b1); expectedResources.add(b2); expectedResources.add(b23); expectedResources.add(b234); // List package roots IJavaElement[] roots = JDTUtil.getAllPackageFragmentRoot(); // Make sure that the test packages are contained for (IJavaElement root : roots) { expectedResources.remove(root.getResource()); } assertEquals(0, expectedResources.size()); }
From source file:org.limy.eclipse.code.header.AddHeaderCore.java
License:Open Source License
/** * Javavfwb_?s??B/*w ww . j a v a 2 s . co m*/ * <p>pbP?[Wv?WFNgw???ASJavat@C??B</p> * @param javaElement Javavf * @param monitor * @throws CoreException */ public void changeResource(IJavaElement javaElement, IProgressMonitor monitor) throws CoreException { LimyJavaUtils.executeAllJavas(javaElement, new IJavaResourceVisitor() { public boolean executeJavaElement(IJavaElement el) throws CoreException { // JavaNX initOptions(el); addHerderLine(el); return false; } }); IResource resource = javaElement.getResource(); if (resource != null) { resource.refreshLocal(IResource.DEPTH_INFINITE, monitor); } }
From source file:org.limy.eclipse.code.header.AddHeaderCore.java
License:Open Source License
/** * u}bsO??B//from ww w . j av a 2s .com * @param javaElement Javav?WFNg */ private void initOptions(IJavaElement javaElement) { ScopedPreferenceStore store = new ScopedPreferenceStore( new ProjectScope(javaElement.getJavaProject().getProject()), LimyCodePlugin.getDefault().getBundle().getSymbolicName()); String projectName = store.getString(LimyCodeConstants.PREF_PROJECT_NAME); if (projectName.length() == 0) { projectName = javaElement.getJavaProject().getElementName(); } options.put("project", projectName); options.put("project_name", projectName); options.put("file_name", javaElement.getResource().getName()); if (javaElement instanceof IPackageDeclaration) { ICompilationUnit cunit = (ICompilationUnit) ((IPackageDeclaration) javaElement).getParent(); createTypeOptions(cunit.findPrimaryType()); } if (javaElement instanceof ICompilationUnit) { ICompilationUnit cunit = (ICompilationUnit) javaElement; createTypeOptions(cunit.findPrimaryType()); } if (javaElement instanceof IType) { createTypeOptions((IType) javaElement); } options.put("user", System.getProperty("user.name")); }
From source file:org.limy.eclipse.code.header.AddHeaderCore.java
License:Open Source License
/** * Java\?[X?itH_?jwb_?B//from ww w .ja v a2 s.c o m * @param javaElement Javavf * @throws CoreException RAO */ private void addHerderLine(IJavaElement javaElement) throws CoreException { IResource resource = javaElement.getResource(); if (resource instanceof IFile) { try { addFileHeader((IFile) resource, header, options); } catch (IOException e) { LimyEclipsePluginUtils.log(e); } } }