Commit 1983235b3fbbc21d722aacf36994f696d04afc19

Authored by Volodymyr Babak
1 parent 09858d65

Test fixed. Moving classes into new packages

Showing 100 changed files with 194 additions and 162 deletions

Too many changes to show.

To preserve performance only 100 of 164 files are displayed.

... ... @@ -80,7 +80,7 @@ import static org.springframework.test.web.servlet.setup.MockMvcBuilders.webAppC
80 80 @ActiveProfiles("test")
81 81 @RunWith(SpringRunner.class)
82 82 @ContextConfiguration(classes = AbstractControllerTest.class, loader = SpringBootContextLoader.class)
83   -@TestPropertySource(locations = {"classpath:cassandra-test.properties", "classpath:application-test.properties"})
  83 +@TestPropertySource(locations = {"classpath:cassandra-test.properties", "classpath:application-test.properties", "classpath:nosql-test.properties"})
84 84 @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS)
85 85 @Configuration
86 86 @ComponentScan({"org.thingsboard.server"})
... ...
... ... @@ -21,7 +21,7 @@ import org.springframework.context.annotation.ComponentScan;
21 21 import org.springframework.context.annotation.Configuration;
22 22 import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
23 23 import org.springframework.transaction.annotation.EnableTransactionManagement;
24   -import org.thingsboard.server.dao.annotation.SqlDao;
  24 +import org.thingsboard.server.dao.util.SqlDao;
25 25
26 26 /**
27 27 * @author Valerii Sosliuk
... ...
... ... @@ -20,7 +20,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
20 20 import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration;
21 21 import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
22 22 import org.springframework.context.annotation.Configuration;
23   -import org.thingsboard.server.dao.annotation.NoSqlDao;
  23 +import org.thingsboard.server.dao.util.NoSqlDao;
24 24
25 25 @Configuration
26 26 @EnableAutoConfiguration(
... ...
... ... @@ -33,8 +33,8 @@ import org.thingsboard.server.common.data.id.EntityId;
33 33 import org.thingsboard.server.common.data.id.TenantId;
34 34 import org.thingsboard.server.common.data.relation.EntityRelation;
35 35 import org.thingsboard.server.common.data.relation.RelationTypeGroup;
36   -import org.thingsboard.server.dao.CassandraAbstractModelDao;
37   -import org.thingsboard.server.dao.annotation.NoSqlDao;
  36 +import org.thingsboard.server.dao.nosql.CassandraAbstractModelDao;
  37 +import org.thingsboard.server.dao.util.NoSqlDao;
38 38 import org.thingsboard.server.dao.model.ModelConstants;
39 39 import org.thingsboard.server.dao.model.nosql.AlarmEntity;
40 40 import org.thingsboard.server.dao.relation.RelationDao;
... ...
... ... @@ -27,9 +27,9 @@ import org.springframework.stereotype.Component;
27 27 import org.thingsboard.server.common.data.asset.Asset;
28 28 import org.thingsboard.server.common.data.asset.TenantAssetType;
29 29 import org.thingsboard.server.common.data.page.TextPageLink;
30   -import org.thingsboard.server.dao.CassandraAbstractSearchTextDao;
  30 +import org.thingsboard.server.dao.nosql.CassandraAbstractSearchTextDao;
31 31 import org.thingsboard.server.dao.DaoUtil;
32   -import org.thingsboard.server.dao.annotation.NoSqlDao;
  32 +import org.thingsboard.server.dao.util.NoSqlDao;
33 33 import org.thingsboard.server.dao.model.TenantAssetTypeEntity;
34 34 import org.thingsboard.server.dao.model.nosql.AssetEntity;
35 35
... ...
... ... @@ -26,8 +26,8 @@ import org.springframework.stereotype.Component;
26 26 import org.thingsboard.server.common.data.id.EntityId;
27 27 import org.thingsboard.server.common.data.kv.AttributeKvEntry;
28 28 import org.thingsboard.server.common.data.kv.BaseAttributeKvEntry;
29   -import org.thingsboard.server.dao.CassandraAbstractAsyncDao;
30   -import org.thingsboard.server.dao.annotation.NoSqlDao;
  29 +import org.thingsboard.server.dao.nosql.CassandraAbstractAsyncDao;
  30 +import org.thingsboard.server.dao.util.NoSqlDao;
31 31 import org.thingsboard.server.dao.model.ModelConstants;
32 32 import org.thingsboard.server.dao.timeseries.CassandraBaseTimeseriesDao;
33 33
... ...
... ... @@ -26,7 +26,7 @@ import org.apache.commons.lang3.StringUtils;
26 26 import org.springframework.beans.factory.annotation.Autowired;
27 27 import org.springframework.beans.factory.annotation.Value;
28 28 import org.springframework.stereotype.Component;
29   -import org.thingsboard.server.dao.annotation.NoSqlDao;
  29 +import org.thingsboard.server.dao.util.NoSqlDao;
30 30
31 31 import javax.annotation.PostConstruct;
32 32 import javax.annotation.PreDestroy;
... ...
... ... @@ -21,12 +21,14 @@ import lombok.Data;
21 21 import org.springframework.beans.factory.annotation.Value;
22 22 import org.springframework.context.annotation.Configuration;
23 23 import org.springframework.stereotype.Component;
  24 +import org.thingsboard.server.dao.util.NoSqlDao;
24 25
25 26 import javax.annotation.PostConstruct;
26 27
27 28 @Component
28 29 @Configuration
29 30 @Data
  31 +@NoSqlDao
30 32 public class CassandraQueryOptions {
31 33
32 34 @Value("${cassandra.query.default_fetch_size}")
... ...
... ... @@ -20,12 +20,14 @@ import lombok.Data;
20 20 import org.springframework.beans.factory.annotation.Value;
21 21 import org.springframework.context.annotation.Configuration;
22 22 import org.springframework.stereotype.Component;
  23 +import org.thingsboard.server.dao.util.NoSqlDao;
23 24
24 25 import javax.annotation.PostConstruct;
25 26
26 27 @Component
27 28 @Configuration
28 29 @Data
  30 +@NoSqlDao
29 31 public class CassandraSocketOptions {
30 32
31 33 @Value("${cassandra.socket.connect_timeout}")
... ...
... ... @@ -27,9 +27,9 @@ import org.thingsboard.server.common.data.page.TextPageLink;
27 27 import org.thingsboard.server.common.data.plugin.ComponentDescriptor;
28 28 import org.thingsboard.server.common.data.plugin.ComponentScope;
29 29 import org.thingsboard.server.common.data.plugin.ComponentType;
30   -import org.thingsboard.server.dao.CassandraAbstractSearchTextDao;
  30 +import org.thingsboard.server.dao.nosql.CassandraAbstractSearchTextDao;
31 31 import org.thingsboard.server.dao.DaoUtil;
32   -import org.thingsboard.server.dao.annotation.NoSqlDao;
  32 +import org.thingsboard.server.dao.util.NoSqlDao;
33 33 import org.thingsboard.server.dao.model.ModelConstants;
34 34 import org.thingsboard.server.dao.model.nosql.ComponentDescriptorEntity;
35 35
... ... @@ -102,7 +102,7 @@ public class CassandraBaseComponentDescriptorDao extends CassandraAbstractSearch
102 102 public List<ComponentDescriptor> findByTypeAndPageLink(ComponentType type, TextPageLink pageLink) {
103 103 log.debug("Try to find component by type [{}] and pageLink [{}]", type, pageLink);
104 104 List<ComponentDescriptorEntity> entities = findPageWithTextSearch(ModelConstants.COMPONENT_DESCRIPTOR_BY_TYPE_AND_SEARCH_TEXT_COLUMN_FAMILY_NAME,
105   - Arrays.asList(eq(ModelConstants.COMPONENT_DESCRIPTOR_TYPE_PROPERTY, type.name())), pageLink);
  105 + Arrays.asList(eq(ModelConstants.COMPONENT_DESCRIPTOR_TYPE_PROPERTY, type)), pageLink);
106 106 if (log.isTraceEnabled()) {
107 107 log.trace("Search result: [{}]", Arrays.toString(entities.toArray()));
108 108 } else {
... ... @@ -115,7 +115,7 @@ public class CassandraBaseComponentDescriptorDao extends CassandraAbstractSearch
115 115 public List<ComponentDescriptor> findByScopeAndTypeAndPageLink(ComponentScope scope, ComponentType type, TextPageLink pageLink) {
116 116 log.debug("Try to find component by scope [{}] and type [{}] and pageLink [{}]", scope, type, pageLink);
117 117 List<ComponentDescriptorEntity> entities = findPageWithTextSearch(ModelConstants.COMPONENT_DESCRIPTOR_BY_SCOPE_TYPE_AND_SEARCH_TEXT_COLUMN_FAMILY_NAME,
118   - Arrays.asList(eq(ModelConstants.COMPONENT_DESCRIPTOR_TYPE_PROPERTY, type.name()),
  118 + Arrays.asList(eq(ModelConstants.COMPONENT_DESCRIPTOR_TYPE_PROPERTY, type),
119 119 eq(ModelConstants.COMPONENT_DESCRIPTOR_SCOPE_PROPERTY, scope.name())), pageLink);
120 120 if (log.isTraceEnabled()) {
121 121 log.trace("Search result: [{}]", Arrays.toString(entities.toArray()));
... ...
... ... @@ -20,9 +20,9 @@ import lombok.extern.slf4j.Slf4j;
20 20 import org.springframework.stereotype.Component;
21 21 import org.thingsboard.server.common.data.Customer;
22 22 import org.thingsboard.server.common.data.page.TextPageLink;
23   -import org.thingsboard.server.dao.CassandraAbstractSearchTextDao;
  23 +import org.thingsboard.server.dao.nosql.CassandraAbstractSearchTextDao;
24 24 import org.thingsboard.server.dao.DaoUtil;
25   -import org.thingsboard.server.dao.annotation.NoSqlDao;
  25 +import org.thingsboard.server.dao.util.NoSqlDao;
26 26 import org.thingsboard.server.dao.model.ModelConstants;
27 27 import org.thingsboard.server.dao.model.nosql.CustomerEntity;
28 28
... ...
... ... @@ -17,8 +17,8 @@ package org.thingsboard.server.dao.dashboard;
17 17
18 18 import org.springframework.stereotype.Component;
19 19 import org.thingsboard.server.common.data.Dashboard;
20   -import org.thingsboard.server.dao.CassandraAbstractSearchTextDao;
21   -import org.thingsboard.server.dao.annotation.NoSqlDao;
  20 +import org.thingsboard.server.dao.nosql.CassandraAbstractSearchTextDao;
  21 +import org.thingsboard.server.dao.util.NoSqlDao;
22 22 import org.thingsboard.server.dao.model.nosql.DashboardEntity;
23 23
24 24 import static org.thingsboard.server.dao.model.ModelConstants.DASHBOARD_COLUMN_FAMILY_NAME;
... ...
... ... @@ -19,9 +19,9 @@ import lombok.extern.slf4j.Slf4j;
19 19 import org.springframework.stereotype.Component;
20 20 import org.thingsboard.server.common.data.DashboardInfo;
21 21 import org.thingsboard.server.common.data.page.TextPageLink;
22   -import org.thingsboard.server.dao.CassandraAbstractSearchTextDao;
  22 +import org.thingsboard.server.dao.nosql.CassandraAbstractSearchTextDao;
23 23 import org.thingsboard.server.dao.DaoUtil;
24   -import org.thingsboard.server.dao.annotation.NoSqlDao;
  24 +import org.thingsboard.server.dao.util.NoSqlDao;
25 25 import org.thingsboard.server.dao.model.nosql.DashboardInfoEntity;
26 26
27 27 import java.util.Arrays;
... ...
... ... @@ -19,9 +19,9 @@ import com.datastax.driver.core.querybuilder.Select.Where;
19 19 import lombok.extern.slf4j.Slf4j;
20 20 import org.springframework.stereotype.Component;
21 21 import org.thingsboard.server.common.data.security.DeviceCredentials;
22   -import org.thingsboard.server.dao.CassandraAbstractModelDao;
  22 +import org.thingsboard.server.dao.nosql.CassandraAbstractModelDao;
23 23 import org.thingsboard.server.dao.DaoUtil;
24   -import org.thingsboard.server.dao.annotation.NoSqlDao;
  24 +import org.thingsboard.server.dao.util.NoSqlDao;
25 25 import org.thingsboard.server.dao.model.ModelConstants;
26 26 import org.thingsboard.server.dao.model.nosql.DeviceCredentialsEntity;
27 27
... ...
... ... @@ -27,9 +27,9 @@ import org.springframework.stereotype.Component;
27 27 import org.thingsboard.server.common.data.Device;
28 28 import org.thingsboard.server.common.data.TenantDeviceType;
29 29 import org.thingsboard.server.common.data.page.TextPageLink;
30   -import org.thingsboard.server.dao.CassandraAbstractSearchTextDao;
  30 +import org.thingsboard.server.dao.nosql.CassandraAbstractSearchTextDao;
31 31 import org.thingsboard.server.dao.DaoUtil;
32   -import org.thingsboard.server.dao.annotation.NoSqlDao;
  32 +import org.thingsboard.server.dao.util.NoSqlDao;
33 33 import org.thingsboard.server.dao.model.TenantDeviceTypeEntity;
34 34 import org.thingsboard.server.dao.model.nosql.DeviceEntity;
35 35
... ...
... ... @@ -49,8 +49,7 @@ public class BaseEventService implements EventService {
49 49 if (StringUtils.isEmpty(event.getUid())) {
50 50 throw new DataValidationException("Event uid should be specified!.");
51 51 }
52   - Optional<Event> result = eventDao.saveIfNotExists(event);
53   - return result.isPresent() ? Optional.of(result.get()) : Optional.empty();
  52 + return eventDao.saveIfNotExists(event);
54 53 }
55 54
56 55 @Override
... ...
... ... @@ -28,9 +28,9 @@ import org.thingsboard.server.common.data.id.EntityId;
28 28 import org.thingsboard.server.common.data.id.EventId;
29 29 import org.thingsboard.server.common.data.id.TenantId;
30 30 import org.thingsboard.server.common.data.page.TimePageLink;
31   -import org.thingsboard.server.dao.CassandraAbstractSearchTimeDao;
  31 +import org.thingsboard.server.dao.nosql.CassandraAbstractSearchTimeDao;
32 32 import org.thingsboard.server.dao.DaoUtil;
33   -import org.thingsboard.server.dao.annotation.NoSqlDao;
  33 +import org.thingsboard.server.dao.util.NoSqlDao;
34 34 import org.thingsboard.server.dao.model.ModelConstants;
35 35 import org.thingsboard.server.dao.model.nosql.EventEntity;
36 36
... ...
... ... @@ -22,15 +22,17 @@ import lombok.Data;
22 22 import lombok.NoArgsConstructor;
23 23 import org.thingsboard.server.common.data.EntityType;
24 24 import org.thingsboard.server.common.data.Event;
25   -import org.thingsboard.server.common.data.id.*;
  25 +import org.thingsboard.server.common.data.id.EntityIdFactory;
  26 +import org.thingsboard.server.common.data.id.EventId;
  27 +import org.thingsboard.server.common.data.id.TenantId;
26 28 import org.thingsboard.server.dao.model.BaseEntity;
27 29 import org.thingsboard.server.dao.model.type.EntityTypeCodec;
28 30 import org.thingsboard.server.dao.model.type.JsonCodec;
29 31
30   -import static org.thingsboard.server.dao.model.ModelConstants.*;
31   -
32 32 import java.util.UUID;
33 33
  34 +import static org.thingsboard.server.dao.model.ModelConstants.*;
  35 +
34 36 /**
35 37 * @author Andrew Shvayka
36 38 */
... ...
... ... @@ -23,7 +23,7 @@ import org.hibernate.annotations.TypeDef;
23 23 import org.thingsboard.server.common.data.AdminSettings;
24 24 import org.thingsboard.server.common.data.id.AdminSettingsId;
25 25 import org.thingsboard.server.dao.model.BaseEntity;
26   -import org.thingsboard.server.dao.util.JsonStringType;
  26 +import org.thingsboard.server.dao.util.mapping.JsonStringType;
