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.jboss.tools.ws.creation.core.utils.JBossWSCreationUtils.java

License:Open Source License

public static List<String> getJavaProjectSrcFolder(IProject project) throws JavaModelException {
    IPackageFragmentRoot[] packageFragmentRoots = JavaCore.create(project).getAllPackageFragmentRoots();
    if (packageFragmentRoots != null && packageFragmentRoots.length > 0) {
        List<String> list = new ArrayList<String>();
        for (int i = 0; i < packageFragmentRoots.length; i++) {
            IPackageFragmentRoot packageFragmentRoot = packageFragmentRoots[i];
            if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) {
                list.add(packageFragmentRoot.getResource().getFullPath().toOSString());
            }/*from ww  w.  j  a va 2  s .  co  m*/
        }
        return list;
    }
    return null;
}

From source file:org.jboss.tools.ws.jaxrs.ui.wizards.JaxrsApplicationCreationWizardPage.java

License:Open Source License

/**
 * Attempts to set the defaults values from the given
 * {@link UriPathTemplateCategory}/*from w  w  w  . java2 s.c o  m*/
 * 
 */
private void setDefaultValues(final UriPathTemplateCategory category) {
    final IJavaProject javaProject = category.getJavaProject();
    try {
        final IPackageFragmentRoot[] packageFragmentRoots = javaProject.getAllPackageFragmentRoots();
        for (IPackageFragmentRoot packageFragmentRoot : packageFragmentRoots) {
            if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) {
                setDefaultValues(packageFragmentRoot);
                break;
            }
        }
    } catch (JavaModelException e) {
        Logger.error("Failed to set the default values from project '" + javaProject.getElementName() + "'", e);
    }
}

From source file:org.jboss.tools.ws.jaxrs.ui.wizards.JaxrsResourceCreationWizardPage.java

License:Open Source License

/**
 * Attempts to set the defaults values from the given
 * {@link UriPathTemplateCategory}//from  www .j  a  v  a2 s  .  com
 * 
 */
private void setDefaultValues(final UriPathTemplateCategory category) {
    final IJavaProject javaProject = category.getJavaProject();
    try {
        final IPackageFragmentRoot[] packageFragmentRoots = javaProject.getAllPackageFragmentRoots();
        for (IPackageFragmentRoot packageFragmentRoot : packageFragmentRoots) {
            if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) {
                setPackageFragmentRoot(packageFragmentRoot, true);
                break;
            }
        }
    } catch (JavaModelException e) {
        Logger.error("Failed to set the default values from project '" + javaProject.getElementName() + "'", e);
    }
}

From source file:org.key_project.util.jdt.JDTUtil.java

License:Open Source License

/**
 * Returns the {@link IResource}s of the given {@link IClasspathEntry}.
 * @param javaProject The actual {@link IJavaProject} that provides the {@link IClasspathEntry}.
 * @param entry The given {@link IClasspathEntry}.
 * @param alreadyHandledProjects The already handled {@link IProject} that don't need to be analysed again.
 * @return The found {@link IResource}s.
 * @throws JavaModelException //from w w  w .  j av a2  s .co  m
 */
private static List<IResource> getResourceFor(IJavaProject javaProject, IClasspathEntry entry, int expectedKind,
        Set<IProject> alreadyHandledProjects) throws JavaModelException {
    if (entry != null) {
        if (entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER
                || entry.getEntryKind() == IClasspathEntry.CPE_SOURCE
                || entry.getEntryKind() == IClasspathEntry.CPE_LIBRARY
                || entry.getEntryKind() == IClasspathEntry.CPE_VARIABLE) {
            List<IResource> result = new LinkedList<IResource>();
            IPackageFragmentRoot[] roots = javaProject.findPackageFragmentRoots(entry);
            for (IPackageFragmentRoot root : roots) {
                if (root.getKind() == expectedKind) {
                    if (root.getResource() != null) {
                        if (root.getResource().getLocationURI() != null) {
                            result.add(root.getResource());
                        }
                    } else if (root.getPath() != null) {
                        IResource resource = ResourcesPlugin.getWorkspace().getRoot()
                                .findMember(root.getPath());
                        if (resource != null && resource.exists()) {
                            result.add(resource);
                        }
                    }
                }
            }
            return result; // Ignore containers
        } else if (entry.getEntryKind() == IClasspathEntry.CPE_PROJECT) {
            Assert.isNotNull(entry.getPath());
            IResource project = ResourcesPlugin.getWorkspace().getRoot().findMember(entry.getPath());
            Assert.isTrue(project instanceof IProject);
            if (!alreadyHandledProjects.contains(project)) {
                return getSourceResources((IProject) project, alreadyHandledProjects);
            } else {
                return null; // Project was already analyzed, no need to do it again.
            }
        } else {
            Assert.isTrue(false, "Unknown content kind \"" + entry.getContentKind()
                    + "\" of class path entry \"" + entry + "\".");
            return null;
        }
    } else {
        return null;
    }
}

From source file:org.key_project.util.jdt.JDTUtil.java

License:Open Source License

