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);
        }
Example #2
0
        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)));
        }
Example #3
0
        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;
 }