Ejemplo n.º 1
0
  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);
     }
   }
 }