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

davsclaus pushed a commit to branch binding
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 9e033e22a4915068a51fbe2b603d2c2fa7c5952f
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Wed Apr 3 12:39:54 2024 +0200

    CAMEL-20557: Rest DSL to use openapi spec directly
---
 .../DefaultRestOpenapiProcessorStrategy.java       |  4 ++--
 .../rest/openapi/RestOpenApiConsumerPath.java      |  8 +++----
 .../rest/openapi/RestOpenApiProcessor.java         | 10 ++++-----
 .../rest/openapi/RestOpenapiProcessorStrategy.java |  4 ++--
 .../camel/reifier/rest/RestBindingReifier.java     |  9 ++++----
 ...tBindingSupport.java => RestBindingAdvice.java} | 26 +++++++++++-----------
 ...gFactory.java => RestBindingAdviceFactory.java} | 12 +++++-----
 .../processor/RestBindingConfiguration.java        |  2 +-
 8 files changed, 38 insertions(+), 37 deletions(-)

diff --git 
a/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/DefaultRestOpenapiProcessorStrategy.java
 
b/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/DefaultRestOpenapiProcessorStrategy.java
index b6860956d7f..414a5efb1e3 100644
--- 
a/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/DefaultRestOpenapiProcessorStrategy.java
+++ 
b/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/DefaultRestOpenapiProcessorStrategy.java
@@ -42,7 +42,7 @@ import org.apache.camel.spi.Resource;
 import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.support.PluginHelper;
 import org.apache.camel.support.cache.DefaultProducerCache;
-import org.apache.camel.support.processor.RestBindingSupport;
+import org.apache.camel.support.processor.RestBindingAdvice;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.support.service.ServiceSupport;
 import org.apache.camel.util.FileUtil;