/**
 * Returns the locations of the given {@link IClasspathEntry}.
 * @param javaProject The actual {@link IJavaProject} that provides the {@link IClasspathEntry}.
 * @param entry The given {@link IClasspathEntry}.
 * @param alreadyHandledProjects The already handled {@link IProject} that don't need to be analysed again.
 * @return The found locations./*from  w  ww . j  av  a2s  . c  o  m*/
 * @throws JavaModelException 
 */
private static List<File> getLocationFor(IJavaProject javaProject, IClasspathEntry entry, int expectedKind,
        Set<IProject> alreadyHandledProjects) throws JavaModelException {
    if (entry != null) {
        if (entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER
                || entry.getEntryKind() == IClasspathEntry.CPE_SOURCE
                || entry.getEntryKind() == IClasspathEntry.CPE_LIBRARY
                || entry.getEntryKind() == IClasspathEntry.CPE_VARIABLE) {
            List<File> result = new LinkedList<File>();
            IPackageFragmentRoot[] roots = javaProject.findPackageFragmentRoots(entry);
            for (IPackageFragmentRoot root : roots) {
                if (root.getKind() == expectedKind) {
                    if (root.getResource() != null) {
                        if (root.getResource().getLocationURI() != null) {
                            result.add(ResourceUtil.getLocation(root.getResource()));
                        }
                    } else if (root.getPath() != null) {
                        File location = new File(root.getPath().toString());
                        if (location.exists()) {
                            result.add(location);
                        }
                    }
                }
            }
            return result; // Ignore containers
        } else if (entry.getEntryKind() == IClasspathEntry.CPE_PROJECT) {
            Assert.isNotNull(entry.getPath());
            IResource project = ResourcesPlugin.getWorkspace().getRoot().findMember(entry.getPath());
            Assert.isTrue(project instanceof IProject);
            if (!alreadyHandledProjects.contains(project)) {
                return getSourceLocations((IProject) project, alreadyHandledProjects);
            } else {
                return null; // Project was already analyzed, no need to do it again.
            }
        } else {
            Assert.isTrue(false, "Unknown content kind \"" + entry.getContentKind()
                    + "\" of class path entry \"" + entry + "\".");
            return null;
        }
    } else {
        return null;
    }
}

From source file:org.libreoffice.ide.eclipse.java.JavaMainProvider.java

License:LGPL

/**
 * Recursive method to find the Classes and check their hierarchy.
 *
 * @param pElement the Java AST element for scan for XMain implementations
 * @return the names of the classes implementing the XMain interface in the
 *      Java AST element.//from w  w  w  .j a va  2s . com
 */
private Vector<String> getInternalMainNames(IParent pElement) {
    Vector<String> mains = new Vector<String>();

    try {
        for (IJavaElement child : pElement.getChildren()) {

            boolean visit = true;

            if (child instanceof IPackageFragmentRoot) {
                IPackageFragmentRoot root = (IPackageFragmentRoot) child;
                if (root.getKind() != IPackageFragmentRoot.K_SOURCE) {
                    visit = false;
                }
            }

            if (visit) {
                if (child instanceof ICompilationUnit) {
                    ICompilationUnit unit = (ICompilationUnit) child;
                    IType type = unit.findPrimaryType();

                    if (isMainImplementation(type)) {
                        mains.add(type.getFullyQualifiedName());
                    }
                } else if (child instanceof IParent) {
                    mains.addAll(getInternalMainNames((IParent) child));
                }
            }
        }
    } catch (Exception e) {
    }

    return mains;
}

From source file:org.limy.eclipse.qalab.ant.UmlgraphCreator.java

License:Open Source License

/**
 * @param targetEl//  w  w w.java  2s.  co  m
 * @param env
 * @param targetProject
 * @return Element???? true
 * @throws CoreException 
 */
