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:com.iw.plugins.spindle.core.util.JarEntryFileUtil.java

License:Mozilla Public License

private static IPackageFragmentRoot getPackageFragmentRoot(IJavaProject project, IJarEntryResource entry,
        boolean includeOtherProjects) throws CoreException {
    String path = getJarPath(entry);
    IPackageFragmentRoot[] roots = includeOtherProjects ? project.getAllPackageFragmentRoots()
            : project.getPackageFragmentRoots();
    for (int i = 0; i < roots.length; i++) {
        if (roots[i] instanceof JarPackageFragmentRoot)

            if (((JarPackageFragmentRoot) roots[i]).getJar().getName().equals(path))
                return roots[i];

    }//from   w w w  .  j av a2 s .  c o m
    return null;
}

From source file:com.iw.plugins.spindle.ui.wizards.TypeChooseWizardPage.java

License:Mozilla Public License

public void restoreRootAndPackageSettings(IJavaProject project) {
    try {//from   w w w  . j av a  2  s  .c  om
        IDialogSettings settings = getDialogSettings();
        String rootSetting = settings.get(PACKAGE_ROOT_KEY);
        if (rootSetting == null)
            return;
        IPackageFragmentRoot foundRoot = null;
        IPackageFragmentRoot[] roots = project.getAllPackageFragmentRoots();
        for (int i = 0; i < roots.length; i++) {
            String path = roots[i].getPath().makeRelative().toString();
            if (path.equals(rootSetting)) {
                foundRoot = roots[i];
                setPackageFragmentRoot(roots[i], true);
                break;
            }
        }
        String packageSetting = settings.get(PACKAGE_NAME_KEY);
        if (foundRoot == null || packageSetting == null
                || (packageSetting = packageSetting.trim()).length() == 0)
            return;
        setPackageFragment(foundRoot.getPackageFragment(packageSetting), true);
    } catch (JavaModelException e) {
        UIPlugin.log(e);
    }
}

From source file:com.iw.plugins.spindle.ui.wizards.TypeChooseWizardPage.java

License:Mozilla Public License

private void tapestryProjectChanged() {
    ITapestryProject project = fFirstPageProjectField.getTapestryProject();
    if (project == null) {
        setPackageFragmentRoot(null, false);
        setPackageFragment(null, false);
    } else {/*from  ww w.  ja  va  2s . c o m*/

        try {
            IJavaProject jproject = project.getJavaProject();
            fChooseSpecClassDialogField.init(jproject, getWizard().getContainer());
            String existingSpecClassname = fChooseSpecClassDialogField.getTextValue();
            IPackageFragmentRoot[] roots = jproject.getAllPackageFragmentRoots();
            for (int i = 0; i < roots.length; i++) {
                IPackageFragmentRoot previous = getPackageFragmentRoot();
                if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE && roots[i].exists()) {
                    setPackageFragmentRoot(roots[i], true);
                    if (previous != null && !previous.getParent().equals(jproject))
                        setPackageFragment(null, true);
                    break;
                }
            }
        } catch (CoreException e) {
            UIPlugin.log(e);
        }
    }
}

From source file:com.iw.plugins.spindle.util.lookup.TapestryLookup.java

License:Mozilla Public License

public void configure(IJavaProject project) throws JavaModelException {
    seekExtensions = TapestryPlugin.getManagedExtensions();
    this.project = project;
    workspace = project.getJavaModel().getWorkspace();
    fPackageFragmentRoots = project.getAllPackageFragmentRoots();
    fPackageFragments = new HashMap();
    IPackageFragment[] frags = getPackageFragmentsInRoots(fPackageFragmentRoots, project);
    for (int i = 0; i < frags.length; i++) {
        IPackageFragment fragment = frags[i];
        IPackageFragment[] entry = (IPackageFragment[]) fPackageFragments.get(fragment.getElementName());
        if (entry == null) {
            entry = new IPackageFragment[1];
            entry[0] = fragment;//from  ww  w  .  jav  a 2 s .c  o m
            fPackageFragments.put(fragment.getElementName(), entry);
        } else {
            IPackageFragment[] copy = new IPackageFragment[entry.length + 1];
            System.arraycopy(entry, 0, copy, 0, entry.length);
            copy[entry.length] = fragment;
            fPackageFragments.put(fragment.getElementName(), copy);
        }
    }
    initialized = true;
}

