/// <summary> /// 设置选中的Part,加载其属性 /// </summary> /// <param name="element"></param> public void SetSelectPartAsCurrent(UIElement element) { var node = Part.FindAncestor <Node>(element); if (node != null) { var data = node.Data as ActivityNode; //将当前元素设为选择元素 node.Diagram.SelectedPart = node; //属性设计器加载当前元素属性 WebMethod.LoadProperty(WorkflowUtils.CLIENTSCRIPT_PARAM_ACTIVITY, node.Diagram.Tag.ToString(), WorkflowUtils.ExtractActivityInfoJson(data)); return; } var link = Part.FindAncestor <Link>(element); if (link != null) { var data = link.Data as ActivityLink; link.Diagram.SelectedPart = link; WebMethod.LoadProperty(WorkflowUtils.CLIENTSCRIPT_PARAM_TRANSITION, link.Diagram.Tag.ToString(), WorkflowUtils.ExtractTransitionInfoJson(data)); } }
protected override bool DoAcceptText() { //先保留一个编辑元素的对象引用 var part = this.AdornedPart.Data; //完成text编辑 bool result = base.DoAcceptText(); //将编辑后的元素更新到property grid控件 var node = part as ActivityNode; if (node != null) { _webMethod.UpdateProcess(WorkflowUtils.CLIENTSCRIPT_PARAM_ACTIVITY, this.Diagram.Tag.ToString(), node.Key, WorkflowUtils.ExtractActivityInfoJson(node)); return(result); } var link = part as ActivityLink; if (link != null) { _webMethod.UpdateProcess(WorkflowUtils.CLIENTSCRIPT_PARAM_TRANSITION, this.Diagram.Tag.ToString(), link.Key, WorkflowUtils.ExtractTransitionInfoJson(link)); } return(result); }
private void mainDiagram_MouseRightButtonUp(object sender, MouseButtonEventArgs e) { if (string.Compare(this.mainDiagram.Tag.ToString(), WorkflowUtils.CurrentKey) != 0) { this.WebMethod.LoadProperty(WorkflowUtils.CLIENTSCRIPT_PARAM_WORKFLOW, this.mainDiagram.Tag.ToString(), WorkflowUtils.ExtractWorkflowInfoJson(this.mainDiagram)); } }
/// <summary> /// Tab关闭时触发 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Item_RequestClose(object sender, EventArgs e) { DiagramPageViewModel item = sender as DiagramPageViewModel; DiagramDataSource.Remove(item); this.WebInterAct.DeleteProcess(WorkflowUtils.CLIENTSCRIPT_PARAM_WORKFLOW, item.Key, WorkflowUtils.ExtractWorkflowInfoJson(item)); }
static void Main(string[] args) { // The following code allows a client to use a non-fully qualified name and resolves https issues such as: // System.Net.WebException: The underlying connection was closed: Could not establish trust // relationship for the SSL/TLS secure channel // NOT for production, only for limited local development. //System.Net.ServicePointManager.ServerCertificateValidationCallback += delegate (object sender, // System.Security.Cryptography.X509Certificates.X509Certificate certificate, // System.Security.Cryptography.X509Certificates.X509Chain chain, // System.Net.Security.SslPolicyErrors sslPolicyErrors) //{ // return true; //}; Console.Write("Setting up scope..."); WorkflowManagementClient client = WorkflowUtils.CreateForSample(baseAddress, "WFMgrGettingStarted"); WorkflowUtils.PrintDone(); Console.Write("Publishing GetProducts activity..."); client.PublishActivity("GetProducts", @"..\..\..\GetProductsActivities\GetProducts.xaml"); WorkflowUtils.PrintDone(); Console.Write("Publishing Workflow..."); client.PublishWorkflow(workflowName, @"..\..\..\GetProductsActivities\GetProductsWorkflow.xaml"); WorkflowUtils.PrintDone(); Console.Write("Enter a search keyword: "); string SearchKeyword = Console.ReadLine(); Console.Write("Starting workflow instance..."); WorkflowStartParameters startParameters = new WorkflowStartParameters(); startParameters.Content.Add("SearchKeyword", SearchKeyword); string instanceId = client.Workflows.Start(workflowName, startParameters); WorkflowUtils.PrintDone(); Console.WriteLine("\nPolling UserStatus...\n"); string finalUserStatus = client.WaitForWorkflowCompletion(workflowName, instanceId); WorkflowUtils.Print("Completed with status: " + finalUserStatus, ConsoleColor.Green); Console.WriteLine("Press any key to clean up scope."); Console.ReadKey(); client.CleanUp(); Console.WriteLine("Press any key to exit."); Console.ReadKey(); }
private void AddNewCommandExecuted(WorkflowInfo info) { if (info == null) { throw new ArgumentNullException("WorkflowInfo不能为空"); } WorkflowUtils.ProcessDatetime(info); DiagramPageViewModel vw = new DiagramPageViewModel(info); vw.RequestClose += this.Item_RequestClose; this.DiagramDataSource.Add(vw); this.OnPropertyChanged("DiagramDataSource"); }
static void Main(string[] args) { // Check test settings - you can deploy to the test host to attach visual studio to it. bool test = false; Console.WriteLine("Press t to deploy to test host"); test = Console.ReadLine().ToLower() == "t"; string baseAddress = string.Format("https://{0}:12290/", machineName); if (test) { baseAddress = string.Format("http://{0}:12292/", machineName); } // Create scope Console.Write("Setting up scope..."); WorkflowManagementClient client = WorkflowUtils.CreateForSample(baseAddress, scopeName); WorkflowUtils.PrintDone(); // Deploy all activities Console.Write("Publishing Phone activities..."); client.PublishActivity("ReceiveCallerInput", @"..\..\..\PhoneMenuWorkflows\ReceiveCallerInput.xaml"); client.PublishActivity("RetrieveUserFlights", @"..\..\..\PhoneMenuWorkflows\RetrieveUserFlights.xaml"); client.PublishActivity("SetNextOptions", @"..\..\..\PhoneMenuWorkflows\SetNextOptions.xaml"); client.PublishActivity("SayGoodbye", @"..\..\..\PhoneMenuWorkflows\SayGoodbye.xaml"); WorkflowUtils.PrintDone(); // Deploy actual workflow, by specifying the external variables Console.Write("Publishing Workflow..."); Collection <ExternalVariable> externalVariables = new Collection <ExternalVariable> { new ExternalVariable <string> { Name = "UserOptions", Default = "", Modifiers = VariableModifiers.Mapped }, new ExternalVariable <string> { Name = "PhoneNr", Default = "", Modifiers = VariableModifiers.Mapped }, new ExternalVariable <string> { Name = "GoodbyeStatement", Default = "", Modifiers = VariableModifiers.Mapped } }; client.PublishWorkflow(workflowName, @"..\..\..\PhoneMenuWorkflows\FlightMenuStateMachine.xaml", externalVariables); WorkflowUtils.PrintDone(); }
private void AddNewCommandExecuted(WorkflowInfo info) { if (info == null) { throw new ArgumentNullException("WorkflowInfo不能为空"); } DiagramPageViewModel vw = new DiagramPageViewModel(info, WebInterAct); vw.RequestClose += this.Item_RequestClose; this.DiagramDataSource.Add(vw); WebInterAct.LoadProperty(WorkflowUtils.CLIENTSCRIPT_PARAM_WORKFLOW, vw.Key, WorkflowUtils.ExtractWorkflowInfoJson(vw)); }
protected override void OnLinkAdded(Link link) { bool selfLink = false; if (link.FromNode == link.ToNode) { selfLink = true; link.Route.FromSpot = Spot.MiddleLeft; link.Route.ToSpot = Spot.MiddleTop; } base.OnLinkAdded(link); var data = link.Data as ActivityLink; if (data == null) { return; } if (IsOverviewDiagram(link)) { return; } if (string.IsNullOrEmpty(data.Key)) { data.Key = CreateTransitionKey(); data.WfEnabled = true; } var nodeData = link.ToNode.Data as ActivityNode; if (selfLink || nodeData.Category == ActivityType.Initial.ToString()) { data.WfReturnLine = true; } _webMethod.LoadProperty(WorkflowUtils.CLIENTSCRIPT_PARAM_TRANSITION, link.Diagram.Tag.ToString(), WorkflowUtils.ExtractTransitionInfoJson(data)); string strKey = string.Format("{0}@{1}", link.Diagram.Tag.ToString(), data.Key); WorkflowUtils.CurrentKey = strKey; }
public override void DoDeactivate() { base.DoDeactivate(); var link = this.Diagram.SelectedLink; ActivityLink linkData = (ActivityLink)link.Data; linkData.WfReturnLine = false; if (linkData.From == linkData.To || linkData.To == "N0") { linkData.WfReturnLine = true; } DiagramUtils.WebInterAct.LoadProperty(WorkflowUtils.CLIENTSCRIPT_PARAM_TRANSITION, this.Diagram.Tag.ToString(), WorkflowUtils.ExtractTransitionInfoJson(linkData)); }
public /*protected*/ override object ProcessData(IDataProducer sender, object data) { try { DocumentCorpus corpus = (DocumentCorpus)data; DocumentCorpus filteredCorpus = new DocumentCorpus(); DocumentCorpus dumpCorpus = new DocumentCorpus(); filteredCorpus.CopyFeaturesFrom(corpus); dumpCorpus.CopyFeaturesFrom(corpus); ArrayList <Document> dumpDocumentList = new ArrayList <Document>(); foreach (Document document in corpus.Documents) { try { if (OnFilterDocument != null) { if (!OnFilterDocument(document, mLogger)) { dumpDocumentList.Add(document); } } } catch (Exception exception) { mLogger.Error("ProcessDocument", exception); } } foreach (Document doc in dumpDocumentList) { corpus.Remove(doc); dumpCorpus.AddDocument(doc); } if (dumpCorpus.Documents.Count > 0) { WorkflowUtils.DispatchData(this, dumpCorpus, mCloneDumpOnFork, mDumpDispatchPolicy, mDumpDataConsumers, mLogger); } return(corpus.Documents.Count > 0 ? corpus : null); } catch (Exception exception) { mLogger.Error("ProcessData", exception); return(data); } }
public void Load(string siteId, string dbConnectionString) { if (mHistorySize > 0) { using (SqlConnection connection = new SqlConnection(dbConnectionString)) { connection.Open(); DataTable table = new DataTable(); if (siteId == null) { using (SqlCommand cmd = new SqlCommand(string.Format("SELECT TOP {0} hash FROM Documents WHERE siteId IS NULL ORDER BY time DESC", mHistorySize), connection)) { cmd.CommandTimeout = 0; using (SqlDataReader reader = cmd.ExecuteReader()) { table.Load(reader); } } } else { using (SqlCommand cmd = new SqlCommand(string.Format("SELECT TOP {0} hash FROM Documents WHERE siteId = @siteId ORDER BY time DESC", mHistorySize), connection)) { cmd.CommandTimeout = 0; WorkflowUtils.AssignParamsToCommand(cmd, "siteId", Utils.Truncate(siteId, 400)); using (SqlDataReader reader = cmd.ExecuteReader()) { table.Load(reader); } } } mHistory.First.Clear(); mHistory.Second.Clear(); for (int i = table.Rows.Count - 1; i >= 0; i--) { DataRow row = table.Rows[i]; Guid itemId = (Guid)row["hash"]; mHistory.First.Add(itemId); mHistory.Second.Enqueue(itemId); } } } }
public override void DoMouseDown() { if (this.Active) { new WebInterAction().LoadProperty(WorkflowUtils.CLIENTSCRIPT_PARAM_WORKFLOW, this.Diagram.Tag.ToString(), WorkflowUtils.ExtractWorkflowInfoJson(this.Diagram)); var form = this.Diagram.PartsModel.FindNodeByKey("menuNode"); if (form == null) { return; } form.Visible = false; } // all done! StopTool(); }
private void Link_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { e.Handled = true; Northwoods.GoXam.PartManager.PartBinding currentBinding = (Northwoods.GoXam.PartManager.PartBinding)((sender as FrameworkElement).DataContext); ActivityLink linkData = currentBinding.Data as ActivityLink; if (linkData == null) { return; } string strKey = string.Format("{0}@{1}", this.mainDiagram.Tag.ToString(), linkData.Key); if (string.Compare(strKey, WorkflowUtils.CurrentKey) != 0) { this.WebMethod.LoadProperty(WorkflowUtils.CLIENTSCRIPT_PARAM_TRANSITION, this.mainDiagram.Tag.ToString(), WorkflowUtils.ExtractTransitionInfoJson(linkData)); WorkflowUtils.CurrentKey = strKey; } }
////初始化过程中也会执行!!! protected override void OnNodeAdded(Node node) { base.OnNodeAdded(node); ActivityNode data = node.Data as ActivityNode; if (data == null) { return; } if (IsOverviewDiagram(node)) { return; } if (data.IsDynamic == false) { ActivityType nodeType = (ActivityType)Enum.Parse(typeof(ActivityType), data.Category, false); if (!IsValidKey(data.Key, nodeType, node.Diagram)) { data.Key = CreateActivityKey(); } } else { if (!IsValidKey(data.Key, ActivityType.Normal, node.Diagram)) { data.Key = CreateActivityKey(); } data.IsDynamic = true; } _webMethod.LoadProperty(WorkflowUtils.CLIENTSCRIPT_PARAM_ACTIVITY, node.Diagram.Tag.ToString(), WorkflowUtils.ExtractActivityInfoJson(data)); }
private void ContextMenu_Opened(object sender, RoutedEventArgs e) { //var position = this.mainDiagram.LastMousePointInModel; //ContextMenuService.GetContextMenu(sender as FrameworkElement); //(sender as Shared.Silverlight.Controls.ContextMenu).OpenPopup(position); Northwoods.GoXam.PartManager.PartBinding currentBinding = (Northwoods.GoXam.PartManager.PartBinding)((sender as FrameworkElement).DataContext); ActivityNode nodeData = currentBinding.Data as ActivityNode; if (nodeData == null) { return; } string strKey = string.Format("{0}@{1}", this.mainDiagram.Tag.ToString(), nodeData.Key); if (string.Compare(strKey, WorkflowUtils.CurrentKey) != 0) { HtmlPage.Window.Invoke("LoadProperty", WorkflowUtils.CLIENTSCRIPT_PARAM_ACTIVITY, this.mainDiagram.Tag.ToString(), WorkflowUtils.ExtractActivityInfoJson(nodeData)); WorkflowUtils.CurrentKey = strKey; } }
/// <summary> /// プレビューコンテント更新要求 /// </summary> /// <param name="param"></param> /// <returns></returns> async Task OnACT_REQINVALIDATE_PREVIEW(object param) { this.mLogger.Debug("IN - {@Param}", param); var memCache = mContainer.GetInstance <IMemoryCache> (); var intentManager = mContainer.GetInstance <IIntentManager> (); ReqInvalidatePreviewParameter paramObject = new ReqInvalidatePreviewParameter(); JsonConvert.PopulateObject(param.ToString(), paramObject); long?currentPreviewContentId = null; //< プレビューの表示を行うコンテントID try { switch (paramObject.Operation) { case "NavigationPosition": { ContentListParam objContentList; if (memCache.TryGetValue("ContentList", out objContentList)) { mCurrentPreviewContentListPosition = paramObject.Position; WorkflowUtils.ExecuteInvalidatePreviewInfo(intentManager, memCache, objContentList.ContentList.Length, mCurrentPreviewContentListPosition); // コンテント一覧の項目位置(ReqInvalidatePreviewParameter.Position)にあるコンテント情報を読み込む var content = objContentList.ContentList[mCurrentPreviewContentListPosition]; currentPreviewContentId = content.Id; intentManager.AddIntent(ServiceType.Server, "ContentPreview", new ContentPreviewHandler.HandlerParameter { ContentId = content.Id }); } else { throw new ApplicationException("キャッシュからコンテント一覧を取得できませんでした。"); } } break; case "NavigationNext": { ContentListParam objContentList; if (memCache.TryGetValue("ContentList", out objContentList)) { if (objContentList.ContentList.Length > mCurrentPreviewContentListPosition + 1) { mCurrentPreviewContentListPosition = mCurrentPreviewContentListPosition + 1; WorkflowUtils.ExecuteInvalidatePreviewInfo(intentManager, memCache, objContentList.ContentList.Length, mCurrentPreviewContentListPosition); var content = objContentList.ContentList[mCurrentPreviewContentListPosition]; this.mLogger.Debug($"現在位置の次のコンテントを読み込みます({@content.Id})"); currentPreviewContentId = content.Id; intentManager.AddIntent(ServiceType.Server, "ContentPreview", new ContentPreviewHandler.HandlerParameter { ContentId = content.Id }); } } else { throw new ApplicationException("キャッシュからコンテント一覧を取得できませんでした。"); } } break; case "NavigationPrev": this.mLogger.Debug("Operation={@OperationName}", paramObject.Operation); { ContentListParam objContentList; if (memCache.TryGetValue("ContentList", out objContentList)) { if (mCurrentPreviewContentListPosition > 0) { mCurrentPreviewContentListPosition = mCurrentPreviewContentListPosition - 1; WorkflowUtils.ExecuteInvalidatePreviewInfo(intentManager, memCache, objContentList.ContentList.Length, mCurrentPreviewContentListPosition); var content = objContentList.ContentList[mCurrentPreviewContentListPosition]; this.mLogger.Debug($"現在位置の前のコンテントを読み込みます({@content.Id})"); currentPreviewContentId = content.Id; intentManager.AddIntent(ServiceType.Server, "ContentPreview", new ContentPreviewHandler.HandlerParameter { ContentId = content.Id }); } } else { throw new ApplicationException("キャッシュからコンテント一覧を取得できませんでした。"); } } break; case "Content": // TODO: 未実装 default: this.mLogger.Warn("処理できないオペレーション名({@Operation})です", paramObject.Operation); break; } if (currentPreviewContentId.HasValue) { // コンテント情報の更新 intentManager.AddIntent(ServiceType.Server, "ContentOperationExecution", new ContentOperationExecutionHandler.HandlerParameter( new ContentOperationExecutionHandler.HandlerParameter.Operation[] { new ContentOperationExecutionHandler.HandlerParameter.Operation { OperationName = "Read" } }) { ContentId = currentPreviewContentId.Value }); } } catch (Exception expr) { this.mLogger.Error(expr); } this.mLogger.Debug("OUT"); }
private void Process_MouseButton(object sender, MouseButtonEventArgs e) { //e.Handled = true; if (string.Compare(this.mainDiagram.Tag.ToString(), WorkflowUtils.CurrentKey) != 0) { HtmlPage.Window.Invoke("LoadProperty", WorkflowUtils.CLIENTSCRIPT_PARAM_WORKFLOW, this.mainDiagram.Tag.ToString(), WorkflowUtils.ExtractWorkflowInfoJson(this.mainDiagram)); WorkflowUtils.CurrentKey = this.mainDiagram.Tag.ToString(); } }
private static bool CompareSessionOptions(CimConnectionManager.SessionEntry sessionEntry, CimSessionOptions options2, PSCredential credential2, string certificateThumbprint, AuthenticationMechanism authenticationMechanism, bool useSsl, uint port, PSSessionOption pssessionOption) { TimeSpan timeout = sessionEntry.SessionOptions.Timeout; if (timeout.Equals(options2.Timeout)) { if (string.Equals(sessionEntry.SessionOptions.Culture.ToString(), options2.Culture.ToString(), StringComparison.OrdinalIgnoreCase)) { if (string.Equals(sessionEntry.SessionOptions.UICulture.ToString(), options2.UICulture.ToString(), StringComparison.OrdinalIgnoreCase)) { if (string.Equals(sessionEntry.CertificateThumbprint, certificateThumbprint, StringComparison.OrdinalIgnoreCase)) { if (sessionEntry.AuthenticationMechanism == authenticationMechanism) { if (WorkflowUtils.CompareCredential(sessionEntry.Credential, credential2)) { if (sessionEntry.UseSsl == useSsl) { if (sessionEntry.Port == port) { if (!(pssessionOption == null ^ sessionEntry.PSSessionOption == null)) { if (pssessionOption != null && sessionEntry.PSSessionOption != null) { if (sessionEntry.PSSessionOption.ProxyAccessType == pssessionOption.ProxyAccessType) { if (sessionEntry.PSSessionOption.ProxyAuthentication == pssessionOption.ProxyAuthentication) { if (WorkflowUtils.CompareCredential(sessionEntry.PSSessionOption.ProxyCredential, pssessionOption.ProxyCredential)) { if (sessionEntry.PSSessionOption.SkipCACheck == pssessionOption.SkipCACheck) { if (sessionEntry.PSSessionOption.SkipCNCheck == pssessionOption.SkipCNCheck) { if (sessionEntry.PSSessionOption.SkipRevocationCheck == pssessionOption.SkipRevocationCheck) { if (sessionEntry.PSSessionOption.NoEncryption == pssessionOption.NoEncryption) { if (sessionEntry.PSSessionOption.UseUTF16 != pssessionOption.UseUTF16) { return(false); } } else { return(false); } } else { return(false); } } else { return(false); } } else { return(false); } } else { return(false); } } else { return(false); } } else { return(false); } } return(true); } else { return(false); } } else { return(false); } } else { return(false); } } else { return(false); } } else { return(false); } } else { return(false); } } else { return(false); } } else { return(false); } } else { return(false); } }
public override void DoMouseDown() { base.DoMouseDown(); Diagram diagram = this.Diagram; if (diagram == null) { return; } //得到当前的Part Part currentPart = FindPartAt(diagram.LastMousePointInModel, true); if (currentPart == null) { //活动上下文菜单 var form = this.Diagram.PartsModel.FindNodeByKey(DiagramPage.ACTCONTEXT_MENU); if (form != null) { form.Visible = false; } //流程上下文菜单 form = this.Diagram.PartsModel.FindNodeByKey(DiagramPage.WFCONTEXT_MENU); if (form != null) { form.Visible = false; } //如果Part和当前Part不一致,则切换属性 if (string.Compare(diagram.Tag.ToString(), WorkflowUtils.CurrentKey) != 0) { HtmlPage.Window.Invoke("LoadProperty", WorkflowUtils.CLIENTSCRIPT_PARAM_WORKFLOW, diagram.Tag.ToString(), WorkflowUtils.ExtractWorkflowInfoJson(diagram)); WorkflowUtils.CurrentKey = diagram.Tag.ToString(); } } else { if (currentPart.DataContext is Northwoods.GoXam.PartManager.PartBinding) { Northwoods.GoXam.PartManager.PartBinding currentBinding = (Northwoods.GoXam.PartManager.PartBinding)((currentPart as FrameworkElement).DataContext); if (currentBinding.Data == null) { return; } if (currentBinding.Data is ActivityNode) { ActivityNode nodeData = currentBinding.Data as ActivityNode; if (nodeData == null) { return; } string strKey = string.Format("{0}@{1}", diagram.Tag.ToString(), nodeData.Key); if (string.Compare(strKey, WorkflowUtils.CurrentKey) != 0) { HtmlPage.Window.Invoke("LoadProperty", WorkflowUtils.CLIENTSCRIPT_PARAM_ACTIVITY, diagram.Tag.ToString(), WorkflowUtils.ExtractActivityInfoJson(nodeData)); WorkflowUtils.CurrentKey = strKey; } } } } }
protected override object ProduceData() { // are we done? if (mCurrentDirIdx >= mDataDirs.Length) { Stop(); return(null); } // do we need to get more files? if (mFiles == null) { mFiles = Directory.GetFiles(mDataDirs[mCurrentDirIdx], "*.xml"); Array.Sort(mFiles); } // did we process all currently available files? if (mCurrentFileIdx >= mFiles.Length) { mFiles = null; mCurrentFileIdx = 0; mCurrentDirIdx++; return(null); } try { // read next file mLogger.Info("ProduceData", "Reading " + mFiles[mCurrentFileIdx] + " ..."); DocumentCorpus corpus = new DocumentCorpus(); StreamReader reader = new StreamReader(mFiles[mCurrentFileIdx]); corpus.ReadXml(new XmlTextReader(reader)); //string fileName = new FileInfo(mFiles[mCurrentFileIdx]).Name; //string corpusId = new Guid(fileName.Split('_', '.')[3]).ToString(); //corpus.Features.SetFeatureValue("guid", corpusId); reader.Close(); // refresh corpus ID (to avoid conflicts) corpus.Features.SetFeatureValue("guid", Guid.NewGuid().ToString()); // remove underscores in feature names string[] tmp = new string[corpus.Features.Names.Count]; corpus.Features.Names.CopyTo(tmp, /*index=*/ 0); foreach (string featureName in tmp) { if (featureName.StartsWith("_")) { corpus.Features.SetFeatureValue(featureName.TrimStart('_'), corpus.Features.GetFeatureValue(featureName)); corpus.Features.RemoveFeature(featureName); } } foreach (Document doc in corpus.Documents) { // remove annotations doc.ClearAnnotations(); // remove underscores in feature names tmp = new string[doc.Features.Names.Count]; doc.Features.Names.CopyTo(tmp, /*index=*/ 0); foreach (string featureName in tmp) { if (featureName.StartsWith("_")) { doc.Features.SetFeatureValue(featureName.TrimStart('_'), doc.Features.GetFeatureValue(featureName)); doc.Features.RemoveFeature(featureName); } } // remove processing-specific features foreach (string featureName in new string[] { "detectedLanguage", "detectedCharRange", "bprBoilerplateCharCount", "bprContentCharCount", "domainName", "urlKey", "rev", "blacklisted" }) { doc.Features.RemoveFeature(featureName); } // if there's raw data available, reset the content string raw = doc.Features.GetFeatureValue("raw"); if (raw != null) { doc.Features.SetFeatureValue("contentType", "Html"); doc.Text = GetEncoding(doc.Features.GetFeatureValue("charSet")).GetString(Convert.FromBase64String(raw)); } } mCurrentFileIdx++; while (WorkflowUtils.GetBranchLoadMax(this) > 10) // I'm giving it all she's got, Captain! { Thread.Sleep(1000); } return(corpus); } catch (Exception e) { mCurrentFileIdx++; throw e; } }
public override void DoActivate() { base.DoActivate(); var part = this.AdornedPart.Data; ActivityNode nodeData = part as ActivityNode; string strKey = string.Format("{0}@{1}", this.Diagram.Tag.ToString(), nodeData.Key); if (string.Compare(this.Diagram.Tag.ToString(), WorkflowUtils.CurrentKey) != 0) { HtmlPage.Window.Invoke("LoadProperty", WorkflowUtils.CLIENTSCRIPT_PARAM_ACTIVITY, this.Diagram.Tag.ToString(), WorkflowUtils.ExtractActivityInfoJson(nodeData)); WorkflowUtils.CurrentKey = strKey; } }