Browse Source

Add ComplexOperation field to EDQS query model and propagate through toNewQuery

- Add keyFiltersOperation field to EdqsQuery base class
- Update EdqsCountQuery and EdqsDataQuery constructors to accept and propagate ComplexOperation
- Propagate keyFiltersOperationOrDefault in both toNewQuery overloads in RepositoryUtils
pull/15394/head
Viacheslav Klimov 2 months ago
parent
commit
ce68c8fca5
Failed to extract signature
  1. 5
      common/edqs/src/main/java/org/thingsboard/server/edqs/query/EdqsCountQuery.java
  2. 5
      common/edqs/src/main/java/org/thingsboard/server/edqs/query/EdqsDataQuery.java
  3. 2
      common/edqs/src/main/java/org/thingsboard/server/edqs/query/EdqsQuery.java
  4. 2
      common/edqs/src/main/java/org/thingsboard/server/edqs/util/RepositoryUtils.java

5
common/edqs/src/main/java/org/thingsboard/server/edqs/query/EdqsCountQuery.java

@ -16,6 +16,7 @@
package org.thingsboard.server.edqs.query;
import lombok.Builder;
import org.thingsboard.server.common.data.query.ComplexOperation;
import org.thingsboard.server.common.data.query.EntityFilter;
import java.util.List;
@ -23,8 +24,8 @@ import java.util.List;
public class EdqsCountQuery extends EdqsQuery {
@Builder
EdqsCountQuery(EntityFilter entityFilter, boolean hasKeyFilters, List<EdqsFilter> keyFilters) {
super(entityFilter, hasKeyFilters, keyFilters);
EdqsCountQuery(EntityFilter entityFilter, boolean hasKeyFilters, List<EdqsFilter> keyFilters, ComplexOperation keyFiltersOperation) {
super(entityFilter, hasKeyFilters, keyFilters, keyFiltersOperation);
}
}

5
common/edqs/src/main/java/org/thingsboard/server/edqs/query/EdqsDataQuery.java

@ -19,6 +19,7 @@ import lombok.Builder;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import org.thingsboard.server.common.data.StringUtils;
import org.thingsboard.server.common.data.query.ComplexOperation;
import org.thingsboard.server.common.data.query.EntityDataSortOrder;
import org.thingsboard.server.common.data.query.EntityFilter;
import org.thingsboard.server.common.data.query.EntityKeyType;
@ -41,10 +42,10 @@ public class EdqsDataQuery extends EdqsQuery {
private final List<DataKey> latestValues;
@Builder
public EdqsDataQuery(EntityFilter entityFilter, List<EdqsFilter> keyFilters,
public EdqsDataQuery(EntityFilter entityFilter, List<EdqsFilter> keyFilters, ComplexOperation keyFiltersOperation,
int pageSize, int page, String textSearch, DataKey sortKey, EntityDataSortOrder.Direction sortDirection,
List<DataKey> entityFields, List<DataKey> latestValues) {
super(entityFilter, CollectionsUtil.isNotEmpty(keyFilters), keyFilters);
super(entityFilter, CollectionsUtil.isNotEmpty(keyFilters), keyFilters, keyFiltersOperation);
this.pageSize = pageSize;
this.page = page;
this.hasTextSearch = StringUtils.isNotBlank(textSearch);

2
common/edqs/src/main/java/org/thingsboard/server/edqs/query/EdqsQuery.java

@ -16,6 +16,7 @@
package org.thingsboard.server.edqs.query;
import lombok.Data;
import org.thingsboard.server.common.data.query.ComplexOperation;
import org.thingsboard.server.common.data.query.EntityFilter;
import java.util.List;
@ -26,5 +27,6 @@ public abstract class EdqsQuery {
private final EntityFilter entityFilter;
private final boolean hasKeyFilters;
private final List<EdqsFilter> keyFilters;
private final ComplexOperation keyFiltersOperation;
}

2
common/edqs/src/main/java/org/thingsboard/server/edqs/util/RepositoryUtils.java

@ -139,6 +139,7 @@ public class RepositoryUtils {
}
query.entityFilter(oldQuery.getEntityFilter());
query.keyFilters(toKeyFilters(oldQuery.getKeyFilters()));
query.keyFiltersOperation(oldQuery.getKeyFiltersOperationOrDefault());
query.entityFields(toNewKeys(oldQuery.getEntityFields()));
query.latestValues(toNewKeys(oldQuery.getLatestValues()));
return query.build();
@ -149,6 +150,7 @@ public class RepositoryUtils {
.entityFilter(oldQuery.getEntityFilter())
.hasKeyFilters(CollectionsUtil.isNotEmpty(oldQuery.getKeyFilters()))
.keyFilters(toKeyFilters(oldQuery.getKeyFilters()))
.keyFiltersOperation(oldQuery.getKeyFiltersOperationOrDefault())
.build();
}

Loading…
Cancel
Save