Example usage for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT_ROOT

List of usage examples for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT_ROOT

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT_ROOT.

Prototype

int PACKAGE_FRAGMENT_ROOT

To view the source code for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT_ROOT.

Click Source Link

Document

Constant representing a package fragment root.

Usage

From source file:org.eclipse.xtext.xbase.ui.imports.MultiOrganizeImportsHandler.java

License:Open Source License

private void collectRelevantFiles(Object element, Multimap<IProject, IFile> result) {
    try {/*from   www .  j av a  2 s. c  o m*/
        if (element instanceof IJavaElement) {
            IJavaElement elem = (IJavaElement) element;
            if (elem.exists()) {
                switch (elem.getElementType()) {
                case IJavaElement.PACKAGE_FRAGMENT:
                    collectRelevantFiles((IPackageFragment) elem, result);
                    break;
                case IJavaElement.PACKAGE_FRAGMENT_ROOT:
                    collectRelevantFiles((IPackageFragmentRoot) elem, result);
                    break;
                case IJavaElement.JAVA_PROJECT:
                    IPackageFragmentRoot[] roots;
                    roots = ((IJavaProject) elem).getPackageFragmentRoots();
                    for (int k = 0; k < roots.length; k++) {
                        collectRelevantFiles(roots[k], result);
                    }
                    break;
                }
            }
        } else if (element instanceof LogicalPackage) {
            IPackageFragment[] packageFragments = ((LogicalPackage) element).getFragments();
            for (int k = 0; k < packageFragments.length; k++) {
                IPackageFragment pack = packageFragments[k];
                if (pack.exists()) {
                    collectRelevantFiles(pack, result);
                }
            }
        } else if (element instanceof IWorkingSet) {
            IWorkingSet workingSet = (IWorkingSet) element;
            IAdaptable[] elements = workingSet.getElements();
            for (int j = 0; j < elements.length; j++) {
                collectRelevantFiles(elements[j], result);
            }
        } else if (element instanceof IFile) {
            collectIFiles(result, new Object[] { element });
        }
    } catch (JavaModelException e) {
        e.printStackTrace();
    }
}

From source file:org.eclipse.xtext.xbase.ui.quickfix.CreateJavaTypeQuickfixes.java

License:Open Source License

protected void setPackageName(NewTypeWizardPage page, URI contextUri, String packageName) {
    IJavaProject javaProject = getJavaProject(contextUri);
    String path = contextUri.trimSegments(1).toPlatformString(true);
    try {//  w w  w  .  j  a v  a2 s  .c  om
        if (javaProject != null) {
            IPackageFragment contextPackageFragment = javaProject.findPackageFragment(new Path(path));
            IPackageFragmentRoot root = (IPackageFragmentRoot) contextPackageFragment
                    .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
            IPackageFragment packageFragment;
            if (!isEmpty(packageName)) {
                packageFragment = root.getPackageFragment(packageName);
            } else {
                packageFragment = contextPackageFragment;
            }
            page.setPackageFragment(packageFragment, true);
            page.setPackageFragmentRoot(root, true);
        }
    } catch (JavaModelException e) {
        LOG.error("Could not find package for " + path, e);
    }
}

From source file:org.eclipse.xtext.xbase.ui.validation.XbaseUIValidator.java

License:Open Source License

protected RestrictionKind computeRestriction(IJavaProject project, IType type) {
    try {/*w  w  w  .  jav  a2  s  .  c  o  m*/
        IPackageFragmentRoot root = (IPackageFragmentRoot) type.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
        if (root == null) {
            return RestrictionKind.VALID;
        }
        IClasspathEntry entry = getResolvedClasspathEntry(project, root);
        if (entry == null) {
            return RestrictionKind.VALID;
        }
        IAccessRule[] rules = entry.getAccessRules();
        String typePath = type.getFullyQualifiedName().replace('.', '/');
        char[] typePathAsArray = typePath.toCharArray();
        for (IAccessRule rule : rules) {
            char[] patternArray = ((ClasspathAccessRule) rule).pattern;
            if (CharOperation.pathMatch(patternArray, typePathAsArray, true, '/')) {
                if (rule.getKind() == IAccessRule.K_DISCOURAGED) {
                    return RestrictionKind.DISCOURAGED;
                } else if (rule.getKind() == IAccessRule.K_NON_ACCESSIBLE) {
                    return RestrictionKind.FORBIDDEN;
                }
                return RestrictionKind.VALID;
            }
        }
    } catch (JavaModelException jme) {
        // ignore
    }
    return RestrictionKind.VALID;
}

