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));
            }
Esempio n. 3
0
		public CompletionPathNode(string prefix, string localName, CompletionMode mode)
		{
			if (!string.IsNullOrEmpty(prefix) && prefix.EndsWith(":"))
				prefix = prefix.TrimEnd(':');
			Prefix = prefix;
			LocalName = localName;
			Mode = mode;
		}
Esempio n. 4
0
 /// <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));
        }
Esempio n. 6
0
        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));
        }
Esempio n. 7
0
 public StopNodeDescriptionUsingNodeName(
     string nodeName,
     BigInteger nodeInstance,
     CompletionMode completionMode)
 {
     this.NodeName       = nodeName;
     this.NodeInstance   = nodeInstance;
     this.CompletionMode = completionMode;
 }
Esempio n. 8
0
 public CompletionPathNode(string prefix, string localName, CompletionMode mode)
 {
     if (!string.IsNullOrEmpty(prefix) && prefix.EndsWith(":"))
     {
         prefix = prefix.TrimEnd(':');
     }
     Prefix    = prefix;
     LocalName = localName;
     Mode      = mode;
 }
Esempio n. 9
0
 /// <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;
 }
Esempio n. 11
0
 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;
 }
Esempio n. 12
0
 /// <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));
 }
Esempio n. 13
0
		/// <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);
		}
Esempio n. 14
0
        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);
        }
Esempio n. 15
0
 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
     }));
 }
Esempio n. 16
0
 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;
 }
Esempio n. 17
0
 public RestartNodeRequest(IFabricClient fabricClient, string nodeName, BigInteger nodeInstanceId, bool createFabricDump, CompletionMode completionMode, TimeSpan timeout)
     : base(fabricClient, nodeName, nodeInstanceId, completionMode, timeout)
 {
     this.createFabricDump = createFabricDump;
 }
Esempio n. 18
0
        /// <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));
        }
Esempio n. 19
0
 protected NodeControlRequest(IFabricClient fabricClient, string nodeName, BigInteger nodeInstanceId, CompletionMode completionMode, TimeSpan timeout)
     : base(fabricClient, timeout)
 {
     this.NodeName       = nodeName;
     this.NodeInstanceId = nodeInstanceId;
     this.CompletionMode = completionMode;
 }
Esempio n. 20
0
 public RestartNodeRequest(IFabricClient fabricClient, ReplicaSelector replicaSelector, bool createFabricDump, CompletionMode completionMode, TimeSpan timeout)
     : base(fabricClient, replicaSelector, completionMode, timeout)
 {
     this.createFabricDump = createFabricDump;
 }
Esempio n. 21
0
        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);
        }
Esempio n. 22
0
		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;
		}
Esempio n. 23
0
 protected NodeControlRequest(IFabricClient fabricClient, ReplicaSelector replicaSelector, CompletionMode completionMode, TimeSpan timeout)
     : base(fabricClient, timeout)
 {
     this.ReplicaSelector = replicaSelector;
     this.CompletionMode  = completionMode;
 }
Esempio n. 24
0
 /// <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);