ModelConstants replaced with static imports

This commit is contained in:
Valerii Sosliuk 2017-04-14 22:01:10 -04:00
parent 8450ca1454
commit 306ad5a417
18 changed files with 179 additions and 148 deletions

View File

@ -95,6 +95,7 @@ coap:
# Cassandra driver configuration parameters
cassandra:
enabled: "${CASSANDRA_ENABLED:true}"
# Thingsboard cluster name
cluster_name: "${CASSANDRA_CLUSTER_NAME:Thingsboard Cluster}"
# Thingsboard keyspace name
@ -189,11 +190,7 @@ updates:
# Enable/disable updates checking.
enabled: "${UPDATES_ENABLED:true}"
cassandra:
enabled: "${CASSANDRA_ENABLED:true}"
# SQL DAO Configuration
sql:
enabled: "${SQL_ENABLED:false}"
datasource:

View File

@ -23,43 +23,44 @@ import org.thingsboard.server.common.data.id.ComponentDescriptorId;
import org.thingsboard.server.common.data.plugin.ComponentDescriptor;
import org.thingsboard.server.common.data.plugin.ComponentScope;
import org.thingsboard.server.common.data.plugin.ComponentType;
import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.dao.model.SearchTextEntity;
import org.thingsboard.server.dao.model.type.JsonCodec;
import java.util.UUID;
import static org.thingsboard.server.dao.model.ModelConstants.*;
/**
* @author Andrew Shvayka
*/
@Table(name = ModelConstants.COMPONENT_DESCRIPTOR_COLUMN_FAMILY_NAME)
@Table(name = COMPONENT_DESCRIPTOR_COLUMN_FAMILY_NAME)
public class ComponentDescriptorEntity implements SearchTextEntity<ComponentDescriptor> {
private static final long serialVersionUID = 1L;
@PartitionKey
@Column(name = ModelConstants.ID_PROPERTY)
@Column(name = ID_PROPERTY)
private UUID id;
@Column(name = ModelConstants.COMPONENT_DESCRIPTOR_TYPE_PROPERTY)
@Column(name = COMPONENT_DESCRIPTOR_TYPE_PROPERTY)
private ComponentType type;
@Column(name = ModelConstants.COMPONENT_DESCRIPTOR_SCOPE_PROPERTY)
@Column(name = COMPONENT_DESCRIPTOR_SCOPE_PROPERTY)
private ComponentScope scope;
@Column(name = ModelConstants.COMPONENT_DESCRIPTOR_NAME_PROPERTY)
@Column(name = COMPONENT_DESCRIPTOR_NAME_PROPERTY)
private String name;
@Column(name = ModelConstants.COMPONENT_DESCRIPTOR_CLASS_PROPERTY)
@Column(name = COMPONENT_DESCRIPTOR_CLASS_PROPERTY)
private String clazz;
@Column(name = ModelConstants.COMPONENT_DESCRIPTOR_CONFIGURATION_DESCRIPTOR_PROPERTY, codec = JsonCodec.class)
@Column(name = COMPONENT_DESCRIPTOR_CONFIGURATION_DESCRIPTOR_PROPERTY, codec = JsonCodec.class)
private JsonNode configurationDescriptor;
@Column(name = ModelConstants.COMPONENT_DESCRIPTOR_ACTIONS_PROPERTY)
@Column(name = COMPONENT_DESCRIPTOR_ACTIONS_PROPERTY)
private String actions;
@Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
@Column(name = SEARCH_TEXT_PROPERTY)
private String searchText;
public ComponentDescriptorEntity() {

View File

@ -20,7 +20,6 @@ import java.util.UUID;
import org.thingsboard.server.common.data.Customer;
import org.thingsboard.server.common.data.id.CustomerId;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.dao.model.SearchTextEntity;
import org.thingsboard.server.dao.model.type.JsonCodec;
@ -31,51 +30,53 @@ import com.datastax.driver.mapping.annotations.Table;
import com.datastax.driver.mapping.annotations.Transient;
import com.fasterxml.jackson.databind.JsonNode;
@Table(name = ModelConstants.CUSTOMER_COLUMN_FAMILY_NAME)
import static org.thingsboard.server.dao.model.ModelConstants.*;
@Table(name = CUSTOMER_COLUMN_FAMILY_NAME)
public final class CustomerEntity implements SearchTextEntity<Customer> {
@Transient
private static final long serialVersionUID = -7732527103760948490L;
@PartitionKey(value = 0)
@Column(name = ModelConstants.ID_PROPERTY)
@Column(name = ID_PROPERTY)
private UUID id;
@PartitionKey(value = 1)
@Column(name = ModelConstants.CUSTOMER_TENANT_ID_PROPERTY)
@Column(name = CUSTOMER_TENANT_ID_PROPERTY)
private UUID tenantId;
@Column(name = ModelConstants.CUSTOMER_TITLE_PROPERTY)
@Column(name = CUSTOMER_TITLE_PROPERTY)
private String title;
@Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
@Column(name = SEARCH_TEXT_PROPERTY)
private String searchText;
@Column(name = ModelConstants.COUNTRY_PROPERTY)
@Column(name = COUNTRY_PROPERTY)
private String country;
@Column(name = ModelConstants.STATE_PROPERTY)
@Column(name = STATE_PROPERTY)
private String state;
@Column(name = ModelConstants.CITY_PROPERTY)
@Column(name = CITY_PROPERTY)
private String city;
@Column(name = ModelConstants.ADDRESS_PROPERTY)
@Column(name = ADDRESS_PROPERTY)
private String address;
@Column(name = ModelConstants.ADDRESS2_PROPERTY)
@Column(name = ADDRESS2_PROPERTY)
private String address2;
@Column(name = ModelConstants.ZIP_PROPERTY)
@Column(name = ZIP_PROPERTY)
private String zip;
@Column(name = ModelConstants.PHONE_PROPERTY)
@Column(name = PHONE_PROPERTY)
private String phone;
@Column(name = ModelConstants.EMAIL_PROPERTY)
@Column(name = EMAIL_PROPERTY)
private String email;
@Column(name = ModelConstants.CUSTOMER_ADDITIONAL_INFO_PROPERTY, codec = JsonCodec.class)
@Column(name = CUSTOMER_ADDITIONAL_INFO_PROPERTY, codec = JsonCodec.class)
private JsonNode additionalInfo;
public CustomerEntity() {

View File

@ -21,7 +21,6 @@ import org.thingsboard.server.common.data.Dashboard;
import org.thingsboard.server.common.data.id.CustomerId;
import org.thingsboard.server.common.data.id.DashboardId;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.dao.model.SearchTextEntity;
import org.thingsboard.server.dao.model.type.JsonCodec;
@ -32,31 +31,33 @@ import com.datastax.driver.mapping.annotations.Table;
import com.datastax.driver.mapping.annotations.Transient;
import com.fasterxml.jackson.databind.JsonNode;
@Table(name = ModelConstants.DASHBOARD_COLUMN_FAMILY_NAME)
import static org.thingsboard.server.dao.model.ModelConstants.*;
@Table(name = DASHBOARD_COLUMN_FAMILY_NAME)
public final class DashboardEntity implements SearchTextEntity<Dashboard> {
@Transient
private static final long serialVersionUID = 2998395951247446191L;
@PartitionKey(value = 0)
@Column(name = ModelConstants.ID_PROPERTY)
@Column(name = ID_PROPERTY)
private UUID id;
@PartitionKey(value = 1)
@Column(name = ModelConstants.DASHBOARD_TENANT_ID_PROPERTY)
@Column(name = DASHBOARD_TENANT_ID_PROPERTY)
private UUID tenantId;
@PartitionKey(value = 2)
@Column(name = ModelConstants.DASHBOARD_CUSTOMER_ID_PROPERTY)
@Column(name = DASHBOARD_CUSTOMER_ID_PROPERTY)
private UUID customerId;
@Column(name = ModelConstants.DASHBOARD_TITLE_PROPERTY)
@Column(name = DASHBOARD_TITLE_PROPERTY)
private String title;
@Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
@Column(name = SEARCH_TEXT_PROPERTY)
private String searchText;
@Column(name = ModelConstants.DASHBOARD_CONFIGURATION_PROPERTY, codec = JsonCodec.class)
@Column(name = DASHBOARD_CONFIGURATION_PROPERTY, codec = JsonCodec.class)
private JsonNode configuration;
public DashboardEntity() {

View File

@ -21,7 +21,6 @@ import org.thingsboard.server.common.data.DashboardInfo;
import org.thingsboard.server.common.data.id.CustomerId;
import org.thingsboard.server.common.data.id.DashboardId;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.dao.model.SearchTextEntity;
import com.datastax.driver.core.utils.UUIDs;
@ -30,28 +29,30 @@ import com.datastax.driver.mapping.annotations.PartitionKey;
import com.datastax.driver.mapping.annotations.Table;
import com.datastax.driver.mapping.annotations.Transient;
@Table(name = ModelConstants.DASHBOARD_COLUMN_FAMILY_NAME)
import static org.thingsboard.server.dao.model.ModelConstants.*;
@Table(name = DASHBOARD_COLUMN_FAMILY_NAME)
public class DashboardInfoEntity implements SearchTextEntity<DashboardInfo> {
@Transient
private static final long serialVersionUID = 2998395951247446191L;
@PartitionKey(value = 0)
@Column(name = ModelConstants.ID_PROPERTY)
@Column(name = ID_PROPERTY)
private UUID id;
@PartitionKey(value = 1)
@Column(name = ModelConstants.DASHBOARD_TENANT_ID_PROPERTY)
@Column(name = DASHBOARD_TENANT_ID_PROPERTY)
private UUID tenantId;
@PartitionKey(value = 2)
@Column(name = ModelConstants.DASHBOARD_CUSTOMER_ID_PROPERTY)
@Column(name = DASHBOARD_CUSTOMER_ID_PROPERTY)
private UUID customerId;
@Column(name = ModelConstants.DASHBOARD_TITLE_PROPERTY)
@Column(name = DASHBOARD_TITLE_PROPERTY)
private String title;
@Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
@Column(name = SEARCH_TEXT_PROPERTY)
private String searchText;
public DashboardInfoEntity() {

View File

@ -22,7 +22,6 @@ import org.thingsboard.server.common.data.id.DeviceId;
import org.thingsboard.server.common.data.security.DeviceCredentials;
import org.thingsboard.server.common.data.security.DeviceCredentialsType;
import org.thingsboard.server.dao.model.BaseEntity;
import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.dao.model.type.DeviceCredentialsTypeCodec;
import com.datastax.driver.core.utils.UUIDs;
@ -31,26 +30,28 @@ import com.datastax.driver.mapping.annotations.PartitionKey;
import com.datastax.driver.mapping.annotations.Table;
import com.datastax.driver.mapping.annotations.Transient;
@Table(name = ModelConstants.DEVICE_CREDENTIALS_COLUMN_FAMILY_NAME)
import static org.thingsboard.server.dao.model.ModelConstants.*;
@Table(name = DEVICE_CREDENTIALS_COLUMN_FAMILY_NAME)
public final class DeviceCredentialsEntity implements BaseEntity<DeviceCredentials> {
@Transient
private static final long serialVersionUID = -2667310560260623272L;
@PartitionKey(value = 0)
@Column(name = ModelConstants.ID_PROPERTY)
@Column(name = ID_PROPERTY)
private UUID id;
@Column(name = ModelConstants.DEVICE_CREDENTIALS_DEVICE_ID_PROPERTY)
@Column(name = DEVICE_CREDENTIALS_DEVICE_ID_PROPERTY)
private UUID deviceId;
@Column(name = ModelConstants.DEVICE_CREDENTIALS_CREDENTIALS_TYPE_PROPERTY, codec = DeviceCredentialsTypeCodec.class)
@Column(name = DEVICE_CREDENTIALS_CREDENTIALS_TYPE_PROPERTY, codec = DeviceCredentialsTypeCodec.class)
private DeviceCredentialsType credentialsType;
@Column(name = ModelConstants.DEVICE_CREDENTIALS_CREDENTIALS_ID_PROPERTY)
@Column(name = DEVICE_CREDENTIALS_CREDENTIALS_ID_PROPERTY)
private String credentialsId;
@Column(name = ModelConstants.DEVICE_CREDENTIALS_CREDENTIALS_VALUE_PROPERTY)
@Column(name = DEVICE_CREDENTIALS_CREDENTIALS_VALUE_PROPERTY)
private String credentialsValue;
public DeviceCredentialsEntity() {

View File

@ -25,37 +25,38 @@ import org.thingsboard.server.common.data.Device;
import org.thingsboard.server.common.data.id.CustomerId;
import org.thingsboard.server.common.data.id.DeviceId;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.dao.model.SearchTextEntity;
import org.thingsboard.server.dao.model.type.JsonCodec;
import static org.thingsboard.server.dao.model.ModelConstants.*;
import java.util.UUID;
@Table(name = ModelConstants.DEVICE_COLUMN_FAMILY_NAME)
@Table(name = DEVICE_COLUMN_FAMILY_NAME)
public final class DeviceEntity implements SearchTextEntity<Device> {
@Transient
private static final long serialVersionUID = -1265181166886910152L;
@PartitionKey(value = 0)
@Column(name = ModelConstants.ID_PROPERTY)
@Column(name = ID_PROPERTY)
private UUID id;
@PartitionKey(value = 1)
@Column(name = ModelConstants.DEVICE_TENANT_ID_PROPERTY)
@Column(name = DEVICE_TENANT_ID_PROPERTY)
private UUID tenantId;
@PartitionKey(value = 2)
@Column(name = ModelConstants.DEVICE_CUSTOMER_ID_PROPERTY)
@Column(name = DEVICE_CUSTOMER_ID_PROPERTY)
private UUID customerId;
@Column(name = ModelConstants.DEVICE_NAME_PROPERTY)
@Column(name = DEVICE_NAME_PROPERTY)
private String name;
@Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
@Column(name = SEARCH_TEXT_PROPERTY)
private String searchText;
@Column(name = ModelConstants.DEVICE_ADDITIONAL_INFO_PROPERTY, codec = JsonCodec.class)
@Column(name = DEVICE_ADDITIONAL_INFO_PROPERTY, codec = JsonCodec.class)
private JsonNode additionalInfo;
public DeviceEntity() {

View File

@ -24,10 +24,11 @@ import org.thingsboard.server.common.data.EntityType;
import org.thingsboard.server.common.data.Event;
import org.thingsboard.server.common.data.id.*;
import org.thingsboard.server.dao.model.BaseEntity;
import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.dao.model.type.EntityTypeCodec;
import org.thingsboard.server.dao.model.type.JsonCodec;
import static org.thingsboard.server.dao.model.ModelConstants.*;
import java.util.UUID;
/**
@ -35,36 +36,36 @@ import java.util.UUID;
*/
@Data
@NoArgsConstructor
@Table(name = ModelConstants.DEVICE_COLUMN_FAMILY_NAME)
@Table(name = DEVICE_COLUMN_FAMILY_NAME)
public class EventEntity implements BaseEntity<Event> {
@Transient
private static final long serialVersionUID = -1265181166886910153L;
@Column(name = ModelConstants.ID_PROPERTY)
@Column(name = ID_PROPERTY)
private UUID id;
@PartitionKey()
@Column(name = ModelConstants.EVENT_TENANT_ID_PROPERTY)
@Column(name = EVENT_TENANT_ID_PROPERTY)
private UUID tenantId;
@PartitionKey(value = 1)
@Column(name = ModelConstants.EVENT_ENTITY_TYPE_PROPERTY, codec = EntityTypeCodec.class)
@Column(name = EVENT_ENTITY_TYPE_PROPERTY, codec = EntityTypeCodec.class)
private EntityType entityType;
@PartitionKey(value = 2)
@Column(name = ModelConstants.EVENT_ENTITY_ID_PROPERTY)
@Column(name = EVENT_ENTITY_ID_PROPERTY)
private UUID entityId;
@ClusteringColumn()
@Column(name = ModelConstants.EVENT_TYPE_PROPERTY)
@Column(name = EVENT_TYPE_PROPERTY)
private String eventType;
@ClusteringColumn(value = 1)
@Column(name = ModelConstants.EVENT_UID_PROPERTY)
@Column(name = EVENT_UID_PROPERTY)
private String eventUId;
@Column(name = ModelConstants.EVENT_BODY_PROPERTY, codec = JsonCodec.class)
@Column(name = EVENT_BODY_PROPERTY, codec = JsonCodec.class)
private JsonNode body;
public EventEntity(Event event) {

View File

@ -22,50 +22,51 @@ import org.thingsboard.server.common.data.id.PluginId;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.plugin.ComponentLifecycleState;
import org.thingsboard.server.common.data.plugin.PluginMetaData;
import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.dao.model.SearchTextEntity;
import org.thingsboard.server.dao.model.type.ComponentLifecycleStateCodec;
import org.thingsboard.server.dao.model.type.JsonCodec;
import static org.thingsboard.server.dao.model.ModelConstants.*;
import java.util.Objects;
import java.util.UUID;
@Table(name = ModelConstants.PLUGIN_COLUMN_FAMILY_NAME)
@Table(name = PLUGIN_COLUMN_FAMILY_NAME)
public class PluginMetaDataEntity implements SearchTextEntity<PluginMetaData> {
@Transient
private static final long serialVersionUID = -5231612734979707866L;
@PartitionKey
@Column(name = ModelConstants.ID_PROPERTY)
@Column(name = ID_PROPERTY)
private UUID id;
@Column(name = ModelConstants.PLUGIN_API_TOKEN_PROPERTY)
@Column(name = PLUGIN_API_TOKEN_PROPERTY)
private String apiToken;
@ClusteringColumn
@Column(name = ModelConstants.PLUGIN_TENANT_ID_PROPERTY)
@Column(name = PLUGIN_TENANT_ID_PROPERTY)
private UUID tenantId;
@Column(name = ModelConstants.PLUGIN_NAME_PROPERTY)
@Column(name = PLUGIN_NAME_PROPERTY)
private String name;
@Column(name = ModelConstants.PLUGIN_CLASS_PROPERTY)
@Column(name = PLUGIN_CLASS_PROPERTY)
private String clazz;
@Column(name = ModelConstants.PLUGIN_ACCESS_PROPERTY)
@Column(name = PLUGIN_ACCESS_PROPERTY)
private boolean publicAccess;
@Column(name = ModelConstants.PLUGIN_STATE_PROPERTY, codec = ComponentLifecycleStateCodec.class)
@Column(name = PLUGIN_STATE_PROPERTY, codec = ComponentLifecycleStateCodec.class)
private ComponentLifecycleState state;
@Column(name = ModelConstants.PLUGIN_CONFIGURATION_PROPERTY, codec = JsonCodec.class)
@Column(name = PLUGIN_CONFIGURATION_PROPERTY, codec = JsonCodec.class)
private JsonNode configuration;
@Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
@Column(name = SEARCH_TEXT_PROPERTY)
private String searchText;
@Column(name = ModelConstants.ADDITIONAL_INFO_PROPERTY, codec = JsonCodec.class)
@Column(name = ADDITIONAL_INFO_PROPERTY, codec = JsonCodec.class)
private JsonNode additionalInfo;
public PluginMetaDataEntity() {

View File

@ -26,43 +26,44 @@ import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.plugin.ComponentLifecycleState;
import org.thingsboard.server.common.data.rule.RuleMetaData;
import org.thingsboard.server.dao.DaoUtil;
import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.dao.model.SearchTextEntity;
import org.thingsboard.server.dao.model.type.ComponentLifecycleStateCodec;
import org.thingsboard.server.dao.model.type.JsonCodec;
import static org.thingsboard.server.dao.model.ModelConstants.*;
import javax.persistence.Transient;
import java.util.Objects;
import java.util.UUID;
@Table(name = ModelConstants.RULE_COLUMN_FAMILY_NAME)
@Table(name = RULE_COLUMN_FAMILY_NAME)
public class RuleMetaDataEntity implements SearchTextEntity<RuleMetaData> {
@Transient
private static final long serialVersionUID = 4011728715100800304L;
@PartitionKey
@Column(name = ModelConstants.ID_PROPERTY)
@Column(name = ID_PROPERTY)
private UUID id;
@ClusteringColumn
@Column(name = ModelConstants.RULE_TENANT_ID_PROPERTY)
@Column(name = RULE_TENANT_ID_PROPERTY)
private UUID tenantId;
@Column(name = ModelConstants.RULE_NAME_PROPERTY)
@Column(name = RULE_NAME_PROPERTY)
private String name;
@Column(name = ModelConstants.RULE_STATE_PROPERTY, codec = ComponentLifecycleStateCodec.class)
@Column(name = RULE_STATE_PROPERTY, codec = ComponentLifecycleStateCodec.class)
private ComponentLifecycleState state;
@Column(name = ModelConstants.RULE_WEIGHT_PROPERTY)
@Column(name = RULE_WEIGHT_PROPERTY)
private int weight;
@Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
@Column(name = SEARCH_TEXT_PROPERTY)
private String searchText;
@Column(name = ModelConstants.RULE_PLUGIN_TOKEN_PROPERTY)
@Column(name = RULE_PLUGIN_TOKEN_PROPERTY)
private String pluginToken;
@Column(name = ModelConstants.RULE_FILTERS, codec = JsonCodec.class)
@Column(name = RULE_FILTERS, codec = JsonCodec.class)
private JsonNode filters;
@Column(name = ModelConstants.RULE_PROCESSOR, codec = JsonCodec.class)
@Column(name = RULE_PROCESSOR, codec = JsonCodec.class)
private JsonNode processor;
@Column(name = ModelConstants.RULE_ACTION, codec = JsonCodec.class)
@Column(name = RULE_ACTION, codec = JsonCodec.class)
private JsonNode action;
@Column(name = ModelConstants.ADDITIONAL_INFO_PROPERTY, codec = JsonCodec.class)
@Column(name = ADDITIONAL_INFO_PROPERTY, codec = JsonCodec.class)
private JsonNode additionalInfo;
public RuleMetaDataEntity() {

View File

@ -19,7 +19,6 @@ import java.util.UUID;
import org.thingsboard.server.common.data.Tenant;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.dao.model.SearchTextEntity;
import org.thingsboard.server.dao.model.type.JsonCodec;
@ -29,51 +28,52 @@ import com.datastax.driver.mapping.annotations.PartitionKey;
import com.datastax.driver.mapping.annotations.Table;
import com.datastax.driver.mapping.annotations.Transient;
import com.fasterxml.jackson.databind.JsonNode;
import static org.thingsboard.server.dao.model.ModelConstants.*;
@Table(name = ModelConstants.TENANT_COLUMN_FAMILY_NAME)
@Table(name = TENANT_COLUMN_FAMILY_NAME)
public final class TenantEntity implements SearchTextEntity<Tenant> {
@Transient
private static final long serialVersionUID = -6198635547142409206L;
@PartitionKey(value = 0)
@Column(name = ModelConstants.ID_PROPERTY)
@Column(name = ID_PROPERTY)
private UUID id;
@Column(name = ModelConstants.TENANT_TITLE_PROPERTY)
@Column(name = TENANT_TITLE_PROPERTY)
private String title;
@Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
@Column(name = SEARCH_TEXT_PROPERTY)
private String searchText;
@Column(name = ModelConstants.TENANT_REGION_PROPERTY)
@Column(name = TENANT_REGION_PROPERTY)
private String region;
@Column(name = ModelConstants.COUNTRY_PROPERTY)
@Column(name = COUNTRY_PROPERTY)
private String country;
@Column(name = ModelConstants.STATE_PROPERTY)
@Column(name = STATE_PROPERTY)
private String state;
@Column(name = ModelConstants.CITY_PROPERTY)
@Column(name = CITY_PROPERTY)
private String city;
@Column(name = ModelConstants.ADDRESS_PROPERTY)
@Column(name = ADDRESS_PROPERTY)
private String address;
@Column(name = ModelConstants.ADDRESS2_PROPERTY)
@Column(name = ADDRESS2_PROPERTY)
private String address2;
@Column(name = ModelConstants.ZIP_PROPERTY)
@Column(name = ZIP_PROPERTY)
private String zip;
@Column(name = ModelConstants.PHONE_PROPERTY)
@Column(name = PHONE_PROPERTY)
private String phone;
@Column(name = ModelConstants.EMAIL_PROPERTY)
@Column(name = EMAIL_PROPERTY)
private String email;
@Column(name = ModelConstants.TENANT_ADDITIONAL_INFO_PROPERTY, codec = JsonCodec.class)
@Column(name = TENANT_ADDITIONAL_INFO_PROPERTY, codec = JsonCodec.class)
private JsonNode additionalInfo;
public TenantEntity() {

View File

@ -27,31 +27,31 @@ import com.datastax.driver.mapping.annotations.PartitionKey;
import com.datastax.driver.mapping.annotations.Table;
import com.datastax.driver.mapping.annotations.Transient;
import org.thingsboard.server.dao.model.BaseEntity;
import org.thingsboard.server.dao.model.ModelConstants;
import static org.thingsboard.server.dao.model.ModelConstants.*;
@Table(name = ModelConstants.USER_CREDENTIALS_COLUMN_FAMILY_NAME)
@Table(name = USER_CREDENTIALS_COLUMN_FAMILY_NAME)
public final class UserCredentialsEntity implements BaseEntity<UserCredentials> {
@Transient
private static final long serialVersionUID = 1348221414123438374L;
@PartitionKey(value = 0)
@Column(name = ModelConstants.ID_PROPERTY)
@Column(name = ID_PROPERTY)
private UUID id;
@Column(name = ModelConstants.USER_CREDENTIALS_USER_ID_PROPERTY)
@Column(name = USER_CREDENTIALS_USER_ID_PROPERTY)
private UUID userId;
@Column(name = ModelConstants.USER_CREDENTIALS_ENABLED_PROPERTY)
@Column(name = USER_CREDENTIALS_ENABLED_PROPERTY)
private boolean enabled;
@Column(name = ModelConstants.USER_CREDENTIALS_PASSWORD_PROPERTY)
@Column(name = USER_CREDENTIALS_PASSWORD_PROPERTY)
private String password;
@Column(name = ModelConstants.USER_CREDENTIALS_ACTIVATE_TOKEN_PROPERTY)
@Column(name = USER_CREDENTIALS_ACTIVATE_TOKEN_PROPERTY)
private String activateToken;
@Column(name = ModelConstants.USER_CREDENTIALS_RESET_TOKEN_PROPERTY)
@Column(name = USER_CREDENTIALS_RESET_TOKEN_PROPERTY)
private String resetToken;
public UserCredentialsEntity() {

View File

@ -22,7 +22,6 @@ import org.thingsboard.server.common.data.id.CustomerId;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.id.UserId;
import org.thingsboard.server.common.data.security.Authority;
import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.dao.model.SearchTextEntity;
import org.thingsboard.server.dao.model.type.AuthorityCodec;
import org.thingsboard.server.dao.model.type.JsonCodec;
@ -33,42 +32,43 @@ import com.datastax.driver.mapping.annotations.PartitionKey;
import com.datastax.driver.mapping.annotations.Table;
import com.datastax.driver.mapping.annotations.Transient;
import com.fasterxml.jackson.databind.JsonNode;
import static org.thingsboard.server.dao.model.ModelConstants.*;
@Table(name = ModelConstants.USER_COLUMN_FAMILY_NAME)
@Table(name = USER_COLUMN_FAMILY_NAME)
public final class UserEntity implements SearchTextEntity<User> {
@Transient
private static final long serialVersionUID = -7740338274987723489L;
@PartitionKey(value = 0)
@Column(name = ModelConstants.ID_PROPERTY)
@Column(name = ID_PROPERTY)
private UUID id;
@PartitionKey(value = 1)
@Column(name = ModelConstants.USER_TENANT_ID_PROPERTY)
@Column(name = USER_TENANT_ID_PROPERTY)
private UUID tenantId;
@PartitionKey(value = 2)
@Column(name = ModelConstants.USER_CUSTOMER_ID_PROPERTY)
@Column(name = USER_CUSTOMER_ID_PROPERTY)
private UUID customerId;
@PartitionKey(value = 3)
@Column(name = ModelConstants.USER_AUTHORITY_PROPERTY, codec = AuthorityCodec.class)
@Column(name = USER_AUTHORITY_PROPERTY, codec = AuthorityCodec.class)
private Authority authority;
@Column(name = ModelConstants.USER_EMAIL_PROPERTY)
@Column(name = USER_EMAIL_PROPERTY)
private String email;
@Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
@Column(name = SEARCH_TEXT_PROPERTY)
private String searchText;
@Column(name = ModelConstants.USER_FIRST_NAME_PROPERTY)
@Column(name = USER_FIRST_NAME_PROPERTY)
private String firstName;
@Column(name = ModelConstants.USER_LAST_NAME_PROPERTY)
@Column(name = USER_LAST_NAME_PROPERTY)
private String lastName;
@Column(name = ModelConstants.USER_ADDITIONAL_INFO_PROPERTY, codec = JsonCodec.class)
@Column(name = USER_ADDITIONAL_INFO_PROPERTY, codec = JsonCodec.class)
private JsonNode additionalInfo;
public UserEntity() {

View File

@ -25,36 +25,36 @@ import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.id.WidgetTypeId;
import org.thingsboard.server.common.data.widget.WidgetType;
import org.thingsboard.server.dao.model.BaseEntity;
import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.dao.model.type.JsonCodec;
import static org.thingsboard.server.dao.model.ModelConstants.*;
import java.util.UUID;
@Table(name = ModelConstants.WIDGET_TYPE_COLUMN_FAMILY_NAME)
@Table(name = WIDGET_TYPE_COLUMN_FAMILY_NAME)
public final class WidgetTypeEntity implements BaseEntity<WidgetType> {
@Transient
private static final long serialVersionUID = 3591054897680176342L;
@PartitionKey(value = 0)
@Column(name = ModelConstants.ID_PROPERTY)
@Column(name = ID_PROPERTY)
private UUID id;
@PartitionKey(value = 1)
@Column(name = ModelConstants.WIDGET_TYPE_TENANT_ID_PROPERTY)
@Column(name = WIDGET_TYPE_TENANT_ID_PROPERTY)
private UUID tenantId;
@PartitionKey(value = 2)
@Column(name = ModelConstants.WIDGET_TYPE_BUNDLE_ALIAS_PROPERTY)
@Column(name = WIDGET_TYPE_BUNDLE_ALIAS_PROPERTY)
private String bundleAlias;
@Column(name = ModelConstants.WIDGET_TYPE_ALIAS_PROPERTY)
@Column(name = WIDGET_TYPE_ALIAS_PROPERTY)
private String alias;
@Column(name = ModelConstants.WIDGET_TYPE_NAME_PROPERTY)
@Column(name = WIDGET_TYPE_NAME_PROPERTY)
private String name;
@Column(name = ModelConstants.WIDGET_TYPE_DESCRIPTOR_PROPERTY, codec = JsonCodec.class)
@Column(name = WIDGET_TYPE_DESCRIPTOR_PROPERTY, codec = JsonCodec.class)
private JsonNode descriptor;
public WidgetTypeEntity() {
@ -157,7 +157,7 @@ public final class WidgetTypeEntity implements BaseEntity<WidgetType> {
sb.append(", tenantId=").append(tenantId);
sb.append(", bundleAlias='").append(bundleAlias).append('\'');
sb.append(", alias='").append(alias).append('\'');
sb.append(", name='").append(name).append('\'');
sb.append(", name ='").append(name).append('\'');
sb.append(", descriptor=").append(descriptor);
sb.append('}');
return sb.toString();

View File

@ -24,36 +24,36 @@ import com.datastax.driver.mapping.annotations.Transient;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.id.WidgetsBundleId;
import org.thingsboard.server.common.data.widget.WidgetsBundle;
import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.dao.model.SearchTextEntity;
import static org.thingsboard.server.dao.model.ModelConstants.*;
import java.nio.ByteBuffer;
import java.util.UUID;
@Table(name = ModelConstants.WIDGETS_BUNDLE_COLUMN_FAMILY_NAME)
@Table(name = WIDGETS_BUNDLE_COLUMN_FAMILY_NAME)
public final class WidgetsBundleEntity implements SearchTextEntity<WidgetsBundle> {
@Transient
private static final long serialVersionUID = -8842195928585650849L;
@PartitionKey(value = 0)
@Column(name = ModelConstants.ID_PROPERTY)
@Column(name = ID_PROPERTY)
private UUID id;
@PartitionKey(value = 1)
@Column(name = ModelConstants.WIDGETS_BUNDLE_TENANT_ID_PROPERTY)
@Column(name = WIDGETS_BUNDLE_TENANT_ID_PROPERTY)
private UUID tenantId;
@Column(name = ModelConstants.WIDGETS_BUNDLE_ALIAS_PROPERTY)
@Column(name = WIDGETS_BUNDLE_ALIAS_PROPERTY)
private String alias;
@Column(name = ModelConstants.WIDGETS_BUNDLE_TITLE_PROPERTY)
@Column(name = WIDGETS_BUNDLE_TITLE_PROPERTY)
private String title;
@Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
@Column(name = SEARCH_TEXT_PROPERTY)
private String searchText;
@Column(name = ModelConstants.WIDGETS_BUNDLE_IMAGE_PROPERTY)
@Column(name = WIDGETS_BUNDLE_IMAGE_PROPERTY)
private ByteBuffer image;
public WidgetsBundleEntity() {

View File

@ -33,7 +33,7 @@ import java.util.UUID;
@Slf4j
public abstract class JpaAbstractDao<E extends BaseEntity<D>, D> implements Dao<D> {
protected abstract Class<E> getColumnFamilyClass();
protected abstract Class<E> getEntityClass();
protected abstract String getColumnFamilyName();
@ -47,7 +47,7 @@ public abstract class JpaAbstractDao<E extends BaseEntity<D>, D> implements Dao<
public D save(D domain) {
E entity;
try {
entity = getColumnFamilyClass().getConstructor(domain.getClass()).newInstance(domain);
entity = getEntityClass().getConstructor(domain.getClass()).newInstance(domain);
} catch (Exception e) {
log.error("Can't create entity for domain object {}", domain, e);
throw new IllegalArgumentException("Can't create entity for domain object {" + domain + "}", e);

View File

@ -19,10 +19,14 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.stereotype.Component;
import org.thingsboard.server.common.data.User;
import org.thingsboard.server.common.data.page.TextPageLink;
import org.thingsboard.server.dao.DaoUtil;
import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.dao.model.sql.UserEntity;
import org.thingsboard.server.dao.sql.JpaAbstractDao;
import org.thingsboard.server.dao.user.UserDao;
import java.util.List;
import java.util.UUID;
/**
@ -30,13 +34,13 @@ import java.util.UUID;
*/
@Component
@ConditionalOnProperty(prefix="sql", value="enabled",havingValue = "true", matchIfMissing = false)
public class JpaUserDao extends JpaAbstractDao<UserEntity, User> {
public class JpaUserDao extends JpaAbstractDao<UserEntity, User> implements UserDao {
@Autowired
private UserRepository userRepository;
@Override
protected Class<UserEntity> getColumnFamilyClass() {
protected Class<UserEntity> getEntityClass() {
return UserEntity.class;
}
@ -49,4 +53,19 @@ public class JpaUserDao extends JpaAbstractDao<UserEntity, User> {
protected JpaRepository<UserEntity, UUID> getCrudRepository() {
return userRepository;
}
@Override
public User findByEmail(String email) {
return DaoUtil.getData(userRepository.findByEmail(email));
}
@Override
public List<User> findTenantAdmins(UUID tenantId, TextPageLink pageLink) {
return null;
}
@Override
public List<User> findCustomerUsers(UUID tenantId, UUID customerId, TextPageLink pageLink) {
return null;
}
}

View File

@ -15,12 +15,18 @@
*/
package org.thingsboard.server.dao.sql.user;
import org.thingsboard.server.common.data.User;
import org.thingsboard.server.common.data.page.TextPageLink;
import org.thingsboard.server.dao.model.sql.UserEntity;
import java.util.List;
import java.util.UUID;
/**
* @author Valerii Sosliuk
*/
public interface UserRepository extends JpaRepository<UserEntity, UUID> {
UserEntity findByEmail(String email);
}