GH-3155: Add support for Java DSL extensions (#3167)

* GH-3155: Add support for Java DSL extensions

Fixes https://github.com/spring-projects/spring-integration/issues/3155

Provide an `IntegrationFlowExtension` for possible custom EI-operators
in the target project use-cases.

* * Move `IntegrationFlowExtension` tests ot its own test class
* Make all the `IntegrationComponentSpec` ctors as `protected` for possible custom extensions
* Make some `BaseIntegrationFlowDefinition` methods and properties as `protected` to get them
access from the `IntegrationFlowExtension` implementations
* Document the feature

* * Fix language and typos in docs

* * Add `protected` to one more `GatewayEndpointSpec` ctor
* Add JavaDocs to `GatewayEndpointSpec` methods

* * Add `protected` to one more `JmsPollableMessageChannelSpec` ctor
This commit is contained in:
Artem Bilan
2020-02-07 13:40:39 -05:00
committed by GitHub
parent 00b771d8a8
commit 867a8cf108
82 changed files with 607 additions and 275 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2016-2019 the original author or authors.
* Copyright 2016-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -38,7 +38,7 @@ public abstract class BaseHttpInboundEndpointSpec<S extends BaseHttpInboundEndpo
E extends HttpRequestHandlingEndpointSupport>
extends HttpInboundEndpointSupportSpec<S, E> {
BaseHttpInboundEndpointSpec(E endpoint, String... path) {
protected BaseHttpInboundEndpointSpec(E endpoint, String... path) {
super(endpoint, path);
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2016-2019 the original author or authors.
* Copyright 2016-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -30,7 +30,7 @@ import org.springframework.integration.http.inbound.HttpRequestHandlingControlle
public class HttpControllerEndpointSpec
extends BaseHttpInboundEndpointSpec<HttpControllerEndpointSpec, HttpRequestHandlingController> {
HttpControllerEndpointSpec(HttpRequestHandlingController controller, String... path) {
protected HttpControllerEndpointSpec(HttpRequestHandlingController controller, String... path) {
super(controller, path);
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2016-2019 the original author or authors.
* Copyright 2016-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -45,15 +45,15 @@ public class HttpMessageHandlerSpec
private final RestTemplate restTemplate;
HttpMessageHandlerSpec(URI uri, RestTemplate restTemplate) {
protected HttpMessageHandlerSpec(URI uri, RestTemplate restTemplate) {
this(new ValueExpression<>(uri), restTemplate);
}
HttpMessageHandlerSpec(String uri, RestTemplate restTemplate) {
protected HttpMessageHandlerSpec(String uri, RestTemplate restTemplate) {
this(new LiteralExpression(uri), restTemplate);
}
HttpMessageHandlerSpec(Expression uriExpression, RestTemplate restTemplate) {
protected HttpMessageHandlerSpec(Expression uriExpression, RestTemplate restTemplate) {
super(new HttpRequestExecutingMessageHandler(uriExpression, restTemplate));
this.restTemplate = restTemplate;
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2016-2019 the original author or authors.
* Copyright 2016-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -30,7 +30,7 @@ import org.springframework.integration.http.inbound.HttpRequestHandlingMessaging
public class HttpRequestHandlerEndpointSpec
extends BaseHttpInboundEndpointSpec<HttpRequestHandlerEndpointSpec, HttpRequestHandlingMessagingGateway> {
HttpRequestHandlerEndpointSpec(HttpRequestHandlingMessagingGateway endpoint, String... path) {
protected HttpRequestHandlerEndpointSpec(HttpRequestHandlingMessagingGateway endpoint, String... path) {
super(endpoint, path);
}