Fixed Time page link query for SQL database.
This commit is contained in:
parent
ade282fdc1
commit
d426d0c0ad
@ -130,11 +130,9 @@ public class DefaultActorService implements ActorService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void process(SessionAwareMsg msg) {
|
public void process(SessionAwareMsg msg) {
|
||||||
if (msg instanceof SessionAwareMsg) {
|
|
||||||
log.debug("Processing session aware msg: {}", msg);
|
log.debug("Processing session aware msg: {}", msg);
|
||||||
sessionManagerActor.tell(msg, ActorRef.noSender());
|
sessionManagerActor.tell(msg, ActorRef.noSender());
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void process(PluginWebsocketMsg<?> msg) {
|
public void process(PluginWebsocketMsg<?> msg) {
|
||||||
|
|||||||
@ -102,7 +102,7 @@ public class JpaBaseEventDao extends JpaAbstractSearchTimeDao<EventEntity, Event
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Event> findEvents(UUID tenantId, EntityId entityId, String eventType, TimePageLink pageLink) {
|
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);
|
Specification<EventEntity> fieldsSpec = getEntityFieldsSpec(tenantId, entityId, eventType);
|
||||||
Sort.Direction sortDirection = pageLink.isAscOrder() ? Sort.Direction.ASC : Sort.Direction.DESC;
|
Sort.Direction sortDirection = pageLink.isAscOrder() ? Sort.Direction.ASC : Sort.Direction.DESC;
|
||||||
Pageable pageable = new PageRequest(0, pageLink.getLimit(), sortDirection, ID_PROPERTY);
|
Pageable pageable = new PageRequest(0, pageLink.getLimit(), sortDirection, ID_PROPERTY);
|
||||||
@ -129,10 +129,8 @@ public class JpaBaseEventDao extends JpaAbstractSearchTimeDao<EventEntity, Event
|
|||||||
}
|
}
|
||||||
|
|
||||||
private Specification<EventEntity> getEntityFieldsSpec(UUID tenantId, EntityId entityId, String eventType) {
|
private Specification<EventEntity> getEntityFieldsSpec(UUID tenantId, EntityId entityId, String eventType) {
|
||||||
return new Specification<EventEntity>() {
|
return (root, criteriaQuery, criteriaBuilder) -> {
|
||||||
@Override
|
List<Predicate> predicates = new ArrayList<>();
|
||||||
public Predicate toPredicate(Root<EventEntity> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
|
|
||||||
List<Predicate> predicates = new ArrayList<Predicate>();
|
|
||||||
if (tenantId != null) {
|
if (tenantId != null) {
|
||||||
Predicate tenantIdPredicate = criteriaBuilder.equal(root.get("tenantId"), UUIDConverter.fromTimeUUID(tenantId));
|
Predicate tenantIdPredicate = criteriaBuilder.equal(root.get("tenantId"), UUIDConverter.fromTimeUUID(tenantId));
|
||||||
predicates.add(tenantIdPredicate);
|
predicates.add(tenantIdPredicate);
|
||||||
@ -148,7 +146,6 @@ public class JpaBaseEventDao extends JpaAbstractSearchTimeDao<EventEntity, Event
|
|||||||
predicates.add(eventTypePredicate);
|
predicates.add(eventTypePredicate);
|
||||||
}
|
}
|
||||||
return criteriaBuilder.and(predicates.toArray(new Predicate[]{}));
|
return criteriaBuilder.and(predicates.toArray(new Predicate[]{}));
|
||||||
}
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -160,22 +160,16 @@ public class JpaRelationDao extends JpaAbstractDaoListeningExecutorService imple
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ListenableFuture<List<EntityRelation>> findRelations(EntityId from, String relationType, RelationTypeGroup typeGroup, EntityType childType, TimePageLink pageLink) {
|
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);
|
Specification<RelationEntity> fieldsSpec = getEntityFieldsSpec(from, relationType, typeGroup, childType);
|
||||||
Pageable pageable = new PageRequest(0, pageLink.getLimit(),
|
Sort.Direction sortDirection = pageLink.isAscOrder() ? Sort.Direction.ASC : Sort.Direction.DESC;
|
||||||
new Sort(
|
Pageable pageable = new PageRequest(0, pageLink.getLimit(), sortDirection, "toId");
|
||||||
new Order(ASC, "relationTypeGroup"),
|
|
||||||
new Order(ASC, "relationType"),
|
|
||||||
new Order(ASC, "toType"))
|
|
||||||
);
|
|
||||||
return service.submit(() ->
|
return service.submit(() ->
|
||||||
DaoUtil.convertDataList(relationRepository.findAll(where(timeSearchSpec).and(fieldsSpec), pageable).getContent()));
|
DaoUtil.convertDataList(relationRepository.findAll(where(timeSearchSpec).and(fieldsSpec), pageable).getContent()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private Specification<RelationEntity> getEntityFieldsSpec(EntityId from, String relationType, RelationTypeGroup typeGroup, EntityType childType) {
|
private Specification<RelationEntity> getEntityFieldsSpec(EntityId from, String relationType, RelationTypeGroup typeGroup, EntityType childType) {
|
||||||
return new Specification<RelationEntity>() {
|
return (root, criteriaQuery, criteriaBuilder) -> {
|
||||||
@Override
|
|
||||||
public Predicate toPredicate(Root<RelationEntity> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
|
|
||||||
List<Predicate> predicates = new ArrayList<>();
|
List<Predicate> predicates = new ArrayList<>();
|
||||||
if (from != null) {
|
if (from != null) {
|
||||||
Predicate fromIdPredicate = criteriaBuilder.equal(root.get("fromId"), UUIDConverter.fromTimeUUID(from.getId()));
|
Predicate fromIdPredicate = criteriaBuilder.equal(root.get("fromId"), UUIDConverter.fromTimeUUID(from.getId()));
|
||||||
@ -196,7 +190,6 @@ public class JpaRelationDao extends JpaAbstractDaoListeningExecutorService imple
|
|||||||
predicates.add(childTypePredicate);
|
predicates.add(childTypePredicate);
|
||||||
}
|
}
|
||||||
return criteriaBuilder.and(predicates.toArray(new Predicate[0]));
|
return criteriaBuilder.and(predicates.toArray(new Predicate[0]));
|
||||||
}
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user