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.eclipse.recommenders.codesearch.rcp.index.ui.ProjectIndexerRunnable.java

License:Open Source License

private void analyzeRoot(final IPackageFragmentRoot root) throws Exception {
    this.root = root;
    monitor.subTask("Analyzing " + root.getElementName());

    rootLocation = getFile(root);/*from  ww w.  ja  v  a 2s  .c  o m*/
    if (monitor.isCanceled()) {
        return;
    }
    if (rootLocation == null) {
        return;
    }
    if (hasNotChanged(rootLocation)) {
        return;
    }
    if (root.isArchive()) {
        indexer.delete(rootLocation);
        if (!findSourceMapper()) {
            return;
        }
    }

    analyzePackageFragments();

    monitor.subTask("Checkpointing...");
    indexer.commit();
    monitor.worked(1);
    root.close();
}

From source file:org.eclipse.recommenders.internal.models.rcp.ProjectCoordinateProvider.java

License:Open Source License

private Optional<DependencyInfo> extractDependencyInfo(IPackageFragmentRoot root) {
    if (root == null) {
        return absent();
    }/*ww  w . ja v a 2  s. c  o m*/
    if (!root.isArchive()) {
        return extractDependencyInfo(root.getJavaProject());
    }
    File location = JdtUtils.getLocation(root).orNull();
    if (location == null) {
        return absent();
    }

    IJavaProject javaProject = root.getJavaProject();

    if (isPartOfJRE(root, javaProject)) {
        return DependencyInfos.createDependencyInfoForJre(javaProject);
    } else {
        DependencyInfo request = new DependencyInfo(location, JAR);
        return of(request);
    }
}

From source file:org.eclipse.scout.sdk.saml.importer.operation.AbstractSamlElementImportOperation.java

License:Open Source License

protected void deleteClass(IScoutBundle bundle, String pckName, String className) throws CoreException {
    String fileName = className + ".java";
    for (IPackageFragmentRoot r : bundle.getJavaProject().getPackageFragmentRoots()) {
        if (!r.isArchive() && !r.isReadOnly() && !r.isExternal()) {
            IFolder fld = (IFolder) r.getResource();
            if (fld.exists()) {
                IFolder packageFolder = fld.getFolder(new Path(pckName.replace('.', '/')));
                if (packageFolder.exists()) {
                    IFile javaFile = packageFolder.getFile(fileName);
                    if (javaFile.exists()) {
                        javaFile.delete(true, false, getSamlContext().getMonitor());
                        break;
                    }/*ww  w  . j a v  a  2 s  .  c  om*/
                }
            }
        }
    }
}

From source file:org.eclipse.viatra.query.patternlanguage.emf.ui.util.JavaProjectExpectedPackageNameProvider.java

License:Open Source License

/**
 * Based on org.eclipse.xtend.ide.validator.XtendUIValidator.java
 *//*from   w ww .  j a  v a  2  s  .  com*/
@Override
public String getExpectedPackageName(PatternModel model) {
    URI fileURI = model.eResource().getURI();
    for (Pair<IStorage, IProject> storage : storage2UriMapper.getStorages(fileURI)) {
        if (storage.getFirst() instanceof IFile) {
            IPath fileWorkspacePath = storage.getFirst().getFullPath();
            IJavaProject javaProject = JavaCore.create(storage.getSecond());
            if (javaProject != null && javaProject.exists() && javaProject.isOpen()) {
                try {
                    for (IPackageFragmentRoot root : javaProject.getPackageFragmentRoots()) {
                        if (!root.isArchive() && !root.isExternal()) {
                            IResource resource = root.getResource();
                            if (resource != null) {
                                IPath sourceFolderPath = resource.getFullPath();
                                if (sourceFolderPath.isPrefixOf(fileWorkspacePath)) {
                                    IPath classpathRelativePath = fileWorkspacePath
                                            .makeRelativeTo(sourceFolderPath);
                                    return classpathRelativePath.removeLastSegments(1).toString().replace("/",
                                            ".");
                                }
                            }
                        }
                    }
                } catch (JavaModelException e) {
                    logger.error("Error resolving package declaration for Pattern Model", e);
                }
            }
        }
    }
    return null;
}

