Andrea Cosentino created CAMEL-24768:
----------------------------------------
Summary: camel-huaweicloud-dms/-iam: ineffective int-option guards
(mandatory fields, proxy port) and a fragile exchange-property cast
Key: CAMEL-24768
URL: https://issues.apache.org/jira/browse/CAMEL-24768
Project: Camel
Issue Type: Bug
Reporter: Andrea Cosentino
Assignee: Andrea Cosentino
Gap-audit LOW findings across two Huawei components (verified against main),
all rooted in guarding primitive int options with
ObjectHelper.isEmpty/isNotEmpty (which autoboxes to a non-null Integer and is
therefore always non-empty):
camel-huaweicloud-dms:
* DMSProducer: the "Storage space is mandatory" and "Partition number is
mandatory" guards use ObjectHelper.isEmpty on values that originate from
primitive int endpoint options, so they never fire when the value comes from
the endpoint default (0) and storage_space:0 / partition_num:0 is sent instead
of the documented client-side error.
* DMSEndpoint proxy guard uses ObjectHelper.isNotEmpty(getProxyPort()) on a
primitive int (always true), so proxyHost set with proxyPort omitted configures
a proxy on port 0.
* DMSProducer casts the STORAGE_SPACE / PARTITION_NUM exchange properties with
a raw (Integer) cast, throwing ClassCastException on a String-typed value,
unlike AVAILABLE_ZONES which uses the type-converting getProperty(name, type).
camel-huaweicloud-iam:
* IAMEndpoint has the same always-true proxy-port guard.
All are pure-code fixes (no @UriParam type change), consistent with the same
proxy-port guard already corrected in camel-huaweicloud-obs and -functiongraph.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)