List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot K_SOURCE
int K_SOURCE
To view the source code for org.eclipse.jdt.core IPackageFragmentRoot K_SOURCE.
Click Source Link
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 .j a v a2s. co 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}. *//* w ww. j a v a 2 s . com*/ 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; }//from www . jav a 2 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 {/* w w w. jav a 2 s. c o m*/ 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.xtend.ide.builder.XtendParallelBuilderParticipant.java
License:Open Source License
public List<IPath> getSourceFolderPathes(IProject project) { List<IPath> sourceFolder = Lists.newArrayList(); try {/*w w w. ja v a 2 s . co m*/ if (project.isOpen() && project.hasNature(JavaCore.NATURE_ID)) { IJavaProject javaProject = JavaCore.create(project); List<IPackageFragmentRoot> packageFragmentRoots = Arrays .asList(javaProject.getPackageFragmentRoots()); for (IPackageFragmentRoot packageFragmentRoot : packageFragmentRoots) { if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) { IPath path = packageFragmentRoot.getPath(); sourceFolder.add(path); } } } } catch (JavaModelException e) { if (!e.isDoesNotExist()) logger.error(e.getMessage(), e); } catch (CoreException e) { logger.error(e.getMessage(), e); } return sourceFolder; }
From source file:org.eclipse.xtext.common.types.access.jdt.JdtTypeProvider.java
License:Open Source License
private IPackageFragmentRoot[] getSourceFolders() throws JavaModelException { // Build scope using prereq projects but only source folders if (javaProject instanceof JavaProject) { return getSourceFolders((JavaProject) javaProject); } else {/*from w w w . j a va2s . c o m*/ IPackageFragmentRoot[] allRoots = javaProject.getAllPackageFragmentRoots(); int length = allRoots.length, size = 0; IPackageFragmentRoot[] allSourceFolders = new IPackageFragmentRoot[length]; for (int i = 0; i < length; i++) { if (allRoots[i].getKind() == IPackageFragmentRoot.K_SOURCE) { allSourceFolders[size++] = allRoots[i]; } } if (size < length) { System.arraycopy(allSourceFolders, 0, allSourceFolders = new IPackageFragmentRoot[size], 0, size); } return allSourceFolders; } }
From source file:org.eclipse.xtext.common.types.access.jdt.JdtTypeProvider.java
License:Open Source License
/** * @since 2.9//from w ww.j a v a 2s .c o m */ protected boolean canLink(IType type) throws JavaModelException { IndexedJvmTypeAccess indexedJvmTypeAccess = this.getIndexedJvmTypeAccess(); if (indexedJvmTypeAccess != null && indexedJvmTypeAccess.isIndexingPhase(getResourceSet())) { IResource underlyingResource = type.getUnderlyingResource(); if (underlyingResource == null) { return true; } for (IPackageFragmentRoot root : javaProject.getPackageFragmentRoots()) { if (root.getKind() == IPackageFragmentRoot.K_SOURCE) { IResource srcUnderlyingResource = root.getUnderlyingResource(); if (srcUnderlyingResource != null && srcUnderlyingResource.contains(underlyingResource)) { return false; } } } return true; } return true; }
From source file:org.eclipse.xtext.common.types.ui.trace.JarEntryAwareTrace.java
License:Open Source License
protected AbsoluteURI resolvePath(IJavaProject javaProject, SourceRelativeURI path) { try {/*from www . j av a 2s . c o m*/ for (IPackageFragmentRoot root : javaProject.getPackageFragmentRoots()) if (root.getKind() == IPackageFragmentRoot.K_SOURCE) { IResource resource = root.getResource(); if (resource instanceof IFolder) { IFolder folder = (IFolder) resource; String decodedPath = URI.decode(path.toString()); IResource candidate = folder.findMember(decodedPath); if (candidate != null && candidate.exists()) return new AbsoluteURI(URI .createPlatformResourceURI(resource.getFullPath() + "/" + decodedPath, true)); } } } catch (JavaModelException e) { log.error("Error resolving path", e); } return null; }
From source file:org.eclipse.xtext.ui.containers.JavaProjectsStateHelper.java
License:Open Source License
protected List<String> getPackageFragmentRootHandles(IJavaProject project) { List<String> result = Lists.newArrayList(); List<String> binaryAndNonLocalFragments = Lists.newArrayList(); try {/*from w w w .j a va 2 s . com*/ IPackageFragmentRoot[] roots = project.getAllPackageFragmentRoots(); result = Lists.newArrayListWithCapacity(roots.length); for (IPackageFragmentRoot root : roots) { if (root != null && !JavaRuntime.newDefaultJREContainerPath() .isPrefixOf(root.getRawClasspathEntry().getPath())) { if (root.getKind() == IPackageFragmentRoot.K_SOURCE && project.equals(root.getJavaProject())) { // treat local sources with higher priority // see Java behavior in SameClassNamesTest result.add(root.getHandleIdentifier()); } else { binaryAndNonLocalFragments.add(root.getHandleIdentifier()); } } } } catch (JavaModelException e) { if (!e.isDoesNotExist()) { log.error("Cannot find rootHandles in project " + project.getProject().getName(), e); } } result.addAll(binaryAndNonLocalFragments); return result; }
From source file:org.eclipse.xtext.ui.containers.JavaProjectsStateHelper.java
License:Open Source License
protected IPackageFragmentRoot getJavaElement(final IFile file) { IJavaProject jp = JavaCore.create(file.getProject()); if (!jp.exists()) return null; IPackageFragmentRoot[] roots;//from w w w. j a va 2 s . c o m try { roots = jp.getPackageFragmentRoots(); for (IPackageFragmentRoot root : roots) { if (root.getKind() == IPackageFragmentRoot.K_SOURCE) { IResource resource2 = root.getUnderlyingResource(); if (resource2.contains(file)) return root; } } } catch (JavaModelException e) { if (!e.isDoesNotExist()) log.error(e.getMessage(), e); } return null; }