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

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

Introduction

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

Prototype

public boolean isArchive();

Source Link

Document

Returns whether this package fragment root's underlying resource is a binary archive (a JAR or zip file).

Usage

From source file:org.jboss.tools.hibernate.jpt.ui.internal.persistence.details.HibernatePropertiesComposite.java

License:Open Source License

public IPackageFragmentRoot[] getSourcePackageFragmentRoots() {
    BasicHibernateProperties props = getSubject();
    if (props != null) {
        IProject project = props.getJpaProject().getProject();
        IJavaProject jProject = JavaCore.create(project);
        if (jProject != null) {
            try {
                IPackageFragmentRoot[] allPackageFragmentRoots = jProject.getAllPackageFragmentRoots();
                List<IPackageFragmentRoot> sources = new LinkedList<IPackageFragmentRoot>();
                for (IPackageFragmentRoot iPackageFragmentRoot : allPackageFragmentRoots) {
                    if (!iPackageFragmentRoot.isArchive() && iPackageFragmentRoot.isOpen()) {
                        sources.add(iPackageFragmentRoot);
                    }/*from w w  w. ja  v  a 2 s.c om*/
                }
                return sources.toArray(new IPackageFragmentRoot[0]);
            } catch (JavaModelException e) {
                //ignore
            }
        }
    }
    return new IPackageFragmentRoot[0];
}

From source file:org.jboss.tools.maven.conversion.ui.handlers.ConvertToMavenDependencyHandler.java

License:Open Source License

private void addClasspathEntry(IPackageFragmentRoot pfr, Collection<IClasspathEntry> entries) {
    if (pfr.isArchive()) {
        pfr.getResource();/*from w w  w.  j av  a 2 s .c  om*/
        try {
            IClasspathEntry cpe = pfr.getResolvedClasspathEntry();
            if (cpe != null && cpe.getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
                entries.add(cpe);
            }
        } catch (JavaModelException e) {
            e.printStackTrace();
        }
    }
}

From source file:org.jboss.tools.maven.sourcelookup.ui.actions.AttachSourcesActionDelegate.java

License:Open Source License

@Override
public void setActiveEditor(IAction action, IEditorPart targetEditor) {
    if (targetEditor != null) {
        try {//from  w ww.  j a  v a 2 s.co m
            boolean isAuto = SourceLookupActivator.getDefault().isAutoAddSourceContainer();
            if (!isAuto) {
                return;
            }
            IClassFileEditorInput input = (IClassFileEditorInput) targetEditor.getEditorInput();
            IJavaElement element = input.getClassFile();
            while (element.getParent() != null) {
                element = element.getParent();
                if (element instanceof IPackageFragmentRoot) {
                    final IPackageFragmentRoot fragment = (IPackageFragmentRoot) element;
                    IPath attachmentPath = fragment.getSourceAttachmentPath();
                    if (attachmentPath != null && !attachmentPath.isEmpty()
                            && attachmentPath.toFile().exists()) {
                        break;
                    }
                    if (fragment.isArchive()) {
                        IFile iFile = ResourcesPlugin.getWorkspace().getRoot().getFile(fragment.getPath());
                        File file = iFile == null || iFile.getLocation() == null ? fragment.getPath().toFile()
                                : iFile.getLocation().toFile();
                        IFileIdentificationManager identificationManager = new FileIdentificationManager();
                        final ArtifactKey artifact = identificationManager.identify(file,
                                new NullProgressMonitor());
                        if (artifact != null) {
                            IPath sourcePath = JBossSourceContainer.getSourcePath(artifact);
                            if (sourcePath == null || !sourcePath.toFile().exists()) {
                                Job job = JBossSourceContainer.downloadArtifact(file, artifact);
                                job.addJobChangeListener(new IJobChangeListener() {

                                    @Override
                                    public void sleeping(IJobChangeEvent event) {
                                    }

                                    @Override
                                    public void scheduled(IJobChangeEvent event) {
                                    }

                                    @Override
                                    public void running(IJobChangeEvent event) {
                                    }

                                    @Override
                                    public void done(IJobChangeEvent event) {
                                        IPath sourcePath = JBossSourceContainer.getSourcePath(artifact);
                                        if (sourcePath != null && sourcePath.toFile().exists()) {
                                            attachSource(fragment, sourcePath);
                                        }
                                    }

                                    @Override
                                    public void awake(IJobChangeEvent event) {
                                    }

                                    @Override
                                    public void aboutToRun(IJobChangeEvent event) {
                                    }
                                });
                                job.schedule();
                            } else {
                                attachSource(fragment, sourcePath);
                            }
                        }
                    }
                }
            }
        } catch (Exception e) {
            SourceLookupUIActivator.log(e);
        }
    }
}

From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.JavaElementDeltaFilterTestCase.java

License:Open Source License

