protected PlcWriteRequest getWriteRequest()

in plc4j/integrations/apache-nifi/nifi-plc4x-processors/src/main/java/org/apache/plc4x/nifi/BasePlc4xProcessor.java [236:268]


    protected PlcWriteRequest getWriteRequest(final ComponentLog logger,
            final Map<String, String> addressMap, final Map<String, PlcTag> tags, final Map<String, ?> presentTags,
            final PlcConnection connection, final AtomicLong nrOfRowsHere) {

        PlcWriteRequest.Builder builder = connection.writeRequestBuilder();

        if (tags != null){
            for (Map.Entry<String,PlcTag> tag : tags.entrySet()){
                if (presentTags.containsKey(tag.getKey())) {
                    builder.addTag(tag.getKey(), tag.getValue(), presentTags.get(tag.getKey()));
                    if (nrOfRowsHere != null) {
                        nrOfRowsHere.incrementAndGet();
                    }
                } else {
                    if (debugEnabled)
                        logger.debug("PlcTag " + tag + " is declared as address but was not found on input record.");
                }
            }
        } else {
            if (debugEnabled)
                logger.debug("PlcTypes resolution not found in cache and will be added with key: " + addressMap);
            for (Map.Entry<String,String> entry: addressMap.entrySet()){
                if (presentTags.containsKey(entry.getKey())) {
                    builder.addTagAddress(entry.getKey(), entry.getValue(), presentTags.get(entry.getKey()));
                    if (nrOfRowsHere != null) {
                        nrOfRowsHere.incrementAndGet();
                    }
                }
            }
        }
         
        return builder.build();
    }