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.ajdt.ui.tests.builder.ProjectDependenciesUtils.java

License:Open Source License

public static boolean projectHasProjectDependency(IProject project, IProject projectDependedOn)
        throws JavaModelException {
    IJavaProject javaProject = JavaCore.create(project);
    if (javaProject == null)
        return false;
    IClasspathEntry[] cpEntry = javaProject.getRawClasspath();
    for (int j = 0; j < cpEntry.length; j++) {
        IClasspathEntry entry = cpEntry[j];
        int entryKind = entry.getEntryKind();
        IPath entryPath = entry.getPath();
        if (entryKind == IClasspathEntry.CPE_PROJECT && entryPath.equals(projectDependedOn.getFullPath())) {
            return true;
        }/*from ww w  .j  a va2 s .c o  m*/
    }
    return false;
}

From source file:org.eclipse.ajdt.ui.tests.builder.ProjectDependenciesUtils.java

License:Open Source License

public static boolean projectHasClassFolderDependency(IProject project, IProject projectDependedOn)
        throws JavaModelException {
    IJavaProject javaProject = JavaCore.create(project);
    IJavaProject depProject = JavaCore.create(projectDependedOn);
    if (javaProject == null || depProject == null)
        return false;

    // first get the output location for projectDependedOn
    IPath outputLocation = null;//from w w w.  j a  v  a2s .  c om
    IClasspathEntry[] cp = depProject.getRawClasspath();
    for (int j = 0; j < cp.length; j++) {
        IClasspathEntry entry = cp[j];
        int contentKind = entry.getContentKind();
        if (contentKind == ClasspathEntry.K_OUTPUT) {
            outputLocation = entry.getOutputLocation();
        }
        if (entry.getEntryKind() == ClasspathEntry.K_OUTPUT) {
            outputLocation = entry.getOutputLocation();
        }
    }
    if (outputLocation == null) {
        outputLocation = depProject.getOutputLocation();
    }
    // now check the classpath entries of project for the output
    // location just calculated
    IClasspathEntry[] cpEntry = javaProject.getRawClasspath();
    for (int j = 0; j < cpEntry.length; j++) {
        IClasspathEntry entry = cpEntry[j];
        int entryKind = entry.getEntryKind();
        IPath entryPath = entry.getPath();
        if (entryKind == IClasspathEntry.CPE_LIBRARY && entryPath.equals(outputLocation)) {
            return true;
        }
    }
    return false;
}

From source file:org.eclipse.ajdt.ui.tests.builder.ProjectDependenciesUtils.java

License:Open Source License

public static boolean projectHasNoSrc(IProject project) {
    IJavaProject javaProject = JavaCore.create(project);
    if (javaProject == null) {
        return false;
    }/*from   w ww. j a va2s. co  m*/

    boolean foundSrc = false;
    try {
        IClasspathEntry[] cpEntry = javaProject.getRawClasspath();
        for (int j = 0; j < cpEntry.length; j++) {
            IClasspathEntry entry = cpEntry[j];
            if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
                foundSrc = true;
                if (entry.getPath().equals(javaProject.getPath())) {
                    return true;
                }
            }
        }
        if (!foundSrc)
            return true;
    } catch (JavaModelException e) {
        AspectJTestPlugin.log(e);
    }
    return false;
}

From source file:org.eclipse.ajdt.ui.tests.builder.ProjectDependenciesUtils.java

License:Open Source License

public static boolean projectHasAnExportedClasspathEntry(IProject project) {
    IJavaProject javaProject = JavaCore.create(project);
    if (javaProject == null) {
        return false;
    }//ww  w . j a v  a2 s  .  co m

    try {
        IClasspathEntry[] cpEntry = javaProject.getRawClasspath();
        for (int j = 0; j < cpEntry.length; j++) {
            IClasspathEntry entry = cpEntry[j];
            if (entry.isExported()) {
                // we don't want to export it in the new classpath.
                if (entry.getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
                    return true;
                }
            }
        }
    } catch (JavaModelException e) {
        AspectJTestPlugin.log(e);
    }
    return false;
}

From source file:org.eclipse.ajdt.ui.tests.builder.ProjectDependenciesUtils.java

License:Open Source License

public static boolean projectHasJarOnClasspath(IProject projectToHaveJar, IProject projectWhichExportedJar)
        throws JavaModelException {
    IJavaProject javaProject1 = JavaCore.create(projectToHaveJar);
    IJavaProject javaProject2 = JavaCore.create(projectWhichExportedJar);
    if (javaProject1 == null || javaProject2 == null) {
        return false;
    }//from   w w w  .  j a v  a  2 s.c  om

    IClasspathEntry[] cpEntry2 = javaProject2.getRawClasspath();
    for (int j = 0; j < cpEntry2.length; j++) {
        IClasspathEntry entry = cpEntry2[j];
        if (entry.isExported()) {
            // we don't want to export it in the new classpath.
            if (entry.getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
                IClasspathEntry[] cpEntry1 = javaProject1.getRawClasspath();
                for (int i = 0; i < cpEntry1.length; i++) {
                    IClasspathEntry entry1 = cpEntry1[i];
                    if (entry1.getEntryKind() == entry.getEntryKind()
                            && entry1.getPath().equals(entry.getPath())) {
                        if (entry1.isExported()) {
                            // don't want it to be exported
                            return false;
                        }
                        return true;

                    }
                }
                return false;
            }
        }
    }
    return false;
}

