From 98e0e946de64a5042f9580fad6c45155bb88e0da Mon Sep 17 00:00:00 2001
From: Andreas Fischer <andreas.fischer@innocharge.de>
Date: Thu, 24 Nov 2022 17:33:26 +0100
Subject: [PATCH] ocpp-v1_6: BootNotificationRequest: Allow optional to be set
 null #221

---
 .../ocpp/model/core/BootNotificationRequest.java   | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/ocpp-v1_6/src/main/java/eu/chargetime/ocpp/model/core/BootNotificationRequest.java b/ocpp-v1_6/src/main/java/eu/chargetime/ocpp/model/core/BootNotificationRequest.java
index 2134b15d0..662d8d594 100644
--- a/ocpp-v1_6/src/main/java/eu/chargetime/ocpp/model/core/BootNotificationRequest.java
+++ b/ocpp-v1_6/src/main/java/eu/chargetime/ocpp/model/core/BootNotificationRequest.java
@@ -160,7 +160,7 @@ public String getChargeBoxSerialNumber() {
    */
   @Deprecated()
   public void setChargeBoxSerialNumber(String chargeBoxSerialNumber) {
-    if (!ModelUtil.validate(chargeBoxSerialNumber, STRING_25_CHAR_MAX_LENGTH)) {
+    if (chargeBoxSerialNumber != null && !ModelUtil.validate(chargeBoxSerialNumber, STRING_25_CHAR_MAX_LENGTH)) {
       throw new PropertyConstraintException(
           chargeBoxSerialNumber.length(), validationErrorMessage(STRING_25_CHAR_MAX_LENGTH));
     }
@@ -184,7 +184,7 @@ public String getChargePointSerialNumber() {
    */
   @XmlElement
   public void setChargePointSerialNumber(String chargePointSerialNumber) {
-    if (!ModelUtil.validate(chargePointSerialNumber, STRING_25_CHAR_MAX_LENGTH)) {
+    if (chargePointSerialNumber != null && !ModelUtil.validate(chargePointSerialNumber, STRING_25_CHAR_MAX_LENGTH)) {
       throw new PropertyConstraintException(
           chargePointSerialNumber.length(), validationErrorMessage(STRING_25_CHAR_MAX_LENGTH));
     }
@@ -208,7 +208,7 @@ public String getFirmwareVersion() {
    */
   @XmlElement
   public void setFirmwareVersion(String firmwareVersion) {
-    if (!ModelUtil.validate(firmwareVersion, STRING_50_CHAR_MAX_LENGTH)) {
+    if (firmwareVersion != null && !ModelUtil.validate(firmwareVersion, STRING_50_CHAR_MAX_LENGTH)) {
       throw new PropertyConstraintException(
           firmwareVersion.length(), validationErrorMessage(STRING_50_CHAR_MAX_LENGTH));
     }
@@ -232,7 +232,7 @@ public String getIccid() {
    */
   @XmlElement
   public void setIccid(String iccid) {
-    if (!ModelUtil.validate(iccid, STRING_20_CHAR_MAX_LENGTH)) {
+    if (iccid != null && !ModelUtil.validate(iccid, STRING_20_CHAR_MAX_LENGTH)) {
       throw new PropertyConstraintException(
           iccid.length(), validationErrorMessage(STRING_20_CHAR_MAX_LENGTH));
     }
@@ -256,7 +256,7 @@ public String getImsi() {
    */
   @XmlElement
   public void setImsi(String imsi) {
-    if (!ModelUtil.validate(imsi, STRING_20_CHAR_MAX_LENGTH)) {
+    if (imsi != null && !ModelUtil.validate(imsi, STRING_20_CHAR_MAX_LENGTH)) {
       throw new PropertyConstraintException(
           imsi.length(), validationErrorMessage(STRING_20_CHAR_MAX_LENGTH));
     }
@@ -280,7 +280,7 @@ public String getMeterSerialNumber() {
    */
   @XmlElement
   public void setMeterSerialNumber(String meterSerialNumber) {
-    if (!ModelUtil.validate(meterSerialNumber, STRING_25_CHAR_MAX_LENGTH)) {
+    if (meterSerialNumber != null && !ModelUtil.validate(meterSerialNumber, STRING_25_CHAR_MAX_LENGTH)) {
       throw new PropertyConstraintException(
           meterSerialNumber.length(), validationErrorMessage(STRING_25_CHAR_MAX_LENGTH));
     }
@@ -304,7 +304,7 @@ public String getMeterType() {
    */
   @XmlElement
   public void setMeterType(String meterType) {
-    if (!ModelUtil.validate(meterType, STRING_25_CHAR_MAX_LENGTH)) {
+    if (meterType != null && !ModelUtil.validate(meterType, STRING_25_CHAR_MAX_LENGTH)) {
       throw new PropertyConstraintException(
           meterType.length(), validationErrorMessage(STRING_25_CHAR_MAX_LENGTH));
     }