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

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

Introduction

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

Prototype

IPackageFragmentRoot[] getAllPackageFragmentRoots() throws JavaModelException;

Source Link

Document

Returns all of the existing package fragment roots that exist on the classpath, in the order they are defined by the classpath.

Usage

From source file:org.fastcode.util.SourceUtil.java

License:Open Source License

/**
 *
 * @param javaProject/*w  w  w .  jav  a  2  s  .  com*/
 * @return
 * @throws Exception
 */
private static boolean isProjectBinary(final IJavaProject javaProject) throws Exception {
    for (final IPackageFragmentRoot packageFragmentRoot : javaProject.getAllPackageFragmentRoots()) {
        if (packageFragmentRoot != null && packageFragmentRoot.exists() && !packageFragmentRoot.isArchive()) {
            return false;
        }
    }
    return true;
}

From source file:org.fastcode.util.SourceUtil.java

License:Open Source License

/**
 *
 * @return/*from w  w  w  .  j a v  a 2 s .  co  m*/
 */
public static String[][] getAllSourcePaths(final String filter) {
    final IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();

    final List<String> paths = new ArrayList<String>();

    try {
        for (final IProject project : projects) {
            final IJavaProject javaProject = JavaCore.create(project);
            if (javaProject != null && javaProject.exists() && isJunitEnabled(javaProject)
                    && javaProject.isOpen() && !javaProject.isReadOnly()) {
                for (final IPackageFragmentRoot packageFragmentRoot : javaProject
                        .getAllPackageFragmentRoots()) {
                    if (!(packageFragmentRoot.isArchive() || packageFragmentRoot.isReadOnly())) {
                        String sourcePath = packageFragmentRoot.getPath().toString();
                        sourcePath = sourcePath.replace(FORWARD_SLASH + project.getName(), "${project}");
                        if (filter == null || sourcePath.toUpperCase().contains(filter.toUpperCase())) {
                            boolean include = true;
                            for (final String path : paths) {
                                if (path.equals(sourcePath)) {
                                    include = false;
                                    break;
                                }
                            }
                            if (include) {
                                paths.add(sourcePath);
                            }
                        }
                    }
                }
            }
        }
    } catch (final JavaModelException ex) {
        ex.printStackTrace();
        return new String[0][0];
    }

    return getStringArrayFromList(paths, false);
}

From source file:org.fastcode.util.SourceUtil.java

License:Open Source License

/**
 * @param workingJavaProject/*from w w  w  .  j  a  va2s .  c o m*/
 * @param defaultPath
 * @return
 * @throws Exception
 */
public static IPackageFragment[] getPackagesInProject(IJavaProject workingJavaProject, String defaultPath,
        final String type) throws Exception {
    final List<IPackageFragment> allPackages = new ArrayList<IPackageFragment>();
    if (workingJavaProject.getElementName().equals(FC_PLUGIN)) {
        workingJavaProject = getWorkingJavaProjectFromUser();
        defaultPath = getDefaultPathFromProject(workingJavaProject, type, EMPTY_STR);
    }
    final IPackageFragmentRoot[] packageFragmentRootArray = workingJavaProject.getJavaProject()
            .getAllPackageFragmentRoots();
    getPackagesForFragment(workingJavaProject, packageFragmentRootArray, allPackages, defaultPath);
    final String reqdPrjs[] = workingJavaProject.getRequiredProjectNames();

    for (final String rqdPrj : reqdPrjs) {
        final IJavaProject javaPrj = getJavaProject(rqdPrj);
        if (javaPrj == null) {
            MessageDialog.openInformation(new Shell(), "Dependent Project Missing",
                    "Dependent project is missing, going ahead with the available ones.");
            continue;
        }
        final IPackageFragmentRoot[] pkgFrgmRoots = javaPrj.getAllPackageFragmentRoots();
        getPackagesForFragment(getJavaProject(rqdPrj), pkgFrgmRoots, allPackages, defaultPath);
    }
    final GlobalSettings globalSettings = getInstance();
    if (allPackages.isEmpty()) {
        if (globalSettings.isUseDefaultForPath()) {
            MessageDialog.openInformation(new Shell(), "No Packages Found",
                    "There are no packages in the path " + globalSettings.getSourcePathJava());
            return new IPackageFragment[0];
        } else {
            MessageDialog.openInformation(new Shell(), "No Packages Found",
                    "There are no packages found in the project " + workingJavaProject.getElementName());
            return new IPackageFragment[0];
        }
    }

    return allPackages.toArray(new IPackageFragment[0]);
}

