Example usage for org.eclipse.jdt.core IJavaModelMarker ARGUMENTS

List of usage examples for org.eclipse.jdt.core IJavaModelMarker ARGUMENTS

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IJavaModelMarker ARGUMENTS.

Prototype

String ARGUMENTS

To view the source code for org.eclipse.jdt.core IJavaModelMarker ARGUMENTS.

Click Source Link

Document

Id marker attribute (value "arguments").

Usage

From source file:edu.brown.cs.bubbles.bedrock.BedrockUtil.java

License:Open Source License

static void outputMarker(IMarker xmk, File fil, IvyXmlWriter xw) {
    if (xmk instanceof IProblem) {
        BedrockUtil.outputProblem(null, (IProblem) xmk, xw);
    } else {/* www  .j a  va 2 s  .  c  om*/
        String mtyp = null;
        try {
            mtyp = xmk.getType();
        } catch (CoreException e) {
            return;
        }
        if (mtyp.contains("Breakpoint"))
            return;

        xw.begin("PROBLEM");
        xw.field("TYPE", mtyp);
        xw.field("ID", xmk.getId());
        int sev = xmk.getAttribute(IMarker.SEVERITY, IMarker.SEVERITY_INFO);
        if (sev == IMarker.SEVERITY_ERROR)
            xw.field("ERROR", true);
        else if (sev == IMarker.SEVERITY_WARNING)
            xw.field("WARNING", true);
        int lno = xmk.getAttribute(IMarker.LINE_NUMBER, -1);
        if (lno >= 0) {
            xw.field("LINE", lno);
            xw.field("START", xmk.getAttribute(IMarker.CHAR_START, 0));
            xw.field("END", xmk.getAttribute(IMarker.CHAR_END, 0));
        }
        xw.field("MSGID", xmk.getAttribute(IJavaModelMarker.ID, 0));
        xw.field("FLAGS", xmk.getAttribute(IJavaModelMarker.FLAGS, 0));
        xw.textElement("FILE", fil.getPath());
        String msg = xmk.getAttribute(IMarker.MESSAGE, "");
        msg = IvyXml.xmlSanitize(msg, false);
        xw.textElement("MESSAGE", msg);
        String args = xmk.getAttribute(IJavaModelMarker.ARGUMENTS, null);
        if (args != null) {
            StringTokenizer tok = new StringTokenizer(args, ":#");
            if (tok.hasMoreTokens())
                tok.nextToken(); // skip count
            while (tok.hasMoreTokens()) {
                xw.cdataElement("ARG", tok.nextToken());
            }
        }
        BedrockPlugin.getPlugin().addFixes(xmk, xw);
        xw.end("PROBLEM");
    }
}

From source file:org.eclipse.jdt.internal.core.JavaProject.java

License:Open Source License

/**
 * Record a new marker denoting a classpath problem
 *//*from www.  j  av a 2  s  .  c  o  m*/
public void createClasspathProblemMarker(IJavaModelStatus status) {

    IMarker marker = null;
    int severity;
    String[] arguments = CharOperation.NO_STRINGS;
    boolean isCycleProblem = false, isClasspathFileFormatProblem = false, isOutputOverlapping = false;
    switch (status.getCode()) {

    case IJavaModelStatusConstants.CLASSPATH_CYCLE:
        isCycleProblem = true;
        if (JavaCore.ERROR.equals(getOption(JavaCore.CORE_CIRCULAR_CLASSPATH, true))) {
            severity = IMarker.SEVERITY_ERROR;
        } else {
            severity = IMarker.SEVERITY_WARNING;
        }
        break;

    case IJavaModelStatusConstants.INVALID_CLASSPATH_FILE_FORMAT:
        isClasspathFileFormatProblem = true;
        severity = IMarker.SEVERITY_ERROR;
        break;

    case IJavaModelStatusConstants.INCOMPATIBLE_JDK_LEVEL:
        String setting = getOption(JavaCore.CORE_INCOMPATIBLE_JDK_LEVEL, true);
        if (JavaCore.ERROR.equals(setting)) {
            severity = IMarker.SEVERITY_ERROR;
        } else if (JavaCore.WARNING.equals(setting)) {
            severity = IMarker.SEVERITY_WARNING;
        } else {
            return; // setting == IGNORE
        }
        break;
    case IJavaModelStatusConstants.OUTPUT_LOCATION_OVERLAPPING_ANOTHER_SOURCE:
        isOutputOverlapping = true;
        setting = getOption(JavaCore.CORE_OUTPUT_LOCATION_OVERLAPPING_ANOTHER_SOURCE, true);
        if (JavaCore.ERROR.equals(setting)) {
            severity = IMarker.SEVERITY_ERROR;
        } else if (JavaCore.WARNING.equals(setting)) {
            severity = IMarker.SEVERITY_WARNING;
        } else {
            return; // setting == IGNORE
        }
        break;
    default:
        IPath path = status.getPath();
        if (path != null)
            arguments = new String[] { path.toString() };
        if (JavaCore.ERROR.equals(getOption(JavaCore.CORE_INCOMPLETE_CLASSPATH, true))
                && status.getSeverity() != IStatus.WARNING) {
            severity = IMarker.SEVERITY_ERROR;
        } else {
            severity = IMarker.SEVERITY_WARNING;
        }
        break;
    }

    try {
        marker = this.project.createMarker(IJavaModelMarker.BUILDPATH_PROBLEM_MARKER);
        marker.setAttributes(
                new String[] { IMarker.MESSAGE, IMarker.SEVERITY, IMarker.LOCATION,
                        IJavaModelMarker.CYCLE_DETECTED, IJavaModelMarker.CLASSPATH_FILE_FORMAT,
                        IJavaModelMarker.OUTPUT_OVERLAPPING_SOURCE, IJavaModelMarker.ID,
                        IJavaModelMarker.ARGUMENTS, IJavaModelMarker.CATEGORY_ID, IMarker.SOURCE_ID, },
                new Object[] { status.getMessage(), new Integer(severity), Messages.classpath_buildPath,
                        isCycleProblem ? "true" : "false", //$NON-NLS-1$ //$NON-NLS-2$
                        isClasspathFileFormatProblem ? "true" : "false", //$NON-NLS-1$ //$NON-NLS-2$
                        isOutputOverlapping ? "true" : "false", //$NON-NLS-1$ //$NON-NLS-2$
                        new Integer(status.getCode()), Util.getProblemArgumentsForMarker(arguments),
                        new Integer(CategorizedProblem.CAT_BUILDPATH), JavaBuilder.SOURCE_ID, });
    } catch (CoreException e) {
        // could not create marker: cannot do much
        if (JavaModelManager.VERBOSE) {
            e.printStackTrace();
        }
    }
}