From source file:org.eclipseguru.gwt.core.GwtModule.java

License:Open Source License

/**
 * Creates a new module from a file./*w  w w.  j  av a  2s . co  m*/
 * 
 * @param moduleDescriptor
 * @param parent
 */
GwtModule(final IFile moduleDescriptor, final GwtProject parent) {
    super(parent);

    if (!GwtUtil.isModuleDescriptor(moduleDescriptor)) {
        throw new IllegalArgumentException("Module descriptor is invalid");
    }

    this.moduleDescriptor = moduleDescriptor;

    // module package
    final IJavaElement element = JavaCore.create(moduleDescriptor.getParent());
    if (null != element) {
        switch (element.getElementType()) {
        case IJavaElement.PACKAGE_FRAGMENT_ROOT:
            modulePackage = ((IPackageFragmentRoot) element).getPackageFragment("");
            break;
        case IJavaElement.PACKAGE_FRAGMENT:
            modulePackage = (IPackageFragment) element;
            break;
        default:
            modulePackage = null;
            break;
        }
    } else {
        modulePackage = null;
    }

    // the module id
    final StringBuilder moduleIdBuilder = new StringBuilder();
    if (null != modulePackage) {
        moduleIdBuilder.append(modulePackage.getElementName());
        if (moduleIdBuilder.length() > 0) {
            moduleIdBuilder.append('.');
        }
        moduleIdBuilder.append(moduleDescriptor.getName().substring(0,
                moduleDescriptor.getName().length() - FILE_EXTENSION_GWT_MODULE_DESCRIPTOR.length() - 1));
    } else {
        final String path = moduleDescriptor.getFullPath().makeRelative().toString();
        moduleIdBuilder.append(path.substring(0, path.length() - GwtUtil.GWT_MODULE_SOURCE_EXTENSION.length())
                .replace('/', '.'));
    }
    moduleId = moduleIdBuilder.toString();
}

From source file:org.electrocodeogram.cpc.ui.utils.EclipseUtils.java

License:BSD License

/**
 * @param resource/*from   w  ww .  ja v  a2  s. c o  m*/
 * @return full package name in default java notation (with dots)
 */
public static String getJavaPackageName(IJavaElement resource) {
    String name = resource == null ? null : resource.getElementName(); //$NON-NLS-1$
    if (name == null) {
        return ""; //$NON-NLS-1$
    }
    int type = resource.getElementType();
    if (type == IJavaElement.PACKAGE_FRAGMENT || type == IJavaElement.PACKAGE_FRAGMENT_ROOT) {
        return name;
    }
    IJavaElement ancestor = resource.getAncestor(IJavaElement.PACKAGE_FRAGMENT);
    if (ancestor != null) {
        return ancestor.getElementName();
    }
    return ""; //$NON-NLS-1$
}

From source file:org.evolizer.core.util.selectionhandling.JavaSelectionHelper.java

License:Apache License

/**
 * Returns a list of selected Java elements from the given Eclipse selection.
 * //from w  ww .j  a  v a 2  s .c  o  m
 * @param selection The Eclipse selection.
 * @return  The list of Java elemenst.
 * @throws EvolizerException
 */
public static List<IJavaElement> getPackagesAndSelectedJavaElements(ISelection selection)
        throws EvolizerException {
    List<IJavaElement> lJavaElements = new LinkedList<IJavaElement>();
    Object elements[] = new Object[] {};
    //        if (selection instanceof ITreeSelection) {
    //            elements = ((ITreeSelection) selection).toArray();
    //        } else 
    if (selection instanceof IStructuredSelection) {
        elements = ((IStructuredSelection) selection).toArray();
    }
    //      if (selection instanceof ITreeSelection) {
    for (Object lElement : elements) {
        if (lElement instanceof IJavaElement) {
            IJavaElement javaElement = (IJavaElement) lElement;
            if (javaElement.getElementType() == IJavaElement.JAVA_PROJECT) {
                //                      lJavaElements.addAll(getPackageFragmentRoots((IJavaProject) lElement));
                for (IJavaElement rootPackage : getPackageFragmentRoots((IJavaProject) lElement)) {
                    lJavaElements.addAll(getPackages((IPackageFragmentRoot) rootPackage));
                }
            } else if (javaElement.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT) {
                lJavaElements.addAll(getPackages((IPackageFragmentRoot) javaElement));
            } else {
                lJavaElements.add(javaElement);
            }
        } else if (lElement instanceof IProject) {
            IProject project = (IProject) lElement;
            try {
                IJavaProject javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
                for (IJavaElement rootPackage : getPackageFragmentRoots(javaProject)) {
                    lJavaElements.addAll(getPackages((IPackageFragmentRoot) rootPackage));
                }
            } catch (CoreException e) {
                e.printStackTrace();
            }
        }
    }
    //      }

    return lJavaElements;
}

