示例#1
0
        public static string GetFilterSvcToString(
            RegressionEnvironment env,
            string statementName)
        {
            var statementSPI = (EPStatementSPI) env.Statement(statementName);
            var filterServiceSPI = (FilterServiceSPI) statementSPI.StatementContext.FilterService;
            var set = filterServiceSPI.Get(Collections.SingletonSet(statementSPI.StatementId));

            var sorted = new SortedSet<string>();
            foreach (var typeEntry in set) {
                foreach (var filterItems in typeEntry.Value.Values) {
                    foreach (var itemArray in filterItems) {
                        var type = SupportEventTypeHelper.GetEventTypeForTypeId(statementSPI.StatementContext, typeEntry.Key);

                        var builder = new StringBuilder();
                        builder.Append(type.Name).Append("(");
                        var delimiter = "";
                        foreach (var item in itemArray) {
                            builder.Append(delimiter);
                            builder.Append(item.Name);
                            builder.Append(item.Op.GetTextualOp());
                            builder.Append(item.OptionalValue);
                            delimiter = ",";
                        }

                        builder.Append(")");
                        sorted.Add(builder.ToString());
                    }
                }
            }

            return sorted.RenderAny();
        }
示例#2
0
 public static void AssertFilterSvcNone(
     EPStatement statement,
     string eventTypeName)
 {
     var set = GetFilterSvcForStatement(statement);
     var typeId = SupportEventTypeHelper.GetTypeIdForName(((EPStatementSPI) statement).StatementContext, eventTypeName);
     Assert.IsFalse(set.ContainsKey(typeId));
 }
示例#3
0
        public static int GetFilterSvcCount(
            EPStatement statement,
            string eventTypeName)
        {
            var statementSPI = (EPStatementSPI) statement;
            var typeId = SupportEventTypeHelper.GetTypeIdForName(statementSPI.StatementContext, eventTypeName);
            var filterServiceSPI = (FilterServiceSPI) statementSPI.StatementContext.FilterService;
            var set = filterServiceSPI.Get(Collections.SingletonSet(statementSPI.StatementId));
            foreach (var entry in set) {
                if (entry.Key.Equals(typeId)) {
                    var list = entry.Value.Get(statementSPI.StatementId);
                    return list.Count;
                }
            }

            return 0;
        }
示例#4
0
        public static FilterItem[][] GetFilterSvcMultiAssertNonEmpty(
            EPStatement statement,
            string eventTypeName)
        {
            var set = GetFilterSvcForStatement(statement);
            var spi = (EPStatementSPI) statement;
            var typeId = SupportEventTypeHelper.GetTypeIdForName(spi.StatementContext, eventTypeName);

            IDictionary<int, IList<FilterItem[]>> filters = null;
            foreach (var entry in set) {
                if (entry.Key.Equals(typeId)) {
                    filters = entry.Value;
                }
            }

            Assert.IsNotNull(filters);
            Assert.IsFalse(filters.IsEmpty());

            var @params = filters.Get(spi.StatementId);
            Assert.IsFalse(@params.IsEmpty());

            return @params.ToArray();
        }