thingsboard-aplcache

Code review fixes

9/18/2018 5:00:27 PM

Changes

Details

diff --git a/application/src/main/data/upgrade/2.1.1/schema_update.cql b/application/src/main/data/upgrade/2.1.1/schema_update.cql
index 888f43c..a633634 100644
--- a/application/src/main/data/upgrade/2.1.1/schema_update.cql
+++ b/application/src/main/data/upgrade/2.1.1/schema_update.cql
@@ -14,10 +14,9 @@
 -- limitations under the License.
 --
 
-DROP MATERIALIZED VIEW IF EXISTS thingsboard.entity_views_by_tenant_and_name;
-DROP MATERIALIZED VIEW IF EXISTS thingsboard.entity_views_by_tenant_and_entity;
-DROP MATERIALIZED VIEW IF EXISTS thingsboard.entity_views_by_tenant_and_customer;
-DROP MATERIALIZED VIEW IF EXISTS thingsboard.entity_views_by_tenant_and_customer_and_entity;
+DROP MATERIALIZED VIEW IF EXISTS thingsboard.entity_view_by_tenant_and_name;
+DROP MATERIALIZED VIEW IF EXISTS thingsboard.entity_view_by_tenant_and_search_text;
+DROP MATERIALIZED VIEW IF EXISTS thingsboard.entity_view_by_tenant_and_customer;
 
 DROP TABLE IF EXISTS thingsboard.entity_views;
 
@@ -36,7 +35,7 @@ CREATE TABLE IF NOT EXISTS thingsboard.entity_views (
     PRIMARY KEY (id, entity_id, tenant_id, customer_id)
 );
 
-CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_views_by_tenant_and_name AS
+CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_view_by_tenant_and_name AS
     SELECT *
     from thingsboard.entity_views
     WHERE tenant_id IS NOT NULL
@@ -58,18 +57,7 @@ CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_view_by_tenant_and_sea
     PRIMARY KEY (tenant_id, search_text, id, customer_id, entity_id)
     WITH CLUSTERING ORDER BY (search_text ASC, id DESC, customer_id DESC);
 
-CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_view_by_tenant_and_entity AS
-    SELECT *
-    from thingsboard.entity_views
-    WHERE tenant_id IS NOT NULL
-      AND customer_id IS NOT NULL
-      AND entity_id IS NOT NULL
-      AND search_text IS NOT NULL
-      AND id IS NOT NULL
-    PRIMARY KEY (tenant_id, entity_id, search_text, id, customer_id)
-    WITH CLUSTERING ORDER BY (entity_id ASC, search_text ASC, id DESC, customer_id DESC);
-
-CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_views_by_tenant_and_customer AS
+CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_view_by_tenant_and_customer AS
     SELECT *
     from thingsboard.entity_views
     WHERE tenant_id IS NOT NULL
@@ -79,14 +67,3 @@ CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_views_by_tenant_and_cu
       AND id IS NOT NULL
     PRIMARY KEY (tenant_id, customer_id, search_text, id, entity_id)
     WITH CLUSTERING ORDER BY (customer_id DESC, search_text ASC, id DESC);
