Skip to content

DATAJDBC-518 - Allows the combination for CriteriaDefinition. #205

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

<groupId>org.springframework.data</groupId>
<artifactId>spring-data-relational-parent</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
<version>2.0.0.DATAJDBC-518-SNAPSHOT</version>
<packaging>pom</packaging>

<name>Spring Data Relational Parent</name>
Expand Down
2 changes: 1 addition & 1 deletion spring-data-jdbc-distribution/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<parent>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-relational-parent</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
<version>2.0.0.DATAJDBC-518-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down
4 changes: 2 additions & 2 deletions spring-data-jdbc/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<modelVersion>4.0.0</modelVersion>

<artifactId>spring-data-jdbc</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
<version>2.0.0.DATAJDBC-518-SNAPSHOT</version>

<name>Spring Data JDBC</name>
<description>Spring Data module for JDBC repositories.</description>
Expand All @@ -15,7 +15,7 @@
<parent>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-relational-parent</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
<version>2.0.0.DATAJDBC-518-SNAPSHOT</version>
</parent>

<properties>
Expand Down
4 changes: 2 additions & 2 deletions spring-data-relational/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@
<modelVersion>4.0.0</modelVersion>

<artifactId>spring-data-relational</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
<version>2.0.0.DATAJDBC-518-SNAPSHOT</version>

<name>Spring Data Relational</name>
<description>Spring Data Relational support</description>

<parent>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-relational-parent</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
<version>2.0.0.DATAJDBC-518-SNAPSHOT</version>
</parent>

