Skip to content

Commit a43e3d6

Browse files
committed
Fix reversed OCPP 2.1 message directions
Fix the direction of these OCPP 2.1 messages which were reversed: 1. ClosePeriodicEventStreamRequest is CS to CSMS 2. ReportDERControlRequest is CS to CSMS 3. RequestBatterySwapRequest is CSMS to CS
1 parent 7c42c96 commit a43e3d6

12 files changed

Lines changed: 77 additions & 76 deletions

ocpp-v2/src/main/java/eu/chargetime/ocpp/v21/feature/function/ClientDERControlEventHandler.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,6 @@ public interface ClientDERControlEventHandler {
4444
*/
4545
GetDERControlResponse handleGetDERControlRequest(GetDERControlRequest request);
4646

47-
/**
48-
* Handle a {@link ReportDERControlRequest} and return a {@link ReportDERControlResponse}.
49-
*
50-
* @param request incoming {@link ReportDERControlRequest} to handle.
51-
* @return outgoing {@link ReportDERControlResponse} to reply with.
52-
*/
53-
ReportDERControlResponse handleReportDERControlRequest(ReportDERControlRequest request);
54-
5547
/**
5648
* Handle a {@link SetDERControlRequest} and return a {@link SetDERControlResponse}.
5749
*

ocpp-v2/src/main/java/eu/chargetime/ocpp/v21/feature/function/ClientDERControlFunction.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public ClientDERControlFunction(ClientDERControlEventHandler eventHandler) {
4848
features.add(new GetDERControlFeature(this));
4949
features.add(new NotifyDERAlarmFeature(null));
5050
features.add(new NotifyDERStartStopFeature(null));
51-
features.add(new ReportDERControlFeature(this));
51+
features.add(new ReportDERControlFeature(null));
5252
features.add(new SetDERControlFeature(this));
5353
}
5454

@@ -63,8 +63,6 @@ public Confirmation handleRequest(UUID sessionIndex, Request request) {
6363
return eventHandler.handleClearDERControlRequest((ClearDERControlRequest) request);
6464
} else if (request instanceof GetDERControlRequest) {
6565
return eventHandler.handleGetDERControlRequest((GetDERControlRequest) request);
66-
} else if (request instanceof ReportDERControlRequest) {
67-
return eventHandler.handleReportDERControlRequest((ReportDERControlRequest) request);
6866
} else if (request instanceof SetDERControlRequest) {
6967
return eventHandler.handleSetDERControlRequest((SetDERControlRequest) request);
7068
}
@@ -96,4 +94,14 @@ public NotifyDERStartStopRequest createNotifyDERStartStopRequest(
9694
String controlId, Boolean started, ZonedDateTime timestamp) {
9795
return new NotifyDERStartStopRequest(controlId, started, timestamp);
9896
}
97+
98+
/**
99+
* Create a client {@link ReportDERControlRequest} with all required fields.
100+
*
101+
* @param requestId RequestId from GetDERControlRequest.
102+
* @return an instance of {@link ReportDERControlRequest}
103+
*/
104+
public ReportDERControlRequest createReportDERControlRequest(Integer requestId) {
105+
return new ReportDERControlRequest(requestId);
106+
}
99107
}

