Skip to content

Commit 62353f4

Browse files
authored
Merge pull request #243 from mmauksch/issue231-StopTransaction-validationcrash
validate via test and use suggested fix from #231
2 parents 89afc40 + c3e438c commit 62353f4

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

ocpp-v1_6/src/main/java/eu/chargetime/ocpp/model/core/StopTransactionRequest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public String getIdTag() {
103103
*/
104104
@XmlElement
105105
public void setIdTag(String idTag) {
106-
if (!ModelUtil.validate(idTag, 20)) {
106+
if (idTag != null && !ModelUtil.validate(idTag, 20)) {
107107
throw new PropertyConstraintException(idTag.length(), "Exceeded limit of 20 chars");
108108
}
109109

ocpp-v1_6/src/test/java/eu/chargetime/ocpp/model/test/StopTransactionRequestTest.java

+14
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,20 @@ public void setIdTag_moreThan20Chars_throwsPropertyConstraintException() {
7575
request.setIdTag(aString(42));
7676
}
7777

78+
@Test
79+
public void setIdTag_nullGiven_doesNotRaiseException() {
80+
request.setIdTag(null);
81+
Assert.assertNull(request.getIdTag());
82+
}
83+
@Test
84+
public void setIdTag_nullGiven_passesValidation() {
85+
request.setMeterStop(2);
86+
request.setTransactionId(5);
87+
request.setTimestamp(ZonedDateTime.now());
88+
request.setIdTag(null);
89+
Assert.assertTrue(request.validate());
90+
}
91+
7892
@Test
7993
public void setMeterStop_anInteger_meterStopIsSet() {
8094
// Given

0 commit comments

Comments
 (0)