@Test
public void shouldNotAcceptChangesInJarFile() {
    final IPackageFragmentRoot element = createMock(IPackageFragmentRoot.class, PACKAGE_FRAGMENT_ROOT);
    final IResource resource = mock(IResource.class);
    when(element.getResource()).thenReturn(resource);
    when(element.isArchive()).thenReturn(true);
    when(resource.getType()).thenReturn(IResource.FILE);
    when(resource.getName()).thenReturn("somearchive.jar");
    assertFalse("Wrong result", filter.apply(createEvent(element, ADDED, POST_RECONCILE, Flags.NONE)));
    assertFalse("Wrong result", filter.apply(createEvent(element, ADDED, POST_CHANGE, Flags.NONE)));
    assertFalse("Wrong result", filter.apply(createEvent(element, CHANGED, POST_RECONCILE, Flags.NONE)));
    assertFalse("Wrong result", filter.apply(createEvent(element, CHANGED, POST_CHANGE, Flags.NONE)));
    assertFalse("Wrong result", filter.apply(createEvent(element, REMOVED, POST_RECONCILE, Flags.NONE)));
    assertFalse("Wrong result", filter.apply(createEvent(element, REMOVED, POST_CHANGE, Flags.NONE)));
}

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;
    }/*from  w  ww .  j  a v  a  2 s .  c  o  m*/
    return false;
}

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

License:Apache License

/**
 * Tests if the current workbench selection is a suitable
 * container to use.//from   w w  w .jav a  2s .co m
 */

private void initialize() {
    if (selection != null && selection.isEmpty() == false && selection instanceof IStructuredSelection) {

        IJavaElement element = getInitialJavaElement((IStructuredSelection) selection);
        IPackageFragmentRoot initialRoot;
        initialRoot = JavaModelUtil.getPackageFragmentRoot(element);
        if (initialRoot == null || initialRoot.isArchive()) {
            IJavaProject javaProject = element.getJavaProject();
            if (javaProject != null) {
                try {
                    initialRoot = null;
                    if (javaProject.exists()) {
                        IPackageFragmentRoot roots[] = javaProject.getPackageFragmentRoots();
                        for (int i = 0; i < roots.length; i++) {
                            if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
                                initialRoot = roots[i];
                                break;
                            }
                        }
                    }
                } catch (JavaModelException e) {
                    ServiceCreationPlugin.log("JavaModelException determining project root.");
                }
                if (initialRoot == null) {
                    initialRoot = javaProject.getPackageFragmentRoot(javaProject.getResource());
                }
            }
        }

        try {
            setSourceContainer((IFolder) initialRoot.getCorrespondingResource());
        } catch (JavaModelException e) {
            ServiceCreationPlugin.log("JavaModelException thrown setting source container on FilenamePage");
        }

        //         // Initialize the maven module dialog
        //         mavenModuleText.setText(mavenModule);

        // Initialize the filename dialog
        fileText.setText("__Replace_Me__" + ends);

        if (element != null && element.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
            IPackageFragment fragment = (IPackageFragment) element;
            setPackage(fragment);
            return;
        }

        if (element != null && element.getElementType() == IJavaElement.COMPILATION_UNIT) {
            ICompilationUnit unit = (ICompilationUnit) element;
            IPackageFragment fragment = (IPackageFragment) unit.getParent();
            setPackage(fragment);
            return;
        }

        setPackage(null);
    }

}

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 ww.j a  va2 s .c om*/

    // 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.org.eclipse.dws.ui.internal.wizards.pages.DependenciesFromClasspathPage.java

License:Open Source License

/**
 * Checks if is possible dependency./*from   w  ww .  j av a 2  s  .  co m*/
 * 
 * @param packageFragmentRoot
 *            the package fragment root
 * 
 * @return the boolean
 * 
 * @throws JavaModelException
 *             the java model exception
 */
private Boolean isPossibleDependency(IPackageFragmentRoot packageFragmentRoot) throws JavaModelException {
    boolean isArchive = packageFragmentRoot.isArchive();
    int entryKind = packageFragmentRoot.getRawClasspathEntry().getEntryKind();
    boolean isFiltered = isFiltered(packageFragmentRoot);
    return isArchive && (entryKind != IClasspathEntry.CPE_PROJECT) && entryKind != IClasspathEntry.CPE_SOURCE
            && !isFiltered;
}

From source file:org.org.eclipse.dws.ui.internal.wizards.pages.LookupJavadocAndSourcesForLibrariesInClasspathPage.java

License:Open Source License

/**
 * Checks if is library with missing javadoc or source.
 * //ww w. ja  va 2 s .  c o m
 * @param packageFragmentRoot
 *            the package fragment root
 * 
 * @return the boolean
 * 
 * @throws JavaModelException
 *             the java model exception
 */
private Boolean isLibraryWithMissingJavadocOrSource(IPackageFragmentRoot packageFragmentRoot)
        throws JavaModelException {
    boolean isArchive = packageFragmentRoot.isArchive();
    int entryKind = packageFragmentRoot.getRawClasspathEntry().getEntryKind();
    boolean isFiltered = isFiltered(packageFragmentRoot);
    boolean missesSources = missesSources(packageFragmentRoot);
    boolean missesJavadoc = missesJavadoc(packageFragmentRoot);
    return isArchive && (entryKind != IClasspathEntry.CPE_PROJECT) && entryKind != IClasspathEntry.CPE_SOURCE
            && !isFiltered && (missesJavadoc || missesSources);
}

From source file:org.seasar.s2daoplugin.cache.deployment.deployer.ComponentAutoRegisterDeployer.java

License:Apache License

private boolean isJar(IPackageFragmentRoot root) {
    return root != null && root.isArchive() && "jar".equalsIgnoreCase(root.getResource().getFileExtension());
}