<properties>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@
* @author Mark Paluch
* @author Oliver Drotbohm
* @author Roman Chigvintsev
* @author Jens Schauder
* @since 2.0
*/
public class Criteria implements CriteriaDefinition {
Expand All @@ -59,7 +60,7 @@ public class Criteria implements CriteriaDefinition {

private final @Nullable Criteria previous;
private final Combinator combinator;
private final List<Criteria> group;
private final List<CriteriaDefinition> group;

private final @Nullable SqlIdentifier column;
private final @Nullable Comparator comparator;
Expand All @@ -70,12 +71,12 @@ private Criteria(SqlIdentifier column, Comparator comparator, @Nullable Object v
this(null, Combinator.INITIAL, Collections.emptyList(), column, comparator, value, false);
}

private Criteria(@Nullable Criteria previous, Combinator combinator, List<Criteria> group,
private Criteria(@Nullable Criteria previous, Combinator combinator, List<CriteriaDefinition> group,
@Nullable SqlIdentifier column, @Nullable Comparator comparator, @Nullable Object value) {
this(previous, combinator, group, column, comparator, value, false);
}

private Criteria(@Nullable Criteria previous, Combinator combinator, List<Criteria> group,
private Criteria(@Nullable Criteria previous, Combinator combinator, List<CriteriaDefinition> group,
@Nullable SqlIdentifier column, @Nullable Comparator comparator, @Nullable Object value, boolean ignoreCase) {

this.previous = previous;
Expand All @@ -87,7 +88,7 @@ private Criteria(@Nullable Criteria previous, Combinator combinator, List<Criter
this.ignoreCase = ignoreCase;
}

private Criteria(@Nullable Criteria previous, Combinator combinator, List<Criteria> group) {
private Criteria(@Nullable Criteria previous, Combinator combinator, List<CriteriaDefinition> group) {

this.previous = previous;
this.combinator = previous != null && previous.isEmpty() ? Combinator.INITIAL : combinator;
Expand All @@ -112,7 +113,7 @@ public static Criteria empty() {
*
* @return new {@link Criteria}.
*/
public static Criteria from(Criteria... criteria) {
public static CriteriaDefinition from(CriteriaDefinition... criteria) {

Assert.notNull(criteria, "Criteria must not be null");
Assert.noNullElements(criteria, "Criteria must not contain null elements");
Expand All @@ -125,7 +126,7 @@ public static Criteria from(Criteria... criteria) {
*
* @return new {@link Criteria}.
*/
public static Criteria from(List<Criteria> criteria) {
public static CriteriaDefinition from(List<CriteriaDefinition> criteria) {

Assert.notNull(criteria, "Criteria must not be null");
Assert.noNullElements(criteria, "Criteria must not contain null elements");
Expand Down Expand Up @@ -180,7 +181,7 @@ protected Criteria createCriteria(Comparator comparator, Object value) {
* @return a new {@link Criteria} object.
* @since 1.1
*/
public Criteria and(Criteria criteria) {
public Criteria and(CriteriaDefinition criteria) {

Assert.notNull(criteria, "Criteria must not be null!");

Expand All @@ -192,9 +193,8 @@ public Criteria and(Criteria criteria) {
*
* @param criteria criteria objects.
* @return a new {@link Criteria} object.
* @since 1.1
*/
public Criteria and(List<Criteria> criteria) {
public Criteria and(List<CriteriaDefinition> criteria) {

Assert.notNull(criteria, "Criteria must not be null!");

Expand Down Expand Up @@ -227,7 +227,7 @@ protected Criteria createCriteria(Comparator comparator, Object value) {
* @return a new {@link Criteria} object.
* @since 1.1
*/
public Criteria or(Criteria criteria) {
public Criteria or(CriteriaDefinition criteria) {

Assert.notNull(criteria, "Criteria must not be null!");

Expand All @@ -241,7 +241,7 @@ public Criteria or(Criteria criteria) {
* @return a new {@link Criteria} object.
* @since 1.1
*/
public Criteria or(List<Criteria> criteria) {
public Criteria or(List<CriteriaDefinition> criteria) {

Assert.notNull(criteria, "Criteria must not be null!");

Expand Down Expand Up @@ -312,7 +312,7 @@ private boolean doIsEmpty() {
return false;
}

for (Criteria criteria : group) {
for (CriteriaDefinition criteria : group) {

if (!criteria.isEmpty()) {
return false;
Expand All @@ -336,7 +336,7 @@ public Combinator getCombinator() {
return combinator;
}

public List<Criteria> getGroup() {
public List<CriteriaDefinition> getGroup() {
return group;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
* represent a group of nested criteria objects.
*
* @author Mark Paluch
* @author Jens Schauder
* @since 2.0
*/
public interface CriteriaDefinition {
Expand All @@ -45,7 +46,7 @@ static CriteriaDefinition empty() {
*
* @return new {@link Criteria}.
*/
static CriteriaDefinition from(Criteria... criteria) {
static CriteriaDefinition from(CriteriaDefinition... criteria) {

Assert.notNull(criteria, "Criteria must not be null");
Assert.noNullElements(criteria, "Criteria must not contain null elements");
Expand All @@ -59,7 +60,7 @@ static CriteriaDefinition from(Criteria... criteria) {
* @return new {@link Criteria}.
* @since 1.1
*/
static CriteriaDefinition from(List<Criteria> criteria) {
static CriteriaDefinition from(List<CriteriaDefinition> criteria) {

Assert.notNull(criteria, "Criteria must not be null");
Assert.noNullElements(criteria, "Criteria must not contain null elements");
Expand All @@ -80,7 +81,7 @@ static CriteriaDefinition from(List<Criteria> criteria) {
*/
boolean isGroup();

List<? extends CriteriaDefinition> getGroup();
List<CriteriaDefinition> getGroup();

/**
* @return the column/property name.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public void fromCriteria() {

Criteria nested1 = where("foo").isNotNull();
Criteria nested2 = where("foo").isNull();
Criteria criteria = Criteria.from(nested1, nested2);
CriteriaDefinition criteria = Criteria.from(nested1, nested2);

assertThat(criteria.isGroup()).isTrue();
assertThat(criteria.getGroup()).containsExactly(nested1, nested2);
Expand All @@ -51,7 +51,7 @@ public void fromCriteria() {
public void fromCriteriaOptimized() {

Criteria nested = where("foo").is("bar").and("baz").isNotNull();
Criteria criteria = Criteria.from(nested);
CriteriaDefinition criteria = Criteria.from(nested);

assertThat(criteria).isSameAs(nested).hasToString("foo = 'bar' AND baz IS NOT NULL");
}
Expand Down