Commit c4d7f52cf3e0c552286b1848074b0e6d2c1713b8
1 parent
d34c54b3
filtering EdgeEvents with TIMESERIES_UPDATE
Showing
6 changed files
with
19 additions
and
10 deletions
@@ -61,7 +61,7 @@ public class EdgeEventController extends BaseController { | @@ -61,7 +61,7 @@ public class EdgeEventController extends BaseController { | ||
61 | EdgeId edgeId = new EdgeId(toUUID(strEdgeId)); | 61 | EdgeId edgeId = new EdgeId(toUUID(strEdgeId)); |
62 | checkEdgeId(edgeId, Operation.READ); | 62 | checkEdgeId(edgeId, Operation.READ); |
63 | TimePageLink pageLink = createPageLink(limit, startTime, endTime, ascOrder, offset); | 63 | TimePageLink pageLink = createPageLink(limit, startTime, endTime, ascOrder, offset); |
64 | - return checkNotNull(edgeEventService.findEdgeEvents(tenantId, edgeId, pageLink)); | 64 | + return checkNotNull(edgeEventService.findEdgeEvents(tenantId, edgeId, pageLink, false)); |
65 | } catch (Exception e) { | 65 | } catch (Exception e) { |
66 | throw handleException(e); | 66 | throw handleException(e); |
67 | } | 67 | } |
@@ -16,9 +16,7 @@ | @@ -16,9 +16,7 @@ | ||
16 | package org.thingsboard.server.dao.edge; | 16 | package org.thingsboard.server.dao.edge; |
17 | 17 | ||
18 | import com.google.common.util.concurrent.ListenableFuture; | 18 | import com.google.common.util.concurrent.ListenableFuture; |
19 | -import org.thingsboard.server.common.data.EntityType; | ||
20 | import org.thingsboard.server.common.data.edge.EdgeEvent; | 19 | import org.thingsboard.server.common.data.edge.EdgeEvent; |
21 | -import org.thingsboard.server.common.data.edge.EdgeEventType; | ||
22 | import org.thingsboard.server.common.data.id.EdgeId; | 20 | import org.thingsboard.server.common.data.id.EdgeId; |
23 | import org.thingsboard.server.common.data.id.TenantId; | 21 | import org.thingsboard.server.common.data.id.TenantId; |
24 | import org.thingsboard.server.common.data.page.TimePageData; | 22 | import org.thingsboard.server.common.data.page.TimePageData; |
@@ -30,4 +28,5 @@ public interface EdgeEventService { | @@ -30,4 +28,5 @@ public interface EdgeEventService { | ||
30 | 28 | ||
31 | TimePageData<EdgeEvent> findEdgeEvents(TenantId tenantId, EdgeId edgeId, TimePageLink pageLink); | 29 | TimePageData<EdgeEvent> findEdgeEvents(TenantId tenantId, EdgeId edgeId, TimePageLink pageLink); |
32 | 30 | ||
31 | + TimePageData<EdgeEvent> findEdgeEvents(TenantId tenantId, EdgeId edgeId, TimePageLink pageLink, boolean withTsUpdate); | ||
33 | } | 32 | } |
@@ -35,7 +35,7 @@ import java.util.List; | @@ -35,7 +35,7 @@ import java.util.List; | ||
35 | public class BaseEdgeEventService implements EdgeEventService { | 35 | public class BaseEdgeEventService implements EdgeEventService { |
36 | 36 | ||
37 | @Autowired | 37 | @Autowired |
38 | - public EdgeEventDao edgeEventDao; | 38 | + private EdgeEventDao edgeEventDao; |
39 | 39 | ||
40 | @Override | 40 | @Override |
41 | public ListenableFuture<EdgeEvent> saveAsync(EdgeEvent edgeEvent) { | 41 | public ListenableFuture<EdgeEvent> saveAsync(EdgeEvent edgeEvent) { |
@@ -45,7 +45,12 @@ public class BaseEdgeEventService implements EdgeEventService { | @@ -45,7 +45,12 @@ public class BaseEdgeEventService implements EdgeEventService { | ||
45 | 45 | ||
46 | @Override | 46 | @Override |
47 | public TimePageData<EdgeEvent> findEdgeEvents(TenantId tenantId, EdgeId edgeId, TimePageLink pageLink) { | 47 | public TimePageData<EdgeEvent> findEdgeEvents(TenantId tenantId, EdgeId edgeId, TimePageLink pageLink) { |
48 | - List<EdgeEvent> events = edgeEventDao.findEdgeEvents(tenantId.getId(), edgeId, pageLink); | 48 | + return findEdgeEvents(tenantId, edgeId, pageLink, true); |
49 | + } | ||
50 | + | ||
51 | + @Override | ||
52 | + public TimePageData<EdgeEvent> findEdgeEvents(TenantId tenantId, EdgeId edgeId, TimePageLink pageLink, boolean withTsUpdate) { | ||
53 | + List<EdgeEvent> events = edgeEventDao.findEdgeEvents(tenantId.getId(), edgeId, pageLink, withTsUpdate); | ||
49 | return new TimePageData<>(events, pageLink); | 54 | return new TimePageData<>(events, pageLink); |
50 | } | 55 | } |
51 | 56 |
@@ -53,7 +53,7 @@ public class CassandraEdgeEventDao extends CassandraAbstractSearchTimeDao<EdgeEv | @@ -53,7 +53,7 @@ public class CassandraEdgeEventDao extends CassandraAbstractSearchTimeDao<EdgeEv | ||
53 | } | 53 | } |
54 | 54 | ||
55 | @Override | 55 | @Override |
56 | - public List<EdgeEvent> findEdgeEvents(UUID tenantId, EdgeId edgeId, TimePageLink pageLink) { | 56 | + public List<EdgeEvent> findEdgeEvents(UUID tenantId, EdgeId edgeId, TimePageLink pageLink, boolean withTsUpdate) { |
57 | return null; | 57 | return null; |
58 | } | 58 | } |
59 | } | 59 | } |
@@ -46,6 +46,6 @@ public interface EdgeEventDao extends Dao<EdgeEvent> { | @@ -46,6 +46,6 @@ public interface EdgeEventDao extends Dao<EdgeEvent> { | ||
46 | * @param pageLink the pageLink | 46 | * @param pageLink the pageLink |
47 | * @return the event list | 47 | * @return the event list |
48 | */ | 48 | */ |
49 | - List<EdgeEvent> findEdgeEvents(UUID tenantId, EdgeId edgeId, TimePageLink pageLink); | 49 | + List<EdgeEvent> findEdgeEvents(UUID tenantId, EdgeId edgeId, TimePageLink pageLink, boolean withTsUpdate); |
50 | 50 | ||
51 | } | 51 | } |
@@ -26,6 +26,7 @@ import org.springframework.data.jpa.domain.Specification; | @@ -26,6 +26,7 @@ import org.springframework.data.jpa.domain.Specification; | ||
26 | import org.springframework.data.repository.CrudRepository; | 26 | import org.springframework.data.repository.CrudRepository; |
27 | import org.springframework.stereotype.Component; | 27 | import org.springframework.stereotype.Component; |
28 | import org.thingsboard.server.common.data.UUIDConverter; | 28 | import org.thingsboard.server.common.data.UUIDConverter; |
29 | +import org.thingsboard.server.common.data.audit.ActionType; | ||
29 | import org.thingsboard.server.common.data.edge.EdgeEvent; | 30 | import org.thingsboard.server.common.data.edge.EdgeEvent; |
30 | import org.thingsboard.server.common.data.id.EdgeEventId; | 31 | import org.thingsboard.server.common.data.id.EdgeEventId; |
31 | import org.thingsboard.server.common.data.id.EdgeId; | 32 | import org.thingsboard.server.common.data.id.EdgeId; |
@@ -75,9 +76,9 @@ public class JpaBaseEdgeEventDao extends JpaAbstractSearchTimeDao<EdgeEventEntit | @@ -75,9 +76,9 @@ public class JpaBaseEdgeEventDao extends JpaAbstractSearchTimeDao<EdgeEventEntit | ||
75 | } | 76 | } |
76 | 77 | ||
77 | @Override | 78 | @Override |
78 | - public List<EdgeEvent> findEdgeEvents(UUID tenantId, EdgeId edgeId, TimePageLink pageLink) { | 79 | + public List<EdgeEvent> findEdgeEvents(UUID tenantId, EdgeId edgeId, TimePageLink pageLink, boolean withTsUpdate) { |
79 | Specification<EdgeEventEntity> timeSearchSpec = JpaAbstractSearchTimeDao.getTimeSearchPageSpec(pageLink, "id"); | 80 | Specification<EdgeEventEntity> timeSearchSpec = JpaAbstractSearchTimeDao.getTimeSearchPageSpec(pageLink, "id"); |
80 | - Specification<EdgeEventEntity> fieldsSpec = getEntityFieldsSpec(tenantId, edgeId); | 81 | + Specification<EdgeEventEntity> fieldsSpec = getEntityFieldsSpec(tenantId, edgeId, withTsUpdate); |
81 | Sort.Direction sortDirection = pageLink.isAscOrder() ? Sort.Direction.ASC : Sort.Direction.DESC; | 82 | Sort.Direction sortDirection = pageLink.isAscOrder() ? Sort.Direction.ASC : Sort.Direction.DESC; |
82 | Pageable pageable = PageRequest.of(0, pageLink.getLimit(), sortDirection, ID_PROPERTY); | 83 | Pageable pageable = PageRequest.of(0, pageLink.getLimit(), sortDirection, ID_PROPERTY); |
83 | return DaoUtil.convertDataList(edgeEventRepository.findAll(Specification.where(timeSearchSpec).and(fieldsSpec), pageable).getContent()); | 84 | return DaoUtil.convertDataList(edgeEventRepository.findAll(Specification.where(timeSearchSpec).and(fieldsSpec), pageable).getContent()); |
@@ -95,7 +96,7 @@ public class JpaBaseEdgeEventDao extends JpaAbstractSearchTimeDao<EdgeEventEntit | @@ -95,7 +96,7 @@ public class JpaBaseEdgeEventDao extends JpaAbstractSearchTimeDao<EdgeEventEntit | ||
95 | return Optional.of(DaoUtil.getData(edgeEventRepository.save(entity))); | 96 | return Optional.of(DaoUtil.getData(edgeEventRepository.save(entity))); |
96 | } | 97 | } |
97 | 98 | ||
98 | - private Specification<EdgeEventEntity> getEntityFieldsSpec(UUID tenantId, EdgeId edgeId) { | 99 | + private Specification<EdgeEventEntity> getEntityFieldsSpec(UUID tenantId, EdgeId edgeId, boolean withTsUpdate) { |
99 | return (root, criteriaQuery, criteriaBuilder) -> { | 100 | return (root, criteriaQuery, criteriaBuilder) -> { |
100 | List<Predicate> predicates = new ArrayList<>(); | 101 | List<Predicate> predicates = new ArrayList<>(); |
101 | if (tenantId != null) { | 102 | if (tenantId != null) { |
@@ -106,6 +107,10 @@ public class JpaBaseEdgeEventDao extends JpaAbstractSearchTimeDao<EdgeEventEntit | @@ -106,6 +107,10 @@ public class JpaBaseEdgeEventDao extends JpaAbstractSearchTimeDao<EdgeEventEntit | ||
106 | Predicate entityIdPredicate = criteriaBuilder.equal(root.get("edgeId"), UUIDConverter.fromTimeUUID(edgeId.getId())); | 107 | Predicate entityIdPredicate = criteriaBuilder.equal(root.get("edgeId"), UUIDConverter.fromTimeUUID(edgeId.getId())); |
107 | predicates.add(entityIdPredicate); | 108 | predicates.add(entityIdPredicate); |
108 | } | 109 | } |
110 | + if (!withTsUpdate) { | ||
111 | + Predicate edgeEventActionPredicate = criteriaBuilder.notEqual(root.get("edgeEventAction"), ActionType.TIMESERIES_UPDATED.name()); | ||
112 | + predicates.add(edgeEventActionPredicate); | ||
113 | + } | ||
109 | return criteriaBuilder.and(predicates.toArray(new Predicate[]{})); | 114 | return criteriaBuilder.and(predicates.toArray(new Predicate[]{})); |
110 | }; | 115 | }; |
111 | } | 116 | } |