org.hackystat.sensor.ant.pmd
Class PmdSensor

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.Task
          extended by org.hackystat.sensor.ant.task.HackystatSensorTask
              extended by org.hackystat.sensor.ant.pmd.PmdSensor
All Implemented Interfaces:
java.lang.Cloneable

public class PmdSensor
extends HackystatSensorTask

Implements an Ant task that parses the XML files generated by PMD Ant Task and sends the CodeIssue data to a Hackystat server.

Author:
Aaron A. Kagawa, Julie Ann Sakuda, Philip Johnson

Field Summary
 
Fields inherited from class org.hackystat.sensor.ant.task.HackystatSensorTask
dataFilesList, errMsgPrefix, failOnError, msgPrefix, runtime, sensorProps, sensorShell, sourceFilesList, toolAccount, tstampSet, verbose
 
Fields inherited from class org.apache.tools.ant.Task
target, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
 
Constructor Summary
PmdSensor()
          Initialize a new instance of a PmdSensor.
PmdSensor(java.lang.String host, java.lang.String email, java.lang.String password)
          Initialize a new instance of a PmdSensor, passing the host email, and password directly.
 
Method Summary
 void executeInternal()
          Parses the PMD XML files and sends the resulting code issue results to the hackystat server.
 int processPmdXmlFile(java.io.File xmlFile)
          Parses a PMD XML file and sends the code issue instances to the shell.
 
Methods inherited from class org.hackystat.sensor.ant.task.HackystatSensorTask
createDataFiles, createSourceFiles, execute, getDataFiles, getFiles, getSourceFiles, info, isUsingUserMap, sendAndQuit, setFailOnError, setRetryAttempts, setRetryWaitInterval, setupSensorShell, setUserMapTool, setUserMapToolAccount, setVerbose, signalError, summaryInfo, verboseInfo
 
Methods inherited from class org.apache.tools.ant.Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PmdSensor

public PmdSensor()
Initialize a new instance of a PmdSensor.


PmdSensor

public PmdSensor(java.lang.String host,
                 java.lang.String email,
                 java.lang.String password)
Initialize a new instance of a PmdSensor, passing the host email, and password directly. This supports testing.

Parameters:
host - The hackystat host URL.
email - The Hackystat email to use.
password - The Hackystat password to use.
Method Detail

executeInternal

public void executeInternal()
                     throws org.apache.tools.ant.BuildException
Parses the PMD XML files and sends the resulting code issue results to the hackystat server. This method is invoked automatically by Ant.

Specified by:
executeInternal in class HackystatSensorTask
Throws:
org.apache.tools.ant.BuildException - If there is an error.

processPmdXmlFile

public int processPmdXmlFile(java.io.File xmlFile)
                      throws org.apache.tools.ant.BuildException
Parses a PMD XML file and sends the code issue instances to the shell.

Parameters:
xmlFile - The XML file name to be processed.
Returns:
The number of issues that have been processed in this XML file.
Throws:
org.apache.tools.ant.BuildException - if any error.