From 09b60220d8ba6284066b4b8fafab6171dd35811e Mon Sep 17 00:00:00 2001 From: Sam Brannen Date: Mon, 6 Mar 2023 15:32:07 +0100 Subject: [PATCH] Apply "instanceof pattern matching" in remainder of spring-jms module See gh-30067 --- .../java/org/springframework/jms/core/JmsTemplate.java | 7 +++++-- .../jms/listener/adapter/MessageListenerAdapter.java | 8 ++++---- .../jms/support/converter/MessagingMessageConverter.java | 9 ++++----- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/spring-jms/src/main/java/org/springframework/jms/core/JmsTemplate.java b/spring-jms/src/main/java/org/springframework/jms/core/JmsTemplate.java index 213d6e8e42..12a3231e46 100644 --- a/spring-jms/src/main/java/org/springframework/jms/core/JmsTemplate.java +++ b/spring-jms/src/main/java/org/springframework/jms/core/JmsTemplate.java @@ -179,11 +179,14 @@ public class JmsTemplate extends JmsDestinationAccessor implements JmsOperations @Nullable private Queue getDefaultQueue() { Destination defaultDestination = getDefaultDestination(); - if (defaultDestination != null && !(defaultDestination instanceof Queue)) { + if (defaultDestination == null) { + return null; + } + if (!(defaultDestination instanceof Queue queue)) { throw new IllegalStateException( "'defaultDestination' does not correspond to a Queue. Check configuration of JmsTemplate."); } - return (Queue) defaultDestination; + return queue; } /** diff --git a/spring-jms/src/main/java/org/springframework/jms/listener/adapter/MessageListenerAdapter.java b/spring-jms/src/main/java/org/springframework/jms/listener/adapter/MessageListenerAdapter.java index e361273c5a..9519785c0a 100644 --- a/spring-jms/src/main/java/org/springframework/jms/listener/adapter/MessageListenerAdapter.java +++ b/spring-jms/src/main/java/org/springframework/jms/listener/adapter/MessageListenerAdapter.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2023 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. @@ -197,15 +197,15 @@ public class MessageListenerAdapter extends AbstractAdaptableMessageListener imp * @throws JMSException if thrown by JMS API methods */ @Override - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "rawtypes" }) public void onMessage(Message message, @Nullable Session session) throws JMSException { // Check whether the delegate is a MessageListener impl itself. // In that case, the adapter will simply act as a pass-through. Object delegate = getDelegate(); if (delegate != this) { - if (delegate instanceof SessionAwareMessageListener) { + if (delegate instanceof SessionAwareMessageListener samListener) { Assert.state(session != null, "Session is required for SessionAwareMessageListener"); - ((SessionAwareMessageListener) delegate).onMessage(message, session); + samListener.onMessage(message, session); return; } if (delegate instanceof MessageListener listener) { diff --git a/spring-jms/src/main/java/org/springframework/jms/support/converter/MessagingMessageConverter.java b/spring-jms/src/main/java/org/springframework/jms/support/converter/MessagingMessageConverter.java index fdf54e4f79..8e5b8c20a2 100644 --- a/spring-jms/src/main/java/org/springframework/jms/support/converter/MessagingMessageConverter.java +++ b/spring-jms/src/main/java/org/springframework/jms/support/converter/MessagingMessageConverter.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2023 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. @@ -112,14 +112,13 @@ public class MessagingMessageConverter implements MessageConverter, Initializing return reply; } - @SuppressWarnings("unchecked") @Override + @SuppressWarnings({ "unchecked", "rawtypes" }) public Object fromMessage(jakarta.jms.Message message) throws JMSException, MessageConversionException { Map mappedHeaders = extractHeaders(message); Object convertedObject = extractPayload(message); - MessageBuilder builder = (convertedObject instanceof org.springframework.messaging.Message ? - MessageBuilder.fromMessage((org.springframework.messaging.Message) convertedObject) : - MessageBuilder.withPayload(convertedObject)); + MessageBuilder builder = (convertedObject instanceof org.springframework.messaging.Message springMessage ? + MessageBuilder.fromMessage(springMessage) : MessageBuilder.withPayload(convertedObject)); return builder.copyHeadersIfAbsent(mappedHeaders).build(); }