Cause: - ResultsWriter required a generic way to generate customer-specific XML result data from TBF measurement results. - The customer reference XML contains example runtime values and repeated result structures, so it cannot be used directly as the generated output. - TBF result variables must be explicitly mapped to destinations in the customer XML structure. - The generated XML result data must support two output targets: - direct creation of an XML file, - delivery of the XML payload to a Microsoft SQL stored procedure. - Preview generation must allow the XML structure and configured mappings to be verified without executing the production database write. - Increase revision to 3.9.3145.100. Solution: 1. Added XML reference analysis - Creates a clean base XML structure. - Extracts the repeating result prototype. - Prevents sample runtime values from the customer reference XML from leaking into generated results. 2. Added configurable TBF-to-XML result mapping - Allows explicit mapping of TBF result variables to customer XML destinations. - Supports one-time and repeating XML destinations. - Keeps the mapping independent of the semantic meaning of customer XML attribute names. 3. Added XML destination viewer and configurator - Shows the current mapping. - Highlights repeating destinations. - Identifies already used one-time destinations. 4. Added runtime XML result generation - Uses the configured TBF-to-XML mappings. - Uses measurement procedure result data. - Builds the output from the clean base XML and repeating XML prototype. - Generates repeated result records according to the executed measurement procedure. 5. Added simulation-based Preview request - Generates a complete XML payload using simulation values. - Allows XML structure and mapping verification before production execution. - Does not execute the production stored procedure. 6. Added direct XML file output support to UniDataStorageWriter - Supports File / .xml as a physical output target. - Creates the generated XML result file in the configured output directory. 7. Added Microsoft SQL stored-procedure XML output - Supports Microsoft SQL / StoredProcedure as a physical output target. - Passes the generated XML payload through the configured stored procedure parameter. 8. Added optional XML payload archiving - Allows generated XML payloads to be stored in the configured Payload archive. - Can be used together with the Microsoft SQL stored-procedure output. 9. Kept ResultsWriter independent of the physical output target - ResultsWriter generates the result payload. - UniDataStorageWriter decides how and where the payload is physically written. - The same ResultsWriter XML generation mechanism is therefore used for both XML file and MSSQL outputs. 10. Increased revision - Updated revision to 3.9.3145.100.
78 lines
3.7 KiB
C#
78 lines
3.7 KiB
C#
|
|
namespace TBF.Rig.Output.DB.ResultsWriter
|
|
{
|
|
partial class ResultsWriterResultsDlg
|
|
{
|
|
private System.ComponentModel.IContainer components = null;
|
|
|
|
protected override void Dispose(bool disposing)
|
|
{
|
|
if (disposing && (components != null))
|
|
components.Dispose();
|
|
|
|
base.Dispose(disposing);
|
|
}
|
|
|
|
private void InitializeComponent()
|
|
{
|
|
this.resultsConfigCtrl = new Results.Forms.ResultsConfigCtrl();
|
|
this.okButton = new System.Windows.Forms.Button();
|
|
this.cancelButton = new System.Windows.Forms.Button();
|
|
this.SuspendLayout();
|
|
|
|
this.resultsConfigCtrl.Anchor =
|
|
((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top |
|
|
System.Windows.Forms.AnchorStyles.Bottom) |
|
|
System.Windows.Forms.AnchorStyles.Left) |
|
|
System.Windows.Forms.AnchorStyles.Right)));
|
|
this.resultsConfigCtrl.Location = new System.Drawing.Point(3, 3);
|
|
this.resultsConfigCtrl.Name = "resultsConfigCtrl";
|
|
this.resultsConfigCtrl.Size = new System.Drawing.Size(925, 496);
|
|
this.resultsConfigCtrl.TabIndex = 0;
|
|
this.resultsConfigCtrl.Unlocked = true;
|
|
|
|
this.okButton.Anchor =
|
|
((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom |
|
|
System.Windows.Forms.AnchorStyles.Right)));
|
|
this.okButton.Location = new System.Drawing.Point(714, 512);
|
|
this.okButton.Name = "okButton";
|
|
this.okButton.Size = new System.Drawing.Size(104, 30);
|
|
this.okButton.TabIndex = 2;
|
|
this.okButton.Text = "OK";
|
|
this.okButton.UseVisualStyleBackColor = true;
|
|
this.okButton.Click +=
|
|
new System.EventHandler(this.okButton_Click);
|
|
|
|
this.cancelButton.Anchor =
|
|
((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom |
|
|
System.Windows.Forms.AnchorStyles.Right)));
|
|
this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
|
this.cancelButton.Location = new System.Drawing.Point(824, 512);
|
|
this.cancelButton.Name = "cancelButton";
|
|
this.cancelButton.Size = new System.Drawing.Size(104, 30);
|
|
this.cancelButton.TabIndex = 3;
|
|
this.cancelButton.Text = "Cancel";
|
|
this.cancelButton.UseVisualStyleBackColor = true;
|
|
|
|
this.AcceptButton = this.okButton;
|
|
this.CancelButton = this.cancelButton;
|
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
|
this.ClientSize = new System.Drawing.Size(940, 554);
|
|
this.Controls.Add(this.cancelButton);
|
|
this.Controls.Add(this.okButton);
|
|
this.Controls.Add(this.resultsConfigCtrl);
|
|
this.Name = "ResultsWriterResultsDlg";
|
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
|
this.Text = "ResultsWriter configuration";
|
|
this.Load +=
|
|
new System.EventHandler(this.ResultsWriterResultsDlg_Load);
|
|
this.ResumeLayout(false);
|
|
}
|
|
|
|
private Results.Forms.ResultsConfigCtrl resultsConfigCtrl;
|
|
private System.Windows.Forms.Button okButton;
|
|
private System.Windows.Forms.Button cancelButton;
|
|
}
|
|
}
|