Skip to content

Commit 9ddf6d6

Browse files
garyrussellartembilan
authored andcommitted
Add @NonNullApi where appropriate
Packages with `@Nullable` annotations need to have `@NonNulApi` at the package level. There may be classes in these packages that have nullable arguments/returns that are not currently marked as `@nullable`. These will be fixed over time. Some fixes are included here.
1 parent 3c1466b commit 9ddf6d6

File tree

13 files changed

+25
-16
lines changed

13 files changed

+25
-16
lines changed

spring-amqp/src/main/java/org/springframework/amqp/support/converter/AbstractJackson2MessageConverter.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.springframework.amqp.core.MessageProperties;
2727
import org.springframework.beans.factory.BeanClassLoaderAware;
2828
import org.springframework.core.ParameterizedTypeReference;
29+
import org.springframework.lang.Nullable;
2930
import org.springframework.util.Assert;
3031
import org.springframework.util.ClassUtils;
3132
import org.springframework.util.MimeType;
@@ -43,6 +44,7 @@
4344
* @author Andreas Asplund
4445
* @author Artem Bilan
4546
* @author Mohammad Hewedy
47+
* @author Gary Russell
4648
*
4749
* @since 2.1
4850
*/
@@ -98,7 +100,7 @@ public void setClassMapper(ClassMapper classMapper) {
98100
* Message body content. If not specified, the charset will be "UTF-8".
99101
* @param defaultCharset The default charset.
100102
*/
101-
public void setDefaultCharset(String defaultCharset) {
103+
public void setDefaultCharset(@Nullable String defaultCharset) {
102104
this.defaultCharset = (defaultCharset != null) ? defaultCharset
103105
: DEFAULT_CHARSET;
104106
}
@@ -124,6 +126,7 @@ public Jackson2JavaTypeMapper getJavaTypeMapper() {
124126
}
125127

126128
public void setJavaTypeMapper(Jackson2JavaTypeMapper javaTypeMapper) {
129+
Assert.notNull(javaTypeMapper, "'javaTypeMapper' cannot be null");
127130
this.javaTypeMapper = javaTypeMapper;
128131
this.typeMapperSet = true;
129132
}
@@ -175,7 +178,7 @@ public Object fromMessage(Message message) throws MessageConversionException {
175178
* @param conversionHint The conversionHint must be a {@link ParameterizedTypeReference}.
176179
*/
177180
@Override
178-
public Object fromMessage(Message message, Object conversionHint) throws MessageConversionException {
181+
public Object fromMessage(Message message, @Nullable Object conversionHint) throws MessageConversionException {
179182
Object content = null;
180183
MessageProperties properties = message.getMessageProperties();
181184
if (properties != null) {
@@ -240,7 +243,8 @@ protected Message createMessage(Object objectToConvert, MessageProperties messag
240243
}
241244

242245
@Override
243-
protected Message createMessage(Object objectToConvert, MessageProperties messageProperties, Type genericType)
246+
protected Message createMessage(Object objectToConvert, MessageProperties messageProperties,
247+
@Nullable Type genericType)
244248
throws MessageConversionException {
245249

246250
byte[] bytes;

spring-amqp/src/main/java/org/springframework/amqp/support/converter/AbstractMessageConverter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public final Message toMessage(Object object, MessageProperties messagePropertie
5959
}
6060

6161
@Override
62-
public final Message toMessage(Object object, MessageProperties messageProperties, @Nullable Type genericType)
62+
public final Message toMessage(Object object, @Nullable MessageProperties messageProperties, @Nullable Type genericType)
6363
throws MessageConversionException {
6464

6565
if (messageProperties == null) {

spring-amqp/src/main/java/org/springframework/amqp/support/converter/DefaultClassMapper.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727

2828
import org.springframework.amqp.core.MessageProperties;
2929
import org.springframework.beans.factory.InitializingBean;
30+
import org.springframework.util.Assert;
3031
import org.springframework.util.ClassUtils;
3132

3233
/**
@@ -72,6 +73,7 @@ public class DefaultClassMapper implements ClassMapper, InitializingBean {
7273
* @param defaultType the defaultType to set.
7374
*/
7475
public void setDefaultType(Class<?> defaultType) {
76+
Assert.notNull(defaultType, "'defaultType' cannot be null");
7577
this.defaultType = defaultType;
7678
}
7779

spring-amqp/src/main/java/org/springframework/amqp/support/converter/DefaultJackson2JavaTypeMapper.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.util.Set;
2323

2424
import org.springframework.amqp.core.MessageProperties;
25+
import org.springframework.lang.Nullable;
2526
import org.springframework.util.Assert;
2627
import org.springframework.util.ClassUtils;
2728

@@ -91,7 +92,7 @@ public void setTypePrecedence(TypePrecedence typePrecedence) {
9192
* @param trustedPackages the trusted Java packages for deserialization
9293
* @since 1.6.11
9394
*/
94-
public void setTrustedPackages(String... trustedPackages) {
95+
public void setTrustedPackages(@Nullable String... trustedPackages) {
9596
if (trustedPackages != null) {
9697
for (String whiteListClass : trustedPackages) {
9798
if ("*".equals(whiteListClass)) {
@@ -106,7 +107,7 @@ public void setTrustedPackages(String... trustedPackages) {
106107
}
107108

108109
@Override
109-
public void addTrustedPackages(String... packages) {
110+
public void addTrustedPackages(@Nullable String... packages) {
110111
setTrustedPackages(packages);
111112
}
112113

spring-amqp/src/main/java/org/springframework/amqp/support/converter/MarshallingMessageConverter.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2014 the original author or authors.
2+
* Copyright 2002-2018 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -26,6 +26,7 @@
2626
import org.springframework.amqp.core.Message;
2727
import org.springframework.amqp.core.MessageProperties;
2828
import org.springframework.beans.factory.InitializingBean;
29+
import org.springframework.lang.Nullable;
2930
import org.springframework.oxm.Marshaller;
3031
import org.springframework.oxm.Unmarshaller;
3132
import org.springframework.oxm.XmlMappingException;
@@ -101,7 +102,7 @@ public MarshallingMessageConverter(Marshaller marshaller, Unmarshaller unmarshal
101102
*
102103
* @param contentType The content type.
103104
*/
104-
public void setContentType(String contentType) {
105+
public void setContentType(@Nullable String contentType) {
105106
this.contentType = contentType;
106107
}
107108

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/**
22
* Provides classes for supporting message conversion.
33
*/
4+
@org.springframework.lang.NonNullApi
45
package org.springframework.amqp.support.converter;

spring-amqp/src/test/java/org/springframework/amqp/support/converter/DefaultClassMapperTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2017 the original author or authors.
2+
* Copyright 2002-2018 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -43,7 +43,7 @@
4343
public class DefaultClassMapperTests {
4444

4545
@Spy
46-
private DefaultClassMapper classMapper = new DefaultClassMapper();
46+
private final DefaultClassMapper classMapper = new DefaultClassMapper();
4747

4848
private final MessageProperties props = new MessageProperties();
4949

@@ -130,7 +130,7 @@ public void shouldUseDefaultType() {
130130
Class<Foo> clazz = (Class<Foo>) classMapper.toClass(props);
131131

132132
assertSame(Foo.class, clazz);
133-
classMapper.setDefaultType(null);
133+
classMapper.setDefaultType(LinkedHashMap.class);
134134
}
135135

136136
private Map<String, Class<?>> map(String string, Class<?> class1) {

spring-amqp/src/test/java/org/springframework/amqp/support/converter/Jackson2JsonMessageConverterTests.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,6 @@ public void shouldUseClassMapperWhenProvided() {
131131
Message message = converter.toMessage(trade, new MessageProperties());
132132

133133
converter.setClassMapper(new DefaultClassMapper());
134-
converter.setJavaTypeMapper(null);
135-
136134

137135
((DefaultClassMapper) this.converter.getClassMapper()).setTrustedPackages(TRUSTED_PACKAGE);
138136

@@ -146,7 +144,6 @@ public void shouldUseClassMapperWhenProvidedOutbound() {
146144
classMapper.setTrustedPackages(TRUSTED_PACKAGE);
147145

148146
converter.setClassMapper(classMapper);
149-
converter.setJavaTypeMapper(null);
150147
Message message = converter.toMessage(trade, new MessageProperties());
151148

152149
SimpleTrade marshalledTrade = (SimpleTrade) converter.fromMessage(message);

spring-amqp/src/test/java/org/springframework/amqp/support/converter/Jackson2XmlMessageConverterTests.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040

4141
/**
4242
* @author Mohammad Hewedy
43+
* @author Gary Russell
4344
*
4445
* @since 2.1
4546
*/
@@ -123,7 +124,6 @@ public void shouldUseClassMapperWhenProvided() {
123124
Message message = converter.toMessage(trade, new MessageProperties());
124125

125126
converter.setClassMapper(new DefaultClassMapper());
126-
converter.setJavaTypeMapper(null);
127127

128128
((DefaultClassMapper) this.converter.getClassMapper()).setTrustedPackages(TRUSTED_PACKAGE);
129129

@@ -137,7 +137,6 @@ public void shouldUseClassMapperWhenProvidedOutbound() {
137137
classMapper.setTrustedPackages(TRUSTED_PACKAGE);
138138

139139
converter.setClassMapper(classMapper);
140-
converter.setJavaTypeMapper(null);
141140
Message message = converter.toMessage(trade, new MessageProperties());
142141

143142
SimpleTrade marshalledTrade = (SimpleTrade) converter.fromMessage(message);
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/**
22
* Provides classes related to connections.
33
*/
4+
@org.springframework.lang.NonNullApi
45
package org.springframework.amqp.rabbit.connection;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/**
22
* Provides core classes for Spring Rabbit.
33
*/
4+
@org.springframework.lang.NonNullApi
45
package org.springframework.amqp.rabbit.core;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/**
22
* Provides classes for message listener containers.
33
*/
4+
@org.springframework.lang.NonNullApi
45
package org.springframework.amqp.rabbit.listener;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/**
22
* Provides support classes for Spring Rabbit.
33
*/
4+
@org.springframework.lang.NonNullApi
45
package org.springframework.amqp.rabbit.support;

0 commit comments

Comments
 (0)