This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 3259c42438ba Fix camel export failure with cassandra-sink kamelet when
extraTypeCodecs is not set (#21614)
3259c42438ba is described below
commit 3259c42438ba3df51f4e25c78015aa5e952b0fb2
Author: Salvatore Mongiardo <[email protected]>
AuthorDate: Thu Feb 26 19:59:49 2026 +0100
Fix camel export failure with cassandra-sink kamelet when extraTypeCodecs
is not set (#21614)
During camel export, unset optional kamelet properties are replaced with
the @@CamelMagicValue@@ placeholder by ExportPropertiesParser. The
CassandraEndpoint.createSessionBuilder() method passes this value
directly to CassandraExtraCodecs.valueOf(), causing an
IllegalArgumentException. Skip processing extraTypeCodecs when it
contains the magic placeholder value.
---
.../org/apache/camel/component/cassandra/CassandraEndpoint.java | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git
a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
index ba94a025e5ab..8d97a7b015b5 100644
---
a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
+++
b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
@@ -41,7 +41,6 @@ import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
import org.apache.camel.support.CamelContextHelper;
import org.apache.camel.support.ScheduledPollEndpoint;
-import org.apache.camel.util.ObjectHelper;
import org.apache.camel.utils.cassandra.CassandraExtraCodecs;
import org.apache.camel.utils.cassandra.CassandraSessionHolder;
import org.slf4j.Logger;
@@ -199,8 +198,10 @@ public class CassandraEndpoint extends
ScheduledPollEndpoint implements Endpoint
}
for (String codec : c) {
- if
(ObjectHelper.isNotEmpty(CassandraExtraCodecs.valueOf(codec))) {
-
sessionBuilder.addTypeCodecs(CassandraExtraCodecs.valueOf(codec).codec());
+ codec = codec.trim();
+ CassandraExtraCodecs ec =
getCamelContext().getTypeConverter().tryConvertTo(CassandraExtraCodecs.class,
codec);
+ if (ec != null) {
+ sessionBuilder.addTypeCodecs(ec.codec());
}
}
}