diff --git a/samples/samples-messaging-camel/src/test/groovy/com/example/CamelMessagingApplicationSpec.groovy b/samples/samples-messaging-camel/src/test/groovy/com/example/CamelMessagingApplicationSpec.groovy index c711f5cefb..60cfab45da 100644 --- a/samples/samples-messaging-camel/src/test/groovy/com/example/CamelMessagingApplicationSpec.groovy +++ b/samples/samples-messaging-camel/src/test/groovy/com/example/CamelMessagingApplicationSpec.groovy @@ -18,15 +18,15 @@ package com.example import javax.inject.Inject +import org.apache.camel.Message import org.apache.camel.model.ModelCamelContext import org.junit.BeforeClass import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.context.SpringBootContextLoader import org.springframework.cloud.contract.spec.Contract -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging import org.springframework.cloud.contract.verifier.messaging.ContractVerifierObjectMapper -import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureContractVerifierMessaging; +import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureContractVerifierMessaging import org.springframework.test.annotation.DirtiesContext import org.springframework.test.context.ContextConfiguration @@ -46,7 +46,7 @@ import com.toomuchcoding.jsonassert.JsonAssertion public class CamelMessagingApplicationSpec extends Specification { // ALL CASES - @Inject ContractVerifierMessaging contractVerifierMessaging + @Inject ContractVerifierMessaging contractVerifierMessaging ContractVerifierObjectMapper contractVerifierObjectMapper = new ContractVerifierObjectMapper() @BeforeClass @@ -108,7 +108,7 @@ public class CamelMessagingApplicationSpec extends Specification { // generated test should look like this: //given: - ContractVerifierMessage inputMessage = contractVerifierMessaging.create( + Message inputMessage = contractVerifierMessaging.create( contractVerifierObjectMapper.writeValueAsString([bookName: 'foo']), [sample: 'header'] ) @@ -141,7 +141,7 @@ public class CamelMessagingApplicationSpec extends Specification { // generated test should look like this: //given: - ContractVerifierMessage inputMessage = contractVerifierMessaging.create( + Message inputMessage = contractVerifierMessaging.create( contractVerifierObjectMapper.writeValueAsString([bookName: 'foo']), [sample: 'header'] ) diff --git a/samples/samples-messaging-integration/src/test/groovy/com/example/IntegrationMessagingApplicationSpec.groovy b/samples/samples-messaging-integration/src/test/groovy/com/example/IntegrationMessagingApplicationSpec.groovy index 06d1249744..68f20f4991 100644 --- a/samples/samples-messaging-integration/src/test/groovy/com/example/IntegrationMessagingApplicationSpec.groovy +++ b/samples/samples-messaging-integration/src/test/groovy/com/example/IntegrationMessagingApplicationSpec.groovy @@ -21,10 +21,10 @@ import javax.inject.Inject import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.context.SpringBootContextLoader import org.springframework.cloud.contract.spec.Contract -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging import org.springframework.cloud.contract.verifier.messaging.ContractVerifierObjectMapper -import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureContractVerifierMessaging; +import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureContractVerifierMessaging +import org.springframework.messaging.Message import org.springframework.test.annotation.DirtiesContext import org.springframework.test.context.ContextConfiguration @@ -40,7 +40,7 @@ import com.toomuchcoding.jsonassert.JsonAssertion public class IntegrationMessagingApplicationSpec extends Specification { // ALL CASES - @Inject ContractVerifierMessaging contractVerifierMessaging + @Inject ContractVerifierMessaging> contractVerifierMessaging ContractVerifierObjectMapper contractVerifierObjectMapper = new ContractVerifierObjectMapper() def "should work for triggered based messaging"() { @@ -114,7 +114,7 @@ public class IntegrationMessagingApplicationSpec extends Specification { // generated test should look like this: //given: - ContractVerifierMessage inputMessage = contractVerifierMessaging.create( + Message inputMessage = contractVerifierMessaging.create( contractVerifierObjectMapper.writeValueAsString([bookName: 'foo']), [sample: 'header'] ) @@ -147,7 +147,7 @@ public class IntegrationMessagingApplicationSpec extends Specification { // generated test should look like this: //given: - ContractVerifierMessage inputMessage = contractVerifierMessaging.create( + Message inputMessage = contractVerifierMessaging.create( contractVerifierObjectMapper.writeValueAsString([bookName: 'foo']), [sample: 'header'] ) diff --git a/samples/samples-messaging-spring/src/test/groovy/com/example/SpringApplicationSpec.groovy b/samples/samples-messaging-spring/src/test/groovy/com/example/SpringApplicationSpec.groovy index 363b62b32d..ed13cef08d 100644 --- a/samples/samples-messaging-spring/src/test/groovy/com/example/SpringApplicationSpec.groovy +++ b/samples/samples-messaging-spring/src/test/groovy/com/example/SpringApplicationSpec.groovy @@ -22,10 +22,10 @@ import org.junit.BeforeClass import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.context.SpringBootContextLoader import org.springframework.cloud.contract.spec.Contract -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging import org.springframework.cloud.contract.verifier.messaging.ContractVerifierObjectMapper -import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureContractVerifierMessaging; +import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureContractVerifierMessaging +import org.springframework.messaging.Message; import org.springframework.test.annotation.DirtiesContext import org.springframework.test.context.ContextConfiguration @@ -45,7 +45,7 @@ import com.toomuchcoding.jsonassert.JsonAssertion public class SpringApplicationSpec extends Specification { // ALL CASES - @Inject ContractVerifierMessaging contractVerifierMessaging + @Inject ContractVerifierMessaging> contractVerifierMessaging ContractVerifierObjectMapper contractVerifierObjectMapper = new ContractVerifierObjectMapper() @BeforeClass @@ -106,7 +106,7 @@ public class SpringApplicationSpec extends Specification { // generated test should look like this: //given: - ContractVerifierMessage inputMessage = contractVerifierMessaging.create( + Message inputMessage = contractVerifierMessaging.create( contractVerifierObjectMapper.writeValueAsString([bookName: 'foo']), [sample: 'header'] ) @@ -139,7 +139,7 @@ public class SpringApplicationSpec extends Specification { // generated test should look like this: //given: - ContractVerifierMessage inputMessage = contractVerifierMessaging.create( + Message inputMessage = contractVerifierMessaging.create( contractVerifierObjectMapper.writeValueAsString([bookName: 'foo']), [sample: 'header'] ) diff --git a/samples/samples-messaging-stream/src/test/groovy/com/example/StreamMessagingApplicationSpec.groovy b/samples/samples-messaging-stream/src/test/groovy/com/example/StreamMessagingApplicationSpec.groovy index 97baf99445..40dcd39128 100644 --- a/samples/samples-messaging-stream/src/test/groovy/com/example/StreamMessagingApplicationSpec.groovy +++ b/samples/samples-messaging-stream/src/test/groovy/com/example/StreamMessagingApplicationSpec.groovy @@ -22,10 +22,10 @@ import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.IntegrationTest; import org.springframework.boot.test.context.SpringBootContextLoader import org.springframework.cloud.contract.spec.Contract -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging import org.springframework.cloud.contract.verifier.messaging.ContractVerifierObjectMapper -import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureContractVerifierMessaging; +import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureContractVerifierMessaging +import org.springframework.messaging.Message; import org.springframework.test.annotation.DirtiesContext import org.springframework.test.context.ContextConfiguration @@ -45,7 +45,7 @@ import com.toomuchcoding.jsonassert.JsonAssertion public class StreamMessagingApplicationSpec extends Specification { // ALL CASES - @Inject ContractVerifierMessaging contractVerifierMessaging + @Inject ContractVerifierMessaging> contractVerifierMessaging ContractVerifierObjectMapper contractVerifierObjectMapper = new ContractVerifierObjectMapper() def "should work for triggered based messaging"() { @@ -101,7 +101,7 @@ public class StreamMessagingApplicationSpec extends Specification { // generated test should look like this: //given: - ContractVerifierMessage inputMessage = contractVerifierMessaging.create( + Message inputMessage = contractVerifierMessaging.create( contractVerifierObjectMapper.writeValueAsString([bookName: 'foo']), [sample: 'header'] ) @@ -134,7 +134,7 @@ public class StreamMessagingApplicationSpec extends Specification { // generated test should look like this: //given: - ContractVerifierMessage inputMessage = contractVerifierMessaging.create( + Message inputMessage = contractVerifierMessaging.create( contractVerifierObjectMapper.writeValueAsString([bookName: 'foo']), [sample: 'header'] ) diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-integration/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/integration/IntegrationStubRunnerSpec.groovy b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-integration/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/integration/IntegrationStubRunnerSpec.groovy index 29e98020df..309357da8b 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-integration/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/integration/IntegrationStubRunnerSpec.groovy +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-integration/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/integration/IntegrationStubRunnerSpec.groovy @@ -18,22 +18,23 @@ package org.springframework.cloud.contract.stubrunner.messaging.integration import groovy.json.JsonOutput import groovy.json.JsonSlurper + +import java.util.concurrent.TimeUnit + import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.autoconfigure.EnableAutoConfiguration import org.springframework.boot.test.context.SpringBootContextLoader import org.springframework.cloud.contract.spec.Contract import org.springframework.cloud.contract.stubrunner.StubFinder -import org.springframework.cloud.contract.stubrunner.spring.AutoConfigureStubRunner; -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging -import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureContractVerifierMessaging; +import org.springframework.cloud.contract.stubrunner.spring.AutoConfigureStubRunner +import org.springframework.cloud.contract.verifier.messaging.integration.ContractVerifierIntegrationMessaging import org.springframework.context.annotation.ComponentScan import org.springframework.context.annotation.Configuration import org.springframework.context.annotation.ImportResource +import org.springframework.messaging.Message import org.springframework.test.context.ContextConfiguration -import spock.lang.Specification -import java.util.concurrent.TimeUnit +import spock.lang.Specification /** * @author Marcin Grzejszczak @@ -47,7 +48,7 @@ import java.util.concurrent.TimeUnit class IntegrationStubRunnerSpec extends Specification { @Autowired StubFinder stubFinder - @Autowired ContractVerifierMessaging messaging + @Autowired ContractVerifierIntegrationMessaging messaging def setup() { // ensure that message were taken from the queue @@ -61,7 +62,7 @@ class IntegrationStubRunnerSpec extends Specification { // end::client_send[] then: // tag::client_receive[] - ContractVerifierMessage receivedMessage = messaging.receiveMessage('outputTest') + Message receivedMessage = messaging.receiveMessage('outputTest') // end::client_receive[] and: // tag::client_receive_message[] @@ -78,7 +79,7 @@ class IntegrationStubRunnerSpec extends Specification { // end::client_trigger[] then: // tag::client_trigger_receive[] - ContractVerifierMessage receivedMessage = messaging.receiveMessage('outputTest') + Message receivedMessage = messaging.receiveMessage('outputTest') // end::client_trigger_receive[] and: // tag::client_trigger_message[] @@ -94,7 +95,7 @@ class IntegrationStubRunnerSpec extends Specification { stubFinder.trigger('org.springframework.cloud.contract.verifier.stubs:integrationService', 'return_book_1') // end::trigger_group_artifact[] then: - ContractVerifierMessage receivedMessage = messaging.receiveMessage('outputTest') + Message receivedMessage = messaging.receiveMessage('outputTest') and: receivedMessage != null assertJsons(receivedMessage.payload) @@ -107,7 +108,7 @@ class IntegrationStubRunnerSpec extends Specification { stubFinder.trigger('integrationService', 'return_book_1') // end::trigger_artifact[] then: - ContractVerifierMessage receivedMessage = messaging.receiveMessage('outputTest') + Message receivedMessage = messaging.receiveMessage('outputTest') and: receivedMessage != null assertJsons(receivedMessage.payload) @@ -134,7 +135,7 @@ class IntegrationStubRunnerSpec extends Specification { stubFinder.trigger() // end::trigger_all[] then: - ContractVerifierMessage receivedMessage = messaging.receiveMessage('outputTest') + Message receivedMessage = messaging.receiveMessage('outputTest') and: receivedMessage != null assertJsons(receivedMessage.payload) @@ -154,7 +155,7 @@ class IntegrationStubRunnerSpec extends Specification { when: messaging.send(new BookReturned('not_matching'), [wrong: 'header_value'], 'input') then: - ContractVerifierMessage receivedMessage = messaging.receiveMessage('outputTest', 100, TimeUnit.MILLISECONDS) + Message receivedMessage = messaging.receiveMessage('outputTest', 100, TimeUnit.MILLISECONDS) and: receivedMessage == null } diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-stream/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/stream/StreamStubRunnerSpec.groovy b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-stream/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/stream/StreamStubRunnerSpec.groovy index 7329d3c7d3..358695e317 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-stream/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/stream/StreamStubRunnerSpec.groovy +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-stream/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/stream/StreamStubRunnerSpec.groovy @@ -18,24 +18,25 @@ package org.springframework.cloud.contract.stubrunner.messaging.stream import groovy.json.JsonOutput import groovy.json.JsonSlurper + +import java.util.concurrent.TimeUnit + import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.autoconfigure.EnableAutoConfiguration import org.springframework.boot.test.context.SpringBootContextLoader import org.springframework.cloud.contract.spec.Contract import org.springframework.cloud.contract.stubrunner.StubFinder -import org.springframework.cloud.contract.stubrunner.spring.AutoConfigureStubRunner; -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage +import org.springframework.cloud.contract.stubrunner.spring.AutoConfigureStubRunner import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging -import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureContractVerifierMessaging; import org.springframework.cloud.stream.annotation.EnableBinding import org.springframework.cloud.stream.messaging.Sink import org.springframework.cloud.stream.messaging.Source import org.springframework.context.annotation.ComponentScan import org.springframework.context.annotation.Configuration +import org.springframework.messaging.Message import org.springframework.test.context.ContextConfiguration -import spock.lang.Specification -import java.util.concurrent.TimeUnit +import spock.lang.Specification /** * @author Marcin Grzejszczak @@ -49,7 +50,7 @@ import java.util.concurrent.TimeUnit class StreamStubRunnerSpec extends Specification { @Autowired StubFinder stubFinder - @Autowired ContractVerifierMessaging messaging + @Autowired ContractVerifierMessaging> messaging def setup() { // ensure that message were taken from the queue @@ -63,7 +64,7 @@ class StreamStubRunnerSpec extends Specification { // end::client_send[] then: // tag::client_receive[] - ContractVerifierMessage receivedMessage = messaging.receiveMessage('returnBook') + Message receivedMessage = messaging.receiveMessage('returnBook') // end::client_receive[] and: // tag::client_receive_message[] @@ -80,7 +81,7 @@ class StreamStubRunnerSpec extends Specification { // end::client_trigger[] then: // tag::client_trigger_receive[] - ContractVerifierMessage receivedMessage = messaging.receiveMessage('returnBook') + Message receivedMessage = messaging.receiveMessage('returnBook') // end::client_trigger_receive[] and: // tag::client_trigger_message[] @@ -96,7 +97,7 @@ class StreamStubRunnerSpec extends Specification { stubFinder.trigger('org.springframework.cloud.contract.verifier.stubs:streamService', 'return_book_1') // end::trigger_group_artifact[] then: - ContractVerifierMessage receivedMessage = messaging.receiveMessage('returnBook') + Message receivedMessage = messaging.receiveMessage('returnBook') and: receivedMessage != null assertJsons(receivedMessage.payload) @@ -109,7 +110,7 @@ class StreamStubRunnerSpec extends Specification { stubFinder.trigger('streamService', 'return_book_1') // end::trigger_artifact[] then: - ContractVerifierMessage receivedMessage = messaging.receiveMessage('returnBook') + Message receivedMessage = messaging.receiveMessage('returnBook') and: receivedMessage != null assertJsons(receivedMessage.payload) @@ -136,7 +137,7 @@ class StreamStubRunnerSpec extends Specification { stubFinder.trigger() // end::trigger_all[] then: - ContractVerifierMessage receivedMessage = messaging.receiveMessage('returnBook') + Message receivedMessage = messaging.receiveMessage('returnBook') and: receivedMessage != null assertJsons(receivedMessage.payload) @@ -156,7 +157,7 @@ class StreamStubRunnerSpec extends Specification { when: messaging.send(new BookReturned('not_matching'), [wrong: 'header_value'], 'bookStorage') then: - ContractVerifierMessage receivedMessage = messaging.receiveMessage('returnBook', 100, TimeUnit.MILLISECONDS) + Message receivedMessage = messaging.receiveMessage('returnBook', 100, TimeUnit.MILLISECONDS) and: receivedMessage == null } diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/StubRunner.java b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/StubRunner.java index bfae9200a9..283ee60b9c 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/StubRunner.java +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/StubRunner.java @@ -52,13 +52,13 @@ public class StubRunner implements StubRunning { public StubRunner(StubRunnerOptions stubRunnerOptions, String repositoryPath, StubConfiguration stubsConfiguration, - ContractVerifierMessaging contractVerifierMessaging) { + ContractVerifierMessaging contractVerifierMessaging) { this.stubsConfiguration = stubsConfiguration; this.stubRunnerOptions = stubRunnerOptions; this.stubRepository = new StubRepository(new File(repositoryPath)); AvailablePortScanner portScanner = new AvailablePortScanner( stubRunnerOptions.getMinPortValue(), stubRunnerOptions.getMaxPortValue()); - this.localStubRunner = new StubRunnerExecutor(portScanner, (ContractVerifierMessaging) contractVerifierMessaging); + this.localStubRunner = new StubRunnerExecutor(portScanner, contractVerifierMessaging); } @Override diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/StubRunnerExecutor.java b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/StubRunnerExecutor.java index f82fbaaefa..920003c5aa 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/StubRunnerExecutor.java +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/StubRunnerExecutor.java @@ -32,7 +32,6 @@ import org.springframework.cloud.contract.spec.internal.DslProperty; import org.springframework.cloud.contract.spec.internal.Headers; import org.springframework.cloud.contract.spec.internal.OutputMessage; import org.springframework.cloud.contract.stubrunner.AvailablePortScanner.PortCallback; -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage; import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging; import org.springframework.cloud.contract.verifier.messaging.noop.NoOpContractVerifierMessaging; import org.springframework.cloud.contract.verifier.util.BodyExtractor; @@ -46,11 +45,11 @@ public class StubRunnerExecutor implements StubFinder { private static final Logger log = LoggerFactory.getLogger(StubRunnerExecutor.class); private final AvailablePortScanner portScanner; - private final ContractVerifierMessaging contractVerifierMessaging; + private final ContractVerifierMessaging contractVerifierMessaging; private StubServer stubServer; public StubRunnerExecutor(AvailablePortScanner portScanner, - ContractVerifierMessaging contractVerifierMessaging) { + ContractVerifierMessaging contractVerifierMessaging) { this.portScanner = portScanner; this.contractVerifierMessaging = contractVerifierMessaging; } @@ -177,11 +176,10 @@ public class StubRunnerExecutor implements StubFinder { } DslProperty body = outputMessage == null ? null : outputMessage.getBody(); Headers headers = outputMessage == null ? null : outputMessage.getHeaders(); - ContractVerifierMessage message = contractVerifierMessaging - .create(JsonOutput.toJson(BodyExtractor.extractClientValueFromBody( + contractVerifierMessaging.send( + JsonOutput.toJson(BodyExtractor.extractClientValueFromBody( body == null ? null : body.getClientValue())), - headers == null ? null : headers.asStubSideMap()); - contractVerifierMessaging.send(message, + headers == null ? null : headers.asStubSideMap(), outputMessage.getSentTo().getClientValue()); } diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/StubRunnerFactory.java b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/StubRunnerFactory.java index 704a96b9e1..f7f427b0d4 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/StubRunnerFactory.java +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/StubRunnerFactory.java @@ -31,11 +31,11 @@ public class StubRunnerFactory { private final StubRunnerOptions stubRunnerOptions; private final StubDownloader stubDownloader; - private final ContractVerifierMessaging contractVerifierMessaging; + private final ContractVerifierMessaging contractVerifierMessaging; public StubRunnerFactory(StubRunnerOptions stubRunnerOptions, StubDownloader stubDownloader, - ContractVerifierMessaging contractVerifierMessaging) { + ContractVerifierMessaging contractVerifierMessaging) { this.stubRunnerOptions = stubRunnerOptions; this.stubDownloader = stubDownloader; this.contractVerifierMessaging = contractVerifierMessaging; diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/StubRunnerMessagingTrigger.java b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/StubRunnerMessagingTrigger.java deleted file mode 100644 index f75a807e52..0000000000 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/StubRunnerMessagingTrigger.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2013-2016 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. - * 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.springframework.cloud.contract.stubrunner; - -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging; - -/** - * @author Marcin Grzejszczak - */ -class StubRunnerMessagingTrigger { - - private final ContractVerifierMessaging contractVerifierMessaging; - - StubRunnerMessagingTrigger(ContractVerifierMessaging contractVerifierMessaging) { - this.contractVerifierMessaging = contractVerifierMessaging; - } - - // def trigger -} diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/server/StubRunnerBackupAutoConfiguration.java b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/server/StubRunnerBackupAutoConfiguration.java index c04aad6482..e7194c9d76 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/server/StubRunnerBackupAutoConfiguration.java +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/server/StubRunnerBackupAutoConfiguration.java @@ -32,13 +32,13 @@ public class StubRunnerBackupAutoConfiguration { @Bean @ConditionalOnMissingBean - public ContractVerifierMessaging noOpContractVerifierMessaging() { + public ContractVerifierMessaging noOpContractVerifierMessaging() { return new NoOpContractVerifierMessaging(); } @Bean @ConditionalOnMissingBean - public ContractVerifierMessageBuilder noOpContractVerifierMessageBuilder() { + public ContractVerifierMessageBuilder noOpContractVerifierMessageBuilder() { return new NoOpContractVerifierMessageBuilder(); } } diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/spring/StubRunnerConfiguration.java b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/spring/StubRunnerConfiguration.java index aeed18a969..803afc0e01 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/spring/StubRunnerConfiguration.java +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/spring/StubRunnerConfiguration.java @@ -44,7 +44,7 @@ import org.springframework.core.io.Resource; public class StubRunnerConfiguration { @Autowired(required = false) - private ContractVerifierMessaging contractVerifierMessaging; + private ContractVerifierMessaging contractVerifierMessaging; @Autowired(required = false) private StubDownloader stubDownloader; @Autowired diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/StubRunnerExecutorSpec.groovy b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/StubRunnerExecutorSpec.groovy index ae78bc475f..c8a553a128 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/StubRunnerExecutorSpec.groovy +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/StubRunnerExecutorSpec.groovy @@ -17,13 +17,14 @@ package org.springframework.cloud.contract.stubrunner import groovy.json.JsonOutput -import org.springframework.cloud.contract.stubrunner.util.StubsParser -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging -import spock.lang.Specification import java.util.concurrent.TimeUnit +import org.springframework.cloud.contract.stubrunner.util.StubsParser +import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging + +import spock.lang.Specification + class StubRunnerExecutorSpec extends Specification { static final int MIN_PORT = 8999 @@ -98,39 +99,34 @@ class StubRunnerExecutorSpec extends Specification { } } - private class AssertingContractVerifierMessaging implements ContractVerifierMessaging { + private class AssertingContractVerifierMessaging implements ContractVerifierMessaging { @Override - void send(ContractVerifierMessage message, String destination) { + void send(Object message, String destination) { } @Override - ContractVerifierMessage receiveMessage(String destination, long timeout, TimeUnit timeUnit) { + Object receiveMessage(String destination, long timeout, TimeUnit timeUnit) { return null } @Override - ContractVerifierMessage receiveMessage(String destination) { + Object receiveMessage(String destination) { return null } @Override void send(Object o, Map headers, String destination) { - } @Override - ContractVerifierMessage create(Object o, Map headers) { + Object create(Object o, Map headers) { assert !(JsonOutput.toJson(o).contains("serverValue")) assert headers.entrySet().every { !(it.value.toString().contains("serverValue")) } return null } - @Override - ContractVerifierMessage create(Object o) { - return null - } } } diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-camel/src/main/java/org/springframework/cloud/contract/verifier/messaging/camel/CamelMessage.java b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-camel/src/main/java/org/springframework/cloud/contract/verifier/messaging/camel/CamelMessage.java deleted file mode 100644 index 1d4a94257d..0000000000 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-camel/src/main/java/org/springframework/cloud/contract/verifier/messaging/camel/CamelMessage.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright 2013-2016 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. - * 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.springframework.cloud.contract.verifier.messaging.camel; - -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage; -import org.apache.camel.Message; - -import java.util.Map; - -/** - * @author Marcin Grzejszczak - */ -public class CamelMessage implements ContractVerifierMessage { - - private final Message delegate; - - public CamelMessage(Message delegate) { - this.delegate = delegate; - } - - @Override - @SuppressWarnings("unchecked") - public T getPayload() { - return (T) delegate.getBody(); - } - - @Override - public Map getHeaders() { - return delegate.getHeaders(); - } - - @Override - public Object getHeader(String key) { - return getHeaders().get(key); - } - - @Override - public Message convert() { - return delegate; - } - -} diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-camel/src/main/java/org/springframework/cloud/contract/verifier/messaging/camel/ContractVerifierCamelConfiguration.java b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-camel/src/main/java/org/springframework/cloud/contract/verifier/messaging/camel/ContractVerifierCamelConfiguration.java index d66706c20d..4036457aa1 100644 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-camel/src/main/java/org/springframework/cloud/contract/verifier/messaging/camel/ContractVerifierCamelConfiguration.java +++ b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-camel/src/main/java/org/springframework/cloud/contract/verifier/messaging/camel/ContractVerifierCamelConfiguration.java @@ -17,6 +17,7 @@ package org.springframework.cloud.contract.verifier.messaging.camel; import org.apache.camel.CamelContext; +import org.apache.camel.Message; import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessageBuilder; import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging; import org.springframework.context.annotation.Bean; @@ -28,12 +29,12 @@ import org.springframework.context.annotation.Configuration; @Configuration public class ContractVerifierCamelConfiguration { - @Bean ContractVerifierMessaging contractVerifierMessaging(CamelContext context, - ContractVerifierMessageBuilder builder) { - return new ContractVerifierCamelMessaging<>(context, builder); + @Bean ContractVerifierMessaging contractVerifierMessaging(CamelContext context, + ContractVerifierMessageBuilder builder) { + return new ContractVerifierCamelMessaging(context, builder); } - @Bean ContractVerifierMessageBuilder contractVerifierMessageBuilder() { - return new ContractVerifierCamelMessageBuilder<>(); + @Bean ContractVerifierMessageBuilder contractVerifierMessageBuilder() { + return new ContractVerifierCamelMessageBuilder(); } } diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-camel/src/main/java/org/springframework/cloud/contract/verifier/messaging/camel/ContractVerifierCamelMessageBuilder.java b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-camel/src/main/java/org/springframework/cloud/contract/verifier/messaging/camel/ContractVerifierCamelMessageBuilder.java index 77aa4f2c91..a35e0052ca 100644 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-camel/src/main/java/org/springframework/cloud/contract/verifier/messaging/camel/ContractVerifierCamelMessageBuilder.java +++ b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-camel/src/main/java/org/springframework/cloud/contract/verifier/messaging/camel/ContractVerifierCamelMessageBuilder.java @@ -20,29 +20,20 @@ import java.util.Map; import org.apache.camel.Message; import org.apache.camel.impl.DefaultMessage; -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage; - import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessageBuilder; /** * @author Marcin Grzejszczak */ -public class ContractVerifierCamelMessageBuilder implements - ContractVerifierMessageBuilder { +public class ContractVerifierCamelMessageBuilder implements + ContractVerifierMessageBuilder { @Override - public ContractVerifierMessage create(T payload, Map headers) { + public Message create(T payload, Map headers) { DefaultMessage message = new DefaultMessage(); message.setBody(payload); message.setHeaders(headers); - return new CamelMessage<>(message); + return message; } - @Override - public ContractVerifierMessage create(Message message) { - if (message == null) { - return null; - } - return new CamelMessage<>(message); - } } diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-camel/src/main/java/org/springframework/cloud/contract/verifier/messaging/camel/ContractVerifierCamelMessaging.java b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-camel/src/main/java/org/springframework/cloud/contract/verifier/messaging/camel/ContractVerifierCamelMessaging.java index 14b0a7db36..d3b3d6d65a 100644 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-camel/src/main/java/org/springframework/cloud/contract/verifier/messaging/camel/ContractVerifierCamelMessaging.java +++ b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-camel/src/main/java/org/springframework/cloud/contract/verifier/messaging/camel/ContractVerifierCamelMessaging.java @@ -28,38 +28,36 @@ import org.apache.camel.impl.DefaultExchange; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessageBuilder; import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging; import org.springframework.stereotype.Component; -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage; -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessageBuilder; - /** * @author Marcin Grzejszczak */ @Component -public class ContractVerifierCamelMessaging implements - ContractVerifierMessaging { +public class ContractVerifierCamelMessaging implements + ContractVerifierMessaging { private static final Logger log = LoggerFactory.getLogger( ContractVerifierCamelMessaging.class); private final CamelContext context; - private final ContractVerifierMessageBuilder builder; + private final ContractVerifierMessageBuilder builder; @Autowired @SuppressWarnings("unchecked") - public ContractVerifierCamelMessaging(CamelContext context, ContractVerifierMessageBuilder contractVerifierMessageBuilder) { + public ContractVerifierCamelMessaging(CamelContext context, ContractVerifierMessageBuilder contractVerifierMessageBuilder) { this.context = context; this.builder = contractVerifierMessageBuilder; } @Override - public void send(ContractVerifierMessage message, String destination) { + public void send(Message message, String destination) { try { ProducerTemplate producerTemplate = context.createProducerTemplate(); Exchange exchange = new DefaultExchange(context); - exchange.setIn(message.convert()); + exchange.setIn(message); producerTemplate.send(destination, exchange); } catch (Exception e) { log.error("Exception occurred while trying to send a message [" + message + "] " + @@ -70,17 +68,17 @@ public class ContractVerifierCamelMessaging implements @Override @SuppressWarnings("unchecked") - public void send(T payload, Map headers, String destination) { + public void send(T payload, Map headers, String destination) { send(builder.create(payload, headers), destination); } @Override @SuppressWarnings("unchecked") - public ContractVerifierMessage receiveMessage(String destination, long timeout, TimeUnit timeUnit) { + public Message receiveMessage(String destination, long timeout, TimeUnit timeUnit) { try { ConsumerTemplate consumerTemplate = context.createConsumerTemplate(); Exchange exchange = consumerTemplate.receive(destination, timeUnit.toMillis(timeout)); - return builder.create(exchange.getIn()); + return exchange.getIn(); } catch (Exception e) { log.error("Exception occurred while trying to read a message from " + " a channel with name [" + destination + "]", e); @@ -89,19 +87,14 @@ public class ContractVerifierCamelMessaging implements } @Override - public ContractVerifierMessage receiveMessage(String destination) { + public Message receiveMessage(String destination) { return receiveMessage(destination, 5, TimeUnit.SECONDS); } @Override @SuppressWarnings("unchecked") - public ContractVerifierMessage create(T t, Map headers) { + public Message create(T t, Map headers) { return builder.create(t, headers); } - @Override - @SuppressWarnings("unchecked") - public ContractVerifierMessage create(Message message) { - return builder.create(message); - } } diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-integration/src/main/java/org/springframework/cloud/contract/verifier/messaging/integration/ContractVerifierIntegrationConfiguration.java b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-integration/src/main/java/org/springframework/cloud/contract/verifier/messaging/integration/ContractVerifierIntegrationConfiguration.java index d4bdde69a0..6b7ce9a583 100644 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-integration/src/main/java/org/springframework/cloud/contract/verifier/messaging/integration/ContractVerifierIntegrationConfiguration.java +++ b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-integration/src/main/java/org/springframework/cloud/contract/verifier/messaging/integration/ContractVerifierIntegrationConfiguration.java @@ -30,15 +30,15 @@ import org.springframework.messaging.Message; public class ContractVerifierIntegrationConfiguration { @Bean - public ContractVerifierMessaging> contractVerifierMessaging( + public ContractVerifierMessaging> contractVerifierMessaging( ApplicationContext applicationContext, - ContractVerifierMessageBuilder> contractVerifierMessageBuilder) { - return new ContractVerifierIntegrationMessaging(applicationContext, + ContractVerifierMessageBuilder> contractVerifierMessageBuilder) { + return new ContractVerifierIntegrationMessaging(applicationContext, contractVerifierMessageBuilder); } @Bean - public ContractVerifierMessageBuilder> contractVerifierMessageBuilder() { - return new ContractVerifierIntegrationMessageBuilder<>(); + public ContractVerifierMessageBuilder> contractVerifierMessageBuilder() { + return new ContractVerifierIntegrationMessageBuilder(); } } diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-integration/src/main/java/org/springframework/cloud/contract/verifier/messaging/integration/ContractVerifierIntegrationMessageBuilder.java b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-integration/src/main/java/org/springframework/cloud/contract/verifier/messaging/integration/ContractVerifierIntegrationMessageBuilder.java index 60f10b1493..c502ffb74c 100644 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-integration/src/main/java/org/springframework/cloud/contract/verifier/messaging/integration/ContractVerifierIntegrationMessageBuilder.java +++ b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-integration/src/main/java/org/springframework/cloud/contract/verifier/messaging/integration/ContractVerifierIntegrationMessageBuilder.java @@ -18,7 +18,6 @@ package org.springframework.cloud.contract.verifier.messaging.integration; import java.util.Map; -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage; import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessageBuilder; import org.springframework.messaging.Message; import org.springframework.messaging.MessageHeaders; @@ -27,19 +26,12 @@ import org.springframework.messaging.support.MessageBuilder; /** * @author Marcin Grzejszczak */ -public class ContractVerifierIntegrationMessageBuilder implements - ContractVerifierMessageBuilder> { +public class ContractVerifierIntegrationMessageBuilder implements + ContractVerifierMessageBuilder> { @Override - public ContractVerifierMessage> create(T payload, Map headers) { - return new IntegrationMessage<>(MessageBuilder.createMessage(payload, new MessageHeaders(headers))); + public Message create(T payload, Map headers) { + return MessageBuilder.createMessage(payload, new MessageHeaders(headers)); } - @Override - public ContractVerifierMessage> create(Message message) { - if (message == null) { - return null; - } - return new IntegrationMessage<>(message); - } } diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-integration/src/main/java/org/springframework/cloud/contract/verifier/messaging/integration/ContractVerifierIntegrationMessaging.java b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-integration/src/main/java/org/springframework/cloud/contract/verifier/messaging/integration/ContractVerifierIntegrationMessaging.java index 7572c70522..dc22e7b360 100644 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-integration/src/main/java/org/springframework/cloud/contract/verifier/messaging/integration/ContractVerifierIntegrationMessaging.java +++ b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-integration/src/main/java/org/springframework/cloud/contract/verifier/messaging/integration/ContractVerifierIntegrationMessaging.java @@ -22,7 +22,6 @@ import java.util.concurrent.TimeUnit; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage; import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessageBuilder; import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging; import org.springframework.context.ApplicationContext; @@ -35,31 +34,31 @@ import org.springframework.stereotype.Component; * @author Marcin Grzejszczak */ @Component -public class ContractVerifierIntegrationMessaging implements - ContractVerifierMessaging> { +public class ContractVerifierIntegrationMessaging implements + ContractVerifierMessaging> { private static final Logger log = LoggerFactory.getLogger( ContractVerifierIntegrationMessaging.class); private final ApplicationContext context; - private final ContractVerifierMessageBuilder> builder; + private final ContractVerifierMessageBuilder> builder; @Autowired - public ContractVerifierIntegrationMessaging(ApplicationContext context, ContractVerifierMessageBuilder> contractVerifierMessageBuilder) { + public ContractVerifierIntegrationMessaging(ApplicationContext context, ContractVerifierMessageBuilder> contractVerifierMessageBuilder) { this.context = context; this.builder = contractVerifierMessageBuilder; } @Override - public void send(T payload, Map headers, String destination) { - send(builder.create(payload, headers), destination); + public void send(T payload, Map headers, String destination) { + send(create(payload, headers), destination); } @Override - public void send(ContractVerifierMessage> message, String destination) { + public void send(Message message, String destination) { try { MessageChannel messageChannel = context.getBean(destination, MessageChannel.class); - messageChannel.send(message.convert()); + messageChannel.send(message); } catch (Exception e) { log.error("Exception occurred while trying to send a message [" + message + "] " + "to a channel with name [" + destination + "]", e); @@ -68,11 +67,10 @@ public class ContractVerifierIntegrationMessaging implements } @Override - @SuppressWarnings("unchecked") - public ContractVerifierMessage> receiveMessage(String destination, long timeout, TimeUnit timeUnit) { + public Message receiveMessage(String destination, long timeout, TimeUnit timeUnit) { try { PollableChannel messageChannel = context.getBean(destination, PollableChannel.class); - return builder.create((Message) messageChannel.receive(timeUnit.toMillis(timeout))); + return messageChannel.receive(timeUnit.toMillis(timeout)); } catch (Exception e) { log.error("Exception occurred while trying to read a message from " + " a channel with name [" + destination + "]", e); @@ -81,17 +79,13 @@ public class ContractVerifierIntegrationMessaging implements } @Override - public ContractVerifierMessage> receiveMessage(String destination) { + public Message receiveMessage(String destination) { return receiveMessage(destination, 5, TimeUnit.SECONDS); } @Override - public ContractVerifierMessage> create(T t, Map headers) { + public Message create(T t, Map headers) { return builder.create(t, headers); } - @Override - public ContractVerifierMessage> create(Message message) { - return builder.create(message); - } } diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-integration/src/main/java/org/springframework/cloud/contract/verifier/messaging/integration/IntegrationMessage.java b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-integration/src/main/java/org/springframework/cloud/contract/verifier/messaging/integration/IntegrationMessage.java deleted file mode 100644 index b75e92eb69..0000000000 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-integration/src/main/java/org/springframework/cloud/contract/verifier/messaging/integration/IntegrationMessage.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright 2013-2016 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. - * 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.springframework.cloud.contract.verifier.messaging.integration; - -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage; -import org.springframework.messaging.Message; -import org.springframework.messaging.MessageHeaders; - -/** - * @author Marcin Grzejszczak - */ -public class IntegrationMessage implements ContractVerifierMessage> { - - private final Message delegate; - - public IntegrationMessage(Message delegate) { - this.delegate = delegate; - } - - @Override - public T getPayload() { - return delegate.getPayload(); - } - - @Override - public MessageHeaders getHeaders() { - return delegate.getHeaders(); - } - - @Override - public Object getHeader(String key) { - return getHeaders().get(key); - } - - @Override - public Message convert() { - return delegate; - } - -} diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/ContractVerifierFilter.java b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/ContractVerifierFilter.java index 3c864f1bee..7c706a9786 100644 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/ContractVerifierFilter.java +++ b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/ContractVerifierFilter.java @@ -21,10 +21,10 @@ package org.springframework.cloud.contract.verifier.messaging; * * @author Marcin Grzejszczak */ -public interface ContractVerifierFilter { +public interface ContractVerifierFilter { /** * @return @{code true} if the message should be passed through, @{code false} if the message should be filtered out, */ - boolean matches(ContractVerifierMessage message); + boolean matches(M message); } diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/ContractVerifierMessage.java b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/ContractVerifierMessage.java deleted file mode 100644 index c8510cd526..0000000000 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/ContractVerifierMessage.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 2013-2016 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. - * 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.springframework.cloud.contract.verifier.messaging; - -import java.util.Map; - -/** - * Describes a message. Contains payload and headers. A message can be converted - * to another type (e.g. Spring Messaging Message) - * - * @author Marcin Grzejszczak - */ -public interface ContractVerifierMessage { - - /** - * Returns a payload of type {@code PAYLOAD} - */ - PAYLOAD getPayload(); - - /** - * Returns a map of headers - */ - Map getHeaders(); - - /** - * Returns a header for a given key - */ - Object getHeader(String key); - - /** - * Converts the message to {@code TYPE_TO_CONVERT_INTO} type - */ - TYPE_TO_CONVERT_INTO convert(); -} diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/ContractVerifierMessageBuilder.java b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/ContractVerifierMessageBuilder.java index 7325ac29de..e44fb310f1 100644 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/ContractVerifierMessageBuilder.java +++ b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/ContractVerifierMessageBuilder.java @@ -24,15 +24,11 @@ import java.util.Map; * * @author Marcin Grzejszczak */ -public interface ContractVerifierMessageBuilder { +public interface ContractVerifierMessageBuilder { /** * Creates a {@link ContractVerifierMessage} from payload and headers */ - ContractVerifierMessage create(PAYLOAD payload, Map headers); + M create(T payload, Map headers); - /** - * Creates a {@link ContractVerifierMessage} from the {@code TYPE_TO_CONVERT_INTO} type - */ - ContractVerifierMessage create(TYPE_TO_CONVERT_INTO typeToConvertInto); } diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/ContractVerifierMessaging.java b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/ContractVerifierMessaging.java index 01c377aa8f..b46eb48f1d 100644 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/ContractVerifierMessaging.java +++ b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/ContractVerifierMessaging.java @@ -26,26 +26,26 @@ import java.util.concurrent.TimeUnit; * * @author Marcin Grzejszczak */ -public interface ContractVerifierMessaging extends - ContractVerifierMessageBuilder { +public interface ContractVerifierMessaging extends + ContractVerifierMessageBuilder { /** * Sends the {@link ContractVerifierMessage} to the given destination. */ - void send(ContractVerifierMessage message, String destination); + void send(M message, String destination); /** * Sends the given payload with headers, to the given destination. */ - void send(PAYLOAD payload, Map headers, String destination); + void send(T payload, Map headers, String destination); /** * Receives the {@link ContractVerifierMessage} from the given destination. You can provide the timeout * for receiving that message. */ - ContractVerifierMessage receiveMessage(String destination, long timeout, TimeUnit timeUnit); + M receiveMessage(String destination, long timeout, TimeUnit timeUnit); /** * Receives the {@link ContractVerifierMessage} from the given destination. A default timeout will be applied. */ - ContractVerifierMessage receiveMessage(String destination); + M receiveMessage(String destination); } diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/noop/NoOpContractVerifierMessage.java b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/noop/NoOpContractVerifierMessage.java deleted file mode 100644 index c7c37514d5..0000000000 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/noop/NoOpContractVerifierMessage.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 2013-2016 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. - * 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.springframework.cloud.contract.verifier.messaging.noop; - -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage; - -import java.util.Map; - -/** - * @author Marcin Grzejszczak - */ -public class NoOpContractVerifierMessage implements ContractVerifierMessage { - @Override - public Object getPayload() { - return null; - } - - @Override - public Map getHeaders() { - return null; - } - - @Override - public Object getHeader(String key) { - return null; - } - - @Override - public Object convert() { - return null; - } -} diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/noop/NoOpContractVerifierMessageBuilder.java b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/noop/NoOpContractVerifierMessageBuilder.java index edd9a3142c..39e1a3c10b 100644 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/noop/NoOpContractVerifierMessageBuilder.java +++ b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/noop/NoOpContractVerifierMessageBuilder.java @@ -18,21 +18,17 @@ package org.springframework.cloud.contract.verifier.messaging.noop; import java.util.Map; -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage; import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessageBuilder; /** * @author Marcin Grzejszczak */ public class NoOpContractVerifierMessageBuilder - implements ContractVerifierMessageBuilder { - @Override - public ContractVerifierMessage create(Object o, Map headers) { - return new NoOpContractVerifierMessage(); - } + implements ContractVerifierMessageBuilder { @Override - public ContractVerifierMessage create(Object o) { - return new NoOpContractVerifierMessage(); + public Object create(T o, Map headers) { + return o; } + } diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/noop/NoOpContractVerifierMessaging.java b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/noop/NoOpContractVerifierMessaging.java index da28a92d56..6b6bc56ff2 100644 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/noop/NoOpContractVerifierMessaging.java +++ b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-messaging-core/src/main/java/org/springframework/cloud/contract/verifier/messaging/noop/NoOpContractVerifierMessaging.java @@ -19,40 +19,33 @@ package org.springframework.cloud.contract.verifier.messaging.noop; import java.util.Map; import java.util.concurrent.TimeUnit; -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage; import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging; /** * @author Marcin Grzejszczak */ -public class NoOpContractVerifierMessaging implements ContractVerifierMessaging { +public class NoOpContractVerifierMessaging implements ContractVerifierMessaging { @Override - public void send(ContractVerifierMessage message, String destination) { - + public void send(Object message, String destination) { } @Override - public void send(Object payload, Map headers, String destination) { - + public void send(T payload, Map headers, String destination) { } @Override - public ContractVerifierMessage receiveMessage(String destination, long timeout, TimeUnit timeUnit) { + public Object receiveMessage(String destination, long timeout, TimeUnit timeUnit) { return null; } @Override - public ContractVerifierMessage receiveMessage(String destination) { + public Object receiveMessage(String destination) { return null; } @Override - public ContractVerifierMessage create(Object o, Map headers) { - return null; + public Object create(T o, Map headers) { + return o; } - @Override - public ContractVerifierMessage create(Object o) { - return null; - } } diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-stream/src/main/java/org/springframework/cloud/contract/verifier/messaging/stream/ContractVerifierStreamAutoConfiguration.java b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-stream/src/main/java/org/springframework/cloud/contract/verifier/messaging/stream/ContractVerifierStreamAutoConfiguration.java index 3ec4fbb315..22686a8c6c 100644 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-stream/src/main/java/org/springframework/cloud/contract/verifier/messaging/stream/ContractVerifierStreamAutoConfiguration.java +++ b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-stream/src/main/java/org/springframework/cloud/contract/verifier/messaging/stream/ContractVerifierStreamAutoConfiguration.java @@ -30,15 +30,15 @@ import org.springframework.messaging.Message; public class ContractVerifierStreamAutoConfiguration { @Bean - ContractVerifierMessaging contractVerifierMessaging( + ContractVerifierMessaging> contractVerifierMessaging( ApplicationContext applicationContext, - ContractVerifierMessageBuilder> contractVerifierMessageBuilder) { - return new ContractVerifierStreamMessaging(applicationContext, + ContractVerifierMessageBuilder> contractVerifierMessageBuilder) { + return new ContractVerifierStreamMessaging(applicationContext, contractVerifierMessageBuilder); } @Bean - ContractVerifierMessageBuilder contractVerifierMessageBuilder() { - return new ContractVerifierStreamMessageBuilder<>(); + ContractVerifierMessageBuilder> contractVerifierMessageBuilder() { + return new ContractVerifierStreamMessageBuilder(); } } diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-stream/src/main/java/org/springframework/cloud/contract/verifier/messaging/stream/ContractVerifierStreamMessageBuilder.java b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-stream/src/main/java/org/springframework/cloud/contract/verifier/messaging/stream/ContractVerifierStreamMessageBuilder.java index 90270657b4..0ff7d77b84 100644 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-stream/src/main/java/org/springframework/cloud/contract/verifier/messaging/stream/ContractVerifierStreamMessageBuilder.java +++ b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-stream/src/main/java/org/springframework/cloud/contract/verifier/messaging/stream/ContractVerifierStreamMessageBuilder.java @@ -23,24 +23,15 @@ import org.springframework.messaging.Message; import org.springframework.messaging.MessageHeaders; import org.springframework.messaging.support.MessageBuilder; -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage; - /** * @author Marcin Grzejszczak */ -public class ContractVerifierStreamMessageBuilder implements - ContractVerifierMessageBuilder> { +public class ContractVerifierStreamMessageBuilder implements + ContractVerifierMessageBuilder> { @Override - public ContractVerifierMessage> create(T payload, Map headers) { - return new StreamMessage<>(MessageBuilder.createMessage(payload, new MessageHeaders(headers))); + public Message create(T payload, Map headers) { + return MessageBuilder.createMessage(payload, new MessageHeaders(headers)); } - @Override - public ContractVerifierMessage> create(Message message) { - if (message == null) { - return null; - } - return new StreamMessage<>(message); - } } diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-stream/src/main/java/org/springframework/cloud/contract/verifier/messaging/stream/ContractVerifierStreamMessaging.java b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-stream/src/main/java/org/springframework/cloud/contract/verifier/messaging/stream/ContractVerifierStreamMessaging.java index ea47534558..d30d312e29 100644 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-stream/src/main/java/org/springframework/cloud/contract/verifier/messaging/stream/ContractVerifierStreamMessaging.java +++ b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-stream/src/main/java/org/springframework/cloud/contract/verifier/messaging/stream/ContractVerifierStreamMessaging.java @@ -22,7 +22,6 @@ import java.util.concurrent.TimeUnit; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage; import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessageBuilder; import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging; import org.springframework.cloud.stream.config.BindingProperties; @@ -35,32 +34,32 @@ import org.springframework.messaging.MessageChannel; /** * @author Marcin Grzejszczak */ -public class ContractVerifierStreamMessaging implements - ContractVerifierMessaging> { +public class ContractVerifierStreamMessaging implements + ContractVerifierMessaging> { private static final Logger log = LoggerFactory.getLogger(ContractVerifierStreamMessaging.class); private final ApplicationContext context; private final MessageCollector messageCollector; - private final ContractVerifierMessageBuilder> builder; + private final ContractVerifierMessageBuilder> builder; @Autowired - public ContractVerifierStreamMessaging(ApplicationContext context, ContractVerifierMessageBuilder> builder) { + public ContractVerifierStreamMessaging(ApplicationContext context, ContractVerifierMessageBuilder> builder) { this.context = context; this.messageCollector = context.getBean(MessageCollector.class); this.builder = builder; } @Override - public void send(T payload, Map headers, String destination) { + public void send(T payload, Map headers, String destination) { send(builder.create(payload, headers), destination); } @Override - public void send(ContractVerifierMessage> message, String destination) { + public void send(Message message, String destination) { try { MessageChannel messageChannel = context.getBean(resolvedDestination(destination), MessageChannel.class); - messageChannel.send(message.convert()); + messageChannel.send(message); } catch (Exception e) { log.error("Exception occurred while trying to send a message [" + message + "] " + "to a channel with name [" + destination + "]", e); @@ -69,11 +68,10 @@ public class ContractVerifierStreamMessaging implements } @Override - @SuppressWarnings("unchecked") - public ContractVerifierMessage> receiveMessage(String destination, long timeout, TimeUnit timeUnit) { + public Message receiveMessage(String destination, long timeout, TimeUnit timeUnit) { try { MessageChannel messageChannel = context.getBean(resolvedDestination(destination), MessageChannel.class); - return builder.create((Message) messageCollector.forChannel(messageChannel).poll(timeout, timeUnit)); + return messageCollector.forChannel(messageChannel).poll(timeout, timeUnit); } catch (Exception e) { log.error("Exception occurred while trying to read a message from " + " a channel with name [" + destination + "]", e); @@ -95,17 +93,13 @@ public class ContractVerifierStreamMessaging implements } @Override - public ContractVerifierMessage> receiveMessage(String destination) { + public Message receiveMessage(String destination) { return receiveMessage(destination, 5, TimeUnit.SECONDS); } @Override - public ContractVerifierMessage> create(T t, Map headers) { + public Message create(T t, Map headers) { return builder.create(t, headers); } - @Override - public ContractVerifierMessage> create(Message message) { - return builder.create(message); - } } diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-stream/src/main/java/org/springframework/cloud/contract/verifier/messaging/stream/StreamMessage.java b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-stream/src/main/java/org/springframework/cloud/contract/verifier/messaging/stream/StreamMessage.java deleted file mode 100644 index 7582daf46a..0000000000 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-messaging/spring-cloud-contract-verifier-stream/src/main/java/org/springframework/cloud/contract/verifier/messaging/stream/StreamMessage.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright 2013-2016 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. - * 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.springframework.cloud.contract.verifier.messaging.stream; - -import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage; -import org.springframework.messaging.Message; -import org.springframework.messaging.MessageHeaders; - -/** - * @author Marcin Grzejszczak - */ -public class StreamMessage implements ContractVerifierMessage> { - - private final Message delegate; - - public StreamMessage(Message delegate) { - this.delegate = delegate; - } - - @Override - public T getPayload() { - return delegate.getPayload(); - } - - @Override - public MessageHeaders getHeaders() { - return delegate.getHeaders(); - } - - @Override - public Object getHeader(String key) { - return getHeaders().get(key); - } - - @Override - public Message convert() { - return delegate; - } - -}