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

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

Introduction

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

Prototype

boolean exists();

Source Link

Document

Returns whether this Java element exists in the model.

Usage

From source file:org.jboss.tools.cdi.core.CDICoreBuilder.java

License:Open Source License

protected void buildJars(JarSet newJars) throws CoreException {
    IJavaProject jp = EclipseResourceUtil.getJavaProject(getCDICoreNature().getProject());
    if (jp == null)
        return;/*from w ww  .j  av  a 2 s  .c o m*/
    FileSet fileSet = new FileSet();

    for (String jar : newJars.getBeanModules().keySet()) {
        Path path = new Path(jar);
        IPackageFragmentRoot root = jp.getPackageFragmentRoot(jar);
        if (root == null)
            continue;
        if (!root.exists()) {
            IFile f = EclipseResourceUtil.getFile(jar);
            if (f != null && f.exists()) {
                root = jp.getPackageFragmentRoot(f);
            } else {
                f = EclipseResourceUtil.getFile(jar + "/META-INF/beans.xml");
                if (f != null && f.exists()) {
                    root = jp.getPackageFragmentRoot(f.getParent().getParent());
                }
            }
        }
        if (root == null || !root.exists())
            continue;
        IJavaElement[] es = root.getChildren();
        for (IJavaElement e : es) {
            if (e instanceof IPackageFragment) {
                IPackageFragment pf = (IPackageFragment) e;
                IClassFile[] cs = pf.getClassFiles();
                for (IClassFile c : cs) {
                    fileSet.add(path, c.getType());
                }
            }
        }
        XModelObject beansXML = newJars.getBeanModules().get(jar);
        fileSet.setBeanXML(path, beansXML);

        for (IBuildParticipantFeature p : buildParticipants)
            p.visitJar(path, root, beansXML);
    }
    if (!buildParticipants2.isEmpty()) {
        for (String jar : newJars.getFileSystems().keySet()) {
            Path path = new Path(jar);
            XModelObject fs = newJars.getFileSystems().get(jar);
            for (IBuildParticipant2Feature p : buildParticipants2)
                p.visitJar(path, fs);
        }
    }
    addBasicTypes(fileSet);
    invokeBuilderDelegates(fileSet, getCDICoreNature());
}

From source file:org.jboss.tools.cdi.internal.core.scanner.lib.BeanArchiveDetector.java

License:Open Source License

public int resolve(String jar, CDICoreNature project) throws JavaModelException {
    IPackageFragmentRoot root = findPackageFragmentRoot(jar, project);
    if (root != null && root.exists()) {
        if (hasAnnotatedBeans(root, project)) {
            setBeanArchive(jar, ANNOTATED);
        } else {//from w  w w  .  ja  va 2s .com
            setBeanArchive(jar, NOT_ARCHIVE);
        }
    }
    return UNRESOLVED;
}

From source file:org.jboss.tools.cdi.internal.core.scanner.lib.BeanArchiveDetector.java

License:Open Source License

public static IPackageFragmentRoot findPackageFragmentRoot(String jar, IJavaProject jp) {
    IPackageFragmentRoot root = jp.getPackageFragmentRoot(jar);
    if (root != null && !root.exists()) {
        IFile f = EclipseResourceUtil.getFile(jar);
        if (f != null && f.exists()) {
            root = jp.getPackageFragmentRoot(f);
        } else {//from   w  w  w  . ja v a  2  s .  com
            IContainer c = ResourcesPlugin.getWorkspace().getRoot()
                    .getContainerForLocation(new Path(jar + "/META-INF").makeAbsolute());
            if (c != null && c.exists()) {
                root = jp.getPackageFragmentRoot(c.getParent());
            }
        }
    }
    return root;
}

From source file:org.jboss.tools.common.model.filesystems.impl.FileSystemImpl.java

License:Open Source License

