コード例 #1
0
  @Test
  public void testEvents() throws Exception {
    TimelineEvents events = new TimelineEvents();
    for (int j = 0; j < 2; ++j) {
      TimelineEvents.EventsOfOneEntity partEvents = new TimelineEvents.EventsOfOneEntity();
      partEvents.setEntityId("entity id " + j);
      partEvents.setEntityType("entity type " + j);
      for (int i = 0; i < 2; ++i) {
        TimelineEvent event = new TimelineEvent();
        event.setTimestamp(System.currentTimeMillis());
        event.setEventType("event type " + i);
        event.addEventInfo("key1", "val1");
        event.addEventInfo("key2", "val2");
        partEvents.addEvent(event);
      }
      events.addEvent(partEvents);
    }
    LOG.info("Events in JSON:");
    LOG.info(TimelineUtils.dumpTimelineRecordtoJSON(events, true));

    Assert.assertEquals(2, events.getAllEvents().size());
    TimelineEvents.EventsOfOneEntity partEvents1 = events.getAllEvents().get(0);
    Assert.assertEquals("entity id 0", partEvents1.getEntityId());
    Assert.assertEquals("entity type 0", partEvents1.getEntityType());
    Assert.assertEquals(2, partEvents1.getEvents().size());
    TimelineEvent event11 = partEvents1.getEvents().get(0);
    Assert.assertEquals("event type 0", event11.getEventType());
    Assert.assertEquals(2, event11.getEventInfo().size());
    TimelineEvent event12 = partEvents1.getEvents().get(1);
    Assert.assertEquals("event type 1", event12.getEventType());
    Assert.assertEquals(2, event12.getEventInfo().size());
    TimelineEvents.EventsOfOneEntity partEvents2 = events.getAllEvents().get(1);
    Assert.assertEquals("entity id 1", partEvents2.getEntityId());
    Assert.assertEquals("entity type 1", partEvents2.getEntityType());
    Assert.assertEquals(2, partEvents2.getEvents().size());
    TimelineEvent event21 = partEvents2.getEvents().get(0);
    Assert.assertEquals("event type 0", event21.getEventType());
    Assert.assertEquals(2, event21.getEventInfo().size());
    TimelineEvent event22 = partEvents2.getEvents().get(1);
    Assert.assertEquals("event type 1", event22.getEventType());
    Assert.assertEquals(2, event22.getEventInfo().size());
  }
コード例 #2
0
 @Override
 public TimelineEvents getEntityTimelines(
     String entityType,
     SortedSet<String> entityIds,
     Long limit,
     Long windowStart,
     Long windowEnd,
     Set<String> eventTypes) {
   TimelineEvents allEvents = new TimelineEvents();
   if (entityIds == null) {
     return allEvents;
   }
   if (limit == null) {
     limit = DEFAULT_LIMIT;
   }
   if (windowStart == null) {
     windowStart = Long.MIN_VALUE;
   }
   if (windowEnd == null) {
     windowEnd = Long.MAX_VALUE;
   }
   for (String entityId : entityIds) {
     EntityIdentifier entityID = new EntityIdentifier(entityId, entityType);
     TimelineEntity entity = entities.get(entityID);
     if (entity == null) {
       continue;
     }
     EventsOfOneEntity events = new EventsOfOneEntity();
     events.setEntityId(entityId);
     events.setEntityType(entityType);
     for (TimelineEvent event : entity.getEvents()) {
       if (events.getEvents().size() >= limit) {
         break;
       }
       if (event.getTimestamp() <= windowStart) {
         continue;
       }
       if (event.getTimestamp() > windowEnd) {
         continue;
       }
       if (eventTypes != null && !eventTypes.contains(event.getEventType())) {
         continue;
       }
       events.addEvent(event);
     }
     allEvents.addEvent(events);
   }
   return allEvents;
 }