19
19
package de .rwth .idsg .steve .service ;
20
20
21
21
import de .rwth .idsg .steve .SteveException ;
22
- import de .rwth .idsg .steve .ocpp .ChargePointServiceInvoker ;
23
22
import de .rwth .idsg .steve .ocpp .ChargePointServiceInvokerImpl ;
23
+ import de .rwth .idsg .steve .ocpp .OcppCallback ;
24
24
import de .rwth .idsg .steve .ocpp .OcppVersion ;
25
25
import de .rwth .idsg .steve .ocpp .task .CancelReservationTask ;
26
26
import de .rwth .idsg .steve .ocpp .task .ChangeAvailabilityTask ;
70
70
import lombok .RequiredArgsConstructor ;
71
71
import lombok .extern .slf4j .Slf4j ;
72
72
import ocpp .cp ._2015 ._10 .ChargingProfilePurposeType ;
73
+ import ocpp .cp ._2015 ._10 .GetCompositeScheduleResponse ;
73
74
import org .joda .time .DateTime ;
74
75
import org .springframework .stereotype .Service ;
75
76
@@ -97,59 +98,95 @@ public class ChargePointServiceClient {
97
98
// Multiple Execution - since OCPP 1.2
98
99
// -------------------------------------------------------------------------
99
100
100
- public int changeAvailability (OcppVersion ocppVersion , ChangeAvailabilityParams params ) {
101
+ @ SafeVarargs
102
+ public final int changeAvailability (OcppVersion ocppVersion , ChangeAvailabilityParams params ,
103
+ OcppCallback <String >... callbacks ) {
101
104
ChangeAvailabilityTask task = new ChangeAvailabilityTask (ocppVersion , params );
102
105
106
+ for (var callback : callbacks ) {
107
+ task .addCallback (callback );
108
+ }
109
+
103
110
BackgroundService .with (executorService )
104
111
.forEach (task .getParams ().getChargePointSelectList ())
105
112
.execute (c -> invoker .changeAvailability (c , task ));
106
113
107
114
return taskStore .add (task );
108
115
}
109
116
110
- public int changeConfiguration (OcppVersion ocppVersion , ChangeConfigurationParams params ) {
117
+ @ SafeVarargs
118
+ public final int changeConfiguration (OcppVersion ocppVersion , ChangeConfigurationParams params ,
119
+ OcppCallback <String >... callbacks ) {
111
120
ChangeConfigurationTask task = new ChangeConfigurationTask (ocppVersion , params );
112
121
122
+ for (var callback : callbacks ) {
123
+ task .addCallback (callback );
124
+ }
125
+
113
126
BackgroundService .with (executorService )
114
127
.forEach (task .getParams ().getChargePointSelectList ())
115
128
.execute (c -> invoker .changeConfiguration (c , task ));
116
129
117
130
return taskStore .add (task );
118
131
}
119
132
120
- public int clearCache (OcppVersion ocppVersion , MultipleChargePointSelect params ) {
133
+ @ SafeVarargs
134
+ public final int clearCache (OcppVersion ocppVersion , MultipleChargePointSelect params ,
135
+ OcppCallback <String >... callbacks ) {
121
136
ClearCacheTask task = new ClearCacheTask (ocppVersion , params );
122
137
138
+ for (var callback : callbacks ) {
139
+ task .addCallback (callback );
140
+ }
141
+
123
142
BackgroundService .with (executorService )
124
143
.forEach (task .getParams ().getChargePointSelectList ())
125
144
.execute (c -> invoker .clearCache (c , task ));
126
145
127
146
return taskStore .add (task );
128
147
}
129
148
130
- public int getDiagnostics (OcppVersion ocppVersion , GetDiagnosticsParams params ) {
149
+ @ SafeVarargs
150
+ public final int getDiagnostics (OcppVersion ocppVersion , GetDiagnosticsParams params ,
151
+ OcppCallback <String >... callbacks ) {
131
152
GetDiagnosticsTask task = new GetDiagnosticsTask (ocppVersion , params );
132
153
154
+ for (var callback : callbacks ) {
155
+ task .addCallback (callback );
156
+ }
157
+
133
158
BackgroundService .with (executorService )
134
159
.forEach (task .getParams ().getChargePointSelectList ())
135
160
.execute (c -> invoker .getDiagnostics (c , task ));
136
161
137
162
return taskStore .add (task );
138
163
}
139
164
140
- public int reset (OcppVersion ocppVersion , ResetParams params ) {
165
+ @ SafeVarargs
166
+ public final int reset (OcppVersion ocppVersion , ResetParams params ,
167
+ OcppCallback <String >... callbacks ) {
141
168
ResetTask task = new ResetTask (ocppVersion , params );
142
169
170
+ for (var callback : callbacks ) {
171
+ task .addCallback (callback );
172
+ }
173
+
143
174
BackgroundService .with (executorService )
144
175
.forEach (task .getParams ().getChargePointSelectList ())
145
176
.execute (c -> invoker .reset (c , task ));
146
177
147
178
return taskStore .add (task );
148
179
}
149
180
150
- public int updateFirmware (OcppVersion ocppVersion , UpdateFirmwareParams params ) {
181
+ @ SafeVarargs
182
+ public final int updateFirmware (OcppVersion ocppVersion , UpdateFirmwareParams params ,
183
+ OcppCallback <String >... callbacks ) {
151
184
UpdateFirmwareTask task = new UpdateFirmwareTask (ocppVersion , params );
152
185
186
+ for (var callback : callbacks ) {
187
+ task .addCallback (callback );
188
+ }
189
+
153
190
BackgroundService .with (executorService )
154
191
.forEach (task .getParams ().getChargePointSelectList ())
155
192
.execute (c -> invoker .updateFirmware (c , task ));
@@ -161,29 +198,47 @@ public int updateFirmware(OcppVersion ocppVersion, UpdateFirmwareParams params)
161
198
// Single Execution - since OCPP 1.2
162
199
// -------------------------------------------------------------------------
163
200
164
- public int remoteStartTransaction (OcppVersion ocppVersion , RemoteStartTransactionParams params ) {
201
+ @ SafeVarargs
202
+ public final int remoteStartTransaction (OcppVersion ocppVersion , RemoteStartTransactionParams params ,
203
+ OcppCallback <String >... callbacks ) {
165
204
RemoteStartTransactionTask task = new RemoteStartTransactionTask (ocppVersion , params );
166
205
206
+ for (var callback : callbacks ) {
207
+ task .addCallback (callback );
208
+ }
209
+
167
210
BackgroundService .with (executorService )
168
211
.forFirst (task .getParams ().getChargePointSelectList ())
169
212
.execute (c -> invoker .remoteStartTransaction (c , task ));
170
213
171
214
return taskStore .add (task );
172
215
}
173
216
174
- public int remoteStopTransaction (OcppVersion ocppVersion , RemoteStopTransactionParams params ) {
217
+ @ SafeVarargs
218
+ public final int remoteStopTransaction (OcppVersion ocppVersion , RemoteStopTransactionParams params ,
219
+ OcppCallback <String >... callbacks ) {
175
220
RemoteStopTransactionTask task = new RemoteStopTransactionTask (ocppVersion , params );
176
221
222
+ for (var callback : callbacks ) {
223
+ task .addCallback (callback );
224
+ }
225
+
177
226
BackgroundService .with (executorService )
178
227
.forFirst (task .getParams ().getChargePointSelectList ())
179
228
.execute (c -> invoker .remoteStopTransaction (c , task ));
180
229
181
230
return taskStore .add (task );
182
231
}
183
232
184
- public int unlockConnector (OcppVersion ocppVersion , UnlockConnectorParams params ) {
233
+ @ SafeVarargs
234
+ public final int unlockConnector (OcppVersion ocppVersion , UnlockConnectorParams params ,
235
+ OcppCallback <String >... callbacks ) {
185
236
UnlockConnectorTask task = new UnlockConnectorTask (ocppVersion , params );
186
237
238
+ for (var callback : callbacks ) {
239
+ task .addCallback (callback );
240
+ }
241
+
187
242
BackgroundService .with (executorService )
188
243
.forFirst (task .getParams ().getChargePointSelectList ())
189
244
.execute (c -> invoker .unlockConnector (c , task ));
@@ -195,39 +250,63 @@ public int unlockConnector(OcppVersion ocppVersion, UnlockConnectorParams params
195
250
// Multiple Execution - since OCPP 1.5
196
251
// -------------------------------------------------------------------------
197
252
198
- public int dataTransfer (OcppVersion ocppVersion , DataTransferParams params ) {
253
+ @ SafeVarargs
254
+ public final int dataTransfer (OcppVersion ocppVersion , DataTransferParams params ,
255
+ OcppCallback <DataTransferTask .ResponseWrapper >... callbacks ) {
199
256
DataTransferTask task = new DataTransferTask (ocppVersion , params );
200
257
258
+ for (var callback : callbacks ) {
259
+ task .addCallback (callback );
260
+ }
261
+
201
262
BackgroundService .with (executorService )
202
263
.forEach (task .getParams ().getChargePointSelectList ())
203
264
.execute (c -> invoker .dataTransfer (c , task ));
204
265
205
266
return taskStore .add (task );
206
267
}
207
268
208
- public int getConfiguration (OcppVersion ocppVersion , GetConfigurationParams params ) {
269
+ @ SafeVarargs
270
+ public final int getConfiguration (OcppVersion ocppVersion , GetConfigurationParams params ,
271
+ OcppCallback <GetConfigurationTask .ResponseWrapper >... callbacks ) {
209
272
GetConfigurationTask task = new GetConfigurationTask (ocppVersion , params );
210
273
274
+ for (var callback : callbacks ) {
275
+ task .addCallback (callback );
276
+ }
277
+
211
278
BackgroundService .with (executorService )
212
279
.forEach (task .getParams ().getChargePointSelectList ())
213
280
.execute (c -> invoker .getConfiguration (c , task ));
214
281
215
282
return taskStore .add (task );
216
283
}
217
284
218
- public int getLocalListVersion (OcppVersion ocppVersion , MultipleChargePointSelect params ) {
285
+ @ SafeVarargs
286
+ public final int getLocalListVersion (OcppVersion ocppVersion , MultipleChargePointSelect params ,
287
+ OcppCallback <String >... callbacks ) {
219
288
GetLocalListVersionTask task = new GetLocalListVersionTask (ocppVersion , params );
220
289
290
+ for (var callback : callbacks ) {
291
+ task .addCallback (callback );
292
+ }
293
+
221
294
BackgroundService .with (executorService )
222
295
.forEach (task .getParams ().getChargePointSelectList ())
223
296
.execute (c -> invoker .getLocalListVersion (c , task ));
224
297
225
298
return taskStore .add (task );
226
299
}
227
300
228
- public int sendLocalList (OcppVersion ocppVersion , SendLocalListParams params ) {
301
+ @ SafeVarargs
302
+ public final int sendLocalList (OcppVersion ocppVersion , SendLocalListParams params ,
303
+ OcppCallback <String >... callbacks ) {
229
304
SendLocalListTask task = new SendLocalListTask (ocppVersion , params , ocppTagService );
230
305
306
+ for (var callback : callbacks ) {
307
+ task .addCallback (callback );
308
+ }
309
+
231
310
BackgroundService .with (executorService )
232
311
.forEach (task .getParams ().getChargePointSelectList ())
233
312
.execute (c -> invoker .sendLocalList (c , task ));
@@ -239,7 +318,9 @@ public int sendLocalList(OcppVersion ocppVersion, SendLocalListParams params) {
239
318
// Single Execution - since OCPP 1.5
240
319
// -------------------------------------------------------------------------
241
320
242
- public int reserveNow (OcppVersion ocppVersion , ReserveNowParams params ) {
321
+ @ SafeVarargs
322
+ public final int reserveNow (OcppVersion ocppVersion , ReserveNowParams params ,
323
+ OcppCallback <String >... callbacks ) {
243
324
List <ChargePointSelect > list = params .getChargePointSelectList ();
244
325
245
326
InsertReservationParams res = InsertReservationParams .builder ()
@@ -256,16 +337,26 @@ public int reserveNow(OcppVersion ocppVersion, ReserveNowParams params) {
256
337
EnhancedReserveNowParams enhancedParams = new EnhancedReserveNowParams (params , reservationId , parentIdTag );
257
338
ReserveNowTask task = new ReserveNowTask (ocppVersion , enhancedParams , reservationRepository );
258
339
340
+ for (var callback : callbacks ) {
341
+ task .addCallback (callback );
342
+ }
343
+
259
344
BackgroundService .with (executorService )
260
345
.forFirst (task .getParams ().getChargePointSelectList ())
261
346
.execute (c -> invoker .reserveNow (c , task ));
262
347
263
348
return taskStore .add (task );
264
349
}
265
350
266
- public int cancelReservation (OcppVersion ocppVersion , CancelReservationParams params ) {
351
+ @ SafeVarargs
352
+ public final int cancelReservation (OcppVersion ocppVersion , CancelReservationParams params ,
353
+ OcppCallback <String >... callbacks ) {
267
354
CancelReservationTask task = new CancelReservationTask (ocppVersion , params , reservationRepository );
268
355
356
+ for (var callback : callbacks ) {
357
+ task .addCallback (callback );
358
+ }
359
+
269
360
BackgroundService .with (executorService )
270
361
.forFirst (task .getParams ().getChargePointSelectList ())
271
362
.execute (c -> invoker .cancelReservation (c , task ));
@@ -277,44 +368,68 @@ public int cancelReservation(OcppVersion ocppVersion, CancelReservationParams pa
277
368
// Multiple Execution - since OCPP 1.6
278
369
// -------------------------------------------------------------------------
279
370
280
- public int triggerMessage (OcppVersion ocppVersion , TriggerMessageParams params ) {
371
+ @ SafeVarargs
372
+ public final int triggerMessage (OcppVersion ocppVersion , TriggerMessageParams params ,
373
+ OcppCallback <String >... callbacks ) {
281
374
TriggerMessageTask task = new TriggerMessageTask (ocppVersion , params );
282
375
376
+ for (var callback : callbacks ) {
377
+ task .addCallback (callback );
378
+ }
379
+
283
380
BackgroundService .with (executorService )
284
381
.forEach (task .getParams ().getChargePointSelectList ())
285
382
.execute (c -> invoker .triggerMessage (c , task ));
286
383
287
384
return taskStore .add (task );
288
385
}
289
386
290
- public int setChargingProfile (OcppVersion ocppVersion , SetChargingProfileParams params ) {
387
+ @ SafeVarargs
388
+ public final int setChargingProfile (OcppVersion ocppVersion , SetChargingProfileParams params ,
389
+ OcppCallback <String >... callbacks ) {
291
390
ChargingProfile .Details details = chargingProfileRepository .getDetails (params .getChargingProfilePk ());
292
391
293
392
checkAdditionalConstraints (params , details );
294
393
295
394
EnhancedSetChargingProfileParams enhancedParams = new EnhancedSetChargingProfileParams (params , details );
296
395
SetChargingProfileTask task = new SetChargingProfileTask (ocppVersion , enhancedParams , chargingProfileRepository );
297
396
397
+ for (var callback : callbacks ) {
398
+ task .addCallback (callback );
399
+ }
400
+
298
401
BackgroundService .with (executorService )
299
402
.forEach (task .getParams ().getChargePointSelectList ())
300
403
.execute (c -> invoker .setChargingProfile (c , task ));
301
404
302
405
return taskStore .add (task );
303
406
}
304
407
305
- public int clearChargingProfile (OcppVersion ocppVersion , ClearChargingProfileParams params ) {
408
+ @ SafeVarargs
409
+ public final int clearChargingProfile (OcppVersion ocppVersion , ClearChargingProfileParams params ,
410
+ OcppCallback <String >... callbacks ) {
306
411
ClearChargingProfileTask task = new ClearChargingProfileTask (ocppVersion , params , chargingProfileRepository );
307
412
413
+ for (var callback : callbacks ) {
414
+ task .addCallback (callback );
415
+ }
416
+
308
417
BackgroundService .with (executorService )
309
418
.forEach (task .getParams ().getChargePointSelectList ())
310
419
.execute (c -> invoker .clearChargingProfile (c , task ));
311
420
312
421
return taskStore .add (task );
313
422
}
314
423
315
- public int getCompositeSchedule (OcppVersion ocppVersion , GetCompositeScheduleParams params ) {
424
+ @ SafeVarargs
425
+ public final int getCompositeSchedule (OcppVersion ocppVersion , GetCompositeScheduleParams params ,
426
+ OcppCallback <GetCompositeScheduleResponse >... callbacks ) {
316
427
GetCompositeScheduleTask task = new GetCompositeScheduleTask (ocppVersion , params );
317
428
429
+ for (var callback : callbacks ) {
430
+ task .addCallback (callback );
431
+ }
432
+
318
433
BackgroundService .with (executorService )
319
434
.forEach (task .getParams ().getChargePointSelectList ())
320
435
.execute (c -> invoker .getCompositeSchedule (c , task ));
0 commit comments