List of usage examples for org.eclipse.jdt.core IJavaElement getJavaProject
IJavaProject getJavaProject();
null
if this element is not contained in any Java project (for instance, the IJavaModel
is not contained in any Java project). From source file:org.jboss.tools.cdi.internal.core.el.CdiElResolver.java
License:Open Source License
public BeanRelevanceCheck(IJavaElement element) { super(element); IProject project = element.getJavaProject().getProject(); ICDIProject cdi = CDICorePlugin.getCDIProject(project, true); if (cdi != null) { for (IBean b : cdi.getBeans(element)) { if (b.getName() != null) { names.add(b.getName());// w w w.ja va 2 s . com } } } }
From source file:org.jboss.tools.cdi.ui.search.CDIBeanQueryParticipant.java
License:Open Source License
@Override public void search(ISearchRequestor requestor, QuerySpecification querySpecification, IProgressMonitor monitor) throws CoreException { if (querySpecification instanceof ElementQuerySpecification) { if (!isSearchForReferences(querySpecification.getLimitTo())) { return; }/*from www .j av a 2 s . co m*/ ElementQuerySpecification qs = (ElementQuerySpecification) querySpecification; IJavaElement element = qs.getElement(); IProject project = element.getJavaProject().getProject(); ICDIProject cdiProject = CDICorePlugin.getCDIProject(project, true); if (cdiProject == null) { return; } searchInProject(requestor, querySpecification, cdiProject, monitor, element); CDICoreNature[] natures = cdiProject.getNature().getAllDependentProjects(true); for (CDICoreNature nature : natures) { ICDIProject p = nature.getDelegate(); if (p != null) { searchInProject(requestor, querySpecification, p, monitor, element); } } } }
From source file:org.jboss.tools.cdi.ui.search.InjectionPointQueryParticipant.java
License:Open Source License
public void search(ISearchRequestor requestor, QuerySpecification querySpecification, IProgressMonitor monitor) throws CoreException { objects.clear();/*from ww w . jav a2 s. c om*/ if (querySpecification instanceof ElementQuerySpecification) { if (!isSearchForReferences(querySpecification.getLimitTo())) return; ElementQuerySpecification qs = (ElementQuerySpecification) querySpecification; IJavaElement element = qs.getElement(); if (element instanceof IMethod || element instanceof IField || element instanceof ILocalVariable) { IProject project = element.getJavaProject().getProject(); if (project == null) return; CDICoreNature cdiNature = CDICorePlugin.getCDI(project, true); if (cdiNature == null) return; ICDIProject cdiProject = cdiNature.getDelegate(); if (cdiProject == null) return; Collection<IBean> beans = cdiProject.getBeans(element.getPath()); IInjectionPoint injectionPoint = CDIUtil.findInjectionPoint(beans, element, 0); if (injectionPoint != null) { List<IBean> resultBeanList = CDIUtil.sortBeans(cdiProject.getBeans(false, injectionPoint)); for (IBean bean : resultBeanList) { if (bean != null && containsInSearchScope(querySpecification, bean)) { CDIMatch match = new CDIMatch(bean); if (!objects.contains(match.getPath())) { requestor.reportMatch(match); objects.add(match.getPath()); } } } resolveObserverMethods(cdiProject, injectionPoint, requestor, querySpecification); } if (element instanceof IMethod) { IParameter param = findObserverParameter(beans, (IMethod) element); if (param != null) { findObservedEvents(cdiProject, param, requestor, querySpecification); } } } } }
From source file:org.jboss.tools.common.jdt.debug.ui.actions.LaunchDialogAction.java
License:Open Source License
public void run() { LaunchConfigurationManager lcManager = DebugUIPlugin.getDefault().getLaunchConfigurationManager(); LaunchGroupExtension group = lcManager.getLaunchGroup(RemoteDebugActivator.LAUNCH_CATEGORY); LaunchConfigurationsDialog dialog = new LaunchConfigurationsDialog(getShell(), group); ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager(); ILaunchConfigurationType type = manager .getLaunchConfigurationType(RemoteDebugActivator.REMOTE_JAVA_APPLICATION_ID); ILaunchConfiguration config = RemoteDebugActivator.getDefault().getDefaultLaunchConfiguration(); ILaunchConfigurationWorkingCopy wc = null; try {/* www.jav a2 s . c o m*/ if (config == null) { wc = RemoteDebugActivator.createNewLaunchConfiguration(type); } else { wc = config.getWorkingCopy(); } } catch (CoreException e) { RemoteDebugUIActivator.log(e); RemoteDebugUIActivator.displayLaunchError(getShell(), config, e); } IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); ISelection currentSelection = page.getSelection(); if (currentSelection instanceof ITreeSelection) { ITreeSelection selection = (ITreeSelection) currentSelection; Object object = selection.getFirstElement(); if (!(object instanceof IJavaElement) && object instanceof IAdaptable) { object = ((IAdaptable) object).getAdapter(IJavaElement.class); } if (object instanceof IJavaElement) { IJavaElement javaElement = (IJavaElement) object; IJavaProject javaProject = javaElement.getJavaProject(); if (javaProject != null) { try { wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, javaProject.getElementName()); RemoteDebugUIActivator.getDefault().addSelectedProjects(wc, selection, javaProject); config = wc.doSave(); } catch (CoreException e) { RemoteDebugUIActivator.log(e); RemoteDebugUIActivator.displayLaunchError(getShell(), config, e); } } } } IStructuredSelection selection = new StructuredSelection(config); dialog.setInitialSelection(selection); dialog.setOpenMode(LaunchConfigurationsDialog.LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_SELECTION); dialog.open(); }
From source file:org.jboss.tools.esb.ui.wizard.NewActionWizard.java
License:Open Source License
IProject getProject(IStructuredSelection selection) { if (selection.isEmpty() || !(selection instanceof IStructuredSelection)) { return null; }/*from ww w. jav a 2 s . c o m*/ Object o = ((IStructuredSelection) selection).getFirstElement(); if (o instanceof IProject) { return (IProject) o; } else if (o instanceof IJavaElement) { IJavaElement e = (IJavaElement) o; return e.getJavaProject().getProject(); } else if (o instanceof IAdaptable) { return (IProject) ((IAdaptable) o).getAdapter(IProject.class); } return null; }
From source file:org.jboss.tools.portlet.ui.internal.wizard.xpl.NewJavaClassWizardPageEx.java
License:Open Source License
/** * @return/* ww w . jav a2 s .com*/ */ private IProject getSelectedProject() { IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); if (window == null) return null; ISelection selection = window.getSelectionService().getSelection(); if (selection == null) return null; if (!(selection instanceof IStructuredSelection)) return null; IStructuredSelection stucturedSelection = (IStructuredSelection) selection; if (stucturedSelection.getFirstElement() instanceof EObject) return ProjectUtilities.getProject(stucturedSelection.getFirstElement()); IJavaElement element = getInitialJavaElement(selection); if (element != null && element.getJavaProject() != null) return element.getJavaProject().getProject(); return getExtendedSelectedProject(stucturedSelection.getFirstElement()); }
From source file:org.jboss.tools.remote.debug.ui.RemoteDebugUIActivator.java
License:Open Source License
private ISourceLookupDirector addSourceContainers(ILaunchManager manager, ILaunchConfigurationWorkingCopy wc, ITreeSelection selection, IJavaProject javaProject) throws CoreException { String memento = null;//from w w w . j ava 2 s. co m String locatorId = null; try { memento = wc.getAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_MEMENTO, (String) null); locatorId = wc.getAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_ID, (String) null); if (locatorId == null) { locatorId = wc.getType().getSourceLocatorId(); } } catch (CoreException e) { log(e); } IPersistableSourceLocator locator = manager.newSourceLocator(locatorId); if (memento != null) { locator.initializeFromMemento(memento); } else { locator.initializeDefaults(wc); } if (locator instanceof AbstractSourceLookupDirector) { ISourceLookupDirector director = (ISourceLookupDirector) locator; List objects = selection.toList(); Set<String> projectNames = new LinkedHashSet<String>(); for (Object object : objects) { if (!(object instanceof IJavaElement) && object instanceof IAdaptable) { object = ((IAdaptable) object).getAdapter(IJavaElement.class); } if (!(object instanceof IJavaElement)) { continue; } IJavaElement javaElement = (IJavaElement) object; IJavaProject project = javaElement.getJavaProject(); if (project instanceof IJavaProject && !project.equals(javaProject)) { projectNames.add(((IJavaProject) project).getElementName()); } } List<String> projectsList = new ArrayList<String>(); projectsList.addAll(projectNames); wc.setAttribute(RemoteDebugActivator.ATTR_SELECTED_PROJECTS, projectsList); return director; } else { logWarning("Launch configuration doesn't support source lookup"); } return null; }
From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.JavaElementChangedBuildJob.java
License:Open Source License
protected IStatus run(final IProgressMonitor progressMonitor) { final long startTime = new Date().getTime(); IJavaElement element = null; try {/*from w ww. j a v a 2 s.c om*/ progressMonitor.beginTask("Building JAX-RS Metamodel", 3 * SCALE); progressMonitor.worked(SCALE); Logger.debug("Building JAX-RS Metamodel after: {}", event); if (progressMonitor.isCanceled()) { return Status.CANCEL_STATUS; } // scan and filter delta, retrieve a list of java changes final List<JavaElementChangedEvent> affectedJavaElements = new JavaElementDeltaScanner() .scanAndFilterEvent(event, new SubProgressMonitor(progressMonitor, SCALE)); if (affectedJavaElements.isEmpty()) { Logger.debug("* No relevant affected element to process *"); return Status.OK_STATUS; } if (progressMonitor.isCanceled()) { return Status.CANCEL_STATUS; } for (JavaElementChangedEvent delta : affectedJavaElements) { element = delta.getElement(); final IJavaProject javaProject = element.getJavaProject(); final JaxrsMetamodel metamodel = JaxrsMetamodelLocator.get(javaProject, true); // prevent NPE when opening a closed project (ie, there's no metamodel yet). if (metamodel != null) { try { metamodel.processJavaElementChange(delta, progressMonitor); if (progressMonitor.isCanceled()) { return Status.CANCEL_STATUS; } } catch (Exception e) { final IStatus status = Logger.error("Failed to build or refresh the JAX-RS metamodel", e); metamodel.setBuildStatus(status); return status; } finally { if (Logger.isDebugEnabled()) { Logger.debug(metamodel.getStatus()); } } } } } catch (Exception e) { Logger.error("Failed to process Java element change", e); if (element != null) { return new Status(IStatus.ERROR, JBossJaxrsCorePlugin.PLUGIN_ID, "Failed to build or refresh the JAX-RS metamodel while processing " + element.getElementName() + " in project " + element.getAncestor(IJavaElement.JAVA_PROJECT).getElementName(), e); } else { return new Status(IStatus.ERROR, JBossJaxrsCorePlugin.PLUGIN_ID, "Failed to build or refresh the JAX-RS metamodel while processing a change in the Java Model", e); } } finally { progressMonitor.done(); long endTime = new Date().getTime(); if (Logger.isDebugEnabled()) { Logger.debug("Java element changes processed in {} ms.", (endTime - startTime)); } } return Status.OK_STATUS; }
From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.JavaElementChangedBuildTask.java
License:Open Source License
public IStatus execute(final IProgressMonitor progressMonitor) { final long startTime = new Date().getTime(); IJavaElement element = null; try {// w w w . j ava 2s . c o m progressMonitor.beginTask("Building JAX-RS Metamodel", 3 * SCALE); progressMonitor.worked(SCALE); Logger.debug("Building JAX-RS Metamodel after: {}", event); if (progressMonitor.isCanceled()) { return Status.CANCEL_STATUS; } // scan and filter delta, retrieve a list of java changes final List<JavaElementChangedEvent> affectedJavaElements = new JavaElementDeltaScanner() .scanAndFilterEvent(event, new SubProgressMonitor(progressMonitor, SCALE)); if (affectedJavaElements.isEmpty()) { Logger.debug("* No relevant affected element to process *"); return Status.OK_STATUS; } if (progressMonitor.isCanceled()) { return Status.CANCEL_STATUS; } for (JavaElementChangedEvent delta : affectedJavaElements) { element = delta.getElement(); final IJavaProject javaProject = element.getJavaProject(); final JaxrsMetamodel metamodel = JaxrsMetamodelLocator.get(javaProject, true); // prevent NPE when opening a closed project (ie, there's no metamodel yet). if (metamodel != null) { try { metamodel.processJavaElementChange(delta, progressMonitor); if (progressMonitor.isCanceled()) { return Status.CANCEL_STATUS; } } catch (Throwable e) { final IStatus status = Logger.error("Failed to build or refresh the JAX-RS metamodel", e); metamodel.setBuildStatus(status); return status; } finally { if (Logger.isDebugEnabled()) { Logger.debug(metamodel.getStatus()); } } } } } catch (Exception e) { if (element != null) { return new Status(IStatus.ERROR, JBossJaxrsCorePlugin.PLUGIN_ID, "Failed to build or refresh the JAX-RS metamodel while processing " + element.getElementName() + " in project " + element.getAncestor(IJavaElement.JAVA_PROJECT).getElementName(), e); } else { return new Status(IStatus.ERROR, JBossJaxrsCorePlugin.PLUGIN_ID, "Failed to build or refresh the JAX-RS metamodel while processing a change in the Java Model", e); } } finally { progressMonitor.done(); long endTime = new Date().getTime(); if (Logger.isDebugEnabled()) { Logger.debug("Java element changes processed in {} ms.", (endTime - startTime)); } } return Status.OK_STATUS; }
From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.JavaElementChangedProcessor.java
License:Open Source License
private List<JaxrsElementDelta> processAffectedElement(JavaElementDelta delta, IProgressMonitor progressMonitor) throws CoreException { Logger.debug("Processing {} Java change", delta); final IJavaElement element = delta.getElement(); final CompilationUnit ast = delta.getCompilationUnitAST(); final int deltaKind = delta.getDeltaKind(); // final int[] flags = event.getFlags(); final int elementType = delta.getElement().getElementType(); // if no metamodel existed for the given project, one is automatically // created. Yet, this applies only to project having the JAX-RS Facet final IJavaProject javaProject = element.getJavaProject(); if (!javaProject.isOpen() || !javaProject.getProject().isOpen()) { Logger.debug("***(Java) Project is closed !***"); return Collections.emptyList(); }//from w ww .jav a2s .c o m JaxrsMetamodel metamodel = JaxrsMetamodelLocator.get(javaProject); if (metamodel == null) { metamodel = JaxrsMetamodel.create(javaProject); } switch (deltaKind) { case ADDED: switch (elementType) { case JAVA_PROJECT: return processAddition(element, metamodel, progressMonitor); case PACKAGE_FRAGMENT_ROOT: return processAddition(element, metamodel, progressMonitor); case COMPILATION_UNIT: return processAddition((ICompilationUnit) element, ast, metamodel, progressMonitor); case TYPE: return processAddition((IType) element, ast, metamodel, progressMonitor); case METHOD: return processAddition((IMethod) element, ast, metamodel, progressMonitor); case FIELD: return processAddition((IField) element, ast, metamodel, progressMonitor); case ANNOTATION: return processAddition((IAnnotation) element, ast, metamodel, progressMonitor); } //} break; case CHANGED: switch (elementType) { case TYPE: return processChange((IType) element, ast, metamodel, progressMonitor); case METHOD: return processChange((IMethod) element, ast, metamodel, progressMonitor); case ANNOTATION: return processChange((IAnnotation) element, ast, metamodel, progressMonitor); } break; case REMOVED: switch (elementType) { case COMPILATION_UNIT: return processRemoval((ICompilationUnit) element, ast, metamodel, progressMonitor); case PACKAGE_FRAGMENT_ROOT: return processRemoval((IPackageFragmentRoot) element, metamodel, progressMonitor); case TYPE: return processRemoval((IType) element, ast, metamodel, progressMonitor); case METHOD: return processRemoval((IMethod) element, ast, metamodel, progressMonitor); case ANNOTATION: return processRemoval((IAnnotation) element, ast, metamodel, progressMonitor); case FIELD: return processRemoval((IField) element, ast, metamodel, progressMonitor); } break; } return Collections.emptyList(); }