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 2024/06/13 11:56:49 UTC

(camel) 02/02: CAMEL-20798: EndpointServiceLocation on components to make it possible to know which remote system Camel connects to to assist for monitoring and observability - AWS DDB and DDB Streams

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

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

commit 3096a14927e835170cc7bee5d01716a13ed88dea
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Jun 13 13:56:08 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 DDB and DDB Streams
    
    Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
 .../aws2/ddbstream/Ddb2StreamEndpoint.java         |  4 +-
 .../qdrant/QdrantComponentConfigurer.java          | 85 ++++++++++++++++++++++
 .../qdrant/QdrantConfigurationConfigurer.java      | 66 +++++++++++++++++
 .../component/qdrant/QdrantConverterLoader.java    | 72 ++++++++++++++++++
 .../component/qdrant/QdrantEndpointConfigurer.java | 69 ++++++++++++++++++
 .../component/qdrant/QdrantEndpointUriFactory.java | 78 ++++++++++++++++++++
 .../org/apache/camel/component/qdrant/qdrant.json  | 56 ++++++++++++++
 .../services/org/apache/camel/TypeConverterLoader  |  2 +
 .../services/org/apache/camel/component.properties |  7 ++
 .../services/org/apache/camel/component/qdrant     |  2 +
 ...ache.camel.component.qdrant.QdrantConfiguration |  2 +
 .../org/apache/camel/configurer/qdrant-component   |  2 +
 .../org/apache/camel/configurer/qdrant-endpoint    |  2 +
 .../org/apache/camel/transformer.properties        |  7 ++
 .../org/apache/camel/transformer/qdrant-embeddings |  2 +
 .../camel/transformer/qdrant-embeddings.json       | 14 ++++
 .../org/apache/camel/urifactory/qdrant-endpoint    |  2 +
 17 files changed, 470 insertions(+), 2 deletions(-)

diff --git a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamEndpoint.java b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamEndpoint.java
index 54ac8cd6d1a..c9c72c939c5 100644
--- a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamEndpoint.java
+++ b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamEndpoint.java
@@ -16,6 +16,8 @@
  */
 package org.apache.camel.component.aws2.ddbstream;
 
+import java.util.Map;
+
 import org.apache.camel.Category;
 import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
@@ -28,8 +30,6 @@ import org.apache.camel.support.ScheduledPollEndpoint;
 import org.apache.camel.util.ObjectHelper;
 import software.amazon.awssdk.services.dynamodb.streams.DynamoDbStreamsClient;
 
-import java.util.Map;
-
 /**
  * Receive messages from AWS DynamoDB Stream.
  */
