This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-4.14.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-4.14.x by this push:
new 1e68e90ff301 CAMEL-24200: camel-aws2-timestream - createScheduledQuery
sets the time column correctly
1e68e90ff301 is described below
commit 1e68e90ff301e8980f9a0d37f48885b8d08390d6
Author: Andrea Cosentino <[email protected]>
AuthorDate: Mon Jul 20 22:55:19 2026 +0200
CAMEL-24200: camel-aws2-timestream - createScheduledQuery sets the time
column correctly
Backport of #24909. Time-column header now sets timeColumn instead of
overwriting
tableName; removes a duplicated role-ARN block.
Closes #24949
Co-authored-by: Claude Fable 5 <[email protected]>
---
.../aws2/timestream/query/Timestream2QueryProducer.java | 7 +------
.../aws2/timestream/query/AmazonTimestreamQueryClientMock.java | 10 ++++++++++
.../aws2/timestream/query/Timestream2QueryProducerTest.java | 7 +++++++
3 files changed, 18 insertions(+), 6 deletions(-)
diff --git
a/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryProducer.java
b/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryProducer.java
index 0ae079fa1667..83496d74f6b5 100644
---
a/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryProducer.java
+++
b/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryProducer.java
@@ -199,11 +199,6 @@ public class Timestream2QueryProducer extends
DefaultProducer {
=
ErrorReportConfiguration.builder().s3Configuration(s3Configuration.build()).build();
builder.errorReportConfiguration(errorReportConfiguration);
}
- if
(ObjectHelper.isNotEmpty(exchange.getIn().getHeader(Timestream2Constants.SCHEDULED_QUERY_EXECUTION_ROLE_ARN)))
{
- String roleArn
- =
exchange.getIn().getHeader(Timestream2Constants.SCHEDULED_QUERY_EXECUTION_ROLE_ARN,
String.class);
- builder.scheduledQueryExecutionRoleArn(roleArn);
- }
TargetConfiguration.Builder targetConfiguration =
TargetConfiguration.builder();
TimestreamConfiguration.Builder timestreamConfigBuilder =
TimestreamConfiguration.builder();
@@ -217,7 +212,7 @@ public class Timestream2QueryProducer extends
DefaultProducer {
}
if
(ObjectHelper.isNotEmpty(exchange.getIn().getHeader(Timestream2Constants.TIME_COLUMN)))
{
String timeColumn =
exchange.getIn().getHeader(Timestream2Constants.TIME_COLUMN, String.class);
- timestreamConfigBuilder.tableName(timeColumn);
+ timestreamConfigBuilder.timeColumn(timeColumn);
}
if
(ObjectHelper.isNotEmpty(exchange.getIn().getHeader(Timestream2Constants.MEASURE_NAME_COLUMN)))
{
String measureNameColumn =
exchange.getIn().getHeader(Timestream2Constants.MEASURE_NAME_COLUMN,
String.class);
diff --git
a/components/camel-aws/camel-aws2-timestream/src/test/java/org/apache/camel/component/aws2/timestream/query/AmazonTimestreamQueryClientMock.java
b/components/camel-aws/camel-aws2-timestream/src/test/java/org/apache/camel/component/aws2/timestream/query/AmazonTimestreamQueryClientMock.java
index 3cf54c21fae5..f3f39e9ebaa3 100644
---
a/components/camel-aws/camel-aws2-timestream/src/test/java/org/apache/camel/component/aws2/timestream/query/AmazonTimestreamQueryClientMock.java
+++
b/components/camel-aws/camel-aws2-timestream/src/test/java/org/apache/camel/component/aws2/timestream/query/AmazonTimestreamQueryClientMock.java
@@ -24,9 +24,18 @@ import
software.amazon.awssdk.services.timestreamquery.model.*;
public class AmazonTimestreamQueryClientMock implements TimestreamQueryClient {
+ private CreateScheduledQueryRequest lastCreateScheduledQueryRequest;
+
public AmazonTimestreamQueryClientMock() {
}
+ /**
+ * The last request passed to {@link #createScheduledQuery}, so tests can
assert how it was built.
+ */
+ public CreateScheduledQueryRequest getLastCreateScheduledQueryRequest() {
+ return lastCreateScheduledQueryRequest;
+ }
+
@Override
public DescribeEndpointsResponse
describeEndpoints(DescribeEndpointsRequest describeEndpointsRequest) {
DescribeEndpointsResponse.Builder result =
DescribeEndpointsResponse.builder();
@@ -47,6 +56,7 @@ public class AmazonTimestreamQueryClientMock implements
TimestreamQueryClient {
@Override
public CreateScheduledQueryResponse
createScheduledQuery(CreateScheduledQueryRequest createScheduledQueryRequest) {
+ this.lastCreateScheduledQueryRequest = createScheduledQueryRequest;
CreateScheduledQueryResponse.Builder result =
CreateScheduledQueryResponse.builder();
result.arn("aws-timestream:test:scheduled-query:arn");
return result.build();
diff --git
a/components/camel-aws/camel-aws2-timestream/src/test/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryProducerTest.java
b/components/camel-aws/camel-aws2-timestream/src/test/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryProducerTest.java
index 846df528395c..31018bfeacbb 100644
---
a/components/camel-aws/camel-aws2-timestream/src/test/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryProducerTest.java
+++
b/components/camel-aws/camel-aws2-timestream/src/test/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryProducerTest.java
@@ -107,6 +107,13 @@ public class Timestream2QueryProducerTest extends
CamelTestSupport {
CreateScheduledQueryResponse resultGet =
(CreateScheduledQueryResponse) exchange.getIn().getBody();
assertEquals("aws-timestream:test:scheduled-query:arn",
resultGet.arn());
+
+ // The time-column header must land in timeColumn and must not
overwrite the table name.
+ TimestreamConfiguration timestreamConfiguration
+ =
clientMock.getLastCreateScheduledQueryRequest().targetConfiguration().timestreamConfiguration();
+ assertEquals("TESTDB", timestreamConfiguration.databaseName());
+ assertEquals("TESTTABLE", timestreamConfiguration.tableName());
+ assertEquals("time", timestreamConfiguration.timeColumn());
}
@Test