From source file:org.fusesource.ide.camel.editor.globalconfiguration.beans.BeanConfigUtil.java

License:Open Source License

private IPackageFragmentRoot findPackageFragmentRoot(final IProject project, IJavaProject javaProject)
        throws CoreException {
    IPackageFragmentRoot fromFacade = findPackageFragmentRootWithFacade(project, javaProject);
    if (fromFacade != null) {
        return fromFacade;
    } else {/*from  ww  w .ja va  2 s  . com*/
        IPackageFragmentRoot[] allPackageFragmentRoots = javaProject.getAllPackageFragmentRoots();
        if (allPackageFragmentRoots.length == 1) {
            return allPackageFragmentRoots[0];
        } else {
            IFolder tstFolder = project.getFolder("src/main/java"); //$NON-NLS-1$
            IPackageFragmentRoot tstRoot = javaProject.getPackageFragmentRoot(tstFolder);
            if (tstRoot.exists()) {
                return tstRoot;
            } else {
                tstFolder.create(true, true, new NullProgressMonitor());

                // now refresh the package root to ensure we have the right fragment
                tstRoot = javaProject.getPackageFragmentRoot(tstFolder);
            }
            return tstRoot;
        }
    }
}

From source file:org.fusesource.ide.camel.editor.properties.creators.AbstractClassBasedParameterPropertyUICreator.java

License:Open Source License

/**
 * @param parent//from w  ww . j a  v  a 2  s  .com
 * @param project
 * @param fClass
 */
private void createCreateButton(Composite parent, final IProject project, final Class<?> fClass) {
    Button btn_create = getWidgetFactory().createButton(parent, " + ", SWT.FLAT | SWT.PUSH);
    btn_create.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            NewClassCreationWizard wiz = new NewClassCreationWizard();
            wiz.addPages();
            wiz.init(PlatformUI.getWorkbench(), null);
            NewClassWizardPage wp = (NewClassWizardPage) wiz.getStartingPage();
            WizardDialog wd = new WizardDialog(e.display.getActiveShell(), wiz);
            if (fClass.isInterface()) {
                wp.setSuperInterfaces(Arrays.asList(fClass.getName()), true);
            } else {
                wp.setSuperClass(fClass.getName(), true);
            }
            wp.setAddComments(true, true);
            setInitialPackageFrament(project, wp);
            if (Window.OK == wd.open()) {
                String value = wp.getCreatedType().getFullyQualifiedName();
                if (value != null)
                    getControl().setText(value);
            }
        }

        private void setInitialPackageFrament(final IProject project, NewClassWizardPage wp) {
            try {
                IJavaProject javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
                if (javaProject != null) {
                    IPackageFragmentRoot fragroot = findPackageFragmentRoot(project, javaProject);
                    wp.setPackageFragmentRoot(fragroot, true);
                    wp.setPackageFragment(PropertiesUtils.getPackage(javaProject, fragroot), true);
                }
            } catch (Exception ex) {
                CamelEditorUIActivator.pluginLog().logError(ex);
            }
        }

        private IPackageFragmentRoot findPackageFragmentRoot(final IProject project, IJavaProject javaProject)
                throws JavaModelException {
            IMavenProjectFacade facade = MavenPlugin.getMavenProjectRegistry().create(project,
                    new NullProgressMonitor());
            if (facade != null) {
                IPath[] paths = facade.getCompileSourceLocations();
                if (paths != null && paths.length > 0) {
                    for (IPath p : paths) {
                        if (p == null)
                            continue;
                        IResource res = project.findMember(p);
                        return javaProject.getPackageFragmentRoot(res);
                    }
                }
            } else {
                IPackageFragmentRoot[] allPackageFragmentRoots = javaProject.getAllPackageFragmentRoots();
                if (allPackageFragmentRoots.length == 1) {
                    return allPackageFragmentRoots[0];
                }
            }
            return null;
        }
    });
    btn_create.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    btn_create.setEnabled(fClass != null);
}

From source file:org.fusesource.ide.camel.editor.propertysheet.CamelComponentUtils.java

License:Open Source License

public static URLClassLoader getProjectClassLoader() {
    try {/* w w w  .  j ava2 s. c  o  m*/
        IProject project = Activator.getDiagramEditor().getCamelContextFile().getProject();
        IJavaProject javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
        IPackageFragmentRoot[] pfroots = javaProject.getAllPackageFragmentRoots();
        ArrayList<URL> urls = new ArrayList<URL>();
        for (IPackageFragmentRoot root : pfroots) {
            URL rUrl = root.getPath().toFile().toURI().toURL();
            urls.add(rUrl);
        }
        return new URLClassLoader(urls.toArray(new URL[urls.size()]),
                CamelComponentUtils.class.getClassLoader());
    } catch (Exception ex) {
        Activator.getLogger().error(ex);
    }
    return null;
}