From source file:org.grails.ide.eclipse.core.internal.GrailsPropertyTester.java

License:Open Source License

private boolean isTestableJavaElement(IJavaElement receiver) {
    System.out.println("isTestableJavaElement? " + receiver);
    if (receiver.getElementType() == IJavaElement.TYPE) {
        System.out.println("isTestableJavaElement? >> It is a TYPE");
        IType type = (IType) receiver;//from   w  ww  .  j  ava  2  s .  c  om
        IPackageFragmentRoot root = (IPackageFragmentRoot) type.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
        return GrailsResourceUtil.isSourceFolder(root) && isToplevelType(type);
    }
    System.out.println("isTestableJavaElement? >> NO: It is NOT a TYPE");
    return false;
}

From source file:org.grails.ide.eclipse.core.internal.GrailsResourceUtil.java

License:Open Source License

public static boolean isSourceFile(IJavaElement javaElement) {
    IPackageFragmentRoot root = (IPackageFragmentRoot) javaElement
            .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
    return root != null && isSourceFolder(root);
}

From source file:org.grails.ide.eclipse.core.junit.Grails20AwareTestFinder.java

License:Open Source License

private void removeNonUnitTests(Set result) {
    Iterator<Object> iter = result.iterator();
    while (iter.hasNext()) {
        Object o = iter.next();/*from  w  ww.  j  a  v  a2 s .  com*/
        if (o instanceof IType) { //Shouldn't be anything else than ITypes... but we check just to be sure.
            IType type = (IType) o;
            IPackageFragmentRoot pfr = (IPackageFragmentRoot) type
                    .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
            if (pfr != null && isUnitTestPackageFragement(pfr)) {
                //Keep it
            } else {
                iter.remove();
            }
        }
    }
}

From source file:org.grails.ide.eclipse.core.junit.Grails20AwareTestFinder.java

License:Open Source License

private boolean isGrail20Test(IType type) {
    debug("isGrailsTest " + type);
    try {//from w ww  .  j  a v a 2 s  . c o  m
        IPackageFragmentRoot pfr = (IPackageFragmentRoot) type.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
        if (pfr != null) {
            //            if (isUnitTestPackageFragement(pfr)) {
            ICompilationUnit cu = type.getCompilationUnit();
            if (cu instanceof GroovyCompilationUnit) {
                GroovyCompilationUnit gcu = (GroovyCompilationUnit) cu;
                ModuleNode module = gcu.getModuleNode();
                if (module != null) {
                    List<ClassNode> classes = module.getClasses();
                    String nameToFind = type.getFullyQualifiedName();
                    for (ClassNode classNode : classes) {
                        if (nameToFind.equals(classNode.getName())) {
                            List<AnnotationNode> annots = classNode.getAnnotations();
                            if (annots != null) {
                                for (AnnotationNode annot : annots) {
                                    ClassNode annotClass = annot.getClassNode();
                                    if (annotClass != null) {
                                        String annotName = annotClass.getName();
                                        if (annotName.equals(TEST_FOR_ANNOT_NAME)) {
                                            return true;
                                        }
                                    }
                                }
                            }
                        }
                    }
                    //If we get here the above test failed (i.e annotation wasn't found). Check Grails 2.0 naming conventions
                    //as well.
                    if (nameToFind.endsWith("Tests")) {
                        String domainName = nameToFind.substring(0, nameToFind.length() - "Tests".length());
                        IType domainType = gcu.getJavaProject().findType(domainName);
                        if (domainType != null) {
                            pfr = (IPackageFragmentRoot) domainType
                                    .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
                            return isDomainPackageFragement(pfr);
                        }
                    }
                }
            }
            //            }
        }
    } catch (JavaModelException e) {
        GrailsCoreActivator.log(e);
    }
    return false;
}