List of usage examples for org.eclipse.jdt.core IJavaElement exists
boolean exists();
From source file:org.eclipse.mylyn.internal.java.ui.search.AbstractJavaRelationProvider.java
License:Open Source License
@Override protected void findRelated(final IInteractionElement node, int degreeOfSeparation) { if (node == null) { return;/*ww w. j a v a2 s.co m*/ } if (node.getContentType() == null) { StatusHandler.log(new Status(IStatus.WARNING, JavaUiBridgePlugin.ID_PLUGIN, "Null content type for: " //$NON-NLS-1$ + node)); return; } if (!node.getContentType().equals(JavaStructureBridge.CONTENT_TYPE)) { return; } IJavaElement javaElement = JavaCore.create(node.getHandleIdentifier()); if (!acceptElement(javaElement) || !javaElement.exists() || javaElement instanceof IInitializer) { return; } IJavaSearchScope scope = createJavaSearchScope(javaElement, degreeOfSeparation); if (scope != null) { runJob(node, degreeOfSeparation, getId()); } }
From source file:org.eclipse.mylyn.internal.java.ui.search.AbstractJavaRelationProvider.java
License:Open Source License
private IJavaSearchScope createJavaSearchScope(IJavaElement element, int degreeOfSeparation) { Set<IInteractionElement> landmarks = ContextCore.getContextManager().getActiveLandmarks(); List<IInteractionElement> interestingElements = ContextCore.getContextManager().getActiveContext() .getInteresting();// ww w .j ava2s . c o m Set<IJavaElement> searchElements = new HashSet<IJavaElement>(); int includeMask = IJavaSearchScope.SOURCES; if (degreeOfSeparation == 1) { for (IInteractionElement landmark : landmarks) { AbstractContextStructureBridge bridge = ContextCore.getStructureBridge(landmark.getContentType()); if (includeNodeInScope(landmark, bridge)) { Object o = bridge.getObjectForHandle(landmark.getHandleIdentifier()); if (o instanceof IJavaElement) { IJavaElement landmarkElement = (IJavaElement) o; if (landmarkElement.exists()) { if (landmarkElement instanceof IMember && !landmark.getInterest().isPropagated()) { searchElements.add(((IMember) landmarkElement).getCompilationUnit()); } else if (landmarkElement instanceof ICompilationUnit) { searchElements.add(landmarkElement); } } } } } } else if (degreeOfSeparation == 2) { for (IInteractionElement interesting : interestingElements) { AbstractContextStructureBridge bridge = ContextCore .getStructureBridge(interesting.getContentType()); if (includeNodeInScope(interesting, bridge)) { Object object = bridge.getObjectForHandle(interesting.getHandleIdentifier()); if (object instanceof IJavaElement) { IJavaElement interestingElement = (IJavaElement) object; if (interestingElement.exists()) { if (interestingElement instanceof IMember && !interesting.getInterest().isPropagated()) { searchElements.add(((IMember) interestingElement).getCompilationUnit()); } else if (interestingElement instanceof ICompilationUnit) { searchElements.add(interestingElement); } } } } } } else if (degreeOfSeparation == 3 || degreeOfSeparation == 4) { for (IInteractionElement interesting : interestingElements) { AbstractContextStructureBridge bridge = ContextCore .getStructureBridge(interesting.getContentType()); if (includeNodeInScope(interesting, bridge)) { // TODO what to do when the element is not a java element, // how determine if a javaProject? IResource resource = ResourcesUiBridgePlugin.getDefault().getResourceForElement(interesting, true); if (resource != null) { IProject project = resource.getProject(); if (project != null && JavaProject.hasJavaNature(project) && project.exists()) { IJavaProject javaProject = JavaCore.create(project);// ((IJavaElement)o).getJavaProject(); if (javaProject != null && javaProject.exists()) { searchElements.add(javaProject); } } } } } if (degreeOfSeparation == 4) { includeMask = IJavaSearchScope.SOURCES | IJavaSearchScope.APPLICATION_LIBRARIES | IJavaSearchScope.SYSTEM_LIBRARIES; } } else if (degreeOfSeparation == 5) { return SearchEngine.createWorkspaceScope(); } if (searchElements.size() == 0) { return null; } else { IJavaElement[] elements = new IJavaElement[searchElements.size()]; int j = 0; for (IJavaElement searchElement : searchElements) { elements[j] = searchElement; j++; } return SearchEngine.createJavaSearchScope(elements, includeMask); } }
From source file:org.eclipse.mylyn.internal.java.ui.search.AbstractJavaRelationProvider.java
License:Open Source License
@Override public IActiveSearchOperation getSearchOperation(IInteractionElement node, int limitTo, int degreeOfSeparation) { IJavaElement javaElement = JavaCore.create(node.getHandleIdentifier()); if (javaElement == null || !javaElement.exists()) { return null; }//from w ww.java2 s .c om IJavaSearchScope scope = createJavaSearchScope(javaElement, degreeOfSeparation); if (scope == null) { return null; } QuerySpecification specs = new ElementQuerySpecification(javaElement, limitTo, scope, Messages.AbstractJavaRelationProvider_Mylyn_degree_of_separation + degreeOfSeparation); return new JavaSearchOperation(specs); }
From source file:org.eclipse.mylyn.internal.java.ui.search.JavaActiveSearchResultUpdater.java
License:Open Source License
private void handleRemoved(Set removedElements) { Object[] elements = fResult.getElements(); for (Object element : elements) { if (isContainedInRemoved(removedElements, element)) { if (element instanceof IJavaElement) { IJavaElement je = (IJavaElement) element; if (!je.exists()) { Match[] matches = fResult.getMatches(element); for (Match matche : matches) { fResult.removeMatch(matche); }//w w w . j a v a 2s . c o m // XXX remove edge and element } } else if (element instanceof IResource) { IResource resource = (IResource) element; if (!resource.exists()) { Match[] matches = fResult.getMatches(element); for (Match matche : matches) { fResult.removeMatch(matche); } // XXX remove edge and element } } } } }
From source file:org.eclipse.mylyn.internal.pde.ui.XmlJavaRelationProvider.java
License:Open Source License
@Override protected void findRelated(final IInteractionElement node, int degreeOfSeparation) { if (!node.getContentType().equals("java")) { //$NON-NLS-1$ return;//from w ww . j a va 2 s. co m } IJavaElement javaElement = JavaCore.create(node.getHandleIdentifier()); if (javaElement == null || javaElement instanceof ICompilationUnit || !javaElement.exists()) { return; } if (!acceptElement(javaElement)) { return; } TextSearchScope scope = createTextSearchScope(degreeOfSeparation); if (scope != null) { runJob(node, javaElement, degreeOfSeparation, getId()); } }
From source file:org.eclipse.mylyn.internal.sandbox.bridge.bugs.BugzillaReferencesProvider.java
License:Open Source License
protected boolean acceptElement(IJavaElement javaElement) { return javaElement != null && (javaElement instanceof IMember || javaElement instanceof IType) && javaElement.exists(); }
From source file:org.eclipse.mylyn.internal.sandbox.ui.JavaContextLabelProvider.java
License:Open Source License
private String getTextForElement(IJavaElement element) { if (DelegatingContextLabelProvider.isQualifyNamesMode()) { if (element instanceof IMember && !(element instanceof IType)) { String parentName = ((IMember) element).getParent().getElementName(); if (parentName != null && parentName != "") { return parentName + '.' + super.getText(element); }/* ww w. j a v a 2s .c om*/ } } if (element.exists()) { return super.getText(element); } else { return LABEL_ELEMENT_MISSING; } }
From source file:org.eclipse.mylyn.internal.sandbox.ui.views.ContextHierarchyView.java
License:Open Source License
/** * Public for testing./*from ww w.j av a2 s. c om*/ */ public void refreshHierarchy(boolean asyncRefreshMode) { try { if (root != null && root.getChildren().length > 0) { root.removeAllChildren(); } nodeMap.clear(); Set<IInteractionElement> landmarks = ContextCore.getContextManager().getActiveLandmarks(); for (IInteractionElement node : landmarks) { IJavaElement element = null; if (node.getContentType().equals(JavaStructureBridge.CONTENT_TYPE)) { element = JavaCore.create(node.getHandleIdentifier()); } if (element != null && element instanceof IType && element.exists()) { IType type = (IType) element; ITypeHierarchy hierarchy = type.newSupertypeHierarchy(null); if (hierarchy != null) { IType[] supertypes = hierarchy.getAllSuperclasses(type); List<IType> hierarchyTypes = new ArrayList<IType>(Arrays.asList(supertypes)); Collections.reverse(hierarchyTypes); hierarchyTypes.add(type); addHierarchy(root, hierarchyTypes); } } } if (!asyncRefreshMode) { // for testing refreshViewer(); } else { PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { public void run() { refreshViewer(); } }); } } catch (Throwable t) { StatusHandler .log(new Status(IStatus.ERROR, JavaUiBridgePlugin.ID_PLUGIN, "Could not update viewer", t)); } }
From source file:org.eclipse.objectteams.otdt.internal.core.ext.ResourceMarkable.java
License:Open Source License
public boolean exists() { if (!this.fResource.exists()) return false; IJavaElement javaElement = getJavaElement(); do {//from www. j ava 2 s. c o m if (!javaElement.exists()) return false; javaElement = javaElement.getParent(); } while (javaElement.getElementType() != IJavaElement.PACKAGE_FRAGMENT_ROOT); return true; }
From source file:org.eclipse.objectteams.otdt.internal.core.MethodMapping.java
License:Open Source License
public boolean exists() { IJavaElement myParent = getParent(); if (!myParent.exists()) return false; try {//ww w . j ava2 s .com for (IJavaElement child : ((IType) myParent).getChildren()) if (this.equals(child)) { // side-effect: fetch source range: if (this != child && this.declarationSourceStart == 0) { MethodMapping other = (MethodMapping) child; this.declarationSourceStart = other.declarationSourceStart; this.declarationSourceEnd = other.declarationSourceEnd; this.sourceStart = other.sourceStart; this.sourceEnd = other.sourceEnd; } return true; } } catch (JavaModelException e) { /* nop, will return false */ } return false; }