List of usage examples for org.eclipse.jdt.core IClasspathEntry CPE_CONTAINER
int CPE_CONTAINER
To view the source code for org.eclipse.jdt.core IClasspathEntry CPE_CONTAINER.
Click Source Link
From source file:org.eclipse.pde.internal.ui.editor.plugin.LibrarySection.java
License:Open Source License
private void updateJavaClasspathLibs(String[] oldPaths, String[] newPaths) { IProject project = ((IModel) getPage().getModel()).getUnderlyingResource().getProject(); IJavaProject jproject = JavaCore.create(project); try {/* w w w . j av a 2 s . c o m*/ IClasspathEntry[] entries = jproject.getRawClasspath(); ArrayList<IClasspathEntry> toBeAdded = new ArrayList<IClasspathEntry>(); int index = -1; entryLoop: for (int i = 0; i < entries.length; i++) { if (entries[i].getEntryKind() == IClasspathEntry.CPE_LIBRARY) { if (index == -1) index = i; // do not add the old paths (handling deletion/renaming) IPath path = entries[i].getPath().removeFirstSegments(1).removeTrailingSeparator(); for (int j = 0; j < oldPaths.length; j++) if (oldPaths[j] != null && path.equals(new Path(oldPaths[j]).removeTrailingSeparator())) continue entryLoop; } else if (entries[i].getEntryKind() == IClasspathEntry.CPE_CONTAINER) if (index == -1) index = i; toBeAdded.add(entries[i]); } if (index == -1) index = entries.length; // add paths for (int i = 0; i < newPaths.length; i++) { if (newPaths[i] == null) continue; IClasspathEntry entry = JavaCore.newLibraryEntry(project.getFullPath().append(newPaths[i]), null, null, true); if (!toBeAdded.contains(entry)) toBeAdded.add(index++, entry); } if (toBeAdded.size() == entries.length) return; IClasspathEntry[] updated = toBeAdded.toArray(new IClasspathEntry[toBeAdded.size()]); jproject.setRawClasspath(updated, null); } catch (JavaModelException e) { } }
From source file:org.eclipse.pde.ui.tests.ee.ExecutionEnvironmentTests.java
License:Open Source License
/** * Validates the JRE class path container is as expected. * //from ww w . j a va 2s .co m * @param project * @param conatinerPath * @throws JavaModelException */ protected void validateSystemLibrary(IJavaProject project, IPath conatinerPath) throws JavaModelException { IClasspathEntry[] classpath = project.getRawClasspath(); for (int i = 0; i < classpath.length; i++) { IClasspathEntry entry = classpath[i]; if (entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER) { IPath path = entry.getPath(); if (JavaRuntime.JRE_CONTAINER.equals(path.segment(0))) { assertEquals("Wrong system library class path container", conatinerPath, path); return; } } } assertFalse("JRE container not found", true); }
From source file:org.eclipse.pde.ui.tests.imports.BaseImportTestCase.java
License:Open Source License
protected boolean checkSourceAttached(IJavaProject jProject) throws CoreException { IPackageFragmentRoot[] roots = jProject.getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { IClasspathEntry entry = roots[i].getRawClasspathEntry(); if (entry.getEntryKind() != IClasspathEntry.CPE_LIBRARY || entry.getEntryKind() != IClasspathEntry.CPE_CONTAINER || !entry.getPath().equals(PDECore.REQUIRED_PLUGINS_CONTAINER_PATH)) continue; if (roots[i].getSourceAttachmentPath() == null) return false; }/*from ww w. jav a2 s . c o m*/ return true; }
From source file:org.eclipse.recommenders.coordinates.rcp.DependencyInfos.java
License:Open Source License
private static Optional<String> getExecutionEnvironmentId(final IJavaProject javaProject) { try {/* w ww . j a v a2 s. c o m*/ for (IClasspathEntry entry : javaProject.getRawClasspath()) { if (entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER) { return fromNullable(JavaRuntime.getExecutionEnvironmentId(entry.getPath())); } } return absent(); } catch (JavaModelException e) { return absent(); } }
From source file:org.eclipse.recommenders.internal.coordinates.rcp.EclipseDependencyListener.java
License:Open Source License
public static Set<IPackageFragmentRoot> detectJREPackageFragementRoots(final IJavaProject javaProject) { // Please note that this is merely a heuristic to detect if a Jar is part of the JRE or not: // All Jars in the JRE_Container which are not located in the ext folder are considered part of the JRE. Set<IPackageFragmentRoot> jreRoots = new HashSet<IPackageFragmentRoot>(); try {/* ww w . j a v a2s . com*/ for (IClasspathEntry entry : javaProject.getRawClasspath()) { if (entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER) { if (entry.getPath().toString().contains("org.eclipse.jdt.launching.JRE_CONTAINER")) { //$NON-NLS-1$ for (IPackageFragmentRoot packageFragmentRoot : javaProject .findPackageFragmentRoots(entry)) { if (!packageFragmentRoot.getPath().toFile().getParentFile().getName().equals("ext")) { //$NON-NLS-1$ jreRoots.add(packageFragmentRoot); } } } } } } catch (JavaModelException e) { Logs.log(LogMessages.ERROR_FAILED_TO_DETECT_PROJECT_JRE, e, javaProject); } return jreRoots; }
From source file:org.eclipse.recommenders.internal.models.rcp.ProjectCoordinateProvider.java
License:Open Source License
private static boolean isPartOfJRE(IPackageFragmentRoot root, IJavaProject javaProject) { try {//from ww w .j av a 2 s. c o m for (IClasspathEntry entry : javaProject.getRawClasspath()) { if (entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER) { if (entry.getPath().toString().contains("org.eclipse.jdt.launching.JRE_CONTAINER")) { //$NON-NLS-1$ for (IPackageFragmentRoot packageFragmentRoot : javaProject .findPackageFragmentRoots(entry)) { if (!packageFragmentRoot.getPath().toFile().getParentFile().getName().equals("ext")) { //$NON-NLS-1$ if (packageFragmentRoot.equals(root)) { return true; } } } } } } } catch (JavaModelException e) { Logs.log(LogMessages.ERROR_FAILED_TO_TRAVERSE_PROJECT_DEPENDENCIES, e, javaProject); } return false; }
From source file:org.eclipse.recommenders.models.dependencies.rcp.EclipseDependencyListener.java
License:Open Source License
public static Set<IPackageFragmentRoot> detectJREPackageFragementRoots(final IJavaProject javaProject) { // Please notice that this is a heuristic to detect if a Jar is part of // the JRE or not. // All Jars in the JRE_Container which are not located in the ext folder // are defined as part of the JRE Set<IPackageFragmentRoot> jreRoots = new HashSet<IPackageFragmentRoot>(); try {/* w w w. j ava 2s .c om*/ for (IClasspathEntry entry : javaProject.getRawClasspath()) { if (entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER) { if (entry.getPath().toString().contains("org.eclipse.jdt.launching.JRE_CONTAINER")) { for (IPackageFragmentRoot packageFragmentRoot : javaProject .findPackageFragmentRoots(entry)) { if (!packageFragmentRoot.getPath().toFile().getParentFile().getName().equals("ext")) { jreRoots.add(packageFragmentRoot); } } } } } } catch (JavaModelException e) { e.printStackTrace(); } return jreRoots; }
From source file:org.eclipse.recommenders.models.dependencies.rcp.EclipseDependencyListener.java
License:Open Source License
private static String getExecutionEnvironmentId(final IJavaProject javaProject) { try {/*from w ww . j a v a2 s .c om*/ for (IClasspathEntry entry : javaProject.getRawClasspath()) { if (entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER) { return JavaRuntime.getExecutionEnvironmentId(entry.getPath()); } } } catch (JavaModelException e) { e.printStackTrace(); } return ""; }
From source file:org.eclipse.virgo.ide.ui.editors.BundleLibrarySection.java
License:Open Source License
private void updateJavaClasspathLibs(String[] oldPaths, String[] newPaths) { IProject project = ((IModel) getPage().getModel()).getUnderlyingResource().getProject(); IJavaProject jproject = JavaCore.create(project); try {/* w w w . j a v a2 s . com*/ IClasspathEntry[] entries = jproject.getRawClasspath(); ArrayList toBeAdded = new ArrayList(); int index = -1; entryLoop: for (int i = 0; i < entries.length; i++) { if (entries[i].getEntryKind() == IClasspathEntry.CPE_LIBRARY) { if (index == -1) { index = i; } // do not add the old paths (handling deletion/renaming) IPath path = entries[i].getPath().removeFirstSegments(1).removeTrailingSeparator(); for (int j = 0; j < oldPaths.length; j++) { if (oldPaths[j] != null && path.equals(new Path(oldPaths[j]).removeTrailingSeparator())) { continue entryLoop; } } } else if (entries[i].getEntryKind() == IClasspathEntry.CPE_CONTAINER) { if (index == -1) { index = i; } } toBeAdded.add(entries[i]); } if (index == -1) { index = entries.length; } // add paths for (String element : newPaths) { if (element == null) { continue; } IClasspathEntry entry = JavaCore.newLibraryEntry(project.getFullPath().append(element), null, null, true); if (!toBeAdded.contains(entry)) { toBeAdded.add(index++, entry); } } if (toBeAdded.size() == entries.length) { return; } IClasspathEntry[] updated = (IClasspathEntry[]) toBeAdded .toArray(new IClasspathEntry[toBeAdded.size()]); jproject.setRawClasspath(updated, null); } catch (JavaModelException e) { } }
From source file:org.eclipse.xtend.ide.buildpath.XtendLibClasspathAdder.java
License:Open Source License
protected boolean addToClasspath(IJavaProject javaProject, IProgressMonitor monitor) throws JavaModelException { IClasspathEntry xtendContainerEntry = JavaCore .newContainerEntry(XtendContainerInitializer.XTEND_LIBRARY_PATH); IClasspathEntry[] rawClasspath = javaProject.getRawClasspath(); IClasspathEntry[] newRawClasspath = new IClasspathEntry[rawClasspath.length + 1]; for (int i = 0; i < rawClasspath.length; ++i) { IClasspathEntry entry = rawClasspath[i]; if (entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER && entry.getPath().equals(xtendContainerEntry.getPath())) { return false; }// www. ja v a2s . c om newRawClasspath[i + 1] = entry; } newRawClasspath[0] = xtendContainerEntry; javaProject.setRawClasspath(newRawClasspath, monitor); return true; }