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:com.google.gwt.eclipse.core.modules.ModuleUtils.java

License:Open Source License

/**
 * Scans the package fragments (including jars if includeJars is true) invoking the visitor
 * callback./*  w  w w. jav  a  2 s .c  o m*/
 *
 * Stops if the callback returns a non-null result, and passes that result back to the caller.
 */
private static <T> T visitFragments(IJavaProject project, boolean includeJars,
        IPackageFragmentVisitor<T> visitor) {
    try {
        for (IPackageFragmentRoot pckgRoot : project.getPackageFragmentRoots()) {
            if (pckgRoot.isArchive() && !includeJars) {
                continue;
            }

            for (IJavaElement elem : pckgRoot.getChildren()) {
                T result = visitor.visit((IPackageFragment) elem);
                if (result != null) {
                    return result;
                }
            }
        }
    } catch (JavaModelException e) {
        GWTPluginLog.logError(e);
    }

    return null;
}

From source file:com.google.gwt.eclipse.devtoolsgen.actions.PopulateGwtDevTools.java

License:Open Source License

private static IFile findFileOnClasspath(IJavaProject javaProject, IPath classpathRelativePath)
        throws JavaModelException {
    for (IPackageFragmentRoot pckgFragmentRoot : javaProject.getPackageFragmentRoots()) {
        if (pckgFragmentRoot.isArchive()) {
            continue;
        }/* w w w . j a  v a  2 s. c om*/
        IPath filepath = pckgFragmentRoot.getPath().append(classpathRelativePath);
        IResource res = ResourcesPlugin.getWorkspace().getRoot().findMember(filepath);
        if (res instanceof IFile) {
            return (IFile) res;
        }
    }
    return null;
}

From source file:com.google.test.metric.eclipse.internal.util.JavaProjectHelper.java

License:Apache License

public List<String> getAllJavaPackages(IJavaProject javaProject) throws JavaModelException, CoreException {
    List<String> allJavaPackages = new ArrayList<String>();
    IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots();
    for (IPackageFragmentRoot root : roots) {
        if (!root.isArchive()) {
            IResource rootResource = root.getCorrespondingResource();
            String rootURL = rootResource.getFullPath().toOSString();
            rootResource.accept(new JavaPackageVisitor(allJavaPackages, rootURL), IContainer.NONE);
        }//  w w w.j a v  a2  s.c o m
    }
    return allJavaPackages;
}

From source file:com.google.test.metric.eclipse.internal.util.JavaProjectHelper.java

License:Apache License

public List<IPackageFragmentRoot> getAllJavaPackageFragmentRoots(IJavaProject javaProject)
        throws JavaModelException, CoreException {
    List<IPackageFragmentRoot> allJavaPackageFragmentRoot = new ArrayList<IPackageFragmentRoot>();
    IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots();
    for (IPackageFragmentRoot root : roots) {
        if (!root.isArchive() && !root.getElementName().equals("")) {
            allJavaPackageFragmentRoot.add(root);
        }/*from www . j a v a  2 s  .c o  m*/
    }
    return allJavaPackageFragmentRoot;
}

From source file:com.google.test.metric.eclipse.ui.internal.TestabilityReportLaunchListener.java

License:Apache License

