Skip to content

Commit 29d63e1

Browse files
committed
impl ocpp 1.6 methods in tasks
1 parent ccf1985 commit 29d63e1

19 files changed

Lines changed: 490 additions & 128 deletions

src/main/java/de/rwth/idsg/steve/ocpp/task/CancelReservationTask.java

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,14 @@
99
import de.rwth.idsg.steve.web.dto.ocpp.CancelReservationParams;
1010
import ocpp.cp._2012._06.CancelReservationRequest;
1111
import ocpp.cp._2012._06.CancelReservationResponse;
12-
import ocpp.cp._2012._06.CancelReservationStatus;
1312

1413
import javax.xml.ws.AsyncHandler;
1514

1615
/**
1716
* @author Sevket Goekay <goekay@dbis.rwth-aachen.de>
1817
* @since 09.03.2018
1918
*/
20-
public class CancelReservationTask extends CommunicationTask<CancelReservationParams, CancelReservationStatus> {
19+
public class CancelReservationTask extends CommunicationTask<CancelReservationParams, String> {
2120

2221
private final ReservationRepository reservationRepository;
2322

@@ -28,13 +27,13 @@ public CancelReservationTask(OcppVersion ocppVersion, CancelReservationParams pa
2827
}
2928

3029
@Override
31-
public OcppCallback<CancelReservationStatus> defaultCallback() {
32-
return new DefaultOcppCallback<CancelReservationStatus>() {
30+
public OcppCallback<String> defaultCallback() {
31+
return new DefaultOcppCallback<String>() {
3332
@Override
34-
public void success(String chargeBoxId, CancelReservationStatus status) {
35-
addNewResponse(chargeBoxId, status.value());
33+
public void success(String chargeBoxId, String statusValue) {
34+
addNewResponse(chargeBoxId, statusValue);
3635

37-
if (CancelReservationStatus.ACCEPTED.equals(status)) {
36+
if ("Accepted".equalsIgnoreCase(statusValue)) {
3837
reservationRepository.cancelled(params.getReservationId());
3938
}
4039
}
@@ -53,6 +52,12 @@ public CancelReservationRequest getOcpp15Request() {
5352
.withReservationId(params.getReservationId());
5453
}
5554

55+
@Override
56+
public ocpp.cp._2015._10.CancelReservationRequest getOcpp16Request() {
57+
return new ocpp.cp._2015._10.CancelReservationRequest()
58+
.withReservationId(params.getReservationId());
59+
}
60+
5661
@Deprecated
5762
@Override
5863
public <T extends ResponseType> AsyncHandler<T> getOcpp12Handler(String chargeBoxId) {
@@ -63,7 +68,18 @@ public <T extends ResponseType> AsyncHandler<T> getOcpp12Handler(String chargeBo
6368
public AsyncHandler<CancelReservationResponse> getOcpp15Handler(String chargeBoxId) {
6469
return res -> {
6570
try {
66-
success(chargeBoxId, res.get().getStatus());
71+
success(chargeBoxId, res.get().getStatus().value());
72+
} catch (Exception e) {
73+
failed(chargeBoxId, e);
74+
}
75+
};
76+
}
77+
78+
@Override
79+
public AsyncHandler<ocpp.cp._2015._10.CancelReservationResponse> getOcpp16Handler(String chargeBoxId) {
80+
return res -> {
81+
try {
82+
success(chargeBoxId, res.get().getStatus().value());
6783
} catch (Exception e) {
6884
failed(chargeBoxId, e);
6985
}

src/main/java/de/rwth/idsg/steve/ocpp/task/ChangeAvailabilityTask.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package de.rwth.idsg.steve.ocpp.task;
22

3-
import de.rwth.idsg.steve.ocpp.OcppCallback;
43
import de.rwth.idsg.steve.ocpp.CommunicationTask;
4+
import de.rwth.idsg.steve.ocpp.OcppCallback;
55
import de.rwth.idsg.steve.ocpp.OcppVersion;
66
import de.rwth.idsg.steve.web.dto.ocpp.ChangeAvailabilityParams;
77

@@ -36,6 +36,13 @@ public ocpp.cp._2012._06.ChangeAvailabilityRequest getOcpp15Request() {
3636
.withType(ocpp.cp._2012._06.AvailabilityType.fromValue(params.getAvailType().value()));
3737
}
3838

39+
@Override
40+
public ocpp.cp._2015._10.ChangeAvailabilityRequest getOcpp16Request() {
41+
return new ocpp.cp._2015._10.ChangeAvailabilityRequest()
42+
.withConnectorId(params.getConnectorId())
43+
.withType(ocpp.cp._2015._10.AvailabilityType.fromValue(params.getAvailType().value()));
44+
}
45+
3946
@Override
4047
public AsyncHandler<ocpp.cp._2010._08.ChangeAvailabilityResponse> getOcpp12Handler(String chargeBoxId) {
4148
return res -> {
@@ -57,4 +64,15 @@ public AsyncHandler<ocpp.cp._2012._06.ChangeAvailabilityResponse> getOcpp15Handl
5764
}
5865
};
5966
}
67+
68+
@Override
69+
public AsyncHandler<ocpp.cp._2015._10.ChangeAvailabilityResponse> getOcpp16Handler(String chargeBoxId) {
70+
return res -> {
71+
try {
72+
success(chargeBoxId, res.get().getStatus().value());
73+
} catch (Exception e) {
74+
failed(chargeBoxId, e);
75+
}
76+
};
77+
}
6078
}

src/main/java/de/rwth/idsg/steve/ocpp/task/ChangeConfigurationTask.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package de.rwth.idsg.steve.ocpp.task;
22

3-
import de.rwth.idsg.steve.ocpp.OcppCallback;
43
import de.rwth.idsg.steve.ocpp.CommunicationTask;
4+
import de.rwth.idsg.steve.ocpp.OcppCallback;
55
import de.rwth.idsg.steve.ocpp.OcppVersion;
66
import de.rwth.idsg.steve.web.dto.ocpp.ChangeConfigurationParams;
77

@@ -36,6 +36,13 @@ public ocpp.cp._2012._06.ChangeConfigurationRequest getOcpp15Request() {
3636
.withValue(params.getValue());
3737
}
3838

39+
@Override
40+
public ocpp.cp._2015._10.ChangeConfigurationRequest getOcpp16Request() {
41+
return new ocpp.cp._2015._10.ChangeConfigurationRequest()
42+
.withKey(params.getConfKey())
43+
.withValue(params.getValue());
44+
}
45+
3946
@Override
4047
public AsyncHandler<ocpp.cp._2010._08.ChangeConfigurationResponse> getOcpp12Handler(String chargeBoxId) {
4148
return res -> {
@@ -57,4 +64,15 @@ public AsyncHandler<ocpp.cp._2012._06.ChangeConfigurationResponse> getOcpp15Hand
5764
}
5865
};
5966
}
67+
68+
@Override
69+
public AsyncHandler<ocpp.cp._2015._10.ChangeConfigurationResponse> getOcpp16Handler(String chargeBoxId) {
70+
return res -> {
71+
try {
72+
success(chargeBoxId, res.get().getStatus().value());
73+
} catch (Exception e) {
74+
failed(chargeBoxId, e);
75+
}
76+
};
77+
}
6078
}

src/main/java/de/rwth/idsg/steve/ocpp/task/ClearCacheTask.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package de.rwth.idsg.steve.ocpp.task;
22

3-
import de.rwth.idsg.steve.ocpp.OcppCallback;
43
import de.rwth.idsg.steve.ocpp.CommunicationTask;
4+
import de.rwth.idsg.steve.ocpp.OcppCallback;
55
import de.rwth.idsg.steve.ocpp.OcppVersion;
66
import de.rwth.idsg.steve.web.dto.ocpp.MultipleChargePointSelect;
7+
import ocpp.cp._2015._10.ClearCacheResponse;
78

89
import javax.xml.ws.AsyncHandler;
10+
import javax.xml.ws.Response;
911

1012
/**
1113
* @author Sevket Goekay <goekay@dbis.rwth-aachen.de>
@@ -32,6 +34,11 @@ public ocpp.cp._2012._06.ClearCacheRequest getOcpp15Request() {
3234
return new ocpp.cp._2012._06.ClearCacheRequest();
3335
}
3436

37+
@Override
38+
public ocpp.cp._2015._10.ClearCacheRequest getOcpp16Request() {
39+
return new ocpp.cp._2015._10.ClearCacheRequest();
40+
}
41+
3542
@Override
3643
public AsyncHandler<ocpp.cp._2010._08.ClearCacheResponse> getOcpp12Handler(String chargeBoxId) {
3744
return res -> {
@@ -53,4 +60,15 @@ public AsyncHandler<ocpp.cp._2012._06.ClearCacheResponse> getOcpp15Handler(Strin
5360
}
5461
};
5562
}
63+
64+
@Override
65+
public AsyncHandler<ocpp.cp._2015._10.ClearCacheResponse> getOcpp16Handler(String chargeBoxId) {
66+
return res -> {
67+
try {
68+
ClearCacheTask.this.success(chargeBoxId, res.get().getStatus().value());
69+
} catch (Exception e) {
70+
ClearCacheTask.this.failed(chargeBoxId, e);
71+
}
72+
};
73+
}
5674
}

src/main/java/de/rwth/idsg/steve/ocpp/task/DataTransferTask.java

Lines changed: 48 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
import de.rwth.idsg.steve.ocpp.RequestType;
77
import de.rwth.idsg.steve.ocpp.ResponseType;
88
import de.rwth.idsg.steve.web.dto.ocpp.DataTransferParams;
9-
import ocpp.cp._2012._06.DataTransferRequest;
9+
import lombok.Getter;
10+
import lombok.RequiredArgsConstructor;
1011
import ocpp.cp._2012._06.DataTransferResponse;
1112

1213
import javax.xml.ws.AsyncHandler;
@@ -15,20 +16,23 @@
1516
* @author Sevket Goekay <goekay@dbis.rwth-aachen.de>
1617
* @since 09.03.2018
1718
*/
18-
public class DataTransferTask extends CommunicationTask<DataTransferParams, DataTransferResponse> {
19+
public class DataTransferTask extends CommunicationTask<DataTransferParams, DataTransferTask.ResponseWrapper> {
1920

2021
public DataTransferTask(OcppVersion ocppVersion, DataTransferParams params) {
2122
super(ocppVersion, params);
2223
}
2324

2425
@Override
25-
public OcppCallback<DataTransferResponse> defaultCallback() {
26-
return new DefaultOcppCallback<DataTransferResponse>() {
26+
public OcppCallback<ResponseWrapper> defaultCallback() {
27+
return new DefaultOcppCallback<ResponseWrapper>() {
2728
@Override
28-
public void success(String chargeBoxId, DataTransferResponse response) {
29-
StringBuilder builder = new StringBuilder(response.getStatus().value());
30-
if (response.isSetData()) {
31-
builder.append(" / Data: ").append(response.getData());
29+
public void success(String chargeBoxId, ResponseWrapper response) {
30+
String status = response.getStatus();
31+
String data = response.getData();
32+
33+
StringBuilder builder = new StringBuilder(status);
34+
if (data != null) {
35+
builder.append(" / Data: ").append(data);
3236
}
3337
addNewResponse(chargeBoxId, builder.toString());
3438
}
@@ -45,8 +49,19 @@ public <T extends RequestType> T getOcpp12Request() {
4549
* Dummy implementation. It must be vendor-specific.
4650
*/
4751
@Override
48-
public DataTransferRequest getOcpp15Request() {
49-
return new DataTransferRequest()
52+
public ocpp.cp._2012._06.DataTransferRequest getOcpp15Request() {
53+
return new ocpp.cp._2012._06.DataTransferRequest()
54+
.withData(params.getData())
55+
.withMessageId(params.getMessageId())
56+
.withVendorId(params.getVendorId());
57+
}
58+
59+
/**
60+
* Dummy implementation. It must be vendor-specific.
61+
*/
62+
@Override
63+
public ocpp.cp._2015._10.DataTransferRequest getOcpp16Request() {
64+
return new ocpp.cp._2015._10.DataTransferRequest()
5065
.withData(params.getData())
5166
.withMessageId(params.getMessageId())
5267
.withVendorId(params.getVendorId());
@@ -59,13 +74,33 @@ public <T extends ResponseType> AsyncHandler<T> getOcpp12Handler(String chargeBo
5974
}
6075

6176
@Override
62-
public AsyncHandler<DataTransferResponse> getOcpp15Handler(String chargeBoxId) {
77+
public AsyncHandler<ocpp.cp._2012._06.DataTransferResponse> getOcpp15Handler(String chargeBoxId) {
6378
return res -> {
6479
try {
65-
success(chargeBoxId, res.get());
80+
DataTransferResponse response = res.get();
81+
success(chargeBoxId, new ResponseWrapper(response.getStatus().value(), response.getData()));
6682
} catch (Exception e) {
6783
failed(chargeBoxId, e);
6884
}
6985
};
7086
}
71-
}
87+
88+
@Override
89+
public AsyncHandler<ocpp.cp._2015._10.DataTransferResponse> getOcpp16Handler(String chargeBoxId) {
90+
return res -> {
91+
try {
92+
ocpp.cp._2015._10.DataTransferResponse response = res.get();
93+
success(chargeBoxId, new ResponseWrapper(response.getStatus().value(), response.getData()));
94+
} catch (Exception e) {
95+
failed(chargeBoxId, e);
96+
}
97+
};
98+
}
99+
100+
@Getter
101+
@RequiredArgsConstructor
102+
public static class ResponseWrapper {
103+
private final String status;
104+
private final String data;
105+
}
106+
}

0 commit comments

Comments
 (0)