ocpp-v2/src/main/java/eu/chargetime/ocpp/v21/feature/function/ClientDiagnosticsEventHandler.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -48,16 +48,6 @@ AdjustPeriodicEventStreamResponse handleAdjustPeriodicEventStreamRequest(
4848
ClearVariableMonitoringResponse handleClearVariableMonitoringRequest(
4949
ClearVariableMonitoringRequest request);
5050

51-
/**
52-
* Handle a {@link ClosePeriodicEventStreamRequest} and return a {@link
53-
* ClosePeriodicEventStreamResponse}.
54-
*
55-
* @param request incoming {@link ClosePeriodicEventStreamRequest} to handle.
56-
* @return outgoing {@link ClosePeriodicEventStreamResponse} to reply with.
57-
*/
58-
ClosePeriodicEventStreamResponse handleClosePeriodicEventStreamRequest(
59-
ClosePeriodicEventStreamRequest request);
60-
6151
/**
6252
* Handle a {@link CustomerInformationRequest} and return a {@link CustomerInformationResponse}.
6353
*

ocpp-v2/src/main/java/eu/chargetime/ocpp/v21/feature/function/ClientDiagnosticsFunction.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public ClientDiagnosticsFunction(ClientDiagnosticsEventHandler eventHandler) {
4646
features = new ArrayList<>();
4747
features.add(new AdjustPeriodicEventStreamFeature(this));
4848
features.add(new ClearVariableMonitoringFeature(this));
49-
features.add(new ClosePeriodicEventStreamFeature(this));
49+
features.add(new ClosePeriodicEventStreamFeature(null));
5050
features.add(new CustomerInformationFeature(this));
5151
features.add(new GetLogFeature(this));
5252
features.add(new GetMonitoringReportFeature(this));
@@ -74,9 +74,6 @@ public Confirmation handleRequest(UUID sessionIndex, Request request) {
7474
} else if (request instanceof ClearVariableMonitoringRequest) {
7575
return eventHandler.handleClearVariableMonitoringRequest(
7676
(ClearVariableMonitoringRequest) request);
77-
} else if (request instanceof ClosePeriodicEventStreamRequest) {
78-
return eventHandler.handleClosePeriodicEventStreamRequest(
79-
(ClosePeriodicEventStreamRequest) request);
8077
} else if (request instanceof CustomerInformationRequest) {
8178
return eventHandler.handleCustomerInformationRequest((CustomerInformationRequest) request);
8279
} else if (request instanceof GetLogRequest) {
@@ -97,6 +94,16 @@ public Confirmation handleRequest(UUID sessionIndex, Request request) {
9794
return null;
9895
}
9996

97+
/**
98+
* Create a client {@link ClosePeriodicEventStreamRequest} with all required fields.
99+
*
100+
* @param id Id of stream to close.
101+
* @return an instance of {@link ClosePeriodicEventStreamRequest}
102+
*/
103+
public ClosePeriodicEventStreamRequest createClosePeriodicEventStreamRequest(Integer id) {
104+
return new ClosePeriodicEventStreamRequest(id);
105+
}
106+
100107
/**
101108
* Create a client {@link LogStatusNotificationRequest} with all required fields.
102109
*

ocpp-v2/src/main/java/eu/chargetime/ocpp/v21/feature/function/ClientTransactionsEventHandler.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,12 @@ public interface ClientTransactionsEventHandler {
3636
*/
3737
GetTransactionStatusResponse handleGetTransactionStatusRequest(
3838
GetTransactionStatusRequest request);
39+
40+
/**
41+
* Handle a {@link RequestBatterySwapRequest} and return a {@link RequestBatterySwapResponse}.
42+
*
43+
* @param request incoming {@link RequestBatterySwapRequest} to handle.
44+
* @return outgoing {@link RequestBatterySwapResponse} to reply with.
45+
*/
46+
RequestBatterySwapResponse handleRequestBatterySwapRequest(RequestBatterySwapRequest request);
3947
}

ocpp-v2/src/main/java/eu/chargetime/ocpp/v21/feature/function/ClientTransactionsFunction.java

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public ClientTransactionsFunction(ClientTransactionsEventHandler eventHandler) {
4646
features = new ArrayList<>();
4747
features.add(new BatterySwapFeature(null));
4848
features.add(new GetTransactionStatusFeature(this));
49-
features.add(new RequestBatterySwapFeature(null));
49+
features.add(new RequestBatterySwapFeature(this));
5050
features.add(new TransactionEventFeature(null));
5151
}
5252

@@ -59,6 +59,8 @@ public FunctionFeature[] getFeatureList() {
5959
public Confirmation handleRequest(UUID sessionIndex, Request request) {
6060
if (request instanceof GetTransactionStatusRequest) {
6161
return eventHandler.handleGetTransactionStatusRequest((GetTransactionStatusRequest) request);
62+
} else if (request instanceof RequestBatterySwapRequest) {
63+
return eventHandler.handleRequestBatterySwapRequest((RequestBatterySwapRequest) request);
6264
}
6365
return null;
6466
}
@@ -82,19 +84,6 @@ public BatterySwapRequest createBatterySwapRequest(
8284
return new BatterySwapRequest(batteryData, eventType, idToken, requestId);
8385
}
8486

85-
/**
86-
* Create a client {@link RequestBatterySwapRequest} with all required fields.
87-
*
88-
* @param idToken A case insensitive identifier to use for the authorization and the type of
89-
* authorization to support multiple forms of identifiers.
90-
* @param requestId Request id to match with BatterySwapRequest.
91-
* @return an instance of {@link RequestBatterySwapRequest}
92-
*/
93-
public RequestBatterySwapRequest createRequestBatterySwapRequest(
94-
IdToken idToken, Integer requestId) {
95-
return new RequestBatterySwapRequest(idToken, requestId);
96-
}
97-
9887
/**
9988
* Create a client {@link TransactionEventRequest} with all required fields.
10089
*

ocpp-v2/src/main/java/eu/chargetime/ocpp/v21/feature/function/ServerDERControlEventHandler.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,14 @@ NotifyDERAlarmResponse handleNotifyDERAlarmRequest(
4848
*/
4949
NotifyDERStartStopResponse handleNotifyDERStartStopRequest(
5050
UUID sessionIndex, NotifyDERStartStopRequest request);
51+
52+
/**
53+
* Handle a {@link ReportDERControlRequest} and return a {@link ReportDERControlResponse}.
54+
*
55+
* @param sessionIndex identifier of the session on which the request was received.
56+
* @param request incoming {@link ReportDERControlRequest} to handle.
57+
* @return outgoing {@link ReportDERControlResponse} to reply with.
58+
*/
59+
ReportDERControlResponse handleReportDERControlRequest(
60+
UUID sessionIndex, ReportDERControlRequest request);
5161
}

