Commit b04949c62cff2ae1960bb35657fd8fa6368addda
1 parent
1298f6b1
Null values support for subscription update values proto
Showing
3 changed files
with
16 additions
and
7 deletions
@@ -492,12 +492,14 @@ public class DefaultSubscriptionManagerService extends TbApplicationEventListene | @@ -492,12 +492,14 @@ public class DefaultSubscriptionManagerService extends TbApplicationEventListene | ||
492 | boolean hasData = false; | 492 | boolean hasData = false; |
493 | for (Object v : value) { | 493 | for (Object v : value) { |
494 | Object[] array = (Object[]) v; | 494 | Object[] array = (Object[]) v; |
495 | - dataBuilder.addTs((long) array[0]); | 495 | + TbSubscriptionUpdateTsValue.Builder tsValueBuilder = TbSubscriptionUpdateTsValue.newBuilder(); |
496 | + tsValueBuilder.setTs((long) array[0]); | ||
496 | String strVal = (String) array[1]; | 497 | String strVal = (String) array[1]; |
497 | if (strVal != null) { | 498 | if (strVal != null) { |
498 | hasData = true; | 499 | hasData = true; |
499 | - dataBuilder.addValue(strVal); | 500 | + tsValueBuilder.setValue(strVal); |
500 | } | 501 | } |
502 | + dataBuilder.addTsValue(tsValueBuilder.build()); | ||
501 | } | 503 | } |
502 | if (!ignoreEmptyUpdates || hasData) { | 504 | if (!ignoreEmptyUpdates || hasData) { |
503 | builder.addData(dataBuilder.build()); | 505 | builder.addData(dataBuilder.build()); |
@@ -42,6 +42,7 @@ import org.thingsboard.server.gen.transport.TransportProtos.TbSubscriptionCloseP | @@ -42,6 +42,7 @@ import org.thingsboard.server.gen.transport.TransportProtos.TbSubscriptionCloseP | ||
42 | import org.thingsboard.server.gen.transport.TransportProtos.TbSubscriptionKetStateProto; | 42 | import org.thingsboard.server.gen.transport.TransportProtos.TbSubscriptionKetStateProto; |
43 | import org.thingsboard.server.gen.transport.TransportProtos.TbSubscriptionProto; | 43 | import org.thingsboard.server.gen.transport.TransportProtos.TbSubscriptionProto; |
44 | import org.thingsboard.server.gen.transport.TransportProtos.TbSubscriptionUpdateProto; | 44 | import org.thingsboard.server.gen.transport.TransportProtos.TbSubscriptionUpdateProto; |
45 | +import org.thingsboard.server.gen.transport.TransportProtos.TbSubscriptionUpdateTsValue; | ||
45 | import org.thingsboard.server.gen.transport.TransportProtos.TbTimeSeriesSubscriptionProto; | 46 | import org.thingsboard.server.gen.transport.TransportProtos.TbTimeSeriesSubscriptionProto; |
46 | import org.thingsboard.server.gen.transport.TransportProtos.TbTimeSeriesUpdateProto; | 47 | import org.thingsboard.server.gen.transport.TransportProtos.TbTimeSeriesUpdateProto; |
47 | import org.thingsboard.server.gen.transport.TransportProtos.ToCoreMsg; | 48 | import org.thingsboard.server.gen.transport.TransportProtos.ToCoreMsg; |
@@ -171,10 +172,11 @@ public class TbSubscriptionUtils { | @@ -171,10 +172,11 @@ public class TbSubscriptionUtils { | ||
171 | Map<String, List<Object>> data = new TreeMap<>(); | 172 | Map<String, List<Object>> data = new TreeMap<>(); |
172 | proto.getDataList().forEach(v -> { | 173 | proto.getDataList().forEach(v -> { |
173 | List<Object> values = data.computeIfAbsent(v.getKey(), k -> new ArrayList<>()); | 174 | List<Object> values = data.computeIfAbsent(v.getKey(), k -> new ArrayList<>()); |
174 | - for (int i = 0; i < v.getTsCount(); i++) { | 175 | + for (int i = 0; i < v.getTsValueCount(); i++) { |
175 | Object[] value = new Object[2]; | 176 | Object[] value = new Object[2]; |
176 | - value[0] = v.getTs(i); | ||
177 | - value[1] = v.getValue(i); | 177 | + TbSubscriptionUpdateTsValue tsValue = v.getTsValue(i); |
178 | + value[0] = tsValue.getTs(); | ||
179 | + value[1] = tsValue.hasValue() ? tsValue.getValue() : null; | ||
178 | values.add(value); | 180 | values.add(value); |
179 | } | 181 | } |
180 | }); | 182 | }); |
@@ -14,6 +14,7 @@ | @@ -14,6 +14,7 @@ | ||
14 | * limitations under the License. | 14 | * limitations under the License. |
15 | */ | 15 | */ |
16 | syntax = "proto3"; | 16 | syntax = "proto3"; |
17 | + | ||
17 | package transport; | 18 | package transport; |
18 | 19 | ||
19 | option java_package = "org.thingsboard.server.gen.transport"; | 20 | option java_package = "org.thingsboard.server.gen.transport"; |
@@ -581,8 +582,12 @@ message TbSubscriptionKetStateProto { | @@ -581,8 +582,12 @@ message TbSubscriptionKetStateProto { | ||
581 | 582 | ||
582 | message TbSubscriptionUpdateValueListProto { | 583 | message TbSubscriptionUpdateValueListProto { |
583 | string key = 1; | 584 | string key = 1; |
584 | - repeated int64 ts = 2; | ||
585 | - repeated string value = 3; | 585 | + repeated TbSubscriptionUpdateTsValue tsValue = 2; |
586 | +} | ||
587 | + | ||
588 | +message TbSubscriptionUpdateTsValue { | ||
589 | + int64 ts = 1; | ||
590 | + optional string value = 2; | ||
586 | } | 591 | } |
587 | 592 | ||
588 | /** | 593 | /** |