public void testFlattenList() { // test many arrays EventBean[] testEvents = makeEventArray(new String[] {"a1", "a2", "b1", "b2", "b3", "c1", "c2"}); ArrayDeque<UniformPair<EventBean[]>> eventVector = new ArrayDeque<UniformPair<EventBean[]>>(); eventVector.add( new UniformPair<EventBean[]>(null, new EventBean[] {testEvents[0], testEvents[1]})); eventVector.add(new UniformPair<EventBean[]>(new EventBean[] {testEvents[2]}, null)); eventVector.add( new UniformPair<EventBean[]>( null, new EventBean[] {testEvents[3], testEvents[4], testEvents[5]})); eventVector.add(new UniformPair<EventBean[]>(new EventBean[] {testEvents[6]}, null)); UniformPair<EventBean[]> events = EventBeanUtility.flattenList(eventVector); EPAssertionUtil.assertEqualsExactOrder( new EventBean[] {testEvents[2], testEvents[6]}, events.getFirst()); EPAssertionUtil.assertEqualsExactOrder( new EventBean[] {testEvents[0], testEvents[1], testEvents[3], testEvents[4], testEvents[5]}, events.getSecond()); // test just one array eventVector.clear(); eventVector.add(new UniformPair<EventBean[]>(new EventBean[] {testEvents[2]}, null)); events = EventBeanUtility.flattenList(eventVector); EPAssertionUtil.assertEqualsExactOrder(new EventBean[] {testEvents[2]}, events.getFirst()); EPAssertionUtil.assertEqualsExactOrder((Object[]) null, events.getSecond()); // test empty vector eventVector.clear(); events = EventBeanUtility.flattenList(eventVector); assertNull(events); }
public static void output( boolean forceUpdate, UniformPair<EventBean[]> result, UpdateDispatchView finalView) { EventBean[] newEvents = result != null ? result.getFirst() : null; EventBean[] oldEvents = result != null ? result.getSecond() : null; if (newEvents != null || oldEvents != null) { finalView.newResult(result); } else if (forceUpdate) { finalView.newResult(result); } }
/** * Indicate statement result. * * @param newOldEvents result */ public static void indicateEarlyReturn( StatementContext statementContext, UniformPair<EventBean[]> newOldEvents) { if (newOldEvents == null) { return; } if ((statementContext.getMetricReportingService() != null) && (statementContext.getMetricReportingService().getStatementOutputHooks() != null) && (!statementContext.getMetricReportingService().getStatementOutputHooks().isEmpty())) { for (StatementResultListener listener : statementContext.getMetricReportingService().getStatementOutputHooks()) { listener.update( newOldEvents.getFirst(), newOldEvents.getSecond(), statementContext.getStatementName(), null, null); } } }