Ejemplo n.º 1
0
        /// <summary>
        /// Configure the transformer.
        /// </summary>
        /// <param name="config">The configuration to use.</param>
        /// <param name="handler">The handler to invoke once the data has been transformed.</param>
        public virtual void Configure(TransformerConfiguration config, ITransformedDataHandler handler)
        {
            _config  = config;
            _mappers = new List <IMapper>();
            _data    = new List <object>();

            foreach (var mapperConfig in _config.Mappers)
            {
                var mapper = CollectorFactory.CreateMapper(mapperConfig);
                if (mapper == null)
                {
                    throw new NullReferenceException("Unable to create Mapper.  Invalid Mapper defined.");
                }

                _mappers.Add(mapper);
            }
            _handler = handler;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Create a Transformer.
        /// </summary>
        /// <param name="type">The name of the class to create.</param>
        /// <param name="id">The id of the transformer.</param>
        /// <param name="publishers">The publishers to use to publish the JSON data to a repository.</param>
        /// <param name="mappers">The mappers to use to transform/map the data.</param>
        /// <returns>A new handler.</returns>
        public static ITransformer CreateTransformer(TransformerConfiguration config, ITransformedDataHandler handler)
        {
            var mappers = new List <IMapper>();

            foreach (var mapperConfig in config.Mappers)
            {
                var mapper = CollectorFactory.CreateMapper(mapperConfig);
                if (mapper == null)
                {
                    throw new NullReferenceException("Unable to create Collector.  Invalid Mapper defined.");
                }

                mappers.Add(mapper);
            }
            var transformer = ComponentRegistration.CreateInstance <ITransformer>(config.Type);

            transformer.Configure(config, handler);
            return(transformer);
        }