public void Lookup(IDictionary <object, object> parent, ICollection <EventBean> result, CompositeIndexQueryResultPostProcessor postProcessor) { var mk = new MultiKeyUntyped(_keys); var innerIndex = (IDictionary <object, object>)parent.Get(mk); if (innerIndex == null) { return; } _next.Lookup(innerIndex, result, postProcessor); }
public void Lookup(IDictionary <object, object> parent, ICollection <EventBean> result) { var mk = new MultiKeyUntyped(_keys); var innerIndex = (IDictionary <object, object>)parent.Get(mk); if (innerIndex == null) { return; } _next.Lookup(innerIndex, result); }
public void Lookup( IDictionary<object, CompositeIndexEntry> parent, ISet<EventBean> result, CompositeIndexQueryResultPostProcessor postProcessor) { var key = _multiKeyTransform.From(_keys); var innerEntry = parent.Get(key); if (innerEntry == null) { return; } var innerIndex = innerEntry.AssertIndex(); _next.Lookup(innerIndex, result, postProcessor); }
public void Lookup( IDictionary <object, object> parent, ICollection <EventBean> result, CompositeIndexQueryResultPostProcessor postProcessor) { if (_lookupValue is RangeIndexLookupValueEquals) { var equals = (RangeIndexLookupValueEquals)_lookupValue; var inner = parent.Get(equals.Value); if (_next == null) { result.AddAll((ICollection <EventBean>)inner); } else { var innerMap = (IDictionary <object, object>)inner; _next.Lookup(innerMap, result, postProcessor); } return; } var lookup = (RangeIndexLookupValueRange)_lookupValue; var treeMap = (OrderedDictionary <object, object>)parent; var rangeValue = lookup.Value; switch (lookup.Operator) { case QueryGraphRangeEnum.RANGE_CLOSED: { var range = (Range)rangeValue; LookupRange(result, treeMap, range.LowEndpoint, true, range.HighEndpoint, true, true, postProcessor); } break; case QueryGraphRangeEnum.RANGE_HALF_OPEN: { var range = (Range)rangeValue; LookupRange( result, treeMap, range.LowEndpoint, true, range.HighEndpoint, false, true, postProcessor); } break; case QueryGraphRangeEnum.RANGE_HALF_CLOSED: { var range = (Range)rangeValue; LookupRange( result, treeMap, range.LowEndpoint, false, range.HighEndpoint, true, true, postProcessor); } break; case QueryGraphRangeEnum.RANGE_OPEN: { var range = (Range)rangeValue; LookupRange( result, treeMap, range.LowEndpoint, false, range.HighEndpoint, false, true, postProcessor); } break; case QueryGraphRangeEnum.NOT_RANGE_CLOSED: { var range = (Range)rangeValue; LookupRangeInverted( result, treeMap, range.LowEndpoint, true, range.HighEndpoint, true, postProcessor); } break; case QueryGraphRangeEnum.NOT_RANGE_HALF_OPEN: { var range = (Range)rangeValue; LookupRangeInverted( result, treeMap, range.LowEndpoint, true, range.HighEndpoint, false, postProcessor); } break; case QueryGraphRangeEnum.NOT_RANGE_HALF_CLOSED: { var range = (Range)rangeValue; LookupRangeInverted( result, treeMap, range.LowEndpoint, false, range.HighEndpoint, true, postProcessor); } break; case QueryGraphRangeEnum.NOT_RANGE_OPEN: { var range = (Range)rangeValue; LookupRangeInverted( result, treeMap, range.LowEndpoint, false, range.HighEndpoint, false, postProcessor); } break; case QueryGraphRangeEnum.GREATER: LookupGreater(result, treeMap, rangeValue, postProcessor); break; case QueryGraphRangeEnum.GREATER_OR_EQUAL: LookupGreaterEqual(result, treeMap, rangeValue, postProcessor); break; case QueryGraphRangeEnum.LESS: LookupLess(result, treeMap, rangeValue, postProcessor); break; case QueryGraphRangeEnum.LESS_OR_EQUAL: LookupLessEqual(result, treeMap, rangeValue, postProcessor); break; default: throw new ArgumentException("Unrecognized operator '" + lookup.Operator + "'"); } }
public void Lookup( IDictionary<object, CompositeIndexEntry> parent, ISet<EventBean> result, CompositeIndexQueryResultPostProcessor postProcessor) { if (_lookupValue is RangeIndexLookupValueEquals equals) { var inner = parent.Get(equals.Value); if (_next == null) { result.AddAll(inner.AssertCollection()); } else { _next.Lookup(inner.AssertIndex(), result, postProcessor); } return; } var lookup = (RangeIndexLookupValueRange) _lookupValue; var treeMap = (IOrderedDictionary<object, CompositeIndexEntry>) parent; var rangeValue = lookup.Value; if (lookup.Operator == QueryGraphRangeEnum.RANGE_CLOSED) { var range = (Range) rangeValue; LookupRange(result, treeMap, range.LowEndpoint, true, range.HighEndpoint, true, true, postProcessor); } else if (lookup.Operator == QueryGraphRangeEnum.RANGE_HALF_OPEN) { var range = (Range) rangeValue; LookupRange(result, treeMap, range.LowEndpoint, true, range.HighEndpoint, false, true, postProcessor); } else if (lookup.Operator == QueryGraphRangeEnum.RANGE_HALF_CLOSED) { var range = (Range) rangeValue; LookupRange(result, treeMap, range.LowEndpoint, false, range.HighEndpoint, true, true, postProcessor); } else if (lookup.Operator == QueryGraphRangeEnum.RANGE_OPEN) { var range = (Range) rangeValue; LookupRange(result, treeMap, range.LowEndpoint, false, range.HighEndpoint, false, true, postProcessor); } else if (lookup.Operator == QueryGraphRangeEnum.NOT_RANGE_CLOSED) { var range = (Range) rangeValue; LookupRangeInverted(result, treeMap, range.LowEndpoint, true, range.HighEndpoint, true, postProcessor); } else if (lookup.Operator == QueryGraphRangeEnum.NOT_RANGE_HALF_OPEN) { var range = (Range) rangeValue; LookupRangeInverted(result, treeMap, range.LowEndpoint, true, range.HighEndpoint, false, postProcessor); } else if (lookup.Operator == QueryGraphRangeEnum.NOT_RANGE_HALF_CLOSED) { var range = (Range) rangeValue; LookupRangeInverted(result, treeMap, range.LowEndpoint, false, range.HighEndpoint, true, postProcessor); } else if (lookup.Operator == QueryGraphRangeEnum.NOT_RANGE_OPEN) { var range = (Range) rangeValue; LookupRangeInverted( result, treeMap, range.LowEndpoint, false, range.HighEndpoint, false, postProcessor); } else if (lookup.Operator == QueryGraphRangeEnum.GREATER) { LookupGreater(result, treeMap, rangeValue, postProcessor); } else if (lookup.Operator == QueryGraphRangeEnum.GREATER_OR_EQUAL) { LookupGreaterEqual(result, treeMap, rangeValue, postProcessor); } else if (lookup.Operator == QueryGraphRangeEnum.LESS) { LookupLess(result, treeMap, rangeValue, postProcessor); } else if (lookup.Operator == QueryGraphRangeEnum.LESS_OR_EQUAL) { LookupLessEqual(result, treeMap, rangeValue, postProcessor); } else { throw new ArgumentException("Unrecognized operator '" + lookup.Operator + "'"); } }