Skip to content

Commit 7659b1f

Browse files
committed
Change object status calls return labels
1 parent 6378a43 commit 7659b1f

File tree

10 files changed

+135
-48
lines changed

10 files changed

+135
-48
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@ Then you can refer to seatsio-java as a regular package:
2929
```
3030
// build.gradle
3131
dependencies {
32-
compile 'com.github.seatsio:seatsio-java:12'
32+
compile 'com.github.seatsio:seatsio-java:13'
3333
}
3434
3535
// pom.xml
3636
<dependency>
3737
<groupId>com.github.seatsio</groupId>
3838
<artifactId>seatsio-java</artifactId>
39-
<version>12</version>
39+
<version>13</version>
4040
</dependency>
4141
```
4242

src/main/java/seatsio/events/BestAvailableResult.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,12 @@
33
import seatsio.util.ValueObject;
44

55
import java.util.List;
6+
import java.util.Map;
67

78
public class BestAvailableResult extends ValueObject {
89

910
public boolean nextToEachOther;
1011
public List<String> objects;
12+
public Map<String, Labels> labels;
13+
1114
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package seatsio.events;
2+
3+
import java.util.Map;
4+
5+
public class ChangeObjectStatusResult {
6+
7+
public Map<String, Labels> labels;
8+
}

src/main/java/seatsio/events/Events.java

Lines changed: 46 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -147,68 +147,68 @@ public Lister<StatusChange> statusChanges(String key, String objectId) {
147147
return new Lister<>(pageFetcher);
148148
}
149149

150-
public void book(String eventKey, List<?> objects) {
151-
book(eventKey, objects, null, null);
150+
public ChangeObjectStatusResult book(String eventKey, List<?> objects) {
151+
return book(eventKey, objects, null, null);
152152
}
153153

154-
public void book(String eventKey, List<?> objects, String holdToken) {
155-
book(eventKey, objects, holdToken, null);
154+
public ChangeObjectStatusResult book(String eventKey, List<?> objects, String holdToken) {
155+
return book(eventKey, objects, holdToken, null);
156156
}
157157

158-
public void book(String eventKey, List<?> objects, String holdToken, String orderId) {
159-
changeObjectStatus(eventKey, objects, BOOKED, holdToken, orderId);
158+
public ChangeObjectStatusResult book(String eventKey, List<?> objects, String holdToken, String orderId) {
159+
return changeObjectStatus(eventKey, objects, BOOKED, holdToken, orderId);
160160
}
161161

162-
public void book(String eventKey, BestAvailable bestAvailable) {
163-
book(eventKey, bestAvailable, null, null);
162+
public BestAvailableResult book(String eventKey, BestAvailable bestAvailable) {
163+
return book(eventKey, bestAvailable, null, null);
164164
}
165165

166-
public void book(String eventKey, BestAvailable bestAvailable, String holdToken) {
167-
book(eventKey, bestAvailable, holdToken, null);
166+
public BestAvailableResult book(String eventKey, BestAvailable bestAvailable, String holdToken) {
167+
return book(eventKey, bestAvailable, holdToken, null);
168168
}
169169

170-
public void book(String eventKey, BestAvailable bestAvailable, String holdToken, String orderId) {
171-
changeObjectStatus(eventKey, bestAvailable, BOOKED, holdToken, orderId);
170+
public BestAvailableResult book(String eventKey, BestAvailable bestAvailable, String holdToken, String orderId) {
171+
return changeObjectStatus(eventKey, bestAvailable, BOOKED, holdToken, orderId);
172172
}
173173

174-
public void book(List<String> eventKeys, List<?> objects, String holdToken, String orderId) {
175-
changeObjectStatus(eventKeys, objects, BOOKED, holdToken, orderId);
174+
public ChangeObjectStatusResult book(List<String> eventKeys, List<?> objects, String holdToken, String orderId) {
175+
return changeObjectStatus(eventKeys, objects, BOOKED, holdToken, orderId);
176176
}
177177

178-
public void hold(String eventKey, List<?> objects, String holdToken) {
179-
hold(eventKey, objects, holdToken, null);
178+
public ChangeObjectStatusResult hold(String eventKey, List<?> objects, String holdToken) {
179+
return hold(eventKey, objects, holdToken, null);
180180
}
181181

182-
public void hold(String eventKey, List<?> objects, String holdToken, String orderId) {
183-
changeObjectStatus(eventKey, objects, HELD, holdToken, orderId);
182+
public ChangeObjectStatusResult hold(String eventKey, List<?> objects, String holdToken, String orderId) {
183+
return changeObjectStatus(eventKey, objects, HELD, holdToken, orderId);
184184
}
185185

186-
public void hold(String eventKey, BestAvailable bestAvailable, String holdToken) {
187-
hold(eventKey, bestAvailable, holdToken, null);
186+
public BestAvailableResult hold(String eventKey, BestAvailable bestAvailable, String holdToken) {
187+
return hold(eventKey, bestAvailable, holdToken, null);
188188
}
189189

190-
public void hold(String eventKey, BestAvailable bestAvailable, String holdToken, String orderId) {
191-
changeObjectStatus(eventKey, bestAvailable, HELD, holdToken, orderId);
190+
public BestAvailableResult hold(String eventKey, BestAvailable bestAvailable, String holdToken, String orderId) {
191+
return changeObjectStatus(eventKey, bestAvailable, HELD, holdToken, orderId);
192192
}
193193

194-
public void hold(List<String> eventKeys, List<?> objects, String holdToken, String orderId) {
195-
changeObjectStatus(eventKeys, objects, HELD, holdToken, orderId);
194+
public ChangeObjectStatusResult hold(List<String> eventKeys, List<?> objects, String holdToken, String orderId) {
195+
return changeObjectStatus(eventKeys, objects, HELD, holdToken, orderId);
196196
}
197197

198-
public void release(String eventKey, List<?> objects) {
199-
release(eventKey, objects, null, null);
198+
public ChangeObjectStatusResult release(String eventKey, List<?> objects) {
199+
return release(eventKey, objects, null, null);
200200
}
201201

202-
public void release(String eventKey, List<?> objects, String holdToken) {
203-
release(eventKey, objects, holdToken, null);
202+
public ChangeObjectStatusResult release(String eventKey, List<?> objects, String holdToken) {
203+
return release(eventKey, objects, holdToken, null);
204204
}
205205

206-
public void release(String eventKey, List<?> objects, String holdToken, String orderId) {
207-
changeObjectStatus(eventKey, objects, FREE, holdToken, orderId);
206+
public ChangeObjectStatusResult release(String eventKey, List<?> objects, String holdToken, String orderId) {
207+
return changeObjectStatus(eventKey, objects, FREE, holdToken, orderId);
208208
}
209209

210-
public void release(List<String> eventKeys, List<?> objects, String holdToken, String orderId) {
211-
changeObjectStatus(eventKeys, objects, FREE, holdToken, orderId);
210+
public ChangeObjectStatusResult release(List<String> eventKeys, List<?> objects, String holdToken, String orderId) {
211+
return changeObjectStatus(eventKeys, objects, FREE, holdToken, orderId);
212212
}
213213

214214
public BestAvailableResult changeObjectStatus(String eventKey, BestAvailable bestAvailable, String status) {
@@ -227,30 +227,32 @@ public BestAvailableResult changeObjectStatus(String eventKey, BestAvailable bes
227227
return gson().fromJson(result.getBody(), BestAvailableResult.class);
228228
}
229229

230-
public void changeObjectStatus(String eventKey, List<?> objects, String status) {
231-
changeObjectStatus(eventKey, objects, status, null, null);
230+
public ChangeObjectStatusResult changeObjectStatus(String eventKey, List<?> objects, String status) {
231+
return changeObjectStatus(eventKey, objects, status, null, null);
232232
}
233233

234-
public void changeObjectStatus(String eventKey, List<?> objects, String status, String holdToken) {
235-
changeObjectStatus(eventKey, objects, status, holdToken, null);
234+
public ChangeObjectStatusResult changeObjectStatus(String eventKey, List<?> objects, String status, String holdToken) {
235+
return changeObjectStatus(eventKey, objects, status, holdToken, null);
236236
}
237237

238-
public void changeObjectStatus(String eventKey, List<?> objects, String status, String holdToken, String orderId) {
239-
changeObjectStatus(singletonList(eventKey), objects, status, holdToken, orderId);
238+
public ChangeObjectStatusResult changeObjectStatus(String eventKey, List<?> objects, String status, String holdToken, String orderId) {
239+
return changeObjectStatus(singletonList(eventKey), objects, status, holdToken, orderId);
240240
}
241241

242-
public void changeObjectStatus(List<String> eventKeys, List<?> objects, String status) {
243-
changeObjectStatus(eventKeys, objects, status, null, null);
242+
public ChangeObjectStatusResult changeObjectStatus(List<String> eventKeys, List<?> objects, String status) {
243+
return changeObjectStatus(eventKeys, objects, status, null, null);
244244
}
245245

246-
public void changeObjectStatus(List<String> eventKeys, List<?> objects, String status, String holdToken) {
247-
changeObjectStatus(eventKeys, objects, status, holdToken, null);
246+
public ChangeObjectStatusResult changeObjectStatus(List<String> eventKeys, List<?> objects, String status, String holdToken) {
247+
return changeObjectStatus(eventKeys, objects, status, holdToken, null);
248248
}
249249

250-
public void changeObjectStatus(List<String> eventKeys, List<?> objects, String status, String holdToken, String orderId) {
251-
stringResponse(post(baseUrl + "/seasons/actions/change-object-status")
250+
public ChangeObjectStatusResult changeObjectStatus(List<String> eventKeys, List<?> objects, String status, String holdToken, String orderId) {
251+
HttpResponse<String> response = stringResponse(post(baseUrl + "/seasons/actions/change-object-status")
252252
.basicAuth(secretKey, null)
253+
.queryString("expand", "labels")
253254
.body(changeObjectStatusRequest(eventKeys, toObjects(objects), status, holdToken, orderId).toString()));
255+
return gson().fromJson(response.getBody(), ChangeObjectStatusResult.class);
254256
}
255257

256258
private List<ObjectProperties> toObjects(List<?> objects) {
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package seatsio.events;
2+
3+
import static org.apache.commons.lang3.builder.EqualsBuilder.reflectionEquals;
4+
import static org.apache.commons.lang3.builder.HashCodeBuilder.reflectionHashCode;
5+
6+
public class Labels {
7+
8+
public String own;
9+
public String row;
10+
public String table;
11+
public String section;
12+
13+
public Labels(String own, String row, String table, String section) {
14+
this.own = own;
15+
this.row = row;
16+
this.table = table;
17+
this.section = section;
18+
}
19+
20+
@Override
21+
public boolean equals(Object obj) {
22+
return reflectionEquals(this, obj);
23+
}
24+
25+
@Override
26+
public int hashCode() {
27+
return reflectionHashCode(this);
28+
}
29+
}

src/test/java/seatsio/events/BookObjectsTest.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package seatsio.events;
22

3+
import com.google.common.collect.ImmutableMap;
34
import org.junit.Test;
45
import seatsio.SeatsioClientTest;
56
import seatsio.holdTokens.HoldToken;
@@ -16,11 +17,15 @@ public void test() {
1617
String chartKey = createTestChart();
1718
Event event = client.events.create(chartKey);
1819

19-
client.events.book(event.key, newArrayList("A-1", "A-2"));
20+
ChangeObjectStatusResult result = client.events.book(event.key, newArrayList("A-1", "A-2"));
2021

2122
assertThat(client.events.retrieveObjectStatus(event.key, "A-1").status).isEqualTo(BOOKED);
2223
assertThat(client.events.retrieveObjectStatus(event.key, "A-2").status).isEqualTo(BOOKED);
2324
assertThat(client.events.retrieveObjectStatus(event.key, "A-3").status).isEqualTo(FREE);
25+
assertThat(result.labels).isEqualTo(ImmutableMap.of(
26+
"A-1", new Labels("1", "A", null, null),
27+
"A-2", new Labels("2", "A", null, null)
28+
));
2429
}
2530

2631
@Test

src/test/java/seatsio/events/ChangeBestAvailableObjectStatusTest.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,16 @@ public void number() {
2525
assertThat(bestAvailableResult.objects).containsOnly("B-4", "B-5", "B-6");
2626
}
2727

28+
@Test
29+
public void labels() {
30+
String chartKey = createTestChart();
31+
Event event = client.events.create(chartKey);
32+
33+
BestAvailableResult bestAvailableResult = client.events.changeObjectStatus(event.key, new BestAvailable(2), "foo");
34+
35+
assertThat(bestAvailableResult.labels).isEqualTo(ImmutableMap.of("B-4", new Labels("4", "B", null, null), "B-5", new Labels("5", "B", null, null)));
36+
}
37+
2838
@Test
2939
public void categories() {
3040
String chartKey = createTestChart();

src/test/java/seatsio/events/ChangeObjectStatusTest.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,16 @@ public void test() {
2323
assertThat(client.events.retrieveObjectStatus(event.key, "A-3").status).isEqualTo(FREE);
2424
}
2525

26+
@Test
27+
public void labels() {
28+
String chartKey = createTestChart();
29+
Event event = client.events.create(chartKey);
30+
31+
ChangeObjectStatusResult result = client.events.changeObjectStatus(event.key, newArrayList("A-1"), "foo");
32+
33+
assertThat(result.labels).isEqualTo(ImmutableMap.of("A-1", new Labels("1", "A", null, null)));
34+
}
35+
2636
@Test
2737
public void holdToken() {
2838
String chartKey = createTestChart();

src/test/java/seatsio/events/HoldObjectsTest.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package seatsio.events;
22

3+
import com.google.common.collect.ImmutableMap;
34
import org.junit.Test;
45
import seatsio.SeatsioClientTest;
56
import seatsio.holdTokens.HoldToken;
@@ -38,4 +39,18 @@ public void orderId() {
3839
assertThat(client.events.retrieveObjectStatus(event.key, "A-1").orderId).isEqualTo("order1");
3940
assertThat(client.events.retrieveObjectStatus(event.key, "A-2").orderId).isEqualTo("order1");
4041
}
42+
43+
@Test
44+
public void labels() {
45+
String chartKey = createTestChart();
46+
Event event = client.events.create(chartKey);
47+
HoldToken holdToken = client.holdTokens.create();
48+
49+
ChangeObjectStatusResult result = client.events.hold(event.key, newArrayList("A-1", "A-2"), holdToken.holdToken);
50+
51+
assertThat(result.labels).isEqualTo(ImmutableMap.of(
52+
"A-1", new Labels("1", "A", null, null),
53+
"A-2", new Labels("2", "A", null, null)
54+
));
55+
}
4156
}

src/test/java/seatsio/events/ReleaseObjectsTest.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package seatsio.events;
22

3+
import com.google.common.collect.ImmutableMap;
34
import org.junit.Test;
45
import seatsio.SeatsioClientTest;
56
import seatsio.holdTokens.HoldToken;
@@ -16,10 +17,14 @@ public void test() {
1617
Event event = client.events.create(chartKey);
1718
client.events.book(event.key, newArrayList("A-1", "A-2"));
1819

19-
client.events.release(event.key, newArrayList("A-1", "A-2"));
20+
ChangeObjectStatusResult result = client.events.release(event.key, newArrayList("A-1", "A-2"));
2021

2122
assertThat(client.events.retrieveObjectStatus(event.key, "A-1").status).isEqualTo(FREE);
2223
assertThat(client.events.retrieveObjectStatus(event.key, "A-2").status).isEqualTo(FREE);
24+
assertThat(result.labels).isEqualTo(ImmutableMap.of(
25+
"A-1", new Labels("1", "A", null, null),
26+
"A-2", new Labels("2", "A", null, null)
27+
));
2328
}
2429

2530
@Test

0 commit comments

Comments
 (0)