Fix sonar findings (#2769)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
This commit is contained in:
@@ -23,7 +23,6 @@ import java.io.StringWriter;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.core.JsonFactory;
|
import com.fasterxml.jackson.core.JsonFactory;
|
||||||
import com.fasterxml.jackson.core.JsonGenerator;
|
import com.fasterxml.jackson.core.JsonGenerator;
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.NoSuchElementException;
|
|
||||||
|
|
||||||
import org.eclipse.hawkbit.ddi.rest.api.DdiRestConstants;
|
import org.eclipse.hawkbit.ddi.rest.api.DdiRestConstants;
|
||||||
import org.eclipse.hawkbit.exception.SpServerError;
|
import org.eclipse.hawkbit.exception.SpServerError;
|
||||||
|
|||||||
@@ -33,13 +33,11 @@ import org.eclipse.hawkbit.repository.jpa.rsql.legacy.SpecificationBuilderLegacy
|
|||||||
import org.eclipse.hawkbit.repository.rsql.VirtualPropertyResolver;
|
import org.eclipse.hawkbit.repository.rsql.VirtualPropertyResolver;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.boot.autoconfigure.orm.jpa.JpaProperties;
|
|
||||||
import org.springframework.context.ApplicationListener;
|
import org.springframework.context.ApplicationListener;
|
||||||
import org.springframework.context.event.ContextRefreshedEvent;
|
import org.springframework.context.event.ContextRefreshedEvent;
|
||||||
import org.springframework.core.Ordered;
|
import org.springframework.core.Ordered;
|
||||||
import org.springframework.core.annotation.Order;
|
import org.springframework.core.annotation.Order;
|
||||||
import org.springframework.data.jpa.domain.Specification;
|
import org.springframework.data.jpa.domain.Specification;
|
||||||
import org.springframework.orm.jpa.vendor.Database;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A utility class which is able to parse RSQL strings into an spring data
|
* A utility class which is able to parse RSQL strings into an spring data
|
||||||
@@ -114,7 +112,6 @@ public class QLSupport implements ApplicationListener<ContextRefreshedEvent> {
|
|||||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||||
private QueryParser parser;
|
private QueryParser parser;
|
||||||
private List<NodeTransformer> nodeTransformers;
|
private List<NodeTransformer> nodeTransformers;
|
||||||
private Database database;
|
|
||||||
private EntityManager entityManager;
|
private EntityManager entityManager;
|
||||||
private VirtualPropertyResolver virtualPropertyResolver;
|
private VirtualPropertyResolver virtualPropertyResolver;
|
||||||
|
|
||||||
@@ -139,11 +136,6 @@ public class QLSupport implements ApplicationListener<ContextRefreshedEvent> {
|
|||||||
}).toList();
|
}).toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Autowired
|
|
||||||
void setDatabase(final JpaProperties jpaProperties) {
|
|
||||||
database = jpaProperties.getDatabase();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
void setEntityManager(final EntityManager entityManager) {
|
void setEntityManager(final EntityManager entityManager) {
|
||||||
this.entityManager = entityManager;
|
this.entityManager = entityManager;
|
||||||
@@ -171,15 +163,15 @@ public class QLSupport implements ApplicationListener<ContextRefreshedEvent> {
|
|||||||
*/
|
*/
|
||||||
public <A extends Enum<A> & QueryField, T> Specification<T> buildSpec(final String query, final Class<A> queryFieldType) {
|
public <A extends Enum<A> & QueryField, T> Specification<T> buildSpec(final String query, final Class<A> queryFieldType) {
|
||||||
if (specBuilder == SpecBuilder.G3) {
|
if (specBuilder == SpecBuilder.G3) {
|
||||||
return new SpecificationBuilder<T>(ignoreCase && !caseInsensitiveDB , database)
|
return new SpecificationBuilder<T>(ignoreCase && !caseInsensitiveDB)
|
||||||
.specification(transform(parse(query, queryFieldType), queryFieldType));
|
.specification(transform(parse(query, queryFieldType), queryFieldType));
|
||||||
} else {
|
} else {
|
||||||
return new SpecificationBuilderLegacy<A, T>(queryFieldType, virtualPropertyResolver, database).specification(query);
|
return new SpecificationBuilderLegacy<A, T>(queryFieldType, virtualPropertyResolver).specification(query);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public <A extends Enum<A> & QueryField, T> Specification<T> buildSpec(final Node query, final Class<A> queryFieldType) {
|
public <A extends Enum<A> & QueryField, T> Specification<T> buildSpec(final Node query, final Class<A> queryFieldType) {
|
||||||
return new SpecificationBuilder<T>(ignoreCase && !caseInsensitiveDB , database)
|
return new SpecificationBuilder<T>(ignoreCase && !caseInsensitiveDB)
|
||||||
.specification(transform(query, queryFieldType));
|
.specification(transform(query, queryFieldType));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -55,7 +55,6 @@ import org.eclipse.hawkbit.repository.jpa.ql.Node.Comparison;
|
|||||||
import org.eclipse.hawkbit.repository.jpa.ql.Node.Comparison.Operator;
|
import org.eclipse.hawkbit.repository.jpa.ql.Node.Comparison.Operator;
|
||||||
import org.eclipse.hawkbit.repository.jpa.ql.Node.Logical;
|
import org.eclipse.hawkbit.repository.jpa.ql.Node.Logical;
|
||||||
import org.springframework.data.jpa.domain.Specification;
|
import org.springframework.data.jpa.domain.Specification;
|
||||||
import org.springframework.orm.jpa.vendor.Database;
|
|
||||||
import org.springframework.util.ObjectUtils;
|
import org.springframework.util.ObjectUtils;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -64,11 +63,9 @@ public class SpecificationBuilder<T> {
|
|||||||
private static final char ESCAPE_CHAR = '\\';
|
private static final char ESCAPE_CHAR = '\\';
|
||||||
|
|
||||||
private final boolean ensureIgnoreCase;
|
private final boolean ensureIgnoreCase;
|
||||||
private final Database database;
|
|
||||||
|
|
||||||
public SpecificationBuilder(final boolean ensureIgnoreCase, final Database database) {
|
public SpecificationBuilder(final boolean ensureIgnoreCase) {
|
||||||
this.ensureIgnoreCase = ensureIgnoreCase;
|
this.ensureIgnoreCase = ensureIgnoreCase;
|
||||||
this.database = database;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Specification<T> specification(final Node node) {
|
public Specification<T> specification(final Node node) {
|
||||||
|
|||||||
@@ -49,7 +49,6 @@ import org.eclipse.hawkbit.repository.exception.RSQLParameterUnsupportedFieldExc
|
|||||||
import org.eclipse.hawkbit.repository.rsql.VirtualPropertyResolver;
|
import org.eclipse.hawkbit.repository.rsql.VirtualPropertyResolver;
|
||||||
import org.springframework.beans.SimpleTypeConverter;
|
import org.springframework.beans.SimpleTypeConverter;
|
||||||
import org.springframework.beans.TypeMismatchException;
|
import org.springframework.beans.TypeMismatchException;
|
||||||
import org.springframework.orm.jpa.vendor.Database;
|
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
import org.springframework.util.ObjectUtils;
|
import org.springframework.util.ObjectUtils;
|
||||||
|
|
||||||
@@ -77,7 +76,6 @@ public class JpaQueryRsqlVisitor<A extends Enum<A> & QueryField, T> extends Abst
|
|||||||
|
|
||||||
private final CriteriaBuilder cb;
|
private final CriteriaBuilder cb;
|
||||||
private final CriteriaQuery<?> query;
|
private final CriteriaQuery<?> query;
|
||||||
private final Database database;
|
|
||||||
private final boolean ensureIgnoreCase;
|
private final boolean ensureIgnoreCase;
|
||||||
private final Root<T> root;
|
private final Root<T> root;
|
||||||
private final VirtualPropertyResolver virtualPropertyResolver;
|
private final VirtualPropertyResolver virtualPropertyResolver;
|
||||||
@@ -89,7 +87,7 @@ public class JpaQueryRsqlVisitor<A extends Enum<A> & QueryField, T> extends Abst
|
|||||||
|
|
||||||
public JpaQueryRsqlVisitor(
|
public JpaQueryRsqlVisitor(
|
||||||
final Root<T> root, final CriteriaBuilder cb, final Class<A> enumType,
|
final Root<T> root, final CriteriaBuilder cb, final Class<A> enumType,
|
||||||
final VirtualPropertyResolver virtualPropertyResolver, final Database database,
|
final VirtualPropertyResolver virtualPropertyResolver,
|
||||||
final CriteriaQuery<?> query, final boolean ensureIgnoreCase) {
|
final CriteriaQuery<?> query, final boolean ensureIgnoreCase) {
|
||||||
super(enumType);
|
super(enumType);
|
||||||
this.root = root;
|
this.root = root;
|
||||||
@@ -97,7 +95,6 @@ public class JpaQueryRsqlVisitor<A extends Enum<A> & QueryField, T> extends Abst
|
|||||||
this.query = query;
|
this.query = query;
|
||||||
this.virtualPropertyResolver = virtualPropertyResolver;
|
this.virtualPropertyResolver = virtualPropertyResolver;
|
||||||
this.simpleTypeConverter = new SimpleTypeConverter();
|
this.simpleTypeConverter = new SimpleTypeConverter();
|
||||||
this.database = database;
|
|
||||||
this.ensureIgnoreCase = ensureIgnoreCase;
|
this.ensureIgnoreCase = ensureIgnoreCase;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -334,7 +331,8 @@ public class JpaQueryRsqlVisitor<A extends Enum<A> & QueryField, T> extends Abst
|
|||||||
|
|
||||||
final Predicate mapPredicate = mapToMapPredicate(fieldPath, queryPath);
|
final Predicate mapPredicate = mapToMapPredicate(fieldPath, queryPath);
|
||||||
|
|
||||||
final Predicate valuePredicate = addOperatorPredicate(node, queryPath.getEnumValue().isMap() ? (Path)toMapValuePath(fieldPath) : fieldPath, transformedValues, value, queryPath);
|
final Predicate valuePredicate = addOperatorPredicate(node,
|
||||||
|
queryPath.getEnumValue().isMap() ? (Path) toMapValuePath(fieldPath) : fieldPath, transformedValues, value, queryPath);
|
||||||
return toSingleList(mapPredicate != null ? cb.and(mapPredicate, valuePredicate) : valuePredicate);
|
return toSingleList(mapPredicate != null ? cb.and(mapPredicate, valuePredicate) : valuePredicate);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -495,7 +493,7 @@ public class JpaQueryRsqlVisitor<A extends Enum<A> & QueryField, T> extends Abst
|
|||||||
|
|
||||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||||
private Expression<String> getExpressionToCompare(final Path innerFieldPath, final A enumField) {
|
private Expression<String> getExpressionToCompare(final Path innerFieldPath, final A enumField) {
|
||||||
if (enumField.isMap()){
|
if (enumField.isMap()) {
|
||||||
return toMapValuePath(innerFieldPath);
|
return toMapValuePath(innerFieldPath);
|
||||||
} else {
|
} else {
|
||||||
return pathOfString(innerFieldPath);
|
return pathOfString(innerFieldPath);
|
||||||
|
|||||||
@@ -46,7 +46,6 @@ import org.eclipse.hawkbit.repository.exception.RSQLParameterSyntaxException;
|
|||||||
import org.eclipse.hawkbit.repository.exception.RSQLParameterUnsupportedFieldException;
|
import org.eclipse.hawkbit.repository.exception.RSQLParameterUnsupportedFieldException;
|
||||||
import org.eclipse.hawkbit.repository.jpa.ql.SpecificationBuilder;
|
import org.eclipse.hawkbit.repository.jpa.ql.SpecificationBuilder;
|
||||||
import org.eclipse.hawkbit.repository.rsql.VirtualPropertyResolver;
|
import org.eclipse.hawkbit.repository.rsql.VirtualPropertyResolver;
|
||||||
import org.springframework.orm.jpa.vendor.Database;
|
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
import org.springframework.util.ObjectUtils;
|
import org.springframework.util.ObjectUtils;
|
||||||
|
|
||||||
@@ -56,9 +55,9 @@ import org.springframework.util.ObjectUtils;
|
|||||||
* @param <A> the enum for providing the field name of the entity field to filter on.
|
* @param <A> the enum for providing the field name of the entity field to filter on.
|
||||||
* @param <T> the entity type referenced by the root
|
* @param <T> the entity type referenced by the root
|
||||||
* @deprecated Old implementation of RSQL Visitor (G2). Deprecated in favour of next gen implementation -
|
* @deprecated Old implementation of RSQL Visitor (G2). Deprecated in favour of next gen implementation -
|
||||||
* {@link SpecificationBuilder}.
|
* {@link SpecificationBuilder}.
|
||||||
* It will be kept for some time in order to keep backward compatibility and to allow for a smooth transition. Also, in case of
|
* It will be kept for some time in order to keep backward compatibility and to allow for a smooth transition. Also, in case of
|
||||||
* problems with the new implementation, this one can be used as a fallback.
|
* problems with the new implementation, this one can be used as a fallback.
|
||||||
*/
|
*/
|
||||||
@Deprecated(forRemoval = true, since = "0.9.0")
|
@Deprecated(forRemoval = true, since = "0.9.0")
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -72,7 +71,6 @@ public class JpaQueryRsqlVisitorG2<A extends Enum<A> & QueryField, T>
|
|||||||
private final Root<T> root;
|
private final Root<T> root;
|
||||||
private final CriteriaQuery<?> query;
|
private final CriteriaQuery<?> query;
|
||||||
private final CriteriaBuilder cb;
|
private final CriteriaBuilder cb;
|
||||||
private final Database database;
|
|
||||||
private final VirtualPropertyResolver virtualPropertyResolver;
|
private final VirtualPropertyResolver virtualPropertyResolver;
|
||||||
private final boolean ensureIgnoreCase;
|
private final boolean ensureIgnoreCase;
|
||||||
|
|
||||||
@@ -82,13 +80,12 @@ public class JpaQueryRsqlVisitorG2<A extends Enum<A> & QueryField, T>
|
|||||||
public JpaQueryRsqlVisitorG2(
|
public JpaQueryRsqlVisitorG2(
|
||||||
final Class<A> enumType,
|
final Class<A> enumType,
|
||||||
final Root<T> root, final CriteriaQuery<?> query, final CriteriaBuilder cb,
|
final Root<T> root, final CriteriaQuery<?> query, final CriteriaBuilder cb,
|
||||||
final Database database, final VirtualPropertyResolver virtualPropertyResolver, final boolean ensureIgnoreCase) {
|
final VirtualPropertyResolver virtualPropertyResolver, final boolean ensureIgnoreCase) {
|
||||||
super(enumType);
|
super(enumType);
|
||||||
this.root = root;
|
this.root = root;
|
||||||
this.cb = cb;
|
this.cb = cb;
|
||||||
this.query = query;
|
this.query = query;
|
||||||
this.virtualPropertyResolver = virtualPropertyResolver;
|
this.virtualPropertyResolver = virtualPropertyResolver;
|
||||||
this.database = database;
|
|
||||||
this.ensureIgnoreCase = ensureIgnoreCase;
|
this.ensureIgnoreCase = ensureIgnoreCase;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -150,7 +147,8 @@ public class JpaQueryRsqlVisitorG2<A extends Enum<A> & QueryField, T>
|
|||||||
mapEntryKeyPredicate = null;
|
mapEntryKeyPredicate = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
final Predicate valuePredicate = toOperatorAndValuePredicate(node, queryPath, queryPath.getEnumValue().isMap() ? toMapValuePath(fieldPath) : fieldPath, values);
|
final Predicate valuePredicate = toOperatorAndValuePredicate(node, queryPath,
|
||||||
|
queryPath.getEnumValue().isMap() ? toMapValuePath(fieldPath) : fieldPath, values);
|
||||||
|
|
||||||
return mapEntryKeyPredicate == null ? valuePredicate : cb.and(mapEntryKeyPredicate, valuePredicate);
|
return mapEntryKeyPredicate == null ? valuePredicate : cb.and(mapEntryKeyPredicate, valuePredicate);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,8 +9,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.eclipse.hawkbit.repository.jpa.rsql.legacy;
|
package org.eclipse.hawkbit.repository.jpa.rsql.legacy;
|
||||||
|
|
||||||
import static org.eclipse.hawkbit.repository.jpa.rsql.legacy.AbstractRSQLVisitor.OPERATORS;
|
|
||||||
import static org.eclipse.hawkbit.repository.jpa.ql.QLSupport.SpecBuilder.LEGACY_G1;
|
import static org.eclipse.hawkbit.repository.jpa.ql.QLSupport.SpecBuilder.LEGACY_G1;
|
||||||
|
import static org.eclipse.hawkbit.repository.jpa.rsql.legacy.AbstractRSQLVisitor.OPERATORS;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -23,15 +23,14 @@ import cz.jirutka.rsql.parser.ast.RSQLVisitor;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.eclipse.hawkbit.repository.QueryField;
|
import org.eclipse.hawkbit.repository.QueryField;
|
||||||
import org.eclipse.hawkbit.repository.exception.RSQLParameterSyntaxException;
|
import org.eclipse.hawkbit.repository.exception.RSQLParameterSyntaxException;
|
||||||
import org.eclipse.hawkbit.repository.jpa.ql.SpecificationBuilder;
|
|
||||||
import org.eclipse.hawkbit.repository.jpa.ql.QLSupport;
|
import org.eclipse.hawkbit.repository.jpa.ql.QLSupport;
|
||||||
|
import org.eclipse.hawkbit.repository.jpa.ql.SpecificationBuilder;
|
||||||
import org.eclipse.hawkbit.repository.rsql.VirtualPropertyResolver;
|
import org.eclipse.hawkbit.repository.rsql.VirtualPropertyResolver;
|
||||||
import org.springframework.data.jpa.domain.Specification;
|
import org.springframework.data.jpa.domain.Specification;
|
||||||
import org.springframework.orm.jpa.vendor.Database;
|
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated Old implementation of RSQL Visitor (G2). Deprecated in favour of next gen implementation - {@link SpecificationBuilder}.
|
* @deprecated Old implementation of RSQL Visitor (G2). Deprecated in favour of next gen implementation - {@link SpecificationBuilder}.
|
||||||
*/
|
*/
|
||||||
@Deprecated(forRemoval = true, since = "0.9.0")
|
@Deprecated(forRemoval = true, since = "0.9.0")
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -39,13 +38,10 @@ public class SpecificationBuilderLegacy<A extends Enum<A> & QueryField, T> {
|
|||||||
|
|
||||||
private final Class<A> rsqlQueryFieldType;
|
private final Class<A> rsqlQueryFieldType;
|
||||||
private final VirtualPropertyResolver virtualPropertyResolver;
|
private final VirtualPropertyResolver virtualPropertyResolver;
|
||||||
private final Database database;
|
|
||||||
|
|
||||||
public SpecificationBuilderLegacy(
|
public SpecificationBuilderLegacy(final Class<A> rsqlQueryFieldType, final VirtualPropertyResolver virtualPropertyResolver) {
|
||||||
final Class<A> rsqlQueryFieldType, final VirtualPropertyResolver virtualPropertyResolver, final Database database) {
|
|
||||||
this.rsqlQueryFieldType = rsqlQueryFieldType;
|
this.rsqlQueryFieldType = rsqlQueryFieldType;
|
||||||
this.virtualPropertyResolver = virtualPropertyResolver;
|
this.virtualPropertyResolver = virtualPropertyResolver;
|
||||||
this.database = database;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Specification<T> specification(final String rsql) {
|
public Specification<T> specification(final String rsql) {
|
||||||
@@ -58,8 +54,8 @@ public class SpecificationBuilderLegacy<A extends Enum<A> & QueryField, T> {
|
|||||||
final boolean ensureIgnoreCase = !qlSupport.isCaseInsensitiveDB() && qlSupport.isIgnoreCase();
|
final boolean ensureIgnoreCase = !qlSupport.isCaseInsensitiveDB() && qlSupport.isIgnoreCase();
|
||||||
final RSQLVisitor<List<Predicate>, String> jpqQueryRSQLVisitor =
|
final RSQLVisitor<List<Predicate>, String> jpqQueryRSQLVisitor =
|
||||||
qlSupport.getSpecBuilder() == LEGACY_G1
|
qlSupport.getSpecBuilder() == LEGACY_G1
|
||||||
? new JpaQueryRsqlVisitor<>(root, cb, rsqlQueryFieldType, virtualPropertyResolver, database, query, ensureIgnoreCase)
|
? new JpaQueryRsqlVisitor<>(root, cb, rsqlQueryFieldType, virtualPropertyResolver, query, ensureIgnoreCase)
|
||||||
: new JpaQueryRsqlVisitorG2<>(rsqlQueryFieldType, root, query, cb, database, virtualPropertyResolver, ensureIgnoreCase);
|
: new JpaQueryRsqlVisitorG2<>(rsqlQueryFieldType, root, query, cb, virtualPropertyResolver, ensureIgnoreCase);
|
||||||
final List<Predicate> accept = rootNode.accept(jpqQueryRSQLVisitor);
|
final List<Predicate> accept = rootNode.accept(jpqQueryRSQLVisitor);
|
||||||
|
|
||||||
if (CollectionUtils.isEmpty(accept)) {
|
if (CollectionUtils.isEmpty(accept)) {
|
||||||
|
|||||||
@@ -22,13 +22,12 @@ import org.eclipse.hawkbit.repository.jpa.ql.QLSupport.SpecBuilder;
|
|||||||
import org.eclipse.hawkbit.repository.jpa.rsql.legacy.SpecificationBuilderLegacy;
|
import org.eclipse.hawkbit.repository.jpa.rsql.legacy.SpecificationBuilderLegacy;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.springframework.data.jpa.domain.Specification;
|
import org.springframework.data.jpa.domain.Specification;
|
||||||
import org.springframework.orm.jpa.vendor.Database;
|
|
||||||
|
|
||||||
@SuppressWarnings("java:S2699") // java:S2699 - assertions are un the super methods that are called
|
@SuppressWarnings("java:S2699") // java:S2699 - assertions are un the super methods that are called
|
||||||
@Slf4j
|
@Slf4j
|
||||||
class SpecificationBuilderLegacyTest extends SpecificationBuilderTest {
|
class SpecificationBuilderLegacyTest extends SpecificationBuilderTest {
|
||||||
|
|
||||||
private final SpecificationBuilderLegacy<RootField, Root> builder = new SpecificationBuilderLegacy<>(RootField.class, null, Database.H2);
|
private final SpecificationBuilderLegacy<RootField, Root> builder = new SpecificationBuilderLegacy<>(RootField.class, null);
|
||||||
|
|
||||||
private static void runWithRsqlToSpecBuilder(final Runnable runnable, final SpecBuilder rsqlToSpecBuilder) {
|
private static void runWithRsqlToSpecBuilder(final Runnable runnable, final SpecBuilder rsqlToSpecBuilder) {
|
||||||
final SpecBuilder defaultBuilder = QLSupport.getInstance().getSpecBuilder();
|
final SpecBuilder defaultBuilder = QLSupport.getInstance().getSpecBuilder();
|
||||||
@@ -44,6 +43,7 @@ class SpecificationBuilderLegacyTest extends SpecificationBuilderTest {
|
|||||||
void singularStringAttributeG1() {
|
void singularStringAttributeG1() {
|
||||||
runWithRsqlToSpecBuilder(super::singularStringAttribute, LEGACY_G1);
|
runWithRsqlToSpecBuilder(super::singularStringAttribute, LEGACY_G1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Test
|
@Test
|
||||||
void singularStringAttribute() {
|
void singularStringAttribute() {
|
||||||
@@ -54,6 +54,7 @@ class SpecificationBuilderLegacyTest extends SpecificationBuilderTest {
|
|||||||
void singularIntAttributeG1() {
|
void singularIntAttributeG1() {
|
||||||
runWithRsqlToSpecBuilder(super::singularIntAttribute, LEGACY_G1);
|
runWithRsqlToSpecBuilder(super::singularIntAttribute, LEGACY_G1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Test
|
@Test
|
||||||
void singularIntAttribute() {
|
void singularIntAttribute() {
|
||||||
@@ -64,6 +65,7 @@ class SpecificationBuilderLegacyTest extends SpecificationBuilderTest {
|
|||||||
void singularEntityAttributeG1() {
|
void singularEntityAttributeG1() {
|
||||||
runWithRsqlToSpecBuilder(super::singularEntityAttribute, LEGACY_G1);
|
runWithRsqlToSpecBuilder(super::singularEntityAttribute, LEGACY_G1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Test
|
@Test
|
||||||
void singularEntityAttribute() {
|
void singularEntityAttribute() {
|
||||||
@@ -74,6 +76,7 @@ class SpecificationBuilderLegacyTest extends SpecificationBuilderTest {
|
|||||||
void pluralSubSetAttributeG1() {
|
void pluralSubSetAttributeG1() {
|
||||||
runWithRsqlToSpecBuilder(super::pluralSubSetAttribute, LEGACY_G1);
|
runWithRsqlToSpecBuilder(super::pluralSubSetAttribute, LEGACY_G1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Test
|
@Test
|
||||||
void pluralSubSetAttribute() {
|
void pluralSubSetAttribute() {
|
||||||
@@ -91,6 +94,7 @@ class SpecificationBuilderLegacyTest extends SpecificationBuilderTest {
|
|||||||
void singularEntitySubSubAttributeG1() {
|
void singularEntitySubSubAttributeG1() {
|
||||||
runWithRsqlToSpecBuilder(super::singularEntitySubSubAttribute, LEGACY_G1);
|
runWithRsqlToSpecBuilder(super::singularEntitySubSubAttribute, LEGACY_G1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Test
|
@Test
|
||||||
void singularEntitySubSubAttribute() {
|
void singularEntitySubSubAttribute() {
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ class SpecificationBuilderTest {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private EntityManager entityManager;
|
private EntityManager entityManager;
|
||||||
|
|
||||||
private final SpecificationBuilder<Root> builder = new SpecificationBuilder<>(false, Database.H2);
|
private final SpecificationBuilder<Root> builder = new SpecificationBuilder<>(false);
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void singularStringAttribute() {
|
void singularStringAttribute() {
|
||||||
|
|||||||
@@ -125,6 +125,7 @@ class OfflineDsAssignmentStrategy extends AbstractDsAssignmentStrategy {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void cancelActiveActions(final List<List<Long>> targetIds) {
|
public void cancelActiveActions(final List<List<Long>> targetIds) {
|
||||||
|
// Not supported by offline case
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user