Browse Source

JPA Dao misc fixes due to test failures

pull/152/head
Volodymyr Babak 9 years ago
parent
commit
3c47789a3f
  1. 2
      dao/src/main/java/org/thingsboard/server/dao/model/sql/RelationCompositeKey.java
  2. 14
      dao/src/main/java/org/thingsboard/server/dao/model/sql/TsKvLatestEntity.java
  3. 2
      dao/src/main/java/org/thingsboard/server/dao/sql/event/JpaBaseEventDao.java
  4. 18
      dao/src/main/java/org/thingsboard/server/dao/sql/relation/JpaRelationDao.java
  5. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/relation/RelationRepository.java
  6. 5
      dao/src/main/java/org/thingsboard/server/dao/sql/timeseries/JpaTimeseriesDao.java

2
dao/src/main/java/org/thingsboard/server/dao/model/sql/RelationCompositeKey.java

@ -36,8 +36,8 @@ public class RelationCompositeKey implements Serializable {
private String fromType;
private UUID toId;
private String toType;
private String relationTypeGroup;
private String relationType;
private String relationTypeGroup;
public RelationCompositeKey(EntityRelation relation) {
this.fromId = relation.getFrom().getId();

14
dao/src/main/java/org/thingsboard/server/dao/model/sql/TsKvLatestEntity.java

@ -18,7 +18,7 @@ package org.thingsboard.server.dao.model.sql;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.thingsboard.server.common.data.kv.TsKvEntry;
import org.thingsboard.server.common.data.kv.*;
import org.thingsboard.server.dao.model.ToData;
import javax.persistence.*;
@ -63,6 +63,16 @@ public final class TsKvLatestEntity implements ToData<TsKvEntry> {
@Override
public TsKvEntry toData() {
return null;
KvEntry kvEntry = null;
if (strValue != null) {
kvEntry = new StringDataEntry(key, strValue);
} else if (longValue != null) {
kvEntry = new LongDataEntry(key, longValue);
} else if (doubleValue != null) {
kvEntry = new DoubleDataEntry(key, doubleValue);
} else if (booleanValue != null) {
kvEntry = new BooleanDataEntry(key, booleanValue);
}
return new BasicTsKvEntry(ts, kvEntry);
}
}

2
dao/src/main/java/org/thingsboard/server/dao/sql/event/JpaBaseEventDao.java

@ -100,7 +100,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_PROPERTY);
Specification<EventEntity> timeSearchSpec = JpaAbstractSearchTimeDao.<EventEntity>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);

18
dao/src/main/java/org/thingsboard/server/dao/sql/relation/JpaRelationDao.java

@ -144,29 +144,25 @@ public class JpaRelationDao extends JpaAbstractDaoListeningExecutorService imple
@Override
public ListenableFuture<Boolean> deleteOutboundRelations(EntityId entity) {
RelationEntity relationEntity = new RelationEntity();
relationEntity.setFromId(entity.getId());
relationEntity.setFromType(entity.getEntityType().name());
return service.submit(
() -> {
boolean relationExistsBeforeDelete = relationRepository
.findAllByFromIdAndFromType(relationEntity.getFromId(), relationEntity.getFromType())
.findAllByFromIdAndFromType(entity.getId(), entity.getEntityType().name())
.size() > 0;
relationRepository.delete(relationEntity);
relationRepository.deleteByFromIdAndFromType(entity.getId(), entity.getEntityType().name());
return relationExistsBeforeDelete;
});
}
@Override
public ListenableFuture<List<EntityRelation>> findRelations(EntityId from, String relationType, RelationTypeGroup typeGroup, EntityType childType, TimePageLink pageLink) {
Specification<RelationEntity> timeSearchSpec = JpaAbstractSearchTimeDao.<RelationEntity>getTimeSearchPageSpec(pageLink, RELATION_TO_ID_PROPERTY);
Specification<RelationEntity> timeSearchSpec = JpaAbstractSearchTimeDao.<RelationEntity>getTimeSearchPageSpec(pageLink, "toId");
Specification<RelationEntity> fieldsSpec = getEntityFieldsSpec(from, relationType, typeGroup, childType);
Pageable pageable = new PageRequest(0, pageLink.getLimit(),
new Sort(
new Order(ASC, RELATION_TYPE_GROUP_PROPERTY),
new Order(ASC, RELATION_TYPE_PROPERTY),
new Order(ASC, RELATION_TO_TYPE_PROPERTY))
new Order(ASC, "relationTypeGroup"),
new Order(ASC, "relationType"),
new Order(ASC, "toType"))
);
return service.submit(() ->
DaoUtil.convertDataList(relationRepository.findAll(where(timeSearchSpec).and(fieldsSpec), pageable).getContent()));
@ -188,7 +184,7 @@ public class JpaRelationDao extends JpaAbstractDaoListeningExecutorService imple
predicates.add(relationTypePredicate);
}
if (typeGroup != null) {
Predicate typeGroupPredicate = criteriaBuilder.equal(root.get("relationTypeGroup"), typeGroup);
Predicate typeGroupPredicate = criteriaBuilder.equal(root.get("relationTypeGroup"), typeGroup.name());
predicates.add(typeGroupPredicate);
}
if (childType != null) {

4
dao/src/main/java/org/thingsboard/server/dao/sql/relation/RelationRepository.java

@ -21,6 +21,7 @@ import org.thingsboard.server.dao.annotation.SqlDao;
import org.thingsboard.server.dao.model.sql.RelationCompositeKey;
import org.thingsboard.server.dao.model.sql.RelationEntity;
import javax.transaction.Transactional;
import java.util.List;
import java.util.UUID;
@ -48,4 +49,7 @@ public interface RelationRepository
List<RelationEntity> findAllByFromIdAndFromType(UUID fromId,
String fromType);
@Transactional
List<RelationEntity> deleteByFromIdAndFromType(UUID fromId, String fromType);
}

5
dao/src/main/java/org/thingsboard/server/dao/sql/timeseries/JpaTimeseriesDao.java

@ -46,7 +46,8 @@ public class JpaTimeseriesDao extends JpaAbstractDaoListeningExecutorService imp
@Override
public ListenableFuture<List<TsKvEntry>> findAllAsync(EntityId entityId, List<TsKvQuery> queries) {
return null;
// TODO - Add implementation
return service.submit(() -> null);
}
private ListenableFuture<List<TsKvEntry>> findAllAsync(EntityId entityId, TsKvQuery query) {
@ -92,7 +93,7 @@ public class JpaTimeseriesDao extends JpaAbstractDaoListeningExecutorService imp
@Override
public ListenableFuture<Void> savePartition(EntityId entityId, long tsKvEntryTs, String key, long ttl) {
return null;
return service.submit(() -> null);
}
@Override

Loading…
Cancel
Save