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