Search in sources :

Example 6 with Event

use of org.thingsboard.server.common.data.Event in project thingsboard by thingsboard.

the class BaseEventServiceTest method findEventsByTypeAndTimeDescOrder.

@Test
public void findEventsByTypeAndTimeDescOrder() throws Exception {
    long timeBeforeStartTime = LocalDateTime.of(2016, Month.NOVEMBER, 1, 11, 30).toEpochSecond(ZoneOffset.UTC);
    long startTime = LocalDateTime.of(2016, Month.NOVEMBER, 1, 12, 0).toEpochSecond(ZoneOffset.UTC);
    long eventTime = LocalDateTime.of(2016, Month.NOVEMBER, 1, 12, 30).toEpochSecond(ZoneOffset.UTC);
    long endTime = LocalDateTime.of(2016, Month.NOVEMBER, 1, 13, 0).toEpochSecond(ZoneOffset.UTC);
    long timeAfterEndTime = LocalDateTime.of(2016, Month.NOVEMBER, 1, 13, 30).toEpochSecond(ZoneOffset.UTC);
    RuleId ruleId = new RuleId(UUIDs.timeBased());
    TenantId tenantId = new TenantId(UUIDs.timeBased());
    saveEventWithProvidedTime(timeBeforeStartTime, ruleId, tenantId);
    Event savedEvent = saveEventWithProvidedTime(eventTime, ruleId, tenantId);
    Event savedEvent2 = saveEventWithProvidedTime(eventTime + 1, ruleId, tenantId);
    Event savedEvent3 = saveEventWithProvidedTime(eventTime + 2, ruleId, tenantId);
    saveEventWithProvidedTime(timeAfterEndTime, ruleId, tenantId);
    TimePageData<Event> events = eventService.findEvents(tenantId, ruleId, DataConstants.STATS, new TimePageLink(2, startTime, endTime, false));
    Assert.assertNotNull(events.getData());
    Assert.assertTrue(events.getData().size() == 2);
    Assert.assertTrue(events.getData().get(0).getUuidId().equals(savedEvent3.getUuidId()));
    Assert.assertTrue(events.getData().get(1).getUuidId().equals(savedEvent2.getUuidId()));
    Assert.assertTrue(events.hasNext());
    Assert.assertNotNull(events.getNextPageLink());
    events = eventService.findEvents(tenantId, ruleId, DataConstants.STATS, events.getNextPageLink());
    Assert.assertNotNull(events.getData());
    Assert.assertTrue(events.getData().size() == 1);
    Assert.assertTrue(events.getData().get(0).getUuidId().equals(savedEvent.getUuidId()));
    Assert.assertFalse(events.hasNext());
    Assert.assertNull(events.getNextPageLink());
}
Also used : TenantId(org.thingsboard.server.common.data.id.TenantId) RuleId(org.thingsboard.server.common.data.id.RuleId) Event(org.thingsboard.server.common.data.Event) TimePageLink(org.thingsboard.server.common.data.page.TimePageLink) Test(org.junit.Test) AbstractServiceTest(org.thingsboard.server.dao.service.AbstractServiceTest)

Example 7 with Event

use of org.thingsboard.server.common.data.Event in project thingsboard by thingsboard.

the class AlarmDeduplicationProcessor method process.

@Override
public RuleProcessingMetaData process(RuleContext ctx, ToDeviceActorMsg msg) throws RuleException {
    RuleProcessingMetaData md = new RuleProcessingMetaData();
    VelocityContext context = VelocityUtils.createContext(ctx.getDeviceMetaData(), msg.getPayload());
    String alarmId = VelocityUtils.merge(alarmIdTemplate, context);
    String alarmBody = VelocityUtils.merge(alarmBodyTemplate, context);
    Optional<Event> existingEvent = ctx.findEvent(DataConstants.ALARM, alarmId);
    if (!existingEvent.isPresent()) {
        Event event = new Event();
        event.setType(DataConstants.ALARM);
        event.setUid(alarmId);
        event.setBody(mapper.createObjectNode().put("body", alarmBody));
        Optional<Event> savedEvent = ctx.saveIfNotExists(event);
        if (savedEvent.isPresent()) {
            log.info("New Alarm detected: '{}'", alarmId);
            md.put(IS_NEW_ALARM, Boolean.TRUE);
            md.put("alarmId", alarmId);
            md.put("alarmBody", alarmBody);
            for (Object key : context.getKeys()) {
                md.put(key.toString(), context.get(key.toString()));
            }
        }
    }
    return md;
}
Also used : VelocityContext(org.apache.velocity.VelocityContext) Event(org.thingsboard.server.common.data.Event)

