internal static void Serialize(this IMicroPipelineComponent component, XmlWriter writer) { var overrides = new XmlAttributeOverrides(); overrides.Add(component.GetType(), new XmlAttributes { XmlRoot = new XmlRootAttribute("mComponent") }); var serializer = Stateless.Xml.Serialization.XmlSerializerFactory.Create(component.GetType(), overrides); var microPipelineComponentDedicatedXmlWriter = new MicroPipelineComponentDedicatedXmlWriter(writer, component); // http://stackoverflow.com/questions/625927/omitting-all-xsi-and-xsd-namespaces-when-serializing-an-object-in-net var ns = new XmlSerializerNamespaces(); ns.Add(string.Empty, string.Empty); serializer.Serialize(microPipelineComponentDedicatedXmlWriter, component, ns); }
public void SaveConfiguration() { var microPipelineComponents = new IMicroPipelineComponent[] { new MicroPipelineComponentDummyOne(), new MicroPipelineComponentDummyTwo() }; var propertyBag = new PropertyBag(); var sut = new MicroPipelineComponent { Components = microPipelineComponents }; sut.Save(propertyBag, true, true); Assert.That(propertyBag.Read("Components"), Is.EqualTo(MicroPipelineComponentEnumerableConverter.Serialize(microPipelineComponents))); }
public void LoadConfiguration() { var microPipelineComponents = new IMicroPipelineComponent[] { new MicroPipelineComponentDummyOne(), new MicroPipelineComponentDummyTwo() }; var propertyBag = new PropertyBag(); propertyBag.Add("Enabled", true); propertyBag.Add("Components", MicroPipelineComponentEnumerableConverter.Serialize(microPipelineComponents)); var sut = new MicroPipelineComponent(); sut.Load(propertyBag, 0); Assert.That(sut.Components, Is.EqualTo(microPipelineComponents)); }
public MicroPipelineComponentDedicatedXmlWriter(XmlWriter writer, IMicroPipelineComponent component) : base(writer) { _component = component; }