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

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

Introduction

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

Prototype

String getElementName();

Source Link

Document

Returns the name of this element.

Usage

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

License:Open Source License

private void appendInternalArchiveLabel(IPackageFragmentRoot root, long flags) {
    IResource resource = root.getResource();
    boolean rootQualified = getFlag(flags, ROOT_QUALIFIED);
    if (rootQualified) {
        fBuffer.append(root.getPath().makeRelative().toString());
    } else {/*from  w ww  . j av a2s . co  m*/
        fBuffer.append(root.getElementName());
        int offset = fBuffer.length();
        boolean referencedPostQualified = getFlag(flags, REFERENCED_ROOT_POST_QUALIFIED);
        if (referencedPostQualified && isReferenced(root)) {
            fBuffer.append(CONCAT_STRING);
            fBuffer.append(resource.getParent().getFullPath().makeRelative().toString());
        } else if (getFlag(flags, ROOT_POST_QUALIFIED)) {
            fBuffer.append(CONCAT_STRING);
            fBuffer.append(root.getParent().getPath().makeRelative().toString());
        }
        if (referencedPostQualified) {
            try {
                IClasspathEntry referencingEntry = getClasspathEntry(root).getReferencingEntry();
                if (referencingEntry != null) {
                    fBuffer.append(" (from ");
                    fBuffer.append(Name.CLASS_PATH.toString());
                    fBuffer.append(" of ");
                    fBuffer.append(referencingEntry.getPath().lastSegment());
                    fBuffer.append(")");
                }
            } catch (JavaModelException e) {
                // ignore
            }
        }
    }
}

From source file:com.motorola.studio.android.model.BuildingBlockModel.java

License:Apache License

/**
 * Extract source folder from selection.
 * @param selection//ww  w  .ja v a2s  .  c  o m
 * @return
 * @throws CoreException
 */
private static IPackageFragmentRoot extractPackageFragmentRoot(IStructuredSelection selection)
        throws CoreException {
    IPackageFragmentRoot pack = null;
    Object selectionElement = selection.getFirstElement();

    if (selectionElement instanceof IPackageFragmentRoot) {
        pack = (IPackageFragmentRoot) selectionElement;
    } else if (selectionElement instanceof IJavaElement) {
        pack = (IPackageFragmentRoot) ((IJavaElement) selectionElement)
                .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
        if (pack == null) {
            IJavaProject element = ((IJavaElement) selectionElement).getJavaProject();

            for (IPackageFragmentRoot root : element.getPackageFragmentRoots()) {
                if (root.getResource() != null) {
                    boolean isSrc = (root.getElementType()
                            & IPackageFragmentRoot.K_SOURCE) == IPackageFragmentRoot.K_SOURCE;
                    boolean isGen = root.getElementName().equals(IAndroidConstants.GEN_SRC_FOLDER)
                            && (root.getParent() instanceof IJavaProject);
                    if (isSrc && !isGen) {
                        pack = root;
                        break;
                    }
                }
            }
        }
    } else if (selectionElement instanceof IResource) {
        IJavaProject element = JavaCore.create(((IResource) selectionElement).getProject());

        if (element.isOpen()) {
            for (IPackageFragmentRoot root : element.getPackageFragmentRoots()) {
                if (root.getResource() != null) {
                    boolean isSrc = (root.getElementType()
                            & IPackageFragmentRoot.K_SOURCE) == IPackageFragmentRoot.K_SOURCE;
                    boolean isGen = root.getElementName().equals(IAndroidConstants.GEN_SRC_FOLDER)
                            && (root.getParent() instanceof IJavaProject);
                    if (isSrc && !isGen) {
                        pack = root;
                        break;
                    }
                }
            }
        }
    } else {
        IJavaProject[] allProjects = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot())
                .getJavaProjects();
        if ((allProjects != null) && (allProjects.length > 0)) {
            for (IJavaProject project : allProjects) {
                if (project.getResource().getProject().hasNature(IAndroidConstants.ANDROID_NATURE)) {
                    IPackageFragmentRoot[] roots = project.getPackageFragmentRoots();

                    if ((roots != null) && (roots.length > 0)) {
                        boolean found = false;

                        for (IPackageFragmentRoot root : roots) {
                            boolean isSrc = (root.getElementType()
                                    & IPackageFragmentRoot.K_SOURCE) == IPackageFragmentRoot.K_SOURCE;
                            boolean isGen = root.getElementName().equals(IAndroidConstants.GEN_SRC_FOLDER)
                                    && (root.getParent() instanceof IJavaProject);
                            if (isSrc && !isGen) {
                                found = true;
                                pack = root;
                                break;
                            }
                        }

                        if (found) {
                            break;
                        }
                    }
                }
            }
        }
    }

    if (pack != null) {
        if (!pack.getJavaProject().getProject().hasNature(IAndroidConstants.ANDROID_NATURE)) {
            pack = extractPackageFragmentRoot(new TreeSelection());
        }
    }
    return pack;
}