From source file:com.mountainminds.eclemma.core.launching.JavaApplicationLauncher.java

License:Open Source License

public Set<IPackageFragmentRoot> getOverallScope(ILaunchConfiguration configuration) throws CoreException {
    final IJavaProject project = JavaRuntime.getJavaProject(configuration);
    if (project == null) {
        return Collections.emptySet();
    } else {//from w w  w.j  av  a2  s.c o  m
        return ScopeUtils.filterJREEntries(Arrays.asList(project.getAllPackageFragmentRoots()));
    }
}

From source file:com.siteview.mde.internal.core.search.PluginJavaSearchUtil.java

License:Open Source License

public static IPackageFragment[] collectPackageFragments(IMonitorModelBase[] models, IJavaProject parentProject,
        boolean filterEmptyPackages) throws JavaModelException {
    ArrayList result = new ArrayList();
    IPackageFragmentRoot[] roots = parentProject.getAllPackageFragmentRoots();

    for (int i = 0; i < models.length; i++) {
        IMonitorModelBase model = models[i];
        IResource resource = model.getUnderlyingResource();
        if (resource == null) {
            ArrayList libraryPaths = new ArrayList();
            addLibraryPaths(model, libraryPaths);
            for (int j = 0; j < roots.length; j++) {
                if (libraryPaths.contains(roots[j].getPath())) {
                    extractPackageFragments(roots[j], result, filterEmptyPackages);
                }/*from  w  w w. j a  v a 2 s .c o  m*/
            }
        } else {
            IProject project = resource.getProject();
            for (int j = 0; j < roots.length; j++) {
                IJavaProject jProject = (IJavaProject) roots[j].getParent();
                if (jProject.getProject().equals(project)) {
                    extractPackageFragments(roots[j], result, filterEmptyPackages);
                }
            }
        }
    }
    return (IPackageFragment[]) result.toArray(new IPackageFragment[result.size()]);
}

From source file:com.siteview.mde.internal.core.SearchablePluginsManager.java

License:Open Source License

private IPackageFragmentRoot findPackageFragmentRoot(IPath jarPath) {
    IJavaProject jProject = getProxyProject();
    if (jProject != null) {
        try {/*from   w w  w  .j  av  a2s.c om*/
            IPackageFragmentRoot[] roots = jProject.getAllPackageFragmentRoots();
            for (int i = 0; i < roots.length; i++) {
                IPackageFragmentRoot root = roots[i];
                IPath path = root.getPath();
                if (path.equals(jarPath))
                    return root;

            }
        } catch (JavaModelException e) {
        }
    }

    // Find in other plug-in (and fragments) projects dependencies
    IMonitorModelBase[] pluginModels = MonitorRegistry.getWorkspaceModels();
    for (int i = 0; i < pluginModels.length; i++) {
        IProject project = pluginModels[i].getUnderlyingResource().getProject();
        IJavaProject javaProject = JavaCore.create(project);
        try {
            IPackageFragmentRoot[] roots = javaProject.getAllPackageFragmentRoots();
            for (int j = 0; j < roots.length; j++) {
                IPackageFragmentRoot root = roots[j];
                IPath path = root.getPath();
                if (path.equals(jarPath))
                    return root;
            }
        } catch (JavaModelException e) {
        }
    }

    return null;
}

From source file:com.siteview.mde.internal.core.util.PDEJavaHelper.java

License:Open Source License