27 27
28 28 import javax.persistence.*;
29 29 import java.util.UUID;
... ...
... ... @@ -29,7 +29,7 @@ import org.thingsboard.server.common.data.id.EntityIdFactory;
29 29 import org.thingsboard.server.common.data.id.TenantId;
30 30 import org.thingsboard.server.dao.model.BaseEntity;
31 31 import org.thingsboard.server.dao.model.ModelConstants;
32   -import org.thingsboard.server.dao.util.JsonStringType;
  32 +import org.thingsboard.server.dao.util.mapping.JsonStringType;
33 33
34 34 import javax.persistence.*;
35 35 import java.util.UUID;
... ...
... ... @@ -26,7 +26,7 @@ import org.thingsboard.server.common.data.id.CustomerId;
26 26 import org.thingsboard.server.common.data.id.TenantId;
27 27 import org.thingsboard.server.dao.model.ModelConstants;
28 28 import org.thingsboard.server.dao.model.SearchTextEntity;
29   -import org.thingsboard.server.dao.util.JsonStringType;
  29 +import org.thingsboard.server.dao.util.mapping.JsonStringType;
30 30
31 31 import javax.persistence.*;
32 32 import java.util.UUID;
... ...
... ... @@ -25,7 +25,7 @@ import org.thingsboard.server.common.data.plugin.ComponentScope;
25 25 import org.thingsboard.server.common.data.plugin.ComponentType;
26 26 import org.thingsboard.server.dao.model.ModelConstants;
27 27 import org.thingsboard.server.dao.model.SearchTextEntity;
28   -import org.thingsboard.server.dao.util.JsonStringType;
  28 +import org.thingsboard.server.dao.util.mapping.JsonStringType;
29 29
30 30 import javax.persistence.*;
31 31 import java.util.UUID;
... ...
... ... @@ -25,7 +25,7 @@ import org.thingsboard.server.common.data.id.CustomerId;
25 25 import org.thingsboard.server.common.data.id.TenantId;
26 26 import org.thingsboard.server.dao.model.ModelConstants;
27 27 import org.thingsboard.server.dao.model.SearchTextEntity;
28   -import org.thingsboard.server.dao.util.JsonStringType;
  28 +import org.thingsboard.server.dao.util.mapping.JsonStringType;
29 29
30 30 import javax.persistence.*;
31 31 import java.util.UUID;
... ...
... ... @@ -26,7 +26,7 @@ import org.thingsboard.server.common.data.id.DashboardId;
26 26 import org.thingsboard.server.common.data.id.TenantId;
27 27 import org.thingsboard.server.dao.model.ModelConstants;
28 28 import org.thingsboard.server.dao.model.SearchTextEntity;
29   -import org.thingsboard.server.dao.util.JsonStringType;
  29 +import org.thingsboard.server.dao.util.mapping.JsonStringType;
