예제 #1
0
        public void Extract(SourceFileItem item, DefaultMultiTaskReporter asyn)
        {
            if (Context == null)
            {
                return;
            }
            Context.UnsafeSource = item;
            DataPumpControllableExecutionContext contextEx = Context as DataPumpControllableExecutionContext;

            if (contextEx != null)
            {
                contextEx.Reporter = asyn;
            }
            DataPump.Execute(Context);
        }
예제 #2
0
 public void Init(Pump pump, IEnumerable <ExtractItem> extractItems, String rootSavePath, DefaultMultiTaskReporter asyn)
 {
     DataPump = pump.GetDataPump();
     Context  = DataPump.CreateContext(pump, rootSavePath, null, null, asyn);
 }
예제 #3
0
        /// <summary>
        /// 创建执行上下文。
        /// </summary>
        /// <param name="dataPump">数据泵。</param>
        /// <param name="metaData">元数据。</param>
        /// <param name="rootSavePath">保存路径。</param>
        /// <param name="source">数据源。</param>
        /// <param name="extractItems">提取项列表。</param>
        /// <param name="asyn">异步通知器。</param>
        /// <returns>执行上下文。</returns>
        internal static DataPumpExecutionContext CreateContext(this DataPumpBase dataPump, Pump metaData, String rootSavePath, SourceFileItem source, IEnumerable <ExtractItem> extractItems, DefaultMultiTaskReporter asyn = null)
        {
            DataPumpExecutionContext context = dataPump.CreateContext(source);

            context.ExtractItems = extractItems;
            DataPumpControllableExecutionContext contextEx = context as DataPumpControllableExecutionContext;

            if (contextEx != null)
            {
                contextEx.Reporter = asyn;
            }
            return(contextEx);
        }