Skip to content

Commit 1b89bd3

Browse files
committed
Refactored list chart params into class
1 parent 51d753a commit 1b89bd3

File tree

3 files changed

+61
-35
lines changed

3 files changed

+61
-35
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package seatsio.charts;
2+
3+
import java.util.HashMap;
4+
import java.util.Map;
5+
6+
public class ChartListParams {
7+
8+
private String filter;
9+
private String tag;
10+
private Boolean expandEvents;
11+
12+
public ChartListParams withFilter(String filter) {
13+
this.filter = filter;
14+
return this;
15+
}
16+
17+
public ChartListParams withTag(String tag) {
18+
this.tag = tag;
19+
return this;
20+
}
21+
22+
public ChartListParams withExpandEvents(Boolean expandEvents) {
23+
this.expandEvents = expandEvents;
24+
return this;
25+
}
26+
27+
public Map<String, Object> asMap() {
28+
Map<String, Object> chartListParams = new HashMap<>();
29+
30+
if (filter != null) {
31+
chartListParams.put("filter", filter);
32+
}
33+
34+
if (tag != null) {
35+
chartListParams.put("tag", tag);
36+
}
37+
38+
if (expandEvents != null && expandEvents) {
39+
chartListParams.put("expand", "events");
40+
}
41+
42+
return chartListParams;
43+
}
44+
45+
}

src/main/java/seatsio/charts/Charts.java

Lines changed: 12 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import seatsio.util.PageFetcher;
1010

1111
import java.io.InputStream;
12-
import java.util.HashMap;
1312
import java.util.List;
1413
import java.util.Map;
1514
import java.util.stream.Stream;
@@ -189,57 +188,39 @@ public List<String> listAllTags() {
189188
}
190189

191190
public Stream<Chart> listAll() {
192-
return listAll(null, null, null);
191+
return listAll(new ChartListParams());
193192
}
194193

195-
public Stream<Chart> listAll(String filter, String tag, Boolean expandEvents) {
196-
return list().all(chartListParams(filter, tag, expandEvents));
194+
public Stream<Chart> listAll(ChartListParams chartListParams) {
195+
return list().all(chartListParams.asMap());
197196
}
198197

199198
public Page<Chart> listFirstPage() {
200-
return listFirstPage(null, null, null, null);
199+
return listFirstPage(new ChartListParams(), null);
201200
}
202201

203-
public Page<Chart> listFirstPage(String filter, String tag, Boolean expandEvents, Integer pageSize) {
204-
return list().firstPage(chartListParams(filter, tag, expandEvents), pageSize);
202+
public Page<Chart> listFirstPage(ChartListParams chartListParams, Integer pageSize) {
203+
return list().firstPage(chartListParams.asMap(), pageSize);
205204
}
206205

207206
public Page<Chart> listPageAfter(long id) {
208-
return listPageAfter(id, null, null, null, null);
207+
return listPageAfter(id, new ChartListParams(), null);
209208
}
210209

211-
public Page<Chart> listPageAfter(long id, String filter, String tag, Boolean expandEvents, Integer pageSize) {
212-
return list().pageAfter(id, chartListParams(filter, tag, expandEvents), pageSize);
210+
public Page<Chart> listPageAfter(long id, ChartListParams chartListParams, Integer pageSize) {
211+
return list().pageAfter(id, chartListParams.asMap(), pageSize);
213212
}
214213

215214
public Page<Chart> listPageBefore(long id) {
216-
return listPageBefore(id, null, null, null, null);
215+
return listPageBefore(id, new ChartListParams(), null);
217216
}
218217

219-
public Page<Chart> listPageBefore(long id, String filter, String tag, Boolean expandEvents, Integer pageSize) {
220-
return list().pageBefore(id, chartListParams(filter, tag, expandEvents), pageSize);
218+
public Page<Chart> listPageBefore(long id, ChartListParams chartListParams, Integer pageSize) {
219+
return list().pageBefore(id, chartListParams.asMap(), pageSize);
221220
}
222221

223222
private Lister<Chart> list() {
224223
return new Lister<>(new PageFetcher<>(baseUrl, "/charts", secretKey, Chart.class));
225224
}
226225

227-
private Map<String, Object> chartListParams(String filter, String tag, Boolean expandEvents) {
228-
Map<String, Object> chartListParams = new HashMap<>();
229-
230-
if (filter != null) {
231-
chartListParams.put("filter", filter);
232-
}
233-
234-
if (tag != null) {
235-
chartListParams.put("tag", tag);
236-
}
237-
238-
if (expandEvents != null && expandEvents) {
239-
chartListParams.put("expand", "events");
240-
}
241-
242-
return chartListParams;
243-
}
244-
245226
}

src/test/java/seatsio/charts/ListChartsTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public void filter() {
2929
Chart chart2 = client.charts.create("bar");
3030
Chart chart3 = client.charts.create("foofoo");
3131

32-
Stream<Chart> charts = client.charts.listAll("foo", null, null);
32+
Stream<Chart> charts = client.charts.listAll(new ChartListParams().withFilter("foo"));
3333

3434
assertThat(charts)
3535
.extracting(chart -> chart.key)
@@ -46,7 +46,7 @@ public void tag() {
4646
Chart chart3 = client.charts.create();
4747
client.charts.addTag(chart3.key, "foo");
4848

49-
Stream<Chart> charts = client.charts.listAll(null, "foo", null);
49+
Stream<Chart> charts = client.charts.listAll(new ChartListParams().withTag("foo"));
5050

5151
assertThat(charts)
5252
.extracting(chart -> chart.key)
@@ -66,7 +66,7 @@ public void tagAndFilter() {
6666

6767
Chart chart4 = client.charts.create("bar");
6868

69-
Stream<Chart> charts = client.charts.listAll("bar", "foo", null);
69+
Stream<Chart> charts = client.charts.listAll(new ChartListParams().withFilter("bar").withTag("foo"));
7070

7171
assertThat(charts)
7272
.extracting(chart -> chart.key)
@@ -79,7 +79,7 @@ public void expand() {
7979
Event event1 = client.events.create(chart.key);
8080
Event event2 = client.events.create(chart.key);
8181

82-
Chart retrievedChart = client.charts.listAll(null, null, true).findFirst().get();
82+
Chart retrievedChart = client.charts.listAll(new ChartListParams().withExpandEvents(true)).findFirst().get();
8383

8484
assertThat(retrievedChart.events)
8585
.extracting(event -> event.id)

0 commit comments

Comments
 (0)