Minor change, renamed splitTopic to parseTopic

This commit is contained in:
selva.andre
2014-09-19 22:30:35 +02:00
parent 0940ac84a0
commit d944a0e7c6
2 changed files with 24 additions and 26 deletions
@@ -100,7 +100,7 @@ public class SubscriptionsStore {
private TreeNode findMatchingNode(String topic) {
List<Token> tokens = new ArrayList<Token>();
try {
tokens = splitTopic(topic);
tokens = parseTopic(topic);
} catch (ParseException ex) {
//TODO handle the parse exception
LOG.error(null, ex);
@@ -197,7 +197,7 @@ public class SubscriptionsStore {
public List<Subscription> matches(String topic) {
List<Token> tokens;
try {
tokens = splitTopic(topic);
tokens = parseTopic(topic);
} catch (ParseException ex) {
//TODO handle the parse exception
LOG.error(null, ex);
@@ -240,8 +240,8 @@ public class SubscriptionsStore {
//TODO reimplement with iterators or with queues
public static boolean matchTopics(String msgTopic, String subscriptionTopic) {
try {
List<Token> msgTokens = SubscriptionsStore.splitTopic(msgTopic);
List<Token> subscriptionTokens = SubscriptionsStore.splitTopic(subscriptionTopic);
List<Token> msgTokens = SubscriptionsStore.parseTopic(msgTopic);
List<Token> subscriptionTokens = SubscriptionsStore.parseTopic(subscriptionTopic);
int i = 0;
Token subToken = null;
for (; i< subscriptionTokens.size(); i++) {
@@ -274,7 +274,7 @@ public class SubscriptionsStore {
}
}
protected static List<Token> splitTopic(String topic) throws ParseException {
protected static List<Token> parseTopic(String topic) throws ParseException {
List res = new ArrayList<Token>();
String[] splitted = topic.split("/");
@@ -15,16 +15,14 @@
*/
package org.dna.mqtt.moquette.messaging.spi.impl.subscriptions;
import java.io.File;
import java.io.IOException;
import java.text.ParseException;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import org.dna.mqtt.moquette.messaging.spi.impl.MemoryStorageService;
import org.dna.mqtt.moquette.proto.messages.AbstractMessage;
import org.junit.After;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
@@ -47,56 +45,56 @@ public class SubscriptionsStoreTest {
}
@Test
public void testSplitTopic() throws ParseException {
List tokens = store.splitTopic("finance/stock/ibm");
public void testParseTopic() throws ParseException {
List tokens = store.parseTopic("finance/stock/ibm");
assertEqualsSeq(asArray("finance", "stock", "ibm"), tokens);
tokens = store.splitTopic("/finance/stock/ibm");
tokens = store.parseTopic("/finance/stock/ibm");
assertEqualsSeq(asArray(Token.EMPTY, "finance", "stock", "ibm"), tokens);
tokens = store.splitTopic("/");
tokens = store.parseTopic("/");
assertEqualsSeq(asArray(Token.EMPTY, Token.EMPTY), tokens);
}
// @Test(expected = ParseException.class)
// public void testSplitTopicTwinsSlashAvoided() throws ParseException {
// store.splitTopic("/finance//stock/ibm");
// store.parseTopic("/finance//stock/ibm");
// }
@Test
public void testSplitTopicMultiValid() throws ParseException {
List tokens = store.splitTopic("finance/stock/#");
public void testParseTopicMultiValid() throws ParseException {
List tokens = store.parseTopic("finance/stock/#");
assertEqualsSeq(asArray("finance", "stock", Token.MULTI), tokens);
tokens = store.splitTopic("#");
tokens = store.parseTopic("#");
assertEqualsSeq(asArray(Token.MULTI), tokens);
}
@Test(expected = ParseException.class)
public void testSplitTopicMultiInTheMiddleNotValid() throws ParseException {
store.splitTopic("finance/#/closingprice");
public void testParseTopicMultiInTheMiddleNotValid() throws ParseException {
store.parseTopic("finance/#/closingprice");
}
@Test(expected = ParseException.class)
public void testSplitTopicMultiNotAferSeparatorNotValid() throws ParseException {
store.splitTopic("finance#");
public void testParseTopicMultiNotAferSeparatorNotValid() throws ParseException {
store.parseTopic("finance#");
}
@Test
public void testSplitTopicSingleValid() throws ParseException {
List tokens = store.splitTopic("finance/stock/+");
public void testParseTopicSingleValid() throws ParseException {
List tokens = store.parseTopic("finance/stock/+");
assertEqualsSeq(asArray("finance", "stock", Token.SINGLE), tokens);
tokens = store.splitTopic("+");
tokens = store.parseTopic("+");
assertEqualsSeq(asArray(Token.SINGLE), tokens);
tokens = store.splitTopic("finance/+/ibm");
tokens = store.parseTopic("finance/+/ibm");
assertEqualsSeq(asArray("finance", Token.SINGLE, "ibm"), tokens);
}
@Test(expected = ParseException.class)
public void testSplitTopicSingleNotAferSeparatorNotValid() throws ParseException {
store.splitTopic("finance+");
public void testParseTopicSingleNotAferSeparatorNotValid() throws ParseException {
store.parseTopic("finance+");
}
@Test