thingsboard-aplcache

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]));
         };
     }
 }