org.hackystat.telemetry.analyzer.reducer.impl
Class CodeIssueReducer

java.lang.Object
  extended by org.hackystat.telemetry.analyzer.reducer.impl.CodeIssueReducer
All Implemented Interfaces:
TelemetryReducer

public class CodeIssueReducer
extends java.lang.Object
implements TelemetryReducer

Returns a single stream providing CodeIssue counts.

Accepts the following options in the following order.

  1. Tool: A string indicating the tool whose CodeIssue data is to be counted, or "*" for all tools found. Default is "*".
  2. Type: A string to restrict the counts to the CodeIssue's with the specified type, or "*" to match all types. Default is "*".

Author:
Philip Johnson

Constructor Summary
CodeIssueReducer()
           
 
Method Summary
 TelemetryStreamCollection compute(org.hackystat.sensorbase.resource.projects.jaxb.Project project, org.hackystat.dailyprojectdata.client.DailyProjectDataClient dpdClient, org.hackystat.utilities.time.interval.Interval interval, java.lang.String[] options)
          Computes and returns the required telemetry streams object.
(package private)  java.lang.Long getData(org.hackystat.dailyprojectdata.client.DailyProjectDataClient dpdClient, org.hackystat.sensorbase.resource.projects.jaxb.Project project, org.hackystat.utilities.time.period.Day startDay, org.hackystat.utilities.time.period.Day endDay, java.lang.String tool, java.lang.String type)
          Returns a CodeIssue count for the specified time interval, or null if no SensorData.
(package private)  TelemetryStream getStream(org.hackystat.dailyprojectdata.client.DailyProjectDataClient dpdClient, org.hackystat.sensorbase.resource.projects.jaxb.Project project, org.hackystat.utilities.time.interval.Interval interval, java.lang.String tool, java.lang.String type, java.lang.Object streamTagValue)
          Gets the telemetry stream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CodeIssueReducer

public CodeIssueReducer()
Method Detail

compute

public TelemetryStreamCollection compute(org.hackystat.sensorbase.resource.projects.jaxb.Project project,
                                         org.hackystat.dailyprojectdata.client.DailyProjectDataClient dpdClient,
                                         org.hackystat.utilities.time.interval.Interval interval,
                                         java.lang.String[] options)
                                  throws TelemetryReducerException
Computes and returns the required telemetry streams object.

Specified by:
compute in interface TelemetryReducer
Parameters:
project - The project.
dpdClient - The DPD Client.
interval - The interval.
options - The optional parameters.
Returns:
Telemetry stream collection.
Throws:
TelemetryReducerException - If there is any error.

getStream

TelemetryStream getStream(org.hackystat.dailyprojectdata.client.DailyProjectDataClient dpdClient,
                          org.hackystat.sensorbase.resource.projects.jaxb.Project project,
                          org.hackystat.utilities.time.interval.Interval interval,
                          java.lang.String tool,
                          java.lang.String type,
                          java.lang.Object streamTagValue)
                    throws java.lang.Exception
Gets the telemetry stream.

Parameters:
dpdClient - The DailyProjectData client we will contact for the data.
project - The project.
interval - The interval.
tool - The tool whose CodeIssue data is to be returned.
type - The type of CodeIssue data to return.
streamTagValue - The tag for the generated telemetry stream.
Returns:
The telemetry stream as required.
Throws:
java.lang.Exception - If there is any error.

getData

java.lang.Long getData(org.hackystat.dailyprojectdata.client.DailyProjectDataClient dpdClient,
                       org.hackystat.sensorbase.resource.projects.jaxb.Project project,
                       org.hackystat.utilities.time.period.Day startDay,
                       org.hackystat.utilities.time.period.Day endDay,
                       java.lang.String tool,
                       java.lang.String type)
                 throws TelemetryReducerException
Returns a CodeIssue count for the specified time interval, or null if no SensorData.

Parameters:
dpdClient - The DailyProjectData client we will use to get this data.
project - The project.
startDay - The start day (inclusive).
endDay - The end day (inclusive).
tool - The tool whose CodeIssue data is to be counted, or null for all tools.
type - The type of CodeIssue data to count, or null for all CodeIssue types.
Returns:
The CodeIssue count, or null if there is no CodeIssue SensorData for that time period.
Throws:
TelemetryReducerException - If anything goes wrong.