Table of Contents

Class TestwellCtcXmlFileReader

Namespace
MES.MQC.DataSourceLibrary.Adapters.Files
Assembly
MES.MQC.DataSourceLibrary.dll
public class TestwellCtcXmlFileReader : FileReader
Inheritance
TestwellCtcXmlFileReader
Inherited Members

Properties

DataSource

The Data Source of the Adapter. If a report file contains data from multiple data sources, this property has to be to "Unknown" and the DataSource of each AdapterData object has to be defined.

public override string DataSource { get; }

Property Value

string

Description

Description of the Adapter that is visible in the Adapter Dialog as a popover. If the adapter is an API Connector, the description is also shown in the Add/Edit DataSource dialog, when the API Connector is selected. Absolute links get transformed into HTML Link Tags, line breaks (\n) get transformed into HTML line breaks (<br>), HTML tags are not allowed.

public override string Description { get; }

Property Value

string

FileExtensions

File Extensions of the Adapter. This property has to be defined and must have at least one file extension. The Adapter is only used for FilePaths with the defined file extensions. The IsValid method is not called unless the file extension matches.

public override List<string> FileExtensions { get; }

Property Value

List<string>

HumanReadableFileExtensions

Human Readable File Extensions of the Adapter.

protected override List<string> HumanReadableFileExtensions { get; }

Property Value

List<string>

HumanReadableStartFileNames

Start of Human Readable File Names of the Adapter.

protected override List<string> HumanReadableStartFileNames { get; }

Property Value

List<string>

Name

Unique Name of the Adapter. Defaults to the ClassName (without Adapter / FileReader / ApiConnector suffix), can be overridden with a user defined Name.

public override string Name { get; }

Property Value

string

Methods

GetHumanReadableFilePath(FileReaderContext)

Get the human-readable file path. Can be overridden with a user defined function. Can be used together with GetHumanReadableFilePaths, but it is recommended to only use one of the methods.

protected override string GetHumanReadableFilePath(FileReaderContext context)

Parameters

context FileReaderContext

FileReaderContext

Returns

string

Human readable file

IsValid(FileReaderContext)

Check if the root element is <ctc_xml_report>

protected override bool IsValid(FileReaderContext context)

Parameters

context FileReaderContext

Context of file

Returns

bool

true if file is a valid CTC report file

Read(FileReaderContext)

Read each file element and fetch name attribute as ArtifactPath from file_summary element inside file element these elements are read as measures: lines element => MeasureName = "Source lines" , VariableName="count" measurement_points element => MeasureName = "Measurement points" , VariableName="count" xx_hit and xx_all => MeasureName = "xxx" , VariableName="Reached" (for hit value), VariableName="Total" (for all value) This measure (xx) is added if both xx_hit and xx_all elements are exist

protected override AdapterReadResult Read(FileReaderContext context)

Parameters

context FileReaderContext

Context of file

Returns

AdapterReadResult

All Data is stored in an AdapterData Model object

Examples

<ctc_xml_report> <file_summary> 77 200 <measurement_points>16</measurement_points> 68 343 505 <statement_ter>92</statement_ter> <statement_hits>5310</statement_hits> <statement_all>5752</statement_all> <statement_na_functions>0</statement_na_functions> </file_summary> ... </ctc_xml_report>