Skip to content

Commit

Permalink
Merge pull request kontent-ai#56 from Kentico/delivery-sdk-java-46
Browse files Browse the repository at this point in the history
kontent-ai#46 Add methods to DeliveryParamBuilder to take collections
  • Loading branch information
petrsvihlik authored Feb 6, 2018
2 parents e605d66 + 1759750 commit d3894c3
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import org.apache.http.message.BasicNameValuePair;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Locale;

Expand Down Expand Up @@ -108,6 +109,10 @@ public DeliveryParameterBuilder filterIn(String attribute, String... values) {
return this;
}

public DeliveryParameterBuilder filterIn(String attribute, Collection<String> values) {
return filterIn(attribute, values.toArray(new String[values.size()]));
}

public DeliveryParameterBuilder filterContains(String attribute, String value) {
if (attribute != null) {
nameValuePairs.add(new BasicNameValuePair(String.format("%s%s", attribute, CONTAINS), value));
Expand All @@ -122,13 +127,21 @@ public DeliveryParameterBuilder filterAny(String attribute, String... values) {
return this;
}

public DeliveryParameterBuilder filterAny(String attribute, Collection<String> values) {
return filterAny(attribute, values.toArray(new String[values.size()]));
}

public DeliveryParameterBuilder filterAll(String attribute, String... values) {
if (attribute != null) {
nameValuePairs.add(new BasicNameValuePair(String.format("%s%s", attribute, ALL), String.join(",", values)));
}
return this;
}

public DeliveryParameterBuilder filterAll(String attribute, Collection<String> values) {
return filterAll(attribute, values.toArray(new String[values.size()]));
}

public DeliveryParameterBuilder orderByAsc(String attribute) {
if (attribute != null) {
nameValuePairs.add(new BasicNameValuePair(ORDER, String.format("%s%s", attribute, ASC)));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import org.junit.Assert;
import org.junit.Test;

import java.util.ArrayList;
import java.util.List;
import java.util.Locale;

Expand Down Expand Up @@ -125,6 +126,17 @@ public void testIn() {
Assert.assertEquals("bar,foobar", params.get(0).getValue());
}

@Test
public void testInCollection() {
List<String> values = new ArrayList<>();
values.add("bar");
values.add("foobar");
List<NameValuePair> params = DeliveryParameterBuilder.params().filterIn("foo", values).build();
Assert.assertEquals(1, params.size());
Assert.assertEquals("foo[in]", params.get(0).getName());
Assert.assertEquals("bar,foobar", params.get(0).getValue());
}

@Test
public void testInNullAttr() {
List<NameValuePair> params = DeliveryParameterBuilder.params().filterIn(null, null, null).build();
Expand Down Expand Up @@ -153,6 +165,17 @@ public void testAny() {
Assert.assertEquals("bar,foobar", params.get(0).getValue());
}

@Test
public void testAnyCollection() {
List<String> values = new ArrayList<>();
values.add("bar");
values.add("foobar");
List<NameValuePair> params = DeliveryParameterBuilder.params().filterAny("foo", values).build();
Assert.assertEquals(1, params.size());
Assert.assertEquals("foo[any]", params.get(0).getName());
Assert.assertEquals("bar,foobar", params.get(0).getValue());
}

@Test
public void testAnyNullAttr() {
List<NameValuePair> params = DeliveryParameterBuilder.params().filterAny(null, null, null).build();
Expand All @@ -167,6 +190,17 @@ public void testAll() {
Assert.assertEquals("bar,foobar", params.get(0).getValue());
}

@Test
public void testAllCollection() {
List<String> values = new ArrayList<>();
values.add("bar");
values.add("foobar");
List<NameValuePair> params = DeliveryParameterBuilder.params().filterAll("foo", values).build();
Assert.assertEquals(1, params.size());
Assert.assertEquals("foo[all]", params.get(0).getName());
Assert.assertEquals("bar,foobar", params.get(0).getValue());
}

@Test
public void testAllNullAttr() {
List<NameValuePair> params = DeliveryParameterBuilder.params().filterAll(null, null, null).build();
Expand Down

0 comments on commit d3894c3

Please sign in to comment.