static async Task <ExitResult> Transfer() { using (Operation programOp = L.Begin("Azure Storage transfer operation")) { using (Operation engineOp = L.Begin("Initialising transfer engine")) { Engine = new TransferEngine(EngineOptions, CTS.Token, AppConfig, Console.Out); if (!Engine.Initialised) { return(ExitResult.TRANSFER_ENGINE_INIT_ERROR); } else { engineOp.Complete(); } } using (Operation engineOp = L.Begin("Azure Storage {op}", EngineOptions["Operation"])) { if (await Engine.Transfer()) { engineOp.Complete(); programOp.Complete(); return(ExitResult.SUCCESS); } else { return(ExitResult.TRANSFER_ERROR); } } } }
public string ReStart(string id, int index = 1, int size = 100, int count = 1000) { var work_order = db.work_order.FirstOrDefault(a => a.OrderId == id); var from = db.data_source.Find(work_order.InportSourceId); var to = db.data_source.Find(work_order.ExportSourceId); var fieldMapping = (from a in db.field_mapping join b in db.method on a.MethodId equals b.Id where a.OrderId == work_order.OrderId && a.Creator == "1" select new FieldMappingItem() { field = a.FieldIn, toField = a.FieldOut, method = (int)b.Id, methodClassName = b.TypeFillName, methodDll = b.AssemblyPath, methodName = b.MethodName, }).ToList(); if (from == null || to == null || fieldMapping.Count <= 0) { throw new CheckException("配置不完善"); } var param = new TransferParam { OrderId = work_order.OrderId, FromConnString = @from.Link, FromTable = @from.TableName, FromTypeCode = @from.TypeCode, Where = work_order.InportWhere, OrderBy = work_order.InportOrderByField, ToConnString = to.Link, ToTypeCode = to.TypeCode, ToTable = to.TableName, Index = index, Size = size, Count = count, FieldMapping = fieldMapping }; TransferEngine.Start(param); return("Ok"); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); Xamarin.Essentials.Platform.Init(this, savedInstanceState); SetContentView(Resource.Layout.ActivityTabbed); Navigation = FindViewById <BottomNavigationView>(Resource.Id.navigation); Navigation.SetOnNavigationItemSelectedListener(this); FManager = FragmentManager; M_SERVICE = this; OnNavigationItemSelected(Navigation.Menu.GetItem(0)); mTransferEngine = Nearby.GetTransferEngine(this); mWifiShareEngine = Nearby.GetWifiShareEngine(this); mDiscoveryEngine = Nearby.GetDiscoveryEngine(this); Adapter = new ExpandableAdapter(this, AvaliableDevicesList); RequestPermissions(); }
public ITranslationEngine Create(string engineId) { string engineDir = Path.Combine(_engineOptions.Value.EnginesDir, engineId); string hcSrcConfigFileName = Path.Combine(engineDir, "src-hc.xml"); string hcTrgConfigFileName = Path.Combine(engineDir, "trg-hc.xml"); TransferEngine transferEngine = null; if (File.Exists(hcSrcConfigFileName) && File.Exists(hcTrgConfigFileName)) { var hcTraceManager = new TraceManager(); Language srcLang = XmlLanguageLoader.Load(hcSrcConfigFileName); var srcMorpher = new Morpher(hcTraceManager, srcLang); Language trgLang = XmlLanguageLoader.Load(hcTrgConfigFileName); var trgMorpher = new Morpher(hcTraceManager, trgLang); transferEngine = new TransferEngine(srcMorpher, new SimpleTransferer(new GlossMorphemeMapper(trgMorpher)), trgMorpher); } return(transferEngine); }
public ITranslationEngine Create(Engine engine) { string hcSrcConfigFileName = Path.Combine(engine.ConfigDirectory, "src-hc.xml"); string hcTrgConfigFileName = Path.Combine(engine.ConfigDirectory, "trg-hc.xml"); TransferEngine transferEngine = null; if (File.Exists(hcSrcConfigFileName) && File.Exists(hcTrgConfigFileName)) { var spanFactory = new ShapeSpanFactory(); var hcTraceManager = new TraceManager(); Language srcLang = XmlLanguageLoader.Load(hcSrcConfigFileName); var srcMorpher = new Morpher(spanFactory, hcTraceManager, srcLang); Language trgLang = XmlLanguageLoader.Load(hcTrgConfigFileName); var trgMorpher = new Morpher(spanFactory, hcTraceManager, trgLang); transferEngine = new TransferEngine(srcMorpher, new SimpleTransferer(new GlossMorphemeMapper(trgMorpher)), trgMorpher); } return(transferEngine); }
private bool LoadProject(string fileName) { XElement projectElem; try { projectElem = XElement.Load(fileName); } catch (Exception) { return(false); } XElement engineElem = projectElem.Element("TranslationEngine"); if (engineElem == null) { return(false); } var smtConfig = (string)engineElem.Element("SmtConfig"); if (smtConfig == null) { return(false); } var hcSrcConfig = (string)engineElem.Element("SourceAnalyzerConfig"); var hcTrgConfig = (string)engineElem.Element("TargetGeneratorConfig"); string configDir = Path.GetDirectoryName(fileName); Debug.Assert(configDir != null); ITranslationEngine transferEngine = null; if (hcSrcConfig != null && hcTrgConfig != null) { Language srcLang = XmlLanguageLoader.Load(Path.Combine(configDir, hcSrcConfig)); var srcMorpher = new Morpher(_hcTraceManager, srcLang); Language trgLang = XmlLanguageLoader.Load(Path.Combine(configDir, hcTrgConfig)); var trgMorpher = new Morpher(_hcTraceManager, trgLang); transferEngine = new TransferEngine(srcMorpher, new SimpleTransferer(new GlossMorphemeMapper(trgMorpher)), trgMorpher); } _smtModel = new ThotSmtModel(Path.Combine(configDir, smtConfig)); IInteractiveSmtEngine smtEngine = _smtModel.CreateInteractiveEngine(); _hybridEngine = new HybridTranslationEngine(smtEngine, transferEngine); var sourceTexts = new List <IText>(); var targetTexts = new List <IText>(); var alignmentCollections = new List <ITextAlignmentCollection>(); using (_texts.BulkUpdate()) { foreach (XElement textElem in projectElem.Elements("Texts").Elements("Text")) { var name = (string)textElem.Attribute("name"); var metadataFileName = (string)textElem.Element("MetadataFile"); if (metadataFileName == null) { return(false); } metadataFileName = Path.Combine(configDir, metadataFileName); var srcTextFileName = (string)textElem.Element("SourceFile"); if (srcTextFileName == null) { return(false); } srcTextFileName = Path.Combine(configDir, srcTextFileName); var trgTextFileName = (string)textElem.Element("TargetFile"); if (trgTextFileName == null) { return(false); } trgTextFileName = Path.Combine(configDir, trgTextFileName); var alignmentsFileName = (string)textElem.Element("AlignmentsFile"); if (alignmentsFileName != null) { alignmentsFileName = Path.Combine(configDir, alignmentsFileName); } var text = new TextViewModel(_tokenizer, name, metadataFileName, srcTextFileName, trgTextFileName, alignmentsFileName) { Engine = _hybridEngine }; text.PropertyChanged += TextPropertyChanged; _texts.Add(text); Func <TextSegment, bool> segmentFilter = s => text.IsApproved((TextSegmentRef)s.SegmentRef); sourceTexts.Add(new FilteredText(new TextFileText(_tokenizer, name, srcTextFileName), segmentFilter)); targetTexts.Add(new FilteredText(new TextFileText(_tokenizer, name, trgTextFileName), segmentFilter)); if (alignmentsFileName != null) { alignmentCollections.Add(new TextFileTextAlignmentCollection(name, alignmentsFileName)); } } } if (_texts.Count == 0) { return(false); } _sourceCorpus = new DictionaryTextCorpus(sourceTexts); _targetCorpus = new DictionaryTextCorpus(targetTexts); _alignmentCorpus = new DictionaryTextAlignmentCorpus(alignmentCollections); CurrentText = _texts[0]; AcceptChanges(); RebuildTask.UpdateCanExecute(); return(true); }
public IHttpActionResult Postwork_order(work_order work_order) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (!db.field_mapping.Any(a => a.OrderId == work_order.OrderId && a.State == 0)) { throw new Exception("请配置字段映射关系"); } var runState = 1; if (db.work_order.Any(a => a.InportSourceId == work_order.InportSourceId && a.ExportSourceId == work_order.ExportSourceId && a.State == runState)) { throw new Exception("已存在正在运行的迁移策略."); } if (work_order.StartTime == default(DateTime)) { work_order.StartTime = DateTime.Now; } if (work_order.PageIndex <= 0) { work_order.PageIndex = 1; } work_order.CreateTime = DateTime.Now; work_order.UserId = 1; work_order.Creator = "1"; work_order.EndTime = DateTime.Now; work_order.InportWhere = work_order.InportWhere ?? string.Empty; work_order.Remake = work_order.Remake ?? string.Empty; work_order.InportOrderByField = work_order.InportOrderByField ?? string.Empty; work_order.Modifier = "1"; work_order.ModifyTime = DateTime.Now; work_order.Exception = string.Empty; db.work_order.Add(work_order); db.SaveChanges(); var from = db.data_source.Find(work_order.InportSourceId); var to = db.data_source.Find(work_order.ExportSourceId); var fieldMapping = (from a in db.field_mapping join b in db.method on a.MethodId equals b.Id where a.OrderId == work_order.OrderId && a.Creator == "1" select new FieldMappingItem() { field = a.FieldIn, toField = a.FieldOut, method = (int)b.Id, methodClassName = b.TypeFillName, methodDll = b.AssemblyPath, methodName = b.MethodName, }).ToList(); if (from == null || to == null || fieldMapping.Count <= 0) { throw new CheckException("配置不完善"); } var param = new TransferParam { OrderId = work_order.OrderId, FromConnString = @from.Link, FromTable = @from.TableName, FromTypeCode = @from.TypeCode, Where = work_order.InportWhere, OrderBy = work_order.InportOrderByField, ToConnString = to.Link, ToTypeCode = to.TypeCode, ToTable = to.TableName, Size = work_order.PageSize, Count = (int)work_order.DataCount, FieldMapping = fieldMapping }; TransferEngine.Start(param); return(CreatedAtRoute("DefaultApi", new { id = work_order.Id }, work_order)); }