Example usage for org.eclipse.jdt.core.tests.builder Problem Problem

List of usage examples for org.eclipse.jdt.core.tests.builder Problem Problem

Introduction

In this page you can find the example usage for org.eclipse.jdt.core.tests.builder Problem Problem.

Prototype

public Problem(IMarker marker) 

Source Link

Usage

From source file:org.eclipse.objectteams.otdt.test.builder.MultipleCallinsWarningTest.java

License:Open Source License

public Problem[] getProblemsFor(IJavaElement element, String additionalMarkerType) {
    IResource resource = env.getWorkspace().getRoot();
    try {//from w ww  .  jav  a2  s .co m
        ArrayList<Problem> problems = new ArrayList<Problem>();
        IMarker[] markers = resource.findMarkers(IJavaModelMarker.JAVA_MODEL_PROBLEM_MARKER, true,
                IResource.DEPTH_INFINITE);
        for (int i = 0; i < markers.length; i++)
            if (JavaCore.isReferencedBy(element, markers[i]))
                problems.add(new Problem(markers[i]));

        markers = resource.findMarkers(IJavaModelMarker.BUILDPATH_PROBLEM_MARKER, true,
                IResource.DEPTH_INFINITE);
        for (int i = 0; i < markers.length; i++)
            if (JavaCore.isReferencedBy(element, markers[i]))
                problems.add(new Problem(markers[i]));

        markers = resource.findMarkers(IJavaModelMarker.TASK_MARKER, true, IResource.DEPTH_INFINITE);
        for (int i = 0; i < markers.length; i++)
            if (JavaCore.isReferencedBy(element, markers[i]))
                problems.add(new Problem(markers[i]));

        if (additionalMarkerType != null) {
            markers = resource.findMarkers(additionalMarkerType, true, IResource.DEPTH_INFINITE);
            for (int i = 0; i < markers.length; i++)
                if (JavaCore.isReferencedBy(element, markers[i]))
                    problems.add(new Problem(markers[i]));
        }

        Problem[] result = new Problem[problems.size()];
        problems.toArray(result);
        Arrays.sort(result, new Comparator<Problem>() {
            public int compare(Problem o1, Problem o2) {
                return o1.toString().compareTo(o2.toString());
            }
        });
        return result;
    } catch (CoreException e) {
        // ignore
    }
    return new Problem[0];
}