internal static unsafe RestartNodeDescriptionUsingNodeName CreateFromNative(IntPtr nativeRaw) { NativeTypes.FABRIC_RESTART_NODE_DESCRIPTION_USING_NODE_NAME native = *(NativeTypes.FABRIC_RESTART_NODE_DESCRIPTION_USING_NODE_NAME *)nativeRaw; string nodeName = NativeTypes.FromNativeString(native.NodeName); BigInteger nodeInstance = new BigInteger(native.NodeInstance); bool shouldCreateFabricDump = NativeTypes.FromBOOLEAN(native.ShouldCreateFabricDump); CompletionMode completionMode = CompletionMode.Invalid; switch (native.CompletionMode) { case NativeTypes.FABRIC_COMPLETION_MODE.FABRIC_COMPLETION_MODE_DO_NOT_VERIFY: completionMode = CompletionMode.DoNotVerify; break; case NativeTypes.FABRIC_COMPLETION_MODE.FABRIC_COMPLETION_MODE_VERIFY: completionMode = CompletionMode.Verify; break; default: completionMode = CompletionMode.Invalid; break; } return(new RestartNodeDescriptionUsingNodeName(nodeName, nodeInstance, shouldCreateFabricDump, completionMode)); }
public bool Filter(object item, string searchText, CompletionMode completionMode) { ClientCreditViewModel client = (ClientCreditViewModel)item; string clientName = client.ClientName; return(clientName.Contains(searchText)); }
public CompletionPathNode(string prefix, string localName, CompletionMode mode) { if (!string.IsNullOrEmpty(prefix) && prefix.EndsWith(":")) prefix = prefix.TrimEnd(':'); Prefix = prefix; LocalName = localName; Mode = mode; }
/// <summary> /// The invoke command async. /// </summary> /// <param name="clusterConnection"> /// The cluster connection. /// </param> /// <param name="nodeName"> /// The node name. /// </param> /// <param name="partitionId"> /// The partition id. /// </param> /// <param name="replicaId"> /// The replica id. /// </param> /// <param name="completionMode"> /// The completion mode. /// </param> /// <param name="timeout"> /// The timeout. /// </param> /// <param name="cancellationToken"> /// The cancellation token. /// </param> /// <returns> /// The <see cref="Task"/>. /// </returns> internal abstract Task InvokeCommandAsync( IClusterConnection clusterConnection, string nodeName, Guid partitionId, long replicaId, CompletionMode completionMode, TimeSpan timeout, CancellationToken cancellationToken);
public static async Task <RestartReplicaResult> RestartReplicaAsync( FabricClient fabricClient, ReplicaSelector replicaSelector, CompletionMode completionMode, TimeSpan requestTimeout, TimeSpan operationTimeout, CancellationToken cancellationToken) { System.Fabric.Common.TimeoutHelper helper = new System.Fabric.Common.TimeoutHelper(operationTimeout); string nodeName = null; Guid partitionId = Guid.Empty; long replicaId = 0; SelectedReplica replicaSelectorResult = SelectedReplica.None; System.Fabric.Common.ThrowIf.Null(replicaSelector, "ReplicaSelector"); Tuple <SelectedReplica, Replica> replicaStateActionResult = await FaultAnalysisServiceUtility.GetSelectedReplicaAsync( fabricClient, replicaSelector, requestTimeout, operationTimeout, cancellationToken).ConfigureAwait(false); replicaSelectorResult = replicaStateActionResult.Item1; if (replicaSelectorResult == null) { throw new InvalidOperationException("replicaStateActionResult cannot be null"); } partitionId = replicaStateActionResult.Item1.SelectedPartition.PartitionId; Replica replicaStateResult = replicaStateActionResult.Item2; if (replicaStateResult == null) { throw new InvalidOperationException("replicaStateResult cannot be null"); } nodeName = replicaStateResult.NodeName; replicaId = replicaStateResult.Id; ThrowIf.IsTrue(partitionId == Guid.Empty, "PartitionID"); ThrowIf.IsTrue(replicaId == 0, "ReplicaID"); await FabricClientRetryHelper.ExecuteFabricActionWithRetryAsync( () => fabricClient.ServiceManager.RestartReplicaAsync( nodeName, partitionId, replicaId, requestTimeout, cancellationToken), FabricClientRetryErrors.RestartReplicaErrors.Value, operationTimeout, cancellationToken).ConfigureAwait(false); return(new RestartReplicaResult(replicaSelectorResult)); }
public bool Filter(object item, string searchText, CompletionMode completionMode) { Person person = (Person)item; string lowerFirstName = person.FirstName.ToLower(); string lowerLastName = person.LastName.ToLower(); string lowerSearchText = searchText.ToLower(); return(lowerFirstName.Contains(lowerSearchText) || lowerLastName.Contains(lowerSearchText)); }
public StopNodeDescriptionUsingNodeName( string nodeName, BigInteger nodeInstance, CompletionMode completionMode) { this.NodeName = nodeName; this.NodeInstance = nodeInstance; this.CompletionMode = completionMode; }
public CompletionPathNode(string prefix, string localName, CompletionMode mode) { if (!string.IsNullOrEmpty(prefix) && prefix.EndsWith(":")) { prefix = prefix.TrimEnd(':'); } Prefix = prefix; LocalName = localName; Mode = mode; }
/// <summary> /// The invoke command async. /// </summary> /// <param name="clusterConnection"> /// The cluster connection. /// </param> /// <param name="nodeName"> /// The node name. /// </param> /// <param name="partitionId"> /// The partition id. /// </param> /// <param name="replicaId"> /// The replica id. /// </param> /// <param name="completionMode"> /// The completion mode. /// </param> /// <param name="timeout"> /// The timeout. /// </param> /// <param name="cancellationToken"> /// The cancellation token. /// </param> /// <returns> /// The <see cref="Task"/>. /// </returns> internal override Task InvokeCommandAsync( IClusterConnection clusterConnection, string nodeName, Guid partitionId, long replicaId, CompletionMode completionMode, TimeSpan timeout, CancellationToken cancellationToken) { return(clusterConnection.RestartReplicaAsync(nodeName, partitionId, replicaId, completionMode, timeout, cancellationToken)); }
public RestartNodeDescriptionUsingNodeName( string nodeName, BigInteger nodeInstance, bool shouldCreateFabricDump, CompletionMode completionMode) { this.NodeName = nodeName; this.NodeInstance = nodeInstance; this.ShouldCreateFabricDump = shouldCreateFabricDump; this.CompletionMode = completionMode; }
public StartNodeDescriptionUsingNodeName( string nodeName, BigInteger nodeInstance, string ipAddressOrFQDN, int clusterConnectionPort, CompletionMode completionMode) { this.NodeName = nodeName; this.NodeInstance = nodeInstance; this.IpAddressOrFQDN = ipAddressOrFQDN; this.ClusterConnectionPort = clusterConnectionPort; this.CompletionMode = completionMode; }
/// <summary> /// The invoke command async. /// </summary> /// <param name="clusterConnection"> /// The cluster connection. /// </param> /// <param name="replicaSelector"> /// The replica selector. /// </param> /// <param name="completionMode"> /// The completion mode. /// </param> /// <param name="cancellationToken"> /// The cancellation token. /// </param> /// <returns> /// The <see cref="Task"/>. /// </returns> internal override async Task <ReplicaResult> InvokeCommandAsync( IClusterConnection clusterConnection, ReplicaSelector replicaSelector, CompletionMode completionMode, CancellationToken cancellationToken) { return (await Task.FromResult( clusterConnection.RestartReplicaAsync( replicaSelector, this.TimeoutSec, completionMode, cancellationToken).Result)); }
/// <summary> /// Finds the span of completion text to replace and use for searching. /// </summary> ITrackingSpan FindTokenSpanAtPosition(ITrackingPoint point, ICompletionSession session, CompletionMode mode) { var end = session.TextView.Caret.Position.BufferPosition; var start = end; var ch = start.GetChar(); while (start.Position > 0) { var temp = start - 1; ch = temp.GetChar(); if (!(char.IsLetterOrDigit(ch) || ch == ':' || ch == '_') || ch == '"' || ch == '\'' || ch == '.') break; start = temp; } var span = Span.FromBounds(start.Position, end.Position); return start.Snapshot.CreateTrackingSpan(span, SpanTrackingMode.EdgeInclusive); }
public static IEnumerable <CompletionItem> GetCompletionItems(IEnumerable <CompletionNamespace> namespaces, CompletionMode mode, IEnumerable <string> path, CompletionPathNode context) { if (mode == CompletionMode.None) { return(Enumerable.Empty <CompletionItem>()); } var completions = GetCompletions(namespaces); IEnumerable <CompletionItem> items; if (mode == CompletionMode.Property && context != null) { var contextName = context.Name; if (contextName.EndsWith(".")) { // if it contains a dot it is a property element. only show completions for the current namespace. contextName = contextName.TrimEnd('.'); completions = completions.Where(r => r.Prefix == context.Prefix).ToList(); } items = completions .SelectMany(r => r.GetProperties(contextName, path)) .Where(r => !context.Attributes.Contains(r.Name)); } else if (mode == CompletionMode.Value && context != null && context.Mode == CompletionMode.Property) { items = completions.SelectMany(r => r.GetPropertyValues(path.Last(), context.LocalName, path)); } else { var filter = completions.Select(r => r.GetFilter(path)).FirstOrDefault(r => r != null); items = completions.SelectMany(r => r.GetClasses(path, filter)); } return(items); }
public static OpenFileBehavior Create(Type openFileBehaviorSourceType, bool showIcon = true, FileIconSize iconSize = FileIconSize.Small, Image defaultImage = null, Image invalidPathImage = null, CompletionMode mode = CompletionMode.FilesAndDirectories, string filter = null, string initDir = "%TEMP%", string fileMask = "All files (*.*)|*.*") { return((OpenFileBehavior)Behavior.Create(typeof(OpenFileBehavior), openFileBehaviorSourceType, new object[8] { (object)showIcon, (object)iconSize, (object)defaultImage, (object)invalidPathImage, (object)mode, (object)filter, (object)initDir, (object)fileMask })); }
public OpenFileBehavior(Type openFileBehaviorSourceType, bool showIcon = true, FileIconSize iconSize = FileIconSize.Small, Image defaultImage = null, Image invalidPathImage = null, CompletionMode mode = CompletionMode.FilesAndDirectories, string filter = null, string initDir = "", string fileMask = "All files (*.*)|*.*") : base(openFileBehaviorSourceType, showIcon, iconSize, defaultImage, invalidPathImage, mode, filter) { _initDir = initDir; _fileMask = fileMask; }
public RestartNodeRequest(IFabricClient fabricClient, string nodeName, BigInteger nodeInstanceId, bool createFabricDump, CompletionMode completionMode, TimeSpan timeout) : base(fabricClient, nodeName, nodeInstanceId, completionMode, timeout) { this.createFabricDump = createFabricDump; }
/// <summary> /// Finds the span of completion text to replace and use for searching. /// </summary> ITrackingSpan FindTokenSpanAtPosition(ITrackingPoint point, ICompletionSession session, CompletionMode mode) { var end = session.TextView.Caret.Position.BufferPosition; var start = end; var ch = start.GetChar(); while (start.Position > 0) { var temp = start - 1; ch = temp.GetChar(); if (!(char.IsLetterOrDigit(ch) || ch == ':' || ch == '_') || ch == '"' || ch == '\'' || ch == '.') { break; } start = temp; } var span = Span.FromBounds(start.Position, end.Position); return(start.Snapshot.CreateTrackingSpan(span, SpanTrackingMode.EdgeInclusive)); }
protected NodeControlRequest(IFabricClient fabricClient, string nodeName, BigInteger nodeInstanceId, CompletionMode completionMode, TimeSpan timeout) : base(fabricClient, timeout) { this.NodeName = nodeName; this.NodeInstanceId = nodeInstanceId; this.CompletionMode = completionMode; }
public RestartNodeRequest(IFabricClient fabricClient, ReplicaSelector replicaSelector, bool createFabricDump, CompletionMode completionMode, TimeSpan timeout) : base(fabricClient, replicaSelector, completionMode, timeout) { this.createFabricDump = createFabricDump; }
public bool TryGetApplicableToSpan(char typedChar, SnapshotPoint triggerPt, out SnapshotSpan applicableToSpan, CancellationToken token) { ThreadHelper.ThrowIfNotOnUIThread(); _mode = CompletionMode.None; _fileName = VsTextUtil.TryGetDocumentFileName(_textView.TextBuffer); _appSettings = ProbeEnvironment.CurrentAppSettings; var tracker = Classifier.TextBufferStateTracker.GetTrackerForTextBuffer(triggerPt.Snapshot.TextBuffer); var state = tracker.GetStateForPosition(triggerPt, _fileName, _appSettings); if (Classifier.State.IsInLiveCode(state)) { Match match; var line = triggerPt.Snapshot.GetLineFromPosition(triggerPt.Position); var prefix = line.GetTextUpToPosition(triggerPt); if (typedChar == ' ') { #region Assignment or Comparison if ((match = _rxAfterAssignOrCompare.Match(prefix)).Success) { _mode = CompletionMode.AfterAssignOrCompare; applicableToSpan = triggerPt.ToSnapshotSpan(); _params.str = match.Groups[1].Value; _params.pt = new SnapshotPoint(line.Snapshot, match.Groups[1].Index + line.Start.Position); return(true); } #endregion #region #ifdef else if ((match = _rxAfterIfDef.Match(prefix)).Success) { _mode = CompletionMode.AfterIfDef; applicableToSpan = triggerPt.ToSnapshotSpan(); return(true); } #endregion #region Comma else if (prefix.EndsWith(", ")) { _mode = CompletionMode.AfterComma; applicableToSpan = triggerPt.ToSnapshotSpan(); return(true); } #endregion #region order by else if ((match = _rxOrderBy.Match(prefix)).Success) { _mode = CompletionMode.AfterOrderBy; applicableToSpan = triggerPt.ToSnapshotSpan(); return(true); } #endregion #region After Word else if ((match = _rxAfterWord.Match(prefix)).Success) { switch (match.Groups[1].Value) { case "case": _mode = CompletionMode.AfterCase; applicableToSpan = triggerPt.ToSnapshotSpan(); return(true); case "extract": _mode = CompletionMode.AfterExtract; applicableToSpan = triggerPt.ToSnapshotSpan(); _params.str = match.Groups[1].Value; return(true); case "return": _mode = CompletionMode.AfterReturn; applicableToSpan = triggerPt.ToSnapshotSpan(); return(true); case "tag": _mode = CompletionMode.AfterTag; applicableToSpan = triggerPt.ToSnapshotSpan(); return(true); default: _mode = CompletionMode.AfterWord; applicableToSpan = triggerPt.ToSnapshotSpan(); _params.str = match.Groups[1].Value; _params.snapshot = triggerPt.Snapshot; return(true); } } #endregion #region After Symbol else if ((match = _rxAfterSymbol.Match(prefix)).Success) { _mode = CompletionMode.AfterSymbol; applicableToSpan = triggerPt.ToSnapshotSpan(); return(true); } #endregion #region After Number else if ((match = _rxAfterNumber.Match(prefix)).Success) { _mode = CompletionMode.AfterNumber; applicableToSpan = triggerPt.ToSnapshotSpan(); return(true); } #endregion #region After String Literal else if ((match = _rxAfterStringLiteral.Match(prefix)).Success) { _mode = CompletionMode.AfterStringLiteral; applicableToSpan = triggerPt.ToSnapshotSpan(); return(true); } #endregion } #region Table.Field else if ((match = _rxTypingTable.Match(prefix)).Success) { _mode = CompletionMode.DotSeparatedWords; applicableToSpan = new SnapshotSpan(triggerPt.Snapshot, match.Groups[2].Index + line.Start.Position, match.Groups[2].Length); _params.str = match.Groups[1].Value; _params.str2 = match.Groups[2].Value; return(true); } #endregion #region Word else if ((match = _rxTypingWord.Match(prefix)).Success) { // Typing a regular word. _mode = CompletionMode.Word; _params.pt = new SnapshotPoint(triggerPt.Snapshot, line.Start.Position + match.Index); applicableToSpan = new SnapshotSpan(_params.pt, match.Length); return(true); } #endregion #region Class function bracket else if ((match = _rxClassFunctionStartBracket.Match(prefix)).Success) { _mode = CompletionMode.ClassFunction; applicableToSpan = triggerPt.ToSnapshotSpan(); _params.str = match.Groups[1].Value; _params.str2 = match.Groups[2].Value; return(true); } #endregion #region Function bracket else if ((match = _rxFunctionStartBracket.Match(prefix)).Success) { _mode = CompletionMode.Function; applicableToSpan = triggerPt.ToSnapshotSpan(); _params.str = match.Groups[1].Value; return(true); } #endregion #region #include else if ((match = _rxAfterInclude.Match(prefix)).Success) { _mode = CompletionMode.Include; applicableToSpan = triggerPt.ToSnapshotSpan(); _params.str = match.Groups[1].Value; return(true); } #endregion } else { if ((state & State.StringLiteral_Mask) != 0) { Match match; var line = triggerPt.Snapshot.GetLineFromPosition(triggerPt.Position); var prefix = line.GetTextUpToPosition(triggerPt); #region #include (for string literal) if ((match = _rxAfterInclude.Match(prefix)).Success) { _mode = CompletionMode.Include; applicableToSpan = triggerPt.ToSnapshotSpan(); _params.str = match.Groups[1].Value; return(true); } #endregion } } applicableToSpan = new SnapshotSpan(triggerPt.Snapshot, new Span(0, 0)); return(false); }
public static IEnumerable<CompletionItem> GetCompletionItems(IEnumerable<CompletionNamespace> namespaces, CompletionMode mode, IEnumerable<string> path, CompletionPathNode context) { if (mode == CompletionMode.None) return Enumerable.Empty<CompletionItem>(); var completions = GetCompletions(namespaces); IEnumerable<CompletionItem> items; if (mode == CompletionMode.Property && context != null) { var contextName = context.Name; if (contextName.EndsWith(".")) { // if it contains a dot it is a property element. only show completions for the current namespace. contextName = contextName.TrimEnd('.'); completions = completions.Where(r => r.Prefix == context.Prefix).ToList(); } items = completions .SelectMany(r => r.GetProperties(contextName, path)) .Where(r => !context.Attributes.Contains(r.Name)); } else if (mode == CompletionMode.Value && context != null && context.Mode == CompletionMode.Property) items = completions.SelectMany(r => r.GetPropertyValues(path.Last(), context.LocalName, path)); else { var filter = completions.Select(r => r.GetFilter(path)).FirstOrDefault(r => r != null); items = completions.SelectMany(r => r.GetClasses(path, filter)); } return items; }
protected NodeControlRequest(IFabricClient fabricClient, ReplicaSelector replicaSelector, CompletionMode completionMode, TimeSpan timeout) : base(fabricClient, timeout) { this.ReplicaSelector = replicaSelector; this.CompletionMode = completionMode; }
/// <summary> /// The invoke command async. /// </summary> /// <param name="clusterConnection"> /// The cluster connection. /// </param> /// <param name="replicaSelector"> /// The replica selector. /// </param> /// <param name="completionMode"> /// The completion mode. /// </param> /// <param name="cancellationToken"> /// The cancellation token. /// </param> /// <returns> /// The <see cref="Task"/>. /// </returns> internal abstract Task <ReplicaResult> InvokeCommandAsync( IClusterConnection clusterConnection, ReplicaSelector replicaSelector, CompletionMode completionMode, CancellationToken cancellationToken);