public IContainer getResource() {
    if (getProject() == null || resource != null)
        return resource;
    if (!project.isOpen() || project.getLocation() == null)
        return resource;
    String prloc = project.getLocation().toString().replace('\\', '/');
    String thloc = XModelObjectUtil.getExpandedValue(this, XModelObjectConstants.ATTR_NAME_LOCATION, null);
    try {/*from   w ww.ja  v  a  2 s .co m*/
        prloc = new File(prloc).getCanonicalPath().replace('\\', '/');
    } catch (IOException e) {
        //ignore
    }
    try {
        java.io.File f = new java.io.File(thloc);
        if (f.exists() || thloc.indexOf("/..") >= 0) { //$NON-NLS-1$
            thloc = f.getCanonicalPath().replace('\\', '/');
        } else {
            thloc = thloc.replace('\\', '/');
        }
    } catch (IOException e) {
        return null;
    }
    if (thloc.equalsIgnoreCase(prloc))
        return resource = project; ///
    if (prloc.toLowerCase().startsWith(thloc.toLowerCase()))
        return resource = null;
    if (thloc.toLowerCase().startsWith(prloc.toLowerCase())) {
        String relative = thloc.substring(prloc.length());
        IFolder f = project.getFolder(new Path(relative));
        if (!f.exists() && !f.isSynchronized(IResource.DEPTH_ONE)) {
            try {
                f.refreshLocal(IResource.DEPTH_ONE, new NullProgressMonitor());
            } catch (CoreException e) {
                ModelPlugin.getPluginLog().logError(e);
            }
        }
        return resource = f;
    }

    String wsloc = ResourcesPlugin.getWorkspace().getRoot().getLocation().toString().replace('\\', '/');
    IContainer f = null;
    URI uri = URIUtil.toURI(thloc, true);
    IContainer[] cs = ResourcesPlugin.getWorkspace().getRoot().findContainersForLocationURI(uri);
    for (IContainer c : cs) {
        if (f == null || !c.isLinked()) {
            f = c;
        }
    }
    if (f != null && (!f.exists() && !f.isSynchronized(IResource.DEPTH_ONE))) {
        try {
            f.refreshLocal(IResource.DEPTH_ONE, new NullProgressMonitor());
        } catch (CoreException e) {
            ModelPlugin.getPluginLog().logError(e);
        }
    }

    if (f == null) {
        IJavaProject jp = EclipseResourceUtil.getJavaProject(getProject());
        if (jp != null) {
            IPackageFragmentRoot p = jp.getPackageFragmentRoot(thloc);
            if (p instanceof ExternalPackageFragmentRoot && p.exists()) {
                IResource r = ((PackageFragmentRoot) p).resource();
                if (r instanceof IContainer) {
                    f = (IContainer) r;
                }
            }
        }
    }

    resource = f;

    if (resource == null) {
        f = project.getFolder(
                new Path(XModelObjectConstants.SEPARATOR + getAttributeValue(XModelObjectConstants.ATTR_NAME)));
        if (!f.exists()) {
            // Do not try creating link 'on the fly'. It should be done  
            // by configuring project at creation/refresh/clean-build, 
            // that is as a single action.
        } else {
            resource = f;
        }
    }
    return resource;
}

From source file:org.jboss.tools.hibernate.jpt.ui.wizard.GenerateInitWizardPage.java

License:Open Source License

protected String getDefaultOutput() {
    try {/*w  w  w .  jav a2s  . com*/
        if (getJpaProject() == null)
            return ""; //$NON-NLS-1$
        if (getJpaProject().getJavaProject() == null)
            return ""; //$NON-NLS-1$
        if (!getJpaProject().getJavaProject().exists())
            return ""; //$NON-NLS-1$
        IPackageFragmentRoot[] roots = getJpaProject().getJavaProject().getPackageFragmentRoots();
        for (int i = 0; i < roots.length; i++) {
            IPackageFragmentRoot root = roots[i];
            if (root.getClass() == PackageFragmentRoot.class) {
                if (root.exists())
                    return root.getResource().getFullPath().toOSString();
            }
        }
        return getJpaProject().getJavaProject().getResource().getFullPath().toOSString();
    } catch (JavaModelException e) {
        HibernateJptUIPlugin.logException(e);
        return ""; //$NON-NLS-1$
    }
}

From source file:org.jboss.tools.jsf.jsf2.bean.build.JSF2ProjectBuilder.java

License:Open Source License

