Fixed toString() exception in MqttSubscribePayload and MqttUnsubscribePayload (#9202)
Motivation: The toString() methods of MqttSubscribePayload and MqttUnsubscribePayload are causing exceptions when no topics are set. Modification: The toString() methods will not throw Excpetions anymore. Result: Fixes #9197
This commit is contained in:
parent
ed23cfae5e
commit
5b654fb4f7
@ -39,11 +39,12 @@ public final class MqttSubscribePayload {
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder builder = new StringBuilder(StringUtil.simpleClassName(this)).append('[');
|
||||
for (int i = 0; i < topicSubscriptions.size() - 1; i++) {
|
||||
for (int i = 0; i < topicSubscriptions.size(); i++) {
|
||||
builder.append(topicSubscriptions.get(i)).append(", ");
|
||||
}
|
||||
builder.append(topicSubscriptions.get(topicSubscriptions.size() - 1));
|
||||
builder.append(']');
|
||||
return builder.toString();
|
||||
if (!topicSubscriptions.isEmpty()) {
|
||||
builder.setLength(builder.length() - 2);
|
||||
}
|
||||
return builder.append(']').toString();
|
||||
}
|
||||
}
|
||||
|
@ -39,11 +39,12 @@ public final class MqttUnsubscribePayload {
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder builder = new StringBuilder(StringUtil.simpleClassName(this)).append('[');
|
||||
for (int i = 0; i < topics.size() - 1; i++) {
|
||||
for (int i = 0; i < topics.size(); i++) {
|
||||
builder.append("topicName = ").append(topics.get(i)).append(", ");
|
||||
}
|
||||
builder.append("topicName = ").append(topics.get(topics.size() - 1))
|
||||
.append(']');
|
||||
return builder.toString();
|
||||
if (!topics.isEmpty()) {
|
||||
builder.setLength(builder.length() - 2);
|
||||
}
|
||||
return builder.append("]").toString();
|
||||
}
|
||||
}
|
||||
|
@ -21,6 +21,8 @@ import static org.junit.Assert.assertNull;
|
||||
import io.netty.util.CharsetUtil;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
public class MqttConnectPayloadTest {
|
||||
|
||||
@Test
|
||||
@ -88,4 +90,11 @@ public class MqttConnectPayloadTest {
|
||||
assertNull(mqttConnectPayload.willMessageInBytes());
|
||||
assertNull(mqttConnectPayload.willMessage());
|
||||
}
|
||||
|
||||
/* See https://github.com/netty/netty/pull/9202 */
|
||||
@Test
|
||||
public void testEmptyTopicsToString() {
|
||||
new MqttSubscribePayload(Collections.<MqttTopicSubscription>emptyList()).toString();
|
||||
new MqttUnsubscribePayload(Collections.<String>emptyList()).toString();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user