Commit 457b5d1250d2b71f49cb07ad49a3c2f13d369457
1 parent
66b33028
Created entity-view dao for nosql db
Showing
1 changed file
with
26 additions
and
8 deletions
... | ... | @@ -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 | ... | ... |