protected Record createRecord()

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);
    }