-
-CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_views_by_tenant_and_customer_and_entity AS
-    SELECT *
-    from thingsboard.entity_views
-    WHERE tenant_id IS NOT NULL
-      AND customer_id IS NOT NULL
-      AND entity_id IS NOT NULL
-      AND search_text IS NOT NULL
-      AND id IS NOT NULL
-    PRIMARY KEY (tenant_id, customer_id, entity_id, search_text, id)
-    WITH CLUSTERING ORDER BY (customer_id DESC, entity_id ASC, search_text ASC, id DESC);
diff --git a/application/src/main/java/org/thingsboard/server/install/ThingsboardInstallService.java b/application/src/main/java/org/thingsboard/server/install/ThingsboardInstallService.java
index 347b054..5b2dab6 100644
--- a/application/src/main/java/org/thingsboard/server/install/ThingsboardInstallService.java
+++ b/application/src/main/java/org/thingsboard/server/install/ThingsboardInstallService.java
@@ -93,8 +93,6 @@ public class ThingsboardInstallService {
 
                         databaseUpgradeService.upgradeDatabase("2.0.0");
 
-                        dataUpdateService.updateData("2.0.0");
-
                         log.info("Updating system data...");
 
                         systemDataLoaderService.deleteSystemWidgetBundle("charts");
diff --git a/application/src/main/java/org/thingsboard/server/service/install/DefaultDataUpdateService.java b/application/src/main/java/org/thingsboard/server/service/install/DefaultDataUpdateService.java
index 0194a5d..5daebcc 100644
--- a/application/src/main/java/org/thingsboard/server/service/install/DefaultDataUpdateService.java
+++ b/application/src/main/java/org/thingsboard/server/service/install/DefaultDataUpdateService.java
@@ -49,10 +49,6 @@ public class DefaultDataUpdateService implements DataUpdateService {
                 log.info("Updating data from version 1.4.0 to 2.0.0 ...");
                 tenantsDefaultRuleChainUpdater.updateEntities(null);
                 break;
-            case "2.0.0":
-                log.info("Updating data from version 2.0.0 to 2.1.1 ...");
-                tenantsDefaultRuleChainUpdater.updateEntities(null);
-                break;
             default:
                 throw new RuntimeException("Unable to update data, unsupported fromVersion: " + fromVersion);
         }
diff --git a/application/src/main/java/org/thingsboard/server/service/security/AccessValidator.java b/application/src/main/java/org/thingsboard/server/service/security/AccessValidator.java
index 7f4f23a..eaf1018 100644
--- a/application/src/main/java/org/thingsboard/server/service/security/AccessValidator.java
+++ b/application/src/main/java/org/thingsboard/server/service/security/AccessValidator.java
@@ -30,7 +30,15 @@ import org.thingsboard.server.common.data.EntityView;
 import org.thingsboard.server.common.data.Tenant;
 import org.thingsboard.server.common.data.asset.Asset;
 import org.thingsboard.server.common.data.exception.ThingsboardException;
-import org.thingsboard.server.common.data.id.*;
+import org.thingsboard.server.common.data.id.AssetId;
+import org.thingsboard.server.common.data.id.CustomerId;
+import org.thingsboard.server.common.data.id.DeviceId;
+import org.thingsboard.server.common.data.id.EntityId;
+import org.thingsboard.server.common.data.id.EntityIdFactory;
+import org.thingsboard.server.common.data.id.EntityViewId;
+import org.thingsboard.server.common.data.id.RuleChainId;
+import org.thingsboard.server.common.data.id.RuleNodeId;
+import org.thingsboard.server.common.data.id.TenantId;
 import org.thingsboard.server.common.data.rule.RuleChain;
 import org.thingsboard.server.common.data.rule.RuleNode;
 import org.thingsboard.server.controller.HttpValidationCallback;
diff --git a/application/src/test/java/org/thingsboard/server/controller/BaseEntityViewControllerTest.java b/application/src/test/java/org/thingsboard/server/controller/BaseEntityViewControllerTest.java
index 5c62e6a..98ca7c2 100644
--- a/application/src/test/java/org/thingsboard/server/controller/BaseEntityViewControllerTest.java
+++ b/application/src/test/java/org/thingsboard/server/controller/BaseEntityViewControllerTest.java
@@ -22,7 +22,11 @@ import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
-import org.thingsboard.server.common.data.*;
+import org.thingsboard.server.common.data.Customer;
+import org.thingsboard.server.common.data.Device;
+import org.thingsboard.server.common.data.EntityView;
+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.objects.AttributesEntityView;
 import org.thingsboard.server.common.data.objects.TelemetryEntityView;
@@ -31,7 +35,10 @@ import org.thingsboard.server.common.data.page.TextPageLink;
 import org.thingsboard.server.common.data.security.Authority;
 import org.thingsboard.server.dao.model.ModelConstants;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
 
 import static org.hamcrest.Matchers.containsString;
 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@@ -43,7 +50,6 @@ public abstract class BaseEntityViewControllerTest extends AbstractControllerTes
     private Tenant savedTenant;
     private User tenantAdmin;
     private Device testDevice;
-    private TelemetryEntityView obj;
 
     @Before
     public void beforeTest() throws Exception {
@@ -67,14 +73,6 @@ public abstract class BaseEntityViewControllerTest extends AbstractControllerTes
         device.setName("Test device");
         device.setType("default");
         testDevice = doPost("/api/device", device, Device.class);
-        obj = new TelemetryEntityView(
-                Arrays.asList("109L", "209L"),
-                new AttributesEntityView(
-                        Arrays.asList("caKey1", "caKey2"),
-                        Arrays.asList("saKey1", "saKey2", "saKey3"),
-                        Arrays.asList("shKey1", "shKey2", "shKey3", "shKey4")
-                )
-        );
     }
 
     @After
@@ -239,14 +237,16 @@ public abstract class BaseEntityViewControllerTest extends AbstractControllerTes
             doDelete("/api/customer/entityView/" + view.getId().getId().toString()).andExpect(status().isOk());
         }
         TextPageData<EntityView> pageData = doGetTypedWithPageLink(urlTemplate,
-                    new TypeReference<TextPageData<EntityView>>(){}, new TextPageLink(4, name1));
+                new TypeReference<TextPageData<EntityView>>() {
+                }, new TextPageLink(4, name1));
         Assert.assertFalse(pageData.hasNext());
         Assert.assertEquals(0, pageData.getData().size());
 
         for (EntityView view : loadedNamesOfView2) {
             doDelete("/api/customer/entityView/" + view.getId().getId().toString()).andExpect(status().isOk());
         }
-        pageData = doGetTypedWithPageLink(urlTemplate, new TypeReference<TextPageData<EntityView>>(){},
+        pageData = doGetTypedWithPageLink(urlTemplate, new TypeReference<TextPageData<EntityView>>() {
+                },
                 new TextPageLink(4, name2));
         Assert.assertFalse(pageData.hasNext());
         Assert.assertEquals(0, pageData.getData().size());
@@ -287,14 +287,16 @@ public abstract class BaseEntityViewControllerTest extends AbstractControllerTes
             doDelete("/api/entityView/" + view.getId().getId().toString()).andExpect(status().isOk());
         }
         TextPageData<EntityView> pageData = doGetTypedWithPageLink("/api/tenant/entityViews?",
-                new TypeReference<TextPageData<EntityView>>(){}, new TextPageLink(4, name1));
+                new TypeReference<TextPageData<EntityView>>() {
+                }, new TextPageLink(4, name1));
         Assert.assertFalse(pageData.hasNext());
         Assert.assertEquals(0, pageData.getData().size());
 
         for (EntityView view : loadedNamesOfView2) {
             doDelete("/api/entityView/" + view.getId().getId().toString()).andExpect(status().isOk());
         }
-        pageData = doGetTypedWithPageLink("/api/tenant/entityViews?", new TypeReference<TextPageData<EntityView>>(){},
+        pageData = doGetTypedWithPageLink("/api/tenant/entityViews?", new TypeReference<TextPageData<EntityView>>() {
+                },
                 new TextPageLink(4, name2));
         Assert.assertFalse(pageData.hasNext());
         Assert.assertEquals(0, pageData.getData().size());
@@ -305,7 +307,14 @@ public abstract class BaseEntityViewControllerTest extends AbstractControllerTes
         view.setEntityId(testDevice.getId());
         view.setTenantId(savedTenant.getId());
         view.setName(name);
-        view.setKeys(new TelemetryEntityView(obj));
+
+        view.setKeys(new TelemetryEntityView(
+                Arrays.asList("109L", "209L"),
+                new AttributesEntityView(
+                        Arrays.asList("caKey1", "caKey2"),
+                        Arrays.asList("saKey1", "saKey2", "saKey3"),
+                        Arrays.asList("shKey1", "shKey2", "shKey3", "shKey4"))));
+
         return doPost("/api/entityView", view, EntityView.class);
     }
 
