From d8ac388395254edbdbbc9e7c1eb14261cc46507d Mon Sep 17 00:00:00 2001 From: Andrew Shvayka Date: Wed, 25 Jul 2018 18:12:35 +0300 Subject: [PATCH] Fixed NPE in DataEntry objects and logging statistics of rule chains/nodes --- .../server/actors/ruleChain/RuleChainActor.java | 3 +++ .../server/actors/ruleChain/RuleNodeActor.java | 3 +++ .../server/actors/service/ComponentActor.java | 4 ++-- .../server/actors/stats/StatsPersistTick.java | 10 +++++++++- .../server/common/data/kv/BooleanDataEntry.java | 2 +- .../server/common/data/kv/DoubleDataEntry.java | 2 +- .../server/common/data/kv/LongDataEntry.java | 2 +- .../server/common/data/kv/StringDataEntry.java | 2 +- .../org/thingsboard/server/common/msg/MsgType.java | 3 ++- 9 files changed, 23 insertions(+), 8 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/actors/ruleChain/RuleChainActor.java b/application/src/main/java/org/thingsboard/server/actors/ruleChain/RuleChainActor.java index c1a55fbdad..dbad7c0b66 100644 --- a/application/src/main/java/org/thingsboard/server/actors/ruleChain/RuleChainActor.java +++ b/application/src/main/java/org/thingsboard/server/actors/ruleChain/RuleChainActor.java @@ -57,6 +57,9 @@ public class RuleChainActor extends ComponentActor getBooleanValue() { - return Optional.of(value); + return Optional.ofNullable(value); } @Override diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/kv/DoubleDataEntry.java b/common/data/src/main/java/org/thingsboard/server/common/data/kv/DoubleDataEntry.java index dda906bc16..4d9f3f72ff 100644 --- a/common/data/src/main/java/org/thingsboard/server/common/data/kv/DoubleDataEntry.java +++ b/common/data/src/main/java/org/thingsboard/server/common/data/kv/DoubleDataEntry.java @@ -34,7 +34,7 @@ public class DoubleDataEntry extends BasicKvEntry { @Override public Optional getDoubleValue() { - return Optional.of(value); + return Optional.ofNullable(value); } @Override diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/kv/LongDataEntry.java b/common/data/src/main/java/org/thingsboard/server/common/data/kv/LongDataEntry.java index eb343897a8..18a817f010 100644 --- a/common/data/src/main/java/org/thingsboard/server/common/data/kv/LongDataEntry.java +++ b/common/data/src/main/java/org/thingsboard/server/common/data/kv/LongDataEntry.java @@ -34,7 +34,7 @@ public class LongDataEntry extends BasicKvEntry { @Override public Optional getLongValue() { - return Optional.of(value); + return Optional.ofNullable(value); } @Override diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/kv/StringDataEntry.java b/common/data/src/main/java/org/thingsboard/server/common/data/kv/StringDataEntry.java index 9131e20087..5f1f2a2b74 100644 --- a/common/data/src/main/java/org/thingsboard/server/common/data/kv/StringDataEntry.java +++ b/common/data/src/main/java/org/thingsboard/server/common/data/kv/StringDataEntry.java @@ -35,7 +35,7 @@ public class StringDataEntry extends BasicKvEntry { @Override public Optional getStrValue() { - return Optional.of(value); + return Optional.ofNullable(value); } @Override diff --git a/common/message/src/main/java/org/thingsboard/server/common/msg/MsgType.java b/common/message/src/main/java/org/thingsboard/server/common/msg/MsgType.java index c8b5c4ee8d..60e5469fa5 100644 --- a/common/message/src/main/java/org/thingsboard/server/common/msg/MsgType.java +++ b/common/message/src/main/java/org/thingsboard/server/common/msg/MsgType.java @@ -110,6 +110,7 @@ public enum MsgType { ACTOR_SYSTEM_TO_DEVICE_SESSION_ACTOR_MSG, TRANSPORT_TO_DEVICE_SESSION_ACTOR_MSG, SESSION_TIMEOUT_MSG, - SESSION_CTRL_MSG; + SESSION_CTRL_MSG, + STATS_PERSIST_TICK_MSG; }