From source file:com.motorola.studio.android.wizards.buildingblocks.ElementTreeValidator.java

License:Apache License

@Override
public boolean isSelectedValid(Object element) {
    boolean isValid = false;
    try {/*from w  w w. j a  va  2  s  .c o  m*/
        if (element instanceof IJavaProject) {
            IJavaProject jproject = (IJavaProject) element;
            IPath path = jproject.getProject().getFullPath();
            isValid = (jproject.findPackageFragmentRoot(path) != null);
        } else if (element instanceof IPackageFragmentRoot) {
            IPackageFragmentRoot packageFragmentRoot = (IPackageFragmentRoot) element;

            boolean isSrc = (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE);
            boolean isGen = packageFragmentRoot.getElementName().equals(IAndroidConstants.GEN_SRC_FOLDER)
                    && (packageFragmentRoot.getParent() instanceof IJavaProject);

            isValid = isSrc && !isGen;
        } else {
            isValid = true;
        }
    } catch (JavaModelException e) {
        StudioLogger.error(ElementTreeValidator.class, e.getLocalizedMessage(), e);
    }
    return isValid;
}

From source file:com.mountainminds.eclemma.autoMerge.OldFileAnalyzer.java

License:Open Source License

private AnalyzedNodes analyzeInternal(final IPackageFragmentRoot root) throws CoreException {
    IPath location = null;/*from   w  w  w  . j  a  v  a2s.  c  om*/
    try {
        location = root.getJavaProject().getOutputLocation();

        if (location == null) {
            TRACER.trace("No class files found for package fragment root {0}", //$NON-NLS-1$
                    root.getPath());
            return AnalyzedNodes.EMPTY;
        }

        AnalyzedNodes nodes = cache.get(getClassfilesLocation(root));
        if (nodes != null) {
            ConsoleMessage.showMessage("cache existed"); //$NON-NLS-1$
            return nodes;
        }

        final CoverageBuilder builder = new CoverageBuilder();
        final Analyzer analyzer = new Analyzer(executiondata, builder);
        // binroot = resource.getProjectRelativePath();
        analyzePackage = new HashSet<String>();
        for (SourceFileInfo fileInfo : oldfiles.values()) {
            String className = fileInfo.getClassName();
            int pos = className.lastIndexOf("/");
            String packageName = className.substring(0, pos);
            if (analyzePackage.contains(packageName))
                continue;
            analyzePackage.add(packageName);
            IFolder packagefolder = root.getJavaProject().getProject().getParent()
                    .getFolder(location.append(packageName));

            for (IResource classresource : packagefolder.members()) {

                if ((classresource instanceof IFile) == false)
                    continue;
                HashSet<String> readMainClass = new HashSet<String>();
                final IFile file = (IFile) classresource;
                if (file.getFileExtension().equals("class") == false)
                    continue;
                // String classNanme = resource.getName();

                String classname = packageName + "/" + file.getName();
                classname = classname.substring(0, classname.lastIndexOf(".class"));
                // TODO GET PROJECT PATH
                // file.getp
                String noInnerPerf = classname;
                if (classname.indexOf("$") > 0)
                    noInnerPerf = classname.substring(0, classname.indexOf("$"));

                if (oldfiles.containsKey(noInnerPerf + ".java") && !sessionClass.contains(classname)) {
                    final InputStream in = file.getContents(true);
                    try {
                        analyzer.analyzeAll(in, classname);
                        System.err.println("Analyse old class..." + classname);
                        // inner class  class
                        if (!classname.equals(noInnerPerf) && readMainClass.contains(noInnerPerf) == false) {
                            String parentclassname = file.getName().substring(0, file.getName().indexOf("$"));
                            System.err.println("Analyse old class..." + packageName + "/" + parentclassname);
                            IFile parentfileFile = (IFile) packagefolder.findMember(parentclassname + ".class");
                            InputStream parentin = parentfileFile.getContents(true);
                            analyzer.analyzeAll(parentin, noInnerPerf);
                            readMainClass.add(noInnerPerf);
                            System.err.println("Analyse old class..." + noInnerPerf);
                        }
                    } finally {
                        in.close();
                    }
                }
            }
        }
        // new OldTreeWalker(analyzer, oldfiles).walk(location);
        nodes = new AnalyzedNodes(builder.getClasses(), builder.getSourceFiles());
        cache.put(getClassfilesLocation(root), nodes);
        return nodes;
    } catch (Exception e) {
        throw new CoreException(
                EclEmmaStatus.BUNDLE_ANALYSIS_ERROR.getStatus(root.getElementName(), location, e));
    }
}