@@ -346,7 +355,8 @@ public abstract class BaseEntityViewControllerTest extends AbstractControllerTes
         List<EntityView> loadedItems = new ArrayList<>();
         TextPageData<EntityView> pageData;
         do {
-            pageData = doGetTypedWithPageLink(urlTemplate, new TypeReference<TextPageData<EntityView>>(){}, pageLink);
+            pageData = doGetTypedWithPageLink(urlTemplate, new TypeReference<TextPageData<EntityView>>() {
+            }, pageLink);
             loadedItems.addAll(pageData.getData());
             if (pageData.hasNext()) {
                 pageLink = pageData.getNextPageLink();
diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/EntityView.java b/common/data/src/main/java/org/thingsboard/server/common/data/EntityView.java
index b86c605..25b066d 100644
--- a/common/data/src/main/java/org/thingsboard/server/common/data/EntityView.java
+++ b/common/data/src/main/java/org/thingsboard/server/common/data/EntityView.java
@@ -15,7 +15,9 @@
  */
 package org.thingsboard.server.common.data;
 
-import lombok.*;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
 import org.thingsboard.server.common.data.id.CustomerId;
 import org.thingsboard.server.common.data.id.EntityId;
 import org.thingsboard.server.common.data.id.EntityViewId;
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 36b250d..9d96f3a 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
@@ -32,6 +32,7 @@ import org.thingsboard.server.dao.asset.AssetService;
 import org.thingsboard.server.dao.dashboard.DashboardService;
 import org.thingsboard.server.dao.device.DeviceService;
 import org.thingsboard.server.dao.entity.AbstractEntityService;
+import org.thingsboard.server.dao.entityview.EntityViewService;
 import org.thingsboard.server.dao.exception.DataValidationException;
 import org.thingsboard.server.dao.exception.IncorrectParameterException;
 import org.thingsboard.server.dao.service.DataValidator;
@@ -70,6 +71,9 @@ public class CustomerServiceImpl extends AbstractEntityService implements Custom
     private DeviceService deviceService;
 
     @Autowired
+    private EntityViewService entityViewService;
+
+    @Autowired
     private DashboardService dashboardService;
 
     @Override
@@ -113,6 +117,7 @@ public class CustomerServiceImpl extends AbstractEntityService implements Custom
         dashboardService.unassignCustomerDashboards(customerId);
         assetService.unassignCustomerAssets(customer.getTenantId(), customerId);
         deviceService.unassignCustomerDevices(customer.getTenantId(), customerId);
+        entityViewService.unassignCustomerEntityViews(customer.getTenantId(), customerId);
         userService.deleteCustomerUsers(customer.getTenantId(), customerId);
         deleteEntityRelations(customerId);
         customerDao.removeById(customerId.getId());
diff --git a/dao/src/main/java/org/thingsboard/server/dao/entityview/CassandraEntityViewDao.java b/dao/src/main/java/org/thingsboard/server/dao/entityview/CassandraEntityViewDao.java
index 98f6105..e866bc8 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/entityview/CassandraEntityViewDao.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/entityview/CassandraEntityViewDao.java
@@ -30,11 +30,23 @@ import org.thingsboard.server.dao.model.nosql.EntityViewEntity;
 import org.thingsboard.server.dao.nosql.CassandraAbstractSearchTextDao;
 import org.thingsboard.server.dao.util.NoSqlDao;
 
-import java.util.*;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
+import java.util.UUID;
 
 import static com.datastax.driver.core.querybuilder.QueryBuilder.eq;
 import static com.datastax.driver.core.querybuilder.QueryBuilder.select;
-import static org.thingsboard.server.dao.model.ModelConstants.*;
+import static org.thingsboard.server.dao.model.ModelConstants.CUSTOMER_ID_PROPERTY;
+import static org.thingsboard.server.dao.model.ModelConstants.ENTITY_ID_COLUMN;
+import static org.thingsboard.server.dao.model.ModelConstants.ENTITY_VIEW_BY_TENANT_AND_CUSTOMER_AND_SEARCH_TEXT;
+import static org.thingsboard.server.dao.model.ModelConstants.ENTITY_VIEW_BY_TENANT_AND_NAME;
+import static org.thingsboard.server.dao.model.ModelConstants.ENTITY_VIEW_BY_TENANT_AND_SEARCH_TEXT_COLUMN_FAMILY_NAME;
+import static org.thingsboard.server.dao.model.ModelConstants.ENTITY_VIEW_NAME_PROPERTY;
+import static org.thingsboard.server.dao.model.ModelConstants.ENTITY_VIEW_TABLE_FAMILY_NAME;
+import static org.thingsboard.server.dao.model.ModelConstants.ENTITY_VIEW_TENANT_ID_PROPERTY;
+import static org.thingsboard.server.dao.model.ModelConstants.TENANT_ID_PROPERTY;
 
 /**
  * Created by Victor Basanets on 9/06/2017.
@@ -85,19 +97,6 @@ public class CassandraEntityViewDao extends CassandraAbstractSearchTextDao<Entit
     }
 
     @Override
-    public List<EntityView> findEntityViewByTenantIdAndEntityId(UUID tenantId, UUID entityId, TextPageLink pageLink) {
-        log.debug("Try to find entity views by tenantId [{}], entityId [{}] and pageLink [{}]",
-                tenantId, entityId, pageLink);
-        List<EntityViewEntity> entityViewEntities = findPageWithTextSearch(
-                ENTITY_VIEW_BY_TENANT_AND_ENTITY_AND_SEARCH_TEXT,
-                Arrays.asList(eq(CUSTOMER_ID_PROPERTY, entityId), eq(TENANT_ID_PROPERTY, tenantId)),
-                pageLink);
-        log.trace("Found entity views [{}] by tenantId [{}], entityId [{}] and pageLink [{}]",
-                entityViewEntities, tenantId, entityId, pageLink);
-        return DaoUtil.convertDataList(entityViewEntities);
-    }
-
-    @Override
     public List<EntityView> findEntityViewsByTenantIdAndCustomerId(UUID tenantId, UUID customerId, TextPageLink pageLink) {
         log.debug("Try to find entity views by tenantId [{}], customerId[{}] and pageLink [{}]",
                 tenantId, customerId, pageLink);
@@ -111,26 +110,6 @@ public class CassandraEntityViewDao extends CassandraAbstractSearchTextDao<Entit
     }
 
     @Override
-    public List<EntityView> findEntityViewsByTenantIdAndCustomerIdAndEntityId(UUID tenantId,
-                                                                              UUID customerId,
-                                                                              UUID entityId,
-                                                                              TextPageLink pageLink) {
-
-        log.debug("Try to find entity views by tenantId [{}], customerId [{}], entityId [{}] and pageLink [{}]",
-                tenantId, customerId, entityId, pageLink);
-        List<EntityViewEntity> entityViewEntities = findPageWithTextSearch(
-                ENTITY_VIEW_BY_TENANT_AND_CUSTOMER_AND_ENTITY_AND_SEARCH_TEXT,
-                Arrays.asList(
-                        eq(TENANT_ID_PROPERTY, tenantId),
-                        eq(CUSTOMER_ID_PROPERTY, customerId),
-                        eq(ENTITY_ID_COLUMN, entityId)),
-                pageLink);
-        log.trace("Found devices [{}] by tenantId [{}], customerId [{}], entityId [{}] and pageLink [{}]",
-                entityViewEntities, tenantId, customerId, entityId, pageLink);
-        return DaoUtil.convertDataList(entityViewEntities);
-    }
-
-    @Override
     public ListenableFuture<List<EntityView>> findEntityViewsByTenantIdAndEntityIdAsync(UUID tenantId, UUID entityId) {
         log.debug("Try to find entity views by tenantId [{}] and entityId [{}]", tenantId, entityId);
         Select.Where query = select().from(getColumnFamilyName()).where();
diff --git a/dao/src/main/java/org/thingsboard/server/dao/entityview/EntityViewDao.java b/dao/src/main/java/org/thingsboard/server/dao/entityview/EntityViewDao.java
index be643ef..742cb92 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/entityview/EntityViewDao.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/entityview/EntityViewDao.java
@@ -57,18 +57,6 @@ public interface EntityViewDao extends Dao<EntityView> {
     Optional<EntityView> findEntityViewByTenantIdAndName(UUID tenantId, String name);
 
     /**
-     * Find entity views by tenantId, entityId and page link.
-     *
-     * @param tenantId the tenantId
-     * @param entityId the entityId
-     * @param pageLink the page link
-     * @return the list of entity view objects
-     */
-    List<EntityView> findEntityViewByTenantIdAndEntityId(UUID tenantId,
-                                                         UUID entityId,
-                                                         TextPageLink pageLink);
-
-    /**
      * Find entity views by tenantId, customerId and page link.
      *
      * @param tenantId the tenantId
@@ -80,19 +68,6 @@ public interface EntityViewDao extends Dao<EntityView> {
                                                             UUID customerId,
                                                             TextPageLink pageLink);
 
-    /**
-     * Find entity views by tenantId, customerId, entityId and page link.
-     *
-     * @param tenantId the tenantId
-     * @param customerId the customerId
-     * @param entityId the entityId
-     * @param pageLink the page link
-     * @return the list of entity view objects
-     */
-    List<EntityView> findEntityViewsByTenantIdAndCustomerIdAndEntityId(UUID tenantId,
-                                                                       UUID customerId,
-                                                                       UUID entityId,
-                                                                       TextPageLink pageLink);
 
     ListenableFuture<List<EntityView>> findEntityViewsByTenantIdAndEntityIdAsync(UUID tenantId, UUID entityId);
 }
diff --git a/dao/src/main/java/org/thingsboard/server/dao/entityview/EntityViewService.java b/dao/src/main/java/org/thingsboard/server/dao/entityview/EntityViewService.java
index b9c238a..89b7e2f 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/entityview/EntityViewService.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/entityview/EntityViewService.java
@@ -16,14 +16,12 @@
 package org.thingsboard.server.dao.entityview;
 
 import com.google.common.util.concurrent.ListenableFuture;
-import org.thingsboard.server.common.data.Device;
-import org.thingsboard.server.common.data.EntitySubtype;
-import org.thingsboard.server.common.data.EntityType;
 import org.thingsboard.server.common.data.EntityView;
-import org.thingsboard.server.common.data.Tenant;
-import org.thingsboard.server.common.data.device.DeviceSearchQuery;
 import org.thingsboard.server.common.data.entityview.EntityViewSearchQuery;
-import org.thingsboard.server.common.data.id.*;
+import org.thingsboard.server.common.data.id.CustomerId;
+import org.thingsboard.server.common.data.id.EntityId;
+import org.thingsboard.server.common.data.id.EntityViewId;
+import org.thingsboard.server.common.data.id.TenantId;
 import org.thingsboard.server.common.data.page.TextPageData;
 import org.thingsboard.server.common.data.page.TextPageLink;
 
@@ -36,8 +34,6 @@ public interface EntityViewService {
 
     EntityView findEntityViewById(EntityViewId entityViewId);
 
-    EntityView findEntityViewByTenantIdAndName(TenantId tenantId, String name);
-
     EntityView saveEntityView(EntityView entityView);
 
     EntityView assignEntityViewToCustomer(EntityViewId entityViewId, CustomerId customerId);
@@ -48,19 +44,11 @@ public interface EntityViewService {
 
     TextPageData<EntityView> findEntityViewByTenantId(TenantId tenantId, TextPageLink pageLink);
 
-    TextPageData<EntityView> findEntityViewByTenantIdAndEntityId(TenantId tenantId, EntityId entityId,
-                                                                 TextPageLink pageLink);
-
-    void deleteEntityViewByTenantId(TenantId tenantId);
+    void deleteEntityViewsByTenantId(TenantId tenantId);
 
     TextPageData<EntityView> findEntityViewsByTenantIdAndCustomerId(TenantId tenantId, CustomerId customerId,
                                                                     TextPageLink pageLink);
 
-    TextPageData<EntityView> findEntityViewsByTenantIdAndCustomerIdAndEntityId(TenantId tenantId,
-                                                                               CustomerId customerId,
-                                                                               EntityId entityId,
-                                                                               TextPageLink pageLink);
-
     void unassignCustomerEntityViews(TenantId tenantId, CustomerId customerId);
 
     ListenableFuture<EntityView> findEntityViewByIdAsync(EntityViewId entityViewId);
diff --git a/dao/src/main/java/org/thingsboard/server/dao/entityview/EntityViewServiceImpl.java b/dao/src/main/java/org/thingsboard/server/dao/entityview/EntityViewServiceImpl.java
index c13261c..dd3e61d 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/entityview/EntityViewServiceImpl.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/entityview/EntityViewServiceImpl.java
@@ -96,15 +96,6 @@ public class EntityViewServiceImpl extends AbstractEntityService implements Enti
         return entityViewDao.findById(entityViewId.getId());
     }
 
-    @Cacheable(cacheNames = ENTITY_VIEW_CACHE, key = "{#tenantId, #name}")
-    @Override
-    public EntityView findEntityViewByTenantIdAndName(TenantId tenantId, String name) {
-        log.trace("Executing findEntityViewByTenantIdAndName [{}][{}]", tenantId, name);
-        validateId(tenantId, INCORRECT_TENANT_ID + tenantId);
-        return entityViewDao.findEntityViewByTenantIdAndName(tenantId.getId(), name)
-                .orElse(null);
-    }
-
     @CacheEvict(cacheNames = ENTITY_VIEW_CACHE, key = "{#entityView.tenantId, #entityView.name}")
     @Override
     public EntityView saveEntityView(EntityView entityView) {
@@ -187,24 +178,8 @@ public class EntityViewServiceImpl extends AbstractEntityService implements Enti
     }
 
     @Override
-    public TextPageData<EntityView> findEntityViewByTenantIdAndEntityId(TenantId tenantId, EntityId entityId,
-                                                                    TextPageLink pageLink) {
-
-        log.trace("Executing findEntityViewByTenantIdAndType, tenantId [{}], entityId [{}], pageLink [{}]",
-                tenantId, entityId, pageLink);
-
-        validateId(tenantId, INCORRECT_TENANT_ID + tenantId);
-        validateString(entityId.toString(), "Incorrect entityId " + entityId.toString());
-        validatePageLink(pageLink, INCORRECT_PAGE_LINK + pageLink);
-        List<EntityView> entityViews = entityViewDao.findEntityViewByTenantIdAndEntityId(tenantId.getId(),
-                entityId.getId(), pageLink);
-
-        return new TextPageData<>(entityViews, pageLink);
-    }
-
-    @Override
-    public void deleteEntityViewByTenantId(TenantId tenantId) {
-        log.trace("Executing deleteEntityViewByTenantId, tenantId [{}]", tenantId);
+    public void deleteEntityViewsByTenantId(TenantId tenantId) {
+        log.trace("Executing deleteEntityViewsByTenantId, tenantId [{}]", tenantId);
         validateId(tenantId, INCORRECT_TENANT_ID + tenantId);
         tenantEntityViewRemover.removeEntities(tenantId);
     }
@@ -226,25 +201,6 @@ public class EntityViewServiceImpl extends AbstractEntityService implements Enti
     }
 
     @Override
-    public TextPageData<EntityView> findEntityViewsByTenantIdAndCustomerIdAndEntityId(TenantId tenantId,
-                                                                                      CustomerId customerId,
-                                                                                      EntityId entityId,
-                                                                                      TextPageLink pageLink) {
-
-        log.trace("Executing findEntityViewsByTenantIdAndCustomerIdAndType, tenantId [{}], customerId [{}]," +
-                " entityId [{}], pageLink [{}]", tenantId, customerId, entityId, pageLink);
-
-        validateId(tenantId, INCORRECT_TENANT_ID + tenantId);
-        validateId(customerId, INCORRECT_CUSTOMER_ID + customerId);
-        validateString(entityId.toString(), "Incorrect entityId " + entityId.toString());
-        validatePageLink(pageLink, INCORRECT_PAGE_LINK + pageLink);
-        List<EntityView> entityViews = entityViewDao.findEntityViewsByTenantIdAndCustomerIdAndEntityId(
-                tenantId.getId(), customerId.getId(), entityId.getId(), pageLink);
-
-        return new TextPageData<>(entityViews, pageLink);
-    }
-
-    @Override
     public void unassignCustomerEntityViews(TenantId tenantId, CustomerId customerId) {
         log.trace("Executing unassignCustomerEntityViews, tenantId [{}], customerId [{}]", tenantId, customerId);
         validateId(tenantId, INCORRECT_TENANT_ID + tenantId);
diff --git a/dao/src/main/java/org/thingsboard/server/dao/model/ModelConstants.java b/dao/src/main/java/org/thingsboard/server/dao/model/ModelConstants.java
index 45d0ff9..9890ff6 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/model/ModelConstants.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/model/ModelConstants.java
@@ -150,15 +150,13 @@ public class ModelConstants {
     public static final String ENTITY_VIEW_TENANT_ID_PROPERTY = TENANT_ID_PROPERTY;
     public static final String ENTITY_VIEW_CUSTOMER_ID_PROPERTY = CUSTOMER_ID_PROPERTY;
     public static final String ENTITY_VIEW_NAME_PROPERTY = DEVICE_NAME_PROPERTY;
-    public static final String ENTITY_VIEW_BY_TENANT_AND_CUSTOMER_AND_ENTITY_AND_SEARCH_TEXT = "entity_views_by_tenant_and_customer_and_entity";
-    public static final String ENTITY_VIEW_BY_TENANT_AND_CUSTOMER_AND_SEARCH_TEXT = "entity_views_by_tenant_and_customer";
+    public static final String ENTITY_VIEW_BY_TENANT_AND_CUSTOMER_AND_SEARCH_TEXT = "entity_view_by_tenant_and_customer";
     public static final String ENTITY_VIEW_KEYS_PROPERTY = "keys";
     public static final String ENTITY_VIEW_START_TS_PROPERTY = "start_ts";
     public static final String ENTITY_VIEW_END_TS_PROPERTY = "end_ts";
     public static final String ENTITY_VIEW_ADDITIONAL_INFO_PROPERTY = ADDITIONAL_INFO_PROPERTY;
     public static final String ENTITY_VIEW_BY_TENANT_AND_SEARCH_TEXT_COLUMN_FAMILY_NAME = "entity_view_by_tenant_and_search_text";
-    public static final String ENTITY_VIEW_BY_TENANT_AND_NAME = "entity_views_by_tenant_and_name";
-    public static final String ENTITY_VIEW_BY_TENANT_AND_ENTITY_AND_SEARCH_TEXT = "entity_view_by_tenant_and_entity";
+    public static final String ENTITY_VIEW_BY_TENANT_AND_NAME = "entity_view_by_tenant_and_name";
 
     /**
      * Cassandra audit log constants.
diff --git a/dao/src/main/java/org/thingsboard/server/dao/model/nosql/EntityViewEntity.java b/dao/src/main/java/org/thingsboard/server/dao/model/nosql/EntityViewEntity.java
index 79dd497..eb7f4fe 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/model/nosql/EntityViewEntity.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/model/nosql/EntityViewEntity.java
@@ -24,10 +24,14 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.ToString;
+import lombok.extern.slf4j.Slf4j;
 import org.hibernate.annotations.Type;
 import org.thingsboard.server.common.data.EntityType;
 import org.thingsboard.server.common.data.EntityView;
-import org.thingsboard.server.common.data.id.*;
+import org.thingsboard.server.common.data.id.CustomerId;
+import org.thingsboard.server.common.data.id.EntityIdFactory;
+import org.thingsboard.server.common.data.id.EntityViewId;
+import org.thingsboard.server.common.data.id.TenantId;
 import org.thingsboard.server.common.data.objects.TelemetryEntityView;
 import org.thingsboard.server.dao.model.ModelConstants;
 import org.thingsboard.server.dao.model.SearchTextEntity;
@@ -48,6 +52,7 @@ import static org.thingsboard.server.dao.model.ModelConstants.ID_PROPERTY;
 @Table(name = ENTITY_VIEW_TABLE_FAMILY_NAME)
 @EqualsAndHashCode
 @ToString
+@Slf4j
 public class EntityViewEntity implements SearchTextEntity<EntityView> {
 
     @PartitionKey(value = 0)
@@ -112,7 +117,7 @@ public class EntityViewEntity implements SearchTextEntity<EntityView> {
         try {
             this.keys = mapper.writeValueAsString(entityView.getKeys());
         } catch (IOException e) {
-            e.printStackTrace();
+            log.error("Unable to serialize entity view keys!", e);
         }
         this.startTs = entityView.getStartTimeMs();
         this.endTs = entityView.getEndTimeMs();
@@ -142,7 +147,7 @@ public class EntityViewEntity implements SearchTextEntity<EntityView> {
         try {
             entityView.setKeys(mapper.readValue(keys, TelemetryEntityView.class));
         } catch (IOException e) {
-            e.printStackTrace();
+            log.error("Unable to read entity view keys!", e);
         }
         entityView.setStartTimeMs(startTs);
         entityView.setEndTimeMs(endTs);
diff --git a/dao/src/main/java/org/thingsboard/server/dao/model/sql/EntityViewEntity.java b/dao/src/main/java/org/thingsboard/server/dao/model/sql/EntityViewEntity.java
index 96d187c..60f6951 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/model/sql/EntityViewEntity.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/model/sql/EntityViewEntity.java
@@ -20,18 +20,26 @@ import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import lombok.extern.slf4j.Slf4j;
 import org.hibernate.annotations.Type;
 import org.hibernate.annotations.TypeDef;
 import org.thingsboard.server.common.data.EntityType;
 import org.thingsboard.server.common.data.EntityView;
-import org.thingsboard.server.common.data.id.*;
+import org.thingsboard.server.common.data.id.CustomerId;
+import org.thingsboard.server.common.data.id.EntityIdFactory;
+import org.thingsboard.server.common.data.id.EntityViewId;
+import org.thingsboard.server.common.data.id.TenantId;
 import org.thingsboard.server.common.data.objects.TelemetryEntityView;
 import org.thingsboard.server.dao.model.BaseSqlEntity;
 import org.thingsboard.server.dao.model.ModelConstants;
 import org.thingsboard.server.dao.model.SearchTextEntity;
 import org.thingsboard.server.dao.util.mapping.JsonStringType;
 
-import javax.persistence.*;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
+import javax.persistence.Table;
 import java.io.IOException;
 
 import static org.thingsboard.server.dao.model.ModelConstants.ENTITY_TYPE_PROPERTY;
@@ -45,6 +53,7 @@ import static org.thingsboard.server.dao.model.ModelConstants.ENTITY_TYPE_PROPER
 @Entity
 @TypeDef(name = "json", typeClass = JsonStringType.class)
 @Table(name = ModelConstants.ENTITY_VIEW_TABLE_FAMILY_NAME)
+@Slf4j
 public class EntityViewEntity extends BaseSqlEntity<EntityView> implements SearchTextEntity<EntityView> {
 
     @Column(name = ModelConstants.ENTITY_VIEW_ENTITY_ID_PROPERTY)
@@ -103,7 +112,7 @@ public class EntityViewEntity extends BaseSqlEntity<EntityView> implements Searc
         try {
             this.keys = mapper.writeValueAsString(entityView.getKeys());
         } catch (IOException e) {
-            e.printStackTrace();
+            log.error("Unable to serialize entity view keys!", e);
         }
         this.startTs = entityView.getStartTimeMs();
         this.endTs = entityView.getEndTimeMs();
@@ -139,7 +148,7 @@ public class EntityViewEntity extends BaseSqlEntity<EntityView> implements Searc
         try {
             entityView.setKeys(mapper.readValue(keys, TelemetryEntityView.class));
         } catch (IOException e) {
-            e.printStackTrace();
+            log.error("Unable to read entity view keys!", e);
         }
         entityView.setStartTimeMs(startTs);
         entityView.setEndTimeMs(endTs);
diff --git a/dao/src/main/java/org/thingsboard/server/dao/sql/entityview/EntityViewRepository.java b/dao/src/main/java/org/thingsboard/server/dao/sql/entityview/EntityViewRepository.java
index f1ee3fd..0f5fdf5 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/sql/entityview/EntityViewRepository.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/sql/entityview/EntityViewRepository.java
@@ -41,16 +41,6 @@ public interface EntityViewRepository extends CrudRepository<EntityViewEntity, S
                                       Pageable pageable);
 
     @Query("SELECT e FROM EntityViewEntity e WHERE e.tenantId = :tenantId " +
-            "AND e.entityId = :entityId " +
-            "AND LOWER(e.searchText) LIKE LOWER(CONCAT(:textSearch, '%')) " +
-            "AND e.id > :idOffset ORDER BY e.id")
-    List<EntityViewEntity> findByTenantIdAndEntityId(@Param("tenantId") String tenantId,
-                                             @Param("entityId") String entityId,
-                                             @Param("textSearch") String textSearch,
-                                             @Param("idOffset") String idOffset,
-                                             Pageable pageable);
-
-    @Query("SELECT e FROM EntityViewEntity e WHERE e.tenantId = :tenantId " +
             "AND e.customerId = :customerId " +
             "AND LOWER(e.searchText) LIKE LOWER(CONCAT(:searchText, '%')) " +
             "AND e.id > :idOffset ORDER BY e.id")
@@ -60,25 +50,7 @@ public interface EntityViewRepository extends CrudRepository<EntityViewEntity, S
                                                    @Param("idOffset") String idOffset,
                                                    Pageable pageable);
 
-    @Query("SELECT e FROM EntityViewEntity e WHERE e.tenantId = :tenantId " +
-            "AND e.customerId = :customerId " +
-            "AND e.entityId = :entityId " +
-            "AND LOWER(e.searchText) LIKE LOWER(CONCAT(:textSearch, '%')) " +
-            "AND e.id > :idOffset ORDER BY e.id")
-    List<EntityViewEntity> findByTenantIdAndCustomerIdAndEntityId(@Param("tenantId") String tenantId,
-                                                          @Param("customerId") String customerId,
-                                                          @Param("entityId") String entityId,
-                                                          @Param("textSearch") String textSearch,
-                                                          @Param("idOffset") String idOffset,
-                                                          Pageable pageable);
-
     EntityViewEntity findByTenantIdAndName(String tenantId, String name);
 
-    List<EntityViewEntity> findAllByTenantIdAndCustomerIdAndIdIn(String tenantId,
-                                                                 String customerId,
-                                                                 List<String> entityViewsIds);
-
-    List<EntityViewEntity> findAllByTenantIdAndIdIn(String tenantId, List<String> entityViewsIds);
-
     List<EntityViewEntity> findAllByTenantIdAndEntityId(String tenantId, String entityId);
 }
diff --git a/dao/src/main/java/org/thingsboard/server/dao/sql/entityview/JpaEntityViewDao.java b/dao/src/main/java/org/thingsboard/server/dao/sql/entityview/JpaEntityViewDao.java
index 4ff21ab..0cd1b2b 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/sql/entityview/JpaEntityViewDao.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/sql/entityview/JpaEntityViewDao.java
@@ -53,7 +53,7 @@ public class JpaEntityViewDao extends JpaAbstractSearchTextDao<EntityViewEntity,
         implements EntityViewDao {
 
     @Autowired
-    EntityViewRepository entityViewRepository;
+    private EntityViewRepository entityViewRepository;
 
     @Override
     protected Class<EntityViewEntity> getEntityClass() {
@@ -82,19 +82,6 @@ public class JpaEntityViewDao extends JpaAbstractSearchTextDao<EntityViewEntity,
     }
 
     @Override
-    public List<EntityView> findEntityViewByTenantIdAndEntityId(UUID tenantId,
-                                                                UUID entityId,
-                                                                TextPageLink pageLink) {
-        return DaoUtil.convertDataList(
-                entityViewRepository.findByTenantIdAndEntityId(
-                        fromTimeUUID(tenantId),
-                        fromTimeUUID(entityId),
-                        Objects.toString(pageLink.getTextSearch(), ""),
-                        pageLink.getIdOffset() == null ? NULL_UUID_STR : fromTimeUUID(pageLink.getIdOffset()),
-                        new PageRequest(0, pageLink.getLimit())));
-    }
-
-    @Override
     public List<EntityView> findEntityViewsByTenantIdAndCustomerId(UUID tenantId,
                                                                    UUID customerId,
                                                                    TextPageLink pageLink) {
@@ -109,22 +96,6 @@ public class JpaEntityViewDao extends JpaAbstractSearchTextDao<EntityViewEntity,
     }
 
     @Override
-    public List<EntityView> findEntityViewsByTenantIdAndCustomerIdAndEntityId(UUID tenantId,
-                                                                              UUID customerId,
-                                                                              UUID entityId,
-                                                                              TextPageLink pageLink) {
-        return DaoUtil.convertDataList(
-                entityViewRepository.findByTenantIdAndCustomerIdAndEntityId(
-                        fromTimeUUID(tenantId),
-                        fromTimeUUID(customerId),
-                        fromTimeUUID(entityId),
-                        Objects.toString(pageLink.getTextSearch(), ""),
-                        pageLink.getIdOffset() == null ? NULL_UUID_STR : fromTimeUUID(pageLink.getIdOffset()),
-                        new PageRequest(0, pageLink.getLimit())
-                ));
-    }
-
-    @Override
     public ListenableFuture<List<EntityView>> findEntityViewsByTenantIdAndEntityIdAsync(UUID tenantId, UUID entityId) {
         return service.submit(() -> DaoUtil.convertDataList(
                 entityViewRepository.findAllByTenantIdAndEntityId(UUIDConverter.fromTimeUUID(tenantId), UUIDConverter.fromTimeUUID(entityId))));
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 d92c941..a94e715 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
@@ -29,6 +29,7 @@ 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.entity.AbstractEntityService;
+import org.thingsboard.server.dao.entityview.EntityViewService;
 import org.thingsboard.server.dao.exception.DataValidationException;
 import org.thingsboard.server.dao.rule.RuleChainService;
 import org.thingsboard.server.dao.service.DataValidator;
@@ -64,6 +65,9 @@ public class TenantServiceImpl extends AbstractEntityService implements TenantSe
     private DeviceService deviceService;
 
     @Autowired
+    private EntityViewService entityViewService;
+
+    @Autowired
     private WidgetsBundleService widgetsBundleService;
 
     @Autowired
@@ -103,6 +107,7 @@ public class TenantServiceImpl extends AbstractEntityService implements TenantSe
         dashboardService.deleteDashboardsByTenantId(tenantId);
         assetService.deleteAssetsByTenantId(tenantId);
         deviceService.deleteDevicesByTenantId(tenantId);
+        entityViewService.deleteEntityViewsByTenantId(tenantId);
         userService.deleteTenantAdmins(tenantId);
         ruleChainService.deleteRuleChainsByTenantId(tenantId);
         tenantDao.removeById(tenantId.getId());
diff --git a/dao/src/main/resources/cassandra/schema.cql b/dao/src/main/resources/cassandra/schema.cql
index 4645420..07cecd0 100644
--- a/dao/src/main/resources/cassandra/schema.cql
+++ b/dao/src/main/resources/cassandra/schema.cql
@@ -674,7 +674,7 @@ CREATE TABLE IF NOT EXISTS thingsboard.entity_views (
     PRIMARY KEY (id, entity_id, tenant_id, customer_id)
 );
 
-CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_views_by_tenant_and_name AS
+CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_view_by_tenant_and_name AS
     SELECT *
     from thingsboard.entity_views
     WHERE tenant_id IS NOT NULL
@@ -696,18 +696,7 @@ CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_view_by_tenant_and_sea
     PRIMARY KEY (tenant_id, search_text, id, customer_id, entity_id)
     WITH CLUSTERING ORDER BY (search_text ASC, id DESC, customer_id DESC);
 
-CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_view_by_tenant_and_entity AS
-    SELECT *
-    from thingsboard.entity_views
-    WHERE tenant_id IS NOT NULL
-      AND customer_id IS NOT NULL
-      AND entity_id IS NOT NULL
-      AND search_text IS NOT NULL
-      AND id IS NOT NULL
-    PRIMARY KEY (tenant_id, entity_id, search_text, id, customer_id)
-    WITH CLUSTERING ORDER BY (entity_id ASC, search_text ASC, id DESC, customer_id DESC);
-
-CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_views_by_tenant_and_customer AS
+CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_view_by_tenant_and_customer AS
     SELECT *
     from thingsboard.entity_views
     WHERE tenant_id IS NOT NULL
@@ -717,14 +706,3 @@ CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_views_by_tenant_and_cu
       AND id IS NOT NULL
     PRIMARY KEY (tenant_id, customer_id, search_text, id, entity_id)
     WITH CLUSTERING ORDER BY (customer_id DESC, search_text ASC, id DESC);
-
-CREATE MATERIALIZED VIEW IF NOT EXISTS thingsboard.entity_views_by_tenant_and_customer_and_entity AS
-    SELECT *
-    from thingsboard.entity_views
-    WHERE tenant_id IS NOT NULL
-      AND customer_id IS NOT NULL
-      AND entity_id IS NOT NULL
-      AND search_text IS NOT NULL
-      AND id IS NOT NULL
-    PRIMARY KEY (tenant_id, customer_id, entity_id, search_text, id)
-    WITH CLUSTERING ORDER BY (customer_id DESC, entity_id ASC, search_text ASC, id DESC);
diff --git a/dao/src/test/resources/sql/drop-all-tables.sql b/dao/src/test/resources/sql/drop-all-tables.sql
index ebc04b3..b1fb72c 100644
--- a/dao/src/test/resources/sql/drop-all-tables.sql
+++ b/dao/src/test/resources/sql/drop-all-tables.sql
@@ -19,4 +19,4 @@ DROP TABLE IF EXISTS widget_type;
 DROP TABLE IF EXISTS widgets_bundle;
 DROP TABLE IF EXISTS rule_node;
 DROP TABLE IF EXISTS rule_chain;
-DROP TABLE IF EXISTS entity_views;
\ No newline at end of file
+DROP TABLE IF EXISTS entity_views;