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 {