From source file:com.mountainminds.eclemma.autoMerge.OldFileAnalyzer.java

License:Open Source License

private AnalyzedNodes analyzeExternal(final IPackageFragmentRoot root) throws CoreException {
    IPath location = null;//  w  w w .  j  a v a  2 s.c o  m
    try {
        location = root.getPath();

        AnalyzedNodes nodes = cache.get(location);
        if (nodes != null) {
            return nodes;
        }

        final CoverageBuilder builder = new CoverageBuilder();
        final Analyzer analyzer = new Analyzer(executiondata, builder);
        new OldTreeWalker(analyzer, oldfiles).walk(location);
        nodes = new AnalyzedNodes(builder.getClasses(), builder.getSourceFiles());
        cache.put(location, nodes);
        return nodes;
    } catch (Exception e) {
        throw new CoreException(
                EclEmmaStatus.BUNDLE_ANALYSIS_ERROR.getStatus(root.getElementName(), location, e));
    }
}

From source file:com.mountainminds.eclemma.internal.core.analysis.PackageFragementRootAnalyzer.java

License:Open Source License

private AnalyzedNodes analyzeInternal(final IPackageFragmentRoot root) throws CoreException {
    IResource location = null;//from   ww w  . ja  v a 2s  . com
    try {
        location = getClassfilesLocation(root);

        if (location == null) {
            TRACER.trace("No class files found for package fragment root {0}", //$NON-NLS-1$
                    root.getPath());
            return AnalyzedNodes.EMPTY;
        }

        AnalyzedNodes nodes = cache.get(location);
        if (nodes != null) {
            return nodes;
        }

        final CoverageBuilder builder = new CoverageBuilder();
        final Analyzer analyzer = new Analyzer(executiondata, builder);
        new ResourceTreeWalker(analyzer).walk(location);
        nodes = new AnalyzedNodes(builder.getClasses(), builder.getSourceFiles());
        cache.put(location, nodes);
        return nodes;
    } catch (Exception e) {
        throw new CoreException(
                EclEmmaStatus.BUNDLE_ANALYSIS_ERROR.getStatus(root.getElementName(), location, e));
    }
}