30 30
31 31 import javax.persistence.*;
32 32 import java.util.UUID;
... ...
... ... @@ -26,7 +26,7 @@ import org.thingsboard.server.common.data.id.DeviceId;
26 26 import org.thingsboard.server.common.data.id.TenantId;
27 27 import org.thingsboard.server.dao.model.ModelConstants;
28 28 import org.thingsboard.server.dao.model.SearchTextEntity;
29   -import org.thingsboard.server.dao.util.JsonStringType;
  29 +import org.thingsboard.server.dao.util.mapping.JsonStringType;
30 30
31 31 import javax.persistence.*;
32 32 import java.util.UUID;
... ...
... ... @@ -25,7 +25,7 @@ import org.thingsboard.server.common.data.EntityType;
25 25 import org.thingsboard.server.common.data.Event;
26 26 import org.thingsboard.server.common.data.id.*;
27 27 import org.thingsboard.server.dao.model.BaseEntity;
28   -import org.thingsboard.server.dao.util.JsonStringType;
  28 +import org.thingsboard.server.dao.util.mapping.JsonStringType;
29 29
30 30 import javax.persistence.*;
31 31 import java.util.UUID;
... ...
... ... @@ -26,7 +26,7 @@ import org.thingsboard.server.common.data.plugin.ComponentLifecycleState;
26 26 import org.thingsboard.server.common.data.plugin.PluginMetaData;
27 27 import org.thingsboard.server.dao.model.ModelConstants;
28 28 import org.thingsboard.server.dao.model.SearchTextEntity;
29   -import org.thingsboard.server.dao.util.JsonStringType;
  29 +import org.thingsboard.server.dao.util.mapping.JsonStringType;
30 30
31 31 import javax.persistence.*;
32 32 import java.util.UUID;
... ...
... ... @@ -23,7 +23,7 @@ import org.thingsboard.server.common.data.id.EntityIdFactory;
23 23 import org.thingsboard.server.common.data.relation.EntityRelation;
24 24 import org.thingsboard.server.common.data.relation.RelationTypeGroup;
25 25 import org.thingsboard.server.dao.model.ToData;
26   -import org.thingsboard.server.dao.util.JsonStringType;
  26 +import org.thingsboard.server.dao.util.mapping.JsonStringType;
27 27
28 28 import javax.persistence.*;
29 29 import java.util.UUID;
... ...
... ... @@ -27,7 +27,7 @@ import org.thingsboard.server.common.data.rule.RuleMetaData;
27 27 import org.thingsboard.server.dao.DaoUtil;
28 28 import org.thingsboard.server.dao.model.ModelConstants;
29 29 import org.thingsboard.server.dao.model.SearchTextEntity;
30   -import org.thingsboard.server.dao.util.JsonStringType;
  30 +import org.thingsboard.server.dao.util.mapping.JsonStringType;
31 31
32 32 import javax.persistence.*;
33 33 import java.util.UUID;
... ...
... ... @@ -24,7 +24,7 @@ import org.thingsboard.server.common.data.Tenant;
24 24 import org.thingsboard.server.common.data.id.TenantId;
25 25 import org.thingsboard.server.dao.model.ModelConstants;
26 26 import org.thingsboard.server.dao.model.SearchTextEntity;
27   -import org.thingsboard.server.dao.util.JsonStringType;
  27 +import org.thingsboard.server.dao.util.mapping.JsonStringType;
28 28
29 29 import javax.persistence.*;
30 30 import java.util.UUID;
... ...
... ... @@ -27,7 +27,7 @@ import org.thingsboard.server.common.data.id.UserId;
27 27 import org.thingsboard.server.common.data.security.Authority;
28 28 import org.thingsboard.server.dao.model.ModelConstants;
29 29 import org.thingsboard.server.dao.model.SearchTextEntity;
30   -import org.thingsboard.server.dao.util.JsonStringType;
  30 +import org.thingsboard.server.dao.util.mapping.JsonStringType;
31 31
32 32 import javax.persistence.*;
33 33 import java.util.UUID;
... ...
... ... @@ -25,7 +25,7 @@ import org.thingsboard.server.common.data.id.WidgetTypeId;
25 25 import org.thingsboard.server.common.data.widget.WidgetType;
26 26 import org.thingsboard.server.dao.model.BaseEntity;
27 27 import org.thingsboard.server.dao.model.ModelConstants;
28   -import org.thingsboard.server.dao.util.JsonStringType;
  28 +import org.thingsboard.server.dao.util.mapping.JsonStringType;
29 29
30 30 import javax.persistence.*;
31 31 import java.util.UUID;
... ...
dao/src/main/java/org/thingsboard/server/dao/nosql/CassandraAbstractAsyncDao.java renamed from dao/src/main/java/org/thingsboard/server/dao/CassandraAbstractAsyncDao.java
... ... @@ -13,7 +13,7 @@
13 13 * See the License for the specific language governing permissions and
14 14 * limitations under the License.
15 15 */
16   -package org.thingsboard.server.dao;
  16 +package org.thingsboard.server.dao.nosql;
17 17
18 18 import com.datastax.driver.core.ResultSet;
19 19 import com.datastax.driver.core.ResultSetFuture;
... ...
dao/src/main/java/org/thingsboard/server/dao/nosql/CassandraAbstractDao.java renamed from dao/src/main/java/org/thingsboard/server/dao/CassandraAbstractDao.java
... ... @@ -13,7 +13,7 @@
13 13 * See the License for the specific language governing permissions and
14 14 * limitations under the License.
15 15 */
16   -package org.thingsboard.server.dao;
  16 +package org.thingsboard.server.dao.nosql;
17 17
18 18 import com.datastax.driver.core.*;
19 19 import com.datastax.driver.core.exceptions.CodecNotFoundException;
... ...
dao/src/main/java/org/thingsboard/server/dao/nosql/CassandraAbstractModelDao.java renamed from dao/src/main/java/org/thingsboard/server/dao/CassandraAbstractModelDao.java
... ... @@ -13,7 +13,7 @@
13 13 * See the License for the specific language governing permissions and
14 14 * limitations under the License.
15 15 */
16   -package org.thingsboard.server.dao;
  16 +package org.thingsboard.server.dao.nosql;
17 17
18 18 import com.datastax.driver.core.ResultSet;
19 19 import com.datastax.driver.core.ResultSetFuture;
... ... @@ -27,9 +27,10 @@ import com.google.common.base.Function;
27 27 import com.google.common.util.concurrent.Futures;
28 28 import com.google.common.util.concurrent.ListenableFuture;
29 29 import lombok.extern.slf4j.Slf4j;
  30 +import org.thingsboard.server.dao.Dao;
  31 +import org.thingsboard.server.dao.DaoUtil;
30 32 import org.thingsboard.server.dao.model.BaseEntity;
31 33 import org.thingsboard.server.dao.model.ModelConstants;
32   -import org.thingsboard.server.dao.model.SearchTextEntity;
33 34 import org.thingsboard.server.dao.model.wrapper.EntityResultSet;
34 35
35 36 import javax.annotation.Nullable;
... ...
dao/src/main/java/org/thingsboard/server/dao/nosql/CassandraAbstractSearchTextDao.java renamed from dao/src/main/java/org/thingsboard/server/dao/CassandraAbstractSearchTextDao.java
... ... @@ -13,7 +13,7 @@
13 13 * See the License for the specific language governing permissions and
14 14 * limitations under the License.
15 15 */
16   -package org.thingsboard.server.dao;
  16 +package org.thingsboard.server.dao.nosql;
17 17
18 18 import com.datastax.driver.core.querybuilder.Clause;
19 19 import com.datastax.driver.core.querybuilder.QueryBuilder;
... ...
dao/src/main/java/org/thingsboard/server/dao/nosql/CassandraAbstractSearchTimeDao.java renamed from dao/src/main/java/org/thingsboard/server/dao/CassandraAbstractSearchTimeDao.java
... ... @@ -13,7 +13,7 @@
13 13 * See the License for the specific language governing permissions and
14 14 * limitations under the License.
15 15 */
16   -package org.thingsboard.server.dao;
  16 +package org.thingsboard.server.dao.nosql;
17 17
18 18 import com.datastax.driver.core.querybuilder.Clause;
19 19 import com.datastax.driver.core.querybuilder.Ordering;
... ...
... ... @@ -22,9 +22,9 @@ import org.thingsboard.server.common.data.id.PluginId;
22 22 import org.thingsboard.server.common.data.id.TenantId;
23 23 import org.thingsboard.server.common.data.page.TextPageLink;
24 24 import org.thingsboard.server.common.data.plugin.PluginMetaData;
25   -import org.thingsboard.server.dao.CassandraAbstractSearchTextDao;
  25 +import org.thingsboard.server.dao.nosql.CassandraAbstractSearchTextDao;
26 26 import org.thingsboard.server.dao.DaoUtil;
27   -import org.thingsboard.server.dao.annotation.NoSqlDao;
  27 +import org.thingsboard.server.dao.util.NoSqlDao;
28 28 import org.thingsboard.server.dao.model.ModelConstants;
29 29 import org.thingsboard.server.dao.model.nosql.PluginMetaDataEntity;
30 30
... ...
... ... @@ -28,9 +28,9 @@ import org.thingsboard.server.common.data.id.EntityIdFactory;
28 28 import org.thingsboard.server.common.data.page.TimePageLink;
29 29 import org.thingsboard.server.common.data.relation.EntityRelation;
30 30 import org.thingsboard.server.common.data.relation.RelationTypeGroup;
31   -import org.thingsboard.server.dao.CassandraAbstractAsyncDao;
32   -import org.thingsboard.server.dao.CassandraAbstractSearchTimeDao;
33   -import org.thingsboard.server.dao.annotation.NoSqlDao;
  31 +import org.thingsboard.server.dao.nosql.CassandraAbstractAsyncDao;
  32 +import org.thingsboard.server.dao.nosql.CassandraAbstractSearchTimeDao;
  33 +import org.thingsboard.server.dao.util.NoSqlDao;
