예제 #1
0
        static void Main(string[] args)
        {
            Logger.Init(Assembly.GetExecutingAssembly());

            if (args.Length < 1)
            {
                Logger.LogUserMessage("Usage: DsmSuite.Transformer <settingsfile>");
            }
            else
            {
                FileInfo settingsFileInfo = new FileInfo(args[0]);
                if (!settingsFileInfo.Exists)
                {
                    TransformerSettings.WriteToFile(settingsFileInfo.FullName, TransformerSettings.CreateDefault());
                    Logger.LogUserMessage("Settings file does not exist. Default one created");
                }
                else
                {
                    TransformerSettings transformerSettings = TransformerSettings.ReadFromFile(settingsFileInfo.FullName);
                    Logger.LoggingEnabled = transformerSettings.LoggingEnabled;

                    ConsoleAction action = new ConsoleAction(transformerSettings);
                    action.Execute();
                }
            }
        }
예제 #2
0
        public static IDocumentTransformer BuildTransformer(
            TransformerSettings settings,
            IDocumentTransformerFactoryBuilder transformerFactory)
        {
            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }
            if (transformerFactory == null)
            {
                throw new ArgumentNullException(nameof(transformerFactory));
            }

            var factory = settings.BuildFactory();

            if (factory is IRowTransformerFactory <ICellContentTransformer> fact)
            {
                return(transformerFactory.BuildCellContentTransformerFactory(fact));
            }
            if (factory is IRowTransformerFactory <IStructureTransformer> fact2)
            {
                return(transformerFactory.BuildStructureTransformerFactory(fact2));
            }
            if (factory is IDocumentTransformerFactory <Filtering.IRowMatchEvaluator> fact3)
            {
                return(transformerFactory.BuildRowFiltererFactory(fact3));
            }

            throw new NotSupportedException($"Type: {settings.GetType().FullName}");
        }
예제 #3
0
 public ConsoleAction(TransformerSettings transformerSettings) : base("Transforming model")
 {
     _transformerSettings = transformerSettings;
 }
예제 #4
0
 public Transformer(IDsiModel model, TransformerSettings transformerSettings, IProgress <ProgressInfo> progress)
 {
     _model = model;
     _transformerSettings = transformerSettings;
     _progress            = progress;
 }