Minor changes

This commit is contained in:
andrea
2015-08-01 16:45:28 +02:00
parent 8b48a82968
commit 5bfc73fafb
3 changed files with 8 additions and 3 deletions
@@ -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) {
@@ -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);
}