34 34 import org.thingsboard.server.dao.model.ModelConstants;
35 35 import org.thingsboard.server.dao.model.type.RelationTypeGroupCodec;
36 36
... ...
... ... @@ -22,9 +22,9 @@ import org.thingsboard.server.common.data.id.RuleId;
22 22 import org.thingsboard.server.common.data.id.TenantId;
23 23 import org.thingsboard.server.common.data.page.TextPageLink;
24 24 import org.thingsboard.server.common.data.rule.RuleMetaData;
25   -import org.thingsboard.server.dao.CassandraAbstractSearchTextDao;
  25 +import org.thingsboard.server.dao.nosql.CassandraAbstractSearchTextDao;
26 26 import org.thingsboard.server.dao.DaoUtil;
27   -import org.thingsboard.server.dao.annotation.NoSqlDao;
  27 +import org.thingsboard.server.dao.util.NoSqlDao;
28 28 import org.thingsboard.server.dao.model.ModelConstants;
29 29 import org.thingsboard.server.dao.model.nosql.RuleMetaDataEntity;
30 30
... ...
... ... @@ -19,9 +19,9 @@ import com.datastax.driver.core.querybuilder.Select.Where;
19 19 import lombok.extern.slf4j.Slf4j;
20 20 import org.springframework.stereotype.Component;
21 21 import org.thingsboard.server.common.data.AdminSettings;
22   -import org.thingsboard.server.dao.CassandraAbstractModelDao;
  22 +import org.thingsboard.server.dao.nosql.CassandraAbstractModelDao;
23 23 import org.thingsboard.server.dao.DaoUtil;
24   -import org.thingsboard.server.dao.annotation.NoSqlDao;
  24 +import org.thingsboard.server.dao.util.NoSqlDao;
25 25 import org.thingsboard.server.dao.model.nosql.AdminSettingsEntity;
26 26
27 27 import static com.datastax.driver.core.querybuilder.QueryBuilder.eq;
... ...
... ... @@ -20,7 +20,7 @@ import org.springframework.data.jpa.repository.Query;
20 20 import org.springframework.data.repository.CrudRepository;
21 21 import org.springframework.data.repository.query.Param;
22 22 import org.thingsboard.server.common.data.EntityType;
23   -import org.thingsboard.server.dao.annotation.SqlDao;
  23 +import org.thingsboard.server.dao.util.SqlDao;
24 24 import org.thingsboard.server.dao.model.sql.AlarmEntity;
25 25
26 26 import java.util.List;
... ...
... ... @@ -37,7 +37,7 @@ import org.thingsboard.server.common.data.relation.RelationTypeGroup;
37 37 import org.thingsboard.server.dao.DaoUtil;
38 38 import org.thingsboard.server.dao.alarm.AlarmDao;
39 39 import org.thingsboard.server.dao.alarm.BaseAlarmService;
40   -import org.thingsboard.server.dao.annotation.SqlDao;
  40 +import org.thingsboard.server.dao.util.SqlDao;
41 41 import org.thingsboard.server.dao.model.sql.AlarmEntity;
42 42 import org.thingsboard.server.dao.relation.RelationDao;
43 43 import org.thingsboard.server.dao.sql.JpaAbstractDao;
... ...
... ... @@ -15,13 +15,12 @@
15 15 */
16 16 package org.thingsboard.server.dao.sql.asset;
17 17
18   -import org.springframework.data.domain.Page;
19 18 import org.springframework.data.domain.Pageable;
20 19 import org.springframework.data.jpa.repository.Query;
21 20 import org.springframework.data.repository.CrudRepository;
22 21 import org.springframework.data.repository.query.Param;
23 22 import org.thingsboard.server.common.data.asset.TenantAssetType;
24   -import org.thingsboard.server.dao.annotation.SqlDao;
  23 +import org.thingsboard.server.dao.util.SqlDao;
25 24 import org.thingsboard.server.dao.model.sql.AssetEntity;
26 25
27 26 import java.util.List;
... ...
... ... @@ -24,7 +24,7 @@ import org.thingsboard.server.common.data.asset.Asset;
24 24 import org.thingsboard.server.common.data.asset.TenantAssetType;
25 25 import org.thingsboard.server.common.data.page.TextPageLink;
26 26 import org.thingsboard.server.dao.DaoUtil;
27   -import org.thingsboard.server.dao.annotation.SqlDao;
  27 +import org.thingsboard.server.dao.util.SqlDao;
28 28 import org.thingsboard.server.dao.asset.AssetDao;
29 29 import org.thingsboard.server.dao.model.sql.AssetEntity;
30 30 import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
... ...
... ... @@ -17,7 +17,7 @@ package org.thingsboard.server.dao.sql.attributes;
17 17
18 18 import org.springframework.data.repository.CrudRepository;
19 19 import org.thingsboard.server.common.data.EntityType;
20   -import org.thingsboard.server.dao.annotation.SqlDao;
  20 +import org.thingsboard.server.dao.util.SqlDao;
21 21 import org.thingsboard.server.dao.model.sql.AttributeKvCompositeKey;
22 22 import org.thingsboard.server.dao.model.sql.AttributeKvEntity;
23 23
... ...
... ... @@ -23,7 +23,7 @@ import org.springframework.stereotype.Component;
23 23 import org.thingsboard.server.common.data.id.EntityId;
24 24 import org.thingsboard.server.common.data.kv.AttributeKvEntry;
25 25 import org.thingsboard.server.dao.DaoUtil;
26   -import org.thingsboard.server.dao.annotation.SqlDao;
  26 +import org.thingsboard.server.dao.util.SqlDao;
27 27 import org.thingsboard.server.dao.attributes.AttributesDao;
28 28 import org.thingsboard.server.dao.model.sql.AttributeKvCompositeKey;
29 29 import org.thingsboard.server.dao.model.sql.AttributeKvEntity;
... ...
... ... @@ -19,7 +19,9 @@ import org.springframework.data.domain.Pageable;
19 19 import org.springframework.data.jpa.repository.Query;
20 20 import org.springframework.data.repository.CrudRepository;
21 21 import org.springframework.data.repository.query.Param;
22   -import org.thingsboard.server.dao.annotation.SqlDao;
  22 +import org.thingsboard.server.common.data.plugin.ComponentScope;
  23 +import org.thingsboard.server.common.data.plugin.ComponentType;
  24 +import org.thingsboard.server.dao.util.SqlDao;
