Minor changes
This commit is contained in:
+2
-3
@@ -275,9 +275,8 @@ public class SubscriptionsStore {
|
||||
List<Token> msgTokens = SubscriptionsStore.parseTopic(msgTopic);
|
||||
List<Token> subscriptionTokens = SubscriptionsStore.parseTopic(subscriptionTopic);
|
||||
int i = 0;
|
||||
Token subToken = null;
|
||||
for (; i< subscriptionTokens.size(); i++) {
|
||||
subToken = subscriptionTokens.get(i);
|
||||
Token subToken = subscriptionTokens.get(i);
|
||||
if (subToken != Token.MULTI && subToken != Token.SINGLE) {
|
||||
if (i >= msgTokens.size()) {
|
||||
return false;
|
||||
@@ -297,7 +296,7 @@ public class SubscriptionsStore {
|
||||
}
|
||||
//if last token was a SINGLE then treat it as an empty
|
||||
// if (subToken == Token.SINGLE && (i - msgTokens.size() == 1)) {
|
||||
// i--;
|
||||
// i--;
|
||||
// }
|
||||
return i == msgTokens.size();
|
||||
} catch (ParseException ex) {
|
||||
|
||||
+5
@@ -80,6 +80,11 @@ public class SubscriptionsStoreTest {
|
||||
store.parseTopic("finance#");
|
||||
}
|
||||
|
||||
@Test(expected = ParseException.class)
|
||||
public void testParseTopicMultiNotAlone() throws ParseException {
|
||||
store.parseTopic("/finance/#closingprice");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testParseTopicSingleValid() throws ParseException {
|
||||
List<Token> tokens = store.parseTopic("finance/stock/+");
|
||||
|
||||
@@ -66,6 +66,7 @@ class PublishDecoder extends DemuxDecoder {
|
||||
in.resetReaderIndex();
|
||||
return;
|
||||
}
|
||||
//[MQTT-3.3.2-2] The Topic Name in the PUBLISH Packet MUST NOT contain wildcard characters.
|
||||
if (topic.contains("+") || topic.contains("#")) {
|
||||
throw new CorruptedFrameException("Received a PUBLISH with topic containing wild card chars, topic: " + topic);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user