Details
diff --git a/application/src/main/java/org/thingsboard/server/actors/service/DefaultActorService.java b/application/src/main/java/org/thingsboard/server/actors/service/DefaultActorService.java
index 3ebe905..7bc254b 100644
--- a/application/src/main/java/org/thingsboard/server/actors/service/DefaultActorService.java
+++ b/application/src/main/java/org/thingsboard/server/actors/service/DefaultActorService.java
@@ -130,10 +130,8 @@ public class DefaultActorService implements ActorService {
@Override
public void process(SessionAwareMsg msg) {
- if (msg instanceof SessionAwareMsg) {
- log.debug("Processing session aware msg: {}", msg);
- sessionManagerActor.tell(msg, ActorRef.noSender());
- }
+ log.debug("Processing session aware msg: {}", msg);
+ sessionManagerActor.tell(msg, ActorRef.noSender());
}
@Override
diff --git a/dao/src/main/java/org/thingsboard/server/dao/sql/event/JpaBaseEventDao.java b/dao/src/main/java/org/thingsboard/server/dao/sql/event/JpaBaseEventDao.java
index 5814643..9bf8265 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/sql/event/JpaBaseEventDao.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/sql/event/JpaBaseEventDao.java
@@ -102,7 +102,7 @@ public class JpaBaseEventDao extends JpaAbstractSearchTimeDao<EventEntity, Event
@Override
public List<Event> findEvents(UUID tenantId, EntityId entityId, String eventType, TimePageLink pageLink) {
- Specification<EventEntity> timeSearchSpec = JpaAbstractSearchTimeDao.<EventEntity>getTimeSearchPageSpec(pageLink, "id");
+ Specification<EventEntity> timeSearchSpec = JpaAbstractSearchTimeDao.getTimeSearchPageSpec(pageLink, "id");
Specification<EventEntity> fieldsSpec = getEntityFieldsSpec(tenantId, entityId, eventType);
Sort.Direction sortDirection = pageLink.isAscOrder() ? Sort.Direction.ASC : Sort.Direction.DESC;
Pageable pageable = new PageRequest(0, pageLink.getLimit(), sortDirection, ID_PROPERTY);
@@ -129,26 +129,23 @@ public class JpaBaseEventDao extends JpaAbstractSearchTimeDao<EventEntity, Event
}
private Specification<EventEntity> getEntityFieldsSpec(UUID tenantId, EntityId entityId, String eventType) {
- return new Specification<EventEntity>() {
- @Override
- public Predicate toPredicate(Root<EventEntity> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
- List<Predicate> predicates = new ArrayList<Predicate>();
- if (tenantId != null) {
- Predicate tenantIdPredicate = criteriaBuilder.equal(root.get("tenantId"), UUIDConverter.fromTimeUUID(tenantId));
- predicates.add(tenantIdPredicate);
- }
- if (entityId != null) {
- Predicate entityTypePredicate = criteriaBuilder.equal(root.get("entityType"), entityId.getEntityType());
- predicates.add(entityTypePredicate);
- Predicate entityIdPredicate = criteriaBuilder.equal(root.get("entityId"), UUIDConverter.fromTimeUUID(entityId.getId()));
- predicates.add(entityIdPredicate);
- }
- if (eventType != null) {
- Predicate eventTypePredicate = criteriaBuilder.equal(root.get("eventType"), eventType);
- predicates.add(eventTypePredicate);
- }
- return criteriaBuilder.and(predicates.toArray(new Predicate[]{}));
+ return (root, criteriaQuery, criteriaBuilder) -> {
+ List<Predicate> predicates = new ArrayList<>();
+ if (tenantId != null) {
+ Predicate tenantIdPredicate = criteriaBuilder.equal(root.get("tenantId"), UUIDConverter.fromTimeUUID(tenantId));
+ predicates.add(tenantIdPredicate);
}
+ if (entityId != null) {
+ Predicate entityTypePredicate = criteriaBuilder.equal(root.get("entityType"), entityId.getEntityType());
+ predicates.add(entityTypePredicate);
+ Predicate entityIdPredicate = criteriaBuilder.equal(root.get("entityId"), UUIDConverter.fromTimeUUID(entityId.getId()));
+ predicates.add(entityIdPredicate);
+ }
+ if (eventType != null) {
+ Predicate eventTypePredicate = criteriaBuilder.equal(root.get("eventType"), eventType);
+ predicates.add(eventTypePredicate);
+ }
+ return criteriaBuilder.and(predicates.toArray(new Predicate[]{}));
};
}
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/sql/relation/JpaRelationDao.java b/dao/src/main/java/org/thingsboard/server/dao/sql/relation/JpaRelationDao.java
index 389348b..16aabac 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/sql/relation/JpaRelationDao.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/sql/relation/JpaRelationDao.java
@@ -160,43 +160,36 @@ public class JpaRelationDao extends JpaAbstractDaoListeningExecutorService imple
@Override
public ListenableFuture<List<EntityRelation>> findRelations(EntityId from, String relationType, RelationTypeGroup typeGroup, EntityType childType, TimePageLink pageLink) {
- Specification<RelationEntity> timeSearchSpec = JpaAbstractSearchTimeDao.<RelationEntity>getTimeSearchPageSpec(pageLink, "toId");
+ Specification<RelationEntity> timeSearchSpec = JpaAbstractSearchTimeDao.getTimeSearchPageSpec(pageLink, "toId");
Specification<RelationEntity> fieldsSpec = getEntityFieldsSpec(from, relationType, typeGroup, childType);
- Pageable pageable = new PageRequest(0, pageLink.getLimit(),
- new Sort(
- new Order(ASC, "relationTypeGroup"),
- new Order(ASC, "relationType"),
- new Order(ASC, "toType"))
- );
+ Sort.Direction sortDirection = pageLink.isAscOrder() ? Sort.Direction.ASC : Sort.Direction.DESC;
+ Pageable pageable = new PageRequest(0, pageLink.getLimit(), sortDirection, "toId");
return service.submit(() ->
DaoUtil.convertDataList(relationRepository.findAll(where(timeSearchSpec).and(fieldsSpec), pageable).getContent()));
}
private Specification<RelationEntity> getEntityFieldsSpec(EntityId from, String relationType, RelationTypeGroup typeGroup, EntityType childType) {
- return new Specification<RelationEntity>() {
- @Override
- public Predicate toPredicate(Root<RelationEntity> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
- List<Predicate> predicates = new ArrayList<>();
- if (from != null) {
- Predicate fromIdPredicate = criteriaBuilder.equal(root.get("fromId"), UUIDConverter.fromTimeUUID(from.getId()));
- predicates.add(fromIdPredicate);
- Predicate fromEntityTypePredicate = criteriaBuilder.equal(root.get("fromType"), from.getEntityType().name());
- predicates.add(fromEntityTypePredicate);
- }
- if (relationType != null) {
- Predicate relationTypePredicate = criteriaBuilder.equal(root.get("relationType"), relationType);
- predicates.add(relationTypePredicate);
- }
- if (typeGroup != null) {
- Predicate typeGroupPredicate = criteriaBuilder.equal(root.get("relationTypeGroup"), typeGroup.name());
- predicates.add(typeGroupPredicate);
- }
- if (childType != null) {
- Predicate childTypePredicate = criteriaBuilder.equal(root.get("toType"), childType.name());
- predicates.add(childTypePredicate);
- }
- return criteriaBuilder.and(predicates.toArray(new Predicate[0]));
+ return (root, criteriaQuery, criteriaBuilder) -> {
+ List<Predicate> predicates = new ArrayList<>();
+ if (from != null) {
+ Predicate fromIdPredicate = criteriaBuilder.equal(root.get("fromId"), UUIDConverter.fromTimeUUID(from.getId()));
+ predicates.add(fromIdPredicate);
+ Predicate fromEntityTypePredicate = criteriaBuilder.equal(root.get("fromType"), from.getEntityType().name());
+ predicates.add(fromEntityTypePredicate);
}
+ if (relationType != null) {
+ Predicate relationTypePredicate = criteriaBuilder.equal(root.get("relationType"), relationType);
+ predicates.add(relationTypePredicate);
+ }
+ if (typeGroup != null) {
+ Predicate typeGroupPredicate = criteriaBuilder.equal(root.get("relationTypeGroup"), typeGroup.name());
+ predicates.add(typeGroupPredicate);
+ }
+ if (childType != null) {
+ Predicate childTypePredicate = criteriaBuilder.equal(root.get("toType"), childType.name());
+ predicates.add(childTypePredicate);
+ }
+ return criteriaBuilder.and(predicates.toArray(new Predicate[0]));
};
}
}