code review
This commit is contained in:
parent
13130ff257
commit
baf17c6488
@ -50,6 +50,10 @@ public class EntityFieldsData {
|
||||
}
|
||||
|
||||
public String getFieldValue(String field) {
|
||||
return getFieldValue(field, false);
|
||||
}
|
||||
|
||||
public String getFieldValue(String field, boolean ignoreNullStrings) {
|
||||
String[] fieldsTree = field.split("\\.");
|
||||
JsonNode current = fieldsData;
|
||||
for (String key : fieldsTree) {
|
||||
@ -61,6 +65,9 @@ public class EntityFieldsData {
|
||||
}
|
||||
}
|
||||
if (current != null) {
|
||||
if(current.isNull() && ignoreNullStrings){
|
||||
return null;
|
||||
}
|
||||
if (current.isValueNode()) {
|
||||
return current.asText();
|
||||
} else {
|
||||
|
||||
@ -25,7 +25,7 @@ import java.util.Map;
|
||||
public class TbGetOriginatorFieldsConfiguration implements NodeConfiguration<TbGetOriginatorFieldsConfiguration> {
|
||||
|
||||
private Map<String, String> fieldsMapping;
|
||||
private boolean ignoreStringNull;
|
||||
private boolean ignoreNullStrings;
|
||||
|
||||
@Override
|
||||
public TbGetOriginatorFieldsConfiguration defaultConfiguration() {
|
||||
@ -34,7 +34,7 @@ public class TbGetOriginatorFieldsConfiguration implements NodeConfiguration<TbG
|
||||
fieldsMapping.put("name", "originatorName");
|
||||
fieldsMapping.put("type", "originatorType");
|
||||
configuration.setFieldsMapping(fieldsMapping);
|
||||
configuration.setIgnoreStringNull(false);
|
||||
configuration.setIgnoreNullStrings(false);
|
||||
return configuration;
|
||||
}
|
||||
}
|
||||
|
||||
@ -46,12 +46,12 @@ import static org.thingsboard.common.util.DonAsynchron.withCallback;
|
||||
public class TbGetOriginatorFieldsNode implements TbNode {
|
||||
|
||||
private TbGetOriginatorFieldsConfiguration config;
|
||||
private boolean ignoreStringNull;
|
||||
private boolean ignoreNullStrings;
|
||||
|
||||
@Override
|
||||
public void init(TbContext ctx, TbNodeConfiguration configuration) throws TbNodeException {
|
||||
config = TbNodeUtils.convert(configuration, TbGetOriginatorFieldsConfiguration.class);
|
||||
ignoreStringNull = config.isIgnoreStringNull();
|
||||
ignoreNullStrings = config.isIgnoreNullStrings();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -71,8 +71,8 @@ public class TbGetOriginatorFieldsNode implements TbNode {
|
||||
return Futures.transform(EntitiesFieldsAsyncLoader.findAsync(ctx, entityId),
|
||||
data -> {
|
||||
config.getFieldsMapping().forEach((field, metaKey) -> {
|
||||
String val = data.getFieldValue(field);
|
||||
if (val != null && (!val.equals("null") || !ignoreStringNull)) {
|
||||
String val = data.getFieldValue(field, ignoreNullStrings);
|
||||
if (val != null) {
|
||||
msg.getMetaData().putValue(metaKey, val);
|
||||
}
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user