ocpp-v2/src/main/java/eu/chargetime/ocpp/v21/feature/function/ServerDERControlFunction.java

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public ServerDERControlFunction(ServerDERControlEventHandler eventHandler) {
4747
features.add(new GetDERControlFeature(null));
4848
features.add(new NotifyDERAlarmFeature(this));
4949
features.add(new NotifyDERStartStopFeature(this));
50-
features.add(new ReportDERControlFeature(null));
50+
features.add(new ReportDERControlFeature(this));
5151
features.add(new SetDERControlFeature(null));
5252
}
5353

@@ -64,6 +64,9 @@ public Confirmation handleRequest(UUID sessionIndex, Request request) {
6464
} else if (request instanceof NotifyDERStartStopRequest) {
6565
return eventHandler.handleNotifyDERStartStopRequest(
6666
sessionIndex, (NotifyDERStartStopRequest) request);
67+
} else if (request instanceof ReportDERControlRequest) {
68+
return eventHandler.handleReportDERControlRequest(
69+
sessionIndex, (ReportDERControlRequest) request);
6770
}
6871
return null;
6972
}
@@ -88,16 +91,6 @@ public GetDERControlRequest createGetDERControlRequest(Integer requestId) {
8891
return new GetDERControlRequest(requestId);
8992
}
9093

91-
/**
92-
* Create a server {@link ReportDERControlRequest} with all required fields.
93-
*
94-
* @param requestId RequestId from GetDERControlRequest.
95-
* @return an instance of {@link ReportDERControlRequest}
96-
*/
97-
public ReportDERControlRequest createReportDERControlRequest(Integer requestId) {
98-
return new ReportDERControlRequest(requestId);
99-
}
100-
10194
/**
10295
* Create a server {@link SetDERControlRequest} with all required fields.
10396
*

ocpp-v2/src/main/java/eu/chargetime/ocpp/v21/feature/function/ServerDiagnosticsEventHandler.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,17 @@ of this software and associated documentation files (the "Software"), to deal
2929

3030
/** Call back handler for server events of the Diagnostics functional block. */
3131
public interface ServerDiagnosticsEventHandler {
32+
/**
33+
* Handle a {@link ClosePeriodicEventStreamRequest} and return a {@link
34+
* ClosePeriodicEventStreamResponse}.
35+
*
36+
* @param sessionIndex identifier of the session on which the request was received.
37+
* @param request incoming {@link ClosePeriodicEventStreamRequest} to handle.
38+
* @return outgoing {@link ClosePeriodicEventStreamResponse} to reply with.
39+
*/
40+
ClosePeriodicEventStreamResponse handleClosePeriodicEventStreamRequest(
41+
UUID sessionIndex, ClosePeriodicEventStreamRequest request);
42+
3243
/**
3344
* Handle a {@link LogStatusNotificationRequest} and return a {@link
3445
* LogStatusNotificationResponse}.

ocpp-v2/src/main/java/eu/chargetime/ocpp/v21/feature/function/ServerDiagnosticsFunction.java

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public ServerDiagnosticsFunction(ServerDiagnosticsEventHandler eventHandler) {
4545
features = new ArrayList<>();
4646
features.add(new AdjustPeriodicEventStreamFeature(null));
4747
features.add(new ClearVariableMonitoringFeature(null));
48-
features.add(new ClosePeriodicEventStreamFeature(null));
48+
features.add(new ClosePeriodicEventStreamFeature(this));
4949
features.add(new CustomerInformationFeature(null));
5050
features.add(new GetLogFeature(null));
5151
features.add(new GetMonitoringReportFeature(null));
@@ -67,7 +67,10 @@ public FunctionFeature[] getFeatureList() {
6767

6868
@Override
6969
public Confirmation handleRequest(UUID sessionIndex, Request request) {
70-
if (request instanceof LogStatusNotificationRequest) {
70+
if (request instanceof ClosePeriodicEventStreamRequest) {
71+
return eventHandler.handleClosePeriodicEventStreamRequest(
72+
sessionIndex, (ClosePeriodicEventStreamRequest) request);
73+
} else if (request instanceof LogStatusNotificationRequest) {
7174
return eventHandler.handleLogStatusNotificationRequest(
7275
sessionIndex, (LogStatusNotificationRequest) request);
7376
} else if (request instanceof NotifyCustomerInformationRequest) {
@@ -109,16 +112,6 @@ public ClearVariableMonitoringRequest createClearVariableMonitoringRequest(Integ
109112
return new ClearVariableMonitoringRequest(id);
110113
}
111114

112-
/**
113-
* Create a server {@link ClosePeriodicEventStreamRequest} with all required fields.
114-
*
115-
* @param id Id of stream to close.
116-
* @return an instance of {@link ClosePeriodicEventStreamRequest}
117-
*/
118-
public ClosePeriodicEventStreamRequest createClosePeriodicEventStreamRequest(Integer id) {
119-
return new ClosePeriodicEventStreamRequest(id);
120-
}
121-
122115
/**
123116
* Create a server {@link CustomerInformationRequest} with all required fields.
124117
*

0 commit comments

Comments
 (0)