This is an automated email from the ASF dual-hosted git repository. fmariani pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit f19cc54388a960080602ed9190157030f0bd2cc0 Author: Croway <[email protected]> AuthorDate: Thu Mar 12 11:21:22 2026 +0100 Add spring AI generated files --- .../org/apache/camel/catalog/components.properties | 1 + .../camel/catalog/components/spring-ai-image.json | 60 +++ .../org/apache/camel/main/components.properties | 1 + .../component/ComponentsBuilderFactory.java | 13 + .../dsl/SpringAiImageComponentBuilderFactory.java | 257 ++++++++++++ .../builder/endpoint/EndpointBuilderFactory.java | 1 + .../camel/builder/endpoint/EndpointBuilders.java | 1 + .../builder/endpoint/StaticEndpointBuilders.java | 40 ++ .../dsl/SpringAiImageEndpointBuilderFactory.java | 454 +++++++++++++++++++++ .../camel-component-known-dependencies.properties | 1 + 10 files changed, 829 insertions(+) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties index ec3a84d7b477..a88d76a89dd5 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties @@ -335,6 +335,7 @@ splunk splunk-hec spring-ai-chat spring-ai-embeddings +spring-ai-image spring-ai-tools spring-ai-vector-store spring-batch diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/spring-ai-image.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/spring-ai-image.json new file mode 100644 index 000000000000..54f289ed3034 --- /dev/null +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/spring-ai-image.json @@ -0,0 +1,60 @@ +{ + "component": { + "kind": "component", + "name": "spring-ai-image", + "title": "Spring AI Image", + "description": "Spring AI Image Generation", + "deprecated": false, + "firstVersion": "4.19.0", + "label": "ai", + "javaType": "org.apache.camel.component.springai.image.SpringAiImageComponent", + "supportLevel": "Preview", + "groupId": "org.apache.camel", + "artifactId": "camel-spring-ai-image", + "version": "4.19.0-SNAPSHOT", + "scheme": "spring-ai-image", + "extendsScheme": "", + "syntax": "spring-ai-image:imageId", + "async": false, + "api": false, + "consumerOnly": false, + "producerOnly": true, + "lenientProperties": false, + "browsable": false, + "remote": true + }, + "componentProperties": { + "configuration": { "index": 0, "kind": "property", "displayName": "Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.springai.image.SpringAiImageConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "The configuration." }, + "height": { "index": 1, "kind": "property", "displayName": "Height", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.image.SpringAiImageConfiguration", "configurationField": "configuration", "description": "Image height in pixels" }, + "imageModel": { "index": 2, "kind": "property", "displayName": "Image Model", "group": "producer", "label": "", "required": true, "type": "object", "javaType": "org.springframework.ai.image.ImageModel", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.springai.image.SpringAiImageConfiguration", "configurationField": "configuration", "description": "The ImageModel to use for generating images." }, + "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 [...] + "model": { "index": 4, "kind": "property", "displayName": "Model", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.image.SpringAiImageConfiguration", "configurationField": "configuration", "description": "The model to use for image generation" }, + "n": { "index": 5, "kind": "property", "displayName": "N", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.image.SpringAiImageConfiguration", "configurationField": "configuration", "description": "Number of images to generate" }, + "responseFormat": { "index": 6, "kind": "property", "displayName": "Response Format", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.image.SpringAiImageConfiguration", "configurationField": "configuration", "description": "Response format: url or b64_json" }, + "style": { "index": 7, "kind": "property", "displayName": "Style", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.image.SpringAiImageConfiguration", "configurationField": "configuration", "description": "Image style (e.g., vivid, natural)" }, + "width": { "index": 8, "kind": "property", "displayName": "Width", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.image.SpringAiImageConfiguration", "configurationField": "configuration", "description": "Image width in pixels" }, + "autowiredEnabled": { "index": 9, "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": { + "CamelSpringAiImageN": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of images to generate", "constantName": "org.apache.camel.component.springai.image.SpringAiImageHeaders#N" }, + "CamelSpringAiImageWidth": { "index": 1, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Image width in pixels", "constantName": "org.apache.camel.component.springai.image.SpringAiImageHeaders#WIDTH" }, + "CamelSpringAiImageHeight": { "index": 2, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Image height in pixels", "constantName": "org.apache.camel.component.springai.image.SpringAiImageHeaders#HEIGHT" }, + "CamelSpringAiImageModel": { "index": 3, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The model to use for image generation", "constantName": "org.apache.camel.component.springai.image.SpringAiImageHeaders#MODEL" }, + "CamelSpringAiImageResponseFormat": { "index": 4, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Response format: url or b64_json", "constantName": "org.apache.camel.component.springai.image.SpringAiImageHeaders#RESPONSE_FORMAT" }, + "CamelSpringAiImageStyle": { "index": 5, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Image style (e.g., vivid, natural)", "constantName": "org.apache.camel.component.springai.image.SpringAiImageHeaders#STYLE" }, + "CamelSpringAiImageResponseMetadata": { "index": 6, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "org.springframework.ai.image.ImageResponseMetadata", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The image response metadata", "constantName": "org.apache.camel.component.springai.image.SpringAiImageHeaders#RESPONSE_METADATA" }, + "CamelSpringAiImageGeneration": { "index": 7, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "org.springframework.ai.image.ImageGeneration", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The ImageGeneration object for single image results", "constantName": "org.apache.camel.component.springai.image.SpringAiImageHeaders#IMAGE_GENERATION" }, + "CamelSpringAiImageGenerations": { "index": 8, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "java.util.List<org.springframework.ai.image.ImageGeneration>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "List of ImageGeneration objects for multiple image results", "constantName": "org.apache.camel.component.springai.image.SpringAiImageHeaders#IMAGE_GENERATIONS" } + }, + "properties": { + "imageId": { "index": 0, "kind": "path", "displayName": "Image Id", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id" }, + "height": { "index": 1, "kind": "parameter", "displayName": "Height", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.image.SpringAiImageConfiguration", "configurationField": "configuration", "description": "Image height in pixels" }, + "imageModel": { "index": 2, "kind": "parameter", "displayName": "Image Model", "group": "producer", "label": "", "required": true, "type": "object", "javaType": "org.springframework.ai.image.ImageModel", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.springai.image.SpringAiImageConfiguration", "configurationField": "configuration", "description": "The ImageModel to use for generating images." }, + "model": { "index": 3, "kind": "parameter", "displayName": "Model", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.image.SpringAiImageConfiguration", "configurationField": "configuration", "description": "The model to use for image generation" }, + "n": { "index": 4, "kind": "parameter", "displayName": "N", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.image.SpringAiImageConfiguration", "configurationField": "configuration", "description": "Number of images to generate" }, + "responseFormat": { "index": 5, "kind": "parameter", "displayName": "Response Format", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.image.SpringAiImageConfiguration", "configurationField": "configuration", "description": "Response format: url or b64_json" }, + "style": { "index": 6, "kind": "parameter", "displayName": "Style", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.image.SpringAiImageConfiguration", "configurationField": "configuration", "description": "Image style (e.g., vivid, natural)" }, + "width": { "index": 7, "kind": "parameter", "displayName": "Width", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.image.SpringAiImageConfiguration", "configurationField": "configuration", "description": "Image width in pixels" }, + "lazyStartProducer": { "index": 8, "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/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties b/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties index ec3a84d7b477..a88d76a89dd5 100644 --- a/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties +++ b/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties @@ -335,6 +335,7 @@ splunk splunk-hec spring-ai-chat spring-ai-embeddings +spring-ai-image spring-ai-tools spring-ai-vector-store spring-batch diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java index 5faa67135951..c6cfcc81e042 100644 --- a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java +++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java @@ -4525,6 +4525,19 @@ public interface ComponentsBuilderFactory { static SpringAiEmbeddingsComponentBuilderFactory.SpringAiEmbeddingsComponentBuilder springAiEmbeddings() { return SpringAiEmbeddingsComponentBuilderFactory.springAiEmbeddings(); } + /** + * Spring AI Image (camel-spring-ai-image) + * Spring AI Image Generation + * + * Category: ai + * Since: 4.19 + * Maven coordinates: org.apache.camel:camel-spring-ai-image + * + * @return the dsl builder + */ + static SpringAiImageComponentBuilderFactory.SpringAiImageComponentBuilder springAiImage() { + return SpringAiImageComponentBuilderFactory.springAiImage(); + } /** * Spring AI Tools (camel-spring-ai-tools) * Spring AI Tools and Function Calling Features diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SpringAiImageComponentBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SpringAiImageComponentBuilderFactory.java new file mode 100644 index 000000000000..d0bc4d553fdf --- /dev/null +++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SpringAiImageComponentBuilderFactory.java @@ -0,0 +1,257 @@ +/* Generated by camel build tools - do NOT edit this file! */ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel.builder.component.dsl; + +import javax.annotation.processing.Generated; +import org.apache.camel.Component; +import org.apache.camel.builder.component.AbstractComponentBuilder; +import org.apache.camel.builder.component.ComponentBuilder; +import org.apache.camel.component.springai.image.SpringAiImageComponent; + +/** + * Spring AI Image Generation + * + * Generated by camel build tools - do NOT edit this file! + */ +@Generated("org.apache.camel.maven.packaging.ComponentDslMojo") +public interface SpringAiImageComponentBuilderFactory { + + /** + * Spring AI Image (camel-spring-ai-image) + * Spring AI Image Generation + * + * Category: ai + * Since: 4.19 + * Maven coordinates: org.apache.camel:camel-spring-ai-image + * + * @return the dsl builder + */ + static SpringAiImageComponentBuilder springAiImage() { + return new SpringAiImageComponentBuilderImpl(); + } + + /** + * Builder for the Spring AI Image component. + */ + interface SpringAiImageComponentBuilder extends ComponentBuilder<SpringAiImageComponent> { + + /** + * The configuration. + * + * The option is a: + * <code>org.apache.camel.component.springai.image.SpringAiImageConfiguration</code> type. + * + * Group: producer + * + * @param configuration the value to set + * @return the dsl builder + */ + default SpringAiImageComponentBuilder configuration(org.apache.camel.component.springai.image.SpringAiImageConfiguration configuration) { + doSetProperty("configuration", configuration); + return this; + } + + /** + * Image height in pixels. + * + * The option is a: <code>java.lang.Integer</code> type. + * + * Group: producer + * + * @param height the value to set + * @return the dsl builder + */ + default SpringAiImageComponentBuilder height(java.lang.Integer height) { + doSetProperty("height", height); + return this; + } + + /** + * The ImageModel to use for generating images. + * + * The option is a: + * <code>org.springframework.ai.image.ImageModel</code> + * type. + * + * Group: producer + * + * @param imageModel the value to set + * @return the dsl builder + */ + default SpringAiImageComponentBuilder imageModel(org.springframework.ai.image.ImageModel imageModel) { + doSetProperty("imageModel", imageModel); + return this; + } + + + /** + * 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 during + * starting and cause the route to fail being started. By deferring this + * startup to be lazy then the startup failure can be handled during + * routing messages via Camel's routing error handlers. Beware that when + * the first message is processed then creating and starting the + * producer may take a little time and prolong the total processing time + * of the processing. + * + * The option is a: <code>boolean</code> type. + * + * Default: false + * Group: producer + * + * @param lazyStartProducer the value to set + * @return the dsl builder + */ + default SpringAiImageComponentBuilder lazyStartProducer(boolean lazyStartProducer) { + doSetProperty("lazyStartProducer", lazyStartProducer); + return this; + } + + /** + * The model to use for image generation. + * + * The option is a: <code>java.lang.String</code> type. + * + * Group: producer + * + * @param model the value to set + * @return the dsl builder + */ + default SpringAiImageComponentBuilder model(java.lang.String model) { + doSetProperty("model", model); + return this; + } + + /** + * Number of images to generate. + * + * The option is a: <code>java.lang.Integer</code> type. + * + * Group: producer + * + * @param n the value to set + * @return the dsl builder + */ + default SpringAiImageComponentBuilder n(java.lang.Integer n) { + doSetProperty("n", n); + return this; + } + + /** + * Response format: url or b64_json. + * + * The option is a: <code>java.lang.String</code> type. + * + * Group: producer + * + * @param responseFormat the value to set + * @return the dsl builder + */ + default SpringAiImageComponentBuilder responseFormat(java.lang.String responseFormat) { + doSetProperty("responseFormat", responseFormat); + return this; + } + + /** + * Image style (e.g., vivid, natural). + * + * The option is a: <code>java.lang.String</code> type. + * + * Group: producer + * + * @param style the value to set + * @return the dsl builder + */ + default SpringAiImageComponentBuilder style(java.lang.String style) { + doSetProperty("style", style); + return this; + } + + /** + * Image width in pixels. + * + * The option is a: <code>java.lang.Integer</code> type. + * + * Group: producer + * + * @param width the value to set + * @return the dsl builder + */ + default SpringAiImageComponentBuilder width(java.lang.Integer width) { + doSetProperty("width", width); + return this; + } + + + /** + * 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 type, + * which then gets configured on the component. This can be used for + * automatic configuring JDBC data sources, JMS connection factories, + * AWS Clients, etc. + * + * The option is a: <code>boolean</code> type. + * + * Default: true + * Group: advanced + * + * @param autowiredEnabled the value to set + * @return the dsl builder + */ + default SpringAiImageComponentBuilder autowiredEnabled(boolean autowiredEnabled) { + doSetProperty("autowiredEnabled", autowiredEnabled); + return this; + } + } + + class SpringAiImageComponentBuilderImpl + extends AbstractComponentBuilder<SpringAiImageComponent> + implements SpringAiImageComponentBuilder { + @Override + protected SpringAiImageComponent buildConcreteComponent() { + return new SpringAiImageComponent(); + } + private org.apache.camel.component.springai.image.SpringAiImageConfiguration getOrCreateConfiguration(SpringAiImageComponent component) { + if (component.getConfiguration() == null) { + component.setConfiguration(new org.apache.camel.component.springai.image.SpringAiImageConfiguration()); + } + return component.getConfiguration(); + } + @Override + protected boolean setPropertyOnComponent( + Component component, + String name, + Object value) { + switch (name) { + case "configuration": ((SpringAiImageComponent) component).setConfiguration((org.apache.camel.component.springai.image.SpringAiImageConfiguration) value); return true; + case "height": getOrCreateConfiguration((SpringAiImageComponent) component).setHeight((java.lang.Integer) value); return true; + case "imageModel": getOrCreateConfiguration((SpringAiImageComponent) component).setImageModel((org.springframework.ai.image.ImageModel) value); return true; + case "lazyStartProducer": ((SpringAiImageComponent) component).setLazyStartProducer((boolean) value); return true; + case "model": getOrCreateConfiguration((SpringAiImageComponent) component).setModel((java.lang.String) value); return true; + case "n": getOrCreateConfiguration((SpringAiImageComponent) component).setN((java.lang.Integer) value); return true; + case "responseFormat": getOrCreateConfiguration((SpringAiImageComponent) component).setResponseFormat((java.lang.String) value); return true; + case "style": getOrCreateConfiguration((SpringAiImageComponent) component).setStyle((java.lang.String) value); return true; + case "width": getOrCreateConfiguration((SpringAiImageComponent) component).setWidth((java.lang.Integer) value); return true; + case "autowiredEnabled": ((SpringAiImageComponent) component).setAutowiredEnabled((boolean) value); return true; + default: return false; + } + } + } +} \ No newline at end of file diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java index e2db56a0ca10..d423347b1a03 100644 --- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java +++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java @@ -344,6 +344,7 @@ public interface EndpointBuilderFactory org.apache.camel.builder.endpoint.dsl.SplunkHECEndpointBuilderFactory.SplunkHECBuilders, org.apache.camel.builder.endpoint.dsl.SpringAiChatEndpointBuilderFactory.SpringAiChatBuilders, org.apache.camel.builder.endpoint.dsl.SpringAiEmbeddingsEndpointBuilderFactory.SpringAiEmbeddingsBuilders, + org.apache.camel.builder.endpoint.dsl.SpringAiImageEndpointBuilderFactory.SpringAiImageBuilders, org.apache.camel.builder.endpoint.dsl.SpringAiToolsEndpointBuilderFactory.SpringAiToolsBuilders, org.apache.camel.builder.endpoint.dsl.SpringAiVectorStoreEndpointBuilderFactory.SpringAiVectorStoreBuilders, org.apache.camel.builder.endpoint.dsl.SpringBatchEndpointBuilderFactory.SpringBatchBuilders, diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java index b73cacd5ec91..3d250268a57a 100644 --- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java +++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java @@ -341,6 +341,7 @@ public interface EndpointBuilders org.apache.camel.builder.endpoint.dsl.SplunkHECEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.SpringAiChatEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.SpringAiEmbeddingsEndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.SpringAiImageEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.SpringAiToolsEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.SpringAiVectorStoreEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.SpringBatchEndpointBuilderFactory, diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java index c46db4d576b0..56ff87a30ad5 100644 --- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java +++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java @@ -15117,6 +15117,46 @@ public class StaticEndpointBuilders { public static SpringAiEmbeddingsEndpointBuilderFactory.SpringAiEmbeddingsEndpointBuilder springAiEmbeddings(String componentName, String path) { return SpringAiEmbeddingsEndpointBuilderFactory.endpointBuilder(componentName, path); } + /** + * Spring AI Image (camel-spring-ai-image) + * Spring AI Image Generation + * + * Category: ai + * Since: 4.19 + * Maven coordinates: org.apache.camel:camel-spring-ai-image + * + * Syntax: <code>spring-ai-image:imageId</code> + * + * Path parameter: imageId (required) + * The id + * + * @param path imageId + * @return the dsl builder + */ + public static SpringAiImageEndpointBuilderFactory.SpringAiImageEndpointBuilder springAiImage(String path) { + return springAiImage("spring-ai-image", path); + } + /** + * Spring AI Image (camel-spring-ai-image) + * Spring AI Image Generation + * + * Category: ai + * Since: 4.19 + * Maven coordinates: org.apache.camel:camel-spring-ai-image + * + * Syntax: <code>spring-ai-image:imageId</code> + * + * Path parameter: imageId (required) + * The id + * + * @param componentName to use a custom component name for the endpoint + * instead of the default name + * @param path imageId + * @return the dsl builder + */ + public static SpringAiImageEndpointBuilderFactory.SpringAiImageEndpointBuilder springAiImage(String componentName, String path) { + return SpringAiImageEndpointBuilderFactory.endpointBuilder(componentName, path); + } /** * Spring AI Tools (camel-spring-ai-tools) * Spring AI Tools and Function Calling Features diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SpringAiImageEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SpringAiImageEndpointBuilderFactory.java new file mode 100644 index 000000000000..54d22cab15ce --- /dev/null +++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SpringAiImageEndpointBuilderFactory.java @@ -0,0 +1,454 @@ +/* Generated by camel build tools - do NOT edit this file! */ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel.builder.endpoint.dsl; + +import java.util.*; +import java.util.concurrent.*; +import java.util.function.*; +import java.util.stream.*; +import javax.annotation.processing.Generated; +import org.apache.camel.builder.EndpointConsumerBuilder; +import org.apache.camel.builder.EndpointProducerBuilder; +import org.apache.camel.builder.endpoint.AbstractEndpointBuilder; + +/** + * Spring AI Image Generation + * + * Generated by camel build tools - do NOT edit this file! + */ +@Generated("org.apache.camel.maven.packaging.EndpointDslMojo") +public interface SpringAiImageEndpointBuilderFactory { + + /** + * Builder for endpoint for the Spring AI Image component. + */ + public interface SpringAiImageEndpointBuilder + extends + EndpointProducerBuilder { + default AdvancedSpringAiImageEndpointBuilder advanced() { + return (AdvancedSpringAiImageEndpointBuilder) this; + } + + /** + * Image height in pixels. + * + * The option is a: <code>java.lang.Integer</code> type. + * + * Group: producer + * + * @param height the value to set + * @return the dsl builder + */ + default SpringAiImageEndpointBuilder height(Integer height) { + doSetProperty("height", height); + return this; + } + /** + * Image height in pixels. + * + * The option will be converted to a <code>java.lang.Integer</code> + * type. + * + * Group: producer + * + * @param height the value to set + * @return the dsl builder + */ + default SpringAiImageEndpointBuilder height(String height) { + doSetProperty("height", height); + return this; + } + /** + * The ImageModel to use for generating images. + * + * The option is a: <code>org.springframework.ai.image.ImageModel</code> + * type. + * + * Required: true + * Group: producer + * + * @param imageModel the value to set + * @return the dsl builder + */ + default SpringAiImageEndpointBuilder imageModel(org.springframework.ai.image.ImageModel imageModel) { + doSetProperty("imageModel", imageModel); + return this; + } + /** + * The ImageModel to use for generating images. + * + * The option will be converted to a + * <code>org.springframework.ai.image.ImageModel</code> type. + * + * Required: true + * Group: producer + * + * @param imageModel the value to set + * @return the dsl builder + */ + default SpringAiImageEndpointBuilder imageModel(String imageModel) { + doSetProperty("imageModel", imageModel); + return this; + } + /** + * The model to use for image generation. + * + * The option is a: <code>java.lang.String</code> type. + * + * Group: producer + * + * @param model the value to set + * @return the dsl builder + */ + default SpringAiImageEndpointBuilder model(String model) { + doSetProperty("model", model); + return this; + } + /** + * Number of images to generate. + * + * The option is a: <code>java.lang.Integer</code> type. + * + * Group: producer + * + * @param n the value to set + * @return the dsl builder + */ + default SpringAiImageEndpointBuilder n(Integer n) { + doSetProperty("n", n); + return this; + } + /** + * Number of images to generate. + * + * The option will be converted to a <code>java.lang.Integer</code> + * type. + * + * Group: producer + * + * @param n the value to set + * @return the dsl builder + */ + default SpringAiImageEndpointBuilder n(String n) { + doSetProperty("n", n); + return this; + } + /** + * Response format: url or b64_json. + * + * The option is a: <code>java.lang.String</code> type. + * + * Group: producer + * + * @param responseFormat the value to set + * @return the dsl builder + */ + default SpringAiImageEndpointBuilder responseFormat(String responseFormat) { + doSetProperty("responseFormat", responseFormat); + return this; + } + /** + * Image style (e.g., vivid, natural). + * + * The option is a: <code>java.lang.String</code> type. + * + * Group: producer + * + * @param style the value to set + * @return the dsl builder + */ + default SpringAiImageEndpointBuilder style(String style) { + doSetProperty("style", style); + return this; + } + /** + * Image width in pixels. + * + * The option is a: <code>java.lang.Integer</code> type. + * + * Group: producer + * + * @param width the value to set + * @return the dsl builder + */ + default SpringAiImageEndpointBuilder width(Integer width) { + doSetProperty("width", width); + return this; + } + /** + * Image width in pixels. + * + * The option will be converted to a <code>java.lang.Integer</code> + * type. + * + * Group: producer + * + * @param width the value to set + * @return the dsl builder + */ + default SpringAiImageEndpointBuilder width(String width) { + doSetProperty("width", width); + return this; + } + } + + /** + * Advanced builder for endpoint for the Spring AI Image component. + */ + public interface AdvancedSpringAiImageEndpointBuilder + extends + EndpointProducerBuilder { + default SpringAiImageEndpointBuilder basic() { + return (SpringAiImageEndpointBuilder) this; + } + + /** + * 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 during + * starting and cause the route to fail being started. By deferring this + * startup to be lazy then the startup failure can be handled during + * routing messages via Camel's routing error handlers. Beware that when + * the first message is processed then creating and starting the + * producer may take a little time and prolong the total processing time + * of the processing. + * + * The option is a: <code>boolean</code> type. + * + * Default: false + * Group: producer (advanced) + * + * @param lazyStartProducer the value to set + * @return the dsl builder + */ + default AdvancedSpringAiImageEndpointBuilder lazyStartProducer(boolean lazyStartProducer) { + doSetProperty("lazyStartProducer", lazyStartProducer); + return this; + } + /** + * 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 during + * starting and cause the route to fail being started. By deferring this + * startup to be lazy then the startup failure can be handled during + * routing messages via Camel's routing error handlers. Beware that when + * the first message is processed then creating and starting the + * producer may take a little time and prolong the total processing time + * of the processing. + * + * The option will be converted to a <code>boolean</code> type. + * + * Default: false + * Group: producer (advanced) + * + * @param lazyStartProducer the value to set + * @return the dsl builder + */ + default AdvancedSpringAiImageEndpointBuilder lazyStartProducer(String lazyStartProducer) { + doSetProperty("lazyStartProducer", lazyStartProducer); + return this; + } + } + + public interface SpringAiImageBuilders { + /** + * Spring AI Image (camel-spring-ai-image) + * Spring AI Image Generation + * + * Category: ai + * Since: 4.19 + * Maven coordinates: org.apache.camel:camel-spring-ai-image + * + * @return the dsl builder for the headers' name. + */ + default SpringAiImageHeaderNameBuilder springAiImage() { + return SpringAiImageHeaderNameBuilder.INSTANCE; + } + /** + * Spring AI Image (camel-spring-ai-image) + * Spring AI Image Generation + * + * Category: ai + * Since: 4.19 + * Maven coordinates: org.apache.camel:camel-spring-ai-image + * + * Syntax: <code>spring-ai-image:imageId</code> + * + * Path parameter: imageId (required) + * The id + * + * @param path imageId + * @return the dsl builder + */ + default SpringAiImageEndpointBuilder springAiImage(String path) { + return SpringAiImageEndpointBuilderFactory.endpointBuilder("spring-ai-image", path); + } + /** + * Spring AI Image (camel-spring-ai-image) + * Spring AI Image Generation + * + * Category: ai + * Since: 4.19 + * Maven coordinates: org.apache.camel:camel-spring-ai-image + * + * Syntax: <code>spring-ai-image:imageId</code> + * + * Path parameter: imageId (required) + * The id + * + * @param componentName to use a custom component name for the endpoint + * instead of the default name + * @param path imageId + * @return the dsl builder + */ + default SpringAiImageEndpointBuilder springAiImage(String componentName, String path) { + return SpringAiImageEndpointBuilderFactory.endpointBuilder(componentName, path); + } + + } + /** + * The builder of headers' name for the Spring AI Image component. + */ + public static class SpringAiImageHeaderNameBuilder { + /** + * The internal instance of the builder used to access to all the + * methods representing the name of headers. + */ + private static final SpringAiImageHeaderNameBuilder INSTANCE = new SpringAiImageHeaderNameBuilder(); + + /** + * Number of images to generate. + * + * The option is a: {@code Integer} type. + * + * Group: producer + * + * @return the name of the header {@code SpringAiImageN}. + */ + public String springAiImageN() { + return "CamelSpringAiImageN"; + } + /** + * Image width in pixels. + * + * The option is a: {@code Integer} type. + * + * Group: producer + * + * @return the name of the header {@code SpringAiImageWidth}. + */ + public String springAiImageWidth() { + return "CamelSpringAiImageWidth"; + } + /** + * Image height in pixels. + * + * The option is a: {@code Integer} type. + * + * Group: producer + * + * @return the name of the header {@code SpringAiImageHeight}. + */ + public String springAiImageHeight() { + return "CamelSpringAiImageHeight"; + } + /** + * The model to use for image generation. + * + * The option is a: {@code String} type. + * + * Group: producer + * + * @return the name of the header {@code SpringAiImageModel}. + */ + public String springAiImageModel() { + return "CamelSpringAiImageModel"; + } + /** + * Response format: url or b64_json. + * + * The option is a: {@code String} type. + * + * Group: producer + * + * @return the name of the header {@code SpringAiImageResponseFormat}. + */ + public String springAiImageResponseFormat() { + return "CamelSpringAiImageResponseFormat"; + } + /** + * Image style (e.g., vivid, natural). + * + * The option is a: {@code String} type. + * + * Group: producer + * + * @return the name of the header {@code SpringAiImageStyle}. + */ + public String springAiImageStyle() { + return "CamelSpringAiImageStyle"; + } + /** + * The image response metadata. + * + * The option is a: {@code + * org.springframework.ai.image.ImageResponseMetadata} type. + * + * Group: producer + * + * @return the name of the header {@code SpringAiImageResponseMetadata}. + */ + public String springAiImageResponseMetadata() { + return "CamelSpringAiImageResponseMetadata"; + } + /** + * The ImageGeneration object for single image results. + * + * The option is a: {@code org.springframework.ai.image.ImageGeneration} + * type. + * + * Group: producer + * + * @return the name of the header {@code SpringAiImageGeneration}. + */ + public String springAiImageGeneration() { + return "CamelSpringAiImageGeneration"; + } + /** + * List of ImageGeneration objects for multiple image results. + * + * The option is a: {@code + * java.util.List<org.springframework.ai.image.ImageGeneration>} type. + * + * Group: producer + * + * @return the name of the header {@code SpringAiImageGenerations}. + */ + public String springAiImageGenerations() { + return "CamelSpringAiImageGenerations"; + } + } + static SpringAiImageEndpointBuilder endpointBuilder(String componentName, String path) { + class SpringAiImageEndpointBuilderImpl extends AbstractEndpointBuilder implements SpringAiImageEndpointBuilder, AdvancedSpringAiImageEndpointBuilder { + public SpringAiImageEndpointBuilderImpl(String path) { + super(componentName, path); + } + } + return new SpringAiImageEndpointBuilderImpl(path); + } +} \ No newline at end of file diff --git a/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties b/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties index 76415541cbe2..a2a0b4a89393 100644 --- a/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties +++ b/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties @@ -344,6 +344,7 @@ org.apache.camel.component.spring.jdbc.SpringJdbcComponent=camel:spring-jdbc org.apache.camel.component.spring.ws.SpringWebserviceComponent=camel:spring-ws org.apache.camel.component.springai.chat.SpringAiChatComponent=camel:spring-ai-chat org.apache.camel.component.springai.embeddings.SpringAiEmbeddingsComponent=camel:spring-ai-embeddings +org.apache.camel.component.springai.image.SpringAiImageComponent=camel:spring-ai-image org.apache.camel.component.springai.tools.SpringAiToolsComponent=camel:spring-ai-tools org.apache.camel.component.springai.vectorstore.SpringAiVectorStoreComponent=camel:spring-ai-vector-store org.apache.camel.component.springldap.SpringLdapComponent=camel:spring-ldap
