Commit 457b5d1250d2b71f49cb07ad49a3c2f13d369457

Authored by viktorbasanets
1 parent 66b33028

Created entity-view dao for nosql db

... ... @@ -16,22 +16,24 @@
16 16 package org.thingsboard.server.dao.entityview;
17 17
18 18 import com.datastax.driver.core.Statement;
  19 +import com.datastax.driver.core.querybuilder.Select;
19 20 import lombok.extern.slf4j.Slf4j;
20 21 import org.springframework.stereotype.Component;
21 22 import org.thingsboard.server.common.data.EntitySubtype;
22 23 import org.thingsboard.server.common.data.EntityType;
23 24 import org.thingsboard.server.common.data.EntityView;
24 25 import org.thingsboard.server.common.data.page.TextPageLink;
  26 +import org.thingsboard.server.dao.DaoUtil;
25 27 import org.thingsboard.server.dao.model.EntitySubtypeEntity;
26 28 import org.thingsboard.server.dao.model.nosql.EntityViewEntity;
27 29 import org.thingsboard.server.dao.nosql.CassandraAbstractSearchTextDao;
28 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 39 * Created by Victor Basanets on 9/06/2017.
... ... @@ -62,20 +64,36 @@ public class CassandraEntityViewDao extends CassandraAbstractSearchTextDao<Entit
62 64 return savedEntityView;
63 65 }
64 66
65   - /*Wasn't done!!!*/
66 67 @Override
67 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 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 87 @Override
77 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 99 @Override
... ...