You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2026/07/20 12:54:22 UTC
(camel) branch main updated: CAMEL-24200: camel-aws2-timestream - createScheduledQuery sets the time column correctly (#24909)
This is an automated email from the ASF dual-hosted git repository.
oscerd 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 020b93e69ce1 CAMEL-24200: camel-aws2-timestream - createScheduledQuery sets the time column correctly (#24909)
020b93e69ce1 is described below
commit 020b93e69ce10216aeaefb188493e1b4b0cedbe1
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Mon Jul 20 14:54:14 2026 +0200
CAMEL-24200: camel-aws2-timestream - createScheduledQuery sets the time column correctly (#24909)
Time-column header now sets timeColumn instead of overwriting tableName; removes a duplicated role-ARN block.
Co-authored-by: Claude Fable 5 <no...@anthropic.com>
---
.../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 b5de72a625e1..6e02f395fc03 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 e63867c79e1c..0bde4bd7b43a 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