Class CompositeVTB
- java.lang.Object
-
- jetbrains.buildServer.serverSide.statistics.build.CompositeVTB
-
- All Implemented Interfaces:
ValueProvider
,ValueType
public abstract class CompositeVTB extends java.lang.Object implements ValueProvider, ValueType
Base class for composite value types. It just gathers results of several other VTS for display in one chart.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
myFormat
protected java.lang.String
myKey
protected SBuildServer
myServer
protected BuildDataStorage
myStorage
protected ValueProviderRegistry
myValueProviderRegistry
-
Constructor Summary
Constructors Modifier Constructor Description protected
CompositeVTB(BuildDataStorage buildDataStorage, ValueProviderRegistry valueProviderRegistry, SBuildServer server, java.lang.String key)
protected
CompositeVTB(BuildDataStorage buildDataStorage, ValueProviderRegistry valueProviderRegistry, SBuildServer server, java.lang.String key, java.lang.String format)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected java.lang.String
buildTypeTitle(ChartSettings currentSettings, java.lang.String baseTitle)
protected BuildValueProvider
createValueProviderForSubkey(java.lang.String subKey)
java.util.Map<java.lang.String,BuildValue>
getData(SBuild build)
java.util.List<BuildValue>
getDataSet(ChartSettings _chartSettings)
This should return dataset based given chartSettingsjava.util.List<BuildValue>
getDataSet(ChartSettings _chartSettings, java.lang.String subKey, int index)
java.lang.String
getExtendedDescription(ChartSettings chartSettings)
Extended metric textual description (for tooltip), i.e.java.lang.String
getKey()
Metric id i.e.protected BuildValueProvider
getOrCreateValueProviderFor(java.lang.String subKey)
java.lang.String
getSeriesColor(java.lang.String s)
Allows to provide special color coding for series.java.lang.String
getSeriesGenericName()
Generic name for this value's seriesabstract java.lang.String
getSeriesName(java.lang.String subKey, int idx)
Return series name for the dataabstract java.lang.String[]
getSubKeys()
Return an array of the data subKeys - the keys reference ValueProvider.getKey calljava.lang.String
getValueFormat()
Format name for Values (point hints and axis).boolean
hasData(ChartSettings buildChartSettings)
Returns true if at least one not-null value is available for this ValueProvider for given settingsprotected BuildChartSettings
updateSettingsForSubType(ChartSettings chartSettings, java.lang.String subKey, int idx)
Update and return BuildChartSettings object-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface jetbrains.buildServer.serverSide.statistics.ValueType
getDescription
-
-
-
-
Field Detail
-
myValueProviderRegistry
protected final ValueProviderRegistry myValueProviderRegistry
-
myStorage
protected final BuildDataStorage myStorage
-
myServer
protected final SBuildServer myServer
-
myKey
protected final java.lang.String myKey
-
myFormat
protected final java.lang.String myFormat
-
-
Constructor Detail
-
CompositeVTB
protected CompositeVTB(BuildDataStorage buildDataStorage, ValueProviderRegistry valueProviderRegistry, SBuildServer server, java.lang.String key)
-
CompositeVTB
protected CompositeVTB(BuildDataStorage buildDataStorage, ValueProviderRegistry valueProviderRegistry, SBuildServer server, java.lang.String key, java.lang.String format)
-
-
Method Detail
-
getSubKeys
public abstract java.lang.String[] getSubKeys()
Return an array of the data subKeys - the keys reference ValueProvider.getKey call- Returns:
- keys for the data
-
getSeriesName
public abstract java.lang.String getSeriesName(java.lang.String subKey, int idx)
Return series name for the data- Parameters:
subKey
- key for the series, see getSubKeysidx
- index for the subKey, zero-based, 0..getSubKeys.length - 1- Returns:
- name of the serie to be shown on the UI in the combo box
-
updateSettingsForSubType
protected BuildChartSettings updateSettingsForSubType(ChartSettings chartSettings, java.lang.String subKey, int idx)
Update and return BuildChartSettings object- Parameters:
chartSettings
- chart settings object - initial chart settings, de facto instance of BuildChartSettings, but this may change in the future.subKey
- key for the series, see getSubKeysidx
- index for the subKey, zero-based, 0..getSubKeys.length - 1- Returns:
- name of the serie to be shown on the UI in the combo box
-
getDataSet
@NotNull public java.util.List<BuildValue> getDataSet(@NotNull ChartSettings _chartSettings)
Description copied from interface:ValueProvider
This should return dataset based given chartSettings- Specified by:
getDataSet
in interfaceValueProvider
- Parameters:
_chartSettings
- to be applied to dataset- Returns:
- filtered dataset
-
getDataSet
@NotNull public java.util.List<BuildValue> getDataSet(@NotNull ChartSettings _chartSettings, @NotNull java.lang.String subKey, int index)
-
getData
@NotNull public java.util.Map<java.lang.String,BuildValue> getData(@NotNull SBuild build)
-
getOrCreateValueProviderFor
@Nullable protected BuildValueProvider getOrCreateValueProviderFor(@NotNull java.lang.String subKey)
-
createValueProviderForSubkey
protected BuildValueProvider createValueProviderForSubkey(java.lang.String subKey)
-
hasData
public boolean hasData(ChartSettings buildChartSettings)
Description copied from interface:ValueProvider
Returns true if at least one not-null value is available for this ValueProvider for given settings- Specified by:
hasData
in interfaceValueProvider
- Parameters:
buildChartSettings
- dataset chartSettings- Returns:
- true if there are some data available for this ValueProvider with given settings
-
getKey
public java.lang.String getKey()
Description copied from interface:ValueProvider
Metric id i.e. "BuildDuration", this key should be unique- Specified by:
getKey
in interfaceValueProvider
- Returns:
- Unique key name
-
getExtendedDescription
@NotNull public java.lang.String getExtendedDescription(ChartSettings chartSettings)
Description copied from interface:ValueType
Extended metric textual description (for tooltip), i.e. "Build Duration (includes stages A, B, C)"- Specified by:
getExtendedDescription
in interfaceValueType
- Parameters:
chartSettings
- the same filter as passed toValueProvider.getDataSet(ChartSettings)
method- Returns:
- graph description, used in graph title on the web
-
getSeriesColor
@Nullable public java.lang.String getSeriesColor(java.lang.String s)
Description copied from interface:ValueType
Allows to provide special color coding for series.
Color should be formatted as web color - hex "#rrggbb" (or short hex form "#rgb") or color name.
- Specified by:
getSeriesColor
in interfaceValueType
- Parameters:
s
- series key- Returns:
- series color, null to autogenerate by renderer
-
getSeriesGenericName
public java.lang.String getSeriesGenericName()
Description copied from interface:ValueType
Generic name for this value's series- Specified by:
getSeriesGenericName
in interfaceValueType
- Returns:
- short name string
-
getValueFormat
@Nullable public java.lang.String getValueFormat()
Description copied from interface:ValueType
Format name for Values (point hints and axis).
Following formats are supported by default:
- text - no special formatting, value is treat as float
- integer - only integer values
- duration - value is treat as milliseconds and is formatted
- size - value is treat as bytes and is formatted
- percent - value is treat as N%
- percentBy1 - value is treat as (N * 100)%
- Specified by:
getValueFormat
in interfaceValueType
- Returns:
- format name.
-
buildTypeTitle
protected java.lang.String buildTypeTitle(ChartSettings currentSettings, java.lang.String baseTitle)
-
-