@@ -165,7 +165,7 @@ public class DefaultRestOpenapiProcessorStrategy extends 
ServiceSupport
     @Override
     public boolean process(
             Operation operation, String path,
-            RestBindingSupport binding,
+            RestBindingAdvice binding,
             Exchange exchange, AsyncCallback callback) {
 
         if ("mock".equalsIgnoreCase(missingOperation)) {
diff --git 
a/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenApiConsumerPath.java
 
b/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenApiConsumerPath.java
index 6938a42c00b..fffa8e508a8 100644
--- 
a/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenApiConsumerPath.java
+++ 
b/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenApiConsumerPath.java
@@ -18,17 +18,17 @@ package org.apache.camel.component.rest.openapi;
 
 import io.swagger.v3.oas.models.Operation;
 import org.apache.camel.support.RestConsumerContextPathMatcher;
-import org.apache.camel.support.processor.RestBindingSupport;
+import org.apache.camel.support.processor.RestBindingAdvice;
 
 class RestOpenApiConsumerPath implements 
RestConsumerContextPathMatcher.ConsumerPath<Operation> {
 
     private final String verb;
     private final String path;
     private final Operation consumer;
-    private final RestBindingSupport binding;
+    private final RestBindingAdvice binding;
 
     public RestOpenApiConsumerPath(String verb, String path, Operation 
consumer,
-                                   RestBindingSupport binding) {
+                                   RestBindingAdvice binding) {
         this.verb = verb;
         this.path = path;
         this.consumer = consumer;
@@ -55,7 +55,7 @@ class RestOpenApiConsumerPath implements 
RestConsumerContextPathMatcher.Consumer
         return false;
     }
 
-    public RestBindingSupport getBinding() {
+    public RestBindingAdvice getBinding() {
         return binding;
     }
 }
diff --git 
a/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenApiProcessor.java
 
b/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenApiProcessor.java
index e47063cc94b..c3e46f12ce4 100644
--- 
a/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenApiProcessor.java
+++ 
b/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenApiProcessor.java
@@ -42,9 +42,9 @@ import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.support.MessageHelper;
 import org.apache.camel.support.RestConsumerContextPathMatcher;
 import org.apache.camel.support.processor.DelegateAsyncProcessor;
+import org.apache.camel.support.processor.RestBindingAdvice;
+import org.apache.camel.support.processor.RestBindingAdviceFactory;
 import org.apache.camel.support.processor.RestBindingConfiguration;
-import org.apache.camel.support.processor.RestBindingFactory;
-import org.apache.camel.support.processor.RestBindingSupport;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
@@ -328,7 +328,7 @@ public class RestOpenApiProcessor extends 
DelegateAsyncProcessor implements Came
             for (var o : e.getValue().readOperationsMap().entrySet()) {
                 String v = o.getKey().name(); // verb
                 // create per operation binding
-                RestBindingSupport binding = createRestBinding(o.getValue());
+                RestBindingAdvice binding = createRestBinding(o.getValue());
                 ServiceHelper.buildService(binding);
                 paths.add(new RestOpenApiConsumerPath(v, path, o.getValue(), 
binding));
             }
@@ -336,7 +336,7 @@ public class RestOpenApiProcessor extends 
DelegateAsyncProcessor implements Came
         ServiceHelper.buildService(restOpenapiProcessorStrategy);
     }
 
-    private RestBindingSupport createRestBinding(Operation o) throws Exception 
{
+    private RestBindingAdvice createRestBinding(Operation o) throws Exception {
         RestConfiguration config = camelContext.getRestConfiguration();
         RestConfiguration.RestBindingMode mode = config.getBindingMode();
 
@@ -413,7 +413,7 @@ public class RestOpenApiProcessor extends 
DelegateAsyncProcessor implements Came
 
         // TODO: type/outType
 
-        return RestBindingFactory.build(camelContext, bc);
+        return RestBindingAdviceFactory.build(camelContext, bc);
     }
 
     @Override
diff --git 
a/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenapiProcessorStrategy.java
 
b/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenapiProcessorStrategy.java
index 4a22f91635f..90455836228 100644
--- 
a/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenapiProcessorStrategy.java
+++ 
b/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenapiProcessorStrategy.java
@@ -20,7 +20,7 @@ import io.swagger.v3.oas.models.OpenAPI;
 import io.swagger.v3.oas.models.Operation;
 import org.apache.camel.AsyncCallback;
 import org.apache.camel.Exchange;
-import org.apache.camel.support.processor.RestBindingSupport;
+import org.apache.camel.support.processor.RestBindingAdvice;
 
 /**
  * Strategy for processing the Rest DSL that services an OpenAPI spec.
@@ -76,7 +76,7 @@ public interface RestOpenapiProcessorStrategy {
      */
     boolean process(
             Operation operation, String path,
-            RestBindingSupport binding,
+            RestBindingAdvice binding,
             Exchange exchange, AsyncCallback callback);
 
     /**
diff --git 
a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/rest/RestBindingReifier.java
 
b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/rest/RestBindingReifier.java
index d970a34fde3..3d288f4927a 100644
--- 
a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/rest/RestBindingReifier.java
+++ 
b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/rest/RestBindingReifier.java
@@ -23,8 +23,8 @@ import org.apache.camel.reifier.AbstractReifier;
 import org.apache.camel.spi.RestConfiguration;
 import org.apache.camel.support.CamelContextHelper;
 import org.apache.camel.support.processor.RestBindingConfiguration;
-import org.apache.camel.support.processor.RestBindingFactory;
-import org.apache.camel.support.processor.RestBindingSupport;
+import org.apache.camel.support.processor.RestBindingAdviceFactory;
+import org.apache.camel.support.processor.RestBindingAdvice;
 
 public class RestBindingReifier extends AbstractReifier {
 
@@ -35,7 +35,7 @@ public class RestBindingReifier extends AbstractReifier {
         this.definition = definition;
     }
 
-    public RestBindingSupport createRestBindingAdvice() throws Exception {
+    public RestBindingAdvice createRestBindingAdvice() throws Exception {
         RestConfiguration config = 
CamelContextHelper.getRestConfiguration(camelContext, 
definition.getComponent());
         RestBindingConfiguration rbc = new RestBindingConfiguration();
 
@@ -77,7 +77,8 @@ public class RestBindingReifier extends AbstractReifier {
         rbc.setOutType(parseString(definition.getOutType()));
         rbc.setOutTypeClass(definition.getOutTypeClass());
 
-        return RestBindingFactory.build(camelContext, rbc);
+        // use factory to create advice
+        return RestBindingAdviceFactory.build(camelContext, rbc);
     }
 
 }
diff --git 
a/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingSupport.java
 
b/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdvice.java
similarity index 96%
rename from 
core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingSupport.java
rename to 
core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdvice.java
index b7f521450fc..a548f486525 100644
--- 
a/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingSupport.java
+++ 
b/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdvice.java
@@ -49,11 +49,11 @@ import static 
org.apache.camel.support.http.RestUtil.isValidOrAcceptedContentTyp
  * <p/>
  * The rest producer side is implemented in {@link 
org.apache.camel.component.rest.RestProducerBindingProcessor}
  *
- * @see RestBindingFactory
+ * @see RestBindingAdviceFactory
  */
-public class RestBindingSupport extends ServiceSupport implements 
CamelInternalProcessorAdvice<Map<String, Object>> {
+public class RestBindingAdvice extends ServiceSupport implements 
CamelInternalProcessorAdvice<Map<String, Object>> {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(RestBindingSupport.class);
+    private static final Logger LOG = 
LoggerFactory.getLogger(RestBindingAdvice.class);
     private static final String STATE_KEY_DO_MARSHAL = "doMarshal";
     private static final String STATE_KEY_ACCEPT = "accept";
     private static final String STATE_JSON = "json";
@@ -77,17 +77,17 @@ public class RestBindingSupport extends ServiceSupport 
implements CamelInternalP
     private final Set<String> requiredHeaders;
 
     /**
-     * Use {@link RestBindingFactory} to create.
+     * Use {@link RestBindingAdviceFactory} to create.
      */
-    public RestBindingSupport(CamelContext camelContext, DataFormat 
jsonDataFormat, DataFormat xmlDataFormat,
-                              DataFormat outJsonDataFormat, DataFormat 
outXmlDataFormat,
-                              String consumes, String produces, String 
bindingMode,
-                              boolean skipBindingOnErrorCode, boolean 
clientRequestValidation, boolean enableCORS,
-                              boolean enableNoContentResponse,
-                              Map<String, String> corsHeaders,
-                              Map<String, String> queryDefaultValues,
-                              boolean requiredBody, Set<String> 
requiredQueryParameters,
-                              Set<String> requiredHeaders) throws Exception {
+    public RestBindingAdvice(CamelContext camelContext, DataFormat 
jsonDataFormat, DataFormat xmlDataFormat,
+                             DataFormat outJsonDataFormat, DataFormat 
outXmlDataFormat,
+                             String consumes, String produces, String 
bindingMode,
+                             boolean skipBindingOnErrorCode, boolean 
clientRequestValidation, boolean enableCORS,
+                             boolean enableNoContentResponse,
+                             Map<String, String> corsHeaders,
+                             Map<String, String> queryDefaultValues,
+                             boolean requiredBody, Set<String> 
requiredQueryParameters,
+                             Set<String> requiredHeaders) throws Exception {
 
         if (jsonDataFormat != null) {
             this.jsonUnmarshal = new UnmarshalProcessor(jsonDataFormat);
diff --git 
a/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingFactory.java
 
b/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdviceFactory.java
similarity index 95%
rename from 
core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingFactory.java
rename to 
core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdviceFactory.java
index bc08105e61b..9838016998d 100644
--- 
a/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingFactory.java
+++ 
b/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdviceFactory.java
@@ -28,23 +28,23 @@ import org.apache.camel.support.PluginHelper;
 import org.apache.camel.support.PropertyBindingSupport;
 
 /**
- * Factory to create {@link RestBindingSupport} from the given configuration.
+ * Factory to create {@link RestBindingAdvice} from the given configuration.
  */
-public class RestBindingFactory {
+public class RestBindingAdviceFactory {
 
     /**
-     * Builds the {@link RestBindingSupport} from the given configuration
+     * Builds the {@link RestBindingAdvice} from the given configuration
      *
      * @param camelContext the camel context
      * @param bc           the binding configuration
      * @return             the created binding advice
      */
-    public static RestBindingSupport build(CamelContext camelContext, 
RestBindingConfiguration bc) throws Exception {
+    public static RestBindingAdvice build(CamelContext camelContext, 
RestBindingConfiguration bc) throws Exception {
         String mode = bc.getBindingMode();
 
         if ("off".equals(mode)) {
             // binding mode is off, so create off mode binding processor
-            return new RestBindingSupport(
+            return new RestBindingAdvice(
                     camelContext, null, null, null, null,
                     bc.getConsumes(), bc.getProduces(), mode, 
bc.isSkipBindingOnErrorCode(), bc.isClientRequestValidation(),
                     bc.isEnableCORS(),
@@ -116,7 +116,7 @@ public class RestBindingFactory {
             }
         }
 
-        return new RestBindingSupport(
+        return new RestBindingAdvice(
                 camelContext, json, jaxb, outJson, outJaxb,
                 bc.getConsumes(), bc.getProduces(), mode, 
bc.isSkipBindingOnErrorCode(), bc.isClientRequestValidation(),
                 bc.isEnableCORS(),
diff --git 
a/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingConfiguration.java
 
b/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingConfiguration.java
index 2d54a15ca42..383d33a3a04 100644
--- 
a/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingConfiguration.java
+++ 
b/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingConfiguration.java
@@ -20,7 +20,7 @@ import java.util.Map;
 import java.util.Set;
 
 /**
- * Configuration for {@link RestBindingSupport}.
+ * Configuration for {@link RestBindingAdvice}.
  */
 public class RestBindingConfiguration {
 

Reply via email to