Package org.epic.perleditor.actions

Source Code of org.epic.perleditor.actions.PodCheckerAction

package org.epic.perleditor.actions;

import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IResource;

import org.epic.core.util.MarkerUtilities;

import org.epic.perleditor.editors.PerlEditor;
import org.epic.perleditor.editors.PerlEditorActionIds;
import org.epic.perleditor.editors.util.PodChecker;
import org.epic.perleditor.editors.util.PodChecker.Violation;

import java.util.HashMap;
import java.util.Map;


/**
* Runs Pod::Checker
*
* @see http://search.cpan.org/dist/Pod-Parser/lib/Pod/Checker.pm
*/
public class PodCheckerAction extends PerlUserJobAction
{
    //~ Static fields/initializers

    private static final String POD_MARKER = "org.epic.perleditor.markers.podChecker";

    //~ Constructors

    public PodCheckerAction(PerlEditor editor)
    {
        super(editor);
    }

    //~ Methods

    /*
     * @see
     * org.epic.perleditor.actions.PerlJobAction#createMarkerAttributes(org.epic.core.util.MarkerUtilities,
     * java.lang.Object)
     */
    protected Map createMarkerAttributes(MarkerUtilities factory, Object violation)
    {
        Map attributes = new HashMap(3);
        Violation v = (Violation) violation;

        int severity;
        if ("error".equalsIgnoreCase(v.severity))
        {
            severity = IMarker.SEVERITY_ERROR;
        }
        else
        {
            severity = IMarker.SEVERITY_WARNING;
        }

        factory.setMessage(attributes, v.message);
        factory.setSeverity(attributes, severity);
        factory.setLineNumber(attributes, v.lineNumber);

        return attributes;
    }

    /*
     * @see org.epic.perleditor.actions.PerlJobAction#doJob(org.eclipse.core.resources.IResource)
     */
    protected Object[] doJob(IResource resource)
    {
        return PodChecker.podchecker(resource, getLog());
    }

    /*
     * @see
     * org.epic.perleditor.actions.PerlJobAction#getJobTitle(org.eclipse.core.resources.IResource)
     */
    protected String getJobTitle(IResource resource)
    {
        return "Executing Pod::Checker against " + resource.getName();
    }

    /*
     * @see org.epic.perleditor.actions.PerlJobAction#getMarker()
     */
    protected String getMarker()
    {
        return POD_MARKER;
    }

    /*
     * @see org.epic.perleditor.actions.PerlEditorAction#getPerlEditorActionId()
     */
    protected String getPerlEditorActionId()
    {
        return PerlEditorActionIds.POD_CHECKER;
    }

}
TOP

Related Classes of org.epic.perleditor.actions.PodCheckerAction

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.