diff --git a/application/src/test/java/org/thingsboard/server/transport/coap/telemetry/timeseries/AbstractCoapTimeseriesIntegrationTest.java b/application/src/test/java/org/thingsboard/server/transport/coap/telemetry/timeseries/AbstractCoapTimeseriesIntegrationTest.java index 9c05f51b1f..5438a7f02b 100644 --- a/application/src/test/java/org/thingsboard/server/transport/coap/telemetry/timeseries/AbstractCoapTimeseriesIntegrationTest.java +++ b/application/src/test/java/org/thingsboard/server/transport/coap/telemetry/timeseries/AbstractCoapTimeseriesIntegrationTest.java @@ -130,17 +130,12 @@ public abstract class AbstractCoapTimeseriesIntegrationTest extends AbstractCoap } assertNotNull(values); + if (withTs) { + assertTs(values, expectedKeys, 10000, 0); + } if (presenceFieldsTest) { - if (withTs) { - assertTsForExplicitProtoFieldValues(values, expectedKeys, 10000, 0); - assertExplicitProtoFieldValuesWithTs(values); - } else { - assertExplicitProtoFieldValues(values); - } + assertExplicitProtoFieldValues(values); } else { - if (withTs) { - assertTs(values, expectedKeys, 10000, 0); - } assertValues(values, 0); } } @@ -208,14 +203,4 @@ public abstract class AbstractCoapTimeseriesIntegrationTest extends AbstractCoap } } - private void assertExplicitProtoFieldValuesWithTs(Map>> deviceValues) { - assertEquals(1, deviceValues.size()); - List> tsKv = deviceValues.get("key5"); - assertEquals("{\"someArray\":[1,2,3],\"someNestedObject\":{\"key\":\"value\"}}", tsKv.get(0).get("value")); - } - - private void assertTsForExplicitProtoFieldValues(Map>> deviceValues, List expectedKeys, int ts, int arrayIndex) { - assertEquals(ts, deviceValues.get(expectedKeys.get(0)).get(arrayIndex).get("ts")); - } - } diff --git a/application/src/test/java/org/thingsboard/server/transport/coap/telemetry/timeseries/AbstractCoapTimeseriesProtoIntegrationTest.java b/application/src/test/java/org/thingsboard/server/transport/coap/telemetry/timeseries/AbstractCoapTimeseriesProtoIntegrationTest.java index 8c88668529..8e045de317 100644 --- a/application/src/test/java/org/thingsboard/server/transport/coap/telemetry/timeseries/AbstractCoapTimeseriesProtoIntegrationTest.java +++ b/application/src/test/java/org/thingsboard/server/transport/coap/telemetry/timeseries/AbstractCoapTimeseriesProtoIntegrationTest.java @@ -274,7 +274,6 @@ public abstract class AbstractCoapTimeseriesProtoIntegrationTest extends Abstrac assertNotNull(valuesDescriptor); DynamicMessage valuesMsg = valuesBuilder - .setField(valuesDescriptor.findFieldByName("key4"), 0) .setField(valuesDescriptor.findFieldByName("key5"), jsonObject) .build(); @@ -286,7 +285,7 @@ public abstract class AbstractCoapTimeseriesProtoIntegrationTest extends Abstrac .setField(postTelemetryMsgDescriptor.findFieldByName("values"), valuesMsg) .build(); - processTestPostTelemetry(postTelemetryMsg.toByteArray(), Collections.singletonList("key5"), true, true); + processTestPostTelemetry(postTelemetryMsg.toByteArray(), Arrays.asList("key1", "key2", "key3", "key4", "key5"), true, true); } } diff --git a/application/src/test/java/org/thingsboard/server/transport/mqtt/telemetry/timeseries/AbstractMqttTimeseriesIntegrationTest.java b/application/src/test/java/org/thingsboard/server/transport/mqtt/telemetry/timeseries/AbstractMqttTimeseriesIntegrationTest.java index 20a37f5674..4bd8977abc 100644 --- a/application/src/test/java/org/thingsboard/server/transport/mqtt/telemetry/timeseries/AbstractMqttTimeseriesIntegrationTest.java +++ b/application/src/test/java/org/thingsboard/server/transport/mqtt/telemetry/timeseries/AbstractMqttTimeseriesIntegrationTest.java @@ -161,17 +161,12 @@ public abstract class AbstractMqttTimeseriesIntegrationTest extends AbstractMqtt } assertNotNull(values); + if (withTs) { + assertTs(values, expectedKeys, 10000, 0); + } if (presenceFieldsTest) { - if (withTs) { - assertTsForExplicitProtoFieldValues(values, expectedKeys, 10000, 0); - assertExplicitProtoFieldValuesWithTs(values); - } else { - assertExplicitProtoFieldValues(values); - } + assertExplicitProtoFieldValues(values); } else { - if (withTs) { - assertTs(values, expectedKeys, 10000, 0); - } assertValues(values, 0); } } @@ -292,16 +287,6 @@ public abstract class AbstractMqttTimeseriesIntegrationTest extends AbstractMqtt } } - private void assertExplicitProtoFieldValuesWithTs(Map>> deviceValues) { - assertEquals(1, deviceValues.size()); - List> tsKv = deviceValues.get("key5"); - assertEquals("{\"someArray\":[1,2,3],\"someNestedObject\":{\"key\":\"value\"}}", tsKv.get(0).get("value")); - } - - private void assertTsForExplicitProtoFieldValues(Map>> deviceValues, List expectedKeys, int ts, int arrayIndex) { - assertEquals(ts, deviceValues.get(expectedKeys.get(0)).get(arrayIndex).get("ts")); - } - private void assertTs(Map>> deviceValues, List expectedKeys, int ts, int arrayIndex) { assertEquals(ts, deviceValues.get(expectedKeys.get(0)).get(arrayIndex).get("ts")); assertEquals(ts, deviceValues.get(expectedKeys.get(1)).get(arrayIndex).get("ts")); diff --git a/application/src/test/java/org/thingsboard/server/transport/mqtt/telemetry/timeseries/AbstractMqttTimeseriesProtoIntegrationTest.java b/application/src/test/java/org/thingsboard/server/transport/mqtt/telemetry/timeseries/AbstractMqttTimeseriesProtoIntegrationTest.java index 395a7036a6..2d9e041eb1 100644 --- a/application/src/test/java/org/thingsboard/server/transport/mqtt/telemetry/timeseries/AbstractMqttTimeseriesProtoIntegrationTest.java +++ b/application/src/test/java/org/thingsboard/server/transport/mqtt/telemetry/timeseries/AbstractMqttTimeseriesProtoIntegrationTest.java @@ -268,7 +268,6 @@ public abstract class AbstractMqttTimeseriesProtoIntegrationTest extends Abstrac assertNotNull(valuesDescriptor); DynamicMessage valuesMsg = valuesBuilder - .setField(valuesDescriptor.findFieldByName("key4"), 0) .setField(valuesDescriptor.findFieldByName("key5"), jsonObject) .build(); @@ -280,7 +279,7 @@ public abstract class AbstractMqttTimeseriesProtoIntegrationTest extends Abstrac .setField(postTelemetryMsgDescriptor.findFieldByName("values"), valuesMsg) .build(); - processTelemetryTest(POST_DATA_TELEMETRY_TOPIC, Collections.singletonList("key5"), postTelemetryMsg.toByteArray(), true, true); + processTelemetryTest(POST_DATA_TELEMETRY_TOPIC, Arrays.asList("key1", "key2", "key3", "key4", "key5"), postTelemetryMsg.toByteArray(), true, true); } @Test diff --git a/common/transport/coap/src/main/java/org/thingsboard/server/transport/coap/adaptors/ProtoCoapAdaptor.java b/common/transport/coap/src/main/java/org/thingsboard/server/transport/coap/adaptors/ProtoCoapAdaptor.java index 20e72fb023..3f3a67ff3c 100644 --- a/common/transport/coap/src/main/java/org/thingsboard/server/transport/coap/adaptors/ProtoCoapAdaptor.java +++ b/common/transport/coap/src/main/java/org/thingsboard/server/transport/coap/adaptors/ProtoCoapAdaptor.java @@ -159,7 +159,7 @@ public class ProtoCoapAdaptor implements CoapTransportAdaptor { private String dynamicMsgToJson(byte[] bytes, Descriptors.Descriptor descriptor) throws InvalidProtocolBufferException { DynamicMessage dynamicMessage = DynamicMessage.parseFrom(descriptor, bytes); - return JsonFormat.printer().print(dynamicMessage); + return JsonFormat.printer().includingDefaultValueFields().print(dynamicMessage); } } diff --git a/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/adaptors/ProtoMqttAdaptor.java b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/adaptors/ProtoMqttAdaptor.java index da7aaab4f6..a007c73a5a 100644 --- a/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/adaptors/ProtoMqttAdaptor.java +++ b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/adaptors/ProtoMqttAdaptor.java @@ -223,7 +223,7 @@ public class ProtoMqttAdaptor implements MqttTransportAdaptor { private String dynamicMsgToJson(byte[] bytes, Descriptors.Descriptor descriptor) throws InvalidProtocolBufferException { DynamicMessage dynamicMessage = DynamicMessage.parseFrom(descriptor, bytes); - return JsonFormat.printer().print(dynamicMessage); + return JsonFormat.printer().includingDefaultValueFields().print(dynamicMessage); } }