Example #1
0
        public void Handle(Guid clientID, CommandMessage message)
        {
            if (clientID == Guid.Empty)
            {
                return;
            }
            var query = getQuery(message);
            var sb    = new StringBuilder();

            sb.Append(message.CorrelationID);
            if (query != null)
            {
                var formatter = new CacheFormatter();
                var matcher   = new Func <string, string, bool>((a, b) => a == b);
                if (isWildCard(query))
                {
                    matcher = wildcardmatch;
                }
                _cache.AllReferences()
                .Where(x => filter(x, query, matcher))
                .GroupBy(x => x.File).ToList()
                .ForEach(x =>
                {
                    sb.AppendLine(formatter.FormatFile(x.Key));
                    x.ToList()
                    .ForEach(y => sb.AppendLine(formatter.Format(y)));
                });
            }
            _endpoint.Send(sb.ToString(), clientID);
        }
Example #2
0
        public void Handle(Guid clientID, CommandMessage message)
        {
            if (clientID == Guid.Empty)
            {
                return;
            }
            var query = getQuery(message);
            var sb    = new StringBuilder();

            sb.Append(message.CorrelationID);
            var formatter = new CacheFormatter();

            _cache.AllFiles()
            .Where(x => filter(x, query))
            .GroupBy(x => x.Project).ToList()
            .ForEach(x =>
            {
                if (x.Key != null)
                {
                    sb.AppendLine(formatter.FormatProject(x.Key));
                }
                x.ToList()
                .ForEach(y => sb.AppendLine(formatter.Format(y)));
            });
            _endpoint.Send(sb.ToString(), clientID);
        }
Example #3
0
        public void Handle(Guid clientID, CommandMessage message)
        {
            Logger.Write("arg count is " + message.Arguments.Count.ToString());
            if (message.Arguments.Count > 2 || message.Arguments.Count == 0)
            {
                return;
            }
            if (clientID == Guid.Empty)
            {
                return;
            }
            var limit = 0;

            if (message.Arguments.Count == 2)
            {
                Logger.Write("arg is " + message.Arguments[1]);
                int limitParam;
                if (!int.TryParse(message.Arguments[1], out limitParam))
                {
                    return;
                }
                if (limitParam <= 0)
                {
                    return;
                }
                limit = limitParam;
            }
            var sb = new StringBuilder();

            sb.Append(message.CorrelationID);
            var formatter = new CacheFormatter();
            List <IGrouping <string, ICodeReference> > result;

            Logger.Write("Taking " + limit.ToString());
            if (limit > 0)
            {
                result = _cache.Find(message.Arguments[0], limit).GroupBy(x => x.File).ToList();
            }
            else
            {
                result = _cache.Find(message.Arguments[0]).GroupBy(x => x.File).ToList();
            }

            result.ForEach(x => {
                sb.AppendLine(formatter.FormatFile(x.Key));
                x.ToList()
                .ForEach(y => sb.AppendLine(formatter.Format(y)));
            });
            _endpoint.Send(sb.ToString(), clientID);
        }