Example usage for org.eclipse.jdt.core IJavaProject getRawClasspath

List of usage examples for org.eclipse.jdt.core IJavaProject getRawClasspath

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IJavaProject getRawClasspath.

Prototype

IClasspathEntry[] getRawClasspath() throws JavaModelException;

Source Link

Document

Returns the raw classpath for the project, as a list of classpath entries.

Usage

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) {
    }
}