Files
DP44/enriched-partialglm/Common/DTS.Common.Import.md
2026-04-17 14:55:32 -04:00

4.1 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
Common/DTS.Common.Import/ImportError.cs
Common/DTS.Common.Import/ParseProcessor.cs
Common/DTS.Common.Import/TsetSetupImportSensorInfo.cs
Common/DTS.Common.Import/CsvUtil.cs
Common/DTS.Common.Import/ImportNotification.cs
Common/DTS.Common.Import/XMLParseProcessor.cs
Common/DTS.Common.Import/CalibrationImport.cs
Common/DTS.Common.Import/GroupHelper.cs
Common/DTS.Common.Import/ImportObject.cs
2026-04-16T11:29:51.864320+00:00 zai-org/GLM-5-FP8 1 e94d77a26e8f0798

Documentation: DTS.Common.Import

1. Purpose

The DTS.Common.Import namespace provides the infrastructure for parsing and importing test configuration data (sensors, calibrations, groups, test setups) into the system. It defines ImportObject as the central data transfer object that accumulates state during the import process. The module includes orchestration processors for handling files (CSV and XML), utility classes for data normalization and calibration logic, and notification mechanisms to report progress and errors to the UI or calling application.

2. Public Interface

Classes

ImportObject

The primary state container for an import operation. It holds collections of sensors, calibrations, hardware, groups, and lookup dictionaries.

  • Properties:
    • SourceFormat: Gets or sets the ImportFormats enum value.
    • TestSetupImportFileFormat: Gets or sets the ImportFileFormat (Single, Multiple, No TestSetup).
  • Methods:
    • AddSensor(SensorData sensorData) / AddSensors(IEnumerable<SensorData> sensorsData): Adds sensors to the import list.
    • AddCalibration(SensorCalibration sensorCalibration) / AddCalibrations(...): Adds calibration records.
    • AddTestSetup(TestTemplate testTemplate) / AddTestSetups(...): Adds test setups.
    • AddError(ImportError d) / AddErrors(IEnumerable<ImportError> d): Registers import errors.
    • AssignParseParameters(ParseParameters parseParameters): Assigns parameters used during parsing.
    • GetSensorLookup(): Returns a IReadOnlyDictionary<int, ISensorData> mapped by DatabaseId. Logs duplicates to System.Diagnostics.Trace.
    • GetImportFileFormat(): Returns ImportFileFormat based on the count of test setups.

ParseProcessor

Orchestrates the parsing of files using a list of IParseVariant implementations.

  • Constructor: ParseProcessor(ImportObject importObject, IEnumerable<string> fileNames, IEnumerable<IParseVariant> parseVariants)
  • Methods:
    • Process(): Iterates through fileNames and parseVariants, executing variant.Parse(ref _importObject). Returns the modified ImportObject.

XMLParseProcessor

Orchestrates XML file parsing with progress notification and cancellation support.

  • Constructor: XMLParseProcessor(ImportObject importObject, IImportNotification importNotification, IEnumerable<string> fileNames, Func<bool> isCancelled, bool skipNormalizing)
  • Properties:
    • UIItems: List of IUIItems used by the parser factory.
  • Methods:
    • Process(): Invokes XmlParserFactory.CreateXMLParsers, executes parsing, and reports progress via IImportNotification. Progress is calculated based on the sum of counts of various imported entities (Calibrations, Sensors, Groups, etc.).

CalibrationImport

Implements ICalibrationImport to manipulate sensor calibration data.

  • Methods:
    • CheckForExcitationCalibration(SensorCalibration sc, ...): Adds a new CalibrationRecord if the excitation type does not match the first record.
    • AddLinearCalRecordIfNeeded(SensorCalibration sc, ...): If only one record exists, adds a second linear record and adjusts IsProportional/RemoveOffset flags.
    • AddLinearZeroMethodIfNeeded(SensorCalibration sc, ...): Adds a second ZeroMethod if only one exists.

CsvUtil

Static utility class for CSV file handling.

  • Methods:
    • CreateCsvReader(string filename): Creates a CsvReader wrapping a StreamReader for the given file.