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

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

Introduction

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

Prototype

IResource getResource();

Source Link

Document

Returns the innermost resource enclosing this element.

Usage

From source file:org.limy.eclipse.common.jdt.LimyJavaUtils.java

License:Open Source License

/**
 * javaElement SJavat@C? results i[?B/* w  ww .  j  av  a2 s.c  o m*/
 * @param results i[?
 * @param javaElement ?[gJavavf
 * @param visitor IJavaResourceVisitor
 * @throws CoreException RAO
 */
public static void appendAllJavas(Collection<IJavaElement> results, IJavaElement javaElement)
        throws CoreException {

    if (javaElement == null || javaElement.getResource() == null) {
        // JarG?g???Aresource = null 
        return;
    }

    // Javav?WFNg?A\?[XpX?AJavapbP?[W
    appendForIParent(results, javaElement/*, visitor*/);

    // JavapbP?[WTupbP?[W
    if (javaElement instanceof IPackageFragment) {
        appendForIPackageFragment(results, (IPackageFragment) javaElement/*, visitor*/);
    }

    // JavaNX?A?\bh`?AtB?[h`
    int type = javaElement.getElementType();
    if (type == IJavaElement.IMPORT_DECLARATION || type == IJavaElement.PACKAGE_DECLARATION
            || type == IJavaElement.COMPILATION_UNIT || type == IJavaElement.TYPE || type == IJavaElement.METHOD
            || type == IJavaElement.FIELD) {

        results.add(javaElement);
    }
}

From source file:org.limy.eclipse.qalab.action.CalculateCoverageAction.java

License:Open Source License

@Override
protected void doAction(IJavaElement javaElement, IProgressMonitor monitor) throws CoreException {

    if (javaElement instanceof IJavaProject) {
        IProject project = ((IJavaProject) javaElement).getProject();

        // result, coverage, coverage(brief)
        project.deleteMarkers(LimyQalabMarker.COVERAGE_RESULT, true, IResource.DEPTH_INFINITE);

        // failure, error
        project.deleteMarkers(LimyQalabMarker.FAILURE_ID, true, IResource.DEPTH_INFINITE);

        LimyQalabEnvironment env = LimyQalabPluginUtils.createEnv(project);
        List<IResource> allSourceFiles = QalabResourceUtils.getAllSourceFiles(env, false, true);
        CoberturaMarkCreator.getInstance().markResources(env, allSourceFiles, null);
    } else {//w  ww .  j av  a  2 s.c o  m

        IResource resource = javaElement.getResource();

        // result, coverage, non-coverage
        resource.deleteMarkers(LimyQalabMarker.COVERAGE_RESULT, true, IResource.DEPTH_INFINITE);

        // failure, error, success
        resource.deleteMarkers(LimyQalabMarker.TEST_ID, true, IResource.DEPTH_INFINITE);

        LimyQalabEnvironment env = LimyQalabPluginUtils.createEnv(resource.getProject());

        //            CoberturaMarkCreator.getInstance().markResources(env,
        //                    LimyJavaUtils.getAllResources(javaElement), null);

        Collection<IJavaElement> elements = new ArrayList<IJavaElement>();
        elements.add(javaElement);
        CoberturaMarkCreator.getInstance().markJavaElement(env, elements, null);

    }
}

From source file:org.limy.eclipse.qalab.action.MakeMarkerAction.java

License:Open Source License

@Override
protected void doAction(IJavaElement javaElement, IProgressMonitor monitor) throws CoreException {

    LimyQalabEnvironment env = LimyQalabPluginUtils.createEnv(javaElement.getResource().getProject());
    doMark(env, javaElement, monitor);/*from  w w  w.j  a  v a  2  s.  co  m*/
}

From source file:org.limy.eclipse.qalab.action.MakeMarkerAction.java

License:Open Source License

/**
 * @param env /*from  w  w  w. j a v a2  s .  c  o m*/
 * @param javaElement
 * @param monitor
 * @throws CoreException
 */
private void doMark(LimyQalabEnvironment env, IJavaElement javaElement, IProgressMonitor monitor)
        throws CoreException {

    IResource resource = javaElement.getResource();
    AntCreator[] creators = LimyCreatorUtils.decideCreators(env);

    monitor.beginTask("Marking...", 2 + creators.length);

    monitor.subTask("Delete markers...");
    monitor.worked(1);

    resource.deleteMarkers(LimyQalabMarker.DEFAULT_ID, true, IResource.DEPTH_INFINITE);
    //        resource.deleteMarkers(LimyQalabMarker.TEMPORARY_ID, true, IResource.DEPTH_INFINITE);

    monitor.subTask("Decide target files...");
    monitor.worked(1);

    List<IJavaElement> javaElements = new ArrayList<IJavaElement>();
    LimyJavaUtils.appendAllJavas(javaElements, javaElement);

    try {
        Collection<IFile> autoFiles = QalabResourceUtils.getAutoCreatedFiles(env);

        for (ListIterator<IJavaElement> it = javaElements.listIterator(); it.hasNext();) {
            IResource sourceFile = it.next().getResource();
            if (autoFiles.contains(sourceFile)) {
                it.remove();
            }
        }
    } catch (IOException e) {
        LimyEclipsePluginUtils.log(e);
    }

    // ?dt@C
    Collection<IResource> targetSourceFiles = new HashSet<IResource>();
    for (IJavaElement el : javaElements) {
        IResource sourceFile = el.getResource();
        if (!LimyQalabUtils.isIgnoreSource(env, sourceFile.getFullPath())) {
            targetSourceFiles.add(sourceFile);
        }
    }

    monitor.subTask("Marking files...");

    for (AntCreator creator : creators) {

        MarkCreator markCreator = QalabMarkerUtils.getMarkCreator(creator);

        if (markCreator != null) {
            monitor.subTask("Marking files (" + markCreator.getName() + ")...");
            markCreator.markResources(env, targetSourceFiles, monitor);
        }
        monitor.worked(1);
    }

    monitor.done();
}

From source file:org.limy.eclipse.qalab.action.MakeTemporaryMarkerAction.java

License:Open Source License

/**
 * @param javaElement//from   ww  w.j  ava  2  s .co m
 * @param monitor 
 * @throws CoreException 
 */
private void createMarker(IJavaElement javaElement, IProgressMonitor monitor) throws CoreException {

    IResource resource = javaElement.getResource();
    resource.deleteMarkers(LimyQalabMarker.DEFAULT_ID, false, IResource.DEPTH_ZERO);
    LimyQalabEnvironment env = LimyQalabPluginUtils.createEnv(resource.getProject());

    AntCreator[] creators = LimyCreatorUtils.decideCreators(env);
    for (AntCreator creator : creators) {

        MarkCreator markCreator = QalabMarkerUtils.getMarkCreator(creator);
        if (markCreator != null) {
            markCreator.markResourceTemporary(env, resource, monitor);
        }

    }

}

From source file:org.limy.eclipse.qalab.action.OpenTestClassAction.java

License:Open Source License

@Override
public void doRun(ISelection selection, IProgressMonitor monitor) throws CoreException {

    Collection<IJavaElement> javaElements = getSelectedJavaElements();
    if (!javaElements.isEmpty()) {
        IJavaElement javaElement = javaElements.iterator().next();
        IJavaProject javaProject = javaElement.getJavaProject();

        LimyQalabEnvironment env = LimyQalabPluginUtils.createEnv(javaProject.getProject());

        IType type = null;/*from   w w  w .j  a  v a2s.  com*/
        if (QalabResourceUtils.isTestResource(javaElement.getResource())) {
            // eXg\?[X
            String mainClassName = QalabResourceUtils.getQualifiedMainClassName(env, javaElement.getResource());
            type = javaProject.findType(mainClassName);
        } else {
            // ?C\?[X
            String testClassName = QalabResourceUtils.getQualifiedTestClassName(env, javaElement.getResource());
            type = javaProject.findType(testClassName);
        }
        if (type != null) {
            LimyUIUtils.openInEditor(type);
            //                LimyUIUtils.openFile((IFile)type.getResource());
        }

    }

}

From source file:org.limy.eclipse.qalab.action.ResetMarkerAction.java

License:Open Source License

@Override
public void doRun(ISelection selection, IProgressMonitor monitor) throws CoreException {

    Collection<IJavaElement> javaElements = getSelectedJavaElements();

    for (IJavaElement javaElement : javaElements) {
        IResource resource = javaElement.getResource();
        resource.deleteMarkers(LimyQalabMarker.DEFAULT_ID, true, IResource.DEPTH_INFINITE);
        //            resource.deleteMarkers(LimyQalabMarker.TEMPORARY_ID, true, IResource.DEPTH_INFINITE);
    }//from   w  ww .j  a v a2  s  . co m

}

From source file:org.limy.eclipse.qalab.action.ShowSequenceAction.java

License:Open Source License

@Override
protected void doAction(IJavaElement javaElement, IProgressMonitor monitor) throws CoreException {

    // ?\bhI//from ww  w .j  a  v  a 2  s  .c  om
    if (javaElement instanceof IMethod) {
        IMethod method = (IMethod) javaElement;
        LimyQalabEnvironment env = LimyQalabPluginUtils.createEnv(javaElement.getResource().getProject());

        imageCreator = new SequenceImageCreator(env, method);
        try {
            image = PopupGraphHelper.createImage(imageCreator);
        } catch (IOException e) {
            LimyEclipsePluginUtils.log(e);
        }
    }

}

From source file:org.limy.eclipse.qalab.action.ViewCcGraphAction.java

License:Open Source License

@Override
protected void doAction(IJavaElement javaElement, IProgressMonitor monitor) throws CoreException {

    if (javaElement instanceof IMethod) {
        IMethod method = (IMethod) javaElement;
        LimyQalabEnvironment env = LimyQalabPluginUtils.createEnv(javaElement.getResource().getProject());

        imageCreator = new CcImageCreator(env, method);
        try {/*w w  w  .  j a  va  2 s .c  o m*/
            image = PopupGraphHelper.createImage(imageCreator);
        } catch (IOException e) {
            LimyEclipsePluginUtils.log(e);
        }
    }

}

From source file:org.limy.eclipse.qalab.action.ViewGraphAction.java

License:Open Source License

@Override
protected void doAction(IJavaElement javaElement, IProgressMonitor monitor) throws CoreException {

    LimyQalabEnvironment env = LimyQalabPluginUtils.createEnv(javaElement.getResource().getProject());

    imageCreator = new UmlImageCreator(env, javaElement);
    try {/*from w  w w  .  j  av  a2  s.  c o  m*/
        image = PopupGraphHelper.createImage(imageCreator);
    } catch (IOException e) {
        LimyEclipsePluginUtils.log(e);
    }
}