List of usage examples for org.eclipse.jdt.core IJavaProject getPackageFragmentRoots
IPackageFragmentRoot[] getPackageFragmentRoots() throws JavaModelException;
From source file:com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.java
License:Open Source License
/** * Computes and return the {@link IPackageFragmentRoot}s corresponding to the source * folders of the specified project.//from w w w. j av a 2 s . co m * * @param project the project * @param includeContainers True to include containers * @param skipGenFolder True to skip the "gen" folder * @return an array of IPackageFragmentRoot. */ private IPackageFragmentRoot[] getPackageFragmentRoots(IProject project, boolean includeContainers, boolean skipGenFolder) { ArrayList<IPackageFragmentRoot> result = new ArrayList<IPackageFragmentRoot>(); try { IJavaProject javaProject = JavaCore.create(project); IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { if (skipGenFolder) { IResource resource = roots[i].getResource(); if (resource != null && resource.getName().equals(FD_GEN_SOURCES)) { continue; } } IClasspathEntry entry = roots[i].getRawClasspathEntry(); if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE || (includeContainers && entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER)) { result.add(roots[i]); } } } catch (JavaModelException e) { } return result.toArray(new IPackageFragmentRoot[result.size()]); }
From source file:com.android.ide.eclipse.adt.internal.editors.manifest.model.UiClassAttributeNode.java
License:Open Source License
/** * Computes and return the {@link IPackageFragmentRoot}s corresponding to the source folders of * the specified project.//from ww w . ja va 2 s. c o m * @param project the project * @param include_containers True to include containers * @return an array of IPackageFragmentRoot. */ private IPackageFragmentRoot[] getPackageFragmentRoots(IProject project, boolean include_containers) { ArrayList<IPackageFragmentRoot> result = new ArrayList<IPackageFragmentRoot>(); try { IJavaProject javaProject = JavaCore.create(project); IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { IClasspathEntry entry = roots[i].getRawClasspathEntry(); if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE || (include_containers && entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER)) { result.add(roots[i]); } } } catch (JavaModelException e) { } return result.toArray(new IPackageFragmentRoot[result.size()]); }
From source file:com.android.ide.eclipse.adt.internal.editors.manifest.model.UiPackageAttributeNode.java
License:Open Source License
/** * Utility method that computes and returns the list of {@link IPackageFragmentRoot} * corresponding to the source folder of the specified project. * * @param project the project// w ww. ja v a 2 s. com * @return an array of IPackageFragmentRoot. Can be empty but not null. */ private IPackageFragmentRoot[] getPackageFragmentRoots(IProject project) { ArrayList<IPackageFragmentRoot> result = new ArrayList<IPackageFragmentRoot>(); try { IJavaProject javaProject = JavaCore.create(project); IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { IClasspathEntry entry = roots[i].getRawClasspathEntry(); if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) { result.add(roots[i]); } } } catch (JavaModelException e) { } return result.toArray(new IPackageFragmentRoot[result.size()]); }
From source file:com.blackducksoftware.integration.eclipseplugin.common.services.ProjectInformationService.java
License:Apache License
public List<URL> getProjectDependencyFilePaths(final String projectName) { final IJavaProject javaProject = getJavaProject(projectName); try {/* w w w . j ava 2 s .c o m*/ IPackageFragmentRoot[] packageFragmentRoots = javaProject.getPackageFragmentRoots(); final List<URL> dependencyFilepaths = getBinaryDependencyFilepaths(Arrays.asList(packageFragmentRoots)); return dependencyFilepaths; } catch (final JavaModelException e) { // if exception thrown when getting filepaths to source and binary dependencies, assume // there are no dependencies } return Arrays.asList(); }
From source file:com.centurylink.mdw.plugin.server.JavaSourceHyperlink.java
License:Apache License
protected Object getJavaElement(IJavaProject project, String type) throws JavaModelException, CoreException { if (project == null) return null; IPackageFragmentRoot[] roots = project.getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { PackageFragmentRootSourceLocation loc = new PackageFragmentRootSourceLocation(roots[i]); IJavaSourceLocation rootLoc = (IJavaSourceLocation) loc; Object element = rootLoc.findSourceElement(type); if (element != null) { return element; }/* w ww . jav a2 s.co m*/ } // not found return null; }
From source file:com.centurylink.mdw.plugin.WizardPage.java
License:Apache License
public void determinePackageFragmentRoot(WorkflowProject workflowProject) { IPackageFragmentRoot oldPackageFragmentRoot = getPackageFragmentRoot(); if (workflowProject != null && workflowProject.isLocalJavaSupported()) { try {// ww w. ja v a 2 s . c o m IPackageFragmentRoot tempRoot = null; IPackageFragmentRoot srcRoot = null; IJavaProject javaProject = workflowProject == null ? null : workflowProject.getSourceJavaProject(); if (javaProject != null) { for (IPackageFragmentRoot pfr : javaProject.getPackageFragmentRoots()) { if (pfr.getKind() == IPackageFragmentRoot.K_SOURCE) { if (pfr.getElementName().equals(MdwPlugin.getSettings().getTempResourceLocation())) { tempRoot = pfr; } else { srcRoot = pfr; break; } } } if (srcRoot == null && tempRoot == null) srcRoot = javaProject.getPackageFragmentRoot(javaProject.getResource()); setPackageFragmentRoot(srcRoot == null ? tempRoot : srcRoot, true); } } catch (JavaModelException ex) { PluginMessages.log(ex); } } else { setPackageFragmentRoot(getPackageFragmentRoot(), true); } if (oldPackageFragmentRoot == null || !oldPackageFragmentRoot.equals(getPackageFragmentRoot())) setPackageFragment(null, true); }
From source file:com.centurylink.mdw.plugin.WizardPage.java
License:Apache License
/** * Override to prefer non-temp package root. *///from ww w .j a v a2 s .c o m @SuppressWarnings("restriction") @Override protected void initContainerPage(IJavaElement elem) { IPackageFragmentRoot tempRoot = null; // only as fallback IPackageFragmentRoot initRoot = null; if (elem != null) { initRoot = org.eclipse.jdt.internal.corext.util.JavaModelUtil.getPackageFragmentRoot(elem); try { if (initRoot == null || initRoot.getKind() != IPackageFragmentRoot.K_SOURCE) { IJavaProject jproject = elem.getJavaProject(); if (jproject != null) { initRoot = null; if (jproject.exists()) { IPackageFragmentRoot[] roots = jproject.getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) { if (roots[i].getElementName() .equals(MdwPlugin.getSettings().getTempResourceLocation())) { tempRoot = roots[i]; } else { initRoot = roots[i]; break; } } } } if (initRoot == null && tempRoot == null) { initRoot = jproject.getPackageFragmentRoot(jproject.getResource()); } } } } catch (JavaModelException e) { org.eclipse.jdt.internal.ui.JavaPlugin.log(e); } } setPackageFragmentRoot(initRoot == null ? tempRoot : initRoot, true); }
From source file:com.codenvy.ide.ext.java.server.internal.core.search.HierarchyScope.java
License:Open Source License
private void computeDependents(IJavaProject project, HashSet set, HashSet visited) { if (visited.contains(project)) return;/*from www . ja va 2 s. c o m*/ visited.add(project); IProject[] dependents = project.getProject().getReferencingProjects(); for (int i = 0; i < dependents.length; i++) { try { IJavaProject dependent = JavaCore.create(dependents[i]); IPackageFragmentRoot[] roots = dependent.getPackageFragmentRoots(); set.add(dependent.getPath()); for (int j = 0; j < roots.length; j++) { IPackageFragmentRoot pkgFragmentRoot = roots[j]; if (pkgFragmentRoot.isArchive()) { set.add(pkgFragmentRoot.getPath()); } } computeDependents(dependent, set, visited); } catch (JavaModelException e) { // project is not a java project } } }
From source file:com.ebmwebsourcing.petals.studio.dev.properties.internal.wizards.GenerateConstantsWizardPage.java
License:Open Source License
@Override public void createControl(Composite parent) { // Create the composite container and define its layout final Composite container = new Composite(parent, SWT.NONE); GridLayoutFactory.swtDefaults().extendedMargins(15, 15, 15, 10).numColumns(2).applyTo(container); container.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); // Container viewer Label l = new Label(container, SWT.NONE); l.setText("Select the output directory to generate the Java constants."); GridDataFactory.swtDefaults().span(2, 1).applyTo(l); TreeViewer viewer = new TreeViewer(container, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL | SWT.HIDE_SELECTION); GridData layoutData = new GridData(GridData.FILL_BOTH); layoutData.heightHint = 100;//ww w. j ava 2 s.co m layoutData.horizontalSpan = 2; viewer.getTree().setLayoutData(layoutData); viewer.setLabelProvider(new WorkbenchLabelProvider()); viewer.setContentProvider(new WorkbenchContentProvider() { /* * (non-Javadoc) * @see org.eclipse.ui.model.BaseWorkbenchContentProvider * #getChildren(java.lang.Object) */ @Override public Object[] getChildren(Object o) { List<Object> children = new ArrayList<Object>(); try { if (o instanceof IJavaProject) { for (IPackageFragmentRoot root : ((IJavaProject) o).getPackageFragmentRoots()) { if (root.getResource() instanceof IContainer) children.add(root); } } else if (o instanceof IWorkspaceRoot) { for (IProject p : ((IWorkspaceRoot) o).getProjects()) { if (!p.isAccessible() || !p.hasNature(JavaCore.NATURE_ID)) continue; IJavaProject jp = JavaCore.create(p); if (jp != null) children.add(jp); } } } catch (CoreException e) { PetalsStudioDevPlugin.log(e, IStatus.ERROR); } return children.toArray(new Object[0]); } /* * (non-Javadoc) * @see org.eclipse.ui.model.BaseWorkbenchContentProvider * #hasChildren(java.lang.Object) */ @Override public boolean hasChildren(Object element) { return getChildren(element).length > 0; } }); // Set page input viewer.setInput(ResourcesPlugin.getWorkspace().getRoot()); if (this.originalSelection != null) { try { IJavaProject jp = JavaCore.create(this.originalSelection); for (IPackageFragmentRoot root : jp.getPackageFragmentRoots()) { if (root.getResource() instanceof IContainer) { GenerateConstantsWizardPage.this.target = root; break; } } } catch (JavaModelException e) { PetalsStudioDevPlugin.log(e, IStatus.ERROR, "This should not happen (check in the handler)."); } } if (this.target != null) { viewer.setSelection(new StructuredSelection(this.target), true); viewer.expandToLevel(this.target, 1); viewer.getTree().notifyListeners(SWT.Selection, new Event()); } // Java meta new Label(container, SWT.NONE).setText("Java Package:"); final Text packageText = new Text(container, SWT.SINGLE | SWT.BORDER); packageText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); packageText.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { GenerateConstantsWizardPage.this.javaPackage = ((Text) e.widget).getText().trim(); validate(); } }); new Label(container, SWT.NONE).setText("Java Class Name:"); final Text classText = new Text(container, SWT.SINGLE | SWT.BORDER); classText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); classText.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { GenerateConstantsWizardPage.this.className = ((Text) e.widget).getText().trim(); validate(); } }); // Add the missing listeners viewer.addPostSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { Object o = ((IStructuredSelection) event.getSelection()).getFirstElement(); if (o instanceof IPackageFragmentRoot) { GenerateConstantsWizardPage.this.target = (IPackageFragmentRoot) o; String pName = GenerateConstantsWizardPage.this.target.getJavaProject().getProject().getName(); packageText.setText(pName.replaceAll("-", ".") + ".generated"); int index = pName.lastIndexOf('.') + 1; if (index <= 0 || index > pName.length()) pName = "Default"; else pName = pName.substring(index); classText.setText(pName); } else { GenerateConstantsWizardPage.this.target = null; } } }); // Set control setControl(container); }
From source file:com.ecfeed.ui.common.utils.EclipsePackageFragmentGetter.java
License:Open Source License
private static IPackageFragmentRoot getAnySourceFolder(IFileInfoProvider fFileInfoProvider) throws CoreException { if (fFileInfoProvider.getProject().hasNature(JavaCore.NATURE_ID)) { IJavaProject project = JavaCore.create(fFileInfoProvider.getProject()); for (IPackageFragmentRoot packageFragmentRoot : project.getPackageFragmentRoots()) { if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) { return packageFragmentRoot; }/*from w w w .j a v a2 s. co m*/ } } return null; }