[ 
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)

Reply via email to