Details
diff --git a/dao/src/main/java/org/thingsboard/server/dao/AbstractSearchTimeDao.java b/dao/src/main/java/org/thingsboard/server/dao/AbstractSearchTimeDao.java
index 5852e3c..4a10617 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/AbstractSearchTimeDao.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/AbstractSearchTimeDao.java
@@ -21,34 +21,29 @@ import com.datastax.driver.core.querybuilder.QueryBuilder;
import com.datastax.driver.core.querybuilder.Select;
import com.datastax.driver.core.querybuilder.Select.Where;
import com.datastax.driver.core.utils.UUIDs;
-import org.apache.commons.lang3.StringUtils;
-import org.thingsboard.server.common.data.page.TextPageLink;
import org.thingsboard.server.common.data.page.TimePageLink;
import org.thingsboard.server.dao.model.BaseEntity;
import org.thingsboard.server.dao.model.ModelConstants;
-import org.thingsboard.server.dao.model.SearchTextEntity;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.UUID;
-import static com.datastax.driver.core.querybuilder.QueryBuilder.eq;
import static com.datastax.driver.core.querybuilder.QueryBuilder.select;
-public abstract class AbstractSearchTimeDao<T extends BaseEntity<?>> extends AbstractModelDao<T> {
+public abstract class AbstractSearchTimeDao<E extends BaseEntity<D>, D> extends CassandraAbstractModelDao<E, D> {
- protected List<T> findPageWithTimeSearch(String searchView, List<Clause> clauses, TimePageLink pageLink) {
+ protected List<E> findPageWithTimeSearch(String searchView, List<Clause> clauses, TimePageLink pageLink) {
return findPageWithTimeSearch(searchView, clauses, Collections.emptyList(), pageLink);
}
- protected List<T> findPageWithTimeSearch(String searchView, List<Clause> clauses, Ordering ordering, TimePageLink pageLink) {
+ protected List<E> findPageWithTimeSearch(String searchView, List<Clause> clauses, Ordering ordering, TimePageLink pageLink) {
return findPageWithTimeSearch(searchView, clauses, Collections.singletonList(ordering), pageLink);
}
-
- protected List<T> findPageWithTimeSearch(String searchView, List<Clause> clauses, List<Ordering> topLevelOrderings, TimePageLink pageLink) {
+ protected List<E> findPageWithTimeSearch(String searchView, List<Clause> clauses, List<Ordering> topLevelOrderings, TimePageLink pageLink) {
Select select = select().from(searchView);
Where query = select.where();
for (Clause clause : clauses) {
diff --git a/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributesDao.java b/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributesDao.java
index ae58d4d..3fb8ee2 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributesDao.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributesDao.java
@@ -15,6 +15,7 @@
*/
package org.thingsboard.server.dao.attributes;
+// CASSANDRA ???
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.ResultSetFuture;
import com.google.common.util.concurrent.ListenableFuture;
diff --git a/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributesService.java b/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributesService.java
index 6bf9fb2..ccca460 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributesService.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributesService.java
@@ -15,12 +15,10 @@
*/
package org.thingsboard.server.dao.attributes;
+// CASSANDRA ???
import com.datastax.driver.core.ResultSet;
-import com.datastax.driver.core.ResultSetFuture;
import com.google.common.util.concurrent.ListenableFuture;
-import org.thingsboard.server.common.data.id.DeviceId;
import org.thingsboard.server.common.data.id.EntityId;
-import org.thingsboard.server.common.data.id.UUIDBased;
import org.thingsboard.server.common.data.kv.AttributeKvEntry;
import java.util.Collection;
diff --git a/dao/src/main/java/org/thingsboard/server/dao/attributes/BaseAttributesService.java b/dao/src/main/java/org/thingsboard/server/dao/attributes/BaseAttributesService.java
index 4361241..6fd734a 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/attributes/BaseAttributesService.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/attributes/BaseAttributesService.java
@@ -15,16 +15,17 @@
*/
package org.thingsboard.server.dao.attributes;
+// CASSANDRA ???
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.ResultSetFuture;
import com.google.common.collect.Lists;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
import org.thingsboard.server.common.data.id.EntityId;
import org.thingsboard.server.common.data.kv.AttributeKvEntry;
import org.thingsboard.server.dao.exception.IncorrectParameterException;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
import org.thingsboard.server.dao.service.Validator;
import java.util.Collection;
diff --git a/dao/src/main/java/org/thingsboard/server/dao/cassandra/CassandraCluster.java b/dao/src/main/java/org/thingsboard/server/dao/cassandra/CassandraCluster.java
index 62e3762..efe05f8 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/cassandra/CassandraCluster.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/cassandra/CassandraCluster.java
@@ -16,13 +16,8 @@
package org.thingsboard.server.dao.cassandra;
-import com.datastax.driver.core.Cluster;
-import com.datastax.driver.core.ConsistencyLevel;
-import com.datastax.driver.core.HostDistance;
-import com.datastax.driver.core.PoolingOptions;
+import com.datastax.driver.core.*;
import com.datastax.driver.core.ProtocolOptions.Compression;
-import com.datastax.driver.core.Session;
-import com.datastax.driver.core.exceptions.NoHostAvailableException;
import com.datastax.driver.mapping.Mapper;
import com.datastax.driver.mapping.MappingManager;
import lombok.Data;
@@ -31,16 +26,13 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
-import org.thingsboard.server.dao.exception.DatabaseException;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
-import java.io.Closeable;
import java.net.InetSocketAddress;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
-import java.util.StringTokenizer;
@Component
@Slf4j
diff --git a/dao/src/main/java/org/thingsboard/server/dao/cassandra/CassandraQueryOptions.java b/dao/src/main/java/org/thingsboard/server/dao/cassandra/CassandraQueryOptions.java
index d5460b0..27ac661 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/cassandra/CassandraQueryOptions.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/cassandra/CassandraQueryOptions.java
@@ -21,12 +21,9 @@ import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
-import org.springframework.util.StringUtils;
import javax.annotation.PostConstruct;
-import static org.apache.commons.lang3.StringUtils.isNotBlank;
-
@Component
@Configuration
@Data
diff --git a/dao/src/main/java/org/thingsboard/server/dao/cassandra/CassandraSocketOptions.java b/dao/src/main/java/org/thingsboard/server/dao/cassandra/CassandraSocketOptions.java
index c6f51d1..b4cb7ba 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/cassandra/CassandraSocketOptions.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/cassandra/CassandraSocketOptions.java
@@ -15,13 +15,12 @@
*/
package org.thingsboard.server.dao.cassandra;
+import com.datastax.driver.core.SocketOptions;
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
-import com.datastax.driver.core.SocketOptions;
-
import javax.annotation.PostConstruct;
@Component
diff --git a/dao/src/main/java/org/thingsboard/server/dao/component/BaseComponentDescriptorDao.java b/dao/src/main/java/org/thingsboard/server/dao/component/BaseComponentDescriptorDao.java
index 7c43a76..330790d 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/component/BaseComponentDescriptorDao.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/component/BaseComponentDescriptorDao.java
@@ -27,9 +27,10 @@ import org.thingsboard.server.common.data.page.TextPageLink;
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.AbstractSearchTextDao;
-import org.thingsboard.server.dao.model.ModelConstants;
+import org.thingsboard.server.dao.CassandraAbstractSearchTextDao;
+import org.thingsboard.server.dao.DaoUtil;
import org.thingsboard.server.dao.model.ComponentDescriptorEntity;
+import org.thingsboard.server.dao.model.ModelConstants;
import java.util.Arrays;
import java.util.List;
@@ -44,7 +45,7 @@ import static com.datastax.driver.core.querybuilder.QueryBuilder.select;
*/
@Component
@Slf4j
-public class BaseComponentDescriptorDao extends AbstractSearchTextDao<ComponentDescriptorEntity> implements ComponentDescriptorDao {
+public class BaseComponentDescriptorDao extends CassandraAbstractSearchTextDao<ComponentDescriptorEntity, ComponentDescriptor> implements ComponentDescriptorDao {
@Override
protected Class<ComponentDescriptorEntity> getColumnFamilyClass() {
@@ -57,10 +58,10 @@ public class BaseComponentDescriptorDao extends AbstractSearchTextDao<ComponentD
}
@Override
- public Optional<ComponentDescriptorEntity> save(ComponentDescriptor component) {
+ public Optional<ComponentDescriptor> saveIfNotExist(ComponentDescriptor component) {
ComponentDescriptorEntity entity = new ComponentDescriptorEntity(component);
log.debug("Save component entity [{}]", entity);
- Optional<ComponentDescriptorEntity> result = saveIfNotExist(entity);
+ Optional<ComponentDescriptor> result = saveIfNotExist(entity);
if (log.isTraceEnabled()) {
log.trace("Saved result: [{}] for component entity [{}]", result.isPresent(), result.orElse(null));
} else {
@@ -70,19 +71,19 @@ public class BaseComponentDescriptorDao extends AbstractSearchTextDao<ComponentD
}
@Override
- public ComponentDescriptorEntity findById(ComponentDescriptorId componentId) {
+ public ComponentDescriptor findById(ComponentDescriptorId componentId) {
log.debug("Search component entity by id [{}]", componentId);
- ComponentDescriptorEntity entity = super.findById(componentId.getId());
+ ComponentDescriptor componentDescriptor = super.findById(componentId.getId());
if (log.isTraceEnabled()) {
- log.trace("Search result: [{}] for component entity [{}]", entity != null, entity);
+ log.trace("Search result: [{}] for component entity [{}]", componentDescriptor != null, componentDescriptor);
} else {
- log.debug("Search result: [{}]", entity != null);
+ log.debug("Search result: [{}]", componentDescriptor != null);
}
- return entity;
+ return componentDescriptor;
}
@Override
- public ComponentDescriptorEntity findByClazz(String clazz) {
+ public ComponentDescriptor findByClazz(String clazz) {
log.debug("Search component entity by clazz [{}]", clazz);
Select.Where query = select().from(getColumnFamilyName()).where(eq(ModelConstants.COMPONENT_DESCRIPTOR_CLASS_PROPERTY, clazz));
log.trace("Execute query [{}]", query);
@@ -92,11 +93,11 @@ public class BaseComponentDescriptorDao extends AbstractSearchTextDao<ComponentD
} else {
log.debug("Search result: [{}]", entity != null);
}
- return entity;
+ return DaoUtil.getData(entity);
}
@Override
- public List<ComponentDescriptorEntity> findByTypeAndPageLink(ComponentType type, TextPageLink pageLink) {
+ public List<ComponentDescriptor> findByTypeAndPageLink(ComponentType type, TextPageLink pageLink) {
log.debug("Try to find component by type [{}] and pageLink [{}]", type, pageLink);
List<ComponentDescriptorEntity> entities = findPageWithTextSearch(ModelConstants.COMPONENT_DESCRIPTOR_BY_TYPE_AND_SEARCH_TEXT_COLUMN_FAMILY_NAME,
Arrays.asList(eq(ModelConstants.COMPONENT_DESCRIPTOR_TYPE_PROPERTY, type.name())), pageLink);
@@ -105,11 +106,11 @@ public class BaseComponentDescriptorDao extends AbstractSearchTextDao<ComponentD
} else {
log.debug("Search result: [{}]", entities.size());
}
- return entities;
+ return DaoUtil.convertDataList(entities);
}
@Override
- public List<ComponentDescriptorEntity> findByScopeAndTypeAndPageLink(ComponentScope scope, ComponentType type, TextPageLink pageLink) {
+ public List<ComponentDescriptor> findByScopeAndTypeAndPageLink(ComponentScope scope, ComponentType type, TextPageLink pageLink) {
log.debug("Try to find component by scope [{}] and type [{}] and pageLink [{}]", scope, type, pageLink);
List<ComponentDescriptorEntity> entities = findPageWithTextSearch(ModelConstants.COMPONENT_DESCRIPTOR_BY_SCOPE_TYPE_AND_SEARCH_TEXT_COLUMN_FAMILY_NAME,
Arrays.asList(eq(ModelConstants.COMPONENT_DESCRIPTOR_TYPE_PROPERTY, type.name()),
@@ -119,20 +120,20 @@ public class BaseComponentDescriptorDao extends AbstractSearchTextDao<ComponentD
} else {
log.debug("Search result: [{}]", entities.size());
}
- return entities;
+ return DaoUtil.convertDataList(entities);
}
- public ResultSet removeById(UUID key) {
+ public boolean removeById(UUID key) {
Statement delete = QueryBuilder.delete().all().from(ModelConstants.COMPONENT_DESCRIPTOR_BY_ID).where(eq(ModelConstants.ID_PROPERTY, key));
log.debug("Remove request: {}", delete.toString());
- return getSession().execute(delete);
+ return getSession().execute(delete).wasApplied();
}
@Override
public void deleteById(ComponentDescriptorId id) {
log.debug("Delete plugin meta-data entity by id [{}]", id);
- ResultSet resultSet = removeById(id.getId());
- log.debug("Delete result: [{}]", resultSet.wasApplied());
+ boolean result = removeById(id.getId());
+ log.debug("Delete result: [{}]", result);
}
@Override
@@ -144,7 +145,7 @@ public class BaseComponentDescriptorDao extends AbstractSearchTextDao<ComponentD
log.debug("Delete result: [{}]", resultSet.wasApplied());
}
- private Optional<ComponentDescriptorEntity> saveIfNotExist(ComponentDescriptorEntity entity) {
+ private Optional<ComponentDescriptor> saveIfNotExist(ComponentDescriptorEntity entity) {
if (entity.getId() == null) {
entity.setId(UUIDs.timeBased());
}
@@ -161,7 +162,7 @@ public class BaseComponentDescriptorDao extends AbstractSearchTextDao<ComponentD
.ifNotExists()
);
if (rs.wasApplied()) {
- return Optional.of(entity);
+ return Optional.of(DaoUtil.getData(entity));
} else {
return Optional.empty();
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/component/BaseComponentDescriptorService.java b/dao/src/main/java/org/thingsboard/server/dao/component/BaseComponentDescriptorService.java
index 22fa19d..3a89e55 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/component/BaseComponentDescriptorService.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/component/BaseComponentDescriptorService.java
@@ -32,16 +32,12 @@ import org.thingsboard.server.common.data.plugin.ComponentScope;
import org.thingsboard.server.common.data.plugin.ComponentType;
import org.thingsboard.server.dao.exception.DataValidationException;
import org.thingsboard.server.dao.exception.IncorrectParameterException;
-import org.thingsboard.server.dao.model.ComponentDescriptorEntity;
import org.thingsboard.server.dao.service.DataValidator;
import org.thingsboard.server.dao.service.Validator;
import java.util.List;
import java.util.Optional;
-import static org.thingsboard.server.dao.DaoUtil.convertDataList;
-import static org.thingsboard.server.dao.DaoUtil.getData;
-
/**
* @author Andrew Shvayka
*/
@@ -55,39 +51,37 @@ public class BaseComponentDescriptorService implements ComponentDescriptorServic
@Override
public ComponentDescriptor saveComponent(ComponentDescriptor component) {
componentValidator.validate(component);
- Optional<ComponentDescriptorEntity> result = componentDescriptorDao.save(component);
+ Optional<ComponentDescriptor> result = componentDescriptorDao.saveIfNotExist(component);
if (result.isPresent()) {
- return getData(result.get());
+ return result.get();
} else {
- return getData(componentDescriptorDao.findByClazz(component.getClazz()));
+ return componentDescriptorDao.findByClazz(component.getClazz());
}
}
@Override
public ComponentDescriptor findById(ComponentDescriptorId componentId) {
Validator.validateId(componentId, "Incorrect component id for search request.");
- return getData(componentDescriptorDao.findById(componentId));
+ return componentDescriptorDao.findById(componentId);
}
@Override
public ComponentDescriptor findByClazz(String clazz) {
Validator.validateString(clazz, "Incorrect clazz for search request.");
- return getData(componentDescriptorDao.findByClazz(clazz));
+ return componentDescriptorDao.findByClazz(clazz);
}
@Override
public TextPageData<ComponentDescriptor> findByTypeAndPageLink(ComponentType type, TextPageLink pageLink) {
Validator.validatePageLink(pageLink, "Incorrect PageLink object for search plugin components request.");
- List<ComponentDescriptorEntity> pluginEntities = componentDescriptorDao.findByTypeAndPageLink(type, pageLink);
- List<ComponentDescriptor> components = convertDataList(pluginEntities);
+ List<ComponentDescriptor> components = componentDescriptorDao.findByTypeAndPageLink(type, pageLink);
return new TextPageData<>(components, pageLink);
}
@Override
public TextPageData<ComponentDescriptor> findByScopeAndTypeAndPageLink(ComponentScope scope, ComponentType type, TextPageLink pageLink) {
Validator.validatePageLink(pageLink, "Incorrect PageLink object for search plugin components request.");
- List<ComponentDescriptorEntity> pluginEntities = componentDescriptorDao.findByScopeAndTypeAndPageLink(scope, type, pageLink);
- List<ComponentDescriptor> components = convertDataList(pluginEntities);
+ List<ComponentDescriptor> components = componentDescriptorDao.findByScopeAndTypeAndPageLink(scope, type, pageLink);
return new TextPageData<>(components, pageLink);
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/component/ComponentDescriptorDao.java b/dao/src/main/java/org/thingsboard/server/dao/component/ComponentDescriptorDao.java
index 0496068..cfbcaae 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/component/ComponentDescriptorDao.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/component/ComponentDescriptorDao.java
@@ -21,7 +21,6 @@ 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.Dao;
-import org.thingsboard.server.dao.model.ComponentDescriptorEntity;
import java.util.List;
import java.util.Optional;
@@ -29,17 +28,17 @@ import java.util.Optional;
/**
* @author Andrew Shvayka
*/
-public interface ComponentDescriptorDao extends Dao<ComponentDescriptorEntity> {
+public interface ComponentDescriptorDao extends Dao<ComponentDescriptor> {
- Optional<ComponentDescriptorEntity> save(ComponentDescriptor component);
+ Optional<ComponentDescriptor> saveIfNotExist(ComponentDescriptor component);
- ComponentDescriptorEntity findById(ComponentDescriptorId componentId);
+ ComponentDescriptor findById(ComponentDescriptorId componentId);
- ComponentDescriptorEntity findByClazz(String clazz);
+ ComponentDescriptor findByClazz(String clazz);
- List<ComponentDescriptorEntity> findByTypeAndPageLink(ComponentType type, TextPageLink pageLink);
+ List<ComponentDescriptor> findByTypeAndPageLink(ComponentType type, TextPageLink pageLink);
- List<ComponentDescriptorEntity> findByScopeAndTypeAndPageLink(ComponentScope scope, ComponentType type, TextPageLink pageLink);
+ List<ComponentDescriptor> findByScopeAndTypeAndPageLink(ComponentScope scope, ComponentType type, TextPageLink pageLink);
void deleteById(ComponentDescriptorId componentId);
diff --git a/dao/src/main/java/org/thingsboard/server/dao/customer/CustomerDao.java b/dao/src/main/java/org/thingsboard/server/dao/customer/CustomerDao.java
index 6d7247b..e26fc98 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/customer/CustomerDao.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/customer/CustomerDao.java
@@ -15,18 +15,17 @@
*/
package org.thingsboard.server.dao.customer;
-import java.util.List;
-import java.util.UUID;
-
import org.thingsboard.server.common.data.Customer;
import org.thingsboard.server.common.data.page.TextPageLink;
import org.thingsboard.server.dao.Dao;
-import org.thingsboard.server.dao.model.CustomerEntity;
+
+import java.util.List;
+import java.util.UUID;
/**
* The Interface CustomerDao.
*/
-public interface CustomerDao extends Dao<CustomerEntity> {
+public interface CustomerDao extends Dao<Customer> {
/**
* Save or update customer object
@@ -34,7 +33,7 @@ public interface CustomerDao extends Dao<CustomerEntity> {
* @param customer the customer object
* @return saved customer object
*/
- CustomerEntity save(Customer customer);
+ Customer save(Customer customer);
/**
* Find customers by tenant id and page link.
@@ -43,6 +42,6 @@ public interface CustomerDao extends Dao<CustomerEntity> {
* @param pageLink the page link
* @return the list of customer objects
*/
- List<CustomerEntity> findCustomersByTenantId(UUID tenantId, TextPageLink pageLink);
+ List<Customer> findCustomersByTenantId(UUID tenantId, TextPageLink pageLink);
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/customer/CustomerService.java b/dao/src/main/java/org/thingsboard/server/dao/customer/CustomerService.java
index 70321a2..566d718 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/customer/CustomerService.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/customer/CustomerService.java
@@ -23,14 +23,14 @@ import org.thingsboard.server.common.data.page.TextPageLink;
public interface CustomerService {
- public Customer findCustomerById(CustomerId customerId);
+ Customer findCustomerById(CustomerId customerId);
- public Customer saveCustomer(Customer customer);
+ Customer saveCustomer(Customer customer);
- public void deleteCustomer(CustomerId customerId);
+ void deleteCustomer(CustomerId customerId);
- public TextPageData<Customer> findCustomersByTenantId(TenantId tenantId, TextPageLink pageLink);
+ TextPageData<Customer> findCustomersByTenantId(TenantId tenantId, TextPageLink pageLink);
- public void deleteCustomersByTenantId(TenantId tenantId);
+ void deleteCustomersByTenantId(TenantId tenantId);
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/customer/CustomerServiceImpl.java b/dao/src/main/java/org/thingsboard/server/dao/customer/CustomerServiceImpl.java
index 18ead42..3e9e472 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/customer/CustomerServiceImpl.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/customer/CustomerServiceImpl.java
@@ -15,14 +15,12 @@
*/
package org.thingsboard.server.dao.customer;
-import static org.thingsboard.server.dao.DaoUtil.convertDataList;
-import static org.thingsboard.server.dao.DaoUtil.getData;
-
-import java.util.List;
-
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
import org.thingsboard.server.common.data.Customer;
+import org.thingsboard.server.common.data.Tenant;
import org.thingsboard.server.common.data.id.CustomerId;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.page.TextPageData;
@@ -31,17 +29,13 @@ import org.thingsboard.server.dao.dashboard.DashboardService;
import org.thingsboard.server.dao.device.DeviceService;
import org.thingsboard.server.dao.exception.DataValidationException;
import org.thingsboard.server.dao.exception.IncorrectParameterException;
-import org.thingsboard.server.dao.model.CustomerEntity;
-import org.thingsboard.server.dao.model.TenantEntity;
import org.thingsboard.server.dao.service.DataValidator;
import org.thingsboard.server.dao.service.PaginatedRemover;
+import org.thingsboard.server.dao.service.Validator;
import org.thingsboard.server.dao.tenant.TenantDao;
import org.thingsboard.server.dao.user.UserService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.thingsboard.server.dao.service.Validator;
+
+import java.util.List;
@Service
@Slf4j
public class CustomerServiceImpl implements CustomerService {
@@ -65,16 +59,14 @@ public class CustomerServiceImpl implements CustomerService {
public Customer findCustomerById(CustomerId customerId) {
log.trace("Executing findCustomerById [{}]", customerId);
Validator.validateId(customerId, "Incorrect customerId " + customerId);
- CustomerEntity customerEntity = customerDao.findById(customerId.getId());
- return getData(customerEntity);
+ return customerDao.findById(customerId.getId());
}
@Override
public Customer saveCustomer(Customer customer) {
log.trace("Executing saveCustomer [{}]", customer);
customerValidator.validate(customer);
- CustomerEntity customerEntity = customerDao.save(customer);
- return getData(customerEntity);
+ return customerDao.save(customer);
}
@Override
@@ -96,8 +88,7 @@ public class CustomerServiceImpl implements CustomerService {
log.trace("Executing findCustomersByTenantId, tenantId [{}], pageLink [{}]", tenantId, pageLink);
Validator.validateId(tenantId, "Incorrect tenantId " + tenantId);
Validator.validatePageLink(pageLink, "Incorrect page link " + pageLink);
- List<CustomerEntity> customerEntities = customerDao.findCustomersByTenantId(tenantId.getId(), pageLink);
- List<Customer> customers = convertDataList(customerEntities);
+ List<Customer> customers = customerDao.findCustomersByTenantId(tenantId.getId(), pageLink);
return new TextPageData<Customer>(customers, pageLink);
}
@@ -121,7 +112,7 @@ public class CustomerServiceImpl implements CustomerService {
if (customer.getTenantId() == null) {
throw new DataValidationException("Customer should be assigned to tenant!");
} else {
- TenantEntity tenant = tenantDao.findById(customer.getTenantId().getId());
+ Tenant tenant = tenantDao.findById(customer.getTenantId().getId());
if (tenant == null) {
throw new DataValidationException("Customer is referencing to non-existent tenant!");
}
@@ -129,17 +120,17 @@ public class CustomerServiceImpl implements CustomerService {
}
};
- private PaginatedRemover<TenantId, CustomerEntity> customersByTenantRemover =
- new PaginatedRemover<TenantId, CustomerEntity>() {
+ private PaginatedRemover<TenantId, Customer> customersByTenantRemover =
+ new PaginatedRemover<TenantId, Customer>() {
@Override
- protected List<CustomerEntity> findEntities(TenantId id, TextPageLink pageLink) {
+ protected List<Customer> findEntities(TenantId id, TextPageLink pageLink) {
return customerDao.findCustomersByTenantId(id.getId(), pageLink);
}
@Override
- protected void removeEntity(CustomerEntity entity) {
- deleteCustomer(new CustomerId(entity.getId()));
+ protected void removeEntity(Customer entity) {
+ deleteCustomer(new CustomerId(entity.getUuidId()));
}
};
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/Dao.java b/dao/src/main/java/org/thingsboard/server/dao/Dao.java
index 2703cdc..f0580eb 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/Dao.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/Dao.java
@@ -15,7 +15,6 @@
*/
package org.thingsboard.server.dao;
-import com.datastax.driver.core.ResultSet;
import com.google.common.util.concurrent.ListenableFuture;
import java.util.List;
@@ -31,6 +30,6 @@ public interface Dao<T> {
T save(T t);
- ResultSet removeById(UUID id);
+ boolean removeById(UUID id);
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/DaoUtil.java b/dao/src/main/java/org/thingsboard/server/dao/DaoUtil.java
index 27499bb..42823a1 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/DaoUtil.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/DaoUtil.java
@@ -15,15 +15,11 @@
*/
package org.thingsboard.server.dao;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.UUID;
-
import org.thingsboard.server.common.data.id.UUIDBased;
import org.thingsboard.server.dao.model.ToData;
+import java.util.*;
+
public abstract class DaoUtil {
private DaoUtil() {
diff --git a/dao/src/main/java/org/thingsboard/server/dao/dashboard/DashboardDao.java b/dao/src/main/java/org/thingsboard/server/dao/dashboard/DashboardDao.java
index 2b9920a..f2563ca 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/dashboard/DashboardDao.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/dashboard/DashboardDao.java
@@ -15,21 +15,13 @@
*/
package org.thingsboard.server.dao.dashboard;
-import java.util.List;
-import java.util.UUID;
-
import org.thingsboard.server.common.data.Dashboard;
-import org.thingsboard.server.common.data.page.TextPageLink;
import org.thingsboard.server.dao.Dao;
-import org.thingsboard.server.dao.model.DashboardEntity;
-import org.thingsboard.server.dao.model.DashboardInfoEntity;
/**
* The Interface DashboardDao.
- *
- * @param <T> the generic type
*/
-public interface DashboardDao extends Dao<DashboardEntity> {
+public interface DashboardDao extends Dao<Dashboard> {
/**
* Save or update dashboard object
@@ -37,6 +29,6 @@ public interface DashboardDao extends Dao<DashboardEntity> {
* @param dashboard the dashboard object
* @return saved dashboard object
*/
- DashboardEntity save(Dashboard dashboard);
+ Dashboard save(Dashboard dashboard);
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/dashboard/DashboardInfoDao.java b/dao/src/main/java/org/thingsboard/server/dao/dashboard/DashboardInfoDao.java
index 9852b35..a26bd14 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/dashboard/DashboardInfoDao.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/dashboard/DashboardInfoDao.java
@@ -15,21 +15,17 @@
*/
package org.thingsboard.server.dao.dashboard;
-import java.util.List;
-import java.util.UUID;
-
-import org.thingsboard.server.common.data.Dashboard;
+import org.thingsboard.server.common.data.DashboardInfo;
import org.thingsboard.server.common.data.page.TextPageLink;
import org.thingsboard.server.dao.Dao;
-import org.thingsboard.server.dao.model.DashboardEntity;
-import org.thingsboard.server.dao.model.DashboardInfoEntity;
+
+import java.util.List;
+import java.util.UUID;
/**
* The Interface DashboardInfoDao.
- *
- * @param <T> the generic type
*/
-public interface DashboardInfoDao extends Dao<DashboardInfoEntity> {
+public interface DashboardInfoDao extends Dao<DashboardInfo> {
/**
* Find dashboards by tenantId and page link.
@@ -38,7 +34,7 @@ public interface DashboardInfoDao extends Dao<DashboardInfoEntity> {
* @param pageLink the page link
* @return the list of dashboard objects
*/
- List<DashboardInfoEntity> findDashboardsByTenantId(UUID tenantId, TextPageLink pageLink);
+ List<DashboardInfo> findDashboardsByTenantId(UUID tenantId, TextPageLink pageLink);
/**
* Find dashboards by tenantId, customerId and page link.
@@ -48,6 +44,6 @@ public interface DashboardInfoDao extends Dao<DashboardInfoEntity> {
* @param pageLink the page link
* @return the list of dashboard objects
*/
- List<DashboardInfoEntity> findDashboardsByTenantIdAndCustomerId(UUID tenantId, UUID customerId, TextPageLink pageLink);
+ List<DashboardInfo> findDashboardsByTenantIdAndCustomerId(UUID tenantId, UUID customerId, TextPageLink pageLink);
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/dashboard/DashboardService.java b/dao/src/main/java/org/thingsboard/server/dao/dashboard/DashboardService.java
index 8c86064..b49b5b4 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/dashboard/DashboardService.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/dashboard/DashboardService.java
@@ -25,22 +25,22 @@ import org.thingsboard.server.common.data.page.TextPageLink;
public interface DashboardService {
- public Dashboard findDashboardById(DashboardId dashboardId);
-
- public Dashboard saveDashboard(Dashboard dashboard);
-
- public Dashboard assignDashboardToCustomer(DashboardId dashboardId, CustomerId customerId);
+ Dashboard findDashboardById(DashboardId dashboardId);
- public Dashboard unassignDashboardFromCustomer(DashboardId dashboardId);
+ Dashboard saveDashboard(Dashboard dashboard);
- public void deleteDashboard(DashboardId dashboardId);
-
- public TextPageData<DashboardInfo> findDashboardsByTenantId(TenantId tenantId, TextPageLink pageLink);
+ Dashboard assignDashboardToCustomer(DashboardId dashboardId, CustomerId customerId);
- public void deleteDashboardsByTenantId(TenantId tenantId);
-
- public TextPageData<DashboardInfo> findDashboardsByTenantIdAndCustomerId(TenantId tenantId, CustomerId customerId, TextPageLink pageLink);
+ Dashboard unassignDashboardFromCustomer(DashboardId dashboardId);
+
+ void deleteDashboard(DashboardId dashboardId);
+
+ TextPageData<DashboardInfo> findDashboardsByTenantId(TenantId tenantId, TextPageLink pageLink);
+
+ void deleteDashboardsByTenantId(TenantId tenantId);
+
+ TextPageData<DashboardInfo> findDashboardsByTenantIdAndCustomerId(TenantId tenantId, CustomerId customerId, TextPageLink pageLink);
+
+ void unassignCustomerDashboards(TenantId tenantId, CustomerId customerId);
- public void unassignCustomerDashboards(TenantId tenantId, CustomerId customerId);
-
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/dashboard/DashboardServiceImpl.java b/dao/src/main/java/org/thingsboard/server/dao/dashboard/DashboardServiceImpl.java
index 2e0abfb..fca73c4 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/dashboard/DashboardServiceImpl.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/dashboard/DashboardServiceImpl.java
@@ -15,15 +15,14 @@
*/
package org.thingsboard.server.dao.dashboard;
-import static org.thingsboard.server.dao.DaoUtil.convertDataList;
-import static org.thingsboard.server.dao.DaoUtil.getData;
-
-import java.util.List;
-
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.thingsboard.server.common.data.Customer;
import org.thingsboard.server.common.data.Dashboard;
import org.thingsboard.server.common.data.DashboardInfo;
+import org.thingsboard.server.common.data.Tenant;
import org.thingsboard.server.common.data.id.CustomerId;
import org.thingsboard.server.common.data.id.DashboardId;
import org.thingsboard.server.common.data.id.TenantId;
@@ -31,15 +30,13 @@ import org.thingsboard.server.common.data.page.TextPageData;
import org.thingsboard.server.common.data.page.TextPageLink;
import org.thingsboard.server.dao.customer.CustomerDao;
import org.thingsboard.server.dao.exception.DataValidationException;
-import org.thingsboard.server.dao.model.*;
+import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.dao.service.DataValidator;
import org.thingsboard.server.dao.service.PaginatedRemover;
-import org.thingsboard.server.dao.tenant.TenantDao;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
import org.thingsboard.server.dao.service.Validator;
+import org.thingsboard.server.dao.tenant.TenantDao;
+
+import java.util.List;
@Service
@Slf4j
@@ -61,16 +58,14 @@ public class DashboardServiceImpl implements DashboardService {
public Dashboard findDashboardById(DashboardId dashboardId) {
log.trace("Executing findDashboardById [{}]", dashboardId);
Validator.validateId(dashboardId, "Incorrect dashboardId " + dashboardId);
- DashboardEntity dashboardEntity = dashboardDao.findById(dashboardId.getId());
- return getData(dashboardEntity);
+ return dashboardDao.findById(dashboardId.getId());
}
@Override
public Dashboard saveDashboard(Dashboard dashboard) {
log.trace("Executing saveDashboard [{}]", dashboard);
dashboardValidator.validate(dashboard);
- DashboardEntity dashboardEntity = dashboardDao.save(dashboard);
- return getData(dashboardEntity);
+ return dashboardDao.save(dashboard);
}
@Override
@@ -99,9 +94,8 @@ public class DashboardServiceImpl implements DashboardService {
log.trace("Executing findDashboardsByTenantId, tenantId [{}], pageLink [{}]", tenantId, pageLink);
Validator.validateId(tenantId, "Incorrect tenantId " + tenantId);
Validator.validatePageLink(pageLink, "Incorrect page link " + pageLink);
- List<DashboardInfoEntity> dashboardEntities = dashboardInfoDao.findDashboardsByTenantId(tenantId.getId(), pageLink);
- List<DashboardInfo> dashboards = convertDataList(dashboardEntities);
- return new TextPageData<DashboardInfo>(dashboards, pageLink);
+ List<DashboardInfo> dashboards = dashboardInfoDao.findDashboardsByTenantId(tenantId.getId(), pageLink);
+ return new TextPageData<>(dashboards, pageLink);
}
@Override
@@ -117,9 +111,8 @@ public class DashboardServiceImpl implements DashboardService {
Validator.validateId(tenantId, "Incorrect tenantId " + tenantId);
Validator.validateId(customerId, "Incorrect customerId " + customerId);
Validator.validatePageLink(pageLink, "Incorrect page link " + pageLink);
- List<DashboardInfoEntity> dashboardEntities = dashboardInfoDao.findDashboardsByTenantIdAndCustomerId(tenantId.getId(), customerId.getId(), pageLink);
- List<DashboardInfo> dashboards = convertDataList(dashboardEntities);
- return new TextPageData<DashboardInfo>(dashboards, pageLink);
+ List<DashboardInfo> dashboards = dashboardInfoDao.findDashboardsByTenantIdAndCustomerId(tenantId.getId(), customerId.getId(), pageLink);
+ return new TextPageData<>(dashboards, pageLink);
}
@Override
@@ -140,7 +133,7 @@ public class DashboardServiceImpl implements DashboardService {
if (dashboard.getTenantId() == null) {
throw new DataValidationException("Dashboard should be assigned to tenant!");
} else {
- TenantEntity tenant = tenantDao.findById(dashboard.getTenantId().getId());
+ Tenant tenant = tenantDao.findById(dashboard.getTenantId().getId());
if (tenant == null) {
throw new DataValidationException("Dashboard is referencing to non-existent tenant!");
}
@@ -148,32 +141,32 @@ public class DashboardServiceImpl implements DashboardService {
if (dashboard.getCustomerId() == null) {
dashboard.setCustomerId(new CustomerId(ModelConstants.NULL_UUID));
} else if (!dashboard.getCustomerId().getId().equals(ModelConstants.NULL_UUID)) {
- CustomerEntity customer = customerDao.findById(dashboard.getCustomerId().getId());
+ Customer customer = customerDao.findById(dashboard.getCustomerId().getId());
if (customer == null) {
throw new DataValidationException("Can't assign dashboard to non-existent customer!");
}
- if (!customer.getTenantId().equals(dashboard.getTenantId().getId())) {
+ if (!customer.getTenantId().getId().equals(dashboard.getTenantId().getId())) {
throw new DataValidationException("Can't assign dashboard to customer from different tenant!");
}
}
}
};
- private PaginatedRemover<TenantId, DashboardInfoEntity> tenantDashboardsRemover =
- new PaginatedRemover<TenantId, DashboardInfoEntity>() {
+ private PaginatedRemover<TenantId, DashboardInfo> tenantDashboardsRemover =
+ new PaginatedRemover<TenantId, DashboardInfo>() {
@Override
- protected List<DashboardInfoEntity> findEntities(TenantId id, TextPageLink pageLink) {
+ protected List<DashboardInfo> findEntities(TenantId id, TextPageLink pageLink) {
return dashboardInfoDao.findDashboardsByTenantId(id.getId(), pageLink);
}
@Override
- protected void removeEntity(DashboardInfoEntity entity) {
- deleteDashboard(new DashboardId(entity.getId()));
+ protected void removeEntity(DashboardInfo entity) {
+ deleteDashboard(new DashboardId(entity.getUuidId()));
}
};
- class CustomerDashboardsUnassigner extends PaginatedRemover<CustomerId, DashboardInfoEntity> {
+ private class CustomerDashboardsUnassigner extends PaginatedRemover<CustomerId, DashboardInfo> {
private TenantId tenantId;
@@ -182,13 +175,13 @@ public class DashboardServiceImpl implements DashboardService {
}
@Override
- protected List<DashboardInfoEntity> findEntities(CustomerId id, TextPageLink pageLink) {
+ protected List<DashboardInfo> findEntities(CustomerId id, TextPageLink pageLink) {
return dashboardInfoDao.findDashboardsByTenantIdAndCustomerId(tenantId.getId(), id.getId(), pageLink);
}
@Override
- protected void removeEntity(DashboardInfoEntity entity) {
- unassignDashboardFromCustomer(new DashboardId(entity.getId()));
+ protected void removeEntity(DashboardInfo entity) {
+ unassignDashboardFromCustomer(new DashboardId(entity.getUuidId()));
}
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/device/DeviceCredentialsDao.java b/dao/src/main/java/org/thingsboard/server/dao/device/DeviceCredentialsDao.java
index 89a4a02..c13129a 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/device/DeviceCredentialsDao.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/device/DeviceCredentialsDao.java
@@ -15,18 +15,15 @@
*/
package org.thingsboard.server.dao.device;
-import java.util.UUID;
-
import org.thingsboard.server.common.data.security.DeviceCredentials;
import org.thingsboard.server.dao.Dao;
-import org.thingsboard.server.dao.model.DeviceCredentialsEntity;
+
+import java.util.UUID;
/**
* The Interface DeviceCredentialsDao.
- *
- * @param <T> the generic type
*/
-public interface DeviceCredentialsDao extends Dao<DeviceCredentialsEntity> {
+public interface DeviceCredentialsDao extends Dao<DeviceCredentials> {
/**
* Save or update device credentials object
@@ -34,7 +31,7 @@ public interface DeviceCredentialsDao extends Dao<DeviceCredentialsEntity> {
* @param deviceCredentials the device credentials object
* @return saved device credentials object
*/
- DeviceCredentialsEntity save(DeviceCredentials deviceCredentials);
+ DeviceCredentials save(DeviceCredentials deviceCredentials);
/**
* Find device credentials by device id.
@@ -42,7 +39,7 @@ public interface DeviceCredentialsDao extends Dao<DeviceCredentialsEntity> {
* @param deviceId the device id
* @return the device credentials object
*/
- DeviceCredentialsEntity findByDeviceId(UUID deviceId);
+ DeviceCredentials findByDeviceId(UUID deviceId);
/**
* Find device credentials by credentials id.
@@ -50,6 +47,6 @@ public interface DeviceCredentialsDao extends Dao<DeviceCredentialsEntity> {
* @param credentialsId the credentials id
* @return the device credentials object
*/
- DeviceCredentialsEntity findByCredentialsId(String credentialsId);
+ DeviceCredentials findByCredentialsId(String credentialsId);
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/device/DeviceCredentialsServiceImpl.java b/dao/src/main/java/org/thingsboard/server/dao/device/DeviceCredentialsServiceImpl.java
index 10e329a..ae23221 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/device/DeviceCredentialsServiceImpl.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/device/DeviceCredentialsServiceImpl.java
@@ -26,10 +26,8 @@ import org.thingsboard.server.common.data.security.DeviceCredentials;
import org.thingsboard.server.common.data.security.DeviceCredentialsType;
import org.thingsboard.server.dao.EncryptionUtil;
import org.thingsboard.server.dao.exception.DataValidationException;
-import org.thingsboard.server.dao.model.DeviceCredentialsEntity;
import org.thingsboard.server.dao.service.DataValidator;
-import static org.thingsboard.server.dao.DaoUtil.getData;
import static org.thingsboard.server.dao.service.Validator.validateId;
import static org.thingsboard.server.dao.service.Validator.validateString;
@@ -47,16 +45,14 @@ public class DeviceCredentialsServiceImpl implements DeviceCredentialsService {
public DeviceCredentials findDeviceCredentialsByDeviceId(DeviceId deviceId) {
log.trace("Executing findDeviceCredentialsByDeviceId [{}]", deviceId);
validateId(deviceId, "Incorrect deviceId " + deviceId);
- DeviceCredentialsEntity deviceCredentialsEntity = deviceCredentialsDao.findByDeviceId(deviceId.getId());
- return getData(deviceCredentialsEntity);
+ return deviceCredentialsDao.findByDeviceId(deviceId.getId());
}
@Override
public DeviceCredentials findDeviceCredentialsByCredentialsId(String credentialsId) {
log.trace("Executing findDeviceCredentialsByCredentialsId [{}]", credentialsId);
validateString(credentialsId, "Incorrect credentialsId " + credentialsId);
- DeviceCredentialsEntity deviceCredentialsEntity = deviceCredentialsDao.findByCredentialsId(credentialsId);
- return getData(deviceCredentialsEntity);
+ return deviceCredentialsDao.findByCredentialsId(credentialsId);
}
@Override
@@ -75,7 +71,7 @@ public class DeviceCredentialsServiceImpl implements DeviceCredentialsService {
}
log.trace("Executing updateDeviceCredentials [{}]", deviceCredentials);
credentialsValidator.validate(deviceCredentials);
- return getData(deviceCredentialsDao.save(deviceCredentials));
+ return deviceCredentialsDao.save(deviceCredentials);
}
private void formatCertData(DeviceCredentials deviceCredentials) {
@@ -96,7 +92,7 @@ public class DeviceCredentialsServiceImpl implements DeviceCredentialsService {
@Override
protected void validateCreate(DeviceCredentials deviceCredentials) {
- DeviceCredentialsEntity existingCredentialsEntity = deviceCredentialsDao.findByCredentialsId(deviceCredentials.getCredentialsId());
+ DeviceCredentials existingCredentialsEntity = deviceCredentialsDao.findByCredentialsId(deviceCredentials.getCredentialsId());
if (existingCredentialsEntity != null) {
throw new DataValidationException("Create of existent device credentials!");
}
@@ -104,12 +100,12 @@ public class DeviceCredentialsServiceImpl implements DeviceCredentialsService {
@Override
protected void validateUpdate(DeviceCredentials deviceCredentials) {
- DeviceCredentialsEntity existingCredentialsEntity = deviceCredentialsDao.findById(deviceCredentials.getUuidId());
- if (existingCredentialsEntity == null) {
+ DeviceCredentials existingCredentials = deviceCredentialsDao.findById(deviceCredentials.getUuidId());
+ if (existingCredentials == null) {
throw new DataValidationException("Unable to update non-existent device credentials!");
}
- DeviceCredentialsEntity sameCredentialsIdEntity = deviceCredentialsDao.findByCredentialsId(deviceCredentials.getCredentialsId());
- if (sameCredentialsIdEntity != null && !sameCredentialsIdEntity.getId().equals(deviceCredentials.getUuidId())) {
+ DeviceCredentials sameCredentialsId = deviceCredentialsDao.findByCredentialsId(deviceCredentials.getCredentialsId());
+ if (sameCredentialsId != null && !sameCredentialsId.getUuidId().equals(deviceCredentials.getUuidId())) {
throw new DataValidationException("Specified credentials are already registered!");
}
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/device/DeviceDao.java b/dao/src/main/java/org/thingsboard/server/dao/device/DeviceDao.java
index b8d395c..86d2f8f 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/device/DeviceDao.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/device/DeviceDao.java
@@ -15,21 +15,20 @@
*/
package org.thingsboard.server.dao.device;
-import java.util.List;
-import java.util.Optional;
-import java.util.UUID;
-
import com.google.common.util.concurrent.ListenableFuture;
import org.thingsboard.server.common.data.Device;
import org.thingsboard.server.common.data.page.TextPageLink;
import org.thingsboard.server.dao.Dao;
-import org.thingsboard.server.dao.model.DeviceEntity;
+
+import java.util.List;
+import java.util.Optional;
+import java.util.UUID;
/**
* The Interface DeviceDao.
*
*/
-public interface DeviceDao extends Dao<DeviceEntity> {
+public interface DeviceDao extends Dao<Device> {
/**
* Save or update device object
@@ -37,7 +36,7 @@ public interface DeviceDao extends Dao<DeviceEntity> {
* @param device the device object
* @return saved device object
*/
- DeviceEntity save(Device device);
+ Device save(Device device);
/**
* Find devices by tenantId and page link.
@@ -46,7 +45,7 @@ public interface DeviceDao extends Dao<DeviceEntity> {
* @param pageLink the page link
* @return the list of device objects
*/
- List<DeviceEntity> findDevicesByTenantId(UUID tenantId, TextPageLink pageLink);
+ List<Device> findDevicesByTenantId(UUID tenantId, TextPageLink pageLink);
/**
* Find devices by tenantId and devices Ids.
@@ -55,7 +54,7 @@ public interface DeviceDao extends Dao<DeviceEntity> {
* @param deviceIds the device Ids
* @return the list of device objects
*/
- ListenableFuture<List<DeviceEntity>> findDevicesByTenantIdAndIdsAsync(UUID tenantId, List<UUID> deviceIds);
+ ListenableFuture<List<Device>> findDevicesByTenantIdAndIdsAsync(UUID tenantId, List<UUID> deviceIds);
/**
* Find devices by tenantId, customerId and page link.
@@ -65,7 +64,7 @@ public interface DeviceDao extends Dao<DeviceEntity> {
* @param pageLink the page link
* @return the list of device objects
*/
- List<DeviceEntity> findDevicesByTenantIdAndCustomerId(UUID tenantId, UUID customerId, TextPageLink pageLink);
+ List<Device> findDevicesByTenantIdAndCustomerId(UUID tenantId, UUID customerId, TextPageLink pageLink);
/**
* Find devices by tenantId, customerId and devices Ids.
@@ -75,7 +74,7 @@ public interface DeviceDao extends Dao<DeviceEntity> {
* @param deviceIds the device Ids
* @return the list of device objects
*/
- ListenableFuture<List<DeviceEntity>> findDevicesByTenantIdCustomerIdAndIdsAsync(UUID tenantId, UUID customerId, List<UUID> deviceIds);
+ ListenableFuture<List<Device>> findDevicesByTenantIdCustomerIdAndIdsAsync(UUID tenantId, UUID customerId, List<UUID> deviceIds);
/**
* Find devices by tenantId and device name.
@@ -84,5 +83,5 @@ public interface DeviceDao extends Dao<DeviceEntity> {
* @param name the device name
* @return the optional device object
*/
- Optional<DeviceEntity> findDevicesByTenantIdAndName(UUID tenantId, String name);
+ Optional<Device> findDevicesByTenantIdAndName(UUID tenantId, String name);
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/device/DeviceServiceImpl.java b/dao/src/main/java/org/thingsboard/server/dao/device/DeviceServiceImpl.java
index 3d1ce31..4a36594 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/device/DeviceServiceImpl.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/device/DeviceServiceImpl.java
@@ -43,13 +43,9 @@ import org.thingsboard.server.dao.tenant.TenantDao;
import java.util.List;
import java.util.Optional;
-import static org.thingsboard.server.dao.DaoUtil.convertDataList;
-import static org.thingsboard.server.dao.DaoUtil.getData;
-import static org.thingsboard.server.dao.DaoUtil.toUUIDs;
+import static org.thingsboard.server.dao.DaoUtil.*;
import static org.thingsboard.server.dao.model.ModelConstants.NULL_UUID;
-import static org.thingsboard.server.dao.service.Validator.validateId;
-import static org.thingsboard.server.dao.service.Validator.validateIds;
-import static org.thingsboard.server.dao.service.Validator.validatePageLink;
+import static org.thingsboard.server.dao.service.Validator.*;
@Service
@Slf4j
@@ -71,15 +67,14 @@ public class DeviceServiceImpl implements DeviceService {
public Device findDeviceById(DeviceId deviceId) {
log.trace("Executing findDeviceById [{}]", deviceId);
validateId(deviceId, "Incorrect deviceId " + deviceId);
- DeviceEntity deviceEntity = deviceDao.findById(deviceId.getId());
- return getData(deviceEntity);
+ return deviceDao.findById(deviceId.getId());
}
@Override
public ListenableFuture<Device> findDeviceByIdAsync(DeviceId deviceId) {
log.trace("Executing findDeviceById [{}]", deviceId);
validateId(deviceId, "Incorrect deviceId " + deviceId);
- ListenableFuture<DeviceEntity> deviceEntity = deviceDao.findByIdAsync(deviceId.getId());
+ ListenableFuture<Device> deviceEntity = deviceDao.findByIdAsync(deviceId.getId());
return Futures.transform(deviceEntity, (Function<? super DeviceEntity, ? extends Device>) input -> getData(input));
}
@@ -87,9 +82,9 @@ public class DeviceServiceImpl implements DeviceService {
public Optional<Device> findDeviceByTenantIdAndName(TenantId tenantId, String name) {
log.trace("Executing findDeviceByTenantIdAndName [{}][{}]", tenantId, name);
validateId(tenantId, "Incorrect tenantId " + tenantId);
- Optional<DeviceEntity> deviceEntityOpt = deviceDao.findDevicesByTenantIdAndName(tenantId.getId(), name);
+ Optional<Device> deviceEntityOpt = deviceDao.findDevicesByTenantIdAndName(tenantId.getId(), name);
if (deviceEntityOpt.isPresent()) {
- return Optional.of(getData(deviceEntityOpt.get()));
+ return Optional.of(deviceEntityOpt.get());
} else {
return Optional.empty();
}
@@ -99,15 +94,15 @@ public class DeviceServiceImpl implements DeviceService {
public Device saveDevice(Device device) {
log.trace("Executing saveDevice [{}]", device);
deviceValidator.validate(device);
- DeviceEntity deviceEntity = deviceDao.save(device);
+ Device savedDevice = deviceDao.save(device);
if (device.getId() == null) {
DeviceCredentials deviceCredentials = new DeviceCredentials();
- deviceCredentials.setDeviceId(new DeviceId(deviceEntity.getId()));
+ deviceCredentials.setDeviceId(new DeviceId(savedDevice.getUuidId()));
deviceCredentials.setCredentialsType(DeviceCredentialsType.ACCESS_TOKEN);
deviceCredentials.setCredentialsId(RandomStringUtils.randomAlphanumeric(20));
deviceCredentialsService.createDeviceCredentials(deviceCredentials);
}
- return getData(deviceEntity);
+ return savedDevice;
}
@Override
@@ -140,8 +135,7 @@ public class DeviceServiceImpl implements DeviceService {
log.trace("Executing findDevicesByTenantId, tenantId [{}], pageLink [{}]", tenantId, pageLink);
validateId(tenantId, "Incorrect tenantId " + tenantId);
validatePageLink(pageLink, "Incorrect page link " + pageLink);
- List<DeviceEntity> deviceEntities = deviceDao.findDevicesByTenantId(tenantId.getId(), pageLink);
- List<Device> devices = convertDataList(deviceEntities);
+ List<Device> devices = deviceDao.findDevicesByTenantId(tenantId.getId(), pageLink);
return new TextPageData<Device>(devices, pageLink);
}
@@ -150,7 +144,7 @@ public class DeviceServiceImpl implements DeviceService {
log.trace("Executing findDevicesByTenantIdAndIdsAsync, tenantId [{}], deviceIds [{}]", tenantId, deviceIds);
validateId(tenantId, "Incorrect tenantId " + tenantId);
validateIds(deviceIds, "Incorrect deviceIds " + deviceIds);
- ListenableFuture<List<DeviceEntity>> deviceEntities = deviceDao.findDevicesByTenantIdAndIdsAsync(tenantId.getId(), toUUIDs(deviceIds));
+ ListenableFuture<List<Device>> devices = deviceDao.findDevicesByTenantIdAndIdsAsync(tenantId.getId(), toUUIDs(deviceIds));
return Futures.transform(deviceEntities, (Function<List<DeviceEntity>, List<Device>>) input -> convertDataList(input));
}
@@ -168,8 +162,7 @@ public class DeviceServiceImpl implements DeviceService {
validateId(tenantId, "Incorrect tenantId " + tenantId);
validateId(customerId, "Incorrect customerId " + customerId);
validatePageLink(pageLink, "Incorrect page link " + pageLink);
- List<DeviceEntity> deviceEntities = deviceDao.findDevicesByTenantIdAndCustomerId(tenantId.getId(), customerId.getId(), pageLink);
- List<Device> devices = convertDataList(deviceEntities);
+ List<Device> devices = deviceDao.findDevicesByTenantIdAndCustomerId(tenantId.getId(), customerId.getId(), pageLink);
return new TextPageData<Device>(devices, pageLink);
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/EncryptionUtil.java b/dao/src/main/java/org/thingsboard/server/dao/EncryptionUtil.java
index 9a4e592..1d74d30 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/EncryptionUtil.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/EncryptionUtil.java
@@ -15,7 +15,6 @@
*/
package org.thingsboard.server.dao;
-import com.google.common.base.CharMatcher;
import lombok.extern.slf4j.Slf4j;
import org.bouncycastle.crypto.digests.SHA3Digest;
import org.bouncycastle.pqc.math.linearalgebra.ByteUtils;
diff --git a/dao/src/main/java/org/thingsboard/server/dao/event/BaseEventService.java b/dao/src/main/java/org/thingsboard/server/dao/event/BaseEventService.java
index 625f1f5..65fc567 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/event/BaseEventService.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/event/BaseEventService.java
@@ -15,6 +15,7 @@
*/
package org.thingsboard.server.dao.event;
+// CASSANDRA ???
import com.datastax.driver.core.utils.UUIDs;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@@ -27,14 +28,11 @@ import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.page.TimePageData;
import org.thingsboard.server.common.data.page.TimePageLink;
import org.thingsboard.server.dao.exception.DataValidationException;
-import org.thingsboard.server.dao.model.EventEntity;
import org.thingsboard.server.dao.service.DataValidator;
import java.util.List;
import java.util.Optional;
-import static org.thingsboard.server.dao.DaoUtil.convertDataList;
-import static org.thingsboard.server.dao.DaoUtil.getData;
import static org.thingsboard.server.dao.model.ModelConstants.NULL_UUID;
@Service
@@ -59,7 +57,7 @@ public class BaseEventService implements EventService {
if (StringUtils.isEmpty(event.getUid())) {
event.setUid(event.getId().toString());
}
- return getData(eventDao.save(event));
+ return eventDao.save(event);
}
@Override
@@ -75,8 +73,8 @@ public class BaseEventService implements EventService {
if (event.getId() == null) {
event.setId(new EventId(UUIDs.timeBased()));
}
- Optional<EventEntity> result = eventDao.saveIfNotExists(event);
- return result.isPresent() ? Optional.of(getData(result.get())) : Optional.empty();
+ Optional<Event> result = eventDao.saveIfNotExists(event);
+ return result.isPresent() ? Optional.of(result.get()) : Optional.empty();
}
@Override
@@ -93,22 +91,19 @@ public class BaseEventService implements EventService {
if (StringUtils.isEmpty(eventUid)) {
throw new DataValidationException("Event uid should be specified!.");
}
- EventEntity entity = eventDao.findEvent(tenantId.getId(), entityId, eventType, eventUid);
- return entity != null ? Optional.of(getData(entity)) : Optional.empty();
+ Event event = eventDao.findEvent(tenantId.getId(), entityId, eventType, eventUid);
+ return event != null ? Optional.of(event) : Optional.empty();
}
@Override
public TimePageData<Event> findEvents(TenantId tenantId, EntityId entityId, TimePageLink pageLink) {
- List<EventEntity> entities = eventDao.findEvents(tenantId.getId(), entityId, pageLink);
- List<Event> events = convertDataList(entities);
+ List<Event> events = eventDao.findEvents(tenantId.getId(), entityId, pageLink);
return new TimePageData<Event>(events, pageLink);
}
-
@Override
public TimePageData<Event> findEvents(TenantId tenantId, EntityId entityId, String eventType, TimePageLink pageLink) {
- List<EventEntity> entities = eventDao.findEvents(tenantId.getId(), entityId, eventType, pageLink);
- List<Event> events = convertDataList(entities);
+ List<Event> events = eventDao.findEvents(tenantId.getId(), entityId, eventType, pageLink);
return new TimePageData<Event>(events, pageLink);
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/event/EventDao.java b/dao/src/main/java/org/thingsboard/server/dao/event/EventDao.java
index 1556a5c..846c476 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/event/EventDao.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/event/EventDao.java
@@ -19,7 +19,6 @@ import org.thingsboard.server.common.data.Event;
import org.thingsboard.server.common.data.id.EntityId;
import org.thingsboard.server.common.data.page.TimePageLink;
import org.thingsboard.server.dao.Dao;
-import org.thingsboard.server.dao.model.EventEntity;
import java.util.List;
import java.util.Optional;
@@ -27,10 +26,8 @@ import java.util.UUID;
/**
* The Interface DeviceDao.
- *
- * @param <T> the generic type
*/
-public interface EventDao extends Dao<EventEntity> {
+public interface EventDao extends Dao<Event> {
/**
* Save or update event object
@@ -38,7 +35,7 @@ public interface EventDao extends Dao<EventEntity> {
* @param event the event object
* @return saved event object
*/
- EventEntity save(Event event);
+ Event save(Event event);
/**
* Save event object if it is not yet saved
@@ -46,7 +43,7 @@ public interface EventDao extends Dao<EventEntity> {
* @param event the event object
* @return saved event object
*/
- Optional<EventEntity> saveIfNotExists(Event event);
+ Optional<Event> saveIfNotExists(Event event);
/**
* Find event by tenantId, entityId and eventUid.
@@ -57,7 +54,7 @@ public interface EventDao extends Dao<EventEntity> {
* @param eventUid the eventUid
* @return the event
*/
- EventEntity findEvent(UUID tenantId, EntityId entityId, String eventType, String eventUid);
+ Event findEvent(UUID tenantId, EntityId entityId, String eventType, String eventUid);
/**
* Find events by tenantId, entityId and pageLink.
@@ -67,7 +64,7 @@ public interface EventDao extends Dao<EventEntity> {
* @param pageLink the pageLink
* @return the event list
*/
- List<EventEntity> findEvents(UUID tenantId, EntityId entityId, TimePageLink pageLink);
+ List<Event> findEvents(UUID tenantId, EntityId entityId, TimePageLink pageLink);
/**
* Find events by tenantId, entityId, eventType and pageLink.
@@ -78,5 +75,5 @@ public interface EventDao extends Dao<EventEntity> {
* @param pageLink the pageLink
* @return the event list
*/
- List<EventEntity> findEvents(UUID tenantId, EntityId entityId, String eventType, TimePageLink pageLink);
+ List<Event> findEvents(UUID tenantId, EntityId entityId, String eventType, TimePageLink pageLink);
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/event/EventService.java b/dao/src/main/java/org/thingsboard/server/dao/event/EventService.java
index 9237c89..1fb40f1 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/event/EventService.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/event/EventService.java
@@ -21,7 +21,6 @@ import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.page.TimePageData;
import org.thingsboard.server.common.data.page.TimePageLink;
-import java.util.List;
import java.util.Optional;
public interface EventService {
diff --git a/dao/src/main/java/org/thingsboard/server/dao/plugin/BasePluginService.java b/dao/src/main/java/org/thingsboard/server/dao/plugin/BasePluginService.java
index 99560d2..b9b73c6 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/plugin/BasePluginService.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/plugin/BasePluginService.java
@@ -17,8 +17,6 @@ package org.thingsboard.server.dao.plugin;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.thingsboard.server.common.data.id.PluginId;
@@ -29,13 +27,12 @@ import org.thingsboard.server.common.data.plugin.ComponentDescriptor;
import org.thingsboard.server.common.data.plugin.ComponentLifecycleState;
import org.thingsboard.server.common.data.plugin.ComponentType;
import org.thingsboard.server.common.data.plugin.PluginMetaData;
+import org.thingsboard.server.common.data.rule.RuleMetaData;
import org.thingsboard.server.dao.component.ComponentDescriptorService;
import org.thingsboard.server.dao.exception.DataValidationException;
import org.thingsboard.server.dao.exception.DatabaseException;
import org.thingsboard.server.dao.exception.IncorrectParameterException;
import org.thingsboard.server.dao.model.ModelConstants;
-import org.thingsboard.server.dao.model.PluginMetaDataEntity;
-import org.thingsboard.server.dao.model.RuleMetaDataEntity;
import org.thingsboard.server.dao.rule.RuleDao;
import org.thingsboard.server.dao.service.DataValidator;
import org.thingsboard.server.dao.service.PaginatedRemover;
@@ -46,9 +43,6 @@ import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors;
-import static org.thingsboard.server.dao.DaoUtil.convertDataList;
-import static org.thingsboard.server.dao.DaoUtil.getData;
-
@Service
@Slf4j
public class BasePluginService implements PluginService {
@@ -73,7 +67,7 @@ public class BasePluginService implements PluginService {
plugin.setTenantId(SYSTEM_TENANT);
}
if (plugin.getId() != null) {
- PluginMetaData oldVersion = getData(pluginDao.findById(plugin.getId()));
+ PluginMetaData oldVersion = pluginDao.findById(plugin.getId());
if (plugin.getState() == null) {
plugin.setState(oldVersion.getState());
} else if (plugin.getState() != oldVersion.getState()) {
@@ -92,33 +86,32 @@ public class BasePluginService implements PluginService {
} else if (!ComponentType.PLUGIN.equals(descriptor.getType())) {
throw new IncorrectParameterException("Plugin class is actually " + descriptor.getType() + "!");
}
- PluginMetaDataEntity entity = pluginDao.findByApiToken(plugin.getApiToken());
- if (entity != null && (plugin.getId() == null || !entity.getId().equals(plugin.getId().getId()))) {
+ PluginMetaData savedPlugin = pluginDao.findByApiToken(plugin.getApiToken());
+ if (savedPlugin != null && (plugin.getId() == null || !savedPlugin.getId().getId().equals(plugin.getId().getId()))) {
throw new IncorrectParameterException("API token is already reserved!");
}
if (!componentDescriptorService.validate(descriptor, plugin.getConfiguration())) {
throw new IncorrectParameterException("Filters configuration is not valid!");
}
- return getData(pluginDao.save(plugin));
+ return pluginDao.save(plugin);
}
@Override
public PluginMetaData findPluginById(PluginId pluginId) {
Validator.validateId(pluginId, "Incorrect plugin id for search request.");
- return getData(pluginDao.findById(pluginId));
+ return pluginDao.findById(pluginId);
}
@Override
public PluginMetaData findPluginByApiToken(String apiToken) {
Validator.validateString(apiToken, "Incorrect plugin apiToken for search request.");
- return getData(pluginDao.findByApiToken(apiToken));
+ return pluginDao.findByApiToken(apiToken);
}
@Override
public TextPageData<PluginMetaData> findSystemPlugins(TextPageLink pageLink) {
Validator.validatePageLink(pageLink, "Incorrect PageLink object for search system plugin request.");
- List<PluginMetaDataEntity> pluginEntities = pluginDao.findByTenantIdAndPageLink(SYSTEM_TENANT, pageLink);
- List<PluginMetaData> plugins = convertDataList(pluginEntities);
+ List<PluginMetaData> plugins = pluginDao.findByTenantIdAndPageLink(SYSTEM_TENANT, pageLink);
return new TextPageData<>(plugins, pageLink);
}
@@ -126,8 +119,7 @@ public class BasePluginService implements PluginService {
public TextPageData<PluginMetaData> findTenantPlugins(TenantId tenantId, TextPageLink pageLink) {
Validator.validateId(tenantId, "Incorrect tenant id for search plugins request.");
Validator.validatePageLink(pageLink, "Incorrect PageLink object for search plugin request.");
- List<PluginMetaDataEntity> pluginEntities = pluginDao.findByTenantIdAndPageLink(tenantId, pageLink);
- List<PluginMetaData> plugins = convertDataList(pluginEntities);
+ List<PluginMetaData> plugins = pluginDao.findByTenantIdAndPageLink(tenantId, pageLink);
return new TextPageData<>(plugins, pageLink);
}
@@ -152,8 +144,7 @@ public class BasePluginService implements PluginService {
log.trace("Executing findAllTenantPluginsByTenantIdAndPageLink, tenantId [{}], pageLink [{}]", tenantId, pageLink);
Validator.validateId(tenantId, "Incorrect tenantId " + tenantId);
Validator.validatePageLink(pageLink, "Incorrect page link " + pageLink);
- List<PluginMetaDataEntity> pluginsEntities = pluginDao.findAllTenantPluginsByTenantId(tenantId.getId(), pageLink);
- List<PluginMetaData> plugins = convertDataList(pluginsEntities);
+ List<PluginMetaData> plugins = pluginDao.findAllTenantPluginsByTenantId(tenantId.getId(), pageLink);
return new TextPageData<>(plugins, pageLink);
}
@@ -181,8 +172,8 @@ public class BasePluginService implements PluginService {
@Override
public void suspendPluginById(PluginId pluginId) {
- PluginMetaDataEntity plugin = pluginDao.findById(pluginId);
- List<RuleMetaDataEntity> affectedRules = ruleDao.findRulesByPlugin(plugin.getApiToken())
+ PluginMetaData plugin = pluginDao.findById(pluginId);
+ List<RuleMetaData> affectedRules = ruleDao.findRulesByPlugin(plugin.getApiToken())
.stream().filter(rule -> rule.getState() == ComponentLifecycleState.ACTIVE).collect(Collectors.toList());
if (affectedRules.isEmpty()) {
updateLifeCycleState(pluginId, ComponentLifecycleState.SUSPENDED);
@@ -193,7 +184,7 @@ public class BasePluginService implements PluginService {
private void updateLifeCycleState(PluginId pluginId, ComponentLifecycleState state) {
Validator.validateId(pluginId, "Incorrect plugin id for state change request.");
- PluginMetaDataEntity plugin = pluginDao.findById(pluginId);
+ PluginMetaData plugin = pluginDao.findById(pluginId);
if (plugin != null) {
plugin.setState(state);
pluginDao.save(plugin);
@@ -209,8 +200,8 @@ public class BasePluginService implements PluginService {
}
private void checkRulesAndDelete(UUID pluginId) {
- PluginMetaDataEntity plugin = pluginDao.findById(pluginId);
- List<RuleMetaDataEntity> affectedRules = ruleDao.findRulesByPlugin(plugin.getApiToken());
+ PluginMetaData plugin = pluginDao.findById(pluginId);
+ List<RuleMetaData> affectedRules = ruleDao.findRulesByPlugin(plugin.getApiToken());
if (affectedRules.isEmpty()) {
pluginDao.deleteById(pluginId);
} else {
@@ -244,17 +235,17 @@ public class BasePluginService implements PluginService {
}
};
- private PaginatedRemover<TenantId, PluginMetaDataEntity> tenantPluginRemover =
- new PaginatedRemover<TenantId, PluginMetaDataEntity>() {
+ private PaginatedRemover<TenantId, PluginMetaData> tenantPluginRemover =
+ new PaginatedRemover<TenantId, PluginMetaData>() {
@Override
- protected List<PluginMetaDataEntity> findEntities(TenantId id, TextPageLink pageLink) {
+ protected List<PluginMetaData> findEntities(TenantId id, TextPageLink pageLink) {
return pluginDao.findByTenantIdAndPageLink(id, pageLink);
}
@Override
- protected void removeEntity(PluginMetaDataEntity entity) {
- checkRulesAndDelete(entity.getId());
+ protected void removeEntity(PluginMetaData entity) {
+ checkRulesAndDelete(entity.getUuidId());
}
};
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/plugin/PluginDao.java b/dao/src/main/java/org/thingsboard/server/dao/plugin/PluginDao.java
index 0adf125..1a48b20 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/plugin/PluginDao.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/plugin/PluginDao.java
@@ -20,24 +20,23 @@ import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.page.TextPageLink;
import org.thingsboard.server.common.data.plugin.PluginMetaData;
import org.thingsboard.server.dao.Dao;
-import org.thingsboard.server.dao.model.PluginMetaDataEntity;
import java.util.List;
import java.util.UUID;
-public interface PluginDao extends Dao<PluginMetaDataEntity> {
+public interface PluginDao extends Dao<PluginMetaData> {
- PluginMetaDataEntity save(PluginMetaData plugin);
+ PluginMetaData save(PluginMetaData plugin);
- PluginMetaDataEntity findById(PluginId pluginId);
+ PluginMetaData findById(PluginId pluginId);
- PluginMetaDataEntity findByApiToken(String apiToken);
+ PluginMetaData findByApiToken(String apiToken);
void deleteById(UUID id);
void deleteById(PluginId pluginId);
- List<PluginMetaDataEntity> findByTenantIdAndPageLink(TenantId tenantId, TextPageLink pageLink);
+ List<PluginMetaData> findByTenantIdAndPageLink(TenantId tenantId, TextPageLink pageLink);
/**
* Find all tenant plugins (including system) by tenantId and page link.
@@ -46,6 +45,6 @@ public interface PluginDao extends Dao<PluginMetaDataEntity> {
* @param pageLink the page link
* @return the list of plugins objects
*/
- List<PluginMetaDataEntity> findAllTenantPluginsByTenantId(UUID tenantId, TextPageLink pageLink);
+ List<PluginMetaData> findAllTenantPluginsByTenantId(UUID tenantId, TextPageLink pageLink);
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/rule/BaseRuleService.java b/dao/src/main/java/org/thingsboard/server/dao/rule/BaseRuleService.java
index e57c9f9..87e35ed 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/rule/BaseRuleService.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/rule/BaseRuleService.java
@@ -34,7 +34,6 @@ import org.thingsboard.server.dao.component.ComponentDescriptorService;
import org.thingsboard.server.dao.exception.DataValidationException;
import org.thingsboard.server.dao.exception.DatabaseException;
import org.thingsboard.server.dao.exception.IncorrectParameterException;
-import org.thingsboard.server.dao.model.RuleMetaDataEntity;
import org.thingsboard.server.dao.plugin.PluginService;
import org.thingsboard.server.dao.service.DataValidator;
import org.thingsboard.server.dao.service.PaginatedRemover;
@@ -45,8 +44,6 @@ import java.util.Arrays;
import java.util.List;
import java.util.function.Function;
-import static org.thingsboard.server.dao.DaoUtil.convertDataList;
-import static org.thingsboard.server.dao.DaoUtil.getData;
import static org.thingsboard.server.dao.model.ModelConstants.NULL_UUID;
import static org.thingsboard.server.dao.service.Validator.validateId;
import static org.thingsboard.server.dao.service.Validator.validatePageLink;
@@ -74,7 +71,7 @@ public class BaseRuleService implements RuleService {
rule.setTenantId(systemTenantId);
}
if (rule.getId() != null) {
- RuleMetaData oldVersion = getData(ruleDao.findById(rule.getId()));
+ RuleMetaData oldVersion = ruleDao.findById(rule.getId());
if (rule.getState() == null) {
rule.setState(oldVersion.getState());
} else if (rule.getState() != oldVersion.getState()) {
@@ -94,7 +91,7 @@ public class BaseRuleService implements RuleService {
}
validateComponentJson(rule.getAction(), ComponentType.ACTION);
validateRuleAndPluginState(rule);
- return getData(ruleDao.save(rule));
+ return ruleDao.save(rule);
}
private void validateFilters(JsonNode filtersJson) {
@@ -163,30 +160,27 @@ public class BaseRuleService implements RuleService {
@Override
public RuleMetaData findRuleById(RuleId ruleId) {
validateId(ruleId, "Incorrect rule id for search rule request.");
- return getData(ruleDao.findById(ruleId.getId()));
+ return ruleDao.findById(ruleId.getId());
}
@Override
public List<RuleMetaData> findPluginRules(String pluginToken) {
- List<RuleMetaDataEntity> ruleEntities = ruleDao.findRulesByPlugin(pluginToken);
- return convertDataList(ruleEntities);
+ return ruleDao.findRulesByPlugin(pluginToken);
}
@Override
public TextPageData<RuleMetaData> findSystemRules(TextPageLink pageLink) {
validatePageLink(pageLink, "Incorrect PageLink object for search rule request.");
- List<RuleMetaDataEntity> ruleEntities = ruleDao.findByTenantIdAndPageLink(systemTenantId, pageLink);
- List<RuleMetaData> plugins = convertDataList(ruleEntities);
- return new TextPageData<>(plugins, pageLink);
+ List<RuleMetaData> rules = ruleDao.findByTenantIdAndPageLink(systemTenantId, pageLink);
+ return new TextPageData<>(rules, pageLink);
}
@Override
public TextPageData<RuleMetaData> findTenantRules(TenantId tenantId, TextPageLink pageLink) {
validateId(tenantId, "Incorrect tenant id for search rule request.");
validatePageLink(pageLink, "Incorrect PageLink object for search rule request.");
- List<RuleMetaDataEntity> ruleEntities = ruleDao.findByTenantIdAndPageLink(tenantId, pageLink);
- List<RuleMetaData> plugins = convertDataList(ruleEntities);
- return new TextPageData<>(plugins, pageLink);
+ List<RuleMetaData> rules = ruleDao.findByTenantIdAndPageLink(tenantId, pageLink);
+ return new TextPageData<>(rules, pageLink);
}
@Override
@@ -210,8 +204,7 @@ public class BaseRuleService implements RuleService {
log.trace("Executing findAllTenantRulesByTenantIdAndPageLink, tenantId [{}], pageLink [{}]", tenantId, pageLink);
Validator.validateId(tenantId, "Incorrect tenantId " + tenantId);
Validator.validatePageLink(pageLink, "Incorrect page link " + pageLink);
- List<RuleMetaDataEntity> rulesEntities = ruleDao.findAllTenantRulesByTenantId(tenantId.getId(), pageLink);
- List<RuleMetaData> rules = convertDataList(rulesEntities);
+ List<RuleMetaData> rules = ruleDao.findAllTenantRulesByTenantId(tenantId.getId(), pageLink);
return new TextPageData<>(rules, pageLink);
}
@@ -251,10 +244,10 @@ public class BaseRuleService implements RuleService {
private void updateLifeCycleState(RuleId ruleId, ComponentLifecycleState state) {
Validator.validateId(ruleId, "Incorrect rule id for state change request.");
- RuleMetaDataEntity rule = ruleDao.findById(ruleId);
+ RuleMetaData rule = ruleDao.findById(ruleId);
if (rule != null) {
rule.setState(state);
- validateRuleAndPluginState(getData(rule));
+ validateRuleAndPluginState(rule);
ruleDao.save(rule);
} else {
throw new DatabaseException("Plugin not found!");
@@ -277,17 +270,17 @@ public class BaseRuleService implements RuleService {
}
};
- private PaginatedRemover<TenantId, RuleMetaDataEntity> tenantRulesRemover =
- new PaginatedRemover<TenantId, RuleMetaDataEntity>() {
+ private PaginatedRemover<TenantId, RuleMetaData> tenantRulesRemover =
+ new PaginatedRemover<TenantId, RuleMetaData>() {
@Override
- protected List<RuleMetaDataEntity> findEntities(TenantId id, TextPageLink pageLink) {
+ protected List<RuleMetaData> findEntities(TenantId id, TextPageLink pageLink) {
return ruleDao.findByTenantIdAndPageLink(id, pageLink);
}
@Override
- protected void removeEntity(RuleMetaDataEntity entity) {
- ruleDao.deleteById(entity.getId());
+ protected void removeEntity(RuleMetaData entity) {
+ ruleDao.deleteById(entity.getUuidId());
}
};
diff --git a/dao/src/main/java/org/thingsboard/server/dao/rule/RuleDao.java b/dao/src/main/java/org/thingsboard/server/dao/rule/RuleDao.java
index c2d09c7..ea12b74 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/rule/RuleDao.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/rule/RuleDao.java
@@ -20,20 +20,19 @@ import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.page.TextPageLink;
import org.thingsboard.server.common.data.rule.RuleMetaData;
import org.thingsboard.server.dao.Dao;
-import org.thingsboard.server.dao.model.RuleMetaDataEntity;
import java.util.List;
import java.util.UUID;
-public interface RuleDao extends Dao<RuleMetaDataEntity> {
+public interface RuleDao extends Dao<RuleMetaData> {
- RuleMetaDataEntity save(RuleMetaData rule);
+ RuleMetaData save(RuleMetaData rule);
- RuleMetaDataEntity findById(RuleId ruleId);
+ RuleMetaData findById(RuleId ruleId);
- List<RuleMetaDataEntity> findRulesByPlugin(String pluginToken);
+ List<RuleMetaData> findRulesByPlugin(String pluginToken);
- List<RuleMetaDataEntity> findByTenantIdAndPageLink(TenantId tenantId, TextPageLink pageLink);
+ List<RuleMetaData> findByTenantIdAndPageLink(TenantId tenantId, TextPageLink pageLink);
/**
* Find all tenant rules (including system) by tenantId and page link.
@@ -42,7 +41,7 @@ public interface RuleDao extends Dao<RuleMetaDataEntity> {
* @param pageLink the page link
* @return the list of rules objects
*/
- List<RuleMetaDataEntity> findAllTenantRulesByTenantId(UUID tenantId, TextPageLink pageLink);
+ List<RuleMetaData> findAllTenantRulesByTenantId(UUID tenantId, TextPageLink pageLink);
void deleteById(UUID id);
diff --git a/dao/src/main/java/org/thingsboard/server/dao/service/DataValidator.java b/dao/src/main/java/org/thingsboard/server/dao/service/DataValidator.java
index 2f3aef7..e460cd0 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/service/DataValidator.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/service/DataValidator.java
@@ -15,18 +15,15 @@
*/
package org.thingsboard.server.dao.service;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
+import com.fasterxml.jackson.databind.JsonNode;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.validator.routines.EmailValidator;
import org.thingsboard.server.common.data.BaseData;
import org.thingsboard.server.dao.exception.DataValidationException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import com.fasterxml.jackson.databind.JsonNode;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
@Slf4j
public abstract class DataValidator<D extends BaseData<?>> {
diff --git a/dao/src/main/java/org/thingsboard/server/dao/service/PaginatedRemover.java b/dao/src/main/java/org/thingsboard/server/dao/service/PaginatedRemover.java
index 554a3c1..98c7fd9 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/service/PaginatedRemover.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/service/PaginatedRemover.java
@@ -1,12 +1,12 @@
/**
* Copyright © 2016-2017 The Thingsboard Authors
- *
+ * <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -15,33 +15,35 @@
*/
package org.thingsboard.server.dao.service;
+import org.thingsboard.server.common.data.id.IdBased;
+import org.thingsboard.server.common.data.page.TextPageLink;
+
import java.util.List;
import java.util.UUID;
-import org.thingsboard.server.common.data.page.TextPageLink;
-import org.thingsboard.server.dao.model.BaseEntity;
+public abstract class PaginatedRemover<I, D extends IdBased<?>> {
-public abstract class PaginatedRemover<I, E extends BaseEntity<?>> {
+ private static final int DEFAULT_LIMIT = 100;
public void removeEntitites(I id) {
- TextPageLink pageLink = new TextPageLink(100);
+ TextPageLink pageLink = new TextPageLink(DEFAULT_LIMIT);
boolean hasNext = true;
while (hasNext) {
- List<E> entities = findEntities(id, pageLink);
- for (E entity : entities) {
+ List<D> entities = findEntities(id, pageLink);
+ for (D entity : entities) {
removeEntity(entity);
}
hasNext = entities.size() == pageLink.getLimit();
if (hasNext) {
- int index = entities.size()-1;
- UUID idOffset = entities.get(index).getId();
+ int index = entities.size() - 1;
+ UUID idOffset = entities.get(index).getUuidId();
pageLink.setIdOffset(idOffset);
}
- }
+ }
}
-
- protected abstract List<E> findEntities(I id, TextPageLink pageLink);
-
- protected abstract void removeEntity(E entity);
-
+
+ protected abstract List<D> findEntities(I id, TextPageLink pageLink);
+
+ protected abstract void removeEntity(D entity);
+
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/settings/AdminSettingsDao.java b/dao/src/main/java/org/thingsboard/server/dao/settings/AdminSettingsDao.java
index c5c6768..b0ed852 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/settings/AdminSettingsDao.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/settings/AdminSettingsDao.java
@@ -17,9 +17,8 @@ package org.thingsboard.server.dao.settings;
import org.thingsboard.server.common.data.AdminSettings;
import org.thingsboard.server.dao.Dao;
-import org.thingsboard.server.dao.model.AdminSettingsEntity;
-public interface AdminSettingsDao extends Dao<AdminSettingsEntity> {
+public interface AdminSettingsDao extends Dao<AdminSettings> {
/**
* Save or update admin settings object
@@ -27,7 +26,7 @@ public interface AdminSettingsDao extends Dao<AdminSettingsEntity> {
* @param adminSettings the admin settings object
* @return saved admin settings object
*/
- AdminSettingsEntity save(AdminSettings adminSettings);
+ AdminSettings save(AdminSettings adminSettings);
/**
* Find admin settings by key.
@@ -35,6 +34,6 @@ public interface AdminSettingsDao extends Dao<AdminSettingsEntity> {
* @param key the key
* @return the admin settings object
*/
- AdminSettingsEntity findByKey(String key);
+ AdminSettings findByKey(String key);
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/settings/AdminSettingsService.java b/dao/src/main/java/org/thingsboard/server/dao/settings/AdminSettingsService.java
index 4c6e7ce..49576b1 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/settings/AdminSettingsService.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/settings/AdminSettingsService.java
@@ -20,10 +20,10 @@ import org.thingsboard.server.common.data.id.AdminSettingsId;
public interface AdminSettingsService {
- public AdminSettings findAdminSettingsById(AdminSettingsId adminSettingsId);
+ AdminSettings findAdminSettingsById(AdminSettingsId adminSettingsId);
- public AdminSettings findAdminSettingsByKey(String key);
+ AdminSettings findAdminSettingsByKey(String key);
- public AdminSettings saveAdminSettings(AdminSettings adminSettings);
+ AdminSettings saveAdminSettings(AdminSettings adminSettings);
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/settings/AdminSettingsServiceImpl.java b/dao/src/main/java/org/thingsboard/server/dao/settings/AdminSettingsServiceImpl.java
index c6d1a6b..6bfa293 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/settings/AdminSettingsServiceImpl.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/settings/AdminSettingsServiceImpl.java
@@ -15,19 +15,14 @@
*/
package org.thingsboard.server.dao.settings;
-import static org.thingsboard.server.dao.DaoUtil.getData;
-
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
import org.thingsboard.server.common.data.AdminSettings;
import org.thingsboard.server.common.data.id.AdminSettingsId;
import org.thingsboard.server.dao.exception.DataValidationException;
-import org.thingsboard.server.dao.model.AdminSettingsEntity;
import org.thingsboard.server.dao.service.DataValidator;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
import org.thingsboard.server.dao.service.Validator;
@Service
@@ -41,24 +36,21 @@ public class AdminSettingsServiceImpl implements AdminSettingsService {
public AdminSettings findAdminSettingsById(AdminSettingsId adminSettingsId) {
log.trace("Executing findAdminSettingsById [{}]", adminSettingsId);
Validator.validateId(adminSettingsId, "Incorrect adminSettingsId " + adminSettingsId);
- AdminSettingsEntity adminSettingsEntity = adminSettingsDao.findById(adminSettingsId.getId());
- return getData(adminSettingsEntity);
+ return adminSettingsDao.findById(adminSettingsId.getId());
}
@Override
public AdminSettings findAdminSettingsByKey(String key) {
log.trace("Executing findAdminSettingsByKey [{}]", key);
Validator.validateString(key, "Incorrect key " + key);
- AdminSettingsEntity adminSettingsEntity = adminSettingsDao.findByKey(key);
- return getData(adminSettingsEntity);
+ return adminSettingsDao.findByKey(key);
}
@Override
public AdminSettings saveAdminSettings(AdminSettings adminSettings) {
log.trace("Executing saveAdminSettings [{}]", adminSettings);
adminSettingsValidator.validate(adminSettings);
- AdminSettingsEntity adminSettingsEntity = adminSettingsDao.save(adminSettings);
- return getData(adminSettingsEntity);
+ return adminSettingsDao.save(adminSettings);
}
private DataValidator<AdminSettings> adminSettingsValidator =
diff --git a/dao/src/main/java/org/thingsboard/server/dao/tenant/TenantDao.java b/dao/src/main/java/org/thingsboard/server/dao/tenant/TenantDao.java
index c1b71fc..9c230d9 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/tenant/TenantDao.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/tenant/TenantDao.java
@@ -15,14 +15,13 @@
*/
package org.thingsboard.server.dao.tenant;
-import java.util.List;
-
import org.thingsboard.server.common.data.Tenant;
import org.thingsboard.server.common.data.page.TextPageLink;
import org.thingsboard.server.dao.Dao;
-import org.thingsboard.server.dao.model.TenantEntity;
-public interface TenantDao extends Dao<TenantEntity> {
+import java.util.List;
+
+public interface TenantDao extends Dao<Tenant> {
/**
* Save or update tenant object
@@ -30,7 +29,7 @@ public interface TenantDao extends Dao<TenantEntity> {
* @param tenant the tenant object
* @return saved tenant object
*/
- TenantEntity save(Tenant tenant);
+ Tenant save(Tenant tenant);
/**
* Find tenants by region and page link.
@@ -39,6 +38,6 @@ public interface TenantDao extends Dao<TenantEntity> {
* @param pageLink the page link
* @return the list of tenant objects
*/
- List<TenantEntity> findTenantsByRegion(String region, TextPageLink pageLink);
+ List<Tenant> findTenantsByRegion(String region, TextPageLink pageLink);
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/tenant/TenantService.java b/dao/src/main/java/org/thingsboard/server/dao/tenant/TenantService.java
index 7e56e19..13b5090 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/tenant/TenantService.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/tenant/TenantService.java
@@ -22,16 +22,14 @@ import org.thingsboard.server.common.data.page.TextPageLink;
public interface TenantService {
- public Tenant findTenantById(TenantId tenantId);
+ Tenant findTenantById(TenantId tenantId);
- public Tenant saveTenant(Tenant tenant);
+ Tenant saveTenant(Tenant tenant);
- public void deleteTenant(TenantId tenantId);
+ void deleteTenant(TenantId tenantId);
- public TextPageData<Tenant> findTenants(TextPageLink pageLink);
+ TextPageData<Tenant> findTenants(TextPageLink pageLink);
- //public TextPageData<Tenant> findTenantsByTitle(String title, PageLink pageLink);
-
- public void deleteTenants();
+ void deleteTenants();
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/tenant/TenantServiceImpl.java b/dao/src/main/java/org/thingsboard/server/dao/tenant/TenantServiceImpl.java
index 9deb828..976cb71 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/tenant/TenantServiceImpl.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/tenant/TenantServiceImpl.java
@@ -15,13 +15,10 @@
*/
package org.thingsboard.server.dao.tenant;
-import static org.thingsboard.server.dao.DaoUtil.convertDataList;
-import static org.thingsboard.server.dao.DaoUtil.getData;
-
-import java.util.List;
-
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
import org.thingsboard.server.common.data.Tenant;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.page.TextPageData;
@@ -30,19 +27,16 @@ import org.thingsboard.server.dao.customer.CustomerService;
import org.thingsboard.server.dao.dashboard.DashboardService;
import org.thingsboard.server.dao.device.DeviceService;
import org.thingsboard.server.dao.exception.DataValidationException;
-import org.thingsboard.server.dao.model.TenantEntity;
import org.thingsboard.server.dao.plugin.PluginService;
import org.thingsboard.server.dao.rule.RuleService;
import org.thingsboard.server.dao.service.DataValidator;
import org.thingsboard.server.dao.service.PaginatedRemover;
-import org.thingsboard.server.dao.user.UserService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
import org.thingsboard.server.dao.service.Validator;
+import org.thingsboard.server.dao.user.UserService;
import org.thingsboard.server.dao.widget.WidgetsBundleService;
+import java.util.List;
+
@Service
@Slf4j
public class TenantServiceImpl implements TenantService {
@@ -77,8 +71,7 @@ public class TenantServiceImpl implements TenantService {
public Tenant findTenantById(TenantId tenantId) {
log.trace("Executing findTenantById [{}]", tenantId);
Validator.validateId(tenantId, "Incorrect tenantId " + tenantId);
- TenantEntity tenantEntity = tenantDao.findById(tenantId.getId());
- return getData(tenantEntity);
+ return tenantDao.findById(tenantId.getId());
}
@Override
@@ -86,8 +79,7 @@ public class TenantServiceImpl implements TenantService {
log.trace("Executing saveTenant [{}]", tenant);
tenant.setRegion(DEFAULT_TENANT_REGION);
tenantValidator.validate(tenant);
- TenantEntity tenantEntity = tenantDao.save(tenant);
- return getData(tenantEntity);
+ return tenantDao.save(tenant);
}
@Override
@@ -108,9 +100,8 @@ public class TenantServiceImpl implements TenantService {
public TextPageData<Tenant> findTenants(TextPageLink pageLink) {
log.trace("Executing findTenants pageLink [{}]", pageLink);
Validator.validatePageLink(pageLink, "Incorrect page link " + pageLink);
- List<TenantEntity> tenantEntities = tenantDao.findTenantsByRegion(DEFAULT_TENANT_REGION, pageLink);
- List<Tenant> tenants = convertDataList(tenantEntities);
- return new TextPageData<Tenant>(tenants, pageLink);
+ List<Tenant> tenants = tenantDao.findTenantsByRegion(DEFAULT_TENANT_REGION, pageLink);
+ return new TextPageData<>(tenants, pageLink);
}
@Override
@@ -132,17 +123,17 @@ public class TenantServiceImpl implements TenantService {
}
};
- private PaginatedRemover<String, TenantEntity> tenantsRemover =
- new PaginatedRemover<String, TenantEntity>() {
+ private PaginatedRemover<String, Tenant> tenantsRemover =
+ new PaginatedRemover<String, Tenant>() {
@Override
- protected List<TenantEntity> findEntities(String region, TextPageLink pageLink) {
+ protected List<Tenant> findEntities(String region, TextPageLink pageLink) {
return tenantDao.findTenantsByRegion(region, pageLink);
}
@Override
- protected void removeEntity(TenantEntity entity) {
- deleteTenant(new TenantId(entity.getId()));
+ protected void removeEntity(Tenant entity) {
+ deleteTenant(new TenantId(entity.getUuidId()));
}
};
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/timeseries/BaseTimeseriesService.java b/dao/src/main/java/org/thingsboard/server/dao/timeseries/BaseTimeseriesService.java
index f27ed6e..71102b1 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/timeseries/BaseTimeseriesService.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/timeseries/BaseTimeseriesService.java
@@ -15,34 +15,25 @@
*/
package org.thingsboard.server.dao.timeseries;
+// CASSANDRA ???
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.ResultSetFuture;
import com.datastax.driver.core.Row;
-import com.google.common.base.Function;
import com.google.common.collect.Lists;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
import org.thingsboard.server.common.data.id.UUIDBased;
-import org.thingsboard.server.common.data.kv.BaseTsKvQuery;
import org.thingsboard.server.common.data.kv.TsKvEntry;
import org.thingsboard.server.common.data.kv.TsKvQuery;
import org.thingsboard.server.dao.exception.IncorrectParameterException;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
import org.thingsboard.server.dao.service.Validator;
-import javax.annotation.Nullable;
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-import java.time.Instant;
-import java.time.LocalDateTime;
-import java.time.ZoneOffset;
-import java.util.*;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.stream.Collectors;
+import java.util.Collection;
+import java.util.List;
+import java.util.UUID;
import static org.apache.commons.lang3.StringUtils.isBlank;
diff --git a/dao/src/main/java/org/thingsboard/server/dao/timeseries/TimeseriesDao.java b/dao/src/main/java/org/thingsboard/server/dao/timeseries/TimeseriesDao.java
index 177003d..afa5c95 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/timeseries/TimeseriesDao.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/timeseries/TimeseriesDao.java
@@ -15,6 +15,7 @@
*/
package org.thingsboard.server.dao.timeseries;
+// CASSANDRA ???
import com.datastax.driver.core.ResultSetFuture;
import com.datastax.driver.core.Row;
import com.google.common.util.concurrent.ListenableFuture;
@@ -22,8 +23,6 @@ import org.thingsboard.server.common.data.kv.TsKvEntry;
import org.thingsboard.server.common.data.kv.TsKvQuery;
import java.util.List;
-import java.util.Optional;
-import java.util.Set;
import java.util.UUID;
/**
diff --git a/dao/src/main/java/org/thingsboard/server/dao/timeseries/TimeseriesService.java b/dao/src/main/java/org/thingsboard/server/dao/timeseries/TimeseriesService.java
index cd53e94..28ed5dd 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/timeseries/TimeseriesService.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/timeseries/TimeseriesService.java
@@ -15,18 +15,17 @@
*/
package org.thingsboard.server.dao.timeseries;
+// CASSANDRA ???
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.ResultSetFuture;
import com.datastax.driver.core.Row;
import com.google.common.util.concurrent.ListenableFuture;
-import org.thingsboard.server.common.data.id.DeviceId;
import org.thingsboard.server.common.data.id.UUIDBased;
import org.thingsboard.server.common.data.kv.TsKvEntry;
import org.thingsboard.server.common.data.kv.TsKvQuery;
import java.util.Collection;
import java.util.List;
-import java.util.Set;
/**
* @author Andrew Shvayka
diff --git a/dao/src/main/java/org/thingsboard/server/dao/timeseries/TsKvQueryCursor.java b/dao/src/main/java/org/thingsboard/server/dao/timeseries/TsKvQueryCursor.java
index cad1232..ed53733 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/timeseries/TsKvQueryCursor.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/timeseries/TsKvQueryCursor.java
@@ -15,7 +15,6 @@
*/
package org.thingsboard.server.dao.timeseries;
-import lombok.Data;
import lombok.Getter;
import org.thingsboard.server.common.data.kv.TsKvEntry;
import org.thingsboard.server.common.data.kv.TsKvQuery;
diff --git a/dao/src/main/java/org/thingsboard/server/dao/user/UserCredentialsDao.java b/dao/src/main/java/org/thingsboard/server/dao/user/UserCredentialsDao.java
index 52045bc..5861fa1 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/user/UserCredentialsDao.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/user/UserCredentialsDao.java
@@ -15,18 +15,15 @@
*/
package org.thingsboard.server.dao.user;
-import java.util.UUID;
-
import org.thingsboard.server.common.data.security.UserCredentials;
import org.thingsboard.server.dao.Dao;
-import org.thingsboard.server.dao.model.UserCredentialsEntity;
+
+import java.util.UUID;
/**
* The Interface UserCredentialsDao.
- *
- * @param <T> the generic type
*/
-public interface UserCredentialsDao extends Dao<UserCredentialsEntity> {
+public interface UserCredentialsDao extends Dao<UserCredentials> {
/**
* Save or update user credentials object
@@ -34,7 +31,7 @@ public interface UserCredentialsDao extends Dao<UserCredentialsEntity> {
* @param userCredentials the user credentials object
* @return saved user credentials object
*/
- UserCredentialsEntity save(UserCredentials userCredentials);
+ UserCredentials save(UserCredentials userCredentials);
/**
* Find user credentials by user id.
@@ -42,22 +39,22 @@ public interface UserCredentialsDao extends Dao<UserCredentialsEntity> {
* @param userId the user id
* @return the user credentials object
*/
- UserCredentialsEntity findByUserId(UUID userId);
-
+ UserCredentials findByUserId(UUID userId);
+
/**
* Find user credentials by activate token.
*
* @param activateToken the activate token
* @return the user credentials object
*/
- UserCredentialsEntity findByActivateToken(String activateToken);
-
+ UserCredentials findByActivateToken(String activateToken);
+
/**
* Find user credentials by reset token.
*
* @param resetToken the reset token
* @return the user credentials object
*/
- UserCredentialsEntity findByResetToken(String resetToken);
-
+ UserCredentials findByResetToken(String resetToken);
+
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/user/UserDao.java b/dao/src/main/java/org/thingsboard/server/dao/user/UserDao.java
index e84d68b..292099a 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/user/UserDao.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/user/UserDao.java
@@ -15,15 +15,14 @@
*/
package org.thingsboard.server.dao.user;
-import java.util.List;
-import java.util.UUID;
-
import org.thingsboard.server.common.data.User;
import org.thingsboard.server.common.data.page.TextPageLink;
import org.thingsboard.server.dao.Dao;
-import org.thingsboard.server.dao.model.UserEntity;
-public interface UserDao extends Dao<UserEntity> {
+import java.util.List;
+import java.util.UUID;
+
+public interface UserDao extends Dao<User> {
/**
* Save or update user object
@@ -31,7 +30,7 @@ public interface UserDao extends Dao<UserEntity> {
* @param user the user object
* @return saved user entity
*/
- UserEntity save(User user);
+ User save(User user);
/**
* Find user by email.
@@ -39,7 +38,7 @@ public interface UserDao extends Dao<UserEntity> {
* @param email the email
* @return the user entity
*/
- UserEntity findByEmail(String email);
+ User findByEmail(String email);
/**
* Find tenant admin users by tenantId and page link.
@@ -48,7 +47,7 @@ public interface UserDao extends Dao<UserEntity> {
* @param pageLink the page link
* @return the list of user entities
*/
- List<UserEntity> findTenantAdmins(UUID tenantId, TextPageLink pageLink);
+ List<User> findTenantAdmins(UUID tenantId, TextPageLink pageLink);
/**
* Find customer users by tenantId, customerId and page link.
@@ -58,6 +57,6 @@ public interface UserDao extends Dao<UserEntity> {
* @param pageLink the page link
* @return the list of user entities
*/
- List<UserEntity> findCustomerUsers(UUID tenantId, UUID customerId, TextPageLink pageLink);
+ List<User> findCustomerUsers(UUID tenantId, UUID customerId, TextPageLink pageLink);
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/user/UserService.java b/dao/src/main/java/org/thingsboard/server/dao/user/UserService.java
index f4043a0..92380c6 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/user/UserService.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/user/UserService.java
@@ -25,32 +25,32 @@ import org.thingsboard.server.common.data.security.UserCredentials;
public interface UserService {
- public User findUserById(UserId userId);
+ User findUserById(UserId userId);
- public User findUserByEmail(String email);
+ User findUserByEmail(String email);
- public User saveUser(User user);
+ User saveUser(User user);
- public UserCredentials findUserCredentialsByUserId(UserId userId);
+ UserCredentials findUserCredentialsByUserId(UserId userId);
- public UserCredentials findUserCredentialsByActivateToken(String activateToken);
+ UserCredentials findUserCredentialsByActivateToken(String activateToken);
- public UserCredentials findUserCredentialsByResetToken(String resetToken);
+ UserCredentials findUserCredentialsByResetToken(String resetToken);
- public UserCredentials saveUserCredentials(UserCredentials userCredentials);
+ UserCredentials saveUserCredentials(UserCredentials userCredentials);
- public UserCredentials activateUserCredentials(String activateToken, String password);
+ UserCredentials activateUserCredentials(String activateToken, String password);
- public UserCredentials requestPasswordReset(String email);
+ UserCredentials requestPasswordReset(String email);
- public void deleteUser(UserId userId);
+ void deleteUser(UserId userId);
- public TextPageData<User> findTenantAdmins(TenantId tenantId, TextPageLink pageLink);
+ TextPageData<User> findTenantAdmins(TenantId tenantId, TextPageLink pageLink);
- public void deleteTenantAdmins(TenantId tenantId);
+ void deleteTenantAdmins(TenantId tenantId);
- public TextPageData<User> findCustomerUsers(TenantId tenantId, CustomerId customerId, TextPageLink pageLink);
+ TextPageData<User> findCustomerUsers(TenantId tenantId, CustomerId customerId, TextPageLink pageLink);
- public void deleteCustomerUsers(TenantId tenantId, CustomerId customerId);
+ void deleteCustomerUsers(TenantId tenantId, CustomerId customerId);
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/user/UserServiceImpl.java b/dao/src/main/java/org/thingsboard/server/dao/user/UserServiceImpl.java
index 9ad9102..7f4d6c0 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/user/UserServiceImpl.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/user/UserServiceImpl.java
@@ -15,17 +15,13 @@
*/
package org.thingsboard.server.dao.user;
-import static org.thingsboard.server.dao.DaoUtil.convertDataList;
-import static org.thingsboard.server.dao.DaoUtil.getData;
-import static org.thingsboard.server.dao.service.Validator.validateId;
-import static org.thingsboard.server.dao.service.Validator.validatePageLink;
-import static org.thingsboard.server.dao.service.Validator.validateString;
-
-import java.util.List;
-
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.thingsboard.server.common.data.Customer;
+import org.thingsboard.server.common.data.Tenant;
import org.thingsboard.server.common.data.User;
import org.thingsboard.server.common.data.id.CustomerId;
import org.thingsboard.server.common.data.id.TenantId;
@@ -37,19 +33,21 @@ import org.thingsboard.server.common.data.security.UserCredentials;
import org.thingsboard.server.dao.customer.CustomerDao;
import org.thingsboard.server.dao.exception.DataValidationException;
import org.thingsboard.server.dao.exception.IncorrectParameterException;
-import org.thingsboard.server.dao.model.*;
+import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.dao.service.DataValidator;
import org.thingsboard.server.dao.service.PaginatedRemover;
import org.thingsboard.server.dao.tenant.TenantDao;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+import static org.thingsboard.server.dao.service.Validator.*;
@Service
@Slf4j
public class UserServiceImpl implements UserService {
+ private static final int DEFAULT_TOKEN_LENGTH = 30;
+
@Autowired
private UserDao userDao;
@@ -66,63 +64,57 @@ public class UserServiceImpl implements UserService {
public User findUserByEmail(String email) {
log.trace("Executing findUserByEmail [{}]", email);
validateString(email, "Incorrect email " + email);
- UserEntity userEntity = userDao.findByEmail(email);
- return getData(userEntity);
+ return userDao.findByEmail(email);
}
@Override
public User findUserById(UserId userId) {
log.trace("Executing findUserById [{}]", userId);
validateId(userId, "Incorrect userId " + userId);
- UserEntity userEntity = userDao.findById(userId.getId());
- return getData(userEntity);
+ return userDao.findById(userId.getId());
}
@Override
public User saveUser(User user) {
log.trace("Executing saveUser [{}]", user);
userValidator.validate(user);
- UserEntity userEntity = userDao.save(user);
+ User savedUser = userDao.save(user);
if (user.getId() == null) {
UserCredentials userCredentials = new UserCredentials();
userCredentials.setEnabled(false);
- userCredentials.setActivateToken(RandomStringUtils.randomAlphanumeric(30));
- userCredentials.setUserId(new UserId(userEntity.getId()));
+ userCredentials.setActivateToken(RandomStringUtils.randomAlphanumeric(DEFAULT_TOKEN_LENGTH));
+ userCredentials.setUserId(new UserId(savedUser.getUuidId()));
userCredentialsDao.save(userCredentials);
}
- return getData(userEntity);
+ return savedUser;
}
@Override
public UserCredentials findUserCredentialsByUserId(UserId userId) {
log.trace("Executing findUserCredentialsByUserId [{}]", userId);
validateId(userId, "Incorrect userId " + userId);
- UserCredentialsEntity userCredentialsEntity = userCredentialsDao.findByUserId(userId.getId());
- return getData(userCredentialsEntity);
+ return userCredentialsDao.findByUserId(userId.getId());
}
@Override
public UserCredentials findUserCredentialsByActivateToken(String activateToken) {
log.trace("Executing findUserCredentialsByActivateToken [{}]", activateToken);
validateString(activateToken, "Incorrect activateToken " + activateToken);
- UserCredentialsEntity userCredentialsEntity = userCredentialsDao.findByActivateToken(activateToken);
- return getData(userCredentialsEntity);
+ return userCredentialsDao.findByActivateToken(activateToken);
}
@Override
public UserCredentials findUserCredentialsByResetToken(String resetToken) {
log.trace("Executing findUserCredentialsByResetToken [{}]", resetToken);
validateString(resetToken, "Incorrect resetToken " + resetToken);
- UserCredentialsEntity userCredentialsEntity = userCredentialsDao.findByResetToken(resetToken);
- return getData(userCredentialsEntity);
+ return userCredentialsDao.findByResetToken(resetToken);
}
@Override
public UserCredentials saveUserCredentials(UserCredentials userCredentials) {
log.trace("Executing saveUserCredentials [{}]", userCredentials);
userCredentialsValidator.validate(userCredentials);
- UserCredentialsEntity userCredentialsEntity = userCredentialsDao.save(userCredentials);
- return getData(userCredentialsEntity);
+ return userCredentialsDao.save(userCredentials);
}
@Override
@@ -130,11 +122,10 @@ public class UserServiceImpl implements UserService {
log.trace("Executing activateUserCredentials activateToken [{}], password [{}]", activateToken, password);
validateString(activateToken, "Incorrect activateToken " + activateToken);
validateString(password, "Incorrect password " + password);
- UserCredentialsEntity userCredentialsEntity = userCredentialsDao.findByActivateToken(activateToken);
- if (userCredentialsEntity == null) {
+ UserCredentials userCredentials = userCredentialsDao.findByActivateToken(activateToken);
+ if (userCredentials == null) {
throw new IncorrectParameterException(String.format("Unable to find user credentials by activateToken [%s]", activateToken));
}
- UserCredentials userCredentials = getData(userCredentialsEntity);
if (userCredentials.isEnabled()) {
throw new IncorrectParameterException("User credentials already activated");
}
@@ -149,16 +140,15 @@ public class UserServiceImpl implements UserService {
public UserCredentials requestPasswordReset(String email) {
log.trace("Executing requestPasswordReset email [{}]", email);
validateString(email, "Incorrect email " + email);
- UserEntity userEntity = userDao.findByEmail(email);
- if (userEntity == null) {
+ User user = userDao.findByEmail(email);
+ if (user == null) {
throw new IncorrectParameterException(String.format("Unable to find user by email [%s]", email));
}
- UserCredentialsEntity userCredentialsEntity = userCredentialsDao.findByUserId(userEntity.getId());
- UserCredentials userCredentials = getData(userCredentialsEntity);
+ UserCredentials userCredentials = userCredentialsDao.findByUserId(user.getUuidId());
if (!userCredentials.isEnabled()) {
throw new IncorrectParameterException("Unable to reset password for inactive user");
}
- userCredentials.setResetToken(RandomStringUtils.randomAlphanumeric(30));
+ userCredentials.setResetToken(RandomStringUtils.randomAlphanumeric(DEFAULT_TOKEN_LENGTH));
return saveUserCredentials(userCredentials);
}
@@ -167,8 +157,8 @@ public class UserServiceImpl implements UserService {
public void deleteUser(UserId userId) {
log.trace("Executing deleteUser [{}]", userId);
validateId(userId, "Incorrect userId " + userId);
- UserCredentialsEntity userCredentialsEntity = userCredentialsDao.findByUserId(userId.getId());
- userCredentialsDao.removeById(userCredentialsEntity.getId());
+ UserCredentials userCredentials = userCredentialsDao.findByUserId(userId.getId());
+ userCredentialsDao.removeById(userCredentials.getUuidId());
userDao.removeById(userId.getId());
}
@@ -177,9 +167,8 @@ public class UserServiceImpl implements UserService {
log.trace("Executing findTenantAdmins, tenantId [{}], pageLink [{}]", tenantId, pageLink);
validateId(tenantId, "Incorrect tenantId " + tenantId);
validatePageLink(pageLink, "Incorrect page link " + pageLink);
- List<UserEntity> userEntities = userDao.findTenantAdmins(tenantId.getId(), pageLink);
- List<User> users = convertDataList(userEntities);
- return new TextPageData<User>(users, pageLink);
+ List<User> users = userDao.findTenantAdmins(tenantId.getId(), pageLink);
+ return new TextPageData<>(users, pageLink);
}
@Override
@@ -195,9 +184,8 @@ public class UserServiceImpl implements UserService {
validateId(tenantId, "Incorrect tenantId " + tenantId);
validateId(customerId, "Incorrect customerId " + customerId);
validatePageLink(pageLink, "Incorrect page link " + pageLink);
- List<UserEntity> userEntities = userDao.findCustomerUsers(tenantId.getId(), customerId.getId(), pageLink);
- List<User> users = convertDataList(userEntities);
- return new TextPageData<User>(users, pageLink);
+ List<User> users = userDao.findCustomerUsers(tenantId.getId(), customerId.getId(), pageLink);
+ return new TextPageData<>(users, pageLink);
}
@Override
@@ -266,16 +254,16 @@ public class UserServiceImpl implements UserService {
+ " already present in database!");
}
if (!tenantId.getId().equals(ModelConstants.NULL_UUID)) {
- TenantEntity tenant = tenantDao.findById(user.getTenantId().getId());
+ Tenant tenant = tenantDao.findById(user.getTenantId().getId());
if (tenant == null) {
throw new DataValidationException("User is referencing to non-existent tenant!");
}
}
if (!customerId.getId().equals(ModelConstants.NULL_UUID)) {
- CustomerEntity customer = customerDao.findById(user.getCustomerId().getId());
+ Customer customer = customerDao.findById(user.getCustomerId().getId());
if (customer == null) {
throw new DataValidationException("User is referencing to non-existent customer!");
- } else if (!customer.getTenantId().equals(tenantId.getId())) {
+ } else if (!customer.getTenantId().getId().equals(tenantId.getId())) {
throw new DataValidationException("User can't be assigned to customer from different tenant!");
}
}
@@ -303,7 +291,7 @@ public class UserServiceImpl implements UserService {
throw new DataValidationException("Enabled user credentials can't have activate token!");
}
}
- UserCredentialsEntity existingUserCredentialsEntity = userCredentialsDao.findById(userCredentials.getId().getId());
+ UserCredentials existingUserCredentialsEntity = userCredentialsDao.findById(userCredentials.getId().getId());
if (existingUserCredentialsEntity == null) {
throw new DataValidationException("Unable to update non-existent user credentials!");
}
@@ -314,21 +302,21 @@ public class UserServiceImpl implements UserService {
}
};
- private PaginatedRemover<TenantId, UserEntity> tenantAdminsRemover =
- new PaginatedRemover<TenantId, UserEntity>() {
+ private PaginatedRemover<TenantId, User> tenantAdminsRemover =
+ new PaginatedRemover<TenantId, User>() {
@Override
- protected List<UserEntity> findEntities(TenantId id, TextPageLink pageLink) {
+ protected List<User> findEntities(TenantId id, TextPageLink pageLink) {
return userDao.findTenantAdmins(id.getId(), pageLink);
}
@Override
- protected void removeEntity(UserEntity entity) {
- deleteUser(new UserId(entity.getId()));
+ protected void removeEntity(User entity) {
+ deleteUser(new UserId(entity.getUuidId()));
}
};
- class CustomerUsersRemover extends PaginatedRemover<CustomerId, UserEntity> {
+ private class CustomerUsersRemover extends PaginatedRemover<CustomerId, User> {
private TenantId tenantId;
@@ -337,14 +325,14 @@ public class UserServiceImpl implements UserService {
}
@Override
- protected List<UserEntity> findEntities(CustomerId id, TextPageLink pageLink) {
+ protected List<User> findEntities(CustomerId id, TextPageLink pageLink) {
return userDao.findCustomerUsers(tenantId.getId(), id.getId(), pageLink);
}
@Override
- protected void removeEntity(UserEntity entity) {
- deleteUser(new UserId(entity.getId()));
+ protected void removeEntity(User entity) {
+ deleteUser(new UserId(entity.getUuidId()));
}
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetsBundleDao.java b/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetsBundleDao.java
index 0e04f91..d8c6044 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetsBundleDao.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetsBundleDao.java
@@ -18,17 +18,14 @@ package org.thingsboard.server.dao.widget;
import org.thingsboard.server.common.data.page.TextPageLink;
import org.thingsboard.server.common.data.widget.WidgetsBundle;
import org.thingsboard.server.dao.Dao;
-import org.thingsboard.server.dao.model.WidgetsBundleEntity;
import java.util.List;
import java.util.UUID;
/**
* The Interface WidgetsBundleDao.
- *
- * @param <T> the generic type
*/
-public interface WidgetsBundleDao extends Dao<WidgetsBundleEntity> {
+public interface WidgetsBundleDao extends Dao<WidgetsBundle> {
/**
* Save or update widgets bundle object
@@ -36,7 +33,7 @@ public interface WidgetsBundleDao extends Dao<WidgetsBundleEntity> {
* @param widgetsBundle the widgets bundle object
* @return saved widgets bundle object
*/
- WidgetsBundleEntity save(WidgetsBundle widgetsBundle);
+ WidgetsBundle save(WidgetsBundle widgetsBundle);
/**
* Find widgets bundle by tenantId and alias.
@@ -45,7 +42,7 @@ public interface WidgetsBundleDao extends Dao<WidgetsBundleEntity> {
* @param alias the alias
* @return the widgets bundle object
*/
- WidgetsBundleEntity findWidgetsBundleByTenantIdAndAlias(UUID tenantId, String alias);
+ WidgetsBundle findWidgetsBundleByTenantIdAndAlias(UUID tenantId, String alias);
/**
* Find system widgets bundles by page link.
@@ -53,7 +50,7 @@ public interface WidgetsBundleDao extends Dao<WidgetsBundleEntity> {
* @param pageLink the page link
* @return the list of widgets bundles objects
*/
- List<WidgetsBundleEntity> findSystemWidgetsBundles(TextPageLink pageLink);
+ List<WidgetsBundle> findSystemWidgetsBundles(TextPageLink pageLink);
/**
* Find tenant widgets bundles by tenantId and page link.
@@ -62,7 +59,7 @@ public interface WidgetsBundleDao extends Dao<WidgetsBundleEntity> {
* @param pageLink the page link
* @return the list of widgets bundles objects
*/
- List<WidgetsBundleEntity> findTenantWidgetsBundlesByTenantId(UUID tenantId, TextPageLink pageLink);
+ List<WidgetsBundle> findTenantWidgetsBundlesByTenantId(UUID tenantId, TextPageLink pageLink);
/**
* Find all tenant widgets bundles (including system) by tenantId and page link.
@@ -71,7 +68,7 @@ public interface WidgetsBundleDao extends Dao<WidgetsBundleEntity> {
* @param pageLink the page link
* @return the list of widgets bundles objects
*/
- List<WidgetsBundleEntity> findAllTenantWidgetsBundlesByTenantId(UUID tenantId, TextPageLink pageLink);
+ List<WidgetsBundle> findAllTenantWidgetsBundlesByTenantId(UUID tenantId, TextPageLink pageLink);
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetsBundleService.java b/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetsBundleService.java
index 4b91c26..27f9211 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetsBundleService.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetsBundleService.java
@@ -25,24 +25,24 @@ import java.util.List;
public interface WidgetsBundleService {
- public WidgetsBundle findWidgetsBundleById(WidgetsBundleId widgetsBundleId);
+ WidgetsBundle findWidgetsBundleById(WidgetsBundleId widgetsBundleId);
- public WidgetsBundle saveWidgetsBundle(WidgetsBundle widgetsBundle);
+ WidgetsBundle saveWidgetsBundle(WidgetsBundle widgetsBundle);
- public void deleteWidgetsBundle(WidgetsBundleId widgetsBundleId);
+ void deleteWidgetsBundle(WidgetsBundleId widgetsBundleId);
- public WidgetsBundle findWidgetsBundleByTenantIdAndAlias(TenantId tenantId, String alias);
+ WidgetsBundle findWidgetsBundleByTenantIdAndAlias(TenantId tenantId, String alias);
- public TextPageData<WidgetsBundle> findSystemWidgetsBundlesByPageLink(TextPageLink pageLink);
+ TextPageData<WidgetsBundle> findSystemWidgetsBundlesByPageLink(TextPageLink pageLink);
- public List<WidgetsBundle> findSystemWidgetsBundles();
+ List<WidgetsBundle> findSystemWidgetsBundles();
- public TextPageData<WidgetsBundle> findTenantWidgetsBundlesByTenantId(TenantId tenantId, TextPageLink pageLink);
+ TextPageData<WidgetsBundle> findTenantWidgetsBundlesByTenantId(TenantId tenantId, TextPageLink pageLink);
- public TextPageData<WidgetsBundle> findAllTenantWidgetsBundlesByTenantIdAndPageLink(TenantId tenantId, TextPageLink pageLink);
+ TextPageData<WidgetsBundle> findAllTenantWidgetsBundlesByTenantIdAndPageLink(TenantId tenantId, TextPageLink pageLink);
- public List<WidgetsBundle> findAllTenantWidgetsBundlesByTenantId(TenantId tenantId);
+ List<WidgetsBundle> findAllTenantWidgetsBundlesByTenantId(TenantId tenantId);
- public void deleteWidgetsBundlesByTenantId(TenantId tenantId);
+ void deleteWidgetsBundlesByTenantId(TenantId tenantId);
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetsBundleServiceImpl.java b/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetsBundleServiceImpl.java
index 2262e14..9e90aca 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetsBundleServiceImpl.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetsBundleServiceImpl.java
@@ -17,10 +17,9 @@ package org.thingsboard.server.dao.widget;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.thingsboard.server.common.data.Tenant;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.id.WidgetsBundleId;
import org.thingsboard.server.common.data.page.TextPageData;
@@ -29,8 +28,6 @@ import org.thingsboard.server.common.data.widget.WidgetsBundle;
import org.thingsboard.server.dao.exception.DataValidationException;
import org.thingsboard.server.dao.exception.IncorrectParameterException;
import org.thingsboard.server.dao.model.ModelConstants;
-import org.thingsboard.server.dao.model.TenantEntity;
-import org.thingsboard.server.dao.model.WidgetsBundleEntity;
import org.thingsboard.server.dao.service.DataValidator;
import org.thingsboard.server.dao.service.PaginatedRemover;
import org.thingsboard.server.dao.service.Validator;
@@ -39,13 +36,12 @@ import org.thingsboard.server.dao.tenant.TenantDao;
import java.util.ArrayList;
import java.util.List;
-import static org.thingsboard.server.dao.DaoUtil.convertDataList;
-import static org.thingsboard.server.dao.DaoUtil.getData;
-
@Service
@Slf4j
public class WidgetsBundleServiceImpl implements WidgetsBundleService {
+ private static final int DEFAULT_WIDGETS_BUNDLE_LIMIT = 300;
+
@Autowired
private WidgetsBundleDao widgetsBundleDao;
@@ -59,16 +55,14 @@ public class WidgetsBundleServiceImpl implements WidgetsBundleService {
public WidgetsBundle findWidgetsBundleById(WidgetsBundleId widgetsBundleId) {
log.trace("Executing findWidgetsBundleById [{}]", widgetsBundleId);
Validator.validateId(widgetsBundleId, "Incorrect widgetsBundleId " + widgetsBundleId);
- WidgetsBundleEntity widgetsBundleEntity = widgetsBundleDao.findById(widgetsBundleId.getId());
- return getData(widgetsBundleEntity);
+ return widgetsBundleDao.findById(widgetsBundleId.getId());
}
@Override
public WidgetsBundle saveWidgetsBundle(WidgetsBundle widgetsBundle) {
log.trace("Executing saveWidgetsBundle [{}]", widgetsBundle);
widgetsBundleValidator.validate(widgetsBundle);
- WidgetsBundleEntity widgetsBundleEntity = widgetsBundleDao.save(widgetsBundle);
- return getData(widgetsBundleEntity);
+ return widgetsBundleDao.save(widgetsBundle);
}
@Override
@@ -88,25 +82,22 @@ public class WidgetsBundleServiceImpl implements WidgetsBundleService {
log.trace("Executing findWidgetsBundleByTenantIdAndAlias, tenantId [{}], alias [{}]", tenantId, alias);
Validator.validateId(tenantId, "Incorrect tenantId " + tenantId);
Validator.validateString(alias, "Incorrect alias " + alias);
- WidgetsBundleEntity widgetsBundleEntity = widgetsBundleDao.findWidgetsBundleByTenantIdAndAlias(tenantId.getId(), alias);
- return getData(widgetsBundleEntity);
+ return widgetsBundleDao.findWidgetsBundleByTenantIdAndAlias(tenantId.getId(), alias);
}
@Override
public TextPageData<WidgetsBundle> findSystemWidgetsBundlesByPageLink(TextPageLink pageLink) {
log.trace("Executing findSystemWidgetsBundles, pageLink [{}]", pageLink);
Validator.validatePageLink(pageLink, "Incorrect page link " + pageLink);
- List<WidgetsBundleEntity> widgetsBundlesEntities = widgetsBundleDao.findSystemWidgetsBundles(pageLink);
- List<WidgetsBundle> widgetsBundles = convertDataList(widgetsBundlesEntities);
- return new TextPageData<>(widgetsBundles, pageLink);
+ return new TextPageData<>(widgetsBundleDao.findSystemWidgetsBundles(pageLink), pageLink);
}
@Override
public List<WidgetsBundle> findSystemWidgetsBundles() {
log.trace("Executing findSystemWidgetsBundles");
List<WidgetsBundle> widgetsBundles = new ArrayList<>();
- TextPageLink pageLink = new TextPageLink(300);
- TextPageData<WidgetsBundle> pageData = null;
+ TextPageLink pageLink = new TextPageLink(DEFAULT_WIDGETS_BUNDLE_LIMIT);
+ TextPageData<WidgetsBundle> pageData;
do {
pageData = findSystemWidgetsBundlesByPageLink(pageLink);
widgetsBundles.addAll(pageData.getData());
@@ -122,9 +113,7 @@ public class WidgetsBundleServiceImpl implements WidgetsBundleService {
log.trace("Executing findTenantWidgetsBundlesByTenantId, tenantId [{}], pageLink [{}]", tenantId, pageLink);
Validator.validateId(tenantId, "Incorrect tenantId " + tenantId);
Validator.validatePageLink(pageLink, "Incorrect page link " + pageLink);
- List<WidgetsBundleEntity> widgetsBundlesEntities = widgetsBundleDao.findTenantWidgetsBundlesByTenantId(tenantId.getId(), pageLink);
- List<WidgetsBundle> widgetsBundles = convertDataList(widgetsBundlesEntities);
- return new TextPageData<>(widgetsBundles, pageLink);
+ return new TextPageData<>(widgetsBundleDao.findTenantWidgetsBundlesByTenantId(tenantId.getId(), pageLink), pageLink);
}
@Override
@@ -132,9 +121,7 @@ public class WidgetsBundleServiceImpl implements WidgetsBundleService {
log.trace("Executing findAllTenantWidgetsBundlesByTenantIdAndPageLink, tenantId [{}], pageLink [{}]", tenantId, pageLink);
Validator.validateId(tenantId, "Incorrect tenantId " + tenantId);
Validator.validatePageLink(pageLink, "Incorrect page link " + pageLink);
- List<WidgetsBundleEntity> widgetsBundlesEntities = widgetsBundleDao.findAllTenantWidgetsBundlesByTenantId(tenantId.getId(), pageLink);
- List<WidgetsBundle> widgetsBundles = convertDataList(widgetsBundlesEntities);
- return new TextPageData<>(widgetsBundles, pageLink);
+ return new TextPageData<>(widgetsBundleDao.findAllTenantWidgetsBundlesByTenantId(tenantId.getId(), pageLink), pageLink);
}
@Override
@@ -142,8 +129,8 @@ public class WidgetsBundleServiceImpl implements WidgetsBundleService {
log.trace("Executing findAllTenantWidgetsBundlesByTenantId, tenantId [{}]", tenantId);
Validator.validateId(tenantId, "Incorrect tenantId " + tenantId);
List<WidgetsBundle> widgetsBundles = new ArrayList<>();
- TextPageLink pageLink = new TextPageLink(300);
- TextPageData<WidgetsBundle> pageData = null;
+ TextPageLink pageLink = new TextPageLink(DEFAULT_WIDGETS_BUNDLE_LIMIT);
+ TextPageData<WidgetsBundle> pageData;
do {
pageData = findAllTenantWidgetsBundlesByTenantIdAndPageLink(tenantId, pageLink);
widgetsBundles.addAll(pageData.getData());
@@ -173,7 +160,7 @@ public class WidgetsBundleServiceImpl implements WidgetsBundleService {
widgetsBundle.setTenantId(new TenantId(ModelConstants.NULL_UUID));
}
if (!widgetsBundle.getTenantId().getId().equals(ModelConstants.NULL_UUID)) {
- TenantEntity tenant = tenantDao.findById(widgetsBundle.getTenantId().getId());
+ Tenant tenant = tenantDao.findById(widgetsBundle.getTenantId().getId());
if (tenant == null) {
throw new DataValidationException("Widgets bundle is referencing to non-existent tenant!");
}
@@ -185,7 +172,7 @@ public class WidgetsBundleServiceImpl implements WidgetsBundleService {
String alias = widgetsBundle.getTitle().toLowerCase().replaceAll("\\W+", "_");
String originalAlias = alias;
int c = 1;
- WidgetsBundleEntity withSameAlias;
+ WidgetsBundle withSameAlias;
do {
withSameAlias = widgetsBundleDao.findWidgetsBundleByTenantIdAndAlias(widgetsBundle.getTenantId().getId(), alias);
if (withSameAlias != null) {
@@ -197,8 +184,8 @@ public class WidgetsBundleServiceImpl implements WidgetsBundleService {
@Override
protected void validateUpdate(WidgetsBundle widgetsBundle) {
- WidgetsBundleEntity storedWidgetsBundle = widgetsBundleDao.findById(widgetsBundle.getId().getId());
- if (!storedWidgetsBundle.getTenantId().equals(widgetsBundle.getTenantId().getId())) {
+ WidgetsBundle storedWidgetsBundle = widgetsBundleDao.findById(widgetsBundle.getId().getId());
+ if (!storedWidgetsBundle.getTenantId().getId().equals(widgetsBundle.getTenantId().getId())) {
throw new DataValidationException("Can't move existing widgets bundle to different tenant!");
}
if (!storedWidgetsBundle.getAlias().equals(widgetsBundle.getAlias())) {
@@ -208,17 +195,17 @@ public class WidgetsBundleServiceImpl implements WidgetsBundleService {
};
- private PaginatedRemover<TenantId, WidgetsBundleEntity> tenantWidgetsBundleRemover =
- new PaginatedRemover<TenantId, WidgetsBundleEntity>() {
+ private PaginatedRemover<TenantId, WidgetsBundle> tenantWidgetsBundleRemover =
+ new PaginatedRemover<TenantId, WidgetsBundle>() {
@Override
- protected List<WidgetsBundleEntity> findEntities(TenantId id, TextPageLink pageLink) {
+ protected List<WidgetsBundle> findEntities(TenantId id, TextPageLink pageLink) {
return widgetsBundleDao.findTenantWidgetsBundlesByTenantId(id.getId(), pageLink);
}
@Override
- protected void removeEntity(WidgetsBundleEntity entity) {
- deleteWidgetsBundle(new WidgetsBundleId(entity.getId()));
+ protected void removeEntity(WidgetsBundle entity) {
+ deleteWidgetsBundle(new WidgetsBundleId(entity.getUuidId()));
}
};
diff --git a/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetTypeDao.java b/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetTypeDao.java
index dd85c10..dce7064 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetTypeDao.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetTypeDao.java
@@ -17,17 +17,14 @@ package org.thingsboard.server.dao.widget;
import org.thingsboard.server.common.data.widget.WidgetType;
import org.thingsboard.server.dao.Dao;
-import org.thingsboard.server.dao.model.WidgetTypeEntity;
import java.util.List;
import java.util.UUID;
/**
* The Interface WidgetTypeDao.
- *
- * @param <T> the generic type
*/
-public interface WidgetTypeDao extends Dao<WidgetTypeEntity> {
+public interface WidgetTypeDao extends Dao<WidgetType> {
/**
* Save or update widget type object
@@ -35,7 +32,7 @@ public interface WidgetTypeDao extends Dao<WidgetTypeEntity> {
* @param widgetType the widget type object
* @return saved widget type object
*/
- WidgetTypeEntity save(WidgetType widgetType);
+ WidgetType save(WidgetType widgetType);
/**
* Find widget types by tenantId and bundleAlias.
@@ -44,7 +41,7 @@ public interface WidgetTypeDao extends Dao<WidgetTypeEntity> {
* @param bundleAlias the bundle alias
* @return the list of widget types objects
*/
- List<WidgetTypeEntity> findWidgetTypesByTenantIdAndBundleAlias(UUID tenantId, String bundleAlias);
+ List<WidgetType> findWidgetTypesByTenantIdAndBundleAlias(UUID tenantId, String bundleAlias);
/**
* Find widget type by tenantId, bundleAlias and alias.
@@ -54,6 +51,6 @@ public interface WidgetTypeDao extends Dao<WidgetTypeEntity> {
* @param alias the alias
* @return the widget type object
*/
- WidgetTypeEntity findByTenantIdBundleAliasAndAlias(UUID tenantId, String bundleAlias, String alias);
+ WidgetType findByTenantIdBundleAliasAndAlias(UUID tenantId, String bundleAlias, String alias);
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetTypeService.java b/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetTypeService.java
index 5ff931c..dcc70f7 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetTypeService.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetTypeService.java
@@ -23,16 +23,16 @@ import java.util.List;
public interface WidgetTypeService {
- public WidgetType findWidgetTypeById(WidgetTypeId widgetTypeId);
+ WidgetType findWidgetTypeById(WidgetTypeId widgetTypeId);
- public WidgetType saveWidgetType(WidgetType widgetType);
+ WidgetType saveWidgetType(WidgetType widgetType);
- public void deleteWidgetType(WidgetTypeId widgetTypeId);
+ void deleteWidgetType(WidgetTypeId widgetTypeId);
- public List<WidgetType> findWidgetTypesByTenantIdAndBundleAlias(TenantId tenantId, String bundleAlias);
+ List<WidgetType> findWidgetTypesByTenantIdAndBundleAlias(TenantId tenantId, String bundleAlias);
- public WidgetType findWidgetTypeByTenantIdBundleAliasAndAlias(TenantId tenantId, String bundleAlias, String alias);
+ WidgetType findWidgetTypeByTenantIdBundleAliasAndAlias(TenantId tenantId, String bundleAlias, String alias);
- public void deleteWidgetTypesByTenantIdAndBundleAlias(TenantId tenantId, String bundleAlias);
+ void deleteWidgetTypesByTenantIdAndBundleAlias(TenantId tenantId, String bundleAlias);
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetTypeServiceImpl.java b/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetTypeServiceImpl.java
index 45a0c71..f533f71 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetTypeServiceImpl.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetTypeServiceImpl.java
@@ -17,8 +17,6 @@ package org.thingsboard.server.dao.widget;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.thingsboard.server.common.data.Tenant;
@@ -28,19 +26,12 @@ import org.thingsboard.server.common.data.widget.WidgetType;
import org.thingsboard.server.common.data.widget.WidgetsBundle;
import org.thingsboard.server.dao.exception.DataValidationException;
import org.thingsboard.server.dao.model.ModelConstants;
-import org.thingsboard.server.dao.model.TenantEntity;
-import org.thingsboard.server.dao.model.WidgetTypeEntity;
-import org.thingsboard.server.dao.model.WidgetsBundleEntity;
import org.thingsboard.server.dao.service.DataValidator;
import org.thingsboard.server.dao.service.Validator;
import org.thingsboard.server.dao.tenant.TenantDao;
-import org.thingsboard.server.dao.tenant.TenantService;
import java.util.List;
-import static org.thingsboard.server.dao.DaoUtil.convertDataList;
-import static org.thingsboard.server.dao.DaoUtil.getData;
-
@Service
@Slf4j
public class WidgetTypeServiceImpl implements WidgetTypeService {
@@ -58,16 +49,14 @@ public class WidgetTypeServiceImpl implements WidgetTypeService {
public WidgetType findWidgetTypeById(WidgetTypeId widgetTypeId) {
log.trace("Executing findWidgetTypeById [{}]", widgetTypeId);
Validator.validateId(widgetTypeId, "Incorrect widgetTypeId " + widgetTypeId);
- WidgetTypeEntity widgetTypeEntity = widgetTypeDao.findById(widgetTypeId.getId());
- return getData(widgetTypeEntity);
+ return widgetTypeDao.findById(widgetTypeId.getId());
}
@Override
public WidgetType saveWidgetType(WidgetType widgetType) {
log.trace("Executing saveWidgetType [{}]", widgetType);
widgetTypeValidator.validate(widgetType);
- WidgetTypeEntity widgetTypeEntity = widgetTypeDao.save(widgetType);
- return getData(widgetTypeEntity);
+ return widgetTypeDao.save(widgetType);
}
@Override
@@ -82,8 +71,7 @@ public class WidgetTypeServiceImpl implements WidgetTypeService {
log.trace("Executing findWidgetTypesByTenantIdAndBundleAlias, tenantId [{}], bundleAlias [{}]", tenantId, bundleAlias);
Validator.validateId(tenantId, "Incorrect tenantId " + tenantId);
Validator.validateString(bundleAlias, "Incorrect bundleAlias " + bundleAlias);
- List<WidgetTypeEntity> widgetTypesEntities = widgetTypeDao.findWidgetTypesByTenantIdAndBundleAlias(tenantId.getId(), bundleAlias);
- return convertDataList(widgetTypesEntities);
+ return widgetTypeDao.findWidgetTypesByTenantIdAndBundleAlias(tenantId.getId(), bundleAlias);
}
@Override
@@ -92,8 +80,7 @@ public class WidgetTypeServiceImpl implements WidgetTypeService {
Validator.validateId(tenantId, "Incorrect tenantId " + tenantId);
Validator.validateString(bundleAlias, "Incorrect bundleAlias " + bundleAlias);
Validator.validateString(alias, "Incorrect alias " + alias);
- WidgetTypeEntity widgetTypeEntity = widgetTypeDao.findByTenantIdBundleAliasAndAlias(tenantId.getId(), bundleAlias, alias);
- return getData(widgetTypeEntity);
+ return widgetTypeDao.findByTenantIdBundleAliasAndAlias(tenantId.getId(), bundleAlias, alias);
}
@Override
@@ -101,9 +88,9 @@ public class WidgetTypeServiceImpl implements WidgetTypeService {
log.trace("Executing deleteWidgetTypesByTenantIdAndBundleAlias, tenantId [{}], bundleAlias [{}]", tenantId, bundleAlias);
Validator.validateId(tenantId, "Incorrect tenantId " + tenantId);
Validator.validateString(bundleAlias, "Incorrect bundleAlias " + bundleAlias);
- List<WidgetTypeEntity> widgetTypesEntities = widgetTypeDao.findWidgetTypesByTenantIdAndBundleAlias(tenantId.getId(), bundleAlias);
- for (WidgetTypeEntity widgetTypeEntity : widgetTypesEntities) {
- deleteWidgetType(new WidgetTypeId(widgetTypeEntity.getId()));
+ List<WidgetType> widgetTypes = widgetTypeDao.findWidgetTypesByTenantIdAndBundleAlias(tenantId.getId(), bundleAlias);
+ for (WidgetType widgetType : widgetTypes) {
+ deleteWidgetType(new WidgetTypeId(widgetType.getUuidId()));
}
}
@@ -124,7 +111,7 @@ public class WidgetTypeServiceImpl implements WidgetTypeService {
widgetType.setTenantId(new TenantId(ModelConstants.NULL_UUID));
}
if (!widgetType.getTenantId().getId().equals(ModelConstants.NULL_UUID)) {
- TenantEntity tenant = tenantDao.findById(widgetType.getTenantId().getId());
+ Tenant tenant = tenantDao.findById(widgetType.getTenantId().getId());
if (tenant == null) {
throw new DataValidationException("Widget type is referencing to non-existent tenant!");
}
@@ -133,8 +120,7 @@ public class WidgetTypeServiceImpl implements WidgetTypeService {
@Override
protected void validateCreate(WidgetType widgetType) {
-
- WidgetsBundleEntity widgetsBundle = widgetsBundleService.findWidgetsBundleByTenantIdAndAlias(widgetType.getTenantId().getId(), widgetType.getBundleAlias());
+ WidgetsBundle widgetsBundle = widgetsBundleService.findWidgetsBundleByTenantIdAndAlias(widgetType.getTenantId().getId(), widgetType.getBundleAlias());
if (widgetsBundle == null) {
throw new DataValidationException("Widget type is referencing to non-existent widgets bundle!");
}
@@ -142,7 +128,7 @@ public class WidgetTypeServiceImpl implements WidgetTypeService {
String alias = widgetType.getName().toLowerCase().replaceAll("\\W+", "_");
String originalAlias = alias;
int c = 1;
- WidgetTypeEntity withSameAlias;
+ WidgetType withSameAlias;
do {
withSameAlias = widgetTypeDao.findByTenantIdBundleAliasAndAlias(widgetType.getTenantId().getId(), widgetType.getBundleAlias(), alias);
if (withSameAlias != null) {
@@ -154,8 +140,8 @@ public class WidgetTypeServiceImpl implements WidgetTypeService {
@Override
protected void validateUpdate(WidgetType widgetType) {
- WidgetTypeEntity storedWidgetType = widgetTypeDao.findById(widgetType.getId().getId());
- if (!storedWidgetType.getTenantId().equals(widgetType.getTenantId().getId())) {
+ WidgetType storedWidgetType = widgetTypeDao.findById(widgetType.getId().getId());
+ if (!storedWidgetType.getTenantId().getId().equals(widgetType.getTenantId().getId())) {
throw new DataValidationException("Can't move existing widget type to different tenant!");
}
if (!storedWidgetType.getBundleAlias().equals(widgetType.getBundleAlias())) {