List of usage examples for org.eclipse.jdt.core IJavaProject getRawClasspath
IClasspathEntry[] getRawClasspath() throws JavaModelException;
From source file:org.eclipse.che.plugin.java.server.rest.ClasspathService.java
License:Open Source License
/** * Returns information about classpath.//from w w w . j a v a2s . c o m * * @param projectPath * path to the current project * @return list of classpath entries * @throws JavaModelException * when JavaModel has a failure */ @GET @Produces(MediaType.APPLICATION_JSON) public List<ClasspathEntryDto> getClasspath(@QueryParam("projectpath") String projectPath) throws JavaModelException { IJavaProject javaProject = model.getJavaProject(projectPath); IClasspathEntry[] entries = javaProject.getRawClasspath(); if (entries.length == 0) { return emptyList(); } return convertClasspathEntriesToDTO(javaProject, entries); }
From source file:org.eclipse.che.plugin.maven.server.core.classpath.ClasspathHelper.java
License:Open Source License
public ClasspathHelper(IJavaProject javaProject) throws JavaModelException { this(true);// www . ja va2 s. co m for (IClasspathEntry classpathEntry : javaProject.getRawClasspath()) { if (!classpathEntry.getPath().equals(javaProject.getProject().getFullPath())) { ClasspathEntryHelper helper = new ClasspathEntryHelper(classpathEntry); entries.add(helper); defaultEntries.put(helper.getPath(), helper); } } }
From source file:org.eclipse.che.plugin.maven.server.WorkspaceTest.java
License:Open Source License
@Test public void testWsShouldAddSourceFolderFromBuildHelperPlugin() throws Exception { String pom = "<groupId>test</groupId>\n" + "<artifactId>testArtifact</artifactId>\n" + "<version>42</version>\n" + "<properties>\n" + " <dto-generator-out-directory>${project.build.directory}/generated-sources/dto/</dto-generator-out-directory>\n" + "</properties>\n" + "<dependencies>\n" + " <dependency>\n" + " <groupId>junit</groupId>\n" + " <artifactId>junit</artifactId>\n" + " <version>4.12</version>\n" + " </dependency>\n" + "</dependencies>\n" + "<build>\n" + " <plugins>\n" + " <plugin>\n" + " <groupId>org.codehaus.mojo</groupId>\n" + " <artifactId>build-helper-maven-plugin</artifactId>\n" + " <executions>\n" + " <execution>\n" + " <id>add-source</id>\n" + " <phase>process-sources</phase>\n" + " <goals>\n" + " <goal>add-source</goal>\n" + " </goals>\n" + " <configuration>\n" + " <sources>\n" + " <source>${dto-generator-out-directory}</source>\n" + " </sources>\n" + " </configuration>\n" + " </execution>\n" + " </executions>\n" + " </plugin>\n" + " </plugins>\n" + "</build>"; createTestProject("test", pom); IProject test = ResourcesPlugin.getWorkspace().getRoot().getProject("test"); mavenWorkspace.update(Collections.singletonList(test)); mavenWorkspace.waitForUpdate();/* w ww.j a v a2 s .c o m*/ MavenProject mavenProject = mavenProjectManager.findMavenProject(test); IJavaProject javaProject = JavaCore.create(test); IClasspathEntry[] rawClasspath = javaProject.getRawClasspath(); assertThat(rawClasspath).onProperty("path").contains(new Path("/test/target/generated-sources/dto/")); }
From source file:org.eclipse.contribution.weaving.jdt.tests.WeavingTestCase.java
License:Open Source License
private IPackageFragmentRoot createDefaultSourceFolder(IJavaProject javaProject) throws CoreException { IProject project = javaProject.getProject(); IFolder folder = project.getFolder("src"); if (!folder.exists()) ensureExists(folder);// w w w . j a va 2 s .co m final IClasspathEntry[] entries = javaProject.getResolvedClasspath(false); final IPackageFragmentRoot root = javaProject.getPackageFragmentRoot(folder); for (int i = 0; i < entries.length; i++) { final IClasspathEntry entry = entries[i]; if (entry.getPath().equals(folder.getFullPath())) return root; } IClasspathEntry[] oldEntries = javaProject.getRawClasspath(); IClasspathEntry[] newEntries = new IClasspathEntry[oldEntries.length + 1]; System.arraycopy(oldEntries, 0, newEntries, 0, oldEntries.length); newEntries[oldEntries.length] = JavaCore.newSourceEntry(root.getPath()); javaProject.setRawClasspath(newEntries, null); return root; }
From source file:org.eclipse.e4.xwt.tools.ui.designer.jdt.ProjectHelper.java
License:Open Source License
public static void addJars(IJavaProject javaProject) { try {/* w ww. j a v a 2 s . c o m*/ IClasspathEntry[] oldclasspath = javaProject.getRawClasspath(); for (int i = 0; i < oldclasspath.length; i++) { if ((oldclasspath[i]).getPath().toString().equals(IContainerConstants.LIB_CONTAINER)) { return; } } ClasspathContainer container = ProjectHelper.createContainer(); IClasspathEntry newContainerEntry = JavaCore.newContainerEntry(container.getPath()); JavaCore.setClasspathContainer(newContainerEntry.getPath(), new IJavaProject[] { javaProject }, new IClasspathContainer[] { container }, null); IClasspathEntry[] newclasspath = new IClasspathEntry[oldclasspath.length + 1]; for (int i = 0; i < oldclasspath.length; i++) { newclasspath[i] = oldclasspath[i]; } newclasspath[newclasspath.length - 1] = newContainerEntry; javaProject.setRawClasspath(newclasspath, null); } catch (JavaModelException javaModelException) { javaModelException.printStackTrace(); } }
From source file:org.eclipse.e4.xwt.tools.ui.designer.jdt.ProjectHelper.java
License:Open Source License
public static void removeJars(IJavaProject javaProject) { try {/*from www .j a v a 2 s. com*/ IClasspathEntry[] oldclasspath = javaProject.getRawClasspath(); for (int i = 0; i < oldclasspath.length; i++) { IPath path = oldclasspath[i].getPath(); if (path.toString().equals(IContainerConstants.LIB_CONTAINER)) { oldclasspath[i] = null; break; } if (i == oldclasspath.length - 1) { return; } } IClasspathEntry[] newclasspath = new IClasspathEntry[oldclasspath.length - 1]; for (int i = 0, m = 0; i < oldclasspath.length; i++) { if (oldclasspath[i] != null) { newclasspath[m++] = oldclasspath[i]; } } javaProject.setRawClasspath(newclasspath, null); } catch (JavaModelException javaModelException) { javaModelException.printStackTrace(); } }
From source file:org.eclipse.e4.xwt.ui.jdt.ProjectHelper.java
License:Open Source License
public static void AddJars(IJavaProject javaProject) { try {/*from w w w . jav a 2 s . c o m*/ IClasspathEntry[] oldclasspath = javaProject.getRawClasspath(); for (int i = 0; i < oldclasspath.length; i++) { if ((oldclasspath[i]).getPath().toString().equals(IContainerConstants.LIB_CONTAINER)) { return; } } ClasspathContainer container = ProjectHelper.createContainer(); IClasspathEntry newContainerEntry = JavaCore.newContainerEntry(container.getPath()); JavaCore.setClasspathContainer(newContainerEntry.getPath(), new IJavaProject[] { javaProject }, new IClasspathContainer[] { container }, null); IClasspathEntry[] newclasspath = new IClasspathEntry[oldclasspath.length + 1]; for (int i = 0; i < oldclasspath.length; i++) { newclasspath[i] = oldclasspath[i]; } newclasspath[newclasspath.length - 1] = newContainerEntry; javaProject.setRawClasspath(newclasspath, null); } catch (JavaModelException javaModelException) { javaModelException.printStackTrace(); } }
From source file:org.eclipse.e4.xwt.ui.jdt.ProjectHelper.java
License:Open Source License
public static void RemoveJars(IJavaProject javaProject) { try {/*from ww w . j a v a2 s . c om*/ IClasspathEntry[] oldclasspath = javaProject.getRawClasspath(); for (int i = 0; i < oldclasspath.length; i++) { IPath path = oldclasspath[i].getPath(); if (path.toString().equals(IContainerConstants.LIB_CONTAINER)) { oldclasspath[i] = null; break; } if (i == oldclasspath.length - 1) { return; } } IClasspathEntry[] newclasspath = new IClasspathEntry[oldclasspath.length - 1]; for (int i = 0, m = 0; i < oldclasspath.length; i++) { if (oldclasspath[i] != null) { newclasspath[m++] = oldclasspath[i]; } } javaProject.setRawClasspath(newclasspath, null); } catch (JavaModelException javaModelException) { javaModelException.printStackTrace(); } }
From source file:org.eclipse.e4.xwt.ui.utils.LibraryBuilder.java
License:Open Source License
private void configureSourceBuildEntry(IBuildModel bmodel, String oldPath, String newPath) throws CoreException { IBuild build = bmodel.getBuild();/* w w w .ja v a2 s .c o m*/ IBuildEntry entry = build .getEntry(IBuildPropertiesConstants.PROPERTY_SOURCE_PREFIX + (oldPath != null ? oldPath : newPath)); try { if (newPath != null) { if (entry == null) { IJavaProject jproject = JavaCore.create(project); ArrayList tokens = new ArrayList(); IClasspathEntry[] entries = jproject.getRawClasspath(); for (int i = 0; i < entries.length; i++) if (entries[i].getEntryKind() == IClasspathEntry.CPE_SOURCE) tokens.add( entries[i].getPath().removeFirstSegments(1).addTrailingSeparator().toString()); if (tokens.size() == 0) return; entry = bmodel.getFactory() .createEntry(IBuildPropertiesConstants.PROPERTY_SOURCE_PREFIX + newPath); for (int i = 0; i < tokens.size(); i++) entry.addToken((String) tokens.get(i)); build.add(entry); } else entry.setName(IBuildPropertiesConstants.PROPERTY_SOURCE_PREFIX + newPath); } else if (entry != null && newPath == null) build.remove(entry); } catch (JavaModelException e) { } }
From source file:org.eclipse.e4.xwt.ui.utils.LibraryBuilder.java
License:Open Source License
private void updateJavaClasspathLibs(String[] oldPaths, String[] newPaths) { IJavaProject jproject = JavaCore.create(project); try {/*from w ww. jav a 2 s. c om*/ 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 (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 = (IClasspathEntry[]) toBeAdded .toArray(new IClasspathEntry[toBeAdded.size()]); jproject.setRawClasspath(updated, null); } catch (JavaModelException e) { } }