protected void buildJars(Map<String, XModelObject> newJars) throws CoreException {
    IJavaProject jp = EclipseResourceUtil.getJavaProject(getJSF2Project().getProject());
    if (jp == null)
        return;/*from ww w  .ja va  2 s. c  om*/
    FileSet fileSet = new FileSet();

    for (String jar : newJars.keySet()) {
        Path path = new Path(jar);
        IPackageFragmentRoot root = jp.getPackageFragmentRoot(jar);
        if (root == null)
            continue;
        if (!root.exists()) {
            IFile f = EclipseResourceUtil.getFile(jar);
            if (f != null && f.exists()) {
                root = jp.getPackageFragmentRoot(f);
            } else {
                f = EclipseResourceUtil.getFile(jar + "/META-INF/web-fragment.xml");
                if (f != null && f.exists()) {
                    root = jp.getPackageFragmentRoot(f.getParent().getParent());
                }
            }
        }
        if (root == null || !root.exists())
            continue;
        IJavaElement[] es = root.getChildren();
        for (IJavaElement e : es) {
            if (e instanceof IPackageFragment) {
                IPackageFragment pf = (IPackageFragment) e;
                IClassFile[] cs = pf.getClassFiles();
                for (IClassFile c : cs) {
                    fileSet.add(path, c.getType());
                }
            }
        }
    }
    build(fileSet, getJSF2Project());
}

From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsWebxmlApplication.java

License:Open Source License

@Override
public boolean isBinary() {
    final IJavaProject javaProject = getMetamodel().getJavaProject();
    IPackageFragmentRoot fragment = javaProject.getPackageFragmentRoot(webxmlResource);
    if (fragment != null && fragment.exists() && fragment.isArchive()) {
        return true;
    }/* ww w.j  a  v  a2 s.com*/
    return false;
}

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

License:Open Source License

/**
 * Returns all available packages./*from w ww. j  a v  a2  s  .  co m*/
 * @return All packages.
 * @throws JavaModelException Occurred Exception.
 */
public static IJavaElement[] getAllPackageFragmentRoot() throws JavaModelException {
    IJavaProject[] jProjects = getAllJavaProjects();
    Set<IJavaElement> packages = new HashSet<IJavaElement>();
    for (IJavaProject jProject : jProjects) {
        IPackageFragmentRoot[] froots = jProject.getAllPackageFragmentRoots();
        for (IPackageFragmentRoot froot : froots) {
            if (froot != null && froot.exists() && !froot.isReadOnly()) {
                IJavaElement[] children = froot.getChildren();
                for (IJavaElement element : children) {
                    packages.add(element);
                }
            }
        }
    }
    return packages.toArray(new IJavaElement[packages.size()]);
}

From source file:org.nuxeo.ide.sdk.java.ClasspathEditor.java

License:Open Source License

/**
 * Extends classpath target project with src folder
 *
 * @param name/* w  w w  .j a v a  2  s .  c o  m*/
 * @throws JavaModelException
 */
public void extendClasspath(String name) throws JavaModelException {
    IProject project = java.getProject();
    IFolder folder = project.getFolder("src/main/" + name);
    IPackageFragmentRoot root = java.getPackageFragmentRoot(folder);
    if (root.exists()) {
        IClasspathEntry entry = root.getRawClasspathEntry();
        if (entry.getOutputLocation() != null) {
            return;
        }
        entries.remove(entry);
    }
    // extend project class path
    IFolder binFolder = project.getFolder("bin/" + name);
    IClasspathEntry newEntry = JavaCore.newSourceEntry(folder.getFullPath(), new IPath[0], new IPath[0],
            binFolder.getFullPath());
    entries.add(newEntry);
    dirty = true;
}

From source file:org.nuxeo.ide.sdk.ui.widgets.PackageChooser.java

License:Open Source License

protected IPackageFragment choosePackage(IPackageFragment pack) {
    IPackageFragmentRoot froot = getSourceRoot(project);
    IJavaElement[] packages = null;/*w w  w  . j  a v  a  2s .  c  o  m*/
    try {
        if (froot != null && froot.exists()) {
            packages = froot.getChildren();
        }
    } catch (JavaModelException e) {
        UI.showError("Cannot find root fragment", e);
    }
    if (packages == null) {
        packages = new IJavaElement[0];
    }

    ElementListSelectionDialog dialog = new ElementListSelectionDialog(getShell(),
            new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT));
    dialog.setIgnoreCase(false);
    dialog.setTitle("Package Selection");
    dialog.setMessage("Choose a Folder:");
    dialog.setEmptyListMessage("Cannot find packages to select.");
    dialog.setElements(packages);
    dialog.setHelpAvailable(false);

    if (pack != null) {
        dialog.setInitialSelections(new Object[] { pack });
    }

    if (dialog.open() == Window.OK) {
        return (IPackageFragment) dialog.getFirstResult();
    }
    return null;
}