broker/Topic: class added

broker/Topic: String Topics replaced by Topic class
broker/Topic#parseTopic: access set to private
broker/SubscriptionsStoreTest: topic tests moved to own class
broker/TopicTest: containsExactly used
broker/TopicTest: TopicAssert class added
broker/TopicTest$TopicAssert#containsToken: method added
broker/TopicTest$TopicAssert#matches: method added
This commit is contained in:
Andreas Mager
2017-02-19 18:29:37 +01:00
committed by Andi
parent 8688a9d098
commit a2e51b2c31
34 changed files with 589 additions and 448 deletions
@@ -21,6 +21,7 @@ import java.util.List;
import java.util.concurrent.BlockingQueue;
import io.moquette.spi.IMessagesStore.StoredMessage;
import io.moquette.spi.impl.subscriptions.Subscription;
import io.moquette.spi.impl.subscriptions.Topic;
/**
* Store used to handle the persistence of the subscriptions tree.
@@ -31,10 +32,10 @@ public interface ISessionsStore {
class ClientTopicCouple {
public final String topicFilter;
public final Topic topicFilter;
public final String clientID;
public ClientTopicCouple(String clientID, String topicFilter) {
public ClientTopicCouple(String clientID, Topic topicFilter) {
this.clientID = clientID;
this.topicFilter = topicFilter;
}
@@ -87,7 +88,7 @@ public interface ISessionsStore {
* @param clientID
* the session client.
*/
void removeSubscription(String topic, String clientID);
void removeSubscription(Topic topic, String clientID);
/**
* Remove all the subscriptions of the session