From source file:com.mountainminds.eclemma.internal.core.analysis.PackageFragementRootAnalyzer.java

License:Open Source License

private AnalyzedNodes analyzeExternal(final IPackageFragmentRoot root) throws CoreException {
    IPath location = null;//ww w  .  ja v  a  2 s  .c  o m
    try {
        location = root.getPath();

        AnalyzedNodes nodes = cache.get(location);
        if (nodes != null) {
            return nodes;
        }

        final CoverageBuilder builder = new CoverageBuilder();
        final Analyzer analyzer = new Analyzer(executiondata, builder);
        new ResourceTreeWalker(analyzer).walk(location);
        nodes = new AnalyzedNodes(builder.getClasses(), builder.getSourceFiles());
        cache.put(location, nodes);
        return nodes;
    } catch (Exception e) {
        throw new CoreException(
                EclEmmaStatus.BUNDLE_ANALYSIS_ERROR.getStatus(root.getElementName(), location, e));
    }
}

From source file:com.mountainminds.eclemma.internal.core.analysis.SessionAnalyzerTest.java

License:Open Source License

@Test
public void testGetNameExternalLibrary() throws CoreException, IOException {
    IPackageFragmentRoot library = javaProject.createExternalJAR("testdata/bin/signatureresolver.jar", null,
            null);/*from w w w.  j  av  a  2s.  c  om*/

    assertEquals(library.getElementName(), sessionAnalyzer.getName(library));
}

From source file:com.mountainminds.eclemma.internal.ui.coverageview.CellTextConverter.java

License:Open Source License

private String getSimpleTextForJavaElement(Object element) {
    if (element instanceof IPackageFragmentRoot) {
        final IPackageFragmentRoot root = (IPackageFragmentRoot) element;
        // tweak label if the package fragment root is the project itself:
        if (root.getElementName().length() == 0) {
            element = root.getJavaProject();
        }/*from   ww  w .j  av  a  2  s .  c o  m*/
        // shorten JAR references
        try {
            if (root.getKind() == IPackageFragmentRoot.K_BINARY) {
                return root.getPath().lastSegment();
            }
        } catch (JavaModelException e) {
            EclEmmaUIPlugin.log(e);
        }
    }
    return workbenchLabelProvider.getText(element);
}

From source file:de.fxworld.generationgap.GapConfiguration.java

License:Open Source License

public void resetDefault() {
    final IProject project = getJavaProject().getProject();
    final List<String> genModels = new ArrayList<String>();
    final List<String> clearSrcPaths = new ArrayList<String>();

    setGenerateEdit(false);// w  w w .ja  va 2  s.  c o  m
    setGenerateEditor(false);
    setGenerateCustomClasses(false);

    // add all generator models
    try {
        project.accept(new IResourceVisitor() {

            @Override
            public boolean visit(IResource resource) throws CoreException {
                if ((resource != null) && (resource instanceof IFile)) {
                    IFile file = (IFile) resource;

                    if ((file.exists()) && ("genmodel".equals(file.getFileExtension()))) {
                        genModels.add(file.getProjectRelativePath().toString());
                    }
                }

                return true; // visit children too
            }
        });

    } catch (CoreException e) {
        e.printStackTrace();
    }

    // get all source paths
    try {
        boolean found = false;

        for (IPackageFragmentRoot root : javaProject.getAllPackageFragmentRoots()) {
            if ((root.getKind() == IPackageFragmentRoot.K_SOURCE) && (root.getJavaProject() == javaProject)) {
                if (root.getElementName().contains("src-gen")) {
                    clearSrcPaths.add(root.getResource().getProjectRelativePath().toString());

                } else if (!found) {
                    setCustomSrcPath(root.getResource().getProjectRelativePath().toString());
                    found = true;
                }
            }
        }

    } catch (JavaModelException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    setGenModels(genModels);
    setSrcPaths(clearSrcPaths);
}