Browse Source

Merge remote-tracking branch 'origin/delete_search_text_ce' into develop/3.5.2

pull/8640/head
Andrii Shvaika 3 years ago
parent
commit
d09dba8fcb
  1. 4
      application/src/main/java/org/thingsboard/server/service/install/SqlDatabaseUpgradeService.java
  2. 7
      common/data/src/main/java/org/thingsboard/server/common/data/BaseDataWithAdditionalInfo.java
  3. 2
      common/data/src/main/java/org/thingsboard/server/common/data/ContactBased.java
  4. 5
      common/data/src/main/java/org/thingsboard/server/common/data/Customer.java
  5. 7
      common/data/src/main/java/org/thingsboard/server/common/data/DashboardInfo.java
  6. 9
      common/data/src/main/java/org/thingsboard/server/common/data/DeviceProfile.java
  7. 7
      common/data/src/main/java/org/thingsboard/server/common/data/EntityView.java
  8. 7
      common/data/src/main/java/org/thingsboard/server/common/data/OtaPackageInfo.java
  9. 108
      common/data/src/main/java/org/thingsboard/server/common/data/SearchTextBasedWithAdditionalInfo.java
  10. 5
      common/data/src/main/java/org/thingsboard/server/common/data/Tenant.java
  11. 9
      common/data/src/main/java/org/thingsboard/server/common/data/TenantProfile.java
  12. 7
      common/data/src/main/java/org/thingsboard/server/common/data/User.java
  13. 10
      common/data/src/main/java/org/thingsboard/server/common/data/asset/Asset.java
  14. 9
      common/data/src/main/java/org/thingsboard/server/common/data/asset/AssetProfile.java
  15. 9
      common/data/src/main/java/org/thingsboard/server/common/data/edge/Edge.java
  16. 9
      common/data/src/main/java/org/thingsboard/server/common/data/oauth2/OAuth2ClientRegistrationTemplate.java
  17. 9
      common/data/src/main/java/org/thingsboard/server/common/data/oauth2/OAuth2Registration.java
  18. 9
      common/data/src/main/java/org/thingsboard/server/common/data/plugin/ComponentDescriptor.java
  19. 9
      common/data/src/main/java/org/thingsboard/server/common/data/queue/Queue.java
  20. 6
      common/data/src/main/java/org/thingsboard/server/common/data/relation/EntityRelation.java
  21. 11
      common/data/src/main/java/org/thingsboard/server/common/data/rule/RuleChain.java
  22. 11
      common/data/src/main/java/org/thingsboard/server/common/data/rule/RuleNode.java
  23. 4
      common/data/src/main/java/org/thingsboard/server/common/data/security/UserCredentials.java
  24. 4
      common/data/src/main/java/org/thingsboard/server/common/data/settings/UserSettings.java
  25. 9
      common/data/src/main/java/org/thingsboard/server/common/data/widget/WidgetsBundle.java
  26. 22
      dao/src/main/java/org/thingsboard/server/dao/model/sql/AbstractAssetEntity.java
  27. 22
      dao/src/main/java/org/thingsboard/server/dao/model/sql/AbstractEdgeEntity.java
  28. 19
      dao/src/main/java/org/thingsboard/server/dao/model/sql/AbstractEntityViewEntity.java
  29. 20
      dao/src/main/java/org/thingsboard/server/dao/model/sql/AbstractTenantEntity.java
  30. 20
      dao/src/main/java/org/thingsboard/server/dao/model/sql/AssetProfileEntity.java
  31. 21
      dao/src/main/java/org/thingsboard/server/dao/model/sql/ComponentDescriptorEntity.java
  32. 18
      dao/src/main/java/org/thingsboard/server/dao/model/sql/CustomerEntity.java
  33. 18
      dao/src/main/java/org/thingsboard/server/dao/model/sql/DashboardEntity.java
  34. 22
      dao/src/main/java/org/thingsboard/server/dao/model/sql/DashboardInfoEntity.java
  35. 20
      dao/src/main/java/org/thingsboard/server/dao/model/sql/DeviceProfileEntity.java
  36. 13
      dao/src/main/java/org/thingsboard/server/dao/model/sql/OtaPackageEntity.java
  37. 13
      dao/src/main/java/org/thingsboard/server/dao/model/sql/OtaPackageInfoEntity.java
  38. 17
      dao/src/main/java/org/thingsboard/server/dao/model/sql/RuleChainEntity.java
  39. 17
      dao/src/main/java/org/thingsboard/server/dao/model/sql/RuleNodeEntity.java
  40. 20
      dao/src/main/java/org/thingsboard/server/dao/model/sql/TenantProfileEntity.java
  41. 16
      dao/src/main/java/org/thingsboard/server/dao/model/sql/UserEntity.java
  42. 16
      dao/src/main/java/org/thingsboard/server/dao/model/sql/WidgetsBundleEntity.java
  43. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/asset/AssetProfileRepository.java
  44. 34
      dao/src/main/java/org/thingsboard/server/dao/sql/asset/AssetRepository.java
  45. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/asset/JpaAssetDao.java
  46. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/asset/JpaAssetProfileDao.java
  47. 1
      dao/src/main/java/org/thingsboard/server/dao/sql/component/AbstractComponentDescriptorInsertRepository.java
  48. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/component/ComponentDescriptorRepository.java
  49. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/component/JpaBaseComponentDescriptorDao.java
  50. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/component/SqlComponentDescriptorInsertRepository.java
  51. 2
      dao/src/main/java/org/thingsboard/server/dao/sql/customer/CustomerRepository.java
  52. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/customer/JpaCustomerDao.java
  53. 10
      dao/src/main/java/org/thingsboard/server/dao/sql/dashboard/DashboardInfoRepository.java
  54. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/dashboard/JpaDashboardDao.java
  55. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/dashboard/JpaDashboardInfoDao.java
  56. 6
      dao/src/main/java/org/thingsboard/server/dao/sql/device/DeviceProfileRepository.java
  57. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/device/JpaDeviceProfileDao.java
  58. 18
      dao/src/main/java/org/thingsboard/server/dao/sql/edge/EdgeRepository.java
  59. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/edge/JpaBaseEdgeEventDao.java
  60. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/edge/JpaEdgeDao.java
  61. 20
      dao/src/main/java/org/thingsboard/server/dao/sql/entityview/EntityViewRepository.java
  62. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/entityview/JpaEntityViewDao.java
  63. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/ota/JpaOtaPackageDao.java
  64. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/ota/JpaOtaPackageInfoDao.java
  65. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/ota/OtaPackageInfoRepository.java
  66. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/rule/JpaRuleChainDao.java
  67. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/rule/JpaRuleNodeDao.java
  68. 8
      dao/src/main/java/org/thingsboard/server/dao/sql/rule/RuleChainRepository.java
  69. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/tenant/JpaTenantDao.java
  70. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/tenant/JpaTenantProfileDao.java
  71. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/tenant/TenantProfileRepository.java
  72. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/tenant/TenantRepository.java
  73. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/user/JpaUserDao.java
  74. 6
      dao/src/main/java/org/thingsboard/server/dao/sql/user/UserRepository.java
  75. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/widget/JpaWidgetsBundleDao.java
  76. 6
      dao/src/main/java/org/thingsboard/server/dao/sql/widget/WidgetsBundleRepository.java
  77. 14
      dao/src/main/resources/sql/schema-entities.sql
  78. 6
      dao/src/test/java/org/thingsboard/server/dao/service/AssetServiceTest.java
  79. 6
      dao/src/test/java/org/thingsboard/server/dao/service/DeviceServiceTest.java
  80. 5
      dao/src/test/resources/sql/system-data.sql
  81. 1
      rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/util/EntitiesByNameAndTypeLoader.java

4
application/src/main/java/org/thingsboard/server/service/install/SqlDatabaseUpgradeService.java

@ -735,9 +735,9 @@ public class SqlDatabaseUpgradeService implements DatabaseEntitiesUpgradeService
loadSql(schemaUpdateFile, conn);
try {
String[] entityNames = new String[]{"device"};
String [] entityNames = new String [] {"device", "component_descriptor", "customer", "dashboard", "rule_chain", "rule_node", "asset_profile", "asset", "device_profile", "tb_user", "tenant_profile", "tenant", "widgets_bundle", "entity_view", "edge"};
for (String entityName : entityNames) {
conn.createStatement().execute("ALTER TABLE " + entityName + " DROP COLUMN search_text CASCADE");
conn.createStatement().execute("ALTER TABLE " + entityName + " DROP COLUMN " + SEARCH_TEXT + " CASCADE");
}
} catch (Exception e) {}

7
common/data/src/main/java/org/thingsboard/server/common/data/BaseDataWithAdditionalInfo.java

@ -25,6 +25,7 @@ import org.thingsboard.server.common.data.validation.NoXss;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.Objects;
import java.util.function.Consumer;
@ -70,7 +71,11 @@ public abstract class BaseDataWithAdditionalInfo<I extends UUIDBased> extends Ba
if (o == null || getClass() != o.getClass()) return false;
if (!super.equals(o)) return false;
BaseDataWithAdditionalInfo<?> that = (BaseDataWithAdditionalInfo<?>) o;
return Arrays.equals(additionalInfoBytes, that.additionalInfoBytes);
byte [] additionalInfoBytesForEquals = additionalInfoBytes == null || "null".equals(new String(additionalInfoBytes, StandardCharsets.UTF_8)) ?
null : additionalInfoBytes;
byte [] thatAdditionalInfoBytesForEquals = that.additionalInfoBytes == null || "null".equals(new String(that.additionalInfoBytes, StandardCharsets.UTF_8)) ?
null : that.additionalInfoBytes;
return Arrays.equals(additionalInfoBytesForEquals, thatAdditionalInfoBytesForEquals);
}
@Override

2
common/data/src/main/java/org/thingsboard/server/common/data/ContactBased.java

