in plc4j/integrations/apache-nifi/nifi-plc4x-processors/src/main/java/org/apache/plc4x/nifi/record/Plc4xReadResponseRecordSet.java [139:177]
protected Record createRecord(final PlcReadResponse readResponse) {
final Map<String, Object> values = new HashMap<>(getSchema().getFieldCount());
if (debugEnabled)
logger.debug("creating record.");
for (final RecordField tag : getSchema().getFields()) {
final String tagName = tag.getFieldName();
final Object value;
if (rsColumnNames.contains(tagName)) {
if (!isSubscription) {
value = normalizeValue(readResponse.getAsPlcValue().getValue(tagName));
} else {
value = normalizeValue(readResponse.getPlcValue(tagName));
}
} else {
value = null;
}
logger.trace("Adding {} tag value to record.", tagName);
values.put(tagName, value);
}
//add timestamp tag to schema
if (isSubscription) {
values.put(timestampFieldName, ((DefaultPlcSubscriptionEvent) readResponse).getTimestamp().toEpochMilli());
} else {
values.put(timestampFieldName, timestamp.toEpochMilli());
}
if (debugEnabled)
logger.debug("added timestamp tag to record.");
return new MapRecord(getSchema(), values);
}