Browse Source

bugfix #7683: refactoring after PR review

pull/7684/head
ShvaykaD 4 years ago
parent
commit
2502041aa5
  1. 3
      common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/DefaultTransportService.java
  2. 13
      rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/telemetry/TbMsgAttributesNode.java
  3. 13
      rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/telemetry/TbMsgDeleteAttributesNode.java
  4. 2
      rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/telemetry/TbMsgDeleteAttributesNodeConfiguration.java
  5. 2
      rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgDeleteAttributesNodeTest.java

3
common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/DefaultTransportService.java

@ -32,6 +32,7 @@ import org.thingsboard.common.util.ThingsBoardExecutors;
import org.thingsboard.common.util.ThingsBoardThreadFactory;
import org.thingsboard.server.common.data.ApiUsageRecordKey;
import org.thingsboard.server.common.data.ApiUsageState;
import org.thingsboard.server.common.data.DataConstants;
import org.thingsboard.server.common.data.Device;
import org.thingsboard.server.common.data.DeviceProfile;
import org.thingsboard.server.common.data.DeviceTransportType;
@ -585,7 +586,7 @@ public class DefaultTransportService implements TransportService {
TbMsgMetaData metaData = new TbMsgMetaData();
metaData.putValue("deviceName", sessionInfo.getDeviceName());
metaData.putValue("deviceType", sessionInfo.getDeviceType());
metaData.putValue("notifyDevice", "false");
metaData.putValue(DataConstants.NOTIFY_DEVICE_METADATA_KEY, "false");
CustomerId customerId = getCustomerId(sessionInfo);
sendToRuleEngine(tenantId, deviceId, customerId, sessionInfo, json, metaData, SessionMsgType.POST_ATTRIBUTES_REQUEST,
new TransportTbQueueCallback(new ApiStatsProxyCallback<>(tenantId, customerId, msg.getKvList().size(), callback)));

13
rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/telemetry/TbMsgAttributesNode.java

@ -75,7 +75,7 @@ public class TbMsgAttributesNode implements TbNode {
ctx.tellSuccess(msg);
return;
}
String scope = getScope(msg);
String scope = getScope(msg.getMetaData().getValue(SCOPE));
boolean sendAttributesUpdateNotification = checkSendNotification(scope);
ctx.getTelemetryService().saveAndNotify(
ctx.getTenantId(),
@ -93,14 +93,13 @@ public class TbMsgAttributesNode implements TbNode {
return config.isSendAttributesUpdatedNotification() && !CLIENT_SCOPE.equals(scope);
}
private boolean checkNotifyDevice(String notifyDeviceStr) {
return config.getNotifyDevice() || StringUtils.isEmpty(notifyDeviceStr) || Boolean.parseBoolean(notifyDeviceStr);
private boolean checkNotifyDevice(String notifyDeviceMdValue) {
return config.getNotifyDevice() || StringUtils.isEmpty(notifyDeviceMdValue) || Boolean.parseBoolean(notifyDeviceMdValue);
}
private String getScope(TbMsg msg) {
String mdScope = msg.getMetaData().getValue(SCOPE);
if (StringUtils.isNotEmpty(mdScope)) {
return mdScope;
private String getScope(String mdScopeValue) {
if (StringUtils.isNotEmpty(mdScopeValue)) {
return mdScopeValue;
}
return config.getScope();
}

13
rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/telemetry/TbMsgDeleteAttributesNode.java

@ -69,7 +69,7 @@ public class TbMsgDeleteAttributesNode implements TbNode {
if (keysToDelete.isEmpty()) {
ctx.tellSuccess(msg);
} else {
String scope = getScope(msg);
String scope = getScope(msg.getMetaData().getValue(SCOPE));
ctx.getTelemetryService().deleteAndNotify(
ctx.getTenantId(),
msg.getOriginator(),
@ -83,16 +83,15 @@ public class TbMsgDeleteAttributesNode implements TbNode {
}
}
private String getScope(TbMsg msg) {
String mdScope = msg.getMetaData().getValue(SCOPE);
if (StringUtils.isNotEmpty(mdScope)) {
return mdScope;
private String getScope(String mdScopeValue) {
if (StringUtils.isNotEmpty(mdScopeValue)) {
return mdScopeValue;
}
return config.getScope();
}
private boolean checkNotifyDevice(String notifyDevice, String scope) {
return SHARED_SCOPE.equals(scope) && (config.isNotifyDevice() || Boolean.parseBoolean(notifyDevice));
private boolean checkNotifyDevice(String notifyDeviceMdValue, String scope) {
return SHARED_SCOPE.equals(scope) && (config.isNotifyDevice() || Boolean.parseBoolean(notifyDeviceMdValue));
}
}

2
rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/telemetry/TbMsgDeleteAttributesNodeConfiguration.java

@ -36,7 +36,7 @@ public class TbMsgDeleteAttributesNodeConfiguration implements NodeConfiguration
configuration.setScope(DataConstants.SERVER_SCOPE);
configuration.setKeys(Collections.emptyList());
configuration.setSendAttributesDeletedNotification(false);
configuration.setNotifyDevice(true);
configuration.setNotifyDevice(false);
return configuration;
}
}

2
rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgDeleteAttributesNodeTest.java

@ -108,7 +108,6 @@ public class TbMsgDeleteAttributesNodeTest {
@Test
void givenMsg_whenOnMsg_thenVerifyOutput_SendAttributesDeletedNotification_NoNotifyDevice() throws Exception {
config.setSendAttributesDeletedNotification(true);
config.setNotifyDevice(false);
nodeConfiguration = new TbNodeConfiguration(mapper.valueToTree(config));
node.init(ctx, nodeConfiguration);
onMsg_thenVerifyOutput(true, false, false);
@ -117,6 +116,7 @@ public class TbMsgDeleteAttributesNodeTest {
@Test
void givenMsg_whenOnMsg_thenVerifyOutput_SendAttributesDeletedNotification_NotifyDevice() throws Exception {
config.setSendAttributesDeletedNotification(true);
config.setNotifyDevice(true);
config.setScope(SHARED_SCOPE);
nodeConfiguration = new TbNodeConfiguration(mapper.valueToTree(config));
node.init(ctx, nodeConfiguration);

Loading…
Cancel
Save