Commit 457b5d1250d2b71f49cb07ad49a3c2f13d369457

Authored by viktorbasanets
1 parent 66b33028

Created entity-view dao for nosql db

@@ -16,22 +16,24 @@ @@ -16,22 +16,24 @@
16 package org.thingsboard.server.dao.entityview; 16 package org.thingsboard.server.dao.entityview;
17 17
18 import com.datastax.driver.core.Statement; 18 import com.datastax.driver.core.Statement;
  19 +import com.datastax.driver.core.querybuilder.Select;
19 import lombok.extern.slf4j.Slf4j; 20 import lombok.extern.slf4j.Slf4j;
20 import org.springframework.stereotype.Component; 21 import org.springframework.stereotype.Component;
21 import org.thingsboard.server.common.data.EntitySubtype; 22 import org.thingsboard.server.common.data.EntitySubtype;
22 import org.thingsboard.server.common.data.EntityType; 23 import org.thingsboard.server.common.data.EntityType;
23 import org.thingsboard.server.common.data.EntityView; 24 import org.thingsboard.server.common.data.EntityView;
24 import org.thingsboard.server.common.data.page.TextPageLink; 25 import org.thingsboard.server.common.data.page.TextPageLink;
  26 +import org.thingsboard.server.dao.DaoUtil;
25 import org.thingsboard.server.dao.model.EntitySubtypeEntity; 27 import org.thingsboard.server.dao.model.EntitySubtypeEntity;
26 import org.thingsboard.server.dao.model.nosql.EntityViewEntity; 28 import org.thingsboard.server.dao.model.nosql.EntityViewEntity;
27 import org.thingsboard.server.dao.nosql.CassandraAbstractSearchTextDao; 29 import org.thingsboard.server.dao.nosql.CassandraAbstractSearchTextDao;
28 import org.thingsboard.server.dao.util.NoSqlDao; 30 import org.thingsboard.server.dao.util.NoSqlDao;
29 31
30 -import java.util.List;  
31 -import java.util.Optional;  
32 -import java.util.UUID; 32 +import java.util.*;
33 33
34 -import static org.thingsboard.server.dao.model.ModelConstants.ENTITY_VIEW_TABLE_FAMILY_NAME; 34 +import static com.datastax.driver.core.querybuilder.QueryBuilder.eq;
  35 +import static com.datastax.driver.core.querybuilder.QueryBuilder.select;
  36 +import static org.thingsboard.server.dao.model.ModelConstants.*;
35 37
36 /** 38 /**
37 * Created by Victor Basanets on 9/06/2017. 39 * Created by Victor Basanets on 9/06/2017.
@@ -62,20 +64,36 @@ public class CassandraEntityViewDao extends CassandraAbstractSearchTextDao<Entit @@ -62,20 +64,36 @@ public class CassandraEntityViewDao extends CassandraAbstractSearchTextDao<Entit
62 return savedEntityView; 64 return savedEntityView;
63 } 65 }
64 66
65 - /*Wasn't done!!!*/  
66 @Override 67 @Override
67 public List<EntityView> findEntityViewByTenantId(UUID tenantId, TextPageLink pageLink) { 68 public List<EntityView> findEntityViewByTenantId(UUID tenantId, TextPageLink pageLink) {
  69 + log.debug("Try to find entity-views by tenantId [{}] and pageLink [{}]", tenantId, pageLink);
  70 + List<EntityViewEntity> entityViewEntities =
  71 + findPageWithTextSearch(ENTITY_VIEW_BY_TENANT_AND_SEARCH_TEXT_COLUMN_FAMILY_NAME,
  72 + Collections.singletonList(eq(ENTITY_VIEW_TENANT_ID_PROPERTY, tenantId)), pageLink);
68 73
  74 + log.trace("Found entity-views [{}] by tenantId [{}] and pageLink [{}]", entityViewEntities, tenantId, pageLink);
  75 + return DaoUtil.convertDataList(entityViewEntities);
69 } 76 }
70 77
71 @Override 78 @Override
72 - public Optional<EntityView> findEntityViewByTenantIdAndName(UUID tenantId, String name) {  
73 - return Optional.empty(); 79 + public Optional<EntityView> findEntityViewByTenantIdAndName(UUID tenantId, String entityViewName) {
  80 + return Optional.ofNullable(DaoUtil.getData(
  81 + findOneByStatement(select().from(ENTITY_VIEW_TENANT_AND_NAME_VIEW_NAME).where()
  82 + .and(eq(ENTITY_VIEW_TENANT_ID_PROPERTY, tenantId))
  83 + .and(eq(ENTITY_VIEW_NAME_PROPERTY, entityViewName))))
  84 + );
74 } 85 }
75 86
76 @Override 87 @Override
77 public List<EntityView> findEntityViewByTenantIdAndEntityId(UUID tenantId, UUID entityId, TextPageLink pageLink) { 88 public List<EntityView> findEntityViewByTenantIdAndEntityId(UUID tenantId, UUID entityId, TextPageLink pageLink) {
78 - return null; 89 + log.debug("Try to find entity-views by tenantId [{}], entityId[{}] and pageLink [{}]", tenantId, entityId, pageLink);
  90 + List<EntityViewEntity> entityViewEntities = findPageWithTextSearch(DEVICE_BY_CUSTOMER_AND_SEARCH_TEXT_COLUMN_FAMILY_NAME,
  91 + Arrays.asList(eq(DEVICE_CUSTOMER_ID_PROPERTY, entityId),
  92 + eq(DEVICE_TENANT_ID_PROPERTY, tenantId)),
  93 + pageLink);
  94 +
  95 + log.trace("Found entity-views [{}] by tenantId [{}], entityId [{}] and pageLink [{}]", entityViewEntities, tenantId, entityId, pageLink);
  96 + return DaoUtil.convertDataList(entityViewEntities);
79 } 97 }
80 98
81 @Override 99 @Override