diff --git a/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/auth/SessionInfoCreator.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/auth/SessionInfoCreator.java index 793afa97d7..ee4d8343a8 100644 --- a/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/auth/SessionInfoCreator.java +++ b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/auth/SessionInfoCreator.java @@ -42,9 +42,9 @@ public class SessionInfoCreator { if (!"null".equals(msg.getDeviceInfo().getAdditionalInfo())) { try { JsonNode infoNode = context.getMapper().readTree(msg.getDeviceInfo().getAdditionalInfo()); - if (infoNode.get("gateway").asBoolean(false)) { + if (infoNode.get("gateway").asBoolean()) { boolean activityTimeFromGatewayDevice = false; - if (infoNode.get("activityTimeFromGatewayDevice") != null) { + if (infoNode.has("activityTimeFromGatewayDevice")) { activityTimeFromGatewayDevice = infoNode.get("activityTimeFromGatewayDevice").asBoolean(); } builder.setActivityTimeFromGatewayDevice(activityTimeFromGatewayDevice); diff --git a/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/DefaultTransportService.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/DefaultTransportService.java index 4b41313b7e..86b49f4915 100644 --- a/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/DefaultTransportService.java +++ b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/DefaultTransportService.java @@ -649,10 +649,10 @@ public class DefaultTransportService implements TransportService { Optional deviceOpt = dataDecodingEncodingService.decode(msg.getData().toByteArray()); if (deviceOpt.isPresent()) { Device device = deviceOpt.get(); - if (device.getAdditionalInfo().get("gateway") != null && device.getAdditionalInfo().get("gateway").asBoolean()) { + if (device.getAdditionalInfo().has("gateway") && device.getAdditionalInfo().get("gateway").asBoolean()) { sessions.forEach((uuid, currentMD) -> { if (device.getId().equals(new DeviceId(new UUID(currentMD.getSessionInfo().getDeviceIdMSB(), currentMD.getSessionInfo().getDeviceIdLSB())))) { - boolean newActivityTimeFromGatewayDevice = device.getAdditionalInfo().get("activityTimeFromGatewayDevice").asBoolean(false); + boolean newActivityTimeFromGatewayDevice = device.getAdditionalInfo().get("activityTimeFromGatewayDevice").asBoolean(); if (currentMD.getSessionInfo().getActivityTimeFromGatewayDevice() != newActivityTimeFromGatewayDevice) { SessionInfoProto currentSessionInfo = currentMD.getSessionInfo(); SessionInfoProto newSessionInfo = SessionInfoProto.newBuilder()