Example usage for org.eclipse.jdt.core IPackageFragmentRoot getKind

List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot getKind

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IPackageFragmentRoot getKind.

Prototype

int getKind() throws JavaModelException;

Source Link

Document

Returns this package fragment root's kind encoded as an integer.

Usage

From source file:org.eclipse.recommenders.jdt.JavaElementsFinder.java

License:Open Source License

public static ImmutableList<IPackageFragmentRoot> findSourceRoots(IJavaProject project) {
    Builder<IPackageFragmentRoot> b = ImmutableList.builder();
    try {//  w  w w.  j a v a 2 s . c om
        for (IPackageFragmentRoot root : project.getPackageFragmentRoots()) {
            if (K_SOURCE == root.getKind()) {
                b.add(root);
            }
        }
    } catch (Exception e) {
        log(ERROR_CANNOT_FETCH_PACKAGE_FRAGMENT_ROOTS, e, project);
    }
    return b.build();
}

From source file:org.eclipse.recommenders.jdt.JavaElementsFinder.java

License:Open Source License

public static ImmutableList<IPackageFragmentRoot> findPackageRootsWithSources(IJavaProject project) {
    Builder<IPackageFragmentRoot> b = ImmutableList.builder();
    try {//from w ww . j  a  v  a2s.  c  om
        for (IPackageFragmentRoot root : project.getPackageFragmentRoots()) {
            if (K_SOURCE == root.getKind()) {
                b.add(root);
            } else if (K_BINARY == root.getKind()) {
                if (hasSourceAttachment(root)) {
                    b.add(root);
                }
            }
        }
    } catch (Exception e) {
        log(ERROR_CANNOT_FETCH_PACKAGE_FRAGMENT_ROOTS, e, project);
    }
    return b.build();
}

From source file:org.eclipse.sapphire.java.jdt.ui.internal.JavaTypeCreateActionHandler.java

License:Open Source License

private final IPackageFragmentRoot src(final IJavaProject project) throws JavaModelException {
    for (IPackageFragmentRoot root : project.getPackageFragmentRoots()) {
        if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
            return root;
        }/*  w ww.  j a  v  a 2  s. c o m*/
    }

    return null;
}

From source file:org.eclipse.servicesregistry.testutils.TestProject.java

License:Open Source License

private IPackageFragmentRoot findSourceFolder() throws JavaModelException {
    for (IPackageFragmentRoot pfr : javaProject.getAllPackageFragmentRoots()) {
        if (pfr.getKind() == IPackageFragmentRoot.K_SOURCE) {
            return pfr;
        }/*from  www.jav  a 2  s.  c  o  m*/
    }

    return null;
}

From source file:org.eclipse.virgo.ide.manifest.internal.core.validation.rules.ExportPackageRule.java

License:Open Source License

private void validateExportPackage(BundleManifestHeader header, ManifestElement element,
        BundleManifestValidationContext context) {
    boolean found = false;
    try {//from www .  j  a v  a2s .  c o m
        IPackageFragmentRoot[] roots = JdtUtils.getJavaProject(context.getRootElement().getElementResource())
                .getPackageFragmentRoots();

        for (IPackageFragmentRoot root : roots) {
            int kind = root.getKind();
            if (kind == IPackageFragmentRoot.K_SOURCE
                    || (kind == IPackageFragmentRoot.K_BINARY && !root.isExternal())) {
                IJavaElement[] javaElements = root.getChildren();
                for (int j = 0; j < javaElements.length; j++)
                    if (javaElements[j] instanceof IPackageFragment) {
                        IPackageFragment fragment = (IPackageFragment) javaElements[j];
                        String name = fragment.getElementName();
                        if (name.length() == 0) {
                            name = ".";
                        }
                        if (fragment.containsJavaResources() || fragment.getNonJavaResources().length > 0) {
                            if (name.equals(element.getValue())) {
                                found = true;
                            }
                        }
                    }
            }
        }
    } catch (JavaModelException e) {
    }

    // if we actually have packages to add
    if (!found) {
        context.warning("MISSING_PACKAGE_EXPORT", "Bundle does export non-existing package",
                header.getLineNumber() + 1);
    }
}

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  .  ja v  a2  s .  c o  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}.
 *//*from   w w  w. ja va2  s  . c  o m*/
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;
        }/*www.  j  a va2 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 {/*from  ww  w. j a v a2 s. c  om*/
            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.wst.xml.search.editor.util.JdtUtils.java

License:Open Source License

public static IJarEntryResource getJavaResourceFileFromBinary(IProject project, String jarNamePattern,
        String packageName, String fileName) {
    IJavaProject javaProject = getJavaProject(project);
    if (javaProject != null) {
        try {/*ww  w.j a va2 s .c  o  m*/
            IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots();
            IPackageFragmentRoot root = null;
            for (int i = 0; i < roots.length; i++) {
                root = roots[i];
                if (root.getKind() == IPackageFragmentRoot.K_BINARY) {
                    if (StringUtils.isEmpty(jarNamePattern)
                            || root.getElementName().startsWith(jarNamePattern)) {
                        Object[] nonJavaResources = null;
                        if (packageName != null) {
                            IPackageFragment fragment = root.getPackageFragment(packageName);
                            if (fragment != null) {
                                nonJavaResources = fragment.getNonJavaResources();
                            }
                        } else {
                            nonJavaResources = root.getNonJavaResources();
                        }
                        if (nonJavaResources != null) {
                            Object nonJavaResource = null;
                            for (int j = 0; j < nonJavaResources.length; j++) {
                                nonJavaResource = nonJavaResources[j];
                                if (nonJavaResource instanceof IJarEntryResource) {
                                    IJarEntryResource r = (IJarEntryResource) nonJavaResource;
                                    if (r.isFile() && fileName.equals(r.getName())) {
                                        return r;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        } catch (JavaModelException e) {
            Trace.trace(Trace.SEVERE, (new StringBuilder("Error getting Java project src for project '"))
                    .append(project.getName()).append("'").toString(), e);
        }
    }
    return null;
}