From source file:org.eclipse.virgo.ide.export.BundleExportWizardPage.java

License:Open Source License

@Override
protected ViewerFilter getTreeViewerFilter() {
    return new ViewerFilter() {

        @Override/*from  www  .ja  v a 2 s  .  c o m*/
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (element instanceof IPackageFragmentRoot) {
                IPackageFragmentRoot root = (IPackageFragmentRoot) element;
                return !root.isArchive() && !root.isExternal();
            } else if (element instanceof IProject) {
                IProject project = (IProject) element;
                try {
                    IFacetedProject facetedProject = ProjectFacetsManager.create(project);
                    if (facetedProject == null) {
                        return false;
                    }
                    return facetedProject.hasProjectFacet(ProjectFacetsManager
                            .getProjectFacet(FacetCorePlugin.BUNDLE_FACET_ID).getDefaultVersion());
                } catch (CoreException e) {
                    return false;
                }
            }
            return false;
        }
    };
}

From source file:org.eclipse.virgo.ide.export.ParExportWizardPage.java

License:Open Source License

@Override
protected ViewerFilter getTreeViewerFilter() {
    return new ViewerFilter() {

        @Override//w  w  w .  java  2s. co m
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (element instanceof IPackageFragmentRoot) {
                IPackageFragmentRoot root = (IPackageFragmentRoot) element;
                return !root.isArchive() && !root.isExternal();
            } else if (element instanceof IProject) {
                IProject project = (IProject) element;
                try {
                    IFacetedProject facetedProject = ProjectFacetsManager.create(project);
                    if (facetedProject == null) {
                        return false;
                    }
                    return facetedProject.hasProjectFacet(ProjectFacetsManager
                            .getProjectFacet(FacetCorePlugin.PAR_FACET_ID).getDefaultVersion());
                } catch (CoreException e) {
                    return false;
                }
            }
            return false;
        }
    };
}

From source file:org.eclipse.wb.internal.core.utils.ui.dialogs.image.pages.browse.classpath.ClasspathImageRoot.java

License:Open Source License

public ClasspathImageRoot(String id, IJavaProject project) {
    m_project = project;//from w  w  w  .j  av  a2  s  .co  m
    //
    List<IImageContainer> containers = Lists.newArrayList();
    try {
        IPackageFragmentRoot[] roots = m_project.getAllPackageFragmentRoots();
        for (int i = 0; i < roots.length; i++) {
            IPackageFragmentRoot root = roots[i];
            try {
                if (root.isArchive()) {
                    JarImageContainer jarContainer = new JarImageContainer(id, root);
                    if (!jarContainer.isEmpty()) {
                        containers.add(jarContainer);
                    }
                } else {
                    SrcImageContainer srcContainer = new SrcImageContainer(id, root);
                    if (!srcContainer.isEmpty()) {
                        containers.add(srcContainer);
                    }
                }
            } catch (Throwable e) {
            }
        }
    } catch (Throwable e) {
    }
    m_containers = containers.toArray(new IClasspathImageContainer[containers.size()]);
}

From source file:org.eclipse.wst.xml.core.internal.contentmodel.tapestry.travelpackage.TapestryClassLoader.java

License:Open Source License

public IPackageFragmentRoot getTapestryCoreJar(IProject project) {
    IPackageFragmentRoot[] roots2;/*from w  ww  . j a  v a2  s.  c  om*/
    try {
        roots2 = JavaCore.create(project).getAllPackageFragmentRoots();
        for (IPackageFragmentRoot root : roots2) {
            if (!root.isArchive())
                continue;
            String jarName = root.getPath().toString().substring(root.getPath().toString().lastIndexOf('/'));
            if (jarName.startsWith("/tapestry-core") && jarName.endsWith(".jar"))
                return root;
        }
    } catch (JavaModelException e) {
        e.printStackTrace();
    }
    return null;
}