private boolean createJavadocElement(XmlElement targetEl, LimyQalabEnvironment env, IProject targetProject)
        throws CoreException {

    XmlElement javadocEl = createElement(targetEl, "javadoc");

    IJavaProject javaProject = JavaCore.create(targetProject);
    IPreferenceStore store = env.getStore();

    IPackageFragmentRoot[] roots = javaProject.getAllPackageFragmentRoots();

    // v?WFNg\?[XfBNg
    boolean isEmpty = true;
    for (IPackageFragmentRoot root : roots) {
        if (root.getKind() == IPackageFragmentRoot.K_SOURCE && root.getJavaProject().equals(javaProject)) {

            IResource rootDir = root.getResource();
            if (((IContainer) rootDir).members().length > 0) {
                isEmpty = false;
            }
            XmlElement fileEl = createElement(javadocEl, "fileset", "dir", rootDir.getLocation().toString());
            fileEl.setAttribute("includes", "**/*.java");
            fileEl.setAttribute("excludes", "**/*Test.java");
        }
    }

    // \?[Xt@C??javadocvf?
    if (isEmpty) {
        targetEl.removeChild(javadocEl);
        return false;
    }

    javadocEl.setAttribute("destDir", "${dest.dir}/javadoc/" + targetProject.getName());

    javadocEl.setAttribute("Encoding", "${src.encoding}");
    javadocEl.setAttribute("classpathref", "all.classpath");
    javadocEl.setAttribute("private", "false");
    javadocEl.setAttribute("packagenames", "*");
    javadocEl.setAttribute("useexternalfile", "yes");

    XmlElement docletEl = createElement(javadocEl, "doclet");
    docletEl.setAttribute("name", "gr.spinellis.umlgraph.doclet.UmlGraph");
    docletEl.setAttribute("path", LimyQalabPluginUtils.getResourcePath("lib/UmlGraph.jar"));

    addParam(docletEl, "-collpackages", "java.util.*");
    if (store.getBoolean(LimyQalabConstants.UMLGRAPH_INFERREL)) {
        addParam(docletEl, "-inferrel", null);
    }
    if (store.getBoolean(LimyQalabConstants.UMLGRAPH_HORIZONTAL)) {
        addParam(docletEl, "-horizontal", null);
    }

    String resources = env.getStore().getString(LimyQalabConstants.EXCLUDE_JDEPENDS);
    String[] excludes = resources.split("\n");
    for (String exclude : excludes) {
        // ?K\\L java.* => ^java\..*
        // org.apache.* => ^org\.apache\..*
        if (exclude.length() > 0) {
            addParam(docletEl, "-hide", "^" + exclude.replaceAll("\\.", "\\\\.").replaceAll("\\*", ".*"));
        }
    }
    return true;
}

From source file:org.limy.eclipse.qalab.common.LimyQalabEnvironment.java

License:Open Source License

/**
 * Javav?WFNgS\?[XpX?iQ?v?WFNg?j?B/*from   w  ww  .jav a2  s.  c  o  m*/
 * @param project Javav?WFNg
 * @return S\?[XpX
 * @throws JavaModelException JavafO
 */
private Collection<IJavaElement> getAllJavaElements(IJavaProject project) throws JavaModelException {

    Collection<IJavaElement> results = new ArrayList<IJavaElement>();

    IPackageFragmentRoot[] roots = project.getAllPackageFragmentRoots();

    // v?WFNgS\?[XpXQ?v?WFNg?[v
    for (IPackageFragmentRoot root : roots) {
        if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
            results.add(root);
        }
    }
    return results;
}

From source file:org.limy.eclipse.qalab.common.LimyQalabEnvironment.java

License:Open Source License

/**
 * Javav?WFNg?o?fBNg?B//  w  ww  .  ja  v  a  2 s.co  m
 * @param env 
 * @param enableRef Q?v?WFNg?
 * @return Javav?WFNg\?[XfBNg
 * @throws JavaModelException JavafO
 */
private Collection<IPath> privateGetBinPaths(LimyQalabEnvironment env, boolean enableRef)
        throws JavaModelException {

    IJavaProject project = env.getJavaProject();

    Set<IPath> results = new HashSet<IPath>();

    if (enableRef && store.getBoolean(LimyQalabConstants.ENABLE_REFPROJECT)) {

        // Q?v?WFNgL??
        IPackageFragmentRoot[] roots = project.getAllPackageFragmentRoots();
        for (IPackageFragmentRoot refRoot : roots) {
            if (refRoot.getKind() == IPackageFragmentRoot.K_SOURCE) {
                // Q?v?WFNg?[v
                IJavaProject refProject = refRoot.getJavaProject();
                LimyQalabUtils.appendProjectBinPaths(refProject, results);
            }
        }
    } else {
        // ftHgv?WFNg?ofBNg
        LimyQalabUtils.appendProjectBinPaths(project, results);
    }

    return results;
}

From source file:org.limy.eclipse.qalab.common.LimyQalabJavaUtils.java

License:Open Source License

/**
 * PackageFragmentRoot?pX?B/*from w  w w.  ja va  2  s.  c  om*/
 * @param fragment PackageFragmentRoot
 * @return
 * @throws CoreException 
 */
public static String getExternalLocation(IPackageFragmentRoot fragment) throws CoreException {

    String location = null;
    if (fragment.getKind() == IPackageFragmentRoot.K_SOURCE) {
        // v?WFNgQ?v?WFNg\?[XfBNg
        IPath outputLocation = fragment.getRawClasspathEntry().getOutputLocation();
        if (outputLocation != null) {
            // \?[XpXL?o?w??
            location = LimyQalabUtils.createFullPath(fragment.getJavaProject(), outputLocation);
        } else {
            // \?[XpXL?o?w???Av?WFNgftHg?o?gp
            location = LimyQalabUtils.createFullPath(fragment.getJavaProject(),
                    fragment.getJavaProject().getOutputLocation());
        }
    } else {
        // v?WFNgclasspathQ?v?WFNgExportCu
        IResource resource = fragment.getResource();
        if (resource != null) {
            location = resource.getLocation().toString();
        } else {
            // Variablewjart@Cresource = null 
            IPath path = fragment.getRawClasspathEntry().getPath();
            if (!path.toString().startsWith("org.eclipse.jdt.launching.JRE_CONTAINER")) {
                // JREOJARt@C?iVariablew?jNXpX
                location = fragment.getPath().toString();
            }
        }
    }
    return location;
}