This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch CAMEL-20798-AWS-complete
in repository https://gitbox.apache.org/repos/asf/camel.git

commit b65f3f0dc3aff8362c1fc1542daa4249df101b64
Author: Andrea Cosentino <[email protected]>
AuthorDate: Tue Jun 18 10:48:50 2024 +0200

    CAMEL-20798: EndpointServiceLocation on components to make it possible to 
know which remote system Camel connects to to assist for monitoring and 
observability - AWS Timestream
    
    Signed-off-by: Andrea Cosentino <[email protected]>
---
 .../timestream/Timestream2AbstractEndpoint.java    |  1 +
 .../timestream/query/Timestream2QueryEndpoint.java | 23 +++++++++++++++++++++-
 .../timestream/write/Timestream2WriteEndpoint.java | 20 ++++++++++++++++++-
 3 files changed, 42 insertions(+), 2 deletions(-)

diff --git 
a/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/Timestream2AbstractEndpoint.java
 
b/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/Timestream2AbstractEndpoint.java
index 5d3c2d4d039..4a694d33e24 100644
--- 
a/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/Timestream2AbstractEndpoint.java
+++ 
b/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/Timestream2AbstractEndpoint.java
@@ -17,6 +17,7 @@
 package org.apache.camel.component.aws2.timestream;
 
 import org.apache.camel.*;
+import org.apache.camel.spi.EndpointServiceLocation;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.support.DefaultEndpoint;
diff --git 
a/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryEndpoint.java
 
b/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryEndpoint.java
index c31b15ef220..3e31af9e346 100644
--- 
a/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryEndpoint.java
+++ 
b/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryEndpoint.java
@@ -20,13 +20,17 @@ import org.apache.camel.*;
 import org.apache.camel.component.aws2.timestream.Timestream2AbstractEndpoint;
 import org.apache.camel.component.aws2.timestream.Timestream2Configuration;
 import 
org.apache.camel.component.aws2.timestream.client.Timestream2ClientFactory;
+import org.apache.camel.spi.EndpointServiceLocation;
 import org.apache.camel.util.ObjectHelper;
 import software.amazon.awssdk.services.timestreamquery.TimestreamQueryClient;
 
+import java.util.HashMap;
+import java.util.Map;
+
 /**
  * Manage and invoke AWS Timestream.
  */
-public class Timestream2QueryEndpoint extends Timestream2AbstractEndpoint {
+public class Timestream2QueryEndpoint extends Timestream2AbstractEndpoint 
implements EndpointServiceLocation {
 
     /** AWS TimestreamQueryClient for TimestreamQuery Endpoint **/
     private TimestreamQueryClient awsTimestreamQueryClient;
@@ -68,4 +72,21 @@ public class Timestream2QueryEndpoint extends 
Timestream2AbstractEndpoint {
         return awsTimestreamQueryClient;
     }
 
+    @Override
+    public String getServiceUrl() {
+        if (!getConfiguration().isOverrideEndpoint()) {
+            if (ObjectHelper.isNotEmpty(getConfiguration().getRegion())) {
+                return getConfiguration().getRegion();
+            }
+        } else if 
(ObjectHelper.isNotEmpty(getConfiguration().getUriEndpointOverride())) {
+            return getConfiguration().getUriEndpointOverride();
+        }
+        return null;
+    }
+
+    @Override
+    public String getServiceProtocol() {
+        return "timestream-query";
+    }
+
 }
diff --git 
a/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/write/Timestream2WriteEndpoint.java
 
b/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/write/Timestream2WriteEndpoint.java
index 56e6482c04e..61f05fa6dc3 100644
--- 
a/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/write/Timestream2WriteEndpoint.java
+++ 
b/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/write/Timestream2WriteEndpoint.java
@@ -20,6 +20,7 @@ import org.apache.camel.*;
 import org.apache.camel.component.aws2.timestream.Timestream2AbstractEndpoint;
 import org.apache.camel.component.aws2.timestream.Timestream2Configuration;
 import 
org.apache.camel.component.aws2.timestream.client.Timestream2ClientFactory;
+import org.apache.camel.spi.EndpointServiceLocation;
 import org.apache.camel.util.ObjectHelper;
 import software.amazon.awssdk.services.timestreamwrite.TimestreamWriteClient;
 
@@ -27,7 +28,7 @@ import 
software.amazon.awssdk.services.timestreamwrite.TimestreamWriteClient;
  * Manage and invoke AWS Timestream.
  */
 
-public class Timestream2WriteEndpoint extends Timestream2AbstractEndpoint {
+public class Timestream2WriteEndpoint extends Timestream2AbstractEndpoint 
implements EndpointServiceLocation {
 
     /** AWS TimestreamWriteClient for TimestreamWrite Endpoint **/
     private TimestreamWriteClient awsTimestreamWriteClient;
@@ -69,4 +70,21 @@ public class Timestream2WriteEndpoint extends 
Timestream2AbstractEndpoint {
         return awsTimestreamWriteClient;
     }
 
+    @Override
+    public String getServiceUrl() {
+        if (!getConfiguration().isOverrideEndpoint()) {
+            if (ObjectHelper.isNotEmpty(getConfiguration().getRegion())) {
+                return getConfiguration().getRegion();
+            }
+        } else if 
(ObjectHelper.isNotEmpty(getConfiguration().getUriEndpointOverride())) {
+            return getConfiguration().getUriEndpointOverride();
+        }
+        return null;
+    }
+
+    @Override
+    public String getServiceProtocol() {
+        return "timestream-write";
+    }
+
 }

Reply via email to