private static void Compare(ProducerAssociationConfiguration source, ProducerAssociationConfiguration mirror) { Assert.IsNotNull(source); Assert.IsNotNull(mirror); Assert.AreEqual <string>(source.AssociationName, mirror.AssociationName); Assert.AreEqual <UInt32>(source.DataSetWriterId, mirror.DataSetWriterId); Assert.AreEqual <Guid>(source.PublisherId, mirror.PublisherId); }
protected internal override void AddMessageHandler(IMessageHandler messageHandler, AssociationConfiguration configuration) { base.AddMessageHandler(messageHandler, configuration); ProducerAssociationConfiguration _configuration = (ProducerAssociationConfiguration)configuration; m_Encoding = _configuration.FieldEncoding; AddMessageWriter(messageHandler as IMessageWriter); }
/// <summary> /// Adds the data set configuration. /// </summary> /// <param name="newDataSetConfiguration">The new data set configuration.</param> /// <param name="inFileName">Name of the in file.</param> /// <param name="outFileName">Name of the out file.</param> /// <param name="writerId">The writer identifier.</param> /// <param name="traceSource">The trace source.</param> public static void AddDataSetConfiguration(this DataSetConfiguration newDataSetConfiguration, Tuple <string, ushort, Guid> writerId, string inFileName, string outFileName, ITraceSource traceSource) { traceSource.TraceData(TraceEventType.Verbose, 53, $"Entering {nameof(AddDataSetConfiguration)} method."); //open source configuration UANetworkingConfiguration <ConfigurationData> _newConfiguration = new UANetworkingConfiguration <ConfigurationData>(); FileInfo _file2ReadConfiguration = new FileInfo(inFileName); _newConfiguration.ReadConfiguration(_file2ReadConfiguration); traceSource.TraceData(TraceEventType.Verbose, 53, $"I have read the configuration form the file {_file2ReadConfiguration.FullName}."); _newConfiguration.TraceSource = traceSource; ConfigurationData _currentConfiguration = _newConfiguration.CurrentConfiguration; // ddd new DataSetConfiguration List <DataSetConfiguration> _dataSets = _currentConfiguration.DataSets.ToList <DataSetConfiguration>(); traceSource.TraceData(TraceEventType.Verbose, 53, $"Configuration contains {_dataSets.Count} item of type {nameof(DataSetConfiguration)}."); _dataSets.Add(newDataSetConfiguration); _currentConfiguration.DataSets = _dataSets.ToArray <DataSetConfiguration>(); traceSource.TraceData(TraceEventType.Verbose, 53, $"New {nameof(DataSetConfiguration)} has been added to the copnfiguration."); // add new association for this DataSet in selected MessageWriterConfiguration ProducerAssociationConfiguration _newAssociation = new ProducerAssociationConfiguration() { AssociationName = newDataSetConfiguration.AssociationName, DataSetWriterId = writerId.Item2, FieldEncoding = FieldEncodingEnum.VariantFieldEncoding, PublisherId = writerId.Item3 }; MessageWriterConfiguration _selectedWriterConfiguration = _currentConfiguration.MessageHandlers .Where <MessageHandlerConfiguration>(_hn => (_hn.Name == writerId.Item1) && (_hn is MessageWriterConfiguration)) .Cast <MessageWriterConfiguration>() .First <MessageWriterConfiguration>(); List <ProducerAssociationConfiguration> _associationsInWriterConfiguration = _selectedWriterConfiguration.ProducerAssociationConfigurations.ToList <ProducerAssociationConfiguration>(); _associationsInWriterConfiguration.Add(_newAssociation); _selectedWriterConfiguration.ProducerAssociationConfigurations = _associationsInWriterConfiguration.ToArray(); traceSource.TraceData(TraceEventType.Verbose, 53, $"New {nameof (ProducerAssociationConfiguration)} has been added to the {nameof(MessageWriterConfiguration)}[{writerId.Item1}]."); //save the output file FileInfo _file2SaveConfiguration = new FileInfo(outFileName); _newConfiguration.SaveConfiguration(_file2SaveConfiguration); traceSource.TraceData(TraceEventType.Verbose, 53, $"Configuration has been saved to the file {_file2SaveConfiguration.FullName}."); }