From 15f8a46d492ef251e2f6db964b0ddf4a64cc70af Mon Sep 17 00:00:00 2001 From: Volodymyr Babak Date: Tue, 3 Aug 2021 13:47:08 +0300 Subject: [PATCH] Add check for null values --- .../service/edge/rpc/EdgeProtoUtils.java | 18 +++------- .../rpc/constructor/AssetMsgConstructor.java | 8 +++-- .../constructor/CustomerMsgConstructor.java | 36 ++++++++++++++----- .../rpc/constructor/DeviceMsgConstructor.java | 12 +++++-- .../DeviceProfileMsgConstructor.java | 4 ++- .../constructor/EntityViewMsgConstructor.java | 4 ++- .../rpc/constructor/UserMsgConstructor.java | 12 +++++-- .../constructor/WidgetTypeMsgConstructor.java | 16 ++++++--- 8 files changed, 74 insertions(+), 36 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/EdgeProtoUtils.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/EdgeProtoUtils.java index 4e9e5f59aa..f8065758ba 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/EdgeProtoUtils.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/EdgeProtoUtils.java @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -28,33 +28,25 @@ public class EdgeProtoUtils { public static BoolValue getBoolValue(Boolean value) { BoolValue.Builder builder = BoolValue.newBuilder(); - if (value != null) { - builder.setValue(value); - } + builder.setValue(value); return builder.build(); } public static StringValue getStringValue(String value) { StringValue.Builder builder = StringValue.newBuilder(); - if (value != null) { - builder.setValue(value); - } + builder.setValue(value); return builder.build(); } public static Int64Value getInt64Value(Long value) { Int64Value.Builder builder = Int64Value.newBuilder(); - if (value != null) { - builder.setValue(value); - } + builder.setValue(value); return builder.build(); } public static BytesValue getBytesValue(ByteString value) { BytesValue.Builder builder = BytesValue.newBuilder(); - if (value != null) { - builder.setValue(value); - } + builder.setValue(value); return builder.build(); } } diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/AssetMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/AssetMsgConstructor.java index 60e532e2d0..c5438f9445 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/AssetMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/AssetMsgConstructor.java @@ -38,12 +38,16 @@ public class AssetMsgConstructor { .setIdLSB(asset.getId().getId().getLeastSignificantBits()) .setName(asset.getName()) .setType(asset.getType()); - builder.setLabel(getStringValue(asset.getLabel())); + if (asset.getLabel() != null) { + builder.setLabel(getStringValue(asset.getLabel())); + } if (customerId != null) { builder.setCustomerIdMSB(getInt64Value(customerId.getId().getMostSignificantBits())); builder.setCustomerIdLSB(getInt64Value(customerId.getId().getLeastSignificantBits())); } - builder.setAdditionalInfo(getStringValue(JacksonUtil.toString(asset.getAdditionalInfo()))); + if (asset.getAdditionalInfo() != null) { + builder.setAdditionalInfo(getStringValue(JacksonUtil.toString(asset.getAdditionalInfo()))); + } return builder.build(); } diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/CustomerMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/CustomerMsgConstructor.java index 314ac1bda8..5e9a861995 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/CustomerMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/CustomerMsgConstructor.java @@ -35,15 +35,33 @@ public class CustomerMsgConstructor { .setIdMSB(customer.getId().getId().getMostSignificantBits()) .setIdLSB(customer.getId().getId().getLeastSignificantBits()) .setTitle(customer.getTitle()); - builder.setCountry(getStringValue(customer.getCountry())); - builder.setState(getStringValue(customer.getState())); - builder.setCity(getStringValue(customer.getCity())); - builder.setAddress(getStringValue(customer.getAddress())); - builder.setAddress2(getStringValue(customer.getAddress2())); - builder.setZip(getStringValue(customer.getZip())); - builder.setPhone(getStringValue(customer.getPhone())); - builder.setEmail(getStringValue(customer.getEmail())); - builder.setAdditionalInfo(getStringValue(JacksonUtil.toString(customer.getAdditionalInfo()))); + if (customer.getCountry() != null) { + builder.setCountry(getStringValue(customer.getCountry())); + } + if (customer.getState() != null) { + builder.setState(getStringValue(customer.getState())); + } + if (customer.getCity() != null) { + builder.setCity(getStringValue(customer.getCity())); + } + if (customer.getAddress() != null) { + builder.setAddress(getStringValue(customer.getAddress())); + } + if (customer.getAddress2() != null) { + builder.setAddress2(getStringValue(customer.getAddress2())); + } + if (customer.getZip() != null) { + builder.setZip(getStringValue(customer.getZip())); + } + if (customer.getPhone() != null) { + builder.setPhone(getStringValue(customer.getPhone())); + } + if (customer.getEmail() != null) { + builder.setEmail(getStringValue(customer.getEmail())); + } + if (customer.getAdditionalInfo() != null) { + builder.setAdditionalInfo(getStringValue(JacksonUtil.toString(customer.getAdditionalInfo()))); + } return builder.build(); } diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/DeviceMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/DeviceMsgConstructor.java index 1afde36dac..02332eb307 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/DeviceMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/DeviceMsgConstructor.java @@ -48,7 +48,9 @@ public class DeviceMsgConstructor { .setIdLSB(device.getId().getId().getLeastSignificantBits()) .setName(device.getName()) .setType(device.getType()); - builder.setLabel(getStringValue(device.getLabel())); + if (device.getLabel() != null) { + builder.setLabel(getStringValue(device.getLabel())); + } if (customerId != null) { builder.setCustomerIdMSB(getInt64Value(customerId.getId().getMostSignificantBits())); builder.setCustomerIdLSB(getInt64Value(customerId.getId().getLeastSignificantBits())); @@ -57,8 +59,12 @@ public class DeviceMsgConstructor { builder.setDeviceProfileIdMSB(getInt64Value(device.getDeviceProfileId().getId().getMostSignificantBits())); builder.setDeviceProfileIdLSB(getInt64Value(device.getDeviceProfileId().getId().getLeastSignificantBits())); } - builder.setAdditionalInfo(getStringValue(JacksonUtil.toString(device.getAdditionalInfo()))); - builder.setConflictName(getStringValue(conflictName)); + if (device.getAdditionalInfo() != null) { + builder.setAdditionalInfo(getStringValue(JacksonUtil.toString(device.getAdditionalInfo()))); + } + if (conflictName != null) { + builder.setConflictName(getStringValue(conflictName)); + } return builder.build(); } diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/DeviceProfileMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/DeviceProfileMsgConstructor.java index 697e2aaf22..8646fc3756 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/DeviceProfileMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/DeviceProfileMsgConstructor.java @@ -54,7 +54,9 @@ public class DeviceProfileMsgConstructor { // if (deviceProfile.getDefaultQueueName() != null) { // builder.setDefaultQueueName(deviceProfile.getDefaultQueueName()); // } - builder.setDescription(getStringValue(deviceProfile.getDescription())); + if (deviceProfile.getDescription() != null) { + builder.setDescription(getStringValue(deviceProfile.getDescription())); + } if (deviceProfile.getTransportType() != null) { builder.setTransportType(getStringValue(deviceProfile.getTransportType().name())); } diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/EntityViewMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/EntityViewMsgConstructor.java index 70ea4d179b..4f9d580ecb 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/EntityViewMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/EntityViewMsgConstructor.java @@ -57,7 +57,9 @@ public class EntityViewMsgConstructor { builder.setCustomerIdMSB(getInt64Value(customerId.getId().getMostSignificantBits())); builder.setCustomerIdLSB(getInt64Value(customerId.getId().getLeastSignificantBits())); } - builder.setAdditionalInfo(getStringValue(JacksonUtil.toString(entityView.getAdditionalInfo()))); + if (entityView.getAdditionalInfo() != null) { + builder.setAdditionalInfo(getStringValue(JacksonUtil.toString(entityView.getAdditionalInfo()))); + } return builder.build(); } diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/UserMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/UserMsgConstructor.java index b9e045821c..118bd4e6dd 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/UserMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/UserMsgConstructor.java @@ -44,9 +44,15 @@ public class UserMsgConstructor { builder.setCustomerIdMSB(getInt64Value(customerId.getId().getMostSignificantBits())); builder.setCustomerIdLSB(getInt64Value(customerId.getId().getLeastSignificantBits())); } - builder.setFirstName(getStringValue(user.getFirstName())); - builder.setLastName(getStringValue(user.getLastName())); - builder.setAdditionalInfo(getStringValue(JacksonUtil.toString(user.getAdditionalInfo()))); + if (user.getFirstName() != null) { + builder.setFirstName(getStringValue(user.getFirstName())); + } + if (user.getLastName() != null) { + builder.setLastName(getStringValue(user.getLastName())); + } + if (user.getAdditionalInfo() != null) { + builder.setAdditionalInfo(getStringValue(JacksonUtil.toString(user.getAdditionalInfo()))); + } return builder.build(); } diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/WidgetTypeMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/WidgetTypeMsgConstructor.java index 350dfe8d58..8cf5c2e792 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/WidgetTypeMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/WidgetTypeMsgConstructor.java @@ -35,10 +35,18 @@ public class WidgetTypeMsgConstructor { .setMsgType(msgType) .setIdMSB(widgetType.getId().getId().getMostSignificantBits()) .setIdLSB(widgetType.getId().getId().getLeastSignificantBits()); - builder.setBundleAlias(getStringValue(widgetType.getBundleAlias())); - builder.setAlias(getStringValue(widgetType.getAlias())); - builder.setName(getStringValue(widgetType.getName())); - builder.setDescriptorJson(getStringValue(JacksonUtil.toString(widgetType.getDescriptor()))); + if (widgetType.getBundleAlias() != null) { + builder.setBundleAlias(getStringValue(widgetType.getBundleAlias())); + } + if (widgetType.getAlias() != null) { + builder.setAlias(getStringValue(widgetType.getAlias())); + } + if (widgetType.getName() != null) { + builder.setName(getStringValue(widgetType.getName())); + } + if (widgetType.getDescriptor() != null) { + builder.setDescriptorJson(getStringValue(JacksonUtil.toString(widgetType.getDescriptor()))); + } if (widgetType.getTenantId().equals(TenantId.SYS_TENANT_ID)) { builder.setIsSystem(true); }