From source file:org.eclipse.wst.xml.ui.internal.contentassist.tapestry.TapestryRootComponentsProposalComputer.java

License:Open Source License

public IPackageFragment getTapestryRootComponentsPackage(IProject project, String packageName) {
    IPackageFragmentRoot[] roots2;/*  ww w .j  a  v a2 s.  c  om*/
    try {
        roots2 = JavaCore.create(project).getAllPackageFragmentRoots();
        for (IPackageFragmentRoot root : roots2) {
            if (!root.isArchive()) {
                IPackageFragment packInstance = root.getPackageFragment(packageName);
                if (packInstance != null)
                    return packInstance;
            }
        }
    } catch (JavaModelException e) {
        e.printStackTrace();
    }
    return null;
}

From source file:org.eclipse.wst.xml.ui.internal.contentassist.tapestry.TapestryRootComponentsProposalComputer.java

License:Open Source License

/**
 * Get custom component attribute templates
 * //w  w  w. java  2s  . c om
 * @param project
 * @param contextTypeId
 * @param nodeName
 * @param tapestryClassLoader
 * @return
 */
public List<Template> getCustomComponentsAttributes(IProject project, String contextTypeId, String nodeName,
        TapestryClassLoader tapestryClassLoader) {
    components.clear();
    String prefix = nodeName.substring(0, nodeName.indexOf(':'));
    try {
        final IFile res = project.getFile(TapestryContants.CUSTOM_COMPONENTS_FILE);
        if (res == null || prefix == null)
            return components;
        List<ComponentPackage> packageList = loadCustomComponentsPackageListWithPrefix(res, prefix);
        IPackageFragmentRoot[] roots = JavaCore.create(project).getAllPackageFragmentRoots();
        for (ComponentPackage cp : packageList) {
            for (IPackageFragmentRoot root : roots) {
                if (cp.isArchive() == root.isArchive() && cp.getFragmentRoot().equals(root.getElementName())) {
                    IPackageFragment packInstance = root.getPackageFragment(cp.getPath());
                    if (!root.isArchive()) {
                        //If current custom component is in source directory
                        if (packInstance != null) {
                            IJavaElement[] elements = packInstance.getChildren();
                            for (IJavaElement ele : elements) {
                                if (ele.getElementType() == IJavaElement.COMPILATION_UNIT
                                        && ele.getElementName().endsWith(".java")) {
                                    String name = ele.getElementName().substring(0,
                                            ele.getElementName().indexOf('.'));
                                    if ((prefix + ":" + name).toLowerCase().equals(nodeName)) {
                                        goThroughClass((ICompilationUnit) ele, contextTypeId);
                                        return components;
                                    }
                                }
                            }
                        }
                    } else if (packInstance instanceof PackageFragment) {
                        //Current custom component is in jar files
                        for (Object packo : ((PackageFragment) packInstance)
                                .getChildrenOfType(IJavaElement.CLASS_FILE)) {
                            ClassFile packi = (ClassFile) packo;
                            String className = packi.getElementName().substring(0,
                                    packi.getElementName().indexOf('.'));
                            if (className.indexOf('$') < 0
                                    && (prefix + ":" + className.toLowerCase()).equals(nodeName)) {
                                TapestryCoreComponents component = null;
                                try {
                                    component = tapestryClassLoader.loadComponentAttributesFromClassFile(root,
                                            prefix, packi);
                                } catch (ClassFormatException e) {
                                    e.printStackTrace();
                                }
                                if (component != null) {
                                    for (String paramName : component.getPamameters()) {
                                        Template template = new Template(paramName,
                                                "add attribute " + paramName, contextTypeId,
                                                buildAttributeInsertCode(paramName), true);
                                        components.add(template);
                                    }
                                    return components;
                                }
                            }
                        }
                    }
                }
            }
        }
    } catch (JavaModelException e) {
        e.printStackTrace();
    }

    return null;
}