Example 8 with Event

use of org.thingsboard.server.common.data.Event in project thingsboard by thingsboard.

the class ActorSystemContext method persistLifecycleEvent.

public void persistLifecycleEvent(TenantId tenantId, EntityId entityId, ComponentLifecycleEvent lcEvent, Exception e) {
    Event event = new Event();
    event.setTenantId(tenantId);
    event.setEntityId(entityId);
    event.setType(DataConstants.LC_EVENT);
    event.setBody(toBodyJson(discoveryService.getCurrentServer().getServerAddress(), lcEvent, Optional.ofNullable(e)));
    persistEvent(event);
}
Also used : Event(org.thingsboard.server.common.data.Event) ComponentLifecycleEvent(org.thingsboard.server.common.data.plugin.ComponentLifecycleEvent)

Example 9 with Event

use of org.thingsboard.server.common.data.Event in project thingsboard by thingsboard.

the class EventEntity method toData.

@Override
public Event toData() {
    Event event = new Event(new EventId(id));
    event.setCreatedTime(UUIDs.unixTimestamp(id));
    event.setTenantId(new TenantId(tenantId));
    event.setEntityId(EntityIdFactory.getByTypeAndUuid(entityType, entityId));
    event.setBody(body);
    event.setType(eventType);
    event.setUid(eventUid);
    return event;
}
Also used : TenantId(org.thingsboard.server.common.data.id.TenantId) Event(org.thingsboard.server.common.data.Event) EventId(org.thingsboard.server.common.data.id.EventId)

Example 10 with Event

use of org.thingsboard.server.common.data.Event in project thingsboard by thingsboard.

the class EventEntity method toData.

@Override
public Event toData() {
    Event event = new Event(new EventId(getId()));
    event.setCreatedTime(UUIDs.unixTimestamp(getId()));
    event.setTenantId(new TenantId(toUUID(tenantId)));
    event.setEntityId(EntityIdFactory.getByTypeAndUuid(entityType, toUUID(entityId)));
    event.setBody(body);
    event.setType(eventType);
    event.setUid(eventUid);
    return event;
}
Also used : TenantId(org.thingsboard.server.common.data.id.TenantId) Event(org.thingsboard.server.common.data.Event) EventId(org.thingsboard.server.common.data.id.EventId)

Aggregations

Event (org.thingsboard.server.common.data.Event)20 Test (org.junit.Test)8 UUID (java.util.UUID)6 DeviceId (org.thingsboard.server.common.data.id.DeviceId)6 TenantId (org.thingsboard.server.common.data.id.TenantId)6 EventId (org.thingsboard.server.common.data.id.EventId)4 TimePageLink (org.thingsboard.server.common.data.page.TimePageLink)4 AbstractJpaDaoTest (org.thingsboard.server.dao.AbstractJpaDaoTest)4 AbstractServiceTest (org.thingsboard.server.dao.service.AbstractServiceTest)4 RuleId (org.thingsboard.server.common.data.id.RuleId)2 ComponentLifecycleEvent (org.thingsboard.server.common.data.plugin.ComponentLifecycleEvent)2 JsonNode (com.fasterxml.jackson.databind.JsonNode)1 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)1 DatabaseSetup (com.github.springtestdbunit.annotation.DatabaseSetup)1 IOException (java.io.IOException)1 VelocityContext (org.apache.velocity.VelocityContext)1 EntityId (org.thingsboard.server.common.data.id.EntityId)1