From source file:org.eclipse.ajdt.ui.tests.builder.ProjectDependenciesUtils.java

License:Open Source License

public static boolean projectHasOutJarOnClasspath(IProject projectToHaveJar, IProject projectWhichHasOutJar,
        String outJar) throws JavaModelException {
    IJavaProject javaProject1 = JavaCore.create(projectToHaveJar);
    if (javaProject1 == null) {
        return false;
    }/*from  w w w  .  java 2s. c o m*/
    System.out.println("TEST: outjar = " + outJar); //$NON-NLS-1$
    StringBuffer sb = new StringBuffer(outJar);
    int indexOfProject = sb.lastIndexOf(projectWhichHasOutJar.getName());
    IPath newPath;
    if (indexOfProject < 0) {
        newPath = new Path(outJar);
    } else {
        newPath = new Path(sb.substring(indexOfProject));
    }

    IClasspathEntry[] cpEntry = javaProject1.getRawClasspath();
    for (int j = 0; j < cpEntry.length; j++) {
        IClasspathEntry entry = cpEntry[j];
        if (entry.getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
            if (entry.getPath().equals(new Path(outJar)) || entry.getPath().equals(newPath.makeAbsolute())) {
                return true;
            }
        }
    }
    return false;
}

From source file:org.eclipse.ajdt.ui.tests.builder.ProjectDependenciesUtils.java

License:Open Source License

public static int numberOfTimesOutJarOnClasspath(IProject projectToHaveJar, IProject projectWhichHasOutJar,
        String outJar) throws JavaModelException {
    IJavaProject javaProject1 = JavaCore.create(projectToHaveJar);
    if (javaProject1 == null) {
        return -1;
    }//from   w  w  w  . ja  v  a2  s  . co m
    int counter = 0;
    System.out.println("TEST: outjar = " + outJar); //$NON-NLS-1$
    StringBuffer sb = new StringBuffer(outJar);
    int indexOfProject = sb.lastIndexOf(projectWhichHasOutJar.getName());
    String jar = sb.substring(indexOfProject);
    IPath newPath = new Path(jar);

    IClasspathEntry[] cpEntry = javaProject1.getRawClasspath();
    for (int j = 0; j < cpEntry.length; j++) {
        IClasspathEntry entry = cpEntry[j];
        if (entry.getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
            if (entry.getPath().equals(new Path(outJar)) || entry.getPath().equals(newPath.makeAbsolute())) {
                counter++;
            }
        }
    }
    return counter;
}

From source file:org.eclipse.ajdt.ui.tests.builder.ProjectDependenciesUtils.java

License:Open Source License

public static void addProjectDependency(IJavaProject projectToHaveDependency, IProject projectDependedOn) {
    try {//from  w  ww. j  av a2 s . c o  m
        IClasspathEntry[] cpEntry = projectToHaveDependency.getRawClasspath();
        IClasspathEntry newProjectEntry = JavaCore.newProjectEntry(projectDependedOn.getFullPath());

        IClasspathEntry[] newEntries = new IClasspathEntry[cpEntry.length + 1];
        for (int i = 0; i < cpEntry.length; i++) {
            newEntries[i] = cpEntry[i];
        }
        newEntries[cpEntry.length] = newProjectEntry;
        projectToHaveDependency.setRawClasspath(newEntries, null);
        waitForJobsToComplete();
    } catch (JavaModelException e) {
        e.printStackTrace();
    }
}

From source file:org.eclipse.ajdt.ui.tests.builder.ProjectDependenciesUtils.java

License:Open Source License

public static void removeProjectDependency(IJavaProject projectWhichHasDependency, IProject projectDependedOn) {
    try {//from ww  w  .  j av  a  2 s .c o m
        IClasspathEntry[] cpEntry = projectWhichHasDependency.getRawClasspath();
        List newEntries = new ArrayList();

        for (int j = 0; j < cpEntry.length; j++) {
            IClasspathEntry entry = cpEntry[j];
            if (entry.getEntryKind() == IClasspathEntry.CPE_PROJECT) {
                if (!entry.getPath().equals(projectDependedOn.getFullPath())
                        && !entry.getPath().equals(projectDependedOn.getFullPath().makeAbsolute())) {
                    newEntries.add(entry);
                }
            } else {
                newEntries.add(entry);
            }
        }
        IClasspathEntry[] newCP = (IClasspathEntry[]) newEntries
                .toArray(new IClasspathEntry[newEntries.size()]);
        projectWhichHasDependency.setRawClasspath(newCP, null);
        waitForJobsToComplete();
        waitForJobsToComplete();
    } catch (JavaModelException e) {
        e.printStackTrace();
    }
}

From source file:org.eclipse.ajdt.ui.tests.utils.AJDTUtilsTest.java

License:Open Source License

private boolean hasAjrtOnBuildPath(IJavaProject javaProject) {
    try {//from w  w w .j a v  a  2 s .c o m
        IClasspathEntry[] originalCP = javaProject.getRawClasspath();
        for (int i = 0; i < originalCP.length; i++) {
            if (originalCP[i].getEntryKind() == IClasspathEntry.CPE_CONTAINER) {
                IPath path = originalCP[i].getPath();
                if (path.segment(0).equals(AspectJPlugin.ASPECTJRT_CONTAINER)) {
                    return true;
                }
            }
        }
    } catch (JavaModelException e) {
        e.printStackTrace();
    }
    return false;
}