Skip to content

Commit 53da60b

Browse files
committed
Stronger validation on Requests and Confirmations
Improve JavaDoc
1 parent 47606f6 commit 53da60b

File tree

72 files changed

+8167
-6793
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+8167
-6793
lines changed

gradlew

100644100755
File mode changed.

ocpp-v1_6/src/main/java/eu/chargetime/ocpp/feature/profile/ClientCoreProfile.java

+198-229
Large diffs are not rendered by default.

ocpp-v1_6/src/main/java/eu/chargetime/ocpp/feature/profile/ClientFirmwareManagementProfile.java

+55-53
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
MIT License
66
77
Copyright (C) 2016-2018 Thomas Volden <[email protected]>
8+
Copyright (C) 2019 Kevin Raddatz <[email protected]>
89
910
Permission is hereby granted, free of charge, to any person obtaining a copy
1011
of this software and associated documentation files (the "Software"), to deal
@@ -29,64 +30,65 @@ of this software and associated documentation files (the "Software"), to deal
2930
import eu.chargetime.ocpp.model.Confirmation;
3031
import eu.chargetime.ocpp.model.Request;
3132
import eu.chargetime.ocpp.model.firmware.*;
33+
3234
import java.util.HashSet;
3335
import java.util.UUID;
3436

3537
public class ClientFirmwareManagementProfile implements Profile {
3638

37-
private HashSet<Feature> features;
38-
private ClientFirmwareManagementEventHandler eventHandler;
39-
40-
public ClientFirmwareManagementProfile(ClientFirmwareManagementEventHandler eventHandler) {
41-
this.eventHandler = eventHandler;
42-
features = new HashSet<>();
43-
features.add(new GetDiagnosticsFeature(this));
44-
features.add(new DiagnosticsStatusNotificationFeature(this));
45-
features.add(new FirmwareStatusNotificationFeature(this));
46-
features.add(new UpdateFirmwareFeature(this));
47-
}
48-
49-
/**
50-
* Create a {@link DiagnosticsStatusNotificationRequest} with required values.
51-
*
52-
* @param status required. Identification of the {@link DiagnosticsStatus}.
53-
* @return an instance of {@link DiagnosticsStatusNotificationRequest}.
54-
* @see DiagnosticsStatusNotificationRequest
55-
* @see DiagnosticsStatusNotificationFeature
56-
*/
57-
public DiagnosticsStatusNotificationRequest createDiagnosticsStatusNotificationRequest(
58-
DiagnosticsStatus status) {
59-
return new DiagnosticsStatusNotificationRequest(status);
60-
}
61-
62-
/**
63-
* Create a {@link FirmwareStatusNotificationRequest} with required values.
64-
*
65-
* @param status required. Identification of the {@link FirmwareStatus}.
66-
* @return an instance of {@link FirmwareStatusNotificationRequest}.
67-
* @see FirmwareStatusNotificationRequest
68-
* @see FirmwareStatusNotificationFeature
69-
*/
70-
public FirmwareStatusNotificationRequest createFirmwareStatusNotificationRequest(
71-
FirmwareStatus status) {
72-
return new FirmwareStatusNotificationRequest(status);
73-
}
74-
75-
@Override
76-
public ProfileFeature[] getFeatureList() {
77-
return features.toArray(new ProfileFeature[0]);
78-
}
79-
80-
@Override
81-
public Confirmation handleRequest(UUID sessionIndex, Request request) {
82-
Confirmation result = null;
83-
84-
if (request instanceof GetDiagnosticsRequest) {
85-
result = eventHandler.handleGetDiagnosticsRequest((GetDiagnosticsRequest) request);
86-
} else if (request instanceof UpdateFirmwareRequest) {
87-
result = eventHandler.handleUpdateFirmwareRequest((UpdateFirmwareRequest) request);
39+
private HashSet<Feature> features;
40+
private ClientFirmwareManagementEventHandler eventHandler;
41+
42+
public ClientFirmwareManagementProfile(ClientFirmwareManagementEventHandler eventHandler) {
43+
this.eventHandler = eventHandler;
44+
features = new HashSet<>();
45+
features.add(new DiagnosticsStatusNotificationFeature(null));
46+
features.add(new FirmwareStatusNotificationFeature(null));
47+
features.add(new GetDiagnosticsFeature(this));
48+
features.add(new UpdateFirmwareFeature(this));
49+
}
50+
51+
/**
52+
* Create a {@link DiagnosticsStatusNotificationRequest} with required values.
53+
*
54+
* @param status required. Identification of the {@link DiagnosticsStatus}.
55+
* @return an instance of {@link DiagnosticsStatusNotificationRequest}.
56+
* @see DiagnosticsStatusNotificationRequest
57+
* @see DiagnosticsStatusNotificationFeature
58+
*/
59+
public DiagnosticsStatusNotificationRequest createDiagnosticsStatusNotificationRequest(
60+
DiagnosticsStatus status) {
61+
return new DiagnosticsStatusNotificationRequest(status);
62+
}
63+
64+
/**
65+
* Create a {@link FirmwareStatusNotificationRequest} with required values.
66+
*
67+
* @param status required. Identification of the {@link FirmwareStatus}.
68+
* @return an instance of {@link FirmwareStatusNotificationRequest}.
69+
* @see FirmwareStatusNotificationRequest
70+
* @see FirmwareStatusNotificationFeature
71+
*/
72+
public FirmwareStatusNotificationRequest createFirmwareStatusNotificationRequest(
73+
FirmwareStatus status) {
74+
return new FirmwareStatusNotificationRequest(status);
8875
}
8976

90-
return result;
91-
}
77+
@Override
78+
public ProfileFeature[] getFeatureList() {
79+
return features.toArray(new ProfileFeature[0]);
80+
}
81+
82+
@Override
83+
public Confirmation handleRequest(UUID sessionIndex, Request request) {
84+
Confirmation result = null;
85+
86+
if (request instanceof GetDiagnosticsRequest) {
87+
result = eventHandler.handleGetDiagnosticsRequest((GetDiagnosticsRequest) request);
88+
} else if (request instanceof UpdateFirmwareRequest) {
89+
result = eventHandler.handleUpdateFirmwareRequest((UpdateFirmwareRequest) request);
90+
}
91+
92+
return result;
93+
}
9294
}

ocpp-v1_6/src/main/java/eu/chargetime/ocpp/feature/profile/ClientReservationProfile.java

+28-23
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
88
Copyright (C) 2016-2018 Thomas Volden <[email protected]>
99
Copyright (C) 2018 Mikhail Kladkevich <[email protected]>
10+
Copyright (C) 2019 Kevin Raddatz <[email protected]>
1011
1112
Permission is hereby granted, free of charge, to any person obtaining a copy
1213
of this software and associated documentation files (the "Software"), to deal
@@ -27,41 +28,45 @@ of this software and associated documentation files (the "Software"), to deal
2728
SOFTWARE.
2829
*/
2930

30-
import eu.chargetime.ocpp.feature.*;
31+
import eu.chargetime.ocpp.feature.CancelReservationFeature;
32+
import eu.chargetime.ocpp.feature.Feature;
33+
import eu.chargetime.ocpp.feature.ProfileFeature;
34+
import eu.chargetime.ocpp.feature.ReserveNowFeature;
3135
import eu.chargetime.ocpp.model.Confirmation;
3236
import eu.chargetime.ocpp.model.Request;
3337
import eu.chargetime.ocpp.model.reservation.CancelReservationRequest;
3438
import eu.chargetime.ocpp.model.reservation.ReserveNowRequest;
39+
3540
import java.util.HashSet;
3641
import java.util.UUID;
3742

3843
public class ClientReservationProfile implements Profile {
3944

40-
private HashSet<Feature> features;
41-
private ClientReservationEventHandler eventHandler;
45+
private HashSet<Feature> features;
46+
private ClientReservationEventHandler eventHandler;
4247

43-
public ClientReservationProfile(ClientReservationEventHandler eventHandler) {
44-
this.eventHandler = eventHandler;
45-
features = new HashSet<>();
46-
features.add(new ReserveNowFeature(this));
47-
features.add(new CancelReservationFeature(this));
48-
}
48+
public ClientReservationProfile(ClientReservationEventHandler eventHandler) {
49+
this.eventHandler = eventHandler;
50+
features = new HashSet<>();
51+
features.add(new CancelReservationFeature(this));
52+
features.add(new ReserveNowFeature(this));
53+
}
4954

50-
@Override
51-
public ProfileFeature[] getFeatureList() {
52-
return features.toArray(new ProfileFeature[0]);
53-
}
55+
@Override
56+
public ProfileFeature[] getFeatureList() {
57+
return features.toArray(new ProfileFeature[0]);
58+
}
5459

55-
@Override
56-
public Confirmation handleRequest(UUID sessionIndex, Request request) {
57-
Confirmation result = null;
60+
@Override
61+
public Confirmation handleRequest(UUID sessionIndex, Request request) {
62+
Confirmation result = null;
5863

59-
if (request instanceof ReserveNowRequest) {
60-
result = eventHandler.handleReserveNowRequest((ReserveNowRequest) request);
61-
} else if (request instanceof CancelReservationRequest) {
62-
result = eventHandler.handleCancelReservationRequest((CancelReservationRequest) request);
63-
}
64+
if (request instanceof CancelReservationRequest) {
65+
result = eventHandler.handleCancelReservationRequest((CancelReservationRequest) request);
66+
} else if (request instanceof ReserveNowRequest) {
67+
result = eventHandler.handleReserveNowRequest((ReserveNowRequest) request);
68+
}
6469

65-
return result;
66-
}
70+
return result;
71+
}
6772
}

ocpp-v1_6/src/main/java/eu/chargetime/ocpp/feature/profile/ClientSmartChargingProfile.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -61,14 +61,14 @@ public ProfileFeature[] getFeatureList() {
6161
public Confirmation handleRequest(UUID sessionIndex, Request request) {
6262
Confirmation result = null;
6363

64-
if (request instanceof SetChargingProfileRequest) {
65-
result = eventHandler.handleSetChargingProfileRequest((SetChargingProfileRequest) request);
66-
} else if (request instanceof ClearChargingProfileRequest) {
64+
if (request instanceof ClearChargingProfileRequest) {
6765
result =
6866
eventHandler.handleClearChargingProfileRequest((ClearChargingProfileRequest) request);
6967
} else if (request instanceof GetCompositeScheduleRequest) {
7068
result =
7169
eventHandler.handleGetCompositeScheduleRequest((GetCompositeScheduleRequest) request);
70+
} else if (request instanceof SetChargingProfileRequest) {
71+
result = eventHandler.handleSetChargingProfileRequest((SetChargingProfileRequest) request);
7272
}
7373

7474
return result;

0 commit comments

Comments
 (0)