Skip to content

Commit

Permalink
Merge branch 'hotfix/3.1.1'
Browse files Browse the repository at this point in the history
  • Loading branch information
mkellnhofer committed Jul 28, 2023
2 parents e1c2c27 + e1c5e30 commit 7c24f05
Show file tree
Hide file tree
Showing 14 changed files with 400 additions and 41 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,15 @@ Add this dependency to your pom.xml:
<dependency>
<groupId>com.dracoon</groupId>
<artifactId>dracoon-sdk</artifactId>
<version>3.1.0</version>
<version>3.1.1</version>
</dependency>
```

##### Gradle

Add this dependency to your build.gradle:
```groovy
compile 'com.dracoon:dracoon-sdk:3.1.0'
compile 'com.dracoon:dracoon-sdk:3.1.1'
```

##### JAR import
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

<groupId>com.dracoon</groupId>
<artifactId>dracoon-sdk</artifactId>
<version>3.1.0</version>
<version>3.1.1</version>

<name>Dracoon SDK</name>
<description>The Dracoon SDK for Java.</description>
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/dracoon/sdk/filter/CreatedAtFilter.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ private CreatedAtFilter() {
/**
* Builder for creating new instances of {@link CreatedAtFilter}.
*/
public static class Builder extends DateFilter.Builder {
public static class Builder extends DateFilter.Builder<CreatedAtFilter> {

public Builder() {
super(new CreatedAtFilter());
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/dracoon/sdk/filter/CreatedByFilter.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ private CreatedByFilter() {
/**
* Builder for creating new instances of {@link CreatedByFilter}.
*/
public static class Builder extends UserNameFilter.Builder {
public static class Builder extends UserNameFilter.Builder<CreatedByFilter> {

public Builder() {
super(new CreatedByFilter());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ private CreatedByIdFilter() {
/**
* Builder for creating new instances of {@link CreatedByIdFilter}.
*/
public static class Builder extends UserIdFilter.Builder {
public static class Builder extends UserIdFilter.Builder<CreatedByIdFilter> {

public Builder() {
super(new CreatedByIdFilter());
Expand Down
26 changes: 13 additions & 13 deletions src/main/java/com/dracoon/sdk/filter/DateFilter.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,48 +12,48 @@ protected DateFilter(String name) {
super(name, TYPE);
}

protected static class Builder extends Filter.Builder<Date, String> {
protected static class Builder<T extends DateFilter> extends Filter.Builder<Date, String> {

private final DateFilter mFilter;
private final T mFilter;

protected Builder(DateFilter filter) {
protected Builder(T filter) {
mFilter = filter;
}

@Override
public Concater ge(Date value) {
public Concater<T> ge(Date value) {
validateRestrictionValue(value);
mFilter.addValue(OPERATOR_GE, DateUtils.formatDate(value));
return new Concater(mFilter);
return new Concater<>(mFilter);
}

@Override
public Concater le(Date value) {
public Concater<T> le(Date value) {
validateRestrictionValue(value);
mFilter.addValue(OPERATOR_LE, DateUtils.formatDate(value));
return new Concater(mFilter);
return new Concater<>(mFilter);
}

}

/**
* Class for adding further filter restrictions.
*/
public static class Concater extends Filter.Concater<Date, String> {
public static class Concater<T extends DateFilter> extends Filter.Concater<Date, String> {

private final DateFilter mFilter;
private final T mFilter;

Concater(DateFilter filter) {
Concater(T filter) {
mFilter = filter;
}

@Override
public Builder and() {
return new Builder(mFilter);
public Builder<T> and() {
return new Builder<>(mFilter);
}

@Override
public DateFilter build() {
public T build() {
return mFilter;
}

Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/dracoon/sdk/filter/UpdatedByFilter.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ private UpdatedByFilter() {
/**
* Builder for creating new instances of {@link UpdatedByFilter}.
*/
public static class Builder extends UserNameFilter.Builder {
public static class Builder extends UserNameFilter.Builder<UpdatedByFilter> {

public Builder() {
super(new UpdatedByFilter());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ private UpdatedByIdFilter() {
/**
* Builder for creating new instances of {@link UpdatedByIdFilter}.
*/
public static class Builder extends UserIdFilter.Builder {
public static class Builder extends UserIdFilter.Builder<UpdatedByIdFilter> {

public Builder() {
super(new UpdatedByIdFilter());
Expand Down
18 changes: 9 additions & 9 deletions src/main/java/com/dracoon/sdk/filter/UserIdFilter.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,36 +8,36 @@ protected UserIdFilter(String name) {
super(name, TYPE);
}

protected static class Builder extends Filter.Builder<Long, String> {
protected static class Builder<T extends UserIdFilter> extends Filter.Builder<Long, String> {

private final UserIdFilter mFilter;
private final T mFilter;

protected Builder(UserIdFilter filter) {
protected Builder(T filter) {
mFilter = filter;
}

@Override
public Concater eq(Long value) {
public Concater<T> eq(Long value) {
validateRestrictionValue(value);
mFilter.addValue(OPERATOR_EQ, Long.toString(value));
return new Concater(mFilter);
return new Concater<>(mFilter);
}

}

/**
* Class for adding further filter restrictions.
*/
public static class Concater extends Filter.Concater<Long, String> {
public static class Concater<T extends UserIdFilter> extends Filter.Concater<Long, String> {

private final UserIdFilter mFilter;
private final T mFilter;

Concater(UserIdFilter filter) {
Concater(T filter) {
mFilter = filter;
}

@Override
public UserIdFilter build() {
public T build() {
return mFilter;
}

Expand Down
22 changes: 11 additions & 11 deletions src/main/java/com/dracoon/sdk/filter/UserNameFilter.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,43 +8,43 @@ protected UserNameFilter(String name) {
super(name, TYPE);
}

protected static class Builder extends Filter.Builder<String, String> {
protected static class Builder<T extends UserNameFilter> extends Filter.Builder<String, String> {

private final UserNameFilter mFilter;
private final T mFilter;

protected Builder(UserNameFilter filter) {
protected Builder(T filter) {
mFilter = filter;
}

@Override
public Concater eq(String value) {
public Concater<T> eq(String value) {
validateRestrictionValue(value);
mFilter.addValue(OPERATOR_EQ, value);
return new Concater(mFilter);
return new Concater<>(mFilter);
}

@Override
public Concater cn(String value) {
public Concater<T> cn(String value) {
validateRestrictionValue(value);
mFilter.addValue(OPERATOR_CN, value);
return new Concater(mFilter);
return new Concater<>(mFilter);
}

}

/**
* Class for adding further filter restrictions.
*/
public static class Concater extends Filter.Concater<String, String> {
public static class Concater<T extends UserNameFilter> extends Filter.Concater<String, String> {

private final UserNameFilter mFilter;
private final T mFilter;

Concater(UserNameFilter filter) {
Concater(T filter) {
mFilter = filter;
}

@Override
public UserNameFilter build() {
public T build() {
return mFilter;
}

Expand Down
106 changes: 106 additions & 0 deletions src/test/java/com/dracoon/sdk/filter/DateFilterTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
package com.dracoon.sdk.filter;

import java.util.Date;

import com.dracoon.sdk.internal.util.DateUtils;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.assertEquals;

class DateFilterTest {

@SuppressWarnings("unused")
private static abstract class BaseFilterTests {

protected final String mName;

protected BaseFilterTests(String name) {
mName = name;
}

@Test
void testLeFilterCorrect() {
Date date = new Date();
DateFilter filter = getBuilder()
.le(date)
.build();
assertEquals(buildTestFilterString("le", date) , filter.toString());
}

@Test
void testGeFilterCorrect() {
Date date = new Date();
DateFilter filter = getBuilder()
.ge(date)
.build();
assertEquals(buildTestFilterString("ge", date) , filter.toString());
}

@Test
void testLeAndGeFilterCorrect() {
Date date1 = new Date();
Date date2 = new Date();
DateFilter filter = getBuilder()
.ge(date1)
.and()
.le(date2)
.build();
assertEquals(buildTestFilterString("ge", date1, "le", date2) , filter.toString());
}

private String buildTestFilterString(String op, Date date) {
return mName + ":" + op + ":" + DateUtils.formatDate(date);
}

private String buildTestFilterString(String op1, Date date1, String op2, Date date2) {
return buildTestFilterString(op1, date1) + "|" + buildTestFilterString(op2, date2);
}

protected abstract DateFilter.Builder<?> getBuilder();

}

@Nested
class CreatedAtFilterTests extends BaseFilterTests {

CreatedAtFilterTests() {
super("createdAt");
}

@Override
protected DateFilter.Builder<?> getBuilder() {
return new CreatedAtFilter.Builder();
}

}

@Nested
class ExpireAtFilterTests extends BaseFilterTests {

ExpireAtFilterTests() {
super("expireAt");
}

@Override
protected DateFilter.Builder<?> getBuilder() {
return new ExpireAtFilter.Builder();
}

}

@Nested
class UpdatedAtFilterTests extends BaseFilterTests {

UpdatedAtFilterTests() {
super("updatedAt");
}

@Override
protected DateFilter.Builder<?> getBuilder() {
return new UpdatedAtFilter.Builder();
}

}

}
Loading

0 comments on commit 7c24f05

Please sign in to comment.