From d23b033f61ab42d3dec860cbd5bf9831bb3b133f Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Wed, 1 Oct 2014 01:20:01 +0200 Subject: [PATCH] Polishing --- .../annotation/MBeanExportConfiguration.java | 9 ++++--- .../context/support/LiveBeansView.java | 2 ++ .../WebSphereMBeanServerFactoryBean.java | 8 +++--- .../json/Jackson2ObjectMapperFactoryBean.java | 26 +++++++++---------- .../request/async/WebAsyncManager.java | 4 +-- .../Jackson2ObjectMapperFactoryBeanTests.java | 11 ++++---- .../WebSocketMessageBrokerConfigurer.java | 20 +++++++------- 7 files changed, 41 insertions(+), 39 deletions(-) diff --git a/spring-context/src/main/java/org/springframework/context/annotation/MBeanExportConfiguration.java b/spring-context/src/main/java/org/springframework/context/annotation/MBeanExportConfiguration.java index f068e6fe4b..24d1df2b63 100644 --- a/spring-context/src/main/java/org/springframework/context/annotation/MBeanExportConfiguration.java +++ b/spring-context/src/main/java/org/springframework/context/annotation/MBeanExportConfiguration.java @@ -32,7 +32,6 @@ import org.springframework.jmx.export.annotation.AnnotationMBeanExporter; import org.springframework.jmx.support.RegistrationPolicy; import org.springframework.jmx.support.WebSphereMBeanServerFactoryBean; import org.springframework.jndi.JndiLocatorDelegate; -import org.springframework.util.Assert; import org.springframework.util.ClassUtils; import org.springframework.util.StringUtils; @@ -63,8 +62,10 @@ public class MBeanExportConfiguration implements ImportAware, EnvironmentAware, public void setImportMetadata(AnnotationMetadata importMetadata) { Map map = importMetadata.getAnnotationAttributes(EnableMBeanExport.class.getName()); this.attributes = AnnotationAttributes.fromMap(map); - Assert.notNull(this.attributes, - "@EnableMBeanExport is not present on importing class " + importMetadata.getClassName()); + if (this.attributes == null) { + throw new IllegalArgumentException( + "@EnableMBeanExport is not present on importing class " + importMetadata.getClassName()); + } } @Override @@ -78,7 +79,7 @@ public class MBeanExportConfiguration implements ImportAware, EnvironmentAware, } - @Bean(name=MBEAN_EXPORTER_BEAN_NAME) + @Bean(name = MBEAN_EXPORTER_BEAN_NAME) @Role(BeanDefinition.ROLE_INFRASTRUCTURE) public AnnotationMBeanExporter mbeanExporter() { AnnotationMBeanExporter exporter = new AnnotationMBeanExporter(); diff --git a/spring-context/src/main/java/org/springframework/context/support/LiveBeansView.java b/spring-context/src/main/java/org/springframework/context/support/LiveBeansView.java index 7c7bb1eeaf..b77e604634 100644 --- a/spring-context/src/main/java/org/springframework/context/support/LiveBeansView.java +++ b/spring-context/src/main/java/org/springframework/context/support/LiveBeansView.java @@ -57,6 +57,7 @@ public class LiveBeansView implements LiveBeansViewMBean, ApplicationContextAwar private static final Set applicationContexts = new LinkedHashSet(); + static void registerApplicationContext(ConfigurableApplicationContext applicationContext) { String mbeanDomain = applicationContext.getEnvironment().getProperty(MBEAN_DOMAIN_PROPERTY_NAME); if (mbeanDomain != null) { @@ -94,6 +95,7 @@ public class LiveBeansView implements LiveBeansViewMBean, ApplicationContextAwar private ConfigurableApplicationContext applicationContext; + @Override public void setApplicationContext(ApplicationContext applicationContext) { Assert.isTrue(applicationContext instanceof ConfigurableApplicationContext, diff --git a/spring-context/src/main/java/org/springframework/jmx/support/WebSphereMBeanServerFactoryBean.java b/spring-context/src/main/java/org/springframework/jmx/support/WebSphereMBeanServerFactoryBean.java index c361480117..627b5f6335 100644 --- a/spring-context/src/main/java/org/springframework/jmx/support/WebSphereMBeanServerFactoryBean.java +++ b/spring-context/src/main/java/org/springframework/jmx/support/WebSphereMBeanServerFactoryBean.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2014 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. @@ -18,7 +18,6 @@ package org.springframework.jmx.support; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; - import javax.management.MBeanServer; import org.springframework.beans.factory.FactoryBean; @@ -34,8 +33,9 @@ import org.springframework.jmx.MBeanServerNotFoundException; * This FactoryBean is a direct alternative to {@link MBeanServerFactoryBean}, * which uses standard JMX 1.2 API to access the platform's MBeanServer. * - *

See Javadoc for WebSphere's {@code - * AdminServiceFactory} and {@code MBeanFactory}. + *

See the javadocs for WebSphere's + * {@code AdminServiceFactory} + * and {@code MBeanFactory}. * * @author Juergen Hoeller * @author Rob Harrop diff --git a/spring-web/src/main/java/org/springframework/http/converter/json/Jackson2ObjectMapperFactoryBean.java b/spring-web/src/main/java/org/springframework/http/converter/json/Jackson2ObjectMapperFactoryBean.java index eedcf5456a..199d75b92b 100644 --- a/spring-web/src/main/java/org/springframework/http/converter/json/Jackson2ObjectMapperFactoryBean.java +++ b/spring-web/src/main/java/org/springframework/http/converter/json/Jackson2ObjectMapperFactoryBean.java @@ -128,10 +128,12 @@ public class Jackson2ObjectMapperFactoryBean implements FactoryBean, JsonSerializer> serializers = new LinkedHashMap, JsonSerializer>(); private final Map, JsonDeserializer> deserializers = new LinkedHashMap, JsonDeserializer>(); @@ -144,8 +146,6 @@ public class Jackson2ObjectMapperFactoryBean implements FactoryBean callable, Object... processingContext) throws Exception { + @SuppressWarnings({"unchecked", "rawtypes"}) + public void startCallableProcessing(Callable callable, Object... processingContext) throws Exception { Assert.notNull(callable, "Callable must not be null"); startCallableProcessing(new WebAsyncTask(callable), processingContext); } diff --git a/spring-web/src/test/java/org/springframework/http/converter/json/Jackson2ObjectMapperFactoryBeanTests.java b/spring-web/src/test/java/org/springframework/http/converter/json/Jackson2ObjectMapperFactoryBeanTests.java index b57919a050..aca4838fb5 100644 --- a/spring-web/src/test/java/org/springframework/http/converter/json/Jackson2ObjectMapperFactoryBeanTests.java +++ b/spring-web/src/test/java/org/springframework/http/converter/json/Jackson2ObjectMapperFactoryBeanTests.java @@ -23,11 +23,6 @@ import java.util.Date; import java.util.HashMap; import java.util.Map; -import org.junit.Before; -import org.junit.Test; - -import org.springframework.beans.FatalBeanException; - import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonParser; @@ -50,6 +45,10 @@ import com.fasterxml.jackson.databind.ser.Serializers; import com.fasterxml.jackson.databind.ser.std.ClassSerializer; import com.fasterxml.jackson.databind.ser.std.NumberSerializers.NumberSerializer; import com.fasterxml.jackson.databind.type.SimpleType; +import org.junit.Before; +import org.junit.Test; + +import org.springframework.beans.FatalBeanException; import static org.junit.Assert.*; @@ -65,11 +64,13 @@ public class Jackson2ObjectMapperFactoryBeanTests { private Jackson2ObjectMapperFactoryBean factory; + @Before public void setUp() { factory = new Jackson2ObjectMapperFactoryBean(); } + @Test public void testSettersWithNullValues() { // Should not crash: diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/config/annotation/WebSocketMessageBrokerConfigurer.java b/spring-websocket/src/main/java/org/springframework/web/socket/config/annotation/WebSocketMessageBrokerConfigurer.java index c3e8e735d6..dc7f6a025d 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/config/annotation/WebSocketMessageBrokerConfigurer.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/config/annotation/WebSocketMessageBrokerConfigurer.java @@ -5,7 +5,7 @@ * 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 + * 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, @@ -16,18 +16,18 @@ package org.springframework.web.socket.config.annotation; +import java.util.List; import org.springframework.messaging.converter.MessageConverter; import org.springframework.messaging.simp.config.ChannelRegistration; import org.springframework.messaging.simp.config.MessageBrokerRegistry; -import java.util.List; - /** * Defines methods for configuring message handling with simple messaging - * protocols (e.g. STOMP) from WebSocket clients. Typically used to customize - * the configuration provided via - * {@link org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker @EnableWebSocketMessageBroker}. + * protocols (e.g. STOMP) from WebSocket clients. + * + *

Typically used to customize the configuration provided via + * {@link EnableWebSocketMessageBroker @EnableWebSocketMessageBroker}. * * @author Rossen Stoyanchev * @since 4.0 @@ -56,7 +56,7 @@ public interface WebSocketMessageBrokerConfigurer { /** * Configure the {@link org.springframework.messaging.MessageChannel} used for - * incoming messages from WebSocket clients. By default the channel is backed + * outbound messages to WebSocket clients. By default the channel is backed * by a thread pool of size 1. It is recommended to customize thread pool * settings for production use. */ @@ -66,12 +66,10 @@ public interface WebSocketMessageBrokerConfigurer { * Configure the message converters to use when extracting the payload of * messages in annotated methods and when sending messages (e.g. through the * "broker" SimpMessagingTemplate). - *

- * The provided list, initially empty, can be used to add message converters + *

The provided list, initially empty, can be used to add message converters * while the boolean return value is used to determine if default message should * be added as well. - * - * @param messageConverters initially an empty list of converters + * @param messageConverters the converters to configure (initially an empty list) * @return whether to also add default converter or not */ boolean configureMessageConverters(List messageConverters);