Commit 306ad5a41768422868b7e6b176afe6d5117422f8

Authored by Valerii Sosliuk
1 parent 8450ca14

ModelConstants replaced with static imports

... ... @@ -95,6 +95,7 @@ coap:
95 95
96 96 # Cassandra driver configuration parameters
97 97 cassandra:
  98 + enabled: "${CASSANDRA_ENABLED:true}"
98 99 # Thingsboard cluster name
99 100 cluster_name: "${CASSANDRA_CLUSTER_NAME:Thingsboard Cluster}"
100 101 # Thingsboard keyspace name
... ... @@ -189,11 +190,7 @@ updates:
189 190 # Enable/disable updates checking.
190 191 enabled: "${UPDATES_ENABLED:true}"
191 192
192   -cassandra:
193   - enabled: "${CASSANDRA_ENABLED:true}"
194   -
195 193 # SQL DAO Configuration
196   -
197 194 sql:
198 195 enabled: "${SQL_ENABLED:false}"
199 196 datasource:
... ...
... ... @@ -23,43 +23,44 @@ import org.thingsboard.server.common.data.id.ComponentDescriptorId;
23 23 import org.thingsboard.server.common.data.plugin.ComponentDescriptor;
24 24 import org.thingsboard.server.common.data.plugin.ComponentScope;
25 25 import org.thingsboard.server.common.data.plugin.ComponentType;
26   -import org.thingsboard.server.dao.model.ModelConstants;
27 26 import org.thingsboard.server.dao.model.SearchTextEntity;
28 27 import org.thingsboard.server.dao.model.type.JsonCodec;
29 28
30 29 import java.util.UUID;
31 30
  31 +import static org.thingsboard.server.dao.model.ModelConstants.*;
  32 +
32 33 /**
33 34 * @author Andrew Shvayka
34 35 */
35   -@Table(name = ModelConstants.COMPONENT_DESCRIPTOR_COLUMN_FAMILY_NAME)
  36 +@Table(name = COMPONENT_DESCRIPTOR_COLUMN_FAMILY_NAME)