public static IPackageFragmentRoot[] getNonJRERoots(IJavaProject project) {
    ArrayList result = new ArrayList();
    try {//from w w w. ja v  a  2  s.  c  om
        IPackageFragmentRoot[] roots = project.getAllPackageFragmentRoots();
        for (int i = 0; i < roots.length; i++) {
            if (!isJRELibrary(roots[i])) {
                result.add(roots[i]);
            }
        }
    } catch (JavaModelException e) {
    }
    return (IPackageFragmentRoot[]) result.toArray(new IPackageFragmentRoot[result.size()]);
}

From source file:com.siteview.mde.internal.core.util.PDEJavaHelper.java

License:Open Source License

/**
 * @param packageName - the name of the package
 * @param pluginID - the id of the containing plug-in - can be null if <code>project</code> is not null
 * @param project - if null will search for an external package fragment, otherwise will search in project
 *///from  w w  w . j  a  v a  2 s  .  com
public static IPackageFragment getPackageFragment(String packageName, String pluginID, IProject project) {
    if (project == null)
        return getExternalPackageFragment(packageName, pluginID);

    IJavaProject jp = JavaCore.create(project);
    if (jp != null)
        try {
            IPackageFragmentRoot[] roots = jp.getAllPackageFragmentRoots();
            for (int i = 0; i < roots.length; i++) {
                IPackageFragment frag = roots[i].getPackageFragment(packageName);
                if (frag.exists()) {
                    return frag;
                }
            }
        } catch (JavaModelException e) {
        }
    return null;
}

From source file:com.siteview.mde.internal.core.util.PDEJavaHelper.java

License:Open Source License

private static IPackageFragment getExternalPackageFragment(String packageName, String pluginID) {
    if (pluginID == null)
        return null;
    IMonitorModelBase base = null;//from   ww w .j a v a 2 s . co  m
    try {
        IMonitorModelBase plugin = MonitorRegistry.findModel(pluginID);
        if (plugin == null)
            return null;
        ImportPackageSpecification[] packages = plugin.getBundleDescription().getImportPackages();
        for (int i = 0; i < packages.length; i++)
            if (packages[i].getName().equals(packageName)) {
                ExportPackageDescription desc = (ExportPackageDescription) packages[i].getSupplier();
                if (desc != null)
                    base = MonitorRegistry.findModel(desc.getExporter().getSymbolicName());
                break;
            }
        if (base == null)
            return null;
        IResource res = base.getUnderlyingResource();
        if (res != null) {
            IJavaProject jp = JavaCore.create(res.getProject());
            if (jp != null)
                try {
                    IPackageFragmentRoot[] roots = jp.getAllPackageFragmentRoots();
                    for (int i = 0; i < roots.length; i++) {
                        IPackageFragment frag = roots[i].getPackageFragment(packageName);
                        if (frag.exists())
                            return frag;
                    }
                } catch (JavaModelException e) {
                }
        }
        IProject proj = MDECore.getWorkspace().getRoot()
                .getProject(SearchablePluginsManager.PROXY_PROJECT_NAME);
        if (proj == null)
            return searchWorkspaceForPackage(packageName, base);
        IJavaProject jp = JavaCore.create(proj);
        IPath path = new Path(base.getInstallLocation());
        // if model is in jar form
        if (!path.toFile().isDirectory()) {
            IPackageFragmentRoot root = jp.findPackageFragmentRoot(path);
            if (root != null) {
                IPackageFragment frag = root.getPackageFragment(packageName);
                if (frag.exists())
                    return frag;
            }
            // else model is in folder form, try to find model's libraries on filesystem
        } else {
            IMonitorLibrary[] libs = base.getMonitorBase().getLibraries();
            for (int i = 0; i < libs.length; i++) {
                if (IMonitorLibrary.RESOURCE.equals(libs[i].getType()))
                    continue;
                String libName = ClasspathUtilCore.expandLibraryName(libs[i].getName());
                IPackageFragmentRoot root = jp.findPackageFragmentRoot(path.append(libName));
                if (root != null) {
                    IPackageFragment frag = root.getPackageFragment(packageName);
                    if (frag.exists())
                        return frag;
                }
            }
        }
    } catch (JavaModelException e) {
    }
    return searchWorkspaceForPackage(packageName, base);
}