private void createMarkersFromClassIssues(List<ClassIssues> classIssues, IJavaProject javaProject)
        throws CoreException {
    javaProject.getProject().deleteMarkers(TestabilityConstants.TESTABILITY_COLLABORATOR_MARKER_TYPE, true,
            IResource.DEPTH_INFINITE);/*w  w w .  java 2s .  co  m*/
    javaProject.getProject().deleteMarkers(TestabilityConstants.TESTABILITY_CONSTRUCTOR_MARKER_TYPE, true,
            IResource.DEPTH_INFINITE);
    javaProject.getProject().deleteMarkers(TestabilityConstants.TESTABILITY_DIRECT_COST_MARKER_TYPE, true,
            IResource.DEPTH_INFINITE);
    IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots();
    List<IPath> sourceFolderPaths = new ArrayList<IPath>();
    for (IPackageFragmentRoot root : roots) {
        if (!root.isArchive()) {
            IResource rootResource = root.getCorrespondingResource();
            sourceFolderPaths.add(rootResource.getFullPath().removeFirstSegments(1));
        }
    }
    for (ClassIssues classIssue : classIssues) {
        IResource resource = getAbsolutePathFromJavaFile(classIssue.getClassName(), sourceFolderPaths,
                javaProject.getProject());
        if (resource != null) {
            for (Issue issue : classIssue.getMostImportantIssues()) {
                Map<String, Object> attributes = new HashMap<String, Object>();
                attributes.put(IMarker.SEVERITY, IMarker.SEVERITY_ERROR);
                attributes.put(IMarker.LINE_NUMBER, issue.getLocation().getLineNumber());
                attributes.put(IMarker.MESSAGE, retriever.getSuggestion(issue.getType(), issue.getSubType()));
                IssueType issueType = issue.getType();
                attributes.put(TestabilityConstants.ISSUE_TYPE, issue.getType().toString());
                String markerType = null;
                if (IssueType.COLLABORATOR.equals(issueType)) {
                    markerType = TestabilityConstants.TESTABILITY_COLLABORATOR_MARKER_TYPE;
                } else if (IssueType.CONSTRUCTION.equals(issueType)) {
                    markerType = TestabilityConstants.TESTABILITY_CONSTRUCTOR_MARKER_TYPE;
                } else if (IssueType.DIRECT_COST.equals(issueType)) {
                    markerType = TestabilityConstants.TESTABILITY_DIRECT_COST_MARKER_TYPE;
                }
                if (markerType != null) {
                    MarkerUtilities.createMarker(resource, attributes, markerType);
                }
            }
        } else {
            logger.logException("No Resource found for Class : " + classIssue.getClassName(), null);
        }
    }
}

From source file:com.iw.plugins.spindle.wizards.fields.ContainerDialogField.java

License:Mozilla Public License

public void init(IJavaElement elem, IRunnableContext context) {
    super.init(context);

    setButtonLabel(MessageUtil.getString(name + ".button"));

    IPackageFragmentRoot initRoot = null;
    if (elem != null) {

        initRoot = Utils.getPackageFragmentRoot(elem);
        if (initRoot == null || initRoot.isArchive()) {
            IJavaProject jproject = elem.getJavaProject();
            try {
                initRoot = null;// w  w  w. ja va2  s  .c om
                IPackageFragmentRoot[] roots = jproject.getPackageFragmentRoots();
                for (int i = 0; i < roots.length; i++) {
                    if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
                        initRoot = roots[i];
                        break;
                    }
                }
            } catch (JavaModelException e) {
                TapestryPlugin.getDefault().logException(e);
            }
            if (initRoot == null) {
                initRoot = jproject.getPackageFragmentRoot("");
            }
        }
        setPackageFragmentRoot(initRoot, true);
    }
}

From source file:com.microsoft.javapkgsrv.JavaElementLabelComposer.java

License:Open Source License

/**
 * Appends the label for a package fragment root. Considers the ROOT_* flags.
 *
 * @param root the element to render/*from   w  w w.j a va 2  s  .c o m*/
 * @param flags the rendering flags. Flags with names starting with ROOT_' are considered.
 */
public void appendPackageFragmentRootLabel(IPackageFragmentRoot root, long flags) {
    // Handle variables different
    if (getFlag(flags, ROOT_VARIABLE) && appendVariableLabel(root, flags))
        return;
    if (root.isArchive())
        appendArchiveLabel(root, flags);
    else
        appendFolderLabel(root, flags);
}

From source file:com.microsoft.javapkgsrv.JavaElementLabelComposer.java

