List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot getKind
int getKind() throws JavaModelException;
From source file:org.eclipse.recommenders.jdt.JavaElementsFinder.java
License:Open Source License
public static ImmutableList<IPackageFragmentRoot> findSourceRoots(IJavaProject project) { Builder<IPackageFragmentRoot> b = ImmutableList.builder(); try {// w w w. j a v a 2 s . c om for (IPackageFragmentRoot root : project.getPackageFragmentRoots()) { if (K_SOURCE == root.getKind()) { b.add(root); } } } catch (Exception e) { log(ERROR_CANNOT_FETCH_PACKAGE_FRAGMENT_ROOTS, e, project); } return b.build(); }
From source file:org.eclipse.recommenders.jdt.JavaElementsFinder.java
License:Open Source License
public static ImmutableList<IPackageFragmentRoot> findPackageRootsWithSources(IJavaProject project) { Builder<IPackageFragmentRoot> b = ImmutableList.builder(); try {//from w ww . j a v a2s. c om for (IPackageFragmentRoot root : project.getPackageFragmentRoots()) { if (K_SOURCE == root.getKind()) { b.add(root); } else if (K_BINARY == root.getKind()) { if (hasSourceAttachment(root)) { b.add(root); } } } } catch (Exception e) { log(ERROR_CANNOT_FETCH_PACKAGE_FRAGMENT_ROOTS, e, project); } return b.build(); }
From source file:org.eclipse.sapphire.java.jdt.ui.internal.JavaTypeCreateActionHandler.java
License:Open Source License
private final IPackageFragmentRoot src(final IJavaProject project) throws JavaModelException { for (IPackageFragmentRoot root : project.getPackageFragmentRoots()) { if (root.getKind() == IPackageFragmentRoot.K_SOURCE) { return root; }/* w ww. j a v a 2 s. c o m*/ } return null; }
From source file:org.eclipse.servicesregistry.testutils.TestProject.java
License:Open Source License
private IPackageFragmentRoot findSourceFolder() throws JavaModelException { for (IPackageFragmentRoot pfr : javaProject.getAllPackageFragmentRoots()) { if (pfr.getKind() == IPackageFragmentRoot.K_SOURCE) { return pfr; }/*from www.jav a 2 s. c o m*/ } return null; }
From source file:org.eclipse.virgo.ide.manifest.internal.core.validation.rules.ExportPackageRule.java
License:Open Source License
private void validateExportPackage(BundleManifestHeader header, ManifestElement element, BundleManifestValidationContext context) { boolean found = false; try {//from www . j a v a2s . c o m IPackageFragmentRoot[] roots = JdtUtils.getJavaProject(context.getRootElement().getElementResource()) .getPackageFragmentRoots(); for (IPackageFragmentRoot root : roots) { int kind = root.getKind(); if (kind == IPackageFragmentRoot.K_SOURCE || (kind == IPackageFragmentRoot.K_BINARY && !root.isExternal())) { IJavaElement[] javaElements = root.getChildren(); for (int j = 0; j < javaElements.length; j++) if (javaElements[j] instanceof IPackageFragment) { IPackageFragment fragment = (IPackageFragment) javaElements[j]; String name = fragment.getElementName(); if (name.length() == 0) { name = "."; } if (fragment.containsJavaResources() || fragment.getNonJavaResources().length > 0) { if (name.equals(element.getValue())) { found = true; } } } } } } catch (JavaModelException e) { } // if we actually have packages to add if (!found) { context.warning("MISSING_PACKAGE_EXPORT", "Bundle does export non-existing package", header.getLineNumber() + 1); } }
From source file:org.eclipse.vjet.eclipse.javalaunch.utils.EclipseResourceUtils.java
License:Open Source License
/** * Find the source folder for this resource. For instance if the resource is * in "/src/main/java/com/ebay/blogs/login" then return "src/main/java" * //from w w w . ja v a2 s . c o m * To do this we must iterate through all the package fragments and look for * source folders. If this is the source folder for the resource then remove * the source folder path. * * @param resource * @param jProject * @return */ protected static IPath getResourcePath(IResource resource, IJavaProject jProject) { /** */ if (jProject != null) { try { IPackageFragmentRoot[] packageRoots = jProject.getPackageFragmentRoots(); if (packageRoots != null) { // Look through the package fragment roots for (IPackageFragmentRoot packageFragmentRoot : packageRoots) { // If this is a source folder if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) { // If this is the source folder for the resource we are interested in. if (packageFragmentRoot.getPath().isPrefixOf(resource.getFullPath())) { return packageFragmentRoot.getPath(); } } } } } catch (JavaModelException e) { e.printStackTrace(); throw new RuntimeException(e); } } return null; }
From source file:org.eclipse.wb.internal.core.utils.jdt.core.CodeUtils.java
License:Open Source License
/** * @return the {@link IPackageFragmentRoot} that is parent of given {@link IJavaElement} or first * {@link IPackageFragmentRoot} of {@link IJavaProject}. *//*from w w w. ja va2 s . c o m*/ public static IPackageFragmentRoot getPackageFragmentRoot(IJavaElement element) throws JavaModelException { if (element != null) { // try to find valid parent IPackageFragmentRoot { IPackageFragmentRoot root = (IPackageFragmentRoot) element .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); if (root != null && root.getKind() == IPackageFragmentRoot.K_SOURCE) { return root; } } // use IPackageFragmentRoot of IJavaProject { IJavaProject javaProject = element.getJavaProject(); if (javaProject != null && javaProject.exists()) { for (IPackageFragmentRoot root : javaProject.getPackageFragmentRoots()) { if (root.getKind() == IPackageFragmentRoot.K_SOURCE) { return root; } } } } } // invalid element return null; }
From source file:org.eclipse.wb.tests.designer.core.TestProject.java
License:Open Source License
public IPackageFragmentRoot getSourceFolder() throws CoreException { IPackageFragmentRoot[] packageRoots = m_javaProject.getPackageFragmentRoots(); for (IPackageFragmentRoot packageRoot : packageRoots) { if (packageRoot.getKind() == IPackageFragmentRoot.K_SOURCE) { return packageRoot; }/*www. j a va2 s.c o m*/ } throw new IllegalStateException("Can not find source folder."); }
From source file:org.eclipse.wst.xml.search.editor.util.JdtUtils.java
License:Open Source License
public static IResource[] getJavaProjectSrcFolders(IProject project) { IJavaProject javaProject = getJavaProject(project); if (javaProject != null) { try {/*from ww w. j a v a2 s. c om*/ List<IResource> sources = new ArrayList<IResource>(); IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots(); IPackageFragmentRoot root = null; for (int i = 0; i < roots.length; i++) { root = roots[i]; if (root.getKind() == IPackageFragmentRoot.K_SOURCE) { sources.add(root.getCorrespondingResource()); } } return sources.toArray(IMultiResourceProvider.EMPTY_RESOURCE); } catch (JavaModelException e) { Trace.trace(Trace.SEVERE, (new StringBuilder("Error getting Java project src for project '")) .append(project.getName()).append("'").toString(), e); } } return null; }
From source file:org.eclipse.wst.xml.search.editor.util.JdtUtils.java
License:Open Source License
public static IJarEntryResource getJavaResourceFileFromBinary(IProject project, String jarNamePattern, String packageName, String fileName) { IJavaProject javaProject = getJavaProject(project); if (javaProject != null) { try {/*ww w.j a va2 s .c o m*/ IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots(); IPackageFragmentRoot root = null; for (int i = 0; i < roots.length; i++) { root = roots[i]; if (root.getKind() == IPackageFragmentRoot.K_BINARY) { if (StringUtils.isEmpty(jarNamePattern) || root.getElementName().startsWith(jarNamePattern)) { Object[] nonJavaResources = null; if (packageName != null) { IPackageFragment fragment = root.getPackageFragment(packageName); if (fragment != null) { nonJavaResources = fragment.getNonJavaResources(); } } else { nonJavaResources = root.getNonJavaResources(); } if (nonJavaResources != null) { Object nonJavaResource = null; for (int j = 0; j < nonJavaResources.length; j++) { nonJavaResource = nonJavaResources[j]; if (nonJavaResource instanceof IJarEntryResource) { IJarEntryResource r = (IJarEntryResource) nonJavaResource; if (r.isFile() && fileName.equals(r.getName())) { return r; } } } } } } } } catch (JavaModelException e) { Trace.trace(Trace.SEVERE, (new StringBuilder("Error getting Java project src for project '")) .append(project.getName()).append("'").toString(), e); } } return null; }