36 37 public class ComponentDescriptorEntity implements SearchTextEntity<ComponentDescriptor> {
37 38
38 39 private static final long serialVersionUID = 1L;
39 40
40 41 @PartitionKey
41   - @Column(name = ModelConstants.ID_PROPERTY)
  42 + @Column(name = ID_PROPERTY)
42 43 private UUID id;
43 44
44   - @Column(name = ModelConstants.COMPONENT_DESCRIPTOR_TYPE_PROPERTY)
  45 + @Column(name = COMPONENT_DESCRIPTOR_TYPE_PROPERTY)
45 46 private ComponentType type;
46 47
47   - @Column(name = ModelConstants.COMPONENT_DESCRIPTOR_SCOPE_PROPERTY)
  48 + @Column(name = COMPONENT_DESCRIPTOR_SCOPE_PROPERTY)
48 49 private ComponentScope scope;
49 50
50   - @Column(name = ModelConstants.COMPONENT_DESCRIPTOR_NAME_PROPERTY)
  51 + @Column(name = COMPONENT_DESCRIPTOR_NAME_PROPERTY)
51 52 private String name;
52 53
53   - @Column(name = ModelConstants.COMPONENT_DESCRIPTOR_CLASS_PROPERTY)
  54 + @Column(name = COMPONENT_DESCRIPTOR_CLASS_PROPERTY)
54 55 private String clazz;
55 56
56   - @Column(name = ModelConstants.COMPONENT_DESCRIPTOR_CONFIGURATION_DESCRIPTOR_PROPERTY, codec = JsonCodec.class)
  57 + @Column(name = COMPONENT_DESCRIPTOR_CONFIGURATION_DESCRIPTOR_PROPERTY, codec = JsonCodec.class)
57 58 private JsonNode configurationDescriptor;
58 59
59   - @Column(name = ModelConstants.COMPONENT_DESCRIPTOR_ACTIONS_PROPERTY)
  60 + @Column(name = COMPONENT_DESCRIPTOR_ACTIONS_PROPERTY)
60 61 private String actions;
61 62
62   - @Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
  63 + @Column(name = SEARCH_TEXT_PROPERTY)
63 64 private String searchText;
64 65
65 66 public ComponentDescriptorEntity() {
... ...
... ... @@ -20,7 +20,6 @@ import java.util.UUID;
20 20 import org.thingsboard.server.common.data.Customer;
21 21 import org.thingsboard.server.common.data.id.CustomerId;
22 22 import org.thingsboard.server.common.data.id.TenantId;
23   -import org.thingsboard.server.dao.model.ModelConstants;
24 23 import org.thingsboard.server.dao.model.SearchTextEntity;
25 24 import org.thingsboard.server.dao.model.type.JsonCodec;
26 25
... ... @@ -31,51 +30,53 @@ import com.datastax.driver.mapping.annotations.Table;
31 30 import com.datastax.driver.mapping.annotations.Transient;
32 31 import com.fasterxml.jackson.databind.JsonNode;
33 32
34   -@Table(name = ModelConstants.CUSTOMER_COLUMN_FAMILY_NAME)
  33 +import static org.thingsboard.server.dao.model.ModelConstants.*;
  34 +
  35 +@Table(name = CUSTOMER_COLUMN_FAMILY_NAME)
35 36 public final class CustomerEntity implements SearchTextEntity<Customer> {
36 37
37 38 @Transient
38 39 private static final long serialVersionUID = -7732527103760948490L;
39 40
40 41 @PartitionKey(value = 0)
41   - @Column(name = ModelConstants.ID_PROPERTY)
  42 + @Column(name = ID_PROPERTY)
42 43 private UUID id;
43 44
44 45 @PartitionKey(value = 1)
45   - @Column(name = ModelConstants.CUSTOMER_TENANT_ID_PROPERTY)
  46 + @Column(name = CUSTOMER_TENANT_ID_PROPERTY)
46 47 private UUID tenantId;
47 48
48   - @Column(name = ModelConstants.CUSTOMER_TITLE_PROPERTY)
  49 + @Column(name = CUSTOMER_TITLE_PROPERTY)
49 50 private String title;
50 51
51   - @Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
  52 + @Column(name = SEARCH_TEXT_PROPERTY)
52 53 private String searchText;
53 54
54   - @Column(name = ModelConstants.COUNTRY_PROPERTY)
  55 + @Column(name = COUNTRY_PROPERTY)
55 56 private String country;
56 57
57   - @Column(name = ModelConstants.STATE_PROPERTY)
  58 + @Column(name = STATE_PROPERTY)
58 59 private String state;
59 60
60   - @Column(name = ModelConstants.CITY_PROPERTY)
  61 + @Column(name = CITY_PROPERTY)
61 62 private String city;
62 63
63   - @Column(name = ModelConstants.ADDRESS_PROPERTY)
  64 + @Column(name = ADDRESS_PROPERTY)
64 65 private String address;
65 66
66   - @Column(name = ModelConstants.ADDRESS2_PROPERTY)
  67 + @Column(name = ADDRESS2_PROPERTY)
67 68 private String address2;
68 69
69   - @Column(name = ModelConstants.ZIP_PROPERTY)
  70 + @Column(name = ZIP_PROPERTY)
70 71 private String zip;
71 72
72   - @Column(name = ModelConstants.PHONE_PROPERTY)
  73 + @Column(name = PHONE_PROPERTY)
73 74 private String phone;
74 75
75   - @Column(name = ModelConstants.EMAIL_PROPERTY)
  76 + @Column(name = EMAIL_PROPERTY)
76 77 private String email;
77 78
78   - @Column(name = ModelConstants.CUSTOMER_ADDITIONAL_INFO_PROPERTY, codec = JsonCodec.class)
  79 + @Column(name = CUSTOMER_ADDITIONAL_INFO_PROPERTY, codec = JsonCodec.class)
79 80 private JsonNode additionalInfo;
80 81
81 82 public CustomerEntity() {
... ...
... ... @@ -21,7 +21,6 @@ import org.thingsboard.server.common.data.Dashboard;
21 21 import org.thingsboard.server.common.data.id.CustomerId;
22 22 import org.thingsboard.server.common.data.id.DashboardId;
23 23 import org.thingsboard.server.common.data.id.TenantId;
24   -import org.thingsboard.server.dao.model.ModelConstants;
25 24 import org.thingsboard.server.dao.model.SearchTextEntity;
26 25 import org.thingsboard.server.dao.model.type.JsonCodec;
27 26
... ... @@ -32,31 +31,33 @@ import com.datastax.driver.mapping.annotations.Table;
32 31 import com.datastax.driver.mapping.annotations.Transient;
33 32 import com.fasterxml.jackson.databind.JsonNode;
34 33
35   -@Table(name = ModelConstants.DASHBOARD_COLUMN_FAMILY_NAME)
  34 +import static org.thingsboard.server.dao.model.ModelConstants.*;
  35 +
  36 +@Table(name = DASHBOARD_COLUMN_FAMILY_NAME)
36 37 public final class DashboardEntity implements SearchTextEntity<Dashboard> {
37 38
38 39 @Transient
39 40 private static final long serialVersionUID = 2998395951247446191L;
40 41
41 42 @PartitionKey(value = 0)
42   - @Column(name = ModelConstants.ID_PROPERTY)
  43 + @Column(name = ID_PROPERTY)
43 44 private UUID id;
44 45
45 46 @PartitionKey(value = 1)
46   - @Column(name = ModelConstants.DASHBOARD_TENANT_ID_PROPERTY)
  47 + @Column(name = DASHBOARD_TENANT_ID_PROPERTY)
47 48 private UUID tenantId;
48 49
49 50 @PartitionKey(value = 2)
50   - @Column(name = ModelConstants.DASHBOARD_CUSTOMER_ID_PROPERTY)
  51 + @Column(name = DASHBOARD_CUSTOMER_ID_PROPERTY)
51 52 private UUID customerId;
52 53
53   - @Column(name = ModelConstants.DASHBOARD_TITLE_PROPERTY)
  54 + @Column(name = DASHBOARD_TITLE_PROPERTY)
54 55 private String title;
55 56
56   - @Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
  57 + @Column(name = SEARCH_TEXT_PROPERTY)
57 58 private String searchText;
58 59
59   - @Column(name = ModelConstants.DASHBOARD_CONFIGURATION_PROPERTY, codec = JsonCodec.class)
  60 + @Column(name = DASHBOARD_CONFIGURATION_PROPERTY, codec = JsonCodec.class)
60 61 private JsonNode configuration;
61 62
62 63 public DashboardEntity() {
... ...
... ... @@ -21,7 +21,6 @@ import org.thingsboard.server.common.data.DashboardInfo;
21 21 import org.thingsboard.server.common.data.id.CustomerId;
22 22 import org.thingsboard.server.common.data.id.DashboardId;
23 23 import org.thingsboard.server.common.data.id.TenantId;
24   -import org.thingsboard.server.dao.model.ModelConstants;
25 24 import org.thingsboard.server.dao.model.SearchTextEntity;
26 25
27 26 import com.datastax.driver.core.utils.UUIDs;
... ... @@ -30,28 +29,30 @@ import com.datastax.driver.mapping.annotations.PartitionKey;
30 29 import com.datastax.driver.mapping.annotations.Table;
31 30 import com.datastax.driver.mapping.annotations.Transient;
32 31
33   -@Table(name = ModelConstants.DASHBOARD_COLUMN_FAMILY_NAME)
  32 +import static org.thingsboard.server.dao.model.ModelConstants.*;
  33 +
  34 +@Table(name = DASHBOARD_COLUMN_FAMILY_NAME)
34 35 public class DashboardInfoEntity implements SearchTextEntity<DashboardInfo> {
35 36
36 37 @Transient
37 38 private static final long serialVersionUID = 2998395951247446191L;
38 39
39 40 @PartitionKey(value = 0)
40   - @Column(name = ModelConstants.ID_PROPERTY)
  41 + @Column(name = ID_PROPERTY)
41 42 private UUID id;
42 43
43 44 @PartitionKey(value = 1)
44   - @Column(name = ModelConstants.DASHBOARD_TENANT_ID_PROPERTY)
  45 + @Column(name = DASHBOARD_TENANT_ID_PROPERTY)
45 46 private UUID tenantId;
46 47
47 48 @PartitionKey(value = 2)
48   - @Column(name = ModelConstants.DASHBOARD_CUSTOMER_ID_PROPERTY)
  49 + @Column(name = DASHBOARD_CUSTOMER_ID_PROPERTY)
49 50 private UUID customerId;
50 51
51   - @Column(name = ModelConstants.DASHBOARD_TITLE_PROPERTY)
  52 + @Column(name = DASHBOARD_TITLE_PROPERTY)
52 53 private String title;
53 54
54   - @Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
  55 + @Column(name = SEARCH_TEXT_PROPERTY)
55 56 private String searchText;
56 57
57 58 public DashboardInfoEntity() {
... ...
... ... @@ -22,7 +22,6 @@ import org.thingsboard.server.common.data.id.DeviceId;
22 22 import org.thingsboard.server.common.data.security.DeviceCredentials;
23 23 import org.thingsboard.server.common.data.security.DeviceCredentialsType;
24 24 import org.thingsboard.server.dao.model.BaseEntity;
25   -import org.thingsboard.server.dao.model.ModelConstants;
26 25 import org.thingsboard.server.dao.model.type.DeviceCredentialsTypeCodec;
27 26
28 27 import com.datastax.driver.core.utils.UUIDs;
... ... @@ -31,26 +30,28 @@ import com.datastax.driver.mapping.annotations.PartitionKey;
31 30 import com.datastax.driver.mapping.annotations.Table;
32 31 import com.datastax.driver.mapping.annotations.Transient;
33 32
34   -@Table(name = ModelConstants.DEVICE_CREDENTIALS_COLUMN_FAMILY_NAME)
  33 +import static org.thingsboard.server.dao.model.ModelConstants.*;
  34 +
  35 +@Table(name = DEVICE_CREDENTIALS_COLUMN_FAMILY_NAME)
35 36 public final class DeviceCredentialsEntity implements BaseEntity<DeviceCredentials> {
36 37
37 38 @Transient
38 39 private static final long serialVersionUID = -2667310560260623272L;
39 40
40 41 @PartitionKey(value = 0)
41   - @Column(name = ModelConstants.ID_PROPERTY)
  42 + @Column(name = ID_PROPERTY)
42 43 private UUID id;
43 44
44   - @Column(name = ModelConstants.DEVICE_CREDENTIALS_DEVICE_ID_PROPERTY)
  45 + @Column(name = DEVICE_CREDENTIALS_DEVICE_ID_PROPERTY)
45 46 private UUID deviceId;
46 47
47   - @Column(name = ModelConstants.DEVICE_CREDENTIALS_CREDENTIALS_TYPE_PROPERTY, codec = DeviceCredentialsTypeCodec.class)
  48 + @Column(name = DEVICE_CREDENTIALS_CREDENTIALS_TYPE_PROPERTY, codec = DeviceCredentialsTypeCodec.class)
48 49 private DeviceCredentialsType credentialsType;
49 50
50   - @Column(name = ModelConstants.DEVICE_CREDENTIALS_CREDENTIALS_ID_PROPERTY)
  51 + @Column(name = DEVICE_CREDENTIALS_CREDENTIALS_ID_PROPERTY)
51 52 private String credentialsId;
52 53
53   - @Column(name = ModelConstants.DEVICE_CREDENTIALS_CREDENTIALS_VALUE_PROPERTY)
  54 + @Column(name = DEVICE_CREDENTIALS_CREDENTIALS_VALUE_PROPERTY)
54 55 private String credentialsValue;
55 56
56 57 public DeviceCredentialsEntity() {
... ...
... ... @@ -25,37 +25,38 @@ import org.thingsboard.server.common.data.Device;
25 25 import org.thingsboard.server.common.data.id.CustomerId;
26 26 import org.thingsboard.server.common.data.id.DeviceId;
27 27 import org.thingsboard.server.common.data.id.TenantId;
28   -import org.thingsboard.server.dao.model.ModelConstants;
29 28 import org.thingsboard.server.dao.model.SearchTextEntity;
30 29 import org.thingsboard.server.dao.model.type.JsonCodec;
31 30
  31 +import static org.thingsboard.server.dao.model.ModelConstants.*;
  32 +
32 33 import java.util.UUID;
33 34
34   -@Table(name = ModelConstants.DEVICE_COLUMN_FAMILY_NAME)
  35 +@Table(name = DEVICE_COLUMN_FAMILY_NAME)
35 36 public final class DeviceEntity implements SearchTextEntity<Device> {
36 37
37 38 @Transient
38 39 private static final long serialVersionUID = -1265181166886910152L;
39 40
40 41 @PartitionKey(value = 0)
41   - @Column(name = ModelConstants.ID_PROPERTY)
  42 + @Column(name = ID_PROPERTY)
42 43 private UUID id;
43 44
44 45 @PartitionKey(value = 1)
45   - @Column(name = ModelConstants.DEVICE_TENANT_ID_PROPERTY)
  46 + @Column(name = DEVICE_TENANT_ID_PROPERTY)
46 47 private UUID tenantId;
47 48
48 49 @PartitionKey(value = 2)
49   - @Column(name = ModelConstants.DEVICE_CUSTOMER_ID_PROPERTY)
  50 + @Column(name = DEVICE_CUSTOMER_ID_PROPERTY)
50 51 private UUID customerId;
51 52
52   - @Column(name = ModelConstants.DEVICE_NAME_PROPERTY)
  53 + @Column(name = DEVICE_NAME_PROPERTY)
53 54 private String name;
54 55
55   - @Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
  56 + @Column(name = SEARCH_TEXT_PROPERTY)
56 57 private String searchText;
57 58
58   - @Column(name = ModelConstants.DEVICE_ADDITIONAL_INFO_PROPERTY, codec = JsonCodec.class)
  59 + @Column(name = DEVICE_ADDITIONAL_INFO_PROPERTY, codec = JsonCodec.class)
59 60 private JsonNode additionalInfo;
60 61
61 62 public DeviceEntity() {
... ...
... ... @@ -24,10 +24,11 @@ import org.thingsboard.server.common.data.EntityType;
24 24 import org.thingsboard.server.common.data.Event;
25 25 import org.thingsboard.server.common.data.id.*;
26 26 import org.thingsboard.server.dao.model.BaseEntity;
27   -import org.thingsboard.server.dao.model.ModelConstants;
28 27 import org.thingsboard.server.dao.model.type.EntityTypeCodec;
29 28 import org.thingsboard.server.dao.model.type.JsonCodec;
30 29
  30 +import static org.thingsboard.server.dao.model.ModelConstants.*;
  31 +
31 32 import java.util.UUID;
32 33
33 34 /**
... ... @@ -35,36 +36,36 @@ import java.util.UUID;
35 36 */
36 37 @Data
37 38 @NoArgsConstructor
38   -@Table(name = ModelConstants.DEVICE_COLUMN_FAMILY_NAME)
  39 +@Table(name = DEVICE_COLUMN_FAMILY_NAME)
39 40 public class EventEntity implements BaseEntity<Event> {
40 41
41 42 @Transient
42 43 private static final long serialVersionUID = -1265181166886910153L;
43 44
44   - @Column(name = ModelConstants.ID_PROPERTY)
  45 + @Column(name = ID_PROPERTY)
45 46 private UUID id;
46 47
47 48 @PartitionKey()
48   - @Column(name = ModelConstants.EVENT_TENANT_ID_PROPERTY)
  49 + @Column(name = EVENT_TENANT_ID_PROPERTY)
49 50 private UUID tenantId;
50 51
51 52 @PartitionKey(value = 1)
52   - @Column(name = ModelConstants.EVENT_ENTITY_TYPE_PROPERTY, codec = EntityTypeCodec.class)
  53 + @Column(name = EVENT_ENTITY_TYPE_PROPERTY, codec = EntityTypeCodec.class)
53 54 private EntityType entityType;
54 55
55 56 @PartitionKey(value = 2)
56   - @Column(name = ModelConstants.EVENT_ENTITY_ID_PROPERTY)
  57 + @Column(name = EVENT_ENTITY_ID_PROPERTY)
57 58 private UUID entityId;
58 59
59 60 @ClusteringColumn()
60   - @Column(name = ModelConstants.EVENT_TYPE_PROPERTY)
  61 + @Column(name = EVENT_TYPE_PROPERTY)
61 62 private String eventType;
62 63
63 64 @ClusteringColumn(value = 1)
64   - @Column(name = ModelConstants.EVENT_UID_PROPERTY)
  65 + @Column(name = EVENT_UID_PROPERTY)
65 66 private String eventUId;
66 67
67   - @Column(name = ModelConstants.EVENT_BODY_PROPERTY, codec = JsonCodec.class)
  68 + @Column(name = EVENT_BODY_PROPERTY, codec = JsonCodec.class)
68 69 private JsonNode body;
69 70
70 71 public EventEntity(Event event) {
... ...
... ... @@ -22,50 +22,51 @@ 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.plugin.ComponentLifecycleState;
24 24 import org.thingsboard.server.common.data.plugin.PluginMetaData;
25   -import org.thingsboard.server.dao.model.ModelConstants;
26 25 import org.thingsboard.server.dao.model.SearchTextEntity;
27 26 import org.thingsboard.server.dao.model.type.ComponentLifecycleStateCodec;
28 27 import org.thingsboard.server.dao.model.type.JsonCodec;
29 28
  29 +import static org.thingsboard.server.dao.model.ModelConstants.*;
  30 +
30 31 import java.util.Objects;
31 32 import java.util.UUID;
32 33
33   -@Table(name = ModelConstants.PLUGIN_COLUMN_FAMILY_NAME)
  34 +@Table(name = PLUGIN_COLUMN_FAMILY_NAME)
34 35 public class PluginMetaDataEntity implements SearchTextEntity<PluginMetaData> {
35 36
36 37 @Transient
37 38 private static final long serialVersionUID = -5231612734979707866L;
38 39
39 40 @PartitionKey
40   - @Column(name = ModelConstants.ID_PROPERTY)
  41 + @Column(name = ID_PROPERTY)
41 42 private UUID id;
42 43
43   - @Column(name = ModelConstants.PLUGIN_API_TOKEN_PROPERTY)
  44 + @Column(name = PLUGIN_API_TOKEN_PROPERTY)
44 45 private String apiToken;
45 46
46 47 @ClusteringColumn
47   - @Column(name = ModelConstants.PLUGIN_TENANT_ID_PROPERTY)
  48 + @Column(name = PLUGIN_TENANT_ID_PROPERTY)
48 49 private UUID tenantId;
49 50
50   - @Column(name = ModelConstants.PLUGIN_NAME_PROPERTY)
  51 + @Column(name = PLUGIN_NAME_PROPERTY)
51 52 private String name;
52 53
53   - @Column(name = ModelConstants.PLUGIN_CLASS_PROPERTY)
  54 + @Column(name = PLUGIN_CLASS_PROPERTY)
54 55 private String clazz;
55 56
56   - @Column(name = ModelConstants.PLUGIN_ACCESS_PROPERTY)
  57 + @Column(name = PLUGIN_ACCESS_PROPERTY)
57 58 private boolean publicAccess;
58 59
59   - @Column(name = ModelConstants.PLUGIN_STATE_PROPERTY, codec = ComponentLifecycleStateCodec.class)
  60 + @Column(name = PLUGIN_STATE_PROPERTY, codec = ComponentLifecycleStateCodec.class)
60 61 private ComponentLifecycleState state;
61 62
62   - @Column(name = ModelConstants.PLUGIN_CONFIGURATION_PROPERTY, codec = JsonCodec.class)
  63 + @Column(name = PLUGIN_CONFIGURATION_PROPERTY, codec = JsonCodec.class)
63 64 private JsonNode configuration;
64 65
65   - @Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
  66 + @Column(name = SEARCH_TEXT_PROPERTY)
66 67 private String searchText;
67 68
68   - @Column(name = ModelConstants.ADDITIONAL_INFO_PROPERTY, codec = JsonCodec.class)
  69 + @Column(name = ADDITIONAL_INFO_PROPERTY, codec = JsonCodec.class)
69 70 private JsonNode additionalInfo;
70 71
71 72 public PluginMetaDataEntity() {
... ...
... ... @@ -26,43 +26,44 @@ import org.thingsboard.server.common.data.id.TenantId;
26 26 import org.thingsboard.server.common.data.plugin.ComponentLifecycleState;
27 27 import org.thingsboard.server.common.data.rule.RuleMetaData;
28 28 import org.thingsboard.server.dao.DaoUtil;
29   -import org.thingsboard.server.dao.model.ModelConstants;
30 29 import org.thingsboard.server.dao.model.SearchTextEntity;
31 30 import org.thingsboard.server.dao.model.type.ComponentLifecycleStateCodec;
32 31 import org.thingsboard.server.dao.model.type.JsonCodec;
33 32
  33 +import static org.thingsboard.server.dao.model.ModelConstants.*;
  34 +
34 35 import javax.persistence.Transient;
35 36 import java.util.Objects;
36 37 import java.util.UUID;
37 38
38   -@Table(name = ModelConstants.RULE_COLUMN_FAMILY_NAME)
  39 +@Table(name = RULE_COLUMN_FAMILY_NAME)
39 40 public class RuleMetaDataEntity implements SearchTextEntity<RuleMetaData> {
40 41
41 42 @Transient
42 43 private static final long serialVersionUID = 4011728715100800304L;
43 44 @PartitionKey
44   - @Column(name = ModelConstants.ID_PROPERTY)
  45 + @Column(name = ID_PROPERTY)
45 46 private UUID id;
46 47 @ClusteringColumn
47   - @Column(name = ModelConstants.RULE_TENANT_ID_PROPERTY)
  48 + @Column(name = RULE_TENANT_ID_PROPERTY)
48 49 private UUID tenantId;
49   - @Column(name = ModelConstants.RULE_NAME_PROPERTY)
  50 + @Column(name = RULE_NAME_PROPERTY)
50 51 private String name;
51   - @Column(name = ModelConstants.RULE_STATE_PROPERTY, codec = ComponentLifecycleStateCodec.class)
  52 + @Column(name = RULE_STATE_PROPERTY, codec = ComponentLifecycleStateCodec.class)
52 53 private ComponentLifecycleState state;
53   - @Column(name = ModelConstants.RULE_WEIGHT_PROPERTY)
  54 + @Column(name = RULE_WEIGHT_PROPERTY)
54 55 private int weight;
55   - @Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
  56 + @Column(name = SEARCH_TEXT_PROPERTY)
56 57 private String searchText;
57   - @Column(name = ModelConstants.RULE_PLUGIN_TOKEN_PROPERTY)
  58 + @Column(name = RULE_PLUGIN_TOKEN_PROPERTY)
58 59 private String pluginToken;
59   - @Column(name = ModelConstants.RULE_FILTERS, codec = JsonCodec.class)
  60 + @Column(name = RULE_FILTERS, codec = JsonCodec.class)
60 61 private JsonNode filters;
61   - @Column(name = ModelConstants.RULE_PROCESSOR, codec = JsonCodec.class)
  62 + @Column(name = RULE_PROCESSOR, codec = JsonCodec.class)
62 63 private JsonNode processor;
63   - @Column(name = ModelConstants.RULE_ACTION, codec = JsonCodec.class)
  64 + @Column(name = RULE_ACTION, codec = JsonCodec.class)
64 65 private JsonNode action;
65   - @Column(name = ModelConstants.ADDITIONAL_INFO_PROPERTY, codec = JsonCodec.class)
  66 + @Column(name = ADDITIONAL_INFO_PROPERTY, codec = JsonCodec.class)
66 67 private JsonNode additionalInfo;
67 68
68 69 public RuleMetaDataEntity() {
... ...
... ... @@ -19,7 +19,6 @@ import java.util.UUID;
19 19
20 20 import org.thingsboard.server.common.data.Tenant;
21 21 import org.thingsboard.server.common.data.id.TenantId;
22   -import org.thingsboard.server.dao.model.ModelConstants;
23 22 import org.thingsboard.server.dao.model.SearchTextEntity;
24 23 import org.thingsboard.server.dao.model.type.JsonCodec;
25 24
... ... @@ -29,51 +28,52 @@ import com.datastax.driver.mapping.annotations.PartitionKey;
29 28 import com.datastax.driver.mapping.annotations.Table;
30 29 import com.datastax.driver.mapping.annotations.Transient;
31 30 import com.fasterxml.jackson.databind.JsonNode;
  31 +import static org.thingsboard.server.dao.model.ModelConstants.*;
32 32
33   -@Table(name = ModelConstants.TENANT_COLUMN_FAMILY_NAME)
  33 +@Table(name = TENANT_COLUMN_FAMILY_NAME)
34 34 public final class TenantEntity implements SearchTextEntity<Tenant> {
35 35
36 36 @Transient
37 37 private static final long serialVersionUID = -6198635547142409206L;
38 38
39 39 @PartitionKey(value = 0)
40   - @Column(name = ModelConstants.ID_PROPERTY)
  40 + @Column(name = ID_PROPERTY)
41 41 private UUID id;
42 42
43   - @Column(name = ModelConstants.TENANT_TITLE_PROPERTY)
  43 + @Column(name = TENANT_TITLE_PROPERTY)
44 44 private String title;
45 45
46   - @Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
  46 + @Column(name = SEARCH_TEXT_PROPERTY)
47 47 private String searchText;
48 48
49   - @Column(name = ModelConstants.TENANT_REGION_PROPERTY)
  49 + @Column(name = TENANT_REGION_PROPERTY)
50 50 private String region;
51 51
52   - @Column(name = ModelConstants.COUNTRY_PROPERTY)
  52 + @Column(name = COUNTRY_PROPERTY)
53 53 private String country;
54 54
55   - @Column(name = ModelConstants.STATE_PROPERTY)
  55 + @Column(name = STATE_PROPERTY)
56 56 private String state;
57 57
58   - @Column(name = ModelConstants.CITY_PROPERTY)
  58 + @Column(name = CITY_PROPERTY)
59 59 private String city;
60 60
61   - @Column(name = ModelConstants.ADDRESS_PROPERTY)
  61 + @Column(name = ADDRESS_PROPERTY)
62 62 private String address;
63 63
64   - @Column(name = ModelConstants.ADDRESS2_PROPERTY)
  64 + @Column(name = ADDRESS2_PROPERTY)
65 65 private String address2;
66 66
67   - @Column(name = ModelConstants.ZIP_PROPERTY)
  67 + @Column(name = ZIP_PROPERTY)
68 68 private String zip;
69 69
70   - @Column(name = ModelConstants.PHONE_PROPERTY)
  70 + @Column(name = PHONE_PROPERTY)
71 71 private String phone;
72 72
73   - @Column(name = ModelConstants.EMAIL_PROPERTY)
  73 + @Column(name = EMAIL_PROPERTY)
74 74 private String email;
75 75
76   - @Column(name = ModelConstants.TENANT_ADDITIONAL_INFO_PROPERTY, codec = JsonCodec.class)
  76 + @Column(name = TENANT_ADDITIONAL_INFO_PROPERTY, codec = JsonCodec.class)
77 77 private JsonNode additionalInfo;
78 78
79 79 public TenantEntity() {
... ...
... ... @@ -27,31 +27,31 @@ import com.datastax.driver.mapping.annotations.PartitionKey;
27 27 import com.datastax.driver.mapping.annotations.Table;
28 28 import com.datastax.driver.mapping.annotations.Transient;
29 29 import org.thingsboard.server.dao.model.BaseEntity;
30   -import org.thingsboard.server.dao.model.ModelConstants;
  30 +import static org.thingsboard.server.dao.model.ModelConstants.*;
31 31
32   -@Table(name = ModelConstants.USER_CREDENTIALS_COLUMN_FAMILY_NAME)
  32 +@Table(name = USER_CREDENTIALS_COLUMN_FAMILY_NAME)
33 33 public final class UserCredentialsEntity implements BaseEntity<UserCredentials> {
34 34
35 35 @Transient
36 36 private static final long serialVersionUID = 1348221414123438374L;
37 37
38 38 @PartitionKey(value = 0)
39   - @Column(name = ModelConstants.ID_PROPERTY)
  39 + @Column(name = ID_PROPERTY)
40 40 private UUID id;
41 41
42   - @Column(name = ModelConstants.USER_CREDENTIALS_USER_ID_PROPERTY)
  42 + @Column(name = USER_CREDENTIALS_USER_ID_PROPERTY)
43 43 private UUID userId;
44 44
45   - @Column(name = ModelConstants.USER_CREDENTIALS_ENABLED_PROPERTY)
  45 + @Column(name = USER_CREDENTIALS_ENABLED_PROPERTY)
46 46 private boolean enabled;
47 47
48   - @Column(name = ModelConstants.USER_CREDENTIALS_PASSWORD_PROPERTY)
  48 + @Column(name = USER_CREDENTIALS_PASSWORD_PROPERTY)
49 49 private String password;
50 50
51   - @Column(name = ModelConstants.USER_CREDENTIALS_ACTIVATE_TOKEN_PROPERTY)
  51 + @Column(name = USER_CREDENTIALS_ACTIVATE_TOKEN_PROPERTY)
52 52 private String activateToken;
53 53
54   - @Column(name = ModelConstants.USER_CREDENTIALS_RESET_TOKEN_PROPERTY)
  54 + @Column(name = USER_CREDENTIALS_RESET_TOKEN_PROPERTY)
55 55 private String resetToken;
56 56
57 57 public UserCredentialsEntity() {
... ...
... ... @@ -22,7 +22,6 @@ import org.thingsboard.server.common.data.id.CustomerId;
22 22 import org.thingsboard.server.common.data.id.TenantId;
23 23 import org.thingsboard.server.common.data.id.UserId;
24 24 import org.thingsboard.server.common.data.security.Authority;
25   -import org.thingsboard.server.dao.model.ModelConstants;
26 25 import org.thingsboard.server.dao.model.SearchTextEntity;
27 26 import org.thingsboard.server.dao.model.type.AuthorityCodec;
28 27 import org.thingsboard.server.dao.model.type.JsonCodec;
... ... @@ -33,42 +32,43 @@ import com.datastax.driver.mapping.annotations.PartitionKey;
33 32 import com.datastax.driver.mapping.annotations.Table;
34 33 import com.datastax.driver.mapping.annotations.Transient;
35 34 import com.fasterxml.jackson.databind.JsonNode;
  35 +import static org.thingsboard.server.dao.model.ModelConstants.*;
36 36
37   -@Table(name = ModelConstants.USER_COLUMN_FAMILY_NAME)
  37 +@Table(name = USER_COLUMN_FAMILY_NAME)
38 38 public final class UserEntity implements SearchTextEntity<User> {
39 39
40 40 @Transient
41 41 private static final long serialVersionUID = -7740338274987723489L;
42 42
43 43 @PartitionKey(value = 0)
44   - @Column(name = ModelConstants.ID_PROPERTY)
  44 + @Column(name = ID_PROPERTY)
45 45 private UUID id;
46 46
47 47 @PartitionKey(value = 1)
48   - @Column(name = ModelConstants.USER_TENANT_ID_PROPERTY)
  48 + @Column(name = USER_TENANT_ID_PROPERTY)
49 49 private UUID tenantId;
50 50
51 51 @PartitionKey(value = 2)
52   - @Column(name = ModelConstants.USER_CUSTOMER_ID_PROPERTY)
  52 + @Column(name = USER_CUSTOMER_ID_PROPERTY)
53 53 private UUID customerId;
54 54
55 55 @PartitionKey(value = 3)
56   - @Column(name = ModelConstants.USER_AUTHORITY_PROPERTY, codec = AuthorityCodec.class)
  56 + @Column(name = USER_AUTHORITY_PROPERTY, codec = AuthorityCodec.class)
57 57 private Authority authority;
58 58
59   - @Column(name = ModelConstants.USER_EMAIL_PROPERTY)
  59 + @Column(name = USER_EMAIL_PROPERTY)
60 60 private String email;
61 61
62   - @Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
  62 + @Column(name = SEARCH_TEXT_PROPERTY)
63 63 private String searchText;
64 64
65   - @Column(name = ModelConstants.USER_FIRST_NAME_PROPERTY)
  65 + @Column(name = USER_FIRST_NAME_PROPERTY)
66 66 private String firstName;
67 67
68   - @Column(name = ModelConstants.USER_LAST_NAME_PROPERTY)
  68 + @Column(name = USER_LAST_NAME_PROPERTY)
69 69 private String lastName;
70 70
71   - @Column(name = ModelConstants.USER_ADDITIONAL_INFO_PROPERTY, codec = JsonCodec.class)
  71 + @Column(name = USER_ADDITIONAL_INFO_PROPERTY, codec = JsonCodec.class)
72 72 private JsonNode additionalInfo;
73 73
74 74 public UserEntity() {
... ...
... ... @@ -25,36 +25,36 @@ import org.thingsboard.server.common.data.id.TenantId;
25 25 import org.thingsboard.server.common.data.id.WidgetTypeId;
26 26 import org.thingsboard.server.common.data.widget.WidgetType;
27 27 import org.thingsboard.server.dao.model.BaseEntity;
28   -import org.thingsboard.server.dao.model.ModelConstants;
29 28 import org.thingsboard.server.dao.model.type.JsonCodec;
  29 +import static org.thingsboard.server.dao.model.ModelConstants.*;
30 30
31 31 import java.util.UUID;
32 32
33   -@Table(name = ModelConstants.WIDGET_TYPE_COLUMN_FAMILY_NAME)
  33 +@Table(name = WIDGET_TYPE_COLUMN_FAMILY_NAME)
34 34 public final class WidgetTypeEntity implements BaseEntity<WidgetType> {
35 35
36 36 @Transient
37 37 private static final long serialVersionUID = 3591054897680176342L;
38 38
39 39 @PartitionKey(value = 0)
40   - @Column(name = ModelConstants.ID_PROPERTY)
  40 + @Column(name = ID_PROPERTY)
41 41 private UUID id;
42 42
43 43 @PartitionKey(value = 1)
44   - @Column(name = ModelConstants.WIDGET_TYPE_TENANT_ID_PROPERTY)
  44 + @Column(name = WIDGET_TYPE_TENANT_ID_PROPERTY)
45 45 private UUID tenantId;
46 46
47 47 @PartitionKey(value = 2)
48   - @Column(name = ModelConstants.WIDGET_TYPE_BUNDLE_ALIAS_PROPERTY)
  48 + @Column(name = WIDGET_TYPE_BUNDLE_ALIAS_PROPERTY)
49 49 private String bundleAlias;
50 50
51   - @Column(name = ModelConstants.WIDGET_TYPE_ALIAS_PROPERTY)
  51 + @Column(name = WIDGET_TYPE_ALIAS_PROPERTY)
52 52 private String alias;
53 53
54   - @Column(name = ModelConstants.WIDGET_TYPE_NAME_PROPERTY)
  54 + @Column(name = WIDGET_TYPE_NAME_PROPERTY)
55 55 private String name;
56 56
57   - @Column(name = ModelConstants.WIDGET_TYPE_DESCRIPTOR_PROPERTY, codec = JsonCodec.class)
  57 + @Column(name = WIDGET_TYPE_DESCRIPTOR_PROPERTY, codec = JsonCodec.class)
58 58 private JsonNode descriptor;
59 59
60 60 public WidgetTypeEntity() {
... ... @@ -157,7 +157,7 @@ public final class WidgetTypeEntity implements BaseEntity<WidgetType> {
157 157 sb.append(", tenantId=").append(tenantId);
158 158 sb.append(", bundleAlias='").append(bundleAlias).append('\'');
159 159 sb.append(", alias='").append(alias).append('\'');
160   - sb.append(", name='").append(name).append('\'');
  160 + sb.append(", name ='").append(name).append('\'');
161 161 sb.append(", descriptor=").append(descriptor);
162 162 sb.append('}');
163 163 return sb.toString();
... ...
... ... @@ -24,36 +24,36 @@ import com.datastax.driver.mapping.annotations.Transient;
24 24 import org.thingsboard.server.common.data.id.TenantId;
25 25 import org.thingsboard.server.common.data.id.WidgetsBundleId;
26 26 import org.thingsboard.server.common.data.widget.WidgetsBundle;
27   -import org.thingsboard.server.dao.model.ModelConstants;
28 27 import org.thingsboard.server.dao.model.SearchTextEntity;
  28 +import static org.thingsboard.server.dao.model.ModelConstants.*;
29 29
30 30 import java.nio.ByteBuffer;
31 31 import java.util.UUID;
32 32
33   -@Table(name = ModelConstants.WIDGETS_BUNDLE_COLUMN_FAMILY_NAME)
  33 +@Table(name = WIDGETS_BUNDLE_COLUMN_FAMILY_NAME)
34 34 public final class WidgetsBundleEntity implements SearchTextEntity<WidgetsBundle> {
35 35
36 36 @Transient
37 37 private static final long serialVersionUID = -8842195928585650849L;
38 38
39 39 @PartitionKey(value = 0)
40   - @Column(name = ModelConstants.ID_PROPERTY)
  40 + @Column(name = ID_PROPERTY)
41 41 private UUID id;
42 42
43 43 @PartitionKey(value = 1)
44   - @Column(name = ModelConstants.WIDGETS_BUNDLE_TENANT_ID_PROPERTY)
  44 + @Column(name = WIDGETS_BUNDLE_TENANT_ID_PROPERTY)
45 45 private UUID tenantId;
46 46
47   - @Column(name = ModelConstants.WIDGETS_BUNDLE_ALIAS_PROPERTY)
  47 + @Column(name = WIDGETS_BUNDLE_ALIAS_PROPERTY)
48 48 private String alias;
49 49
50   - @Column(name = ModelConstants.WIDGETS_BUNDLE_TITLE_PROPERTY)
  50 + @Column(name = WIDGETS_BUNDLE_TITLE_PROPERTY)
51 51 private String title;
52 52
53   - @Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
  53 + @Column(name = SEARCH_TEXT_PROPERTY)
54 54 private String searchText;
55 55
56   - @Column(name = ModelConstants.WIDGETS_BUNDLE_IMAGE_PROPERTY)
  56 + @Column(name = WIDGETS_BUNDLE_IMAGE_PROPERTY)
57 57 private ByteBuffer image;
58 58
59 59 public WidgetsBundleEntity() {
... ...
... ... @@ -33,7 +33,7 @@ import java.util.UUID;
33 33 @Slf4j
34 34 public abstract class JpaAbstractDao<E extends BaseEntity<D>, D> implements Dao<D> {
35 35
36   - protected abstract Class<E> getColumnFamilyClass();
  36 + protected abstract Class<E> getEntityClass();
37 37
38 38 protected abstract String getColumnFamilyName();
39 39
... ... @@ -47,7 +47,7 @@ public abstract class JpaAbstractDao<E extends BaseEntity<D>, D> implements Dao<
47 47 public D save(D domain) {
48 48 E entity;
49 49 try {
50   - entity = getColumnFamilyClass().getConstructor(domain.getClass()).newInstance(domain);
  50 + entity = getEntityClass().getConstructor(domain.getClass()).newInstance(domain);
51 51 } catch (Exception e) {
52 52 log.error("Can't create entity for domain object {}", domain, e);
53 53 throw new IllegalArgumentException("Can't create entity for domain object {" + domain + "}", e);
... ...
... ... @@ -19,10 +19,14 @@ import org.springframework.beans.factory.annotation.Autowired;
19 19 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
20 20 import org.springframework.stereotype.Component;
21 21 import org.thingsboard.server.common.data.User;
  22 +import org.thingsboard.server.common.data.page.TextPageLink;
  23 +import org.thingsboard.server.dao.DaoUtil;
22 24 import org.thingsboard.server.dao.model.ModelConstants;
23 25 import org.thingsboard.server.dao.model.sql.UserEntity;
24 26 import org.thingsboard.server.dao.sql.JpaAbstractDao;
  27 +import org.thingsboard.server.dao.user.UserDao;
25 28
  29 +import java.util.List;
26 30 import java.util.UUID;
27 31
28 32 /**
... ... @@ -30,13 +34,13 @@ import java.util.UUID;
30 34 */
31 35 @Component
32 36 @ConditionalOnProperty(prefix="sql", value="enabled",havingValue = "true", matchIfMissing = false)
33   -public class JpaUserDao extends JpaAbstractDao<UserEntity, User> {
  37 +public class JpaUserDao extends JpaAbstractDao<UserEntity, User> implements UserDao {
34 38
35 39 @Autowired
36 40 private UserRepository userRepository;
37 41
38 42 @Override
39   - protected Class<UserEntity> getColumnFamilyClass() {
  43 + protected Class<UserEntity> getEntityClass() {
40 44 return UserEntity.class;
41 45 }
42 46
... ... @@ -49,4 +53,19 @@ public class JpaUserDao extends JpaAbstractDao<UserEntity, User> {
49 53 protected JpaRepository<UserEntity, UUID> getCrudRepository() {
50 54 return userRepository;
51 55 }
  56 +
  57 + @Override
  58 + public User findByEmail(String email) {
  59 + return DaoUtil.getData(userRepository.findByEmail(email));
  60 + }
  61 +
  62 + @Override
  63 + public List<User> findTenantAdmins(UUID tenantId, TextPageLink pageLink) {
  64 + return null;
  65 + }
  66 +
  67 + @Override
  68 + public List<User> findCustomerUsers(UUID tenantId, UUID customerId, TextPageLink pageLink) {
  69 + return null;
  70 + }
52 71 }
... ...
... ... @@ -15,12 +15,18 @@
15 15 */
16 16 package org.thingsboard.server.dao.sql.user;
17 17
  18 +import org.thingsboard.server.common.data.User;
  19 +import org.thingsboard.server.common.data.page.TextPageLink;
18 20 import org.thingsboard.server.dao.model.sql.UserEntity;
19 21
  22 +import java.util.List;
20 23 import java.util.UUID;
21 24
22 25 /**
23 26 * @author Valerii Sosliuk
24 27 */
25 28 public interface UserRepository extends JpaRepository<UserEntity, UUID> {
  29 +
  30 + UserEntity findByEmail(String email);
  31 +
26 32 }
... ...