Skip to content

Commit c747110

Browse files
authored
allocated (#101)
* allocated field changes
1 parent 7fa04c7 commit c747110

File tree

3 files changed

+25
-15
lines changed

3 files changed

+25
-15
lines changed

src/main/java/uk/gov/hmcts/cp/domain/HearingResponse.java

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,19 @@
1717
public class HearingResponse implements Serializable {
1818
private static final long serialVersionUID = 1L;
1919

20-
private List<HearingResult> hearings;
20+
private List<HearingSchedule> hearings;
2121

2222
@JsonIgnoreProperties(ignoreUnknown = true)
2323
@Builder
2424
@AllArgsConstructor
2525
@NoArgsConstructor
2626
@Getter
27-
public static class HearingResult implements Serializable {
27+
public static class HearingSchedule implements Serializable {
28+
private static final long serialVersionUID = 2L;
29+
2830
private String id;
29-
private Type type;
31+
private HearingType type;
32+
private boolean allocated;
3033
private List<Judiciary> judiciary;
3134
private List<HearingDay> hearingDays;
3235

@@ -35,7 +38,9 @@ public static class HearingResult implements Serializable {
3538
@AllArgsConstructor
3639
@NoArgsConstructor
3740
@Getter
38-
public static class Type {
41+
public static class HearingType implements Serializable {
42+
private static final long serialVersionUID = 3L;
43+
3944
private String description;
4045
}
4146

@@ -44,7 +49,9 @@ public static class Type {
4449
@AllArgsConstructor
4550
@NoArgsConstructor
4651
@Getter
47-
public static class Judiciary {
52+
public static class Judiciary implements Serializable {
53+
private static final long serialVersionUID = 4L;
54+
4855
private String judicialId;
4956
}
5057

@@ -53,7 +60,9 @@ public static class Judiciary {
5360
@AllArgsConstructor
5461
@NoArgsConstructor
5562
@Getter
56-
public static class HearingDay {
63+
public static class HearingDay implements Serializable {
64+
private static final long serialVersionUID = 5L;
65+
5766
private String endTime;
5867
private int sequence;
5968
private String startTime;

src/main/java/uk/gov/hmcts/cp/repositories/CourtScheduleClientImpl.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public CourtScheduleResponse getCourtScheduleByCaseId(final String caseId) {
7575
}
7676

7777
private List<Hearing> getHearings(final String caseId) {
78-
List<Hearing> hearingResult = Collections.emptyList();
78+
List<Hearing> hearingSchedule = Collections.emptyList();
7979
try {
8080
final HttpRequest request = HttpRequest.newBuilder()
8181
.uri(new URI(buildUrl(caseId)))
@@ -85,22 +85,22 @@ private List<Hearing> getHearings(final String caseId) {
8585
.build();
8686

8787
final HttpResponse<String> response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());
88-
if (response.statusCode() != HttpStatus.OK.value()) {
89-
LOG.atError().log("Failed to fetch hearing data. HTTP Status: {}", response.statusCode());
90-
} else {
88+
if (response.statusCode() == HttpStatus.OK.value()){
9189
final ObjectMapper objectMapper = new ObjectMapper();
9290
final HearingResponse hearingResponse = objectMapper.readValue(
9391
response.body(),
9492
HearingResponse.class
9593
);
9694

97-
hearingResult = getHearingData(hearingResponse);
95+
hearingSchedule = getHearingData(hearingResponse);
9896
LOG.atInfo().log("Response Code: {}", response.statusCode());
97+
} else {
98+
LOG.atError().log("Failed to fetch hearing data. HTTP Status: {}", response.statusCode());
9999
}
100100
} catch (Exception e) {
101101
LOG.atError().log("Exception occurred while fetching hearing data: {}", e.getMessage(), e);
102102
}
103-
return hearingResult;
103+
return hearingSchedule;
104104
}
105105

106106

@@ -114,7 +114,7 @@ private String buildUrl(final String caseId) {
114114

115115
private List<Hearing> getHearingData(final HearingResponse hearingResponse) {
116116
final List<Hearing> hearings = new ArrayList<>();
117-
hearingResponse.getHearings().forEach( hr -> {
117+
hearingResponse.getHearings().stream().filter(HearingResponse.HearingSchedule::isAllocated).forEach(hr -> {
118118
final Hearing hearing = new Hearing();
119119
hearing.setHearingId(hr.getId());
120120
hearing.setHearingType(hr.getType().getDescription());
@@ -123,7 +123,7 @@ private List<Hearing> getHearingData(final HearingResponse hearingResponse) {
123123
final List<CourtSitting> courtSittings = new ArrayList<>();
124124
final String judiciaryId = hr.getJudiciary().stream().map(a -> a.getJudicialId()).collect(Collectors.joining(","));
125125

126-
for (final HearingResponse.HearingResult.HearingDay hearingDay : hr.getHearingDays()) {
126+
for (final HearingResponse.HearingSchedule.HearingDay hearingDay : hr.getHearingDays()) {
127127
final CourtSitting courtSitting = getCourtSitting(hearingDay, judiciaryId);
128128
courtSittings.add(courtSitting);
129129
}
@@ -133,7 +133,7 @@ private List<Hearing> getHearingData(final HearingResponse hearingResponse) {
133133
return hearings;
134134
}
135135

136-
private static CourtSitting getCourtSitting(final HearingResponse.HearingResult.HearingDay hearingDay, final String judiciaryId) {
136+
private static CourtSitting getCourtSitting(final HearingResponse.HearingSchedule.HearingDay hearingDay, final String judiciaryId) {
137137
final CourtSitting courtSitting = new CourtSitting();
138138
courtSitting.setSittingStart(OffsetDateTime.parse(hearingDay.getStartTime()));
139139
courtSitting.setSittingEnd(OffsetDateTime.parse(hearingDay.getEndTime()));

src/test/java/uk/gov/hmcts/cp/repositories/CourtScheduleClientImplTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ class CourtScheduleClientImplTest {
3434
{
3535
"id": "hearing-1",
3636
"type": { "description": "First hearing" },
37+
"allocated": true,
3738
"judiciary": [{ "judicialId": "judge-1" }],
3839
"hearingDays": [
3940
{

0 commit comments

Comments
 (0)