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

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

Introduction

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

Prototype

IPackageFragmentRoot[] getPackageFragmentRoots() throws JavaModelException;

Source Link

Document

Returns all of the package fragment roots contained in this project, identified on this project's resolved classpath.

Usage

From source file:org.mobicents.eclipslee.servicecreation.wizards.generic.FilenamePage.java

License:Apache License

private IJavaElement[] getPackages() {

    IContainer resource = (IContainer) getSourceContainer();

    // Unable to find the currently specified Source Folder.
    if (resource == null || !resource.exists() || !(resource instanceof IContainer)) {
        return new IJavaElement[0];
    }//from   w  w w . j  a v a 2  s. com

    // Get an IJavaProject object for the selected Source Folder.
    IProject project = resource.getProject();
    IJavaProject javaProject = JavaCore.create(project);

    // Recurse through the packages and only select those not in a JAR file.
    try {
        boolean addedDefaultPackage = false;
        Vector packages = new Vector();
        IPackageFragmentRoot roots[] = javaProject.getPackageFragmentRoots();
        for (int i = 0; i < roots.length; i++) {
            IPackageFragmentRoot root = roots[i];
            if (!root.isArchive()) {
                IJavaElement children[] = root.getChildren();
                for (int j = 0; j < children.length; j++) {
                    IJavaElement child = (IJavaElement) children[j];
                    if (child instanceof IPackageFragment) {
                        // ammendonca: we can skip the duplicated default packages
                        if (child.getElementName().equals("")) {
                            if (!addedDefaultPackage) {
                                packages.add(child);
                                addedDefaultPackage = true;
                            }
                        } else {
                            packages.add(child);
                        }
                        addSubPackages((IPackageFragment) child, packages);
                    }
                }
            }
        }

        // Convert the Vector to an array.
        IJavaElement[] elements = new IJavaElement[packages.size()];
        elements = (IJavaElement[]) packages.toArray(elements);
        return elements;
    } catch (JavaModelException e) {
        return new IJavaElement[0];
    }
}

From source file:org.mule.ide.ui.wizards.MuleProjectWizard.java

License:Open Source License

/**
 * Get the first source folder from the project.
 * /*from w w w.j av  a  2s. co m*/
 * @param project the Java project
 * @return the folder
 * @throws JavaModelException
 */
protected IContainer getSourceContainer(IJavaProject project) throws JavaModelException {
    IPackageFragmentRoot[] roots = project.getPackageFragmentRoots();
    for (int i = 0; i < roots.length; i++) {
        if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
            return (IContainer) roots[i].getResource();
        }
    }
    return null;
}

From source file:org.mybatis.generator.eclipse.core.callback.EclipseShellCallback.java

License:Apache License

/**
 * This method returns the first modifiable package fragment root in the
 * java project/*from   w w  w.jav a 2  s .c o  m*/
 * 
 * @param javaProject
 * @return
 */
private IPackageFragmentRoot getFirstSourceFolder(IJavaProject javaProject) throws ShellException {

    // find the first non-JAR package fragment root
    IPackageFragmentRoot[] roots;
    try {
        roots = javaProject.getPackageFragmentRoots();
    } catch (CoreException e) {
        throw new ShellException(e.getStatus().getMessage(), e);
    }

    IPackageFragmentRoot srcFolder = null;
    for (int i = 0; i < roots.length; i++) {
        if (roots[i].isArchive() || roots[i].isReadOnly() || roots[i].isExternal()) {
            continue;
        } else {
            srcFolder = roots[i];
            break;
        }
    }

    if (srcFolder == null) {
        StringBuffer sb = new StringBuffer();
        sb.append("Cannot find source folder for project ");
        sb.append(javaProject.getElementName());

        throw new ShellException(sb.toString());
    }

    return srcFolder;
}

From source file:org.nuxeo.ide.connect.OperationScanner.java

License:Open Source License

public static List<OperationModel> getOperations(IJavaProject[] projects) throws Exception {
    List<OperationModel> result = new ArrayList<OperationModel>();
    for (IJavaProject project : projects) {
        for (IPackageFragmentRoot root : project.getPackageFragmentRoots()) {
            if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
                scanPackageRoot(root, result);
            }//from   w ww. j a  v  a  2 s .  c  om
        }
    }
    return result;
}

From source file:org.nuxeo.ide.connect.OperationScanner.java

License:Open Source License

public static List<OperationModel> getOperations(IJavaProject project) throws Exception {
    List<OperationModel> result = new ArrayList<OperationModel>();
    for (IPackageFragmentRoot root : project.getPackageFragmentRoots()) {
        if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
            scanPackageRoot(root, result);
        }//from  w  w  w.  j a v a 2  s .co  m
    }
    return result;
}

From source file:org.nuxeo.ide.sdk.deploy.Deployment.java

License:Open Source License

/**
 * For a given @param depName java unit import, retrieves all unit classes
 * having given dependencies Parse all resources from src/main folder (could
 * be src/main/java, src/main/seam...)/*from ww w .ja  v a 2  s . c om*/
 */
