Github user olegz commented on a diff in the pull request:

    https://github.com/apache/nifi/pull/305#discussion_r57714484
  
    --- Diff: 
nifi-nar-bundles/nifi-amqp-bundle/nifi-amqp-processors/src/main/java/org/apache/nifi/amqp/processors/AMQPUtils.java
 ---
    @@ -141,4 +142,101 @@ private static String 
extractPropertyNameFromMethod(Method method) {
             c[0] = Character.toLowerCase(c[0]);
             return AMQP_PROP_PREFIX + new String(c);
         }
    +
    +    /**
    +     * Will validate if provided amqpPropValue can be converted to a 
{@link Map}.
    +     *
    +     * @param amqpPropValue
    +     *            the value of the property
    +     * @return {@link Map} if valid otherwise null
    +     */
    +    public static Map<String, Object> validateAMQPHeaderProperty(String 
amqpPropValue){
    +        String[] strEntries = amqpPropValue.split(",");
    +        Map<String, Object> headers = new HashMap<>();
    +        for (String strEntry : strEntries) {
    +            String[] kv = strEntry.split("=");
    +            if (kv.length == 2) {
    +                headers.put(kv[0].trim(), kv[1].trim());
    +            } else {
    +                logger.warn("Malformed key value pair for AMQP header 
property: " + amqpPropValue);
    +            }
    +        }
    +
    +        return headers;
    +    }
    +
    +    /**
    +     * Will validate if provided amqpPropValue can be converted to an 
{@link Integer}, and that its
    +     * value is 1 or 2.
    +     *
    +     * @param amqpPropValue
    +     *            the value of the property
    +     * @return {@link Integer} if valid otherwise null
    +     */
    +    public static Integer validateAMQPDeliveryModeProperty(String 
amqpPropValue){
    +        Integer deliveryMode = null;
    +
    +        try {
    +            deliveryMode = Integer.parseInt(amqpPropValue);
    +        } catch (NumberFormatException aE){
    +            //we will deal with the error below instead of having 
duplicate logger code
    +        }
    --- End diff --
    
    Consider ```private static Integer toInt(String strVal)``` method, since 
the same logic is repeated in the next one. Just trying to avoid duplication as 
much as possible.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to