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); }
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.AllSignatures() .Where(x => filter(x, query)) .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); }
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); }