diff --git a/components/camel-qdrant/src/generated/java/org/apache/camel/component/qdrant/QdrantComponentConfigurer.java b/components/camel-qdrant/src/generated/java/org/apache/camel/component/qdrant/QdrantComponentConfigurer.java
new file mode 100644
index 00000000000..cf2ec7ae50e
--- /dev/null
+++ b/components/camel-qdrant/src/generated/java/org/apache/camel/component/qdrant/QdrantComponentConfigurer.java
@@ -0,0 +1,85 @@
+/* Generated by camel build tools - do NOT edit this file! */
+package org.apache.camel.component.qdrant;
+
+import javax.annotation.processing.Generated;
+import java.util.Map;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.spi.ExtendedPropertyConfigurerGetter;
+import org.apache.camel.spi.PropertyConfigurerGetter;
+import org.apache.camel.spi.ConfigurerStrategy;
+import org.apache.camel.spi.GeneratedPropertyConfigurer;
+import org.apache.camel.util.CaseInsensitiveMap;
+import org.apache.camel.support.component.PropertyConfigurerSupport;
+
+/**
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo")
+@SuppressWarnings("unchecked")
+public class QdrantComponentConfigurer extends PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
+
+    private org.apache.camel.component.qdrant.QdrantConfiguration getOrCreateConfiguration(QdrantComponent target) {
+        if (target.getConfiguration() == null) {
+            target.setConfiguration(new org.apache.camel.component.qdrant.QdrantConfiguration());
+        }
+        return target.getConfiguration();
+    }
+
+    @Override
+    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
+        QdrantComponent target = (QdrantComponent) obj;
+        switch (ignoreCase ? name.toLowerCase() : name) {
+        case "apikey":
+        case "apiKey": getOrCreateConfiguration(target).setApiKey(property(camelContext, java.lang.String.class, value)); return true;
+        case "autowiredenabled":
+        case "autowiredEnabled": target.setAutowiredEnabled(property(camelContext, boolean.class, value)); return true;
+        case "configuration": target.setConfiguration(property(camelContext, org.apache.camel.component.qdrant.QdrantConfiguration.class, value)); return true;
+        case "host": getOrCreateConfiguration(target).setHost(property(camelContext, java.lang.String.class, value)); return true;
+        case "lazystartproducer":
+        case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
+        case "port": getOrCreateConfiguration(target).setPort(property(camelContext, int.class, value)); return true;
+        case "timeout": getOrCreateConfiguration(target).setTimeout(property(camelContext, java.time.Duration.class, value)); return true;
+        case "tls": getOrCreateConfiguration(target).setTls(property(camelContext, boolean.class, value)); return true;
+        default: return false;
+        }
+    }
+
+    @Override
+    public Class<?> getOptionType(String name, boolean ignoreCase) {
+        switch (ignoreCase ? name.toLowerCase() : name) {
+        case "apikey":
+        case "apiKey": return java.lang.String.class;
+        case "autowiredenabled":
+        case "autowiredEnabled": return boolean.class;
+        case "configuration": return org.apache.camel.component.qdrant.QdrantConfiguration.class;
+        case "host": return java.lang.String.class;
+        case "lazystartproducer":
+        case "lazyStartProducer": return boolean.class;
+        case "port": return int.class;
+        case "timeout": return java.time.Duration.class;
+        case "tls": return boolean.class;
+        default: return null;
+        }
+    }
+
+    @Override
+    public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
+        QdrantComponent target = (QdrantComponent) obj;
+        switch (ignoreCase ? name.toLowerCase() : name) {
+        case "apikey":
+        case "apiKey": return getOrCreateConfiguration(target).getApiKey();
+        case "autowiredenabled":
+        case "autowiredEnabled": return target.isAutowiredEnabled();
+        case "configuration": return target.getConfiguration();
+        case "host": return getOrCreateConfiguration(target).getHost();
+        case "lazystartproducer":
+        case "lazyStartProducer": return target.isLazyStartProducer();
+        case "port": return getOrCreateConfiguration(target).getPort();
+        case "timeout": return getOrCreateConfiguration(target).getTimeout();
+        case "tls": return getOrCreateConfiguration(target).isTls();
+        default: return null;
+        }
+    }
+}
+
diff --git a/components/camel-qdrant/src/generated/java/org/apache/camel/component/qdrant/QdrantConfigurationConfigurer.java b/components/camel-qdrant/src/generated/java/org/apache/camel/component/qdrant/QdrantConfigurationConfigurer.java
new file mode 100644
index 00000000000..b0378fadc87
--- /dev/null
+++ b/components/camel-qdrant/src/generated/java/org/apache/camel/component/qdrant/QdrantConfigurationConfigurer.java
@@ -0,0 +1,66 @@
+/* Generated by camel build tools - do NOT edit this file! */
+package org.apache.camel.component.qdrant;
+
+import javax.annotation.processing.Generated;
+import java.util.Map;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.spi.ExtendedPropertyConfigurerGetter;
+import org.apache.camel.spi.PropertyConfigurerGetter;
+import org.apache.camel.spi.ConfigurerStrategy;
+import org.apache.camel.spi.GeneratedPropertyConfigurer;
+import org.apache.camel.util.CaseInsensitiveMap;
+import org.apache.camel.component.qdrant.QdrantConfiguration;
+
+/**
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.GenerateConfigurerMojo")
+@SuppressWarnings("unchecked")
+public class QdrantConfigurationConfigurer extends org.apache.camel.support.component.PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
+
+    @Override
+    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
+        org.apache.camel.component.qdrant.QdrantConfiguration target = (org.apache.camel.component.qdrant.QdrantConfiguration) obj;
+        switch (ignoreCase ? name.toLowerCase() : name) {
+        case "apikey":
+        case "apiKey": target.setApiKey(property(camelContext, java.lang.String.class, value)); return true;
+        case "client": target.setClient(property(camelContext, io.qdrant.client.QdrantClient.class, value)); return true;
+        case "host": target.setHost(property(camelContext, java.lang.String.class, value)); return true;
+        case "port": target.setPort(property(camelContext, int.class, value)); return true;
+        case "timeout": target.setTimeout(property(camelContext, java.time.Duration.class, value)); return true;
+        case "tls": target.setTls(property(camelContext, boolean.class, value)); return true;
+        default: return false;
+        }
+    }
+
+    @Override
+    public Class<?> getOptionType(String name, boolean ignoreCase) {
+        switch (ignoreCase ? name.toLowerCase() : name) {
+        case "apikey":
+        case "apiKey": return java.lang.String.class;
+        case "client": return io.qdrant.client.QdrantClient.class;
+        case "host": return java.lang.String.class;
+        case "port": return int.class;
+        case "timeout": return java.time.Duration.class;
+        case "tls": return boolean.class;
+        default: return null;
+        }
+    }
+
+    @Override
+    public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
+        org.apache.camel.component.qdrant.QdrantConfiguration target = (org.apache.camel.component.qdrant.QdrantConfiguration) obj;
+        switch (ignoreCase ? name.toLowerCase() : name) {
+        case "apikey":
+        case "apiKey": return target.getApiKey();
+        case "client": return target.getClient();
+        case "host": return target.getHost();
+        case "port": return target.getPort();
+        case "timeout": return target.getTimeout();
+        case "tls": return target.isTls();
+        default: return null;
+        }
+    }
+}
+
diff --git a/components/camel-qdrant/src/generated/java/org/apache/camel/component/qdrant/QdrantConverterLoader.java b/components/camel-qdrant/src/generated/java/org/apache/camel/component/qdrant/QdrantConverterLoader.java
new file mode 100644
index 00000000000..aff17a3cf15
--- /dev/null
+++ b/components/camel-qdrant/src/generated/java/org/apache/camel/component/qdrant/QdrantConverterLoader.java
@@ -0,0 +1,72 @@
+/* Generated by camel build tools - do NOT edit this file! */
+package org.apache.camel.component.qdrant;
+
+import javax.annotation.processing.Generated;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.DeferredContextBinding;
+import org.apache.camel.Exchange;
+import org.apache.camel.TypeConversionException;
+import org.apache.camel.TypeConverterLoaderException;
+import org.apache.camel.spi.TypeConverterLoader;
+import org.apache.camel.spi.TypeConverterRegistry;
+import org.apache.camel.support.SimpleTypeConverter;
+import org.apache.camel.support.TypeConverterSupport;
+import org.apache.camel.util.DoubleMap;
+
+/**
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.TypeConverterLoaderGeneratorMojo")
+@SuppressWarnings("unchecked")
+@DeferredContextBinding
+public final class QdrantConverterLoader implements TypeConverterLoader, CamelContextAware {
+
+    private CamelContext camelContext;
+
+    public QdrantConverterLoader() {
+    }
+
+    @Override
+    public void setCamelContext(CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    @Override
+    public CamelContext getCamelContext() {
+        return camelContext;
+    }
+
+    @Override
+    public void load(TypeConverterRegistry registry) throws TypeConverterLoaderException {
+        registerConverters(registry);
+    }
+
+    private void registerConverters(TypeConverterRegistry registry) {
+        addTypeConverter(registry, io.qdrant.client.grpc.Points.PointId.class, java.lang.Long.class, false,
+            (type, exchange, value) -> org.apache.camel.component.qdrant.QdrantConverter.toPointId((java.lang.Long) value));
+        addTypeConverter(registry, io.qdrant.client.grpc.Points.PointId.class, java.util.UUID.class, false,
+            (type, exchange, value) -> org.apache.camel.component.qdrant.QdrantConverter.toPointId((java.util.UUID) value));
+        addTypeConverter(registry, io.qdrant.client.grpc.Points.PointId.class, long.class, false,
+            (type, exchange, value) -> org.apache.camel.component.qdrant.QdrantConverter.toPointId((long) value));
+        addTypeConverter(registry, io.qdrant.client.grpc.Points.PointsSelector.class, io.qdrant.client.grpc.Points.Condition.class, false,
+            (type, exchange, value) -> org.apache.camel.component.qdrant.QdrantConverter.toPointSelector((io.qdrant.client.grpc.Points.Condition) value));
+        addTypeConverter(registry, io.qdrant.client.grpc.Points.PointsSelector.class, io.qdrant.client.grpc.Points.Filter.class, false,
+            (type, exchange, value) -> org.apache.camel.component.qdrant.QdrantConverter.toPointSelector((io.qdrant.client.grpc.Points.Filter) value));
+        addTypeConverter(registry, io.qdrant.client.grpc.Points.PointsSelector.class, io.qdrant.client.grpc.Points.PointId.class, false,
+            (type, exchange, value) -> org.apache.camel.component.qdrant.QdrantConverter.toPointSelector((io.qdrant.client.grpc.Points.PointId) value));
+        addTypeConverter(registry, java.util.List.class, io.qdrant.client.grpc.Points.PointId.class, false,
+            (type, exchange, value) -> org.apache.camel.component.qdrant.QdrantConverter.toListOfPointIds((io.qdrant.client.grpc.Points.PointId) value));
+        addTypeConverter(registry, java.util.List.class, io.qdrant.client.grpc.Points.PointStruct.class, false,
+            (type, exchange, value) -> org.apache.camel.component.qdrant.QdrantConverter.toListOfPointStructs((io.qdrant.client.grpc.Points.PointStruct) value));
+        addTypeConverter(registry, java.util.List.class, java.util.Collection.class, false,
+            (type, exchange, value) -> org.apache.camel.component.qdrant.QdrantConverter.toListOfPointIdsFromCollection((java.util.Collection) value));
+        addTypeConverter(registry, java.util.List.class, java.util.Collection.class, false,
+            (type, exchange, value) -> org.apache.camel.component.qdrant.QdrantConverter.toListOfPointStructsFromCollection((java.util.Collection) value));
+    }
+
+    private static void addTypeConverter(TypeConverterRegistry registry, Class<?> toType, Class<?> fromType, boolean allowNull, SimpleTypeConverter.ConversionMethod method) {
+        registry.addTypeConverter(toType, fromType, new SimpleTypeConverter(allowNull, method));
+    }
+}
diff --git a/components/camel-qdrant/src/generated/java/org/apache/camel/component/qdrant/QdrantEndpointConfigurer.java b/components/camel-qdrant/src/generated/java/org/apache/camel/component/qdrant/QdrantEndpointConfigurer.java
new file mode 100644
index 00000000000..150fb512e71
--- /dev/null
+++ b/components/camel-qdrant/src/generated/java/org/apache/camel/component/qdrant/QdrantEndpointConfigurer.java
@@ -0,0 +1,69 @@
+/* Generated by camel build tools - do NOT edit this file! */
+package org.apache.camel.component.qdrant;
+
+import javax.annotation.processing.Generated;
+import java.util.Map;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.spi.ExtendedPropertyConfigurerGetter;
+import org.apache.camel.spi.PropertyConfigurerGetter;
+import org.apache.camel.spi.ConfigurerStrategy;
+import org.apache.camel.spi.GeneratedPropertyConfigurer;
+import org.apache.camel.util.CaseInsensitiveMap;
+import org.apache.camel.support.component.PropertyConfigurerSupport;
+
+/**
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo")
+@SuppressWarnings("unchecked")
+public class QdrantEndpointConfigurer extends PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
+
+    @Override
+    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
+        QdrantEndpoint target = (QdrantEndpoint) obj;
+        switch (ignoreCase ? name.toLowerCase() : name) {
+        case "apikey":
+        case "apiKey": target.getConfiguration().setApiKey(property(camelContext, java.lang.String.class, value)); return true;
+        case "host": target.getConfiguration().setHost(property(camelContext, java.lang.String.class, value)); return true;
+        case "lazystartproducer":
+        case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
+        case "port": target.getConfiguration().setPort(property(camelContext, int.class, value)); return true;
+        case "timeout": target.getConfiguration().setTimeout(property(camelContext, java.time.Duration.class, value)); return true;
+        case "tls": target.getConfiguration().setTls(property(camelContext, boolean.class, value)); return true;
+        default: return false;
+        }
+    }
+
+    @Override
+    public Class<?> getOptionType(String name, boolean ignoreCase) {
+        switch (ignoreCase ? name.toLowerCase() : name) {
+        case "apikey":
+        case "apiKey": return java.lang.String.class;
+        case "host": return java.lang.String.class;
+        case "lazystartproducer":
+        case "lazyStartProducer": return boolean.class;
+        case "port": return int.class;
+        case "timeout": return java.time.Duration.class;
+        case "tls": return boolean.class;
+        default: return null;
+        }
+    }
+
+    @Override
+    public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
+        QdrantEndpoint target = (QdrantEndpoint) obj;
+        switch (ignoreCase ? name.toLowerCase() : name) {
+        case "apikey":
+        case "apiKey": return target.getConfiguration().getApiKey();
+        case "host": return target.getConfiguration().getHost();
+        case "lazystartproducer":
+        case "lazyStartProducer": return target.isLazyStartProducer();
+        case "port": return target.getConfiguration().getPort();
+        case "timeout": return target.getConfiguration().getTimeout();
+        case "tls": return target.getConfiguration().isTls();
+        default: return null;
+        }
+    }
+}
+
diff --git a/components/camel-qdrant/src/generated/java/org/apache/camel/component/qdrant/QdrantEndpointUriFactory.java b/components/camel-qdrant/src/generated/java/org/apache/camel/component/qdrant/QdrantEndpointUriFactory.java
new file mode 100644
index 00000000000..537dd1ba65b
--- /dev/null
+++ b/components/camel-qdrant/src/generated/java/org/apache/camel/component/qdrant/QdrantEndpointUriFactory.java
@@ -0,0 +1,78 @@
+/* Generated by camel build tools - do NOT edit this file! */
+package org.apache.camel.component.qdrant;
+
+import javax.annotation.processing.Generated;
+import java.net.URISyntaxException;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.camel.spi.EndpointUriFactory;
+
+/**
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.GenerateEndpointUriFactoryMojo")
+public class QdrantEndpointUriFactory extends org.apache.camel.support.component.EndpointUriFactorySupport implements EndpointUriFactory {
+
+    private static final String BASE = ":collection";
+
+    private static final Set<String> PROPERTY_NAMES;
+    private static final Set<String> SECRET_PROPERTY_NAMES;
+    private static final Set<String> MULTI_VALUE_PREFIXES;
+    static {
+        Set<String> props = new HashSet<>(7);
+        props.add("apiKey");
+        props.add("collection");
+        props.add("host");
+        props.add("lazyStartProducer");
+        props.add("port");
+        props.add("timeout");
+        props.add("tls");
+        PROPERTY_NAMES = Collections.unmodifiableSet(props);
+        Set<String> secretProps = new HashSet<>(1);
+        secretProps.add("apiKey");
+        SECRET_PROPERTY_NAMES = Collections.unmodifiableSet(secretProps);
+        MULTI_VALUE_PREFIXES = Collections.emptySet();
+    }
+
+    @Override
+    public boolean isEnabled(String scheme) {
+        return "qdrant".equals(scheme);
+    }
+
+    @Override
+    public String buildUri(String scheme, Map<String, Object> properties, boolean encode) throws URISyntaxException {
+        String syntax = scheme + BASE;
+        String uri = syntax;
+
+        Map<String, Object> copy = new HashMap<>(properties);
+
+        uri = buildPathParameter(syntax, uri, "collection", null, true, copy);
+        uri = buildQueryParameters(uri, copy, encode);
+        return uri;
+    }
+
+    @Override
+    public Set<String> propertyNames() {
+        return PROPERTY_NAMES;
+    }
+
+    @Override
+    public Set<String> secretPropertyNames() {
+        return SECRET_PROPERTY_NAMES;
+    }
+
+    @Override
+    public Set<String> multiValuePrefixes() {
+        return MULTI_VALUE_PREFIXES;
+    }
+
+    @Override
+    public boolean isLenientProperties() {
+        return false;
+    }
+}
+
diff --git a/components/camel-qdrant/src/generated/resources/META-INF/org/apache/camel/component/qdrant/qdrant.json b/components/camel-qdrant/src/generated/resources/META-INF/org/apache/camel/component/qdrant/qdrant.json
new file mode 100644
index 00000000000..b477703781c
--- /dev/null
+++ b/components/camel-qdrant/src/generated/resources/META-INF/org/apache/camel/component/qdrant/qdrant.json
@@ -0,0 +1,56 @@
+{
+  "component": {
+    "kind": "component",
+    "name": "qdrant",
+    "title": "Qdrant",
+    "description": "Perform operations on the Qdrant Vector Database.",
+    "deprecated": false,
+    "firstVersion": "4.5.0",
+    "label": "database,ai",
+    "javaType": "org.apache.camel.component.qdrant.QdrantComponent",
+    "supportLevel": "Stable",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-qdrant",
+    "version": "4.7.0-SNAPSHOT",
+    "scheme": "qdrant",
+    "extendsScheme": "",
+    "syntax": "qdrant:collection",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": true,
+    "lenientProperties": false,
+    "remote": true
+  },
+  "componentProperties": {
+    "apiKey": { "index": 0, "kind": "property", "displayName": "Api Key", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "Sets the API key to use for authentication" },
+    "configuration": { "index": 1, "kind": "property", "displayName": "Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.qdrant.QdrantConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "The configuration;" },
+    "host": { "index": 2, "kind": "property", "displayName": "Host", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "localhost", "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "The host to connect to." },
+    "lazyStartProducer": { "index": 3, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail [...]
+    "port": { "index": 4, "kind": "property", "displayName": "Port", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 6334, "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "The port to connect to." },
+    "timeout": { "index": 5, "kind": "property", "displayName": "Timeout", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "java.time.Duration", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "Sets a default timeout for all requests" },
+    "tls": { "index": 6, "kind": "property", "displayName": "Tls", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "Whether the client uses Transport Layer Security (TLS) to secure communications" },
+    "autowiredEnabled": { "index": 7, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching t [...]
+  },
+  "headers": {
+    "CamelQdrantAction": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "enum": [ "CREATE_COLLECTION", "DELETE_COLLECTION", "UPSERT", "RETRIEVE", "DELETE", "COLLECTION_INFO" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The action to be performed.", "constantName": "org.apache.camel.component.qdrant.Qdrant$Headers#ACTION" },
+    "CamelQdrantPointsPayloadSelector": { "index": 1, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "io.qdrant.client.grpc.Points$WithPayloadSelector", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Payload Selector.", "constantName": "org.apache.camel.component.qdrant.Qdrant$Headers#PAYLOAD_SELECTOR" },
+    "CamelQdrantOperationID": { "index": 2, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Operation ID.", "constantName": "org.apache.camel.component.qdrant.Qdrant$Headers#OPERATION_ID" },
+    "CamelQdrantOperationStatus": { "index": 3, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Operation Status.", "constantName": "org.apache.camel.component.qdrant.Qdrant$Headers#OPERATION_STATUS" },
+    "CamelQdrantOperationStatusValue": { "index": 4, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Operation Status Value.", "constantName": "org.apache.camel.component.qdrant.Qdrant$Headers#OPERATION_STATUS_VALUE" },
+    "CamelQdrantReadConsistency": { "index": 5, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "io.qdrant.client.grpc.Points$ReadConsistency", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Read Consistency.", "constantName": "org.apache.camel.component.qdrant.Qdrant$Headers#READ_CONSISTENCY" },
+    "CamelQdrantWithPayload": { "index": 6, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "true", "description": "Include Payload.", "constantName": "org.apache.camel.component.qdrant.Qdrant$Headers#INCLUDE_PAYLOAD" },
+    "CamelQdrantWithVectors": { "index": 7, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "false", "description": "Include Vectors.", "constantName": "org.apache.camel.component.qdrant.Qdrant$Headers#INCLUDE_VECTORS" },
+    "CamelQdrantSize": { "index": 8, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of elements.", "constantName": "org.apache.camel.component.qdrant.Qdrant$Headers#SIZE" },
+    "CamelQdrantPointId": { "index": 9, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The point id to use for operation.", "constantName": "org.apache.camel.component.qdrant.Qdrant$Headers#POINT_ID" }
+  },
+  "properties": {
+    "collection": { "index": 0, "kind": "path", "displayName": "Collection", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The collection Name" },
+    "apiKey": { "index": 1, "kind": "parameter", "displayName": "Api Key", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "Sets the API key to use for authentication" },
+    "host": { "index": 2, "kind": "parameter", "displayName": "Host", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "localhost", "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "The host to connect to." },
+    "port": { "index": 3, "kind": "parameter", "displayName": "Port", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 6334, "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "The port to connect to." },
+    "timeout": { "index": 4, "kind": "parameter", "displayName": "Timeout", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "java.time.Duration", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "Sets a default timeout for all requests" },
+    "tls": { "index": 5, "kind": "parameter", "displayName": "Tls", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "Whether the client uses Transport Layer Security (TLS) to secure communications" },
+    "lazyStartProducer": { "index": 6, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produc [...]
+  }
+}
diff --git a/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/TypeConverterLoader b/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/TypeConverterLoader
new file mode 100644
index 00000000000..a5d4c1a39b6
--- /dev/null
+++ b/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/TypeConverterLoader
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+org.apache.camel.component.qdrant.QdrantConverterLoader
diff --git a/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/component.properties b/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/component.properties
new file mode 100644
index 00000000000..c9ebf5e6db9
--- /dev/null
+++ b/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/component.properties
@@ -0,0 +1,7 @@
+# Generated by camel build tools - do NOT edit this file!
+components=qdrant
+groupId=org.apache.camel
+artifactId=camel-qdrant
+version=4.7.0-SNAPSHOT
+projectName=Camel :: Qdrant
+projectDescription=Camel Qdrant support
diff --git a/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/component/qdrant b/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/component/qdrant
new file mode 100644
index 00000000000..18d9acc331c
--- /dev/null
+++ b/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/component/qdrant
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.qdrant.QdrantComponent
diff --git a/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.qdrant.QdrantConfiguration b/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.qdrant.QdrantConfiguration
new file mode 100644
index 00000000000..1e4d99c51f5
--- /dev/null
+++ b/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.qdrant.QdrantConfiguration
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.qdrant.QdrantConfigurationConfigurer
diff --git a/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/configurer/qdrant-component b/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/configurer/qdrant-component
new file mode 100644
index 00000000000..9c12bce6e16
--- /dev/null
+++ b/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/configurer/qdrant-component
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.qdrant.QdrantComponentConfigurer
diff --git a/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/configurer/qdrant-endpoint b/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/configurer/qdrant-endpoint
new file mode 100644
index 00000000000..783c84a6bb0
--- /dev/null
+++ b/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/configurer/qdrant-endpoint
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.qdrant.QdrantEndpointConfigurer
diff --git a/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/transformer.properties b/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/transformer.properties
new file mode 100644
index 00000000000..7562a9b05d7
--- /dev/null
+++ b/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/transformer.properties
@@ -0,0 +1,7 @@
+# Generated by camel build tools - do NOT edit this file!
+transformers=qdrant:embeddings
+groupId=org.apache.camel
+artifactId=camel-qdrant
+version=4.7.0-SNAPSHOT
+projectName=Camel :: Qdrant
+projectDescription=Camel Qdrant support
diff --git a/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/transformer/qdrant-embeddings b/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/transformer/qdrant-embeddings
new file mode 100644
index 00000000000..1d2c114407c
--- /dev/null
+++ b/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/transformer/qdrant-embeddings
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.qdrant.transform.QdrantEmbeddingsDataTypeTransformer
diff --git a/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/transformer/qdrant-embeddings.json b/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/transformer/qdrant-embeddings.json
new file mode 100644
index 00000000000..8d6238e9232
--- /dev/null
+++ b/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/transformer/qdrant-embeddings.json
@@ -0,0 +1,14 @@
+{
+  "transformer": {
+    "kind": "transformer",
+    "name": "qdrant:embeddings",
+    "title": "Qdrant (Embeddings)",
+    "description": "Prepares the message to become an object writable by Qdrant component",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.qdrant.transform.QdrantEmbeddingsDataTypeTransformer",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-qdrant",
+    "version": "4.7.0-SNAPSHOT"
+  }
+}
+
diff --git a/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/urifactory/qdrant-endpoint b/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/urifactory/qdrant-endpoint
new file mode 100644
index 00000000000..66fa619eb33
--- /dev/null
+++ b/components/camel-qdrant/src/generated/resources/META-INF/services/org/apache/camel/urifactory/qdrant-endpoint
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.qdrant.QdrantEndpointUriFactory