Trying to fix bean types for messaging
This commit is contained in:
@@ -16,17 +16,21 @@
|
||||
|
||||
package org.springframework.cloud.contract.verifier.messaging.camel;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.apache.camel.CamelContext;
|
||||
import org.apache.camel.ConsumerTemplate;
|
||||
import org.apache.camel.Message;
|
||||
import org.apache.camel.ProducerTemplate;
|
||||
import org.apache.camel.spring.boot.CamelAutoConfiguration;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.cloud.contract.verifier.messaging.MessageVerifier;
|
||||
import org.springframework.cloud.contract.verifier.converter.YamlContract;
|
||||
import org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver;
|
||||
import org.springframework.cloud.contract.verifier.messaging.MessageVerifierSender;
|
||||
import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierMessage;
|
||||
@@ -48,15 +52,46 @@ import org.springframework.context.annotation.Import;
|
||||
public class ContractVerifierCamelConfiguration {
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
MessageVerifier<Message> contractVerifierMessageExchange(CamelContext camelContext,
|
||||
@ConditionalOnMissingBean(MessageVerifierSender.class)
|
||||
MessageVerifierSender<Message> camelContractVerifierMessageSender(CamelContext camelContext,
|
||||
ProducerTemplate producerTemplate, ConsumerTemplate consumerTemplate) {
|
||||
return new CamelStubMessages(camelContext, producerTemplate, consumerTemplate);
|
||||
CamelStubMessages camelStubMessages = new CamelStubMessages(camelContext, producerTemplate, consumerTemplate);
|
||||
return new MessageVerifierSender<>() {
|
||||
@Override
|
||||
public void send(Message message, String destination, @Nullable YamlContract contract) {
|
||||
camelStubMessages.send(message, destination, contract);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void send(T payload, Map<String, Object> headers, String destination,
|
||||
@Nullable YamlContract contract) {
|
||||
camelStubMessages.send(payload, headers, destination, contract);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
public ContractVerifierMessaging<Message> contractVerifierMessaging(MessageVerifierSender<Message> sender,
|
||||
@ConditionalOnMissingBean(MessageVerifierReceiver.class)
|
||||
MessageVerifierReceiver<Message> camelContractVerifierMessageReceiver(CamelContext camelContext,
|
||||
ProducerTemplate producerTemplate, ConsumerTemplate consumerTemplate) {
|
||||
CamelStubMessages camelStubMessages = new CamelStubMessages(camelContext, producerTemplate, consumerTemplate);
|
||||
return new MessageVerifierReceiver<>() {
|
||||
@Override
|
||||
public Message receive(String destination, long timeout, TimeUnit timeUnit,
|
||||
@Nullable YamlContract contract) {
|
||||
return camelStubMessages.receive(destination, timeout, timeUnit, contract);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Message receive(String destination, YamlContract contract) {
|
||||
return camelStubMessages.receive(destination, contract);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean(ContractVerifierMessaging.class)
|
||||
public ContractVerifierMessaging<Message> camelContractVerifierMessaging(MessageVerifierSender<Message> sender,
|
||||
MessageVerifierReceiver<Message> receiver) {
|
||||
return new ContractVerifierCamelHelper(sender, receiver);
|
||||
}
|
||||
|
||||
@@ -16,11 +16,16 @@
|
||||
|
||||
package org.springframework.cloud.contract.verifier.messaging.integration;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
import org.springframework.cloud.contract.verifier.messaging.MessageVerifier;
|
||||
import org.springframework.cloud.contract.verifier.converter.YamlContract;
|
||||
import org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver;
|
||||
import org.springframework.cloud.contract.verifier.messaging.MessageVerifierSender;
|
||||
import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierMessage;
|
||||
@@ -42,15 +47,45 @@ import org.springframework.messaging.Message;
|
||||
public class ContractVerifierIntegrationConfiguration {
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
public MessageVerifier<Message<?>> contractVerifierMessageExchange(ApplicationContext applicationContext) {
|
||||
return new SpringIntegrationStubMessages(applicationContext);
|
||||
@ConditionalOnMissingBean(MessageVerifierSender.class)
|
||||
public MessageVerifierSender<Message<?>> integrationContractVerifierMessageSender(
|
||||
ApplicationContext applicationContext) {
|
||||
SpringIntegrationStubMessages springIntegrationStubMessages = new SpringIntegrationStubMessages(applicationContext);
|
||||
return new MessageVerifierSender<>() {
|
||||
@Override
|
||||
public void send(Message<?> message, String destination, @Nullable YamlContract contract) {
|
||||
springIntegrationStubMessages.send(message, destination, contract);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void send(T payload, Map<String, Object> headers, String destination, @Nullable YamlContract contract) {
|
||||
springIntegrationStubMessages.send(payload, headers, destination, contract);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
public ContractVerifierMessaging<Message<?>> contractVerifierMessaging(MessageVerifierSender<Message<?>> sender,
|
||||
MessageVerifierReceiver<Message<?>> receiver) {
|
||||
@ConditionalOnMissingBean(MessageVerifierReceiver.class)
|
||||
public MessageVerifierReceiver<Message<?>> integrationContractVerifierMessageReceiver(
|
||||
ApplicationContext applicationContext) {
|
||||
SpringIntegrationStubMessages springIntegrationStubMessages = new SpringIntegrationStubMessages(applicationContext);
|
||||
return new MessageVerifierReceiver<>() {
|
||||
@Override
|
||||
public Message<?> receive(String destination, long timeout, TimeUnit timeUnit, @Nullable YamlContract contract) {
|
||||
return springIntegrationStubMessages.receive(destination, timeout, timeUnit, contract);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Message<?> receive(String destination, YamlContract contract) {
|
||||
return springIntegrationStubMessages.receive(destination, contract);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean(ContractVerifierMessaging.class)
|
||||
public ContractVerifierMessaging<Message<?>> integrationContractVerifierMessaging(
|
||||
MessageVerifierSender<Message<?>> sender, MessageVerifierReceiver<Message<?>> receiver) {
|
||||
return new ContractVerifierHelper(sender, receiver);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,7 +22,6 @@ import java.util.concurrent.TimeUnit;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.cloud.contract.verifier.converter.YamlContract;
|
||||
import org.springframework.cloud.contract.verifier.messaging.MessageVerifier;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
@@ -41,7 +40,6 @@ public class SpringIntegrationStubMessages implements MessageVerifier<Message<?>
|
||||
|
||||
private final ContractVerifierIntegrationMessageBuilder builder = new ContractVerifierIntegrationMessageBuilder();
|
||||
|
||||
@Autowired
|
||||
public SpringIntegrationStubMessages(ApplicationContext context) {
|
||||
this.context = context;
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ package org.springframework.cloud.contract.verifier.messaging.jms;
|
||||
import java.util.Enumeration;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import jakarta.jms.JMSException;
|
||||
import jakarta.jms.Message;
|
||||
@@ -27,13 +28,14 @@ import jakarta.jms.StreamMessage;
|
||||
import jakarta.jms.TextMessage;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import org.springframework.beans.factory.ObjectProvider;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.cloud.contract.verifier.messaging.MessageVerifier;
|
||||
import org.springframework.cloud.contract.verifier.converter.YamlContract;
|
||||
import org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver;
|
||||
import org.springframework.cloud.contract.verifier.messaging.MessageVerifierSender;
|
||||
import org.springframework.cloud.contract.verifier.messaging.integration.ContractVerifierIntegrationConfiguration;
|
||||
@@ -54,14 +56,44 @@ import org.springframework.jms.core.JmsTemplate;
|
||||
public class ContractVerifierJmsConfiguration {
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
MessageVerifier<Message> contractVerifierJmsMessageExchange(ObjectProvider<JmsTemplate> jmsTemplateProvider) {
|
||||
@ConditionalOnMissingBean(MessageVerifierSender.class)
|
||||
MessageVerifierSender<Message> contractVerifierJmsMessageSender(ObjectProvider<JmsTemplate> jmsTemplateProvider) {
|
||||
JmsTemplate jmsTemplate = jmsTemplateProvider.getIfAvailable(JmsTemplate::new);
|
||||
return new JmsStubMessages(jmsTemplate);
|
||||
JmsStubMessages jmsStubMessages = new JmsStubMessages(jmsTemplate);
|
||||
return new MessageVerifierSender<>() {
|
||||
@Override
|
||||
public void send(Message message, String destination, @Nullable YamlContract contract) {
|
||||
jmsStubMessages.send(message, destination, contract);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void send(T payload, Map<String, Object> headers, String destination, @Nullable YamlContract contract) {
|
||||
jmsStubMessages.send(payload, headers, destination, contract);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
@ConditionalOnMissingBean(MessageVerifierReceiver.class)
|
||||
MessageVerifierReceiver<Message> contractVerifierJmsMessageReceiver(
|
||||
ObjectProvider<JmsTemplate> jmsTemplateProvider) {
|
||||
JmsTemplate jmsTemplate = jmsTemplateProvider.getIfAvailable(JmsTemplate::new);
|
||||
JmsStubMessages jmsStubMessages = new JmsStubMessages(jmsTemplate);
|
||||
return new MessageVerifierReceiver<>() {
|
||||
@Override
|
||||
public Message receive(String destination, long timeout, TimeUnit timeUnit, @Nullable YamlContract contract) {
|
||||
return jmsStubMessages.receive(destination, timeout, timeUnit, contract);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Message receive(String destination, YamlContract contract) {
|
||||
return jmsStubMessages.receive(destination, contract);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean(ContractVerifierMessaging.class)
|
||||
ContractVerifierMessaging<Message> contractVerifierJmsMessaging(MessageVerifierSender<Message> sender,
|
||||
MessageVerifierReceiver<Message> receiver) {
|
||||
return new ContractVerifierJmsHelper(sender, receiver);
|
||||
|
||||
@@ -16,12 +16,18 @@
|
||||
|
||||
package org.springframework.cloud.contract.verifier.messaging.noop;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import org.springframework.beans.factory.ObjectProvider;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigureOrder;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
import org.springframework.cloud.contract.verifier.messaging.MessageVerifier;
|
||||
import org.springframework.cloud.contract.verifier.converter.YamlContract;
|
||||
import org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver;
|
||||
import org.springframework.cloud.contract.verifier.messaging.MessageVerifierSender;
|
||||
import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierMessaging;
|
||||
import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierObjectMapper;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
@@ -38,15 +44,45 @@ import org.springframework.core.Ordered;
|
||||
public class NoOpContractVerifierAutoConfiguration {
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean(MessageVerifier.class)
|
||||
public NoOpStubMessages<Object> contractVerifierMessageExchange() {
|
||||
return new NoOpStubMessages<>();
|
||||
@ConditionalOnMissingBean(MessageVerifierSender.class)
|
||||
public MessageVerifierSender<Object> noOpContractVerifierMessageSender() {
|
||||
NoOpStubMessages<Object> noOpStubMessages = new NoOpStubMessages<>();
|
||||
return new MessageVerifierSender<>() {
|
||||
|
||||
@Override
|
||||
public void send(Object message, String destination, @Nullable YamlContract contract) {
|
||||
noOpStubMessages.send(message, destination, contract);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void send(T payload, Map<String, Object> headers, String destination, @Nullable YamlContract contract) {
|
||||
noOpStubMessages.send(payload, headers, destination, contract);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean(MessageVerifierReceiver.class)
|
||||
public MessageVerifierReceiver<Object> noOpContractVerifierMessageReceiver() {
|
||||
NoOpStubMessages<Object> noOpStubMessages = new NoOpStubMessages<>();
|
||||
return new MessageVerifierReceiver<>() {
|
||||
|
||||
@Override
|
||||
public Object receive(String destination, long timeout, TimeUnit timeUnit, @Nullable YamlContract contract) {
|
||||
return noOpStubMessages.receive(destination, timeout, timeUnit, contract);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object receive(String destination, YamlContract contract) {
|
||||
return noOpStubMessages.receive(destination, contract);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean(ContractVerifierMessaging.class)
|
||||
public ContractVerifierMessaging<Object> contractVerifierMessaging(NoOpStubMessages<Object> messages) {
|
||||
return new ContractVerifierMessaging<>(messages, messages);
|
||||
public ContractVerifierMessaging<Object> contractVerifierMessaging() {
|
||||
return new ContractVerifierMessaging<>(new NoOpStubMessages<>(), new NoOpStubMessages<>());
|
||||
}
|
||||
|
||||
@Bean
|
||||
|
||||
@@ -16,11 +16,16 @@
|
||||
|
||||
package org.springframework.cloud.contract.verifier.messaging.stream;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.cloud.contract.verifier.messaging.MessageVerifier;
|
||||
import org.springframework.cloud.contract.verifier.converter.YamlContract;
|
||||
import org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver;
|
||||
import org.springframework.cloud.contract.verifier.messaging.MessageVerifierSender;
|
||||
import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierMessage;
|
||||
@@ -44,8 +49,8 @@ import org.springframework.util.Assert;
|
||||
public class ContractVerifierStreamAutoConfiguration {
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
public ContractVerifierMessaging<?> contractVerifierMessagingConverter(MessageVerifierSender<Message<?>> sender,
|
||||
@ConditionalOnMissingBean(ContractVerifierMessaging.class)
|
||||
public ContractVerifierMessaging<?> streamContractVerifierMessaging(MessageVerifierSender<Message<?>> sender,
|
||||
MessageVerifierReceiver<Message<?>> receiver) {
|
||||
return new ContractVerifierHelper(sender, receiver);
|
||||
}
|
||||
@@ -55,10 +60,41 @@ public class ContractVerifierStreamAutoConfiguration {
|
||||
static class InputDestinationConfiguration {
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
MessageVerifier<Message<?>> contractVerifierMessageExchangeWithDestinations(ApplicationContext context) {
|
||||
return new StreamStubMessages(new StreamInputDestinationMessageSender(context),
|
||||
@ConditionalOnMissingBean(MessageVerifierSender.class)
|
||||
MessageVerifierSender<Message<?>> streamContractVerifierMessageSenderExchangeWithDestinations(
|
||||
ApplicationContext context) {
|
||||
StreamStubMessages stubMessages = new StreamStubMessages(new StreamInputDestinationMessageSender(context),
|
||||
new StreamOutputDestinationMessageReceiver(context));
|
||||
return new MessageVerifierSender<>() {
|
||||
@Override
|
||||
public void send(Message<?> message, String destination, @Nullable YamlContract contract) {
|
||||
stubMessages.send(message, destination, contract);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void send(T payload, Map<String, Object> headers, String destination, @Nullable YamlContract contract) {
|
||||
stubMessages.send(payload, headers, destination, contract);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean(MessageVerifierReceiver.class)
|
||||
MessageVerifierReceiver<Message<?>> streamContractVerifierMessageReceiverExchangeWithDestinations(
|
||||
ApplicationContext context) {
|
||||
StreamStubMessages stubMessages = new StreamStubMessages(new StreamInputDestinationMessageSender(context),
|
||||
new StreamOutputDestinationMessageReceiver(context));
|
||||
return new MessageVerifierReceiver<>() {
|
||||
@Override
|
||||
public Message<?> receive(String destination, long timeout, TimeUnit timeUnit, @Nullable YamlContract contract) {
|
||||
return stubMessages.receive(destination, timeout, timeUnit, contract);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Message<?> receive(String destination, YamlContract contract) {
|
||||
return stubMessages.receive(destination, contract);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user