[
https://issues.apache.org/jira/browse/NIFI-16049?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel Stieglitz updated NIFI-16049:
------------------------------------
Status: Patch Available (was: In Progress)
> Correct if else logic in FlowFileUnpackagerV1 when checking key and value of
> attributes should both be strings
> --------------------------------------------------------------------------------------------------------------
>
> Key: NIFI-16049
> URL: https://issues.apache.org/jira/browse/NIFI-16049
> Project: Apache NiFi
> Issue Type: Bug
> Reporter: Daniel Stieglitz
> Assignee: Daniel Stieglitz
> Priority: Minor
> Time Spent: 10m
> Remaining Estimate: 0h
>
> On lines 78-94 in FlowFileUnpackagerV1, the current logic below checks
> keyObject in both the if and else if branches to check if its not a String.
> Based on the message in the else if, it would appear it should be checking
> the valueObject. Also this should not be an else if but rather two separate
> if statements each checking the keyObject and valueObject respectively and
> throwing an IOException if either one is not a string.
>
> {code:java}
> for (final Entry<Object, Object> entry : props.entrySet()) {
> final Object keyObject = entry.getKey();
> final Object valueObject = entry.getValue();
> if (!(keyObject instanceof String)) {
> throw new IOException("Flow file attributes object contains
> key of type "
> + keyObject.getClass().getCanonicalName()
> + " but expected java.lang.String");
> } else if (!(keyObject instanceof String)) {
> throw new IOException("Flow file attributes object contains
> value of type "
> + keyObject.getClass().getCanonicalName()
> + " but expected java.lang.String");
> }
> final String key = (String) keyObject;
> final String value = (String) valueObject;
> result.put(key, value);
> }
> {code}
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)