protected void buildProjectCommands(Set<String> commands, IProject project) throws Exception {
    IJavaProject java = JavaCore.create(project);
    IFolder nxdataFolder = nxdataFolder(java);
    if (nxdataFolder.exists()) {
        nxdataFolder.delete(false, new NullProgressMonitor());
    }
    for (IPackageFragmentRoot root : java.getPackageFragmentRoots()) {
        if (root.getKind() != IPackageFragmentRoot.K_SOURCE) {
            continue;
        }
        if (!"main".equals(root.getCorrespondingResource().getParent().getName())) {
            continue;
        }
        copyPackageRoot(commands, root);
    }
}

From source file:org.nuxeo.ide.sdk.index.DependencyProvider.java

License:Open Source License

/**
 * Get all dependencies//  w w w .  ja  va 2  s .co m
 * 
 * @param project
 * @return
 * @throws Exception
 */
public static Set<Dependency> getDependencies(IJavaProject project) throws Exception {
    Set<Dependency> result = new HashSet<Dependency>();
    for (IPackageFragmentRoot root : project.getPackageFragmentRoots()) {
        if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
            introspectPackageRoot(root, result);
        }
    }
    return result;
}

From source file:org.nuxeo.ide.sdk.index.DependencyProvider.java

License:Open Source License

/**
 * Get all non test dependencies/*from   w w  w.ja va2  s . c  o  m*/
 * 
 * @param project
 * @return
 * @throws Exception
 */
public static Set<Dependency> getNonTestDependencies(IJavaProject project) throws Exception {
    IPath testPrefix = new Path("src/test");
    Set<Dependency> result = new HashSet<Dependency>();
    for (IPackageFragmentRoot root : project.getPackageFragmentRoots()) {
        if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
            IResource r = root.getCorrespondingResource();
            if (r != null && !testPrefix.isPrefixOf(r.getProjectRelativePath())) {
                introspectPackageRoot(root, result);
            }
        }
    }
    return result;
}

From source file:org.nuxeo.ide.sdk.server.ui.ExportProjectJar.java

License:Open Source License

protected Object[] collectElementsToExport(IProject project) throws JavaModelException {
    IJavaProject jp = JavaCore.create(project);
    ArrayList<Object> result = new ArrayList<Object>();
    // IFolder folder = project.getFolder("src/main/java");
    // if (folder.exists()) {
    // result.add(jp.getPackageFragmentRoot(folder));
    // }//from ww w  .  jav a  2  s. c  om
    // folder = project.getFolder("src/main/resources");
    // if (folder.exists()) {
    // result.add(jp.getPackageFragmentRoot(folder));
    // }
    // return result;
    IFolder testSrc = project.getFolder("src/test");
    IPath test = testSrc.exists() ? testSrc.getFullPath() : null;
    IPackageFragmentRoot[] roots = jp.getPackageFragmentRoots();
    for (IPackageFragmentRoot root : roots) {
        if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
            if (test == null || !test.isPrefixOf(root.getPath())) {
                result.add(root);
            }
        }
    }
    return result.toArray(new Object[result.size()]);
}

From source file:org.objectstyle.wolips.wizards.WOComponentCreationPage.java

License:Open Source License

protected IPackageFragment choosePackage() {
    List<IJavaElement> packagesList = new LinkedList<IJavaElement>();
    try {//from   www.  j  ava 2 s .c  o m
        IProject actualProject = ResourcesPlugin.getWorkspace().getRoot()
                .getProject(getContainerFullPath().segment(0));
        IJavaProject javaProject = JavaModelManager.getJavaModelManager().getJavaModel()
                .getJavaProject(actualProject);
        IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots();
        for (int k = 0; k < roots.length; k++) {
            if (roots[k].getKind() == IPackageFragmentRoot.K_SOURCE) {
                IJavaElement[] children = roots[k].getChildren();
                for (int i = 0; i < children.length; i++) {
                    packagesList.add(children[i]);
                }
            }
        }
    } catch (JavaModelException e) {
        // JTourBusPlugin.log(e);
        e.printStackTrace();
    }
    IJavaElement[] packages = packagesList.toArray(new IJavaElement[packagesList.size()]);

    ElementListSelectionDialog dialog = new ElementListSelectionDialog(getShell(),
            new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT));
    dialog.setIgnoreCase(false);
    dialog.setTitle(NewWizardMessages.NewTypeWizardPage_ChoosePackageDialog_title);
    dialog.setMessage(NewWizardMessages.NewTypeWizardPage_ChoosePackageDialog_description);
    dialog.setEmptyListMessage(NewWizardMessages.NewTypeWizardPage_ChoosePackageDialog_empty);
    dialog.setFilter(_packageDialogField.getText());
    dialog.setElements(packages);
    if (dialog.open() == Window.OK) {
        return (IPackageFragment) dialog.getFirstResult();
    }
    return null;
}