From source file:org.fusesource.ide.camel.editor.utils.CamelComponentUtils.java

License:Open Source License

public static URLClassLoader getProjectClassLoader() {
    try {//from w ww. ja  v a  2 s.  c om
        IProject project = CamelUtils.getDiagramEditor().getModel().getResource().getProject();
        IJavaProject javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
        IPackageFragmentRoot[] pfroots = javaProject.getAllPackageFragmentRoots();
        ArrayList<URL> urls = new ArrayList<URL>();
        for (IPackageFragmentRoot root : pfroots) {
            URL rUrl = root.getPath().toFile().toURI().toURL();
            urls.add(rUrl);
        }
        return new URLClassLoader(urls.toArray(new URL[urls.size()]),
                CamelComponentUtils.class.getClassLoader());
    } catch (Exception ex) {
        CamelEditorUIActivator.pluginLog().logError(ex);
    }
    return null;
}

From source file:org.fusesource.ide.camel.model.service.core.util.CamelComponentUtils.java

License:Open Source License

public static URLClassLoader getProjectClassLoader(IProject project) {
    try {// w w  w .  java  2  s.  com
        IJavaProject javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
        IPackageFragmentRoot[] pfroots = javaProject.getAllPackageFragmentRoots();
        List<URL> urls = new ArrayList<>();
        for (IPackageFragmentRoot root : pfroots) {
            URL rUrl = root.getPath().toFile().toURI().toURL();
            urls.add(rUrl);
        }
        return new URLClassLoader(urls.toArray(new URL[urls.size()]),
                CamelComponentUtils.class.getClassLoader());
    } catch (Exception ex) {
        CamelModelServiceCoreActivator.pluginLog().logError(ex);
    }
    return null;
}

From source file:org.fusesource.ide.foundation.core.util.CamelUtils.java

License:Open Source License

/**
 * Fetch the list of files in the project that match the camel content type. 
 * This method looks at only the source folders if the project is a Java project.
 * @param project/*from ww  w .j a va2  s .  c  o m*/
 * @return list of camel files with content-type org.fusesource.ide.camel.editor.camelContentType
 * @throws CoreException
 */
public static List<IFile> getFilesWithCamelContentType(IProject project) throws CoreException {
    final List<IFile> files = new ArrayList<IFile>();
    if (project.hasNature(JavaCore.NATURE_ID)) {
        //limit the search to source folders
        IJavaProject javaProject = JavaCore.create(project);
        if (javaProject != null) {
            for (IPackageFragmentRoot ifr : javaProject.getAllPackageFragmentRoots()) {
                if (ifr.getKind() == IPackageFragmentRoot.K_SOURCE) {
                    files.addAll(getFilesWithCamelContentTypeInResource(ifr.getCorrespondingResource()));
                }
            }
        }
    }
    if (project.hasNature(FacetedProjectNature.NATURE_ID)) {
        // TODO: search in deployed resources
    }

    if (files.isEmpty()) {// or should we throw an error?
        files.addAll(getFilesWithCamelContentTypeInResource(project));
    }
    return files;
}

From source file:org.grails.ide.eclipse.ui.contentassist.util.BeansJavaCompletionUtils.java

License:Open Source License

private static IPackageFragment getPackageFragment(IJavaProject project, String prefix)
        throws JavaModelException {
    int dot = prefix.lastIndexOf('.');
    if (dot > -1) {
        String packageName = prefix.substring(0, dot);
        for (IPackageFragmentRoot root : project.getPackageFragmentRoots()) {
            IPackageFragment p = root.getPackageFragment(packageName);
            if (p != null && p.exists()) {
                return p;
            }/*from   w  w  w  . j a  va2s  .  com*/
        }
        IPackageFragment[] packages = project.getPackageFragments();
        for (IPackageFragment p : packages) {
            if (p.getElementName().equals(packageName)) {
                return p;
            }
        }
    } else {
        for (IPackageFragmentRoot p : project.getAllPackageFragmentRoots()) {
            if (p.getKind() == IPackageFragmentRoot.K_SOURCE) {
                return p.getPackageFragment("");
            }
        }
    }
    return project.getPackageFragments()[0];
}