License:Open Source License

private static IClasspathEntry getClasspathEntry(IPackageFragmentRoot root) throws JavaModelException {
    IClasspathEntry rawEntry = root.getRawClasspathEntry();
    int rawEntryKind = rawEntry.getEntryKind();
    switch (rawEntryKind) {
    case IClasspathEntry.CPE_LIBRARY:
    case IClasspathEntry.CPE_VARIABLE:
    case IClasspathEntry.CPE_CONTAINER: // should not happen, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=305037
        if (root.isArchive() && root.getKind() == IPackageFragmentRoot.K_BINARY) {
            IClasspathEntry resolvedEntry = root.getResolvedClasspathEntry();
            if (resolvedEntry.getReferencingEntry() != null)
                return resolvedEntry;
            else/*  w  w w  .  jav a  2  s  .  c om*/
                return rawEntry;
        }
    }
    return rawEntry;
}

From source file:com.redhat.ceylon.eclipse.code.explorer.JavaElementImageProvider.java

License:Open Source License

/**
 * Returns an image descriptor for a java element. This is the base image, no overlays.
 * @param element the element/*w  w w . jav  a 2s .c om*/
 * @param renderFlags the image flags
 * @return returns the image descriptor
 */
public ImageDescriptor getBaseImageDescriptor(IJavaElement element, int renderFlags) {

    try {
        switch (element.getElementType()) {
        case IJavaElement.INITIALIZER:
            return JavaPluginImages.DESC_MISC_PRIVATE; // 23479
        case IJavaElement.METHOD: {
            IMethod method = (IMethod) element;
            IType declType = method.getDeclaringType();
            int flags = method.getFlags();
            if (declType.isEnum() && isDefaultFlag(flags) && method.isConstructor())
                return JavaPluginImages.DESC_MISC_PRIVATE;
            return getMethodImageDescriptor(JavaModelUtil.isInterfaceOrAnnotation(declType), flags);
        }
        case IJavaElement.FIELD: {
            IMember member = (IMember) element;
            IType declType = member.getDeclaringType();
            return getFieldImageDescriptor(JavaModelUtil.isInterfaceOrAnnotation(declType), member.getFlags());
        }
        case IJavaElement.LOCAL_VARIABLE:
            return JavaPluginImages.DESC_OBJS_LOCAL_VARIABLE;

        case IJavaElement.PACKAGE_DECLARATION:
            return JavaPluginImages.DESC_OBJS_PACKDECL;

        case IJavaElement.IMPORT_DECLARATION:
            return JavaPluginImages.DESC_OBJS_IMPDECL;

        case IJavaElement.IMPORT_CONTAINER:
            return JavaPluginImages.DESC_OBJS_IMPCONT;

        case IJavaElement.TYPE: {
            IType type = (IType) element;

            IType declType = type.getDeclaringType();
            boolean isInner = declType != null;
            boolean isInInterfaceOrAnnotation = isInner && JavaModelUtil.isInterfaceOrAnnotation(declType);
            return getTypeImageDescriptor(isInner, isInInterfaceOrAnnotation, type.getFlags(),
                    useLightIcons(renderFlags));
        }

        case IJavaElement.PACKAGE_FRAGMENT_ROOT: {
            IPackageFragmentRoot root = (IPackageFragmentRoot) element;
            IPath attach = root.getSourceAttachmentPath();
            if (root.getKind() == IPackageFragmentRoot.K_BINARY) {
                if (root.isArchive()) {
                    if (root.isExternal()) {
                        if (attach == null) {
                            return JavaPluginImages.DESC_OBJS_EXTJAR;
                        } else {
                            return JavaPluginImages.DESC_OBJS_EXTJAR_WSRC;
                        }
                    } else {
                        if (attach == null) {
                            return JavaPluginImages.DESC_OBJS_JAR;
                        } else {
                            return JavaPluginImages.DESC_OBJS_JAR_WSRC;
                        }
                    }
                } else {
                    if (attach == null) {
                        return JavaPluginImages.DESC_OBJS_CLASSFOLDER;
                    } else {
                        return JavaPluginImages.DESC_OBJS_CLASSFOLDER_WSRC;
                    }
                }
            } else {
                return JavaPluginImages.DESC_OBJS_PACKFRAG_ROOT;
            }
        }

        case IJavaElement.PACKAGE_FRAGMENT:
            return getPackageFragmentIcon(element);

        case IJavaElement.COMPILATION_UNIT:
            return JavaPluginImages.DESC_OBJS_CUNIT;

        case IJavaElement.CLASS_FILE:
            /* this is too expensive for large packages
            try {
               IClassFile cfile= (IClassFile)element;
               if (cfile.isClass())
             return JavaPluginImages.IMG_OBJS_CFILECLASS;
               return JavaPluginImages.IMG_OBJS_CFILEINT;
            } catch(JavaModelException e) {
               // fall through;
            }*/
            return JavaPluginImages.DESC_OBJS_CFILE;

        case IJavaElement.JAVA_PROJECT:
            IJavaProject jp = (IJavaProject) element;
            if (jp.getProject().isOpen()) {
                IProject project = jp.getProject();
                IWorkbenchAdapter adapter = (IWorkbenchAdapter) project.getAdapter(IWorkbenchAdapter.class);
                if (adapter != null) {
                    ImageDescriptor result = adapter.getImageDescriptor(project);
                    if (result != null)
                        return result;
                }
                return DESC_OBJ_PROJECT;
            }
            return DESC_OBJ_PROJECT_CLOSED;

        case IJavaElement.JAVA_MODEL:
            return JavaPluginImages.DESC_OBJS_JAVA_MODEL;

        case IJavaElement.TYPE_PARAMETER:
            return JavaPluginImages.DESC_OBJS_TYPEVARIABLE;

        case IJavaElement.ANNOTATION:
            return JavaPluginImages.DESC_OBJS_ANNOTATION;

        default:
            // ignore. Must be a new, yet unknown Java element
            // give an advanced IWorkbenchAdapter the chance
            IWorkbenchAdapter wbAdapter = (IWorkbenchAdapter) element.getAdapter(IWorkbenchAdapter.class);
            if (wbAdapter != null && !(wbAdapter instanceof JavaWorkbenchAdapter)) { // avoid recursion
                ImageDescriptor imageDescriptor = wbAdapter.getImageDescriptor(element);
                if (imageDescriptor != null) {
                    return imageDescriptor;
                }
            }
            return JavaPluginImages.DESC_OBJS_GHOST;
        }

    } catch (JavaModelException e) {
        if (e.isDoesNotExist())
            return JavaPluginImages.DESC_OBJS_UNKNOWN;
        JavaPlugin.log(e);
        return JavaPluginImages.DESC_OBJS_GHOST;
    }
}

From source file:com.redhat.ceylon.eclipse.core.model.JDTModuleManager.java

License:Open Source License

private static boolean moduleFileInProject(String moduleName, IJavaProject p) {
    if (p == null) {
        return false;
    }//  w  ww . j a v  a 2  s .  c  o  m
    try {
        for (IPackageFragmentRoot sourceFolder : p.getPackageFragmentRoots()) {
            if (!sourceFolder.isArchive() && sourceFolder.exists()
                    && sourceFolder.getKind() == IPackageFragmentRoot.K_SOURCE
                    && sourceFolder.getPackageFragment(moduleName).exists()) {
                return true;
            }
            /*IPath moduleFile = sourceFolder.append(moduleName.replace('.', '/') + 
                "/module.ceylon").makeRelativeTo(p.getFullPath());
            if (p.getFile(moduleFile).exists()) {
            return true;
            }*/
        }
    } catch (JavaModelException e) {
        e.printStackTrace();
    }
    return false;
}