@ -21,7 +21,7 @@ import org.thingsboard.server.common.data.validation.Length;
import org.thingsboard.server.common.data.validation.NoXss;
@EqualsAndHashCode(callSuper = true)
public abstract class ContactBased<I extends UUIDBased> extends SearchTextBasedWithAdditionalInfo<I> implements HasEmail {
public abstract class ContactBased<I extends UUIDBased> extends BaseDataWithAdditionalInfo<I> implements HasEmail {
private static final long serialVersionUID = 5047448057830660988L;

5
common/data/src/main/java/org/thingsboard/server/common/data/Customer.java

@ -164,11 +164,6 @@ public class Customer extends ContactBased<CustomerId> implements HasTenantId, E
return title;
}
@Override
public String getSearchText() {
return getTitle();
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();

7
common/data/src/main/java/org/thingsboard/server/common/data/DashboardInfo.java

@ -30,7 +30,7 @@ import java.util.Objects;
import java.util.Set;
@ApiModel
public class DashboardInfo extends SearchTextBased<DashboardId> implements HasName, HasTenantId, HasTitle {
public class DashboardInfo extends BaseDataWithAdditionalInfo<DashboardId> implements HasName, HasTenantId, HasTitle {
private TenantId tenantId;
@NoXss
@ -186,11 +186,6 @@ public class DashboardInfo extends SearchTextBased<DashboardId> implements HasNa
return title;
}
@Override
public String getSearchText() {
return getTitle();
}
@Override
public int hashCode() {
final int prime = 31;

9
common/data/src/main/java/org/thingsboard/server/common/data/DeviceProfile.java

@ -36,14 +36,12 @@ import javax.validation.Valid;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import static org.thingsboard.server.common.data.SearchTextBasedWithAdditionalInfo.mapper;
@ApiModel
@Data
@ToString(exclude = {"image", "profileDataBytes"})
@EqualsAndHashCode(callSuper = true)
@Slf4j
public class DeviceProfile extends SearchTextBased<DeviceProfileId> implements HasName, HasTenantId, HasOtaPackage, HasRuleEngineProfile, ExportableEntity<DeviceProfileId> {
public class DeviceProfile extends BaseDataWithAdditionalInfo<DeviceProfileId> implements HasName, HasTenantId, HasOtaPackage, HasRuleEngineProfile, ExportableEntity<DeviceProfileId> {
private static final long serialVersionUID = 6998485460273302018L;
@ -139,11 +137,6 @@ public class DeviceProfile extends SearchTextBased<DeviceProfileId> implements H
return super.getCreatedTime();
}
@Override
public String getSearchText() {
return getName();
}
@ApiModelProperty(position = 5, value = "Used to mark the default profile. Default profile is used when the device profile is not specified during device creation.")
public boolean isDefault() {
return isDefault;

7
common/data/src/main/java/org/thingsboard/server/common/data/EntityView.java

@ -35,7 +35,7 @@ import org.thingsboard.server.common.data.validation.NoXss;
@Data
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class EntityView extends SearchTextBasedWithAdditionalInfo<EntityViewId>
public class EntityView extends BaseDataWithAdditionalInfo<EntityViewId>
implements HasName, HasTenantId, HasCustomerId, ExportableEntity<EntityViewId> {
private static final long serialVersionUID = 5582010124562018986L;
@ -82,11 +82,6 @@ public class EntityView extends SearchTextBasedWithAdditionalInfo<EntityViewId>
this.externalId = entityView.getExternalId();
}
@Override
public String getSearchText() {
return getName() /*What the ...*/;
}
@ApiModelProperty(position = 4, value = "JSON object with Customer Id. Use 'assignEntityViewToCustomer' to change the Customer Id.", accessMode = ApiModelProperty.AccessMode.READ_ONLY)
@Override
public CustomerId getCustomerId() {

7
common/data/src/main/java/org/thingsboard/server/common/data/OtaPackageInfo.java

@ -34,7 +34,7 @@ import org.thingsboard.server.common.data.validation.NoXss;
@Slf4j
@Data
@EqualsAndHashCode(callSuper = true)
public class OtaPackageInfo extends SearchTextBasedWithAdditionalInfo<OtaPackageId> implements HasName, HasTenantId, HasTitle {
public class OtaPackageInfo extends BaseDataWithAdditionalInfo<OtaPackageId> implements HasName, HasTenantId, HasTitle {
private static final long serialVersionUID = 3168391583570815419L;
@ -118,11 +118,6 @@ public class OtaPackageInfo extends SearchTextBasedWithAdditionalInfo<OtaPackage
return super.getCreatedTime();
}
@Override
public String getSearchText() {
return title;
}
@Override
@JsonIgnore
public String getName() {

108
common/data/src/main/java/org/thingsboard/server/common/data/SearchTextBasedWithAdditionalInfo.java

@ -1,108 +0,0 @@
/**
* Copyright © 2016-2023 The Thingsboard Authors
*
* 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
*
* 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.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.thingsboard.server.common.data;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.thingsboard.server.common.data.id.UUIDBased;
import org.thingsboard.server.common.data.validation.NoXss;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
import java.util.function.Consumer;
import java.util.function.Supplier;
/**
* Created by ashvayka on 19.02.18.
*/
@Slf4j
public abstract class SearchTextBasedWithAdditionalInfo<I extends UUIDBased> extends SearchTextBased<I> implements HasAdditionalInfo {
public static final ObjectMapper mapper = new ObjectMapper();
@NoXss
private transient JsonNode additionalInfo;
@JsonIgnore
private byte[] additionalInfoBytes;
public SearchTextBasedWithAdditionalInfo() {
super();
}
public SearchTextBasedWithAdditionalInfo(I id) {
super(id);
}
public SearchTextBasedWithAdditionalInfo(SearchTextBasedWithAdditionalInfo<I> searchTextBased) {
super(searchTextBased);
setAdditionalInfo(searchTextBased.getAdditionalInfo());
}
@Override
public JsonNode getAdditionalInfo() {
return getJson(() -> additionalInfo, () -> additionalInfoBytes);
}
public void setAdditionalInfo(JsonNode addInfo) {
setJson(addInfo, json -> this.additionalInfo = json, bytes -> this.additionalInfoBytes = bytes);
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
if (!super.equals(o)) return false;
SearchTextBasedWithAdditionalInfo<?> that = (SearchTextBasedWithAdditionalInfo<?>) o;
return Arrays.equals(additionalInfoBytes, that.additionalInfoBytes);
}
@Override
public int hashCode() {
return Objects.hash(super.hashCode(), additionalInfoBytes);
}
public static JsonNode getJson(Supplier<JsonNode> jsonData, Supplier<byte[]> binaryData) {
JsonNode json = jsonData.get();
if (json != null) {
return json;
} else {
byte[] data = binaryData.get();
if (data != null) {
try {
return mapper.readTree(new ByteArrayInputStream(data));
} catch (IOException e) {
log.warn("Can't deserialize json data: ", e);
return null;
}
} else {
return null;
}
}
}
public static void setJson(JsonNode json, Consumer<JsonNode> jsonConsumer, Consumer<byte[]> bytesConsumer) {
jsonConsumer.accept(json);
try {
bytesConsumer.accept(mapper.writeValueAsBytes(json));
} catch (JsonProcessingException e) {
log.warn("Can't serialize json data: ", e);
}
}
}

5
common/data/src/main/java/org/thingsboard/server/common/data/Tenant.java

@ -96,11 +96,6 @@ public class Tenant extends ContactBased<TenantId> implements HasTenantId, HasTi
this.tenantProfileId = tenantProfileId;
}
@Override
public String getSearchText() {
return getTitle();
}
@ApiModelProperty(position = 1, value = "JSON object with the tenant Id. " +
"Specify this field to update the tenant. " +
"Referencing non-existing tenant Id will cause error. " +

9
common/data/src/main/java/org/thingsboard/server/common/data/TenantProfile.java

@ -33,14 +33,12 @@ import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.util.Optional;
import static org.thingsboard.server.common.data.SearchTextBasedWithAdditionalInfo.mapper;
@ApiModel
@Data
@ToString(exclude = {"profileDataBytes"})
@EqualsAndHashCode(callSuper = true)
@Slf4j
public class TenantProfile extends SearchTextBased<TenantProfileId> implements HasName {
public class TenantProfile extends BaseDataWithAdditionalInfo<TenantProfileId> implements HasName {
private static final long serialVersionUID = 3021989561267192281L;
@ -93,11 +91,6 @@ public class TenantProfile extends SearchTextBased<TenantProfileId> implements H
return super.getCreatedTime();
}
@Override
public String getSearchText() {
return getName();
}
@Override
public String getName() {
return name;

7
common/data/src/main/java/org/thingsboard/server/common/data/User.java

@ -34,7 +34,7 @@ import static org.apache.commons.lang3.StringUtils.isNotEmpty;
@ApiModel
@EqualsAndHashCode(callSuper = true)
public class User extends SearchTextBasedWithAdditionalInfo<UserId> implements HasName, HasTenantId, HasCustomerId, NotificationRecipient {
public class User extends BaseDataWithAdditionalInfo<UserId> implements HasName, HasTenantId, HasCustomerId, NotificationRecipient {
private static final long serialVersionUID = 8250339805336035966L;
@ -162,11 +162,6 @@ public class User extends SearchTextBasedWithAdditionalInfo<UserId> implements H
return super.getAdditionalInfo();
}
@Override
public String getSearchText() {
return getEmail();
}
@JsonIgnore
public String getTitle() {
return getTitle(email, firstName, lastName);

10
common/data/src/main/java/org/thingsboard/server/common/data/asset/Asset.java

@ -21,11 +21,11 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import org.thingsboard.server.common.data.BaseDataWithAdditionalInfo;
import org.thingsboard.server.common.data.ExportableEntity;
import org.thingsboard.server.common.data.HasCustomerId;
import org.thingsboard.server.common.data.HasLabel;
import org.thingsboard.server.common.data.HasTenantId;
import org.thingsboard.server.common.data.SearchTextBasedWithAdditionalInfo;
import org.thingsboard.server.common.data.id.AssetId;
import org.thingsboard.server.common.data.id.AssetProfileId;
import org.thingsboard.server.common.data.id.CustomerId;
@ -37,7 +37,7 @@ import java.util.Optional;
@ApiModel
@EqualsAndHashCode(callSuper = true)
public class Asset extends SearchTextBasedWithAdditionalInfo<AssetId> implements HasLabel, HasTenantId, HasCustomerId, ExportableEntity<AssetId> {
public class Asset extends BaseDataWithAdditionalInfo<AssetId> implements HasLabel, HasTenantId, HasCustomerId, ExportableEntity<AssetId> {
private static final long serialVersionUID = 2807343040519543363L;
@ -158,12 +158,6 @@ public class Asset extends SearchTextBasedWithAdditionalInfo<AssetId> implements
this.assetProfileId = assetProfileId;
}
@Override
public String getSearchText() {
return getName();
}
@ApiModelProperty(position = 9, value = "Additional parameters of the asset", dataType = "com.fasterxml.jackson.databind.JsonNode")
@Override
public JsonNode getAdditionalInfo() {

9
common/data/src/main/java/org/thingsboard/server/common/data/asset/AssetProfile.java

@ -21,11 +21,11 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.extern.slf4j.Slf4j;
import org.thingsboard.server.common.data.BaseDataWithAdditionalInfo;
import org.thingsboard.server.common.data.ExportableEntity;
import org.thingsboard.server.common.data.HasName;
import org.thingsboard.server.common.data.HasRuleEngineProfile;
import org.thingsboard.server.common.data.HasTenantId;
import org.thingsboard.server.common.data.SearchTextBased;
import org.thingsboard.server.common.data.id.AssetProfileId;
import org.thingsboard.server.common.data.id.DashboardId;
import org.thingsboard.server.common.data.id.RuleChainId;
@ -38,7 +38,7 @@ import org.thingsboard.server.common.data.validation.NoXss;
@ToString(exclude = {"image"})
@EqualsAndHashCode(callSuper = true)
@Slf4j
public class AssetProfile extends SearchTextBased<AssetProfileId> implements HasName, HasTenantId, HasRuleEngineProfile, ExportableEntity<AssetProfileId> {
public class AssetProfile extends BaseDataWithAdditionalInfo<AssetProfileId> implements HasName, HasTenantId, HasRuleEngineProfile, ExportableEntity<AssetProfileId> {
private static final long serialVersionUID = 6998485460273302018L;
@ -112,11 +112,6 @@ public class AssetProfile extends SearchTextBased<AssetProfileId> implements Has
return super.getCreatedTime();
}
@Override
public String getSearchText() {
return getName();
}
@ApiModelProperty(position = 5, value = "Used to mark the default profile. Default profile is used when the asset profile is not specified during asset creation.")
public boolean isDefault(){
return isDefault;

9
common/data/src/main/java/org/thingsboard/server/common/data/edge/Edge.java

@ -20,10 +20,10 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.Setter;
import lombok.ToString;
import org.thingsboard.server.common.data.BaseDataWithAdditionalInfo;
import org.thingsboard.server.common.data.HasCustomerId;
import org.thingsboard.server.common.data.HasLabel;
import org.thingsboard.server.common.data.HasTenantId;
import org.thingsboard.server.common.data.SearchTextBasedWithAdditionalInfo;
import org.thingsboard.server.common.data.id.CustomerId;
import org.thingsboard.server.common.data.id.EdgeId;
import org.thingsboard.server.common.data.id.RuleChainId;
@ -35,7 +35,7 @@ import org.thingsboard.server.common.data.validation.NoXss;
@EqualsAndHashCode(callSuper = true)
@ToString
@Setter
public class Edge extends SearchTextBasedWithAdditionalInfo<EdgeId> implements HasLabel, HasTenantId, HasCustomerId {
public class Edge extends BaseDataWithAdditionalInfo<EdgeId> implements HasLabel, HasTenantId, HasCustomerId {
private static final long serialVersionUID = 4934987555236873728L;
@ -137,11 +137,6 @@ public class Edge extends SearchTextBasedWithAdditionalInfo<EdgeId> implements H
return this.label;
}
@Override
public String getSearchText() {
return getName();
}
@ApiModelProperty(position = 9, required = true, value = "Edge routing key ('username') to authorize on cloud")
public String getRoutingKey() {
return this.routingKey;

9
common/data/src/main/java/org/thingsboard/server/common/data/oauth2/OAuth2ClientRegistrationTemplate.java

@ -21,8 +21,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.thingsboard.server.common.data.BaseDataWithAdditionalInfo;
import org.thingsboard.server.common.data.HasName;
import org.thingsboard.server.common.data.SearchTextBasedWithAdditionalInfo;
import org.thingsboard.server.common.data.id.OAuth2ClientRegistrationTemplateId;
import org.thingsboard.server.common.data.validation.Length;
@ -34,7 +34,7 @@ import java.util.List;
@ToString
@NoArgsConstructor
@ApiModel
public class OAuth2ClientRegistrationTemplate extends SearchTextBasedWithAdditionalInfo<OAuth2ClientRegistrationTemplateId> implements HasName {
public class OAuth2ClientRegistrationTemplate extends BaseDataWithAdditionalInfo<OAuth2ClientRegistrationTemplateId> implements HasName {
@Length(fieldName = "providerId")
@ApiModelProperty(value = "OAuth2 provider identifier (e.g. its name)", required = true)
@ -95,9 +95,4 @@ public class OAuth2ClientRegistrationTemplate extends SearchTextBasedWithAdditio
public String getName() {
return providerId;
}
@Override
public String getSearchText() {
return getName();
}
}

9
common/data/src/main/java/org/thingsboard/server/common/data/oauth2/OAuth2Registration.java

@ -20,8 +20,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.thingsboard.server.common.data.BaseDataWithAdditionalInfo;
import org.thingsboard.server.common.data.HasName;
import org.thingsboard.server.common.data.SearchTextBasedWithAdditionalInfo;
import org.thingsboard.server.common.data.id.OAuth2ParamsId;
import org.thingsboard.server.common.data.id.OAuth2RegistrationId;
@ -31,7 +31,7 @@ import java.util.List;
@Data
@ToString(exclude = {"clientSecret"})
@NoArgsConstructor
public class OAuth2Registration extends SearchTextBasedWithAdditionalInfo<OAuth2RegistrationId> implements HasName {
public class OAuth2Registration extends BaseDataWithAdditionalInfo<OAuth2RegistrationId> implements HasName {
private OAuth2ParamsId oauth2ParamsId;
private OAuth2MapperConfig mapperConfig;
@ -71,9 +71,4 @@ public class OAuth2Registration extends SearchTextBasedWithAdditionalInfo<OAuth2
public String getName() {
return loginButtonLabel;
}
@Override
public String getSearchText() {
return getName();
}
}

9
common/data/src/main/java/org/thingsboard/server/common/data/plugin/ComponentDescriptor.java

@ -21,7 +21,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.thingsboard.server.common.data.SearchTextBased;
import org.thingsboard.server.common.data.BaseDataWithAdditionalInfo;
import org.thingsboard.server.common.data.id.ComponentDescriptorId;
import org.thingsboard.server.common.data.validation.Length;
@ -30,7 +30,7 @@ import org.thingsboard.server.common.data.validation.Length;
*/
@ApiModel
@ToString
public class ComponentDescriptor extends SearchTextBased<ComponentDescriptorId> {
public class ComponentDescriptor extends BaseDataWithAdditionalInfo<ComponentDescriptorId> {
private static final long serialVersionUID = 1L;
@ -84,11 +84,6 @@ public class ComponentDescriptor extends SearchTextBased<ComponentDescriptorId>
return super.getCreatedTime();
}
@Override
public String getSearchText() {
return name;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;

9
common/data/src/main/java/org/thingsboard/server/common/data/queue/Queue.java

@ -16,9 +16,9 @@
package org.thingsboard.server.common.data.queue;
import lombok.Data;
import org.thingsboard.server.common.data.BaseDataWithAdditionalInfo;
import org.thingsboard.server.common.data.HasName;
import org.thingsboard.server.common.data.HasTenantId;
import org.thingsboard.server.common.data.SearchTextBasedWithAdditionalInfo;
import org.thingsboard.server.common.data.id.QueueId;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.tenant.profile.TenantProfileQueueConfiguration;
@ -26,7 +26,7 @@ import org.thingsboard.server.common.data.validation.Length;
import org.thingsboard.server.common.data.validation.NoXss;
@Data
public class Queue extends SearchTextBasedWithAdditionalInfo<QueueId> implements HasName, HasTenantId {
public class Queue extends BaseDataWithAdditionalInfo<QueueId> implements HasName, HasTenantId {
private TenantId tenantId;
@NoXss
@Length(fieldName = "name")
@ -60,9 +60,4 @@ public class Queue extends SearchTextBasedWithAdditionalInfo<QueueId> implements
this.processingStrategy = queueConfiguration.getProcessingStrategy();
setAdditionalInfo(queueConfiguration.getAdditionalInfo());
}
@Override
public String getSearchText() {
return getName();
}
}

6
common/data/src/main/java/org/thingsboard/server/common/data/relation/EntityRelation.java

@ -20,7 +20,7 @@ import com.fasterxml.jackson.databind.JsonNode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.extern.slf4j.Slf4j;
import org.thingsboard.server.common.data.SearchTextBasedWithAdditionalInfo;
import org.thingsboard.server.common.data.BaseDataWithAdditionalInfo;
import org.thingsboard.server.common.data.id.EntityId;
import org.thingsboard.server.common.data.validation.Length;
@ -111,11 +111,11 @@ public class EntityRelation implements Serializable {
@ApiModelProperty(position = 5, value = "Additional parameters of the relation", dataType = "com.fasterxml.jackson.databind.JsonNode")
public JsonNode getAdditionalInfo() {
return SearchTextBasedWithAdditionalInfo.getJson(() -> additionalInfo, () -> additionalInfoBytes);
return BaseDataWithAdditionalInfo.getJson(() -> additionalInfo, () -> additionalInfoBytes);
}
public void setAdditionalInfo(JsonNode addInfo) {
SearchTextBasedWithAdditionalInfo.setJson(addInfo, json -> this.additionalInfo = json, bytes -> this.additionalInfoBytes = bytes);
BaseDataWithAdditionalInfo.setJson(addInfo, json -> this.additionalInfo = json, bytes -> this.additionalInfoBytes = bytes);
}
@Override

11
common/data/src/main/java/org/thingsboard/server/common/data/rule/RuleChain.java

@ -22,10 +22,10 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
import org.thingsboard.server.common.data.BaseDataWithAdditionalInfo;
import org.thingsboard.server.common.data.ExportableEntity;
import org.thingsboard.server.common.data.HasName;
import org.thingsboard.server.common.data.HasTenantId;
import org.thingsboard.server.common.data.SearchTextBasedWithAdditionalInfo;
import org.thingsboard.server.common.data.id.RuleChainId;
import org.thingsboard.server.common.data.id.RuleNodeId;
import org.thingsboard.server.common.data.id.TenantId;
@ -36,7 +36,7 @@ import org.thingsboard.server.common.data.validation.NoXss;
@Data
@EqualsAndHashCode(callSuper = true)
@Slf4j
public class RuleChain extends SearchTextBasedWithAdditionalInfo<RuleChainId> implements HasName, HasTenantId, ExportableEntity<RuleChainId> {
public class RuleChain extends BaseDataWithAdditionalInfo<RuleChainId> implements HasName, HasTenantId, ExportableEntity<RuleChainId> {
private static final long serialVersionUID = -5656679015121935465L;
@ -81,11 +81,6 @@ public class RuleChain extends SearchTextBasedWithAdditionalInfo<RuleChainId> im
this.setExternalId(ruleChain.getExternalId());
}
@Override
public String getSearchText() {
return getName();
}
@Override
public String getName() {
return name;
@ -107,7 +102,7 @@ public class RuleChain extends SearchTextBasedWithAdditionalInfo<RuleChainId> im
}
public JsonNode getConfiguration() {
return SearchTextBasedWithAdditionalInfo.getJson(() -> configuration, () -> configurationBytes);
return BaseDataWithAdditionalInfo.getJson(() -> configuration, () -> configurationBytes);
}
public void setConfiguration(JsonNode data) {

11
common/data/src/main/java/org/thingsboard/server/common/data/rule/RuleNode.java

@ -22,8 +22,8 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
import org.thingsboard.server.common.data.BaseDataWithAdditionalInfo;
import org.thingsboard.server.common.data.HasName;
import org.thingsboard.server.common.data.SearchTextBasedWithAdditionalInfo;
import org.thingsboard.server.common.data.id.RuleChainId;
import org.thingsboard.server.common.data.id.RuleNodeId;
import org.thingsboard.server.common.data.validation.Length;
@ -33,7 +33,7 @@ import org.thingsboard.server.common.data.validation.NoXss;
@Data
@EqualsAndHashCode(callSuper = true)
@Slf4j
public class RuleNode extends SearchTextBasedWithAdditionalInfo<RuleNodeId> implements HasName {
public class RuleNode extends BaseDataWithAdditionalInfo<RuleNodeId> implements HasName {
private static final long serialVersionUID = -5656679015121235465L;
@ -76,18 +76,13 @@ public class RuleNode extends SearchTextBasedWithAdditionalInfo<RuleNodeId> impl
this.externalId = ruleNode.getExternalId();
}
@Override
public String getSearchText() {
return getName();
}
@Override
public String getName() {
return name;
}
public JsonNode getConfiguration() {
return SearchTextBasedWithAdditionalInfo.getJson(() -> configuration, () -> configurationBytes);
return BaseDataWithAdditionalInfo.getJson(() -> configuration, () -> configurationBytes);
}
public void setConfiguration(JsonNode data) {

4
common/data/src/main/java/org/thingsboard/server/common/data/security/UserCredentials.java

@ -23,8 +23,8 @@ import org.thingsboard.server.common.data.id.UserCredentialsId;
import org.thingsboard.server.common.data.id.UserId;
import org.thingsboard.server.common.data.validation.NoXss;
import static org.thingsboard.server.common.data.SearchTextBasedWithAdditionalInfo.getJson;
import static org.thingsboard.server.common.data.SearchTextBasedWithAdditionalInfo.setJson;
import static org.thingsboard.server.common.data.BaseDataWithAdditionalInfo.getJson;
import static org.thingsboard.server.common.data.BaseDataWithAdditionalInfo.setJson;
@EqualsAndHashCode(callSuper = true)
public class UserCredentials extends BaseData<UserCredentialsId> {

4
common/data/src/main/java/org/thingsboard/server/common/data/settings/UserSettings.java

@ -26,8 +26,8 @@ import org.thingsboard.server.common.data.validation.NoXss;
import java.io.Serializable;
import static org.thingsboard.server.common.data.SearchTextBasedWithAdditionalInfo.getJson;
import static org.thingsboard.server.common.data.SearchTextBasedWithAdditionalInfo.setJson;
import static org.thingsboard.server.common.data.BaseDataWithAdditionalInfo.getJson;
import static org.thingsboard.server.common.data.BaseDataWithAdditionalInfo.setJson;
@ApiModel
@Data

9
common/data/src/main/java/org/thingsboard/server/common/data/widget/WidgetsBundle.java

@ -21,11 +21,11 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import org.thingsboard.server.common.data.BaseDataWithAdditionalInfo;
import org.thingsboard.server.common.data.ExportableEntity;
import org.thingsboard.server.common.data.HasName;
import org.thingsboard.server.common.data.HasTenantId;
import org.thingsboard.server.common.data.HasTitle;
import org.thingsboard.server.common.data.SearchTextBased;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.id.WidgetsBundleId;
import org.thingsboard.server.common.data.validation.Length;
@ -33,7 +33,7 @@ import org.thingsboard.server.common.data.validation.NoXss;
@ApiModel
@EqualsAndHashCode(callSuper = true)
public class WidgetsBundle extends SearchTextBased<WidgetsBundleId> implements HasName, HasTenantId, ExportableEntity<WidgetsBundleId>, HasTitle {
public class WidgetsBundle extends BaseDataWithAdditionalInfo<WidgetsBundleId> implements HasName, HasTenantId, ExportableEntity<WidgetsBundleId>, HasTitle {
private static final long serialVersionUID = -7627368878362410489L;
@ -106,11 +106,6 @@ public class WidgetsBundle extends SearchTextBased<WidgetsBundleId> implements H
return super.getCreatedTime();
}
@Override
public String getSearchText() {
return getTitle();
}
@ApiModelProperty(position = 3, value = "Same as title of the Widget Bundle. Read-only field. Update the 'title' to change the 'name' of the Widget Bundle.", accessMode = ApiModelProperty.AccessMode.READ_ONLY)
@Override
@JsonProperty(access = JsonProperty.Access.READ_ONLY)

22
dao/src/main/java/org/thingsboard/server/dao/model/sql/AbstractAssetEntity.java

@ -27,7 +27,6 @@ import org.thingsboard.server.common.data.id.CustomerId;
import org.thingsboard.server.common.data.id.TenantId;
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.Column;
@ -40,13 +39,12 @@ import static org.thingsboard.server.dao.model.ModelConstants.ASSET_NAME_PROPERT
import static org.thingsboard.server.dao.model.ModelConstants.ASSET_TENANT_ID_PROPERTY;
import static org.thingsboard.server.dao.model.ModelConstants.ASSET_TYPE_PROPERTY;
import static org.thingsboard.server.dao.model.ModelConstants.EXTERNAL_ID_PROPERTY;
import static org.thingsboard.server.dao.model.ModelConstants.SEARCH_TEXT_PROPERTY;
@Data
@EqualsAndHashCode(callSuper = true)
@TypeDef(name = "json", typeClass = JsonStringType.class)
@MappedSuperclass
public abstract class AbstractAssetEntity<T extends Asset> extends BaseSqlEntity<T> implements SearchTextEntity<T> {
public abstract class AbstractAssetEntity<T extends Asset> extends BaseSqlEntity<T> {
@Column(name = ASSET_TENANT_ID_PROPERTY)
private UUID tenantId;
@ -63,9 +61,6 @@ public abstract class AbstractAssetEntity<T extends Asset> extends BaseSqlEntity
@Column(name = ASSET_LABEL_PROPERTY)
private String label;
@Column(name = SEARCH_TEXT_PROPERTY)
private String searchText;
@Type(type = "json")
@Column(name = ModelConstants.ASSET_ADDITIONAL_INFO_PROPERTY)
private JsonNode additionalInfo;
@ -112,25 +107,10 @@ public abstract class AbstractAssetEntity<T extends Asset> extends BaseSqlEntity
this.type = assetEntity.getType();
this.name = assetEntity.getName();
this.label = assetEntity.getLabel();
this.searchText = assetEntity.getSearchText();
this.additionalInfo = assetEntity.getAdditionalInfo();
this.externalId = assetEntity.getExternalId();
}
@Override
public String getSearchTextSource() {
return name;
}
@Override
public void setSearchText(String searchText) {
this.searchText = searchText;
}
public String getSearchText() {
return searchText;
}
protected Asset toAsset() {
Asset asset = new Asset(new AssetId(id));
asset.setCreatedTime(createdTime);

22
dao/src/main/java/org/thingsboard/server/dao/model/sql/AbstractEdgeEntity.java

@ -27,7 +27,6 @@ import org.thingsboard.server.common.data.id.RuleChainId;
import org.thingsboard.server.common.data.id.TenantId;
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.Column;
@ -42,13 +41,12 @@ import static org.thingsboard.server.dao.model.ModelConstants.EDGE_ROUTING_KEY_P
import static org.thingsboard.server.dao.model.ModelConstants.EDGE_SECRET_PROPERTY;
import static org.thingsboard.server.dao.model.ModelConstants.EDGE_TENANT_ID_PROPERTY;
import static org.thingsboard.server.dao.model.ModelConstants.EDGE_TYPE_PROPERTY;
import static org.thingsboard.server.dao.model.ModelConstants.SEARCH_TEXT_PROPERTY;
@Data
@EqualsAndHashCode(callSuper = true)
@TypeDef(name = "json", typeClass = JsonStringType.class)
@MappedSuperclass
public abstract class AbstractEdgeEntity<T extends Edge> extends BaseSqlEntity<T> implements SearchTextEntity<T> {
public abstract class AbstractEdgeEntity<T extends Edge> extends BaseSqlEntity<T> {
@Column(name = EDGE_TENANT_ID_PROPERTY, columnDefinition = "uuid")
private UUID tenantId;
@ -68,9 +66,6 @@ public abstract class AbstractEdgeEntity<T extends Edge> extends BaseSqlEntity<T
@Column(name = EDGE_LABEL_PROPERTY)
private String label;
@Column(name = SEARCH_TEXT_PROPERTY)
private String searchText;
@Column(name = EDGE_ROUTING_KEY_PROPERTY)
private String routingKey;
@ -116,26 +111,11 @@ public abstract class AbstractEdgeEntity<T extends Edge> extends BaseSqlEntity<T
this.type = edgeEntity.getType();
this.name = edgeEntity.getName();
this.label = edgeEntity.getLabel();
this.searchText = edgeEntity.getSearchText();
this.routingKey = edgeEntity.getRoutingKey();
this.secret = edgeEntity.getSecret();
this.additionalInfo = edgeEntity.getAdditionalInfo();
}
public String getSearchText() {
return searchText;
}
@Override
public String getSearchTextSource() {
return name;
}
@Override
public void setSearchText(String searchText) {
this.searchText = searchText;
}
protected Edge toEdge() {
Edge edge = new Edge(new EdgeId(getUuid()));
edge.setCreatedTime(createdTime);

19
dao/src/main/java/org/thingsboard/server/dao/model/sql/AbstractEntityViewEntity.java

@ -31,14 +31,12 @@ 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.Column;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.MappedSuperclass;
import java.io.IOException;
import java.util.UUID;
import static org.thingsboard.server.dao.model.ModelConstants.ENTITY_TYPE_PROPERTY;
@ -52,7 +50,7 @@ import static org.thingsboard.server.dao.model.ModelConstants.ENTITY_TYPE_PROPER
@TypeDef(name = "json", typeClass = JsonStringType.class)
@MappedSuperclass
@Slf4j
public abstract class AbstractEntityViewEntity<T extends EntityView> extends BaseSqlEntity<T> implements SearchTextEntity<T> {
public abstract class AbstractEntityViewEntity<T extends EntityView> extends BaseSqlEntity<T> {
@Column(name = ModelConstants.ENTITY_VIEW_ENTITY_ID_PROPERTY)
private UUID entityId;
@ -82,9 +80,6 @@ public abstract class AbstractEntityViewEntity<T extends EntityView> extends Bas
@Column(name = ModelConstants.ENTITY_VIEW_END_TS_PROPERTY)
private long endTs;
@Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
private String searchText;
@Type(type = "json")
@Column(name = ModelConstants.ENTITY_VIEW_ADDITIONAL_INFO_PROPERTY)
private JsonNode additionalInfo;
@ -120,7 +115,6 @@ public abstract class AbstractEntityViewEntity<T extends EntityView> extends Bas
}
this.startTs = entityView.getStartTimeMs();
this.endTs = entityView.getEndTimeMs();
this.searchText = entityView.getSearchText();
this.additionalInfo = entityView.getAdditionalInfo();
if (entityView.getExternalId() != null) {
this.externalId = entityView.getExternalId().getId();
@ -139,21 +133,10 @@ public abstract class AbstractEntityViewEntity<T extends EntityView> extends Bas
this.keys = entityViewEntity.getKeys();
this.startTs = entityViewEntity.getStartTs();
this.endTs = entityViewEntity.getEndTs();
this.searchText = entityViewEntity.getSearchText();
this.additionalInfo = entityViewEntity.getAdditionalInfo();
this.externalId = entityViewEntity.getExternalId();
}
@Override
public String getSearchTextSource() {
return name;
}
@Override
public void setSearchText(String searchText) {
this.searchText = searchText;
}
protected EntityView toEntityView() {
EntityView entityView = new EntityView(new EntityViewId(getUuid()));
entityView.setCreatedTime(createdTime);

20
dao/src/main/java/org/thingsboard/server/dao/model/sql/AbstractTenantEntity.java

@ -25,7 +25,6 @@ import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.id.TenantProfileId;
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.Column;
@ -36,14 +35,11 @@ import java.util.UUID;
@EqualsAndHashCode(callSuper = true)
@TypeDef(name = "json", typeClass = JsonStringType.class)
@MappedSuperclass
public abstract class AbstractTenantEntity<T extends Tenant> extends BaseSqlEntity<T> implements SearchTextEntity<T> {
public abstract class AbstractTenantEntity<T extends Tenant> extends BaseSqlEntity<T> {
@Column(name = ModelConstants.TENANT_TITLE_PROPERTY)
private String title;
@Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
private String searchText;
@Column(name = ModelConstants.TENANT_REGION_PROPERTY)
private String region;
@ -120,20 +116,6 @@ public abstract class AbstractTenantEntity<T extends Tenant> extends BaseSqlEnti
this.tenantProfileId = tenantEntity.getTenantProfileId();
}
@Override
public String getSearchTextSource() {
return title;
}
@Override
public void setSearchText(String searchText) {
this.searchText = searchText;
}
public String getSearchText() {
return searchText;
}
protected Tenant toTenant() {
Tenant tenant = new Tenant(TenantId.fromUUID(this.getUuid()));
tenant.setCreatedTime(createdTime);

20
dao/src/main/java/org/thingsboard/server/dao/model/sql/AssetProfileEntity.java

@ -24,7 +24,6 @@ import org.thingsboard.server.common.data.id.RuleChainId;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.dao.model.BaseSqlEntity;
import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.dao.model.SearchTextEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
@ -35,7 +34,7 @@ import java.util.UUID;
@EqualsAndHashCode(callSuper = true)
@Entity
@Table(name = ModelConstants.ASSET_PROFILE_TABLE_NAME)
public final class AssetProfileEntity extends BaseSqlEntity<AssetProfile> implements SearchTextEntity<AssetProfile> {
public final class AssetProfileEntity extends BaseSqlEntity<AssetProfile> {
@Column(name = ModelConstants.ASSET_PROFILE_TENANT_ID_PROPERTY)
private UUID tenantId;
@ -49,9 +48,6 @@ public final class AssetProfileEntity extends BaseSqlEntity<AssetProfile> implem
@Column(name = ModelConstants.ASSET_PROFILE_DESCRIPTION_PROPERTY)
private String description;
@Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
private String searchText;
@Column(name = ModelConstants.ASSET_PROFILE_IS_DEFAULT_PROPERTY)
private boolean isDefault;
@ -101,20 +97,6 @@ public final class AssetProfileEntity extends BaseSqlEntity<AssetProfile> implem
}
}
@Override
public String getSearchTextSource() {
return name;
}
@Override
public void setSearchText(String searchText) {
this.searchText = searchText;
}
public String getSearchText() {
return searchText;
}
@Override
public AssetProfile toData() {
AssetProfile assetProfile = new AssetProfile(new AssetProfileId(this.getUuid()));

21
dao/src/main/java/org/thingsboard/server/dao/model/sql/ComponentDescriptorEntity.java

@ -27,7 +27,6 @@ import org.thingsboard.server.common.data.plugin.ComponentScope;
import org.thingsboard.server.common.data.plugin.ComponentType;
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.Column;
@ -41,7 +40,7 @@ import javax.persistence.Table;
@Entity
@TypeDef(name = "json", typeClass = JsonStringType.class)
@Table(name = ModelConstants.COMPONENT_DESCRIPTOR_TABLE_NAME)
public class ComponentDescriptorEntity extends BaseSqlEntity<ComponentDescriptor> implements SearchTextEntity<ComponentDescriptor> {
public class ComponentDescriptorEntity extends BaseSqlEntity<ComponentDescriptor> {
@Enumerated(EnumType.STRING)
@Column(name = ModelConstants.COMPONENT_DESCRIPTOR_TYPE_PROPERTY)
@ -68,9 +67,6 @@ public class ComponentDescriptorEntity extends BaseSqlEntity<ComponentDescriptor
@Column(name = ModelConstants.COMPONENT_DESCRIPTOR_ACTIONS_PROPERTY)
private String actions;
@Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
private String searchText;
public ComponentDescriptorEntity() {
}
@ -86,7 +82,6 @@ public class ComponentDescriptorEntity extends BaseSqlEntity<ComponentDescriptor
this.name = component.getName();
this.clazz = component.getClazz();
this.configurationDescriptor = component.getConfigurationDescriptor();
this.searchText = component.getName();
}
@Override
@ -102,18 +97,4 @@ public class ComponentDescriptorEntity extends BaseSqlEntity<ComponentDescriptor
data.setConfigurationDescriptor(configurationDescriptor);
return data;
}
public String getSearchText() {
return searchText;
}
@Override
public void setSearchText(String searchText) {
this.searchText = searchText;
}
@Override
public String getSearchTextSource() {
return getSearchText();
}
}

18
dao/src/main/java/org/thingsboard/server/dao/model/sql/CustomerEntity.java

@ -25,7 +25,6 @@ import org.thingsboard.server.common.data.id.CustomerId;
import org.thingsboard.server.common.data.id.TenantId;
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.Column;
@ -38,17 +37,14 @@ import java.util.UUID;
@Entity
@TypeDef(name = "json", typeClass = JsonStringType.class)
@Table(name = ModelConstants.CUSTOMER_TABLE_NAME)
public final class CustomerEntity extends BaseSqlEntity<Customer> implements SearchTextEntity<Customer> {
public final class CustomerEntity extends BaseSqlEntity<Customer> {
@Column(name = ModelConstants.CUSTOMER_TENANT_ID_PROPERTY)
private UUID tenantId;
@Column(name = ModelConstants.CUSTOMER_TITLE_PROPERTY)
private String title;
@Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
private String searchText;
@Column(name = ModelConstants.COUNTRY_PROPERTY)
private String country;
@ -105,16 +101,6 @@ public final class CustomerEntity extends BaseSqlEntity<Customer> implements Sea
}
}
@Override
public String getSearchTextSource() {
return title;
}
@Override
public void setSearchText(String searchText) {
this.searchText = searchText;
}
@Override
public Customer toData() {
Customer customer = new Customer(new CustomerId(this.getUuid()));

18
dao/src/main/java/org/thingsboard/server/dao/model/sql/DashboardEntity.java

@ -15,7 +15,6 @@
*/
package org.thingsboard.server.dao.model.sql;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.JsonNode;
import lombok.Data;
@ -31,13 +30,11 @@ import org.thingsboard.server.common.data.id.DashboardId;
import org.thingsboard.server.common.data.id.TenantId;
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.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.IOException;
import java.util.HashSet;
import java.util.UUID;
@ -47,7 +44,7 @@ import java.util.UUID;
@Entity
@TypeDef(name = "json", typeClass = JsonStringType.class)
@Table(name = ModelConstants.DASHBOARD_TABLE_NAME)
public final class DashboardEntity extends BaseSqlEntity<Dashboard> implements SearchTextEntity<Dashboard> {
public final class DashboardEntity extends BaseSqlEntity<Dashboard> {
private static final JavaType assignedCustomersType =
JacksonUtil.constructCollectionType(HashSet.class, ShortCustomerInfo.class);
@ -61,9 +58,6 @@ public final class DashboardEntity extends BaseSqlEntity<Dashboard> implements S
@Column(name = ModelConstants.DASHBOARD_IMAGE_PROPERTY)
private String image;
@Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
private String searchText;
@Column(name = ModelConstants.DASHBOARD_ASSIGNED_CUSTOMERS_PROPERTY)
private String assignedCustomers;
@ -109,16 +103,6 @@ public final class DashboardEntity extends BaseSqlEntity<Dashboard> implements S
}
}
@Override
public String getSearchTextSource() {
return title;
}
@Override
public void setSearchText(String searchText) {
this.searchText = searchText;
}
@Override
public Dashboard toData() {
Dashboard dashboard = new Dashboard(new DashboardId(this.getUuid()));

22
dao/src/main/java/org/thingsboard/server/dao/model/sql/DashboardInfoEntity.java

@ -15,7 +15,6 @@
*/
package org.thingsboard.server.dao.model.sql;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JavaType;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -28,12 +27,10 @@ import org.thingsboard.server.common.data.id.DashboardId;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.dao.model.BaseSqlEntity;
import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.dao.model.SearchTextEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.IOException;
import java.util.HashSet;
import java.util.UUID;
@ -42,7 +39,7 @@ import java.util.UUID;
@EqualsAndHashCode(callSuper = true)
@Entity
@Table(name = ModelConstants.DASHBOARD_TABLE_NAME)
public class DashboardInfoEntity extends BaseSqlEntity<DashboardInfo> implements SearchTextEntity<DashboardInfo> {
public class DashboardInfoEntity extends BaseSqlEntity<DashboardInfo> {
private static final JavaType assignedCustomersType =
JacksonUtil.constructCollectionType(HashSet.class, ShortCustomerInfo.class);
@ -56,9 +53,6 @@ public class DashboardInfoEntity extends BaseSqlEntity<DashboardInfo> implements
@Column(name = ModelConstants.DASHBOARD_IMAGE_PROPERTY)
private String image;
@Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
private String searchText;
@Column(name = ModelConstants.DASHBOARD_ASSIGNED_CUSTOMERS_PROPERTY)
private String assignedCustomers;
@ -93,20 +87,6 @@ public class DashboardInfoEntity extends BaseSqlEntity<DashboardInfo> implements
this.mobileOrder = dashboardInfo.getMobileOrder();
}
@Override
public String getSearchTextSource() {
return title;
}
@Override
public void setSearchText(String searchText) {
this.searchText = searchText;
}
public String getSearchText() {
return searchText;
}
@Override
public DashboardInfo toData() {
DashboardInfo dashboardInfo = new DashboardInfo(new DashboardId(this.getUuid()));

20
dao/src/main/java/org/thingsboard/server/dao/model/sql/DeviceProfileEntity.java

@ -34,7 +34,6 @@ import org.thingsboard.server.common.data.id.RuleChainId;
import org.thingsboard.server.common.data.id.TenantId;
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.JsonBinaryType;
import javax.persistence.Column;
@ -49,7 +48,7 @@ import java.util.UUID;
@Entity
@TypeDef(name = "jsonb", typeClass = JsonBinaryType.class)
@Table(name = ModelConstants.DEVICE_PROFILE_TABLE_NAME)
public final class DeviceProfileEntity extends BaseSqlEntity<DeviceProfile> implements SearchTextEntity<DeviceProfile> {
public final class DeviceProfileEntity extends BaseSqlEntity<DeviceProfile> {
@Column(name = ModelConstants.DEVICE_PROFILE_TENANT_ID_PROPERTY)
private UUID tenantId;
@ -75,9 +74,6 @@ public final class DeviceProfileEntity extends BaseSqlEntity<DeviceProfile> impl
@Column(name = ModelConstants.DEVICE_PROFILE_DESCRIPTION_PROPERTY)
private String description;
@Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
private String searchText;
@Column(name = ModelConstants.DEVICE_PROFILE_IS_DEFAULT_PROPERTY)
private boolean isDefault;
@ -151,20 +147,6 @@ public final class DeviceProfileEntity extends BaseSqlEntity<DeviceProfile> impl
}
}
@Override
public String getSearchTextSource() {
return name;
}
@Override
public void setSearchText(String searchText) {
this.searchText = searchText;
}
public String getSearchText() {
return searchText;
}
@Override
public DeviceProfile toData() {
DeviceProfile deviceProfile = new DeviceProfile(new DeviceProfileId(this.getUuid()));

13
dao/src/main/java/org/thingsboard/server/dao/model/sql/OtaPackageEntity.java

@ -28,7 +28,6 @@ import org.thingsboard.server.common.data.ota.ChecksumAlgorithm;
import org.thingsboard.server.common.data.ota.OtaPackageType;
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.Column;
@ -61,7 +60,7 @@ import static org.thingsboard.server.dao.model.ModelConstants.SEARCH_TEXT_PROPER
@Entity
@TypeDef(name = "json", typeClass = JsonStringType.class)
@Table(name = OTA_PACKAGE_TABLE_NAME)
public class OtaPackageEntity extends BaseSqlEntity<OtaPackage> implements SearchTextEntity<OtaPackage> {
public class OtaPackageEntity extends BaseSqlEntity<OtaPackage> {
@Column(name = OTA_PACKAGE_TENANT_ID_COLUMN)
private UUID tenantId;
@ -137,16 +136,6 @@ public class OtaPackageEntity extends BaseSqlEntity<OtaPackage> implements Searc
this.additionalInfo = otaPackage.getAdditionalInfo();
}
@Override
public String getSearchTextSource() {
return title;
}
@Override
public void setSearchText(String searchText) {
this.searchText = searchText;
}
@Override
public OtaPackage toData() {
OtaPackage otaPackage = new OtaPackage(new OtaPackageId(id));

13
dao/src/main/java/org/thingsboard/server/dao/model/sql/OtaPackageInfoEntity.java

@ -29,7 +29,6 @@ import org.thingsboard.server.common.data.ota.ChecksumAlgorithm;
import org.thingsboard.server.common.data.ota.OtaPackageType;
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.Column;
@ -60,7 +59,7 @@ import static org.thingsboard.server.dao.model.ModelConstants.SEARCH_TEXT_PROPER
@Entity
@TypeDef(name = "json", typeClass = JsonStringType.class)
@Table(name = OTA_PACKAGE_TABLE_NAME)
public class OtaPackageInfoEntity extends BaseSqlEntity<OtaPackageInfo> implements SearchTextEntity<OtaPackageInfo> {
public class OtaPackageInfoEntity extends BaseSqlEntity<OtaPackageInfo> {
@Column(name = OTA_PACKAGE_TENANT_ID_COLUMN)
private UUID tenantId;
@ -155,16 +154,6 @@ public class OtaPackageInfoEntity extends BaseSqlEntity<OtaPackageInfo> implemen
this.additionalInfo = JacksonUtil.convertValue(additionalInfo, JsonNode.class);
}
@Override
public String getSearchTextSource() {
return title;
}
@Override
public void setSearchText(String searchText) {
this.searchText = searchText;
}
@Override
public OtaPackageInfo toData() {
OtaPackageInfo otaPackageInfo = new OtaPackageInfo(new OtaPackageId(id));

17
dao/src/main/java/org/thingsboard/server/dao/model/sql/RuleChainEntity.java

@ -28,7 +28,6 @@ import org.thingsboard.server.common.data.rule.RuleChainType;
import org.thingsboard.server.dao.DaoUtil;
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.Column;
@ -43,7 +42,7 @@ import java.util.UUID;
@Entity
@TypeDef(name = "json", typeClass = JsonStringType.class)
@Table(name = ModelConstants.RULE_CHAIN_TABLE_NAME)
public class RuleChainEntity extends BaseSqlEntity<RuleChain> implements SearchTextEntity<RuleChain> {
public class RuleChainEntity extends BaseSqlEntity<RuleChain> {
@Column(name = ModelConstants.RULE_CHAIN_TENANT_ID_PROPERTY)
private UUID tenantId;
@ -55,9 +54,6 @@ public class RuleChainEntity extends BaseSqlEntity<RuleChain> implements SearchT
@Column(name = ModelConstants.RULE_CHAIN_TYPE_PROPERTY)
private RuleChainType type;
@Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
private String searchText;
@Column(name = ModelConstants.RULE_CHAIN_FIRST_RULE_NODE_ID_PROPERTY)
private UUID firstRuleNodeId;
@ -89,7 +85,6 @@ public class RuleChainEntity extends BaseSqlEntity<RuleChain> implements SearchT
this.tenantId = DaoUtil.getId(ruleChain.getTenantId());
this.name = ruleChain.getName();
this.type = ruleChain.getType();
this.searchText = ruleChain.getName();
if (ruleChain.getFirstRuleNodeId() != null) {
this.firstRuleNodeId = ruleChain.getFirstRuleNodeId().getId();
}
@ -102,16 +97,6 @@ public class RuleChainEntity extends BaseSqlEntity<RuleChain> implements SearchT
}
}
@Override
public String getSearchTextSource() {
return searchText;
}
@Override
public void setSearchText(String searchText) {
this.searchText = searchText;
}
@Override
public RuleChain toData() {
RuleChain ruleChain = new RuleChain(new RuleChainId(this.getUuid()));

17
dao/src/main/java/org/thingsboard/server/dao/model/sql/RuleNodeEntity.java

@ -26,7 +26,6 @@ import org.thingsboard.server.common.data.rule.RuleNode;
import org.thingsboard.server.dao.DaoUtil;
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.Column;
@ -39,7 +38,7 @@ import java.util.UUID;
@Entity
@TypeDef(name = "json", typeClass = JsonStringType.class)
@Table(name = ModelConstants.RULE_NODE_TABLE_NAME)
public class RuleNodeEntity extends BaseSqlEntity<RuleNode> implements SearchTextEntity<RuleNode> {
public class RuleNodeEntity extends BaseSqlEntity<RuleNode> {
@Column(name = ModelConstants.RULE_NODE_CHAIN_ID_PROPERTY)
private UUID ruleChainId;
@ -50,9 +49,6 @@ public class RuleNodeEntity extends BaseSqlEntity<RuleNode> implements SearchTex
@Column(name = ModelConstants.RULE_NODE_NAME_PROPERTY)
private String name;
@Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
private String searchText;
@Type(type = "json")
@Column(name = ModelConstants.RULE_NODE_CONFIGURATION_PROPERTY)
private JsonNode configuration;
@ -85,7 +81,6 @@ public class RuleNodeEntity extends BaseSqlEntity<RuleNode> implements SearchTex
this.name = ruleNode.getName();
this.debugMode = ruleNode.isDebugMode();
this.singletonMode = ruleNode.isSingletonMode();
this.searchText = ruleNode.getName();
this.configuration = ruleNode.getConfiguration();
this.additionalInfo = ruleNode.getAdditionalInfo();
if (ruleNode.getExternalId() != null) {
@ -93,16 +88,6 @@ public class RuleNodeEntity extends BaseSqlEntity<RuleNode> implements SearchTex
}
}
@Override
public String getSearchTextSource() {
return searchText;
}
@Override
public void setSearchText(String searchText) {
this.searchText = searchText;
}
@Override
public RuleNode toData() {
RuleNode ruleNode = new RuleNode(new RuleNodeId(this.getUuid()));

20
dao/src/main/java/org/thingsboard/server/dao/model/sql/TenantProfileEntity.java

@ -27,7 +27,6 @@ import org.thingsboard.server.common.data.id.TenantProfileId;
import org.thingsboard.server.common.data.tenant.profile.TenantProfileData;
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.JsonBinaryType;
import javax.persistence.Column;
@ -39,7 +38,7 @@ import javax.persistence.Table;
@Entity
@TypeDef(name = "jsonb", typeClass = JsonBinaryType.class)
@Table(name = ModelConstants.TENANT_PROFILE_TABLE_NAME)
public final class TenantProfileEntity extends BaseSqlEntity<TenantProfile> implements SearchTextEntity<TenantProfile> {
public final class TenantProfileEntity extends BaseSqlEntity<TenantProfile> {
@Column(name = ModelConstants.TENANT_PROFILE_NAME_PROPERTY)
private String name;
@ -47,9 +46,6 @@ public final class TenantProfileEntity extends BaseSqlEntity<TenantProfile> impl
@Column(name = ModelConstants.TENANT_PROFILE_DESCRIPTION_PROPERTY)
private String description;
@Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
private String searchText;
@Column(name = ModelConstants.TENANT_PROFILE_IS_DEFAULT_PROPERTY)
private boolean isDefault;
@ -76,20 +72,6 @@ public final class TenantProfileEntity extends BaseSqlEntity<TenantProfile> impl
this.profileData = JacksonUtil.convertValue(tenantProfile.getProfileData(), ObjectNode.class);
}
@Override
public String getSearchTextSource() {
return name;
}
@Override
public void setSearchText(String searchText) {
this.searchText = searchText;
}
public String getSearchText() {
return searchText;
}
@Override
public TenantProfile toData() {
TenantProfile tenantProfile = new TenantProfile(new TenantProfileId(this.getUuid()));

16
dao/src/main/java/org/thingsboard/server/dao/model/sql/UserEntity.java

@ -27,7 +27,6 @@ import org.thingsboard.server.common.data.id.UserId;
import org.thingsboard.server.common.data.security.Authority;
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.Column;
@ -45,7 +44,7 @@ import java.util.UUID;
@Entity
@TypeDef(name = "json", typeClass = JsonStringType.class)
@Table(name = ModelConstants.USER_PG_HIBERNATE_TABLE_NAME)
public class UserEntity extends BaseSqlEntity<User> implements SearchTextEntity<User> {
public class UserEntity extends BaseSqlEntity<User> {
@Column(name = ModelConstants.USER_TENANT_ID_PROPERTY)
private UUID tenantId;
@ -60,9 +59,6 @@ public class UserEntity extends BaseSqlEntity<User> implements SearchTextEntity<
@Column(name = ModelConstants.USER_EMAIL_PROPERTY, unique = true)
private String email;
@Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
private String searchText;
@Column(name = ModelConstants.USER_FIRST_NAME_PROPERTY)
private String firstName;
@ -98,16 +94,6 @@ public class UserEntity extends BaseSqlEntity<User> implements SearchTextEntity<
this.additionalInfo = user.getAdditionalInfo();
}
@Override
public String getSearchTextSource() {
return email;
}
@Override
public void setSearchText(String searchText) {
this.searchText = searchText;
}
@Override
public User toData() {
User user = new User(new UserId(this.getUuid()));

16
dao/src/main/java/org/thingsboard/server/dao/model/sql/WidgetsBundleEntity.java

@ -23,7 +23,6 @@ import org.thingsboard.server.common.data.id.WidgetsBundleId;
import org.thingsboard.server.common.data.widget.WidgetsBundle;
import org.thingsboard.server.dao.model.BaseSqlEntity;
import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.dao.model.SearchTextEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
@ -34,7 +33,7 @@ import java.util.UUID;
@EqualsAndHashCode(callSuper = true)
@Entity
@Table(name = ModelConstants.WIDGETS_BUNDLE_TABLE_NAME)
public final class WidgetsBundleEntity extends BaseSqlEntity<WidgetsBundle> implements SearchTextEntity<WidgetsBundle> {
public final class WidgetsBundleEntity extends BaseSqlEntity<WidgetsBundle> {
@Column(name = ModelConstants.WIDGETS_BUNDLE_TENANT_ID_PROPERTY)
private UUID tenantId;
@ -45,9 +44,6 @@ public final class WidgetsBundleEntity extends BaseSqlEntity<WidgetsBundle> impl
@Column(name = ModelConstants.WIDGETS_BUNDLE_TITLE_PROPERTY)
private String title;
@Column(name = ModelConstants.SEARCH_TEXT_PROPERTY)
private String searchText;
@Column(name = ModelConstants.WIDGETS_BUNDLE_IMAGE_PROPERTY)
private String image;
@ -78,16 +74,6 @@ public final class WidgetsBundleEntity extends BaseSqlEntity<WidgetsBundle> impl
}
}
@Override
public String getSearchTextSource() {
return title;
}
@Override
public void setSearchText(String searchText) {
this.searchText = searchText;
}
@Override
public WidgetsBundle toData() {
WidgetsBundle widgetsBundle = new WidgetsBundle(new WidgetsBundleId(id));

4
dao/src/main/java/org/thingsboard/server/dao/sql/asset/AssetProfileRepository.java

@ -34,14 +34,14 @@ public interface AssetProfileRepository extends JpaRepository<AssetProfileEntity
AssetProfileInfo findAssetProfileInfoById(@Param("assetProfileId") UUID assetProfileId);
@Query("SELECT a FROM AssetProfileEntity a WHERE " +
"a.tenantId = :tenantId AND LOWER(a.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"a.tenantId = :tenantId AND LOWER(a.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<AssetProfileEntity> findAssetProfiles(@Param("tenantId") UUID tenantId,
@Param("textSearch") String textSearch,
Pageable pageable);
@Query("SELECT new org.thingsboard.server.common.data.asset.AssetProfileInfo(a.id, a.tenantId, a.name, a.image, a.defaultDashboardId) " +
"FROM AssetProfileEntity a WHERE " +
"a.tenantId = :tenantId AND LOWER(a.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"a.tenantId = :tenantId AND LOWER(a.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<AssetProfileInfo> findAssetProfileInfos(@Param("tenantId") UUID tenantId,
@Param("textSearch") String textSearch,
Pageable pageable);

34
dao/src/main/java/org/thingsboard/server/dao/sql/asset/AssetRepository.java

@ -41,7 +41,7 @@ public interface AssetRepository extends JpaRepository<AssetEntity, UUID>, Expor
AssetInfoEntity findAssetInfoById(@Param("assetId") UUID assetId);
@Query("SELECT a FROM AssetEntity a WHERE a.tenantId = :tenantId " +
"AND LOWER(a.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"AND LOWER(a.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<AssetEntity> findByTenantId(@Param("tenantId") UUID tenantId,
@Param("textSearch") String textSearch,
Pageable pageable);
@ -51,17 +51,17 @@ public interface AssetRepository extends JpaRepository<AssetEntity, UUID>, Expor
"LEFT JOIN CustomerEntity c on c.id = a.customerId " +
"LEFT JOIN AssetProfileEntity p on p.id = a.assetProfileId " +
"WHERE a.tenantId = :tenantId " +
"AND (LOWER(a.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%')) " +
"AND (LOWER(a.name) LIKE LOWER(CONCAT('%', :textSearch, '%')) " +
"OR LOWER(a.label) LIKE LOWER(CONCAT('%', :textSearch, '%')) " +
"OR LOWER(p.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%')) " +
"OR LOWER(c.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%')))")
"OR LOWER(p.name) LIKE LOWER(CONCAT('%', :textSearch, '%')) " +
"OR LOWER(c.title) LIKE LOWER(CONCAT('%', :textSearch, '%')))")
Page<AssetInfoEntity> findAssetInfosByTenantId(@Param("tenantId") UUID tenantId,
@Param("textSearch") String textSearch,
Pageable pageable);
@Query("SELECT a FROM AssetEntity a WHERE a.tenantId = :tenantId " +
"AND a.customerId = :customerId " +
"AND LOWER(a.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"AND LOWER(a.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<AssetEntity> findByTenantIdAndCustomerId(@Param("tenantId") UUID tenantId,
@Param("customerId") UUID customerId,
@Param("textSearch") String textSearch,
@ -69,7 +69,7 @@ public interface AssetRepository extends JpaRepository<AssetEntity, UUID>, Expor
@Query("SELECT a FROM AssetEntity a WHERE a.tenantId = :tenantId " +
"AND a.assetProfileId = :profileId " +
"AND LOWER(a.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(a.name) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<AssetEntity> findByTenantIdAndProfileId(@Param("tenantId") UUID tenantId,
@Param("profileId") UUID profileId,
@Param("searchText") String searchText,
@ -81,7 +81,7 @@ public interface AssetRepository extends JpaRepository<AssetEntity, UUID>, Expor
"LEFT JOIN AssetProfileEntity p on p.id = a.assetProfileId " +
"WHERE a.tenantId = :tenantId " +
"AND a.customerId = :customerId " +
"AND LOWER(a.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(a.name) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<AssetInfoEntity> findAssetInfosByTenantIdAndCustomerId(@Param("tenantId") UUID tenantId,
@Param("customerId") UUID customerId,
@Param("searchText") String searchText,
@ -95,7 +95,7 @@ public interface AssetRepository extends JpaRepository<AssetEntity, UUID>, Expor
@Query("SELECT a FROM AssetEntity a WHERE a.tenantId = :tenantId " +
"AND a.type = :type " +
"AND LOWER(a.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"AND LOWER(a.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<AssetEntity> findByTenantIdAndType(@Param("tenantId") UUID tenantId,
@Param("type") String type,
@Param("textSearch") String textSearch,
@ -107,9 +107,9 @@ public interface AssetRepository extends JpaRepository<AssetEntity, UUID>, Expor
"LEFT JOIN AssetProfileEntity p on p.id = a.assetProfileId " +
"WHERE a.tenantId = :tenantId " +
"AND a.type = :type " +
"AND (LOWER(a.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%')) " +
"AND (LOWER(a.name) LIKE LOWER(CONCAT('%', :textSearch, '%')) " +
"OR LOWER(a.label) LIKE LOWER(CONCAT('%', :textSearch, '%')) " +
"OR LOWER(c.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%')))")
"OR LOWER(c.title) LIKE LOWER(CONCAT('%', :textSearch, '%')))")
Page<AssetInfoEntity> findAssetInfosByTenantIdAndType(@Param("tenantId") UUID tenantId,
@Param("type") String type,
@Param("textSearch") String textSearch,
@ -121,9 +121,9 @@ public interface AssetRepository extends JpaRepository<AssetEntity, UUID>, Expor
"LEFT JOIN AssetProfileEntity p on p.id = a.assetProfileId " +
"WHERE a.tenantId = :tenantId " +
"AND a.assetProfileId = :assetProfileId " +
"AND (LOWER(a.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%')) " +
"AND (LOWER(a.name) LIKE LOWER(CONCAT('%', :textSearch, '%')) " +
"OR LOWER(a.label) LIKE LOWER(CONCAT('%', :textSearch, '%')) " +
"OR LOWER(c.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%')))")
"OR LOWER(c.title) LIKE LOWER(CONCAT('%', :textSearch, '%')))")
Page<AssetInfoEntity> findAssetInfosByTenantIdAndAssetProfileId(@Param("tenantId") UUID tenantId,
@Param("assetProfileId") UUID assetProfileId,
@Param("textSearch") String textSearch,
@ -132,7 +132,7 @@ public interface AssetRepository extends JpaRepository<AssetEntity, UUID>, Expor
@Query("SELECT a FROM AssetEntity a WHERE a.tenantId = :tenantId " +
"AND a.customerId = :customerId AND a.type = :type " +
"AND LOWER(a.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"AND LOWER(a.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<AssetEntity> findByTenantIdAndCustomerIdAndType(@Param("tenantId") UUID tenantId,
@Param("customerId") UUID customerId,
@Param("type") String type,
@ -146,7 +146,7 @@ public interface AssetRepository extends JpaRepository<AssetEntity, UUID>, Expor
"WHERE a.tenantId = :tenantId " +
"AND a.customerId = :customerId " +
"AND a.type = :type " +
"AND LOWER(a.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"AND LOWER(a.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<AssetInfoEntity> findAssetInfosByTenantIdAndCustomerIdAndType(@Param("tenantId") UUID tenantId,
@Param("customerId") UUID customerId,
@Param("type") String type,
@ -160,7 +160,7 @@ public interface AssetRepository extends JpaRepository<AssetEntity, UUID>, Expor
"WHERE a.tenantId = :tenantId " +
"AND a.customerId = :customerId " +
"AND a.assetProfileId = :assetProfileId " +
"AND LOWER(a.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"AND LOWER(a.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<AssetInfoEntity> findAssetInfosByTenantIdAndCustomerIdAndAssetProfileId(@Param("tenantId") UUID tenantId,
@Param("customerId") UUID customerId,
@Param("assetProfileId") UUID assetProfileId,
@ -175,7 +175,7 @@ public interface AssetRepository extends JpaRepository<AssetEntity, UUID>, Expor
@Query("SELECT a FROM AssetEntity a, RelationEntity re WHERE a.tenantId = :tenantId " +
"AND a.id = re.toId AND re.toType = 'ASSET' AND re.relationTypeGroup = 'EDGE' " +
"AND re.relationType = 'Contains' AND re.fromId = :edgeId AND re.fromType = 'EDGE' " +
"AND LOWER(a.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(a.name) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<AssetEntity> findByTenantIdAndEdgeId(@Param("tenantId") UUID tenantId,
@Param("edgeId") UUID edgeId,
@Param("searchText") String searchText,
@ -185,7 +185,7 @@ public interface AssetRepository extends JpaRepository<AssetEntity, UUID>, Expor
"AND a.id = re.toId AND re.toType = 'ASSET' AND re.relationTypeGroup = 'EDGE' " +
"AND re.relationType = 'Contains' AND re.fromId = :edgeId AND re.fromType = 'EDGE' " +
"AND a.type = :type " +
"AND LOWER(a.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(a.name) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<AssetEntity> findByTenantIdAndEdgeIdAndType(@Param("tenantId") UUID tenantId,
@Param("edgeId") UUID edgeId,
@Param("type") String type,

4
dao/src/main/java/org/thingsboard/server/dao/sql/asset/JpaAssetDao.java

@ -34,7 +34,7 @@ import org.thingsboard.server.dao.DaoUtil;
import org.thingsboard.server.dao.asset.AssetDao;
import org.thingsboard.server.dao.model.sql.AssetEntity;
import org.thingsboard.server.dao.model.sql.AssetInfoEntity;
import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
import org.thingsboard.server.dao.sql.JpaAbstractDao;
import org.thingsboard.server.dao.util.SqlDao;
import java.util.ArrayList;
@ -53,7 +53,7 @@ import static org.thingsboard.server.dao.asset.BaseAssetService.TB_SERVICE_QUEUE
@Component
@SqlDao
@Slf4j
public class JpaAssetDao extends JpaAbstractSearchTextDao<AssetEntity, Asset> implements AssetDao {
public class JpaAssetDao extends JpaAbstractDao<AssetEntity, Asset> implements AssetDao {
@Autowired
private AssetRepository assetRepository;

4
dao/src/main/java/org/thingsboard/server/dao/sql/asset/JpaAssetProfileDao.java

@ -29,14 +29,14 @@ import org.thingsboard.server.common.data.page.PageLink;
import org.thingsboard.server.dao.DaoUtil;
import org.thingsboard.server.dao.asset.AssetProfileDao;
import org.thingsboard.server.dao.model.sql.AssetProfileEntity;
import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
import org.thingsboard.server.dao.sql.JpaAbstractDao;
import java.util.Objects;
import java.util.Optional;
import java.util.UUID;
@Component
public class JpaAssetProfileDao extends JpaAbstractSearchTextDao<AssetProfileEntity, AssetProfile> implements AssetProfileDao {
public class JpaAssetProfileDao extends JpaAbstractDao<AssetProfileEntity, AssetProfile> implements AssetProfileDao {
@Autowired
private AssetProfileRepository assetProfileRepository;

1
dao/src/main/java/org/thingsboard/server/dao/sql/component/AbstractComponentDescriptorInsertRepository.java

@ -75,7 +75,6 @@ public abstract class AbstractComponentDescriptorInsertRepository implements Com
.setParameter("configuration_descriptor", entity.getConfigurationDescriptor().toString())
.setParameter("name", entity.getName())
.setParameter("scope", entity.getScope().name())
.setParameter("search_text", entity.getSearchText())
.setParameter("type", entity.getType().name())
.setParameter("clustering_mode", entity.getClusteringMode().name());
}

4
dao/src/main/java/org/thingsboard/server/dao/sql/component/ComponentDescriptorRepository.java

@ -36,13 +36,13 @@ public interface ComponentDescriptorRepository extends JpaRepository<ComponentDe
ComponentDescriptorEntity findByClazz(String clazz);
@Query("SELECT cd FROM ComponentDescriptorEntity cd WHERE cd.type = :type " +
"AND LOWER(cd.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"AND LOWER(cd.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<ComponentDescriptorEntity> findByType(@Param("type") ComponentType type,
@Param("textSearch") String textSearch,
Pageable pageable);
@Query("SELECT cd FROM ComponentDescriptorEntity cd WHERE cd.type = :type " +
"AND cd.scope = :scope AND LOWER(cd.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"AND cd.scope = :scope AND LOWER(cd.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<ComponentDescriptorEntity> findByScopeAndType(@Param("type") ComponentType type,
@Param("scope") ComponentScope scope,
@Param("textSearch") String textSearch,

4
dao/src/main/java/org/thingsboard/server/dao/sql/component/JpaBaseComponentDescriptorDao.java

@ -30,7 +30,7 @@ import org.thingsboard.server.common.data.plugin.ComponentType;
import org.thingsboard.server.dao.DaoUtil;
import org.thingsboard.server.dao.component.ComponentDescriptorDao;
import org.thingsboard.server.dao.model.sql.ComponentDescriptorEntity;
import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
import org.thingsboard.server.dao.sql.JpaAbstractDao;
import java.util.Objects;
import java.util.Optional;
@ -40,7 +40,7 @@ import java.util.UUID;
* Created by Valerii Sosliuk on 5/6/2017.
*/
@Component
public class JpaBaseComponentDescriptorDao extends JpaAbstractSearchTextDao<ComponentDescriptorEntity, ComponentDescriptor>
public class JpaBaseComponentDescriptorDao extends JpaAbstractDao<ComponentDescriptorEntity, ComponentDescriptor>
implements ComponentDescriptorDao {
@Autowired

4
dao/src/main/java/org/thingsboard/server/dao/sql/component/SqlComponentDescriptorInsertRepository.java

@ -44,10 +44,10 @@ public class SqlComponentDescriptorInsertRepository extends AbstractComponentDes
}
private static String getInsertOrUpdateStatement(String conflictKeyStatement, String updateKeyStatement) {
return "INSERT INTO component_descriptor (id, created_time, actions, clazz, configuration_descriptor, name, scope, search_text, type, clustering_mode) VALUES (:id, :created_time, :actions, :clazz, :configuration_descriptor, :name, :scope, :search_text, :type, :clustering_mode) ON CONFLICT " + conflictKeyStatement + " DO UPDATE SET " + updateKeyStatement + " returning *";
return "INSERT INTO component_descriptor (id, created_time, actions, clazz, configuration_descriptor, name, scope, type, clustering_mode) VALUES (:id, :created_time, :actions, :clazz, :configuration_descriptor, :name, :scope, :type, :clustering_mode) ON CONFLICT " + conflictKeyStatement + " DO UPDATE SET " + updateKeyStatement + " returning *";
}
private static String getUpdateStatement(String id) {
return "actions = :actions, " + id + ",created_time = :created_time, configuration_descriptor = :configuration_descriptor, name = :name, scope = :scope, search_text = :search_text, type = :type, clustering_mode = :clustering_mode";
return "actions = :actions, " + id + ",created_time = :created_time, configuration_descriptor = :configuration_descriptor, name = :name, scope = :scope, type = :type, clustering_mode = :clustering_mode";
}
}

2
dao/src/main/java/org/thingsboard/server/dao/sql/customer/CustomerRepository.java

@ -31,7 +31,7 @@ import java.util.UUID;
public interface CustomerRepository extends JpaRepository<CustomerEntity, UUID>, ExportableEntityRepository<CustomerEntity> {
@Query("SELECT c FROM CustomerEntity c WHERE c.tenantId = :tenantId " +
"AND LOWER(c.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"AND LOWER(c.title) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<CustomerEntity> findByTenantId(@Param("tenantId") UUID tenantId,
@Param("textSearch") String textSearch,
Pageable pageable);

4
dao/src/main/java/org/thingsboard/server/dao/sql/customer/JpaCustomerDao.java

@ -27,7 +27,7 @@ import org.thingsboard.server.common.data.page.PageLink;
import org.thingsboard.server.dao.DaoUtil;
import org.thingsboard.server.dao.customer.CustomerDao;
import org.thingsboard.server.dao.model.sql.CustomerEntity;
import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
import org.thingsboard.server.dao.sql.JpaAbstractDao;
import org.thingsboard.server.dao.util.SqlDao;
import java.util.Objects;
@ -39,7 +39,7 @@ import java.util.UUID;
*/
@Component
@SqlDao
public class JpaCustomerDao extends JpaAbstractSearchTextDao<CustomerEntity, Customer> implements CustomerDao {
public class JpaCustomerDao extends JpaAbstractDao<CustomerEntity, Customer> implements CustomerDao {
@Autowired
private CustomerRepository customerRepository;

10
dao/src/main/java/org/thingsboard/server/dao/sql/dashboard/DashboardInfoRepository.java

@ -32,14 +32,14 @@ public interface DashboardInfoRepository extends JpaRepository<DashboardInfoEnti
DashboardInfoEntity findFirstByTenantIdAndTitle(UUID tenantId, String title);
@Query("SELECT di FROM DashboardInfoEntity di WHERE di.tenantId = :tenantId " +
"AND LOWER(di.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(di.title) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<DashboardInfoEntity> findByTenantId(@Param("tenantId") UUID tenantId,
@Param("searchText") String searchText,
Pageable pageable);
@Query("SELECT di FROM DashboardInfoEntity di WHERE di.tenantId = :tenantId " +
"AND di.mobileHide = false " +
"AND LOWER(di.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(di.title) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<DashboardInfoEntity> findMobileByTenantId(@Param("tenantId") UUID tenantId,
@Param("searchText") String searchText,
Pageable pageable);
@ -47,7 +47,7 @@ public interface DashboardInfoRepository extends JpaRepository<DashboardInfoEnti
@Query("SELECT di FROM DashboardInfoEntity di, RelationEntity re WHERE di.tenantId = :tenantId " +
"AND di.id = re.toId AND re.toType = 'DASHBOARD' AND re.relationTypeGroup = 'DASHBOARD' " +
"AND re.relationType = 'Contains' AND re.fromId = :customerId AND re.fromType = 'CUSTOMER' " +
"AND LOWER(di.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(di.title) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<DashboardInfoEntity> findByTenantIdAndCustomerId(@Param("tenantId") UUID tenantId,
@Param("customerId") UUID customerId,
@Param("searchText") String searchText,
@ -57,7 +57,7 @@ public interface DashboardInfoRepository extends JpaRepository<DashboardInfoEnti
"AND di.mobileHide = false " +
"AND di.id = re.toId AND re.toType = 'DASHBOARD' AND re.relationTypeGroup = 'DASHBOARD' " +
"AND re.relationType = 'Contains' AND re.fromId = :customerId AND re.fromType = 'CUSTOMER' " +
"AND LOWER(di.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(di.title) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<DashboardInfoEntity> findMobileByTenantIdAndCustomerId(@Param("tenantId") UUID tenantId,
@Param("customerId") UUID customerId,
@Param("searchText") String searchText,
@ -66,7 +66,7 @@ public interface DashboardInfoRepository extends JpaRepository<DashboardInfoEnti
@Query("SELECT di FROM DashboardInfoEntity di, RelationEntity re WHERE di.tenantId = :tenantId " +
"AND di.id = re.toId AND re.toType = 'DASHBOARD' AND re.relationTypeGroup = 'EDGE' " +
"AND re.relationType = 'Contains' AND re.fromId = :edgeId AND re.fromType = 'EDGE' " +
"AND LOWER(di.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(di.title) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<DashboardInfoEntity> findByTenantIdAndEdgeId(@Param("tenantId") UUID tenantId,
@Param("edgeId") UUID edgeId,
@Param("searchText") String searchText,

4
dao/src/main/java/org/thingsboard/server/dao/sql/dashboard/JpaDashboardDao.java

@ -27,7 +27,7 @@ import org.thingsboard.server.common.data.page.PageLink;
import org.thingsboard.server.dao.DaoUtil;
import org.thingsboard.server.dao.dashboard.DashboardDao;
import org.thingsboard.server.dao.model.sql.DashboardEntity;
import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
import org.thingsboard.server.dao.sql.JpaAbstractDao;
import org.thingsboard.server.dao.util.SqlDao;
import java.util.List;
@ -39,7 +39,7 @@ import java.util.UUID;
*/
@Component
@SqlDao
public class JpaDashboardDao extends JpaAbstractSearchTextDao<DashboardEntity, Dashboard> implements DashboardDao {
public class JpaDashboardDao extends JpaAbstractDao<DashboardEntity, Dashboard> implements DashboardDao {
@Autowired
DashboardRepository dashboardRepository;

4
dao/src/main/java/org/thingsboard/server/dao/sql/dashboard/JpaDashboardInfoDao.java

@ -26,7 +26,7 @@ import org.thingsboard.server.common.data.page.SortOrder;
import org.thingsboard.server.dao.DaoUtil;
import org.thingsboard.server.dao.dashboard.DashboardInfoDao;
import org.thingsboard.server.dao.model.sql.DashboardInfoEntity;
import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
import org.thingsboard.server.dao.sql.JpaAbstractDao;
import org.thingsboard.server.dao.util.SqlDao;
import java.util.ArrayList;
@ -40,7 +40,7 @@ import java.util.UUID;
@Slf4j
@Component
@SqlDao
public class JpaDashboardInfoDao extends JpaAbstractSearchTextDao<DashboardInfoEntity, DashboardInfo> implements DashboardInfoDao {
public class JpaDashboardInfoDao extends JpaAbstractDao<DashboardInfoEntity, DashboardInfo> implements DashboardInfoDao {
@Autowired
private DashboardInfoRepository dashboardInfoRepository;

6
dao/src/main/java/org/thingsboard/server/dao/sql/device/DeviceProfileRepository.java

@ -35,21 +35,21 @@ public interface DeviceProfileRepository extends JpaRepository<DeviceProfileEnti
DeviceProfileInfo findDeviceProfileInfoById(@Param("deviceProfileId") UUID deviceProfileId);
@Query("SELECT d FROM DeviceProfileEntity d WHERE " +
"d.tenantId = :tenantId AND LOWER(d.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"d.tenantId = :tenantId AND LOWER(d.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<DeviceProfileEntity> findDeviceProfiles(@Param("tenantId") UUID tenantId,
@Param("textSearch") String textSearch,
Pageable pageable);
@Query("SELECT new org.thingsboard.server.common.data.DeviceProfileInfo(d.id, d.tenantId, d.name, d.image, d.defaultDashboardId, d.type, d.transportType) " +
"FROM DeviceProfileEntity d WHERE " +
"d.tenantId = :tenantId AND LOWER(d.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"d.tenantId = :tenantId AND LOWER(d.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<DeviceProfileInfo> findDeviceProfileInfos(@Param("tenantId") UUID tenantId,
@Param("textSearch") String textSearch,
Pageable pageable);
@Query("SELECT new org.thingsboard.server.common.data.DeviceProfileInfo(d.id, d.tenantId, d.name, d.image, d.defaultDashboardId, d.type, d.transportType) " +
"FROM DeviceProfileEntity d WHERE " +
"d.tenantId = :tenantId AND d.transportType = :transportType AND LOWER(d.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"d.tenantId = :tenantId AND d.transportType = :transportType AND LOWER(d.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<DeviceProfileInfo> findDeviceProfileInfos(@Param("tenantId") UUID tenantId,
@Param("textSearch") String textSearch,
@Param("transportType") DeviceTransportType transportType,

4
dao/src/main/java/org/thingsboard/server/dao/sql/device/JpaDeviceProfileDao.java

@ -31,7 +31,7 @@ import org.thingsboard.server.common.data.page.PageLink;
import org.thingsboard.server.dao.DaoUtil;
import org.thingsboard.server.dao.device.DeviceProfileDao;
import org.thingsboard.server.dao.model.sql.DeviceProfileEntity;
import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
import org.thingsboard.server.dao.sql.JpaAbstractDao;
import org.thingsboard.server.dao.util.SqlDao;
import java.util.Objects;
@ -40,7 +40,7 @@ import java.util.UUID;
@Component
@SqlDao
public class JpaDeviceProfileDao extends JpaAbstractSearchTextDao<DeviceProfileEntity, DeviceProfile> implements DeviceProfileDao {
public class JpaDeviceProfileDao extends JpaAbstractDao<DeviceProfileEntity, DeviceProfile> implements DeviceProfileDao {
@Autowired
private DeviceProfileRepository deviceProfileRepository;

18
dao/src/main/java/org/thingsboard/server/dao/sql/edge/EdgeRepository.java

@ -30,7 +30,7 @@ public interface EdgeRepository extends JpaRepository<EdgeEntity, UUID> {
@Query("SELECT d FROM EdgeEntity d WHERE d.tenantId = :tenantId " +
"AND d.customerId = :customerId " +
"AND LOWER(d.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"AND LOWER(d.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<EdgeEntity> findByTenantIdAndCustomerId(@Param("tenantId") UUID tenantId,
@Param("customerId") UUID customerId,
@Param("textSearch") String textSearch,
@ -43,7 +43,7 @@ public interface EdgeRepository extends JpaRepository<EdgeEntity, UUID> {
EdgeInfoEntity findEdgeInfoById(@Param("edgeId") UUID edgeId);
@Query("SELECT d FROM EdgeEntity d WHERE d.tenantId = :tenantId " +
"AND LOWER(d.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"AND LOWER(d.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<EdgeEntity> findByTenantId(@Param("tenantId") UUID tenantId,
@Param("textSearch") String textSearch,
Pageable pageable);
@ -52,14 +52,14 @@ public interface EdgeRepository extends JpaRepository<EdgeEntity, UUID> {
"FROM EdgeEntity d " +
"LEFT JOIN CustomerEntity c on c.id = d.customerId " +
"WHERE d.tenantId = :tenantId " +
"AND LOWER(d.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"AND LOWER(d.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<EdgeInfoEntity> findEdgeInfosByTenantId(@Param("tenantId") UUID tenantId,
@Param("textSearch") String textSearch,
Pageable pageable);
@Query("SELECT d FROM EdgeEntity d WHERE d.tenantId = :tenantId " +
"AND d.type = :type " +
"AND LOWER(d.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"AND LOWER(d.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<EdgeEntity> findByTenantIdAndType(@Param("tenantId") UUID tenantId,
@Param("type") String type,
@Param("textSearch") String textSearch,
@ -70,7 +70,7 @@ public interface EdgeRepository extends JpaRepository<EdgeEntity, UUID> {
"LEFT JOIN CustomerEntity c on c.id = d.customerId " +
"WHERE d.tenantId = :tenantId " +
"AND d.type = :type " +
"AND LOWER(d.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"AND LOWER(d.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<EdgeInfoEntity> findEdgeInfosByTenantIdAndType(@Param("tenantId") UUID tenantId,
@Param("type") String type,
@Param("textSearch") String textSearch,
@ -79,7 +79,7 @@ public interface EdgeRepository extends JpaRepository<EdgeEntity, UUID> {
@Query("SELECT d FROM EdgeEntity d WHERE d.tenantId = :tenantId " +
"AND d.customerId = :customerId " +
"AND d.type = :type " +
"AND LOWER(d.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"AND LOWER(d.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<EdgeEntity> findByTenantIdAndCustomerIdAndType(@Param("tenantId") UUID tenantId,
@Param("customerId") UUID customerId,
@Param("type") String type,
@ -91,7 +91,7 @@ public interface EdgeRepository extends JpaRepository<EdgeEntity, UUID> {
"LEFT JOIN CustomerEntity c on c.id = a.customerId " +
"WHERE a.tenantId = :tenantId " +
"AND a.customerId = :customerId " +
"AND LOWER(a.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(a.name) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<EdgeInfoEntity> findEdgeInfosByTenantIdAndCustomerId(@Param("tenantId") UUID tenantId,
@Param("customerId") UUID customerId,
@Param("searchText") String searchText,
@ -103,7 +103,7 @@ public interface EdgeRepository extends JpaRepository<EdgeEntity, UUID> {
"WHERE a.tenantId = :tenantId " +
"AND a.customerId = :customerId " +
"AND a.type = :type " +
"AND LOWER(a.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"AND LOWER(a.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<EdgeInfoEntity> findEdgeInfosByTenantIdAndCustomerIdAndType(@Param("tenantId") UUID tenantId,
@Param("customerId") UUID customerId,
@Param("type") String type,
@ -113,7 +113,7 @@ public interface EdgeRepository extends JpaRepository<EdgeEntity, UUID> {
@Query("SELECT ee FROM EdgeEntity ee, RelationEntity re WHERE ee.tenantId = :tenantId " +
"AND ee.id = re.fromId AND re.fromType = 'EDGE' AND re.relationTypeGroup = 'EDGE' " +
"AND re.relationType = 'Contains' AND re.toId = :entityId AND re.toType = :entityType " +
"AND LOWER(ee.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(ee.name) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<EdgeEntity> findByTenantIdAndEntityId(@Param("tenantId") UUID tenantId,
@Param("entityId") UUID entityId,
@Param("entityType") String entityType,

4
dao/src/main/java/org/thingsboard/server/dao/sql/edge/JpaBaseEdgeEventDao.java

@ -34,7 +34,7 @@ import org.thingsboard.server.dao.DaoUtil;
import org.thingsboard.server.dao.edge.EdgeEventDao;
import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.dao.model.sql.EdgeEventEntity;
import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
import org.thingsboard.server.dao.sql.JpaAbstractDao;
import org.thingsboard.server.dao.sql.ScheduledLogExecutorComponent;
import org.thingsboard.server.dao.sql.TbSqlBlockingQueueParams;
import org.thingsboard.server.dao.sql.TbSqlBlockingQueueWrapper;
@ -55,7 +55,7 @@ import static org.thingsboard.server.dao.model.ModelConstants.NULL_UUID;
@SqlDao
@RequiredArgsConstructor
@Slf4j
public class JpaBaseEdgeEventDao extends JpaAbstractSearchTextDao<EdgeEventEntity, EdgeEvent> implements EdgeEventDao {
public class JpaBaseEdgeEventDao extends JpaAbstractDao<EdgeEventEntity, EdgeEvent> implements EdgeEventDao {
private final UUID systemTenantId = NULL_UUID;

4
dao/src/main/java/org/thingsboard/server/dao/sql/edge/JpaEdgeDao.java

@ -31,7 +31,7 @@ import org.thingsboard.server.dao.DaoUtil;
import org.thingsboard.server.dao.edge.EdgeDao;
import org.thingsboard.server.dao.model.sql.EdgeEntity;
import org.thingsboard.server.dao.model.sql.EdgeInfoEntity;
import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
import org.thingsboard.server.dao.sql.JpaAbstractDao;
import org.thingsboard.server.dao.util.SqlDao;
import java.util.ArrayList;
@ -44,7 +44,7 @@ import java.util.UUID;
@Component
@Slf4j
@SqlDao
public class JpaEdgeDao extends JpaAbstractSearchTextDao<EdgeEntity, Edge> implements EdgeDao {
public class JpaEdgeDao extends JpaAbstractDao<EdgeEntity, Edge> implements EdgeDao {
@Autowired
private EdgeRepository edgeRepository;

20
dao/src/main/java/org/thingsboard/server/dao/sql/entityview/EntityViewRepository.java

@ -39,7 +39,7 @@ public interface EntityViewRepository extends JpaRepository<EntityViewEntity, UU
EntityViewInfoEntity findEntityViewInfoById(@Param("entityViewId") UUID entityViewId);
@Query("SELECT e FROM EntityViewEntity e WHERE e.tenantId = :tenantId " +
"AND LOWER(e.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"AND LOWER(e.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<EntityViewEntity> findByTenantId(@Param("tenantId") UUID tenantId,
@Param("textSearch") String textSearch,
Pageable pageable);
@ -48,14 +48,14 @@ public interface EntityViewRepository extends JpaRepository<EntityViewEntity, UU
"FROM EntityViewEntity e " +
"LEFT JOIN CustomerEntity c on c.id = e.customerId " +
"WHERE e.tenantId = :tenantId " +
"AND LOWER(e.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"AND LOWER(e.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<EntityViewInfoEntity> findEntityViewInfosByTenantId(@Param("tenantId") UUID tenantId,
@Param("textSearch") String textSearch,
Pageable pageable);
@Query("SELECT e FROM EntityViewEntity e WHERE e.tenantId = :tenantId " +
"AND e.type = :type " +
"AND LOWER(e.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"AND LOWER(e.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<EntityViewEntity> findByTenantIdAndType(@Param("tenantId") UUID tenantId,
@Param("type") String type,
@Param("textSearch") String textSearch,
@ -66,7 +66,7 @@ public interface EntityViewRepository extends JpaRepository<EntityViewEntity, UU
"LEFT JOIN CustomerEntity c on c.id = e.customerId " +
"WHERE e.tenantId = :tenantId " +
"AND e.type = :type " +
"AND LOWER(e.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"AND LOWER(e.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<EntityViewInfoEntity> findEntityViewInfosByTenantIdAndType(@Param("tenantId") UUID tenantId,
@Param("type") String type,
@Param("textSearch") String textSearch,
@ -74,7 +74,7 @@ public interface EntityViewRepository extends JpaRepository<EntityViewEntity, UU
@Query("SELECT e FROM EntityViewEntity e WHERE e.tenantId = :tenantId " +
"AND e.customerId = :customerId " +
"AND LOWER(e.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(e.name) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<EntityViewEntity> findByTenantIdAndCustomerId(@Param("tenantId") UUID tenantId,
@Param("customerId") UUID customerId,
@Param("searchText") String searchText,
@ -85,7 +85,7 @@ public interface EntityViewRepository extends JpaRepository<EntityViewEntity, UU
"LEFT JOIN CustomerEntity c on c.id = e.customerId " +
"WHERE e.tenantId = :tenantId " +
"AND e.customerId = :customerId " +
"AND LOWER(e.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(e.name) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<EntityViewInfoEntity> findEntityViewInfosByTenantIdAndCustomerId(@Param("tenantId") UUID tenantId,
@Param("customerId") UUID customerId,
@Param("searchText") String searchText,
@ -94,7 +94,7 @@ public interface EntityViewRepository extends JpaRepository<EntityViewEntity, UU
@Query("SELECT e FROM EntityViewEntity e WHERE e.tenantId = :tenantId " +
"AND e.customerId = :customerId " +
"AND e.type = :type " +
"AND LOWER(e.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(e.name) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<EntityViewEntity> findByTenantIdAndCustomerIdAndType(@Param("tenantId") UUID tenantId,
@Param("customerId") UUID customerId,
@Param("type") String type,
@ -107,7 +107,7 @@ public interface EntityViewRepository extends JpaRepository<EntityViewEntity, UU
"WHERE e.tenantId = :tenantId " +
"AND e.customerId = :customerId " +
"AND e.type = :type " +
"AND LOWER(e.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"AND LOWER(e.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<EntityViewInfoEntity> findEntityViewInfosByTenantIdAndCustomerIdAndType(@Param("tenantId") UUID tenantId,
@Param("customerId") UUID customerId,
@Param("type") String type,
@ -124,7 +124,7 @@ public interface EntityViewRepository extends JpaRepository<EntityViewEntity, UU
@Query("SELECT ev FROM EntityViewEntity ev, RelationEntity re WHERE ev.tenantId = :tenantId " +
"AND ev.id = re.toId AND re.toType = 'ENTITY_VIEW' AND re.relationTypeGroup = 'EDGE' " +
"AND re.relationType = 'Contains' AND re.fromId = :edgeId AND re.fromType = 'EDGE' " +
"AND LOWER(ev.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(ev.name) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<EntityViewEntity> findByTenantIdAndEdgeId(@Param("tenantId") UUID tenantId,
@Param("edgeId") UUID edgeId,
@Param("searchText") String searchText,
@ -134,7 +134,7 @@ public interface EntityViewRepository extends JpaRepository<EntityViewEntity, UU
"AND ev.id = re.toId AND re.toType = 'ENTITY_VIEW' AND re.relationTypeGroup = 'EDGE' " +
"AND re.relationType = 'Contains' AND re.fromId = :edgeId AND re.fromType = 'EDGE' " +
"AND ev.type = :type " +
"AND LOWER(ev.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(ev.name) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<EntityViewEntity> findByTenantIdAndEdgeIdAndType(@Param("tenantId") UUID tenantId,
@Param("edgeId") UUID edgeId,
@Param("type") String type,

4
dao/src/main/java/org/thingsboard/server/dao/sql/entityview/JpaEntityViewDao.java

@ -32,7 +32,7 @@ import org.thingsboard.server.dao.DaoUtil;
import org.thingsboard.server.dao.entityview.EntityViewDao;
import org.thingsboard.server.dao.model.sql.EntityViewEntity;
import org.thingsboard.server.dao.model.sql.EntityViewInfoEntity;
import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
import org.thingsboard.server.dao.sql.JpaAbstractDao;
import org.thingsboard.server.dao.util.SqlDao;
import java.util.ArrayList;
@ -48,7 +48,7 @@ import java.util.UUID;
@Component
@Slf4j
@SqlDao
public class JpaEntityViewDao extends JpaAbstractSearchTextDao<EntityViewEntity, EntityView>
public class JpaEntityViewDao extends JpaAbstractDao<EntityViewEntity, EntityView>
implements EntityViewDao {
@Autowired

4
dao/src/main/java/org/thingsboard/server/dao/sql/ota/JpaOtaPackageDao.java

@ -24,7 +24,7 @@ import org.thingsboard.server.common.data.OtaPackage;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.dao.model.sql.OtaPackageEntity;
import org.thingsboard.server.dao.ota.OtaPackageDao;
import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
import org.thingsboard.server.dao.sql.JpaAbstractDao;
import org.thingsboard.server.dao.util.SqlDao;
import java.util.UUID;
@ -32,7 +32,7 @@ import java.util.UUID;
@Slf4j
@Component
@SqlDao
public class JpaOtaPackageDao extends JpaAbstractSearchTextDao<OtaPackageEntity, OtaPackage> implements OtaPackageDao {
public class JpaOtaPackageDao extends JpaAbstractDao<OtaPackageEntity, OtaPackage> implements OtaPackageDao {
@Autowired
private OtaPackageRepository otaPackageRepository;

4
dao/src/main/java/org/thingsboard/server/dao/sql/ota/JpaOtaPackageInfoDao.java

@ -29,7 +29,7 @@ import org.thingsboard.server.common.data.page.PageLink;
import org.thingsboard.server.dao.DaoUtil;
import org.thingsboard.server.dao.model.sql.OtaPackageInfoEntity;
import org.thingsboard.server.dao.ota.OtaPackageInfoDao;
import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
import org.thingsboard.server.dao.sql.JpaAbstractDao;
import org.thingsboard.server.dao.util.SqlDao;
import java.util.Objects;
@ -38,7 +38,7 @@ import java.util.UUID;
@Slf4j
@Component
@SqlDao
public class JpaOtaPackageInfoDao extends JpaAbstractSearchTextDao<OtaPackageInfoEntity, OtaPackageInfo> implements OtaPackageInfoDao {
public class JpaOtaPackageInfoDao extends JpaAbstractDao<OtaPackageInfoEntity, OtaPackageInfo> implements OtaPackageInfoDao {
@Autowired
private OtaPackageInfoRepository otaPackageInfoRepository;

4
dao/src/main/java/org/thingsboard/server/dao/sql/ota/OtaPackageInfoRepository.java

@ -28,7 +28,7 @@ import java.util.UUID;
public interface OtaPackageInfoRepository extends JpaRepository<OtaPackageInfoEntity, UUID> {
@Query("SELECT new OtaPackageInfoEntity(f.id, f.createdTime, f.tenantId, f.deviceProfileId, f.type, f.title, f.version, f.tag, f.url, f.fileName, f.contentType, f.checksumAlgorithm, f.checksum, f.dataSize, f.additionalInfo, CASE WHEN (f.data IS NOT NULL OR f.url IS NOT NULL) THEN true ELSE false END) FROM OtaPackageEntity f WHERE " +
"f.tenantId = :tenantId " +
"AND LOWER(f.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(f.title) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<OtaPackageInfoEntity> findAllByTenantId(@Param("tenantId") UUID tenantId,
@Param("searchText") String searchText,
Pageable pageable);
@ -38,7 +38,7 @@ public interface OtaPackageInfoRepository extends JpaRepository<OtaPackageInfoEn
"AND f.deviceProfileId = :deviceProfileId " +
"AND f.type = :type " +
"AND (f.data IS NOT NULL OR f.url IS NOT NULL) " +
"AND LOWER(f.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(f.title) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<OtaPackageInfoEntity> findAllByTenantIdAndTypeAndDeviceProfileIdAndHasData(@Param("tenantId") UUID tenantId,
@Param("deviceProfileId") UUID deviceProfileId,
@Param("type") OtaPackageType type,

4
dao/src/main/java/org/thingsboard/server/dao/sql/rule/JpaRuleChainDao.java

@ -29,7 +29,7 @@ import org.thingsboard.server.common.data.rule.RuleChainType;
import org.thingsboard.server.dao.DaoUtil;
import org.thingsboard.server.dao.model.sql.RuleChainEntity;
import org.thingsboard.server.dao.rule.RuleChainDao;
import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
import org.thingsboard.server.dao.sql.JpaAbstractDao;
import org.thingsboard.server.dao.util.SqlDao;
import java.util.Collection;
@ -40,7 +40,7 @@ import java.util.UUID;
@Slf4j
@Component
@SqlDao
public class JpaRuleChainDao extends JpaAbstractSearchTextDao<RuleChainEntity, RuleChain> implements RuleChainDao {
public class JpaRuleChainDao extends JpaAbstractDao<RuleChainEntity, RuleChain> implements RuleChainDao {
@Autowired
private RuleChainRepository ruleChainRepository;

4
dao/src/main/java/org/thingsboard/server/dao/sql/rule/JpaRuleNodeDao.java

@ -29,7 +29,7 @@ import org.thingsboard.server.common.data.rule.RuleNode;
import org.thingsboard.server.dao.DaoUtil;
import org.thingsboard.server.dao.model.sql.RuleNodeEntity;
import org.thingsboard.server.dao.rule.RuleNodeDao;
import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
import org.thingsboard.server.dao.sql.JpaAbstractDao;
import org.thingsboard.server.dao.util.SqlDao;
import java.util.List;
@ -40,7 +40,7 @@ import java.util.stream.Collectors;
@Slf4j
@Component
@SqlDao
public class JpaRuleNodeDao extends JpaAbstractSearchTextDao<RuleNodeEntity, RuleNode> implements RuleNodeDao {
public class JpaRuleNodeDao extends JpaAbstractDao<RuleNodeEntity, RuleNode> implements RuleNodeDao {
@Autowired
private RuleNodeRepository ruleNodeRepository;

8
dao/src/main/java/org/thingsboard/server/dao/sql/rule/RuleChainRepository.java

@ -30,14 +30,14 @@ import java.util.UUID;
public interface RuleChainRepository extends JpaRepository<RuleChainEntity, UUID>, ExportableEntityRepository<RuleChainEntity> {
@Query("SELECT rc FROM RuleChainEntity rc WHERE rc.tenantId = :tenantId " +
"AND LOWER(rc.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(rc.name) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<RuleChainEntity> findByTenantId(@Param("tenantId") UUID tenantId,
@Param("searchText") String searchText,
Pageable pageable);
@Query("SELECT rc FROM RuleChainEntity rc WHERE rc.tenantId = :tenantId " +
"AND rc.type = :type " +
"AND LOWER(rc.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(rc.name) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<RuleChainEntity> findByTenantIdAndType(@Param("tenantId") UUID tenantId,
@Param("type") RuleChainType type,
@Param("searchText") String searchText,
@ -46,7 +46,7 @@ public interface RuleChainRepository extends JpaRepository<RuleChainEntity, UUID
@Query("SELECT rc FROM RuleChainEntity rc, RelationEntity re WHERE rc.tenantId = :tenantId " +
"AND rc.id = re.toId AND re.toType = 'RULE_CHAIN' AND re.relationTypeGroup = 'EDGE' " +
"AND re.relationType = 'Contains' AND re.fromId = :edgeId AND re.fromType = 'EDGE' " +
"AND LOWER(rc.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(rc.name) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<RuleChainEntity> findByTenantIdAndEdgeId(@Param("tenantId") UUID tenantId,
@Param("edgeId") UUID edgeId,
@Param("searchText") String searchText,
@ -55,7 +55,7 @@ public interface RuleChainRepository extends JpaRepository<RuleChainEntity, UUID
@Query("SELECT rc FROM RuleChainEntity rc, RelationEntity re WHERE rc.tenantId = :tenantId " +
"AND rc.id = re.toId AND re.toType = 'RULE_CHAIN' AND re.relationTypeGroup = 'EDGE_AUTO_ASSIGN_RULE_CHAIN' " +
"AND re.relationType = 'Contains' AND re.fromId = :tenantId AND re.fromType = 'TENANT' " +
"AND LOWER(rc.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(rc.name) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<RuleChainEntity> findAutoAssignByTenantId(@Param("tenantId") UUID tenantId,
@Param("searchText") String searchText,
Pageable pageable);

4
dao/src/main/java/org/thingsboard/server/dao/sql/tenant/JpaTenantDao.java

@ -28,7 +28,7 @@ import org.thingsboard.server.common.data.page.PageLink;
import org.thingsboard.server.dao.DaoUtil;
import org.thingsboard.server.dao.model.sql.TenantEntity;
import org.thingsboard.server.dao.model.sql.TenantInfoEntity;
import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
import org.thingsboard.server.dao.sql.JpaAbstractDao;
import org.thingsboard.server.dao.tenant.TenantDao;
import org.thingsboard.server.dao.util.SqlDao;
@ -43,7 +43,7 @@ import java.util.stream.Collectors;
*/
@Component
@SqlDao
public class JpaTenantDao extends JpaAbstractSearchTextDao<TenantEntity, Tenant> implements TenantDao {
public class JpaTenantDao extends JpaAbstractDao<TenantEntity, Tenant> implements TenantDao {
@Autowired
private TenantRepository tenantRepository;

4
dao/src/main/java/org/thingsboard/server/dao/sql/tenant/JpaTenantProfileDao.java

@ -25,7 +25,7 @@ import org.thingsboard.server.common.data.page.PageData;
import org.thingsboard.server.common.data.page.PageLink;
import org.thingsboard.server.dao.DaoUtil;
import org.thingsboard.server.dao.model.sql.TenantProfileEntity;
import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
import org.thingsboard.server.dao.sql.JpaAbstractDao;
import org.thingsboard.server.dao.tenant.TenantProfileDao;
import org.thingsboard.server.dao.util.SqlDao;
@ -36,7 +36,7 @@ import java.util.UUID;
@Component
@SqlDao
public class JpaTenantProfileDao extends JpaAbstractSearchTextDao<TenantProfileEntity, TenantProfile> implements TenantProfileDao {
public class JpaTenantProfileDao extends JpaAbstractDao<TenantProfileEntity, TenantProfile> implements TenantProfileDao {
@Autowired
private TenantProfileRepository tenantProfileRepository;

4
dao/src/main/java/org/thingsboard/server/dao/sql/tenant/TenantProfileRepository.java

@ -34,13 +34,13 @@ public interface TenantProfileRepository extends JpaRepository<TenantProfileEnti
EntityInfo findTenantProfileInfoById(@Param("tenantProfileId") UUID tenantProfileId);
@Query("SELECT t FROM TenantProfileEntity t WHERE " +
"LOWER(t.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"LOWER(t.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<TenantProfileEntity> findTenantProfiles(@Param("textSearch") String textSearch,
Pageable pageable);
@Query("SELECT new org.thingsboard.server.common.data.EntityInfo(t.id, 'TENANT_PROFILE', t.name) " +
"FROM TenantProfileEntity t " +
"WHERE LOWER(t.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"WHERE LOWER(t.name) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<EntityInfo> findTenantProfileInfos(@Param("textSearch") String textSearch,
Pageable pageable);

4
dao/src/main/java/org/thingsboard/server/dao/sql/tenant/TenantRepository.java

@ -37,14 +37,14 @@ public interface TenantRepository extends JpaRepository<TenantEntity, UUID> {
"WHERE t.id = :tenantId")
TenantInfoEntity findTenantInfoById(@Param("tenantId") UUID tenantId);
@Query("SELECT t FROM TenantEntity t WHERE LOWER(t.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
@Query("SELECT t FROM TenantEntity t WHERE LOWER(t.title) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<TenantEntity> findTenantsNextPage(@Param("textSearch") String textSearch,
Pageable pageable);
@Query("SELECT new org.thingsboard.server.dao.model.sql.TenantInfoEntity(t, p.name) " +
"FROM TenantEntity t " +
"LEFT JOIN TenantProfileEntity p on p.id = t.tenantProfileId " +
"WHERE LOWER(t.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"WHERE LOWER(t.title) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<TenantInfoEntity> findTenantInfosNextPage(@Param("textSearch") String textSearch,
Pageable pageable);

4
dao/src/main/java/org/thingsboard/server/dao/sql/user/JpaUserDao.java

@ -28,7 +28,7 @@ import org.thingsboard.server.common.data.page.PageLink;
import org.thingsboard.server.common.data.security.Authority;
import org.thingsboard.server.dao.DaoUtil;
import org.thingsboard.server.dao.model.sql.UserEntity;
import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
import org.thingsboard.server.dao.sql.JpaAbstractDao;
import org.thingsboard.server.dao.user.UserDao;
import org.thingsboard.server.dao.util.SqlDao;
@ -43,7 +43,7 @@ import static org.thingsboard.server.dao.model.ModelConstants.NULL_UUID;
*/
@Component
@SqlDao
public class JpaUserDao extends JpaAbstractSearchTextDao<UserEntity, User> implements UserDao {
public class JpaUserDao extends JpaAbstractDao<UserEntity, User> implements UserDao {
@Autowired
private UserRepository userRepository;

6
dao/src/main/java/org/thingsboard/server/dao/sql/user/UserRepository.java

@ -37,7 +37,7 @@ public interface UserRepository extends JpaRepository<UserEntity, UUID> {
@Query("SELECT u FROM UserEntity u WHERE u.tenantId = :tenantId " +
"AND u.customerId = :customerId AND u.authority = :authority " +
"AND LOWER(u.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(u.email) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<UserEntity> findUsersByAuthority(@Param("tenantId") UUID tenantId,
@Param("customerId") UUID customerId,
@Param("searchText") String searchText,
@ -46,14 +46,14 @@ public interface UserRepository extends JpaRepository<UserEntity, UUID> {
@Query("SELECT u FROM UserEntity u WHERE u.tenantId = :tenantId " +
"AND u.customerId IN (:customerIds) " +
"AND LOWER(u.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(u.email) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<UserEntity> findTenantAndCustomerUsers(@Param("tenantId") UUID tenantId,
@Param("customerIds") Collection<UUID> customerIds,
@Param("searchText") String searchText,
Pageable pageable);
@Query("SELECT u FROM UserEntity u WHERE u.tenantId = :tenantId " +
"AND LOWER(u.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(u.email) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<UserEntity> findByTenantId(@Param("tenantId") UUID tenantId,
@Param("searchText") String searchText,
Pageable pageable);

4
dao/src/main/java/org/thingsboard/server/dao/sql/widget/JpaWidgetsBundleDao.java

@ -26,7 +26,7 @@ import org.thingsboard.server.common.data.page.PageLink;
import org.thingsboard.server.common.data.widget.WidgetsBundle;
import org.thingsboard.server.dao.DaoUtil;
import org.thingsboard.server.dao.model.sql.WidgetsBundleEntity;
import org.thingsboard.server.dao.sql.JpaAbstractSearchTextDao;
import org.thingsboard.server.dao.sql.JpaAbstractDao;
import org.thingsboard.server.dao.util.SqlDao;
import org.thingsboard.server.dao.widget.WidgetsBundleDao;
@ -41,7 +41,7 @@ import static org.thingsboard.server.dao.model.ModelConstants.NULL_UUID;
*/
@Component
@SqlDao
public class JpaWidgetsBundleDao extends JpaAbstractSearchTextDao<WidgetsBundleEntity, WidgetsBundle> implements WidgetsBundleDao {
public class JpaWidgetsBundleDao extends JpaAbstractDao<WidgetsBundleEntity, WidgetsBundle> implements WidgetsBundleDao {
@Autowired
private WidgetsBundleRepository widgetsBundleRepository;

6
dao/src/main/java/org/thingsboard/server/dao/sql/widget/WidgetsBundleRepository.java

@ -33,19 +33,19 @@ public interface WidgetsBundleRepository extends JpaRepository<WidgetsBundleEnti
WidgetsBundleEntity findWidgetsBundleByTenantIdAndAlias(UUID tenantId, String alias);
@Query("SELECT wb FROM WidgetsBundleEntity wb WHERE wb.tenantId = :systemTenantId " +
"AND LOWER(wb.searchText) LIKE LOWER(CONCAT('%', :searchText, '%'))")
"AND LOWER(wb.title) LIKE LOWER(CONCAT('%', :searchText, '%'))")
Page<WidgetsBundleEntity> findSystemWidgetsBundles(@Param("systemTenantId") UUID systemTenantId,
@Param("searchText") String searchText,
Pageable pageable);
@Query("SELECT wb FROM WidgetsBundleEntity wb WHERE wb.tenantId = :tenantId " +
"AND LOWER(wb.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"AND LOWER(wb.title) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<WidgetsBundleEntity> findTenantWidgetsBundlesByTenantId(@Param("tenantId") UUID tenantId,
@Param("textSearch") String textSearch,
Pageable pageable);
@Query("SELECT wb FROM WidgetsBundleEntity wb WHERE wb.tenantId IN (:tenantId, :nullTenantId) " +
"AND LOWER(wb.searchText) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
"AND LOWER(wb.title) LIKE LOWER(CONCAT('%', :textSearch, '%'))")
Page<WidgetsBundleEntity> findAllTenantWidgetsBundlesByTenantId(@Param("tenantId") UUID tenantId,
@Param("nullTenantId") UUID nullTenantId,
@Param("textSearch") String textSearch,

14
dao/src/main/resources/sql/schema-entities.sql

@ -124,7 +124,6 @@ CREATE TABLE IF NOT EXISTS component_descriptor (
configuration_descriptor varchar,
name varchar(255),
scope varchar(255),
search_text varchar(255),
type varchar(255),
clustering_mode varchar(255)
);
@ -139,7 +138,6 @@ CREATE TABLE IF NOT EXISTS customer (
country varchar(255),
email varchar(255),
phone varchar(255),
search_text varchar(255),
state varchar(255),
tenant_id uuid,
title varchar(255),
@ -153,7 +151,6 @@ CREATE TABLE IF NOT EXISTS dashboard (
created_time bigint NOT NULL,
configuration varchar,
assigned_customers varchar(1000000),
search_text varchar(255),
tenant_id uuid,
title varchar(255),
mobile_hide boolean DEFAULT false,
@ -173,7 +170,6 @@ CREATE TABLE IF NOT EXISTS rule_chain (
first_rule_node_id uuid,
root boolean,
debug_mode boolean,
search_text varchar(255),
tenant_id uuid,
external_id uuid,
CONSTRAINT rule_chain_external_id_unq_key UNIQUE (tenant_id, external_id)
@ -189,7 +185,6 @@ CREATE TABLE IF NOT EXISTS rule_node (
name varchar(255),
debug_mode boolean,
singleton_mode boolean,
search_text varchar(255),
external_id uuid
);
@ -246,7 +241,6 @@ CREATE TABLE IF NOT EXISTS asset_profile (
name varchar(255),
image varchar(1000000),
description varchar,
search_text varchar(255),
is_default boolean,
tenant_id uuid,
default_rule_chain_id uuid,
@ -269,7 +263,6 @@ CREATE TABLE IF NOT EXISTS asset (
asset_profile_id uuid NOT NULL,
name varchar(255),
label varchar(255),
search_text varchar(255),
tenant_id uuid,
type varchar(255),
external_id uuid,
@ -288,7 +281,6 @@ CREATE TABLE IF NOT EXISTS device_profile (
provision_type varchar(255),
profile_data jsonb,
description varchar,
search_text varchar(255),
is_default boolean,
tenant_id uuid,
firmware_id uuid,
@ -442,7 +434,6 @@ CREATE TABLE IF NOT EXISTS tb_user (
first_name varchar(255),
last_name varchar(255),
phone varchar(255),
search_text varchar(255),
tenant_id uuid
);
@ -452,7 +443,6 @@ CREATE TABLE IF NOT EXISTS tenant_profile (
name varchar(255),
profile_data jsonb,
description varchar,
search_text varchar(255),
is_default boolean,
isolated_tb_core boolean,
isolated_tb_rule_engine boolean,
@ -471,7 +461,6 @@ CREATE TABLE IF NOT EXISTS tenant (
email varchar(255),
phone varchar(255),
region varchar(255),
search_text varchar(255),
state varchar(255),
title varchar(255),
zip varchar(255),
@ -505,7 +494,6 @@ CREATE TABLE IF NOT EXISTS widgets_bundle (
id uuid NOT NULL CONSTRAINT widgets_bundle_pkey PRIMARY KEY,
created_time bigint NOT NULL,
alias varchar(255),
search_text varchar(255),
tenant_id uuid,
title varchar(255),
image varchar(1000000),
@ -526,7 +514,6 @@ CREATE TABLE IF NOT EXISTS entity_view (
keys varchar(10000000),
start_ts bigint,
end_ts bigint,
search_text varchar(255),
additional_info varchar,
external_id uuid,
CONSTRAINT entity_view_external_id_unq_key UNIQUE (tenant_id, external_id)
@ -725,7 +712,6 @@ CREATE TABLE IF NOT EXISTS edge (
label varchar(255),
routing_key varchar(255),
secret varchar(255),
search_text varchar(255),
tenant_id uuid,
CONSTRAINT edge_name_unq_key UNIQUE (tenant_id, name),
CONSTRAINT edge_routing_key_unq_key UNIQUE (routing_key)

6
dao/src/test/java/org/thingsboard/server/dao/service/AssetServiceTest.java

@ -670,7 +670,7 @@ public class AssetServiceTest extends AbstractServiceTest {
)
);
PageLink pageLinkWithCustomer = new PageLink(100, 0, savedCustomer.getSearchText());
PageLink pageLinkWithCustomer = new PageLink(100, 0, savedCustomer.getTitle());
List<AssetInfo> assetInfosWithCustomer = assetService
.findAssetInfosByTenantId(tenantId, pageLinkWithCustomer).getData();
@ -730,7 +730,7 @@ public class AssetServiceTest extends AbstractServiceTest {
)
);
PageLink pageLinkWithCustomer = new PageLink(100, 0, savedCustomer.getSearchText());
PageLink pageLinkWithCustomer = new PageLink(100, 0, savedCustomer.getTitle());
List<AssetInfo> assetInfosWithCustomer = assetService
.findAssetInfosByTenantIdAndType(tenantId, asset.getType(), pageLinkWithCustomer).getData();
@ -776,7 +776,7 @@ public class AssetServiceTest extends AbstractServiceTest {
)
);
PageLink pageLinkWithCustomer = new PageLink(100, 0, savedCustomer.getSearchText());
PageLink pageLinkWithCustomer = new PageLink(100, 0, savedCustomer.getTitle());
List<AssetInfo> assetInfosWithCustomer = assetService
.findAssetInfosByTenantIdAndAssetProfileId(tenantId, savedAsset.getAssetProfileId(), pageLinkWithCustomer).getData();

6
dao/src/test/java/org/thingsboard/server/dao/service/DeviceServiceTest.java

@ -862,7 +862,7 @@ public class DeviceServiceTest extends AbstractServiceTest {
)
);
PageLink pageLinkWithCustomer = new PageLink(100, 0, savedCustomer.getSearchText());
PageLink pageLinkWithCustomer = new PageLink(100, 0, savedCustomer.getTitle());
List<DeviceInfo> deviceInfosWithCustomer = deviceService
.findDeviceInfosByFilter(DeviceInfoFilter.builder().tenantId(tenantId).build(), pageLinkWithCustomer).getData();
@ -922,7 +922,7 @@ public class DeviceServiceTest extends AbstractServiceTest {
)
);
PageLink pageLinkWithCustomer = new PageLink(100, 0, savedCustomer.getSearchText());
PageLink pageLinkWithCustomer = new PageLink(100, 0, savedCustomer.getTitle());
List<DeviceInfo> deviceInfosWithCustomer = deviceService
.findDeviceInfosByFilter(DeviceInfoFilter.builder().tenantId(tenantId).type(device.getType()).build(), pageLinkWithCustomer).getData();
@ -968,7 +968,7 @@ public class DeviceServiceTest extends AbstractServiceTest {
)
);
PageLink pageLinkWithCustomer = new PageLink(100, 0, savedCustomer.getSearchText());
PageLink pageLinkWithCustomer = new PageLink(100, 0, savedCustomer.getTitle());
List<DeviceInfo> deviceInfosWithCustomer = deviceService
.findDeviceInfosByFilter(DeviceInfoFilter.builder().tenantId(tenantId).deviceProfileId(savedDevice.getDeviceProfileId()).build(), pageLinkWithCustomer).getData();

5
dao/src/test/resources/sql/system-data.sql

@ -17,9 +17,8 @@
/** SYSTEM **/
/** System admin **/
INSERT INTO tb_user ( id, created_time, tenant_id, customer_id, email, search_text, authority )
VALUES ( '5a797660-4612-11e7-a919-92ebcb67fe33', 1592576748000, '13814000-1dd2-11b2-8080-808080808080', '13814000-1dd2-11b2-8080-808080808080', 'sysadmin@thingsboard.org',
'sysadmin@thingsboard.org', 'SYS_ADMIN' );
INSERT INTO tb_user ( id, created_time, tenant_id, customer_id, email, authority )
VALUES ( '5a797660-4612-11e7-a919-92ebcb67fe33', 1592576748000, '13814000-1dd2-11b2-8080-808080808080', '13814000-1dd2-11b2-8080-808080808080', 'sysadmin@thingsboard.org', 'SYS_ADMIN' );
INSERT INTO user_credentials ( id, created_time, user_id, enabled, password )
VALUES ( '61441950-4612-11e7-a919-92ebcb67fe33', 1592576748000, '5a797660-4612-11e7-a919-92ebcb67fe33', true,

1
rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/util/EntitiesByNameAndTypeLoader.java

@ -18,7 +18,6 @@ package org.thingsboard.rule.engine.util;
import org.thingsboard.rule.engine.api.TbContext;
import org.thingsboard.server.common.data.BaseData;
import org.thingsboard.server.common.data.EntityType;
import org.thingsboard.server.common.data.SearchTextBasedWithAdditionalInfo;
import org.thingsboard.server.common.data.id.EntityId;
import java.util.List;

Loading…
Cancel
Save