23 25 import org.thingsboard.server.dao.model.sql.ComponentDescriptorEntity;
24 26
25 27 import java.util.List;
... ... @@ -36,7 +38,7 @@ public interface ComponentDescriptorRepository extends CrudRepository<ComponentD
36 38 @Query("SELECT cd FROM ComponentDescriptorEntity cd WHERE cd.type = :type " +
37 39 "AND LOWER(cd.searchText) LIKE LOWER(CONCAT(:textSearch, '%')) " +
38 40 "AND cd.id > :idOffset ORDER BY cd.id")
39   - List<ComponentDescriptorEntity> findByType(@Param("type") String type,
  41 + List<ComponentDescriptorEntity> findByType(@Param("type") ComponentType type,
40 42 @Param("textSearch") String textSearch,
41 43 @Param("idOffset") UUID idOffset,
42 44 Pageable pageable);
... ... @@ -44,8 +46,8 @@ public interface ComponentDescriptorRepository extends CrudRepository<ComponentD
44 46 @Query("SELECT cd FROM ComponentDescriptorEntity cd WHERE cd.type = :type " +
45 47 "AND cd.scope = :scope AND LOWER(cd.searchText) LIKE LOWER(CONCAT(:textSearch, '%')) " +
46 48 "AND cd.id > :idOffset ORDER BY cd.id")
47   - List<ComponentDescriptorEntity> findByScopeAndType(@Param("type") String type,
48   - @Param("scope") String scope,
  49 + List<ComponentDescriptorEntity> findByScopeAndType(@Param("type") ComponentType type,
  50 + @Param("scope") ComponentScope scope,
49 51 @Param("textSearch") String textSearch,
50 52 @Param("idOffset") UUID idOffset,
51 53 Pageable pageable);
... ...
... ... @@ -26,7 +26,7 @@ import org.thingsboard.server.common.data.plugin.ComponentDescriptor;
26 26 import org.thingsboard.server.common.data.plugin.ComponentScope;
27 27 import org.thingsboard.server.common.data.plugin.ComponentType;
28 28 import org.thingsboard.server.dao.DaoUtil;
29   -import org.thingsboard.server.dao.annotation.SqlDao;
  29 +import org.thingsboard.server.dao.util.SqlDao;
30 30 import org.thingsboard.server.dao.component.ComponentDescriptorDao;
31 31 import org.thingsboard.server.dao.model.sql.ComponentDescriptorEntity;
32 32 import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
... ... @@ -85,7 +85,7 @@ public class JpaBaseComponentDescriptorDao extends JpaAbstractSearchTextDao<Comp
85 85 public List<ComponentDescriptor> findByTypeAndPageLink(ComponentType type, TextPageLink pageLink) {
86 86 return DaoUtil.convertDataList(componentDescriptorRepository
87 87 .findByType(
88   - type.toString(),
  88 + type,
89 89 Objects.toString(pageLink.getTextSearch(), ""),
90 90 pageLink.getIdOffset() == null ? NULL_UUID : pageLink.getIdOffset(),
91 91 new PageRequest(0, pageLink.getLimit())));
... ... @@ -95,8 +95,8 @@ public class JpaBaseComponentDescriptorDao extends JpaAbstractSearchTextDao<Comp
95 95 public List<ComponentDescriptor> findByScopeAndTypeAndPageLink(ComponentScope scope, ComponentType type, TextPageLink pageLink) {
96 96 return DaoUtil.convertDataList(componentDescriptorRepository
97 97 .findByScopeAndType(
98   - type.toString(),
99   - scope.toString(),
  98 + type,
  99 + scope,
100 100 Objects.toString(pageLink.getTextSearch(), ""),
101 101 pageLink.getIdOffset() == null ? NULL_UUID : pageLink.getIdOffset(),
102 102 new PageRequest(0, pageLink.getLimit())));
... ...
... ... @@ -19,7 +19,7 @@ import org.springframework.data.domain.Pageable;
19 19 import org.springframework.data.jpa.repository.Query;
20 20 import org.springframework.data.repository.CrudRepository;
21 21 import org.springframework.data.repository.query.Param;
22   -import org.thingsboard.server.dao.annotation.SqlDao;
  22 +import org.thingsboard.server.dao.util.SqlDao;
23 23 import org.thingsboard.server.dao.model.sql.CustomerEntity;
24 24
25 25 import java.util.List;
... ...
... ... @@ -22,7 +22,7 @@ import org.springframework.stereotype.Component;
22 22 import org.thingsboard.server.common.data.Customer;
23 23 import org.thingsboard.server.common.data.page.TextPageLink;
24 24 import org.thingsboard.server.dao.DaoUtil;
25   -import org.thingsboard.server.dao.annotation.SqlDao;
  25 +import org.thingsboard.server.dao.util.SqlDao;
26 26 import org.thingsboard.server.dao.customer.CustomerDao;
27 27 import org.thingsboard.server.dao.model.sql.CustomerEntity;
28 28 import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
... ...
... ... @@ -19,7 +19,7 @@ import org.springframework.data.domain.Pageable;
19 19 import org.springframework.data.jpa.repository.Query;
20 20 import org.springframework.data.repository.CrudRepository;
21 21 import org.springframework.data.repository.query.Param;
22   -import org.thingsboard.server.dao.annotation.SqlDao;
  22 +import org.thingsboard.server.dao.util.SqlDao;
23 23 import org.thingsboard.server.dao.model.sql.DashboardInfoEntity;
24 24
25 25 import java.util.List;
... ...
... ... @@ -16,7 +16,7 @@
16 16 package org.thingsboard.server.dao.sql.dashboard;
17 17
18 18 import org.springframework.data.repository.CrudRepository;
19   -import org.thingsboard.server.dao.annotation.SqlDao;
  19 +import org.thingsboard.server.dao.util.SqlDao;
20 20 import org.thingsboard.server.dao.model.sql.DashboardEntity;
21 21
22 22 import java.util.UUID;
... ...
... ... @@ -19,7 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
19 19 import org.springframework.data.repository.CrudRepository;
20 20 import org.springframework.stereotype.Component;
21 21 import org.thingsboard.server.common.data.Dashboard;
22   -import org.thingsboard.server.dao.annotation.SqlDao;
  22 +import org.thingsboard.server.dao.util.SqlDao;
23 23 import org.thingsboard.server.dao.dashboard.DashboardDao;
24 24 import org.thingsboard.server.dao.model.sql.DashboardEntity;
25 25 import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
... ...
... ... @@ -22,7 +22,7 @@ import org.springframework.stereotype.Component;
22 22 import org.thingsboard.server.common.data.DashboardInfo;
23 23 import org.thingsboard.server.common.data.page.TextPageLink;
24 24 import org.thingsboard.server.dao.DaoUtil;
25   -import org.thingsboard.server.dao.annotation.SqlDao;
  25 +import org.thingsboard.server.dao.util.SqlDao;
26 26 import org.thingsboard.server.dao.dashboard.DashboardInfoDao;
27 27 import org.thingsboard.server.dao.model.sql.DashboardInfoEntity;
28 28 import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
... ...
... ... @@ -16,7 +16,7 @@
16 16 package org.thingsboard.server.dao.sql.device;
17 17
18 18 import org.springframework.data.repository.CrudRepository;
19   -import org.thingsboard.server.dao.annotation.SqlDao;
  19 +import org.thingsboard.server.dao.util.SqlDao;
20 20 import org.thingsboard.server.dao.model.sql.DeviceCredentialsEntity;
21 21
22 22 import java.util.UUID;
... ...
... ... @@ -19,7 +19,7 @@ import org.springframework.data.domain.Pageable;
19 19 import org.springframework.data.jpa.repository.Query;
20 20 import org.springframework.data.repository.CrudRepository;
21 21 import org.springframework.data.repository.query.Param;
22   -import org.thingsboard.server.dao.annotation.SqlDao;
  22 +import org.thingsboard.server.dao.util.SqlDao;
23 23 import org.thingsboard.server.dao.model.sql.DeviceEntity;
24 24 import org.thingsboard.server.dao.model.sql.TenantDeviceTypeEntity;
25 25
... ...
... ... @@ -20,7 +20,7 @@ import org.springframework.data.repository.CrudRepository;
20 20 import org.springframework.stereotype.Component;
21 21 import org.thingsboard.server.common.data.security.DeviceCredentials;
22 22 import org.thingsboard.server.dao.DaoUtil;
23   -import org.thingsboard.server.dao.annotation.SqlDao;
  23 +import org.thingsboard.server.dao.util.SqlDao;
24 24 import org.thingsboard.server.dao.device.DeviceCredentialsDao;
25 25 import org.thingsboard.server.dao.model.sql.DeviceCredentialsEntity;
26 26 import org.thingsboard.server.dao.sql.JpaAbstractDao;
... ...
... ... @@ -25,7 +25,7 @@ import org.thingsboard.server.common.data.TenantDeviceType;
25 25 import org.thingsboard.server.common.data.id.TenantId;
26 26 import org.thingsboard.server.common.data.page.TextPageLink;
27 27 import org.thingsboard.server.dao.DaoUtil;
28   -import org.thingsboard.server.dao.annotation.SqlDao;
  28 +import org.thingsboard.server.dao.util.SqlDao;
29 29 import org.thingsboard.server.dao.device.DeviceDao;
30 30 import org.thingsboard.server.dao.model.sql.DeviceEntity;
31 31 import org.thingsboard.server.dao.model.sql.TenantDeviceTypeEntity;
... ...
... ... @@ -18,8 +18,8 @@ package org.thingsboard.server.dao.sql.event;
18 18 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
19 19 import org.springframework.data.repository.CrudRepository;
20 20 import org.thingsboard.server.common.data.EntityType;
21   -import org.thingsboard.server.dao.annotation.SqlDao;
22 21 import org.thingsboard.server.dao.model.sql.EventEntity;
  22 +import org.thingsboard.server.dao.util.SqlDao;
23 23
24 24 import java.util.UUID;
25 25
... ... @@ -29,6 +29,13 @@ import java.util.UUID;
29 29 @SqlDao
30 30 public interface EventRepository extends CrudRepository<EventEntity, UUID>, JpaSpecificationExecutor<EventEntity> {
31 31
32   - EventEntity findByTenantIdAndEntityTypeAndEntityIdAndEventTypeAndEventUid(
33   - UUID tenantId, EntityType entityType, UUID id, String eventType, String eventUid);
  32 + EventEntity findByTenantIdAndEntityTypeAndEntityIdAndEventTypeAndEventUid(UUID tenantId,
  33 + EntityType entityType,
  34 + UUID entityId,
  35 + String eventType,
  36 + String eventUid);
  37 +
  38 + EventEntity findByTenantIdAndEntityTypeAndEntityId(UUID tenantId,
  39 + EntityType entityType,
  40 + UUID entityId);
34 41 }
... ...
... ... @@ -30,7 +30,7 @@ import org.thingsboard.server.common.data.id.EntityId;
30 30 import org.thingsboard.server.common.data.id.EventId;
31 31 import org.thingsboard.server.common.data.page.TimePageLink;
32 32 import org.thingsboard.server.dao.DaoUtil;
33   -import org.thingsboard.server.dao.annotation.SqlDao;
  33 +import org.thingsboard.server.dao.util.SqlDao;
34 34 import org.thingsboard.server.dao.event.EventDao;
35 35 import org.thingsboard.server.dao.model.sql.EventEntity;
36 36 import org.thingsboard.server.dao.sql.JpaAbstractSearchTimeDao;
... ... @@ -98,6 +98,7 @@ public class JpaBaseEventDao extends JpaAbstractSearchTimeDao<EventEntity, Event
98 98 public List<Event> findEvents(UUID tenantId, EntityId entityId, TimePageLink pageLink) {
99 99 return findEvents(tenantId, entityId, null, pageLink);
100 100 }
  101 +
101 102 @Override
102 103 public List<Event> findEvents(UUID tenantId, EntityId entityId, String eventType, TimePageLink pageLink) {
103 104 Specification<EventEntity> timeSearchSpec = JpaAbstractSearchTimeDao.<EventEntity>getTimeSearchPageSpec(pageLink, "id");
... ... @@ -119,7 +120,8 @@ public class JpaBaseEventDao extends JpaAbstractSearchTimeDao<EventEntity, Event
119 120 if (StringUtils.isEmpty(entity.getEventUid())) {
120 121 entity.setEventUid(entity.getId().toString());
121 122 }
122   - if (ifNotExists && findById(entity.getId()) != null) {
  123 + if (ifNotExists &&
  124 + eventRepository.findByTenantIdAndEntityTypeAndEntityId(entity.getTenantId(), entity.getEntityType(), entity.getEntityId()) != null) {
123 125 return Optional.empty();
124 126 }
125 127 return Optional.of(DaoUtil.getData(eventRepository.save(entity)));
... ...
... ... @@ -25,7 +25,7 @@ import org.thingsboard.server.common.data.id.TenantId;
25 25 import org.thingsboard.server.common.data.page.TextPageLink;
26 26 import org.thingsboard.server.common.data.plugin.PluginMetaData;
27 27 import org.thingsboard.server.dao.DaoUtil;
28   -import org.thingsboard.server.dao.annotation.SqlDao;
  28 +import org.thingsboard.server.dao.util.SqlDao;
29 29 import org.thingsboard.server.dao.model.sql.PluginMetaDataEntity;
30 30 import org.thingsboard.server.dao.plugin.PluginDao;
31 31 import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
... ...
... ... @@ -19,7 +19,7 @@ import org.springframework.data.domain.Pageable;
19 19 import org.springframework.data.jpa.repository.Query;
20 20 import org.springframework.data.repository.CrudRepository;
21 21 import org.springframework.data.repository.query.Param;
22   -import org.thingsboard.server.dao.annotation.SqlDao;
  22 +import org.thingsboard.server.dao.util.SqlDao;
23 23 import org.thingsboard.server.dao.model.sql.PluginMetaDataEntity;
24 24
25 25 import java.util.List;
... ...
... ... @@ -30,7 +30,7 @@ import org.thingsboard.server.common.data.page.TimePageLink;
30 30 import org.thingsboard.server.common.data.relation.EntityRelation;
31 31 import org.thingsboard.server.common.data.relation.RelationTypeGroup;
32 32 import org.thingsboard.server.dao.DaoUtil;
33   -import org.thingsboard.server.dao.annotation.SqlDao;
  33 +import org.thingsboard.server.dao.util.SqlDao;
34 34 import org.thingsboard.server.dao.model.sql.RelationCompositeKey;
35 35 import org.thingsboard.server.dao.model.sql.RelationEntity;
36 36 import org.thingsboard.server.dao.relation.RelationDao;
... ... @@ -46,7 +46,6 @@ import java.util.List;
46 46
47 47 import static org.springframework.data.domain.Sort.Direction.ASC;
48 48 import static org.springframework.data.jpa.domain.Specifications.where;
49   -import static org.thingsboard.server.dao.model.ModelConstants.*;
50 49
51 50 /**
52 51 * Created by Valerii Sosliuk on 5/29/2017.
... ...
... ... @@ -17,7 +17,7 @@ package org.thingsboard.server.dao.sql.relation;
17 17
18 18 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
19 19 import org.springframework.data.repository.CrudRepository;
20   -import org.thingsboard.server.dao.annotation.SqlDao;
  20 +import org.thingsboard.server.dao.util.SqlDao;
21 21 import org.thingsboard.server.dao.model.sql.RelationCompositeKey;
22 22 import org.thingsboard.server.dao.model.sql.RelationEntity;
23 23
... ...
... ... @@ -25,7 +25,7 @@ import org.thingsboard.server.common.data.id.TenantId;
25 25 import org.thingsboard.server.common.data.page.TextPageLink;
26 26 import org.thingsboard.server.common.data.rule.RuleMetaData;
27 27 import org.thingsboard.server.dao.DaoUtil;
28   -import org.thingsboard.server.dao.annotation.SqlDao;
  28 +import org.thingsboard.server.dao.util.SqlDao;
29 29 import org.thingsboard.server.dao.model.sql.RuleMetaDataEntity;
30 30 import org.thingsboard.server.dao.rule.RuleDao;
31 31 import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
... ...
... ... @@ -19,7 +19,7 @@ import org.springframework.data.domain.Pageable;
19 19 import org.springframework.data.jpa.repository.Query;
20 20 import org.springframework.data.repository.CrudRepository;
21 21 import org.springframework.data.repository.query.Param;
22   -import org.thingsboard.server.dao.annotation.SqlDao;
  22 +import org.thingsboard.server.dao.util.SqlDao;
23 23 import org.thingsboard.server.dao.model.sql.RuleMetaDataEntity;
24 24
25 25 import java.util.List;
... ...
... ... @@ -21,7 +21,7 @@ import org.springframework.data.repository.CrudRepository;
21 21 import org.springframework.stereotype.Component;
22 22 import org.thingsboard.server.common.data.AdminSettings;
23 23 import org.thingsboard.server.dao.DaoUtil;
24   -import org.thingsboard.server.dao.annotation.SqlDao;
  24 +import org.thingsboard.server.dao.util.SqlDao;
25 25 import org.thingsboard.server.dao.model.sql.AdminSettingsEntity;
26 26 import org.thingsboard.server.dao.settings.AdminSettingsDao;
27 27 import org.thingsboard.server.dao.sql.JpaAbstractDao;
... ...
... ... @@ -22,7 +22,7 @@ import org.springframework.stereotype.Component;
22 22 import org.thingsboard.server.common.data.Tenant;
23 23 import org.thingsboard.server.common.data.page.TextPageLink;
24 24 import org.thingsboard.server.dao.DaoUtil;
25   -import org.thingsboard.server.dao.annotation.SqlDao;
  25 +import org.thingsboard.server.dao.util.SqlDao;
26 26 import org.thingsboard.server.dao.model.sql.TenantEntity;
27 27 import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
28 28 import org.thingsboard.server.dao.tenant.TenantDao;
... ...
... ... @@ -19,7 +19,7 @@ import org.springframework.data.domain.Pageable;
19 19 import org.springframework.data.jpa.repository.Query;
20 20 import org.springframework.data.repository.CrudRepository;
21 21 import org.springframework.data.repository.query.Param;
22   -import org.thingsboard.server.dao.annotation.SqlDao;
  22 +import org.thingsboard.server.dao.util.SqlDao;
23 23 import org.thingsboard.server.dao.model.sql.TenantEntity;
24 24
25 25 import java.util.List;
... ...
... ... @@ -28,7 +28,7 @@ import org.thingsboard.server.common.data.kv.Aggregation;
28 28 import org.thingsboard.server.common.data.kv.TsKvEntry;
29 29 import org.thingsboard.server.common.data.kv.TsKvQuery;
30 30 import org.thingsboard.server.dao.DaoUtil;
31   -import org.thingsboard.server.dao.annotation.SqlDao;
  31 +import org.thingsboard.server.dao.util.SqlDao;
32 32 import org.thingsboard.server.dao.model.sql.TsKvEntity;
33 33 import org.thingsboard.server.dao.model.sql.TsKvLatestCompositeKey;
34 34 import org.thingsboard.server.dao.model.sql.TsKvLatestEntity;
... ...
... ... @@ -17,7 +17,7 @@ package org.thingsboard.server.dao.sql.timeseries;
17 17
18 18 import org.springframework.data.repository.CrudRepository;
19 19 import org.thingsboard.server.common.data.EntityType;
20   -import org.thingsboard.server.dao.annotation.SqlDao;
  20 +import org.thingsboard.server.dao.util.SqlDao;
21 21 import org.thingsboard.server.dao.model.sql.TsKvLatestCompositeKey;
22 22 import org.thingsboard.server.dao.model.sql.TsKvLatestEntity;
23 23
... ...
... ... @@ -20,7 +20,7 @@ import org.springframework.data.jpa.repository.Query;
20 20 import org.springframework.data.repository.CrudRepository;
21 21 import org.springframework.data.repository.query.Param;
22 22 import org.thingsboard.server.common.data.EntityType;
23   -import org.thingsboard.server.dao.annotation.SqlDao;
  23 +import org.thingsboard.server.dao.util.SqlDao;
24 24 import org.thingsboard.server.dao.model.sql.TsKvCompositeKey;
25 25 import org.thingsboard.server.dao.model.sql.TsKvEntity;
26 26
... ...
... ... @@ -23,7 +23,7 @@ import org.thingsboard.server.common.data.User;
23 23 import org.thingsboard.server.common.data.page.TextPageLink;
24 24 import org.thingsboard.server.common.data.security.Authority;
25 25 import org.thingsboard.server.dao.DaoUtil;
26   -import org.thingsboard.server.dao.annotation.SqlDao;
  26 +import org.thingsboard.server.dao.util.SqlDao;
27 27 import org.thingsboard.server.dao.model.sql.UserEntity;
28 28 import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
29 29 import org.thingsboard.server.dao.user.UserDao;
... ...
... ... @@ -20,7 +20,7 @@ import org.springframework.data.jpa.repository.Query;
20 20 import org.springframework.data.repository.CrudRepository;
21 21 import org.springframework.data.repository.query.Param;
22 22 import org.thingsboard.server.common.data.security.Authority;
23   -import org.thingsboard.server.dao.annotation.SqlDao;
  23 +import org.thingsboard.server.dao.util.SqlDao;
24 24 import org.thingsboard.server.dao.model.sql.UserEntity;
25 25
26 26 import java.util.List;
... ...
... ... @@ -20,7 +20,7 @@ import org.springframework.data.repository.CrudRepository;
20 20 import org.springframework.stereotype.Component;
21 21 import org.thingsboard.server.common.data.widget.WidgetType;
22 22 import org.thingsboard.server.dao.DaoUtil;
23   -import org.thingsboard.server.dao.annotation.SqlDao;
  23 +import org.thingsboard.server.dao.util.SqlDao;
24 24 import org.thingsboard.server.dao.model.sql.WidgetTypeEntity;
25 25 import org.thingsboard.server.dao.sql.JpaAbstractDao;
26 26 import org.thingsboard.server.dao.widget.WidgetTypeDao;
... ...
... ... @@ -22,7 +22,7 @@ import org.springframework.stereotype.Component;
22 22 import org.thingsboard.server.common.data.page.TextPageLink;
23 23 import org.thingsboard.server.common.data.widget.WidgetsBundle;
24 24 import org.thingsboard.server.dao.DaoUtil;
25   -import org.thingsboard.server.dao.annotation.SqlDao;
  25 +import org.thingsboard.server.dao.util.SqlDao;
26 26 import org.thingsboard.server.dao.model.sql.WidgetsBundleEntity;
27 27 import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
28 28 import org.thingsboard.server.dao.widget.WidgetsBundleDao;
... ...
... ... @@ -16,7 +16,7 @@
16 16 package org.thingsboard.server.dao.sql.widget;
17 17
18 18 import org.springframework.data.repository.CrudRepository;
19   -import org.thingsboard.server.dao.annotation.SqlDao;
  19 +import org.thingsboard.server.dao.util.SqlDao;
20 20 import org.thingsboard.server.dao.model.sql.WidgetTypeEntity;
21 21
22 22 import java.util.List;
... ...
... ... @@ -19,7 +19,7 @@ import org.springframework.data.domain.Pageable;
19 19 import org.springframework.data.jpa.repository.Query;
20 20 import org.springframework.data.repository.CrudRepository;
21 21 import org.springframework.data.repository.query.Param;
22   -import org.thingsboard.server.dao.annotation.SqlDao;
  22 +import org.thingsboard.server.dao.util.SqlDao;
23 23 import org.thingsboard.server.dao.model.sql.WidgetsBundleEntity;
24 24
25 25 import java.util.List;
... ...
... ... @@ -19,9 +19,9 @@ import lombok.extern.slf4j.Slf4j;
19 19 import org.springframework.stereotype.Component;
20 20 import org.thingsboard.server.common.data.Tenant;
21 21 import org.thingsboard.server.common.data.page.TextPageLink;
22   -import org.thingsboard.server.dao.CassandraAbstractSearchTextDao;
  22 +import org.thingsboard.server.dao.nosql.CassandraAbstractSearchTextDao;
23 23 import org.thingsboard.server.dao.DaoUtil;
24   -import org.thingsboard.server.dao.annotation.NoSqlDao;
  24 +import org.thingsboard.server.dao.util.NoSqlDao;
25 25 import org.thingsboard.server.dao.model.nosql.TenantEntity;
26 26
27 27 import java.util.Arrays;
... ...
... ... @@ -29,8 +29,8 @@ import org.springframework.stereotype.Component;
29 29 import org.thingsboard.server.common.data.id.EntityId;
30 30 import org.thingsboard.server.common.data.kv.*;
31 31 import org.thingsboard.server.common.data.kv.DataType;
32   -import org.thingsboard.server.dao.CassandraAbstractAsyncDao;
33   -import org.thingsboard.server.dao.annotation.NoSqlDao;
  32 +import org.thingsboard.server.dao.nosql.CassandraAbstractAsyncDao;
  33 +import org.thingsboard.server.dao.util.NoSqlDao;
34 34 import org.thingsboard.server.dao.model.ModelConstants;
35 35
36 36 import javax.annotation.Nullable;
... ...
... ... @@ -17,12 +17,11 @@ package org.thingsboard.server.dao.user;
17 17
18 18 import com.datastax.driver.core.querybuilder.Select.Where;
19 19 import lombok.extern.slf4j.Slf4j;
20   -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
21 20 import org.springframework.stereotype.Component;
22 21 import org.thingsboard.server.common.data.security.UserCredentials;
23   -import org.thingsboard.server.dao.CassandraAbstractModelDao;
  22 +import org.thingsboard.server.dao.nosql.CassandraAbstractModelDao;
24 23 import org.thingsboard.server.dao.DaoUtil;
25   -import org.thingsboard.server.dao.annotation.NoSqlDao;
  24 +import org.thingsboard.server.dao.util.NoSqlDao;
26 25 import org.thingsboard.server.dao.model.ModelConstants;
27 26 import org.thingsboard.server.dao.model.nosql.UserCredentialsEntity;
28 27
... ...
... ... @@ -21,9 +21,9 @@ import org.springframework.stereotype.Component;
21 21 import org.thingsboard.server.common.data.User;
22 22 import org.thingsboard.server.common.data.page.TextPageLink;
23 23 import org.thingsboard.server.common.data.security.Authority;
24   -import org.thingsboard.server.dao.CassandraAbstractSearchTextDao;
  24 +import org.thingsboard.server.dao.nosql.CassandraAbstractSearchTextDao;
25 25 import org.thingsboard.server.dao.DaoUtil;
26   -import org.thingsboard.server.dao.annotation.NoSqlDao;
  26 +import org.thingsboard.server.dao.util.NoSqlDao;
27 27 import org.thingsboard.server.dao.model.ModelConstants;
28 28 import org.thingsboard.server.dao.model.nosql.UserEntity;
29 29
... ...
dao/src/main/java/org/thingsboard/server/dao/util/NoSqlDao.java renamed from dao/src/main/java/org/thingsboard/server/dao/annotation/NoSqlDao.java
... ... @@ -13,7 +13,7 @@
13 13 * See the License for the specific language governing permissions and
14 14 * limitations under the License.
15 15 */
16   -package org.thingsboard.server.dao.annotation;
  16 +package org.thingsboard.server.dao.util;
17 17
18 18 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
19 19
... ...
dao/src/main/java/org/thingsboard/server/dao/util/SqlDao.java renamed from dao/src/main/java/org/thingsboard/server/dao/annotation/SqlDao.java
... ... @@ -13,7 +13,7 @@
13 13 * See the License for the specific language governing permissions and
14 14 * limitations under the License.
15 15 */
16   -package org.thingsboard.server.dao.annotation;
  16 +package org.thingsboard.server.dao.util;
17 17
18 18 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
19 19
... ...
dao/src/main/java/org/thingsboard/server/dao/util/mapping/AbstractJsonSqlTypeDescriptor.java renamed from dao/src/main/java/org/thingsboard/server/dao/util/AbstractJsonSqlTypeDescriptor.java
... ... @@ -13,7 +13,7 @@
13 13 * See the License for the specific language governing permissions and
14 14 * limitations under the License.
15 15 */
16   -package org.thingsboard.server.dao.util;
  16 +package org.thingsboard.server.dao.util.mapping;
17 17
18 18 import org.hibernate.type.descriptor.ValueExtractor;
19 19 import org.hibernate.type.descriptor.WrapperOptions;
... ...
dao/src/main/java/org/thingsboard/server/dao/util/mapping/JacksonUtil.java renamed from dao/src/main/java/org/thingsboard/server/dao/util/JacksonUtil.java
... ... @@ -13,7 +13,7 @@
13 13 * See the License for the specific language governing permissions and
14 14 * limitations under the License.
15 15 */
16   -package org.thingsboard.server.dao.util;
  16 +package org.thingsboard.server.dao.util.mapping;
17 17
18 18 import com.fasterxml.jackson.core.JsonProcessingException;
19 19 import com.fasterxml.jackson.databind.JsonNode;
... ...
dao/src/main/java/org/thingsboard/server/dao/util/mapping/JsonStringSqlTypeDescriptor.java renamed from dao/src/main/java/org/thingsboard/server/dao/util/JsonStringSqlTypeDescriptor.java
... ... @@ -13,7 +13,7 @@
13 13 * See the License for the specific language governing permissions and
14 14 * limitations under the License.
15 15 */
16   -package org.thingsboard.server.dao.util;
  16 +package org.thingsboard.server.dao.util.mapping;
17 17
18 18 import org.hibernate.type.descriptor.ValueBinder;
19 19 import org.hibernate.type.descriptor.WrapperOptions;
... ...
dao/src/main/java/org/thingsboard/server/dao/util/mapping/JsonStringType.java renamed from dao/src/main/java/org/thingsboard/server/dao/util/JsonStringType.java
... ... @@ -13,7 +13,7 @@
13 13 * See the License for the specific language governing permissions and
14 14 * limitations under the License.
15 15 */
16   -package org.thingsboard.server.dao.util;
  16 +package org.thingsboard.server.dao.util.mapping;
17 17
18 18 import org.hibernate.type.AbstractSingleColumnStandardBasicType;
19 19 import org.hibernate.usertype.DynamicParameterizedType;
... ...
dao/src/main/java/org/thingsboard/server/dao/util/mapping/JsonTypeDescriptor.java renamed from dao/src/main/java/org/thingsboard/server/dao/util/JsonTypeDescriptor.java
... ... @@ -13,7 +13,7 @@
13 13 * See the License for the specific language governing permissions and
14 14 * limitations under the License.
15 15 */
16   -package org.thingsboard.server.dao.util;
  16 +package org.thingsboard.server.dao.util.mapping;
17 17
18 18 import org.hibernate.type.descriptor.WrapperOptions;
19 19 import org.hibernate.type.descriptor.java.AbstractTypeDescriptor;
... ...
... ... @@ -19,9 +19,9 @@ import com.datastax.driver.core.querybuilder.Select.Where;
19 19 import lombok.extern.slf4j.Slf4j;
20 20 import org.springframework.stereotype.Component;
21 21 import org.thingsboard.server.common.data.widget.WidgetType;
22   -import org.thingsboard.server.dao.CassandraAbstractModelDao;
  22 +import org.thingsboard.server.dao.nosql.CassandraAbstractModelDao;
23 23 import org.thingsboard.server.dao.DaoUtil;
24   -import org.thingsboard.server.dao.annotation.NoSqlDao;
  24 +import org.thingsboard.server.dao.util.NoSqlDao;
25 25 import org.thingsboard.server.dao.model.nosql.WidgetTypeEntity;
26 26
27 27 import java.util.List;
... ...
... ... @@ -20,9 +20,9 @@ import lombok.extern.slf4j.Slf4j;
20 20 import org.springframework.stereotype.Component;
21 21 import org.thingsboard.server.common.data.page.TextPageLink;
22 22 import org.thingsboard.server.common.data.widget.WidgetsBundle;
23   -import org.thingsboard.server.dao.CassandraAbstractSearchTextDao;
  23 +import org.thingsboard.server.dao.nosql.CassandraAbstractSearchTextDao;
24 24 import org.thingsboard.server.dao.DaoUtil;
25   -import org.thingsboard.server.dao.annotation.NoSqlDao;
  25 +import org.thingsboard.server.dao.util.NoSqlDao;
26 26 import org.thingsboard.server.dao.model.nosql.WidgetsBundleEntity;
27 27
28 28 import java.util.Arrays;
... ...
... ... @@ -121,7 +121,8 @@ CREATE TABLE IF NOT EXISTS event (
121 121 entity_type character varying(255),
122 122 event_type character varying(255),
123 123 event_uid character varying(255),
124   - tenant_id uuid
  124 + tenant_id uuid,
  125 + CONSTRAINT event_unq_key UNIQUE (tenant_id, entity_type, entity_id, event_type, event_uid)
125 126 );
126 127
127 128 CREATE TABLE IF NOT EXISTS plugin (
... ...
... ... @@ -31,7 +31,7 @@ import org.springframework.test.context.support.DirtiesContextTestExecutionListe
31 31 */
32 32 @RunWith(SpringRunner.class)
33 33 @ContextConfiguration(classes = {JpaDaoConfig.class, JpaDbunitTestConfig.class})
34   -@TestPropertySource("classpath:jpa-test.properties")
  34 +@TestPropertySource("classpath:sql-test.properties")
35 35 @TestExecutionListeners({
36 36 DependencyInjectionTestExecutionListener.class,
37 37 DirtiesContextTestExecutionListener.class,
... ...
... ... @@ -18,11 +18,7 @@ package org.thingsboard.server.dao;
18 18 import com.google.common.base.Charsets;
19 19 import com.google.common.io.Resources;
20 20 import lombok.extern.slf4j.Slf4j;
21   -import org.junit.Before;
22 21 import org.junit.rules.ExternalResource;
23   -import org.junit.rules.TestRule;
24   -import org.junit.runner.Description;
25   -import org.junit.runners.model.Statement;
26 22 import ru.yandex.qatools.embed.postgresql.EmbeddedPostgres;
27 23
28 24 import java.io.IOException;
... ...
dao/src/test/java/org/thingsboard/server/dao/DaoServiceTestSuite.java renamed from dao/src/test/java/org/thingsboard/server/dao/DaoTestSuite.java
... ... @@ -20,26 +20,14 @@ import org.junit.ClassRule;
20 20 import org.junit.extensions.cpsuite.ClasspathSuite;
21 21 import org.junit.extensions.cpsuite.ClasspathSuite.ClassnameFilters;
22 22 import org.junit.runner.RunWith;
23   -import ru.yandex.qatools.embed.postgresql.EmbeddedPostgres;
24 23
25   -import java.io.IOException;
26   -import java.sql.Connection;
27   -import java.sql.DriverManager;
28   -import java.sql.SQLException;
29 24 import java.util.Arrays;
30 25
31   -import static ru.yandex.qatools.embed.postgresql.distribution.Version.Main.V9_6;
32   -
33 26 @RunWith(ClasspathSuite.class)
34 27 @ClassnameFilters({
35   - "org.thingsboard.server.dao.service.*Test",
36   - "org.thingsboard.server.dao.kv.*Test",
37   - "org.thingsboard.server.dao.plugin.*Test",
38   - "org.thingsboard.server.dao.rule.*Test",
39   - "org.thingsboard.server.dao.attributes.*Test",
40   - "org.thingsboard.server.dao.timeseries.*Test"
  28 + "org.thingsboard.server.dao.service.*Test"
41 29 })
42   -public class DaoTestSuite {
  30 +public class DaoServiceTestSuite {
43 31
44 32 @ClassRule
45 33 public static CustomCassandraCQLUnit cassandraUnit =
... ... @@ -47,11 +35,11 @@ public class DaoTestSuite {
47 35 Arrays.asList(new ClassPathCQLDataSet("cassandra/schema.cql", false, false),
48 36 new ClassPathCQLDataSet("cassandra/system-data.cql", false, false),
49 37 new ClassPathCQLDataSet("system-test.cql", false, false)),
50   - "cassandra-test.yaml", 30000l);
  38 + "cassandra-test.yaml", 30000L);
51 39
52 40 @ClassRule
53 41 public static CustomPostgresUnit postgresUnit = new CustomPostgresUnit(
54   - Arrays.asList("postgres/schema.sql", "postgres/system-data.sql"),
55   - "postgres-embedded-test.properties");
  42 + Arrays.asList("postgres/schema.sql", "postgres/system-data.sql", "system-test.sql"),
  43 + "postgres-embedded-test.properties");
56 44
57 45 }
... ...
  1 +/**
  2 + * Copyright © 2016-2017 The Thingsboard Authors
  3 + *
  4 + * Licensed under the Apache License, Version 2.0 (the "License");
  5 + * you may not use this file except in compliance with the License.
  6 + * You may obtain a copy of the License at
  7 + *
  8 + * http://www.apache.org/licenses/LICENSE-2.0
  9 + *
  10 + * Unless required by applicable law or agreed to in writing, software
  11 + * distributed under the License is distributed on an "AS IS" BASIS,
  12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13 + * See the License for the specific language governing permissions and
  14 + * limitations under the License.
  15 + */
  16 +package org.thingsboard.server.dao;
  17 +
  18 +import org.junit.ClassRule;
  19 +import org.junit.extensions.cpsuite.ClasspathSuite;
  20 +import org.junit.extensions.cpsuite.ClasspathSuite.ClassnameFilters;
  21 +import org.junit.runner.RunWith;
  22 +
  23 +import java.util.Arrays;
  24 +
  25 +@RunWith(ClasspathSuite.class)
  26 +@ClassnameFilters({
  27 +// "org.thingsboard.server.dao.sql.alarm.",
  28 + "org.thingsboard.server.dao.sql.alarm.JpaAlarmDaoTest"
  29 +})
  30 +public class JpaDaoTestSuite {
  31 +
  32 + @ClassRule
  33 + public static CustomPostgresUnit postgresUnit = new CustomPostgresUnit(
  34 + Arrays.asList("postgres/schema.sql", "postgres/system-data.sql"),
  35 + "postgres-embedded-test.properties");
  36 +
  37 +}
... ...
... ... @@ -22,7 +22,7 @@ import org.dbunit.ext.postgresql.PostgresqlDataTypeFactory;
22 22 import org.springframework.beans.factory.annotation.Autowired;
23 23 import org.springframework.context.annotation.Bean;
24 24 import org.springframework.context.annotation.Configuration;
25   -import org.thingsboard.server.dao.annotation.SqlDao;
  25 +import org.thingsboard.server.dao.util.SqlDao;
26 26
27 27 import javax.sql.DataSource;
28 28 import java.io.IOException;
... ...
... ... @@ -26,7 +26,6 @@ import org.springframework.context.annotation.ComponentScan;
26 26 import org.springframework.context.annotation.Configuration;
27 27 import org.springframework.test.annotation.DirtiesContext;
28 28 import org.springframework.test.context.ContextConfiguration;
29   -import org.springframework.test.context.TestPropertySource;
30 29 import org.springframework.test.context.junit4.SpringRunner;
31 30 import org.springframework.test.context.support.AnnotationConfigContextLoader;
32 31 import org.thingsboard.server.common.data.BaseData;
... ... @@ -65,7 +64,6 @@ import java.util.concurrent.ThreadLocalRandom;
65 64
66 65 @RunWith(SpringRunner.class)
67 66 @ContextConfiguration(classes = AbstractServiceTest.class, loader = AnnotationConfigContextLoader.class)
68   -@TestPropertySource(locations = {"classpath:cassandra-test.properties", "classpath:application-test.properties"})
69 67 @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS)
70 68 @Configuration
71 69 @ComponentScan("org.thingsboard.server")
... ...
dao/src/test/java/org/thingsboard/server/dao/service/BaseAdminSettingsServiceTest.java renamed from dao/src/test/java/org/thingsboard/server/dao/service/AdminSettingsServiceImplTest.java
... ... @@ -15,17 +15,15 @@
15 15 */
16 16 package org.thingsboard.server.dao.service;
17 17
18   -import org.thingsboard.server.common.data.AdminSettings;
19   -import org.thingsboard.server.dao.exception.DataValidationException;
20   -import org.junit.Assert;
21   -import org.junit.Test;
22   -
23 18 import com.fasterxml.jackson.databind.JsonNode;
24 19 import com.fasterxml.jackson.databind.ObjectMapper;
25 20 import com.fasterxml.jackson.databind.node.ObjectNode;
  21 +import org.junit.Assert;
  22 +import org.junit.Test;
  23 +import org.thingsboard.server.common.data.AdminSettings;
  24 +import org.thingsboard.server.dao.exception.DataValidationException;
26 25
27   -
28   -public class AdminSettingsServiceImplTest extends AbstractServiceTest {
  26 +public abstract class BaseAdminSettingsServiceTest extends AbstractServiceTest {
29 27
30 28 @Test
31 29 public void testFindAdminSettingsByKey() {
... ...