From 1ba9eb3613bc79d28c5d45d9c0984033d36d83af Mon Sep 17 00:00:00 2001 From: andsel Date: Sun, 11 Nov 2018 17:58:19 +0100 Subject: [PATCH] Moved packages from old io.moquette.server to new io.moquette.broker --- .../java/io/moquette/broker/Authorizator.java | 6 +- .../netty => broker}/AutoFlushHandler.java | 2 +- .../moquette/broker/BrokerConfiguration.java | 2 +- .../BugSnagErrorsHandler.java | 4 +- .../{spi/impl => broker}/DebugUtils.java | 2 +- .../DefaultMoquetteSslContextCreator.java | 15 +- .../moquette/broker/IRetainedRepository.java | 2 +- .../ISslContextCreator.java | 2 +- .../broker/ISubscriptionsRepository.java | 2 +- .../io/moquette/broker/InflightResender.java | 1 - .../io/moquette/broker/MQTTConnection.java | 8 +- .../broker/MQTTConnectionFactory.java | 2 +- .../broker/MemoryRetainedRepository.java | 2 +- .../broker/MemorySubscriptionsRepository.java | 3 +- .../MoquetteIdleTimeoutHandler.java | 2 +- .../{server/netty => broker}/NettyUtils.java | 14 +- .../io/moquette/broker/NewNettyAcceptor.java | 14 +- .../moquette/broker/NewNettyMQTTHandler.java | 1 - .../java/io/moquette/broker/PostOffice.java | 13 +- .../main/java/io/moquette/broker/Server.java | 46 ++- .../main/java/io/moquette/broker/Session.java | 4 +- .../io/moquette/broker/SessionRegistry.java | 8 +- .../moquette/{spi/impl => broker}/Utils.java | 2 +- .../config/ClasspathResourceLoader.java | 2 +- .../config/ConfigurationParser.java | 4 +- .../config/FileResourceLoader.java | 4 +- .../{server => broker}/config/IConfig.java | 2 +- .../config/IResourceLoader.java | 2 +- .../config/MemoryConfig.java | 2 +- .../config/ResourceLoaderConfig.java | 2 +- .../metrics/BytesMetrics.java | 2 +- .../metrics/BytesMetricsCollector.java | 2 +- .../metrics/BytesMetricsHandler.java | 2 +- .../metrics/DropWizardMetricsHandler.java | 6 +- .../metrics/MQTTMessageLogger.java | 6 +- .../metrics/MessageMetrics.java | 2 +- .../metrics/MessageMetricsCollector.java | 2 +- .../metrics/MessageMetricsHandler.java | 2 +- .../security/ACLFileParser.java | 2 +- .../security/AcceptAllAuthenticator.java | 4 +- .../security/Authorization.java | 6 +- .../security/AuthorizationsCollector.java | 6 +- .../security/DBAuthenticator.java | 5 +- .../security/DenyAllAuthorizatorPolicy.java | 5 +- .../security/FileAuthenticator.java | 4 +- .../security/IAuthenticator.java | 2 +- .../security/IAuthorizatorPolicy.java | 4 +- .../security/PermitAllAuthorizatorPolicy.java | 5 +- .../security/ResourceAuthenticator.java | 5 +- .../impl => broker}/subscriptions/CNode.java | 4 +- .../CTrieSubscriptionDirectory.java | 2 +- .../subscriptions/DumpTreeVisitor.java | 2 +- .../impl => broker}/subscriptions/INode.java | 2 +- .../ISubscriptionsDirectory.java | 2 +- .../subscriptions/Subscription.java | 2 +- .../SubscriptionCounterVisitor.java | 2 +- .../impl => broker}/subscriptions/TNode.java | 2 +- .../impl => broker}/subscriptions/Token.java | 2 +- .../impl => broker}/subscriptions/Topic.java | 2 +- .../connections/MqttConnectionMetrics.java | 52 --- .../io/moquette/connections/MqttSession.java | 91 ------ .../connections/MqttSubscription.java | 52 --- .../BrokerInterceptor.java | 8 +- .../interception/InterceptHandler.java | 2 +- .../io/moquette/interception/Interceptor.java | 2 +- .../messages/InterceptSubscribeMessage.java | 2 +- .../persistence/MemoryMessagesStore.java | 2 +- .../persistence/MemorySessionStore.java | 9 +- .../persistence/MemoryStorageService.java | 2 +- .../java/io/moquette/server/Constants.java | 31 -- .../io/moquette/spi/IMatchingCondition.java | 2 +- .../java/io/moquette/spi/IMessagesStore.java | 2 +- .../io/moquette/spi/ISubscriptionsStore.java | 4 +- .../moquette/broker/ConnectionTestUtils.java | 3 +- .../broker/MQTTConnectionConnectTest.java | 11 +- .../broker/MQTTConnectionPublishTest.java | 9 +- .../impl => broker}/MockAuthenticator.java | 4 +- .../NettyChannelAssertions.java | 2 +- .../broker/PostOfficeInternalPublishTest.java | 11 +- .../broker/PostOfficePublishTest.java | 11 +- .../broker/PostOfficeSubscribeTest.java | 16 +- .../broker/PostOfficeUnsubscribeTest.java | 13 +- .../moquette/broker/SessionRegistryTest.java | 12 +- .../config/ClasspathResourceLoaderTest.java | 7 +- .../config/ConfigurationParserTest.java | 3 +- .../security/ACLFileParserTest.java | 4 +- .../security/AuthorizationsCollectorTest.java | 4 +- .../security/DBAuthenticatorTest.java | 2 +- .../security/FileAuthenticatorTest.java | 3 +- .../ConfigurationClassLoaderTest.java | 15 +- .../IntegrationUtils.java | 2 +- .../MQTTWebSocket.java | 2 +- .../MessageCollector.java | 5 +- .../ServerIntegrationDBAuthenticatorTest.java | 10 +- .../ServerIntegrationFuseTest.java | 6 +- .../ServerIntegrationOpenSSLTest.java | 2 +- ...nPahoCanPublishOnReadBlockedTopicTest.java | 12 +- .../ServerIntegrationPahoTest.java | 10 +- .../ServerIntegrationQoSValidationTest.java | 6 +- .../ServerIntegrationRestartTest.java | 18 +- .../ServerIntegrationSSLClientAuthTest.java | 12 +- .../ServerIntegrationSSLTest.java | 2 +- .../ServerIntegrationWebSocketTest.java | 6 +- ...erverLowlevelMessagesIntegrationTests.java | 11 +- .../BrokerInterceptorTest.java | 7 +- .../spi/impl/MockReceiverChannel.java | 57 ---- ...TrieSubscriptionDirectoryMatchingTest.java | 273 ---------------- .../CTrieSubscriptionDirectoryTest.java | 307 ------------------ .../spi/impl/subscriptions/TopicTest.java | 179 ---------- .../io/moquette/testclient/RawClient.java | 2 +- broker/src/test/resources/log4j.properties | 4 +- distribution/build.gradle | 2 +- .../src/main/resources/log4j.properties | 6 +- distribution/src/main/resources/moquette.conf | 2 +- distribution/src/main/scripts/moquette.bat | 2 +- distribution/src/main/scripts/moquette.sh | 2 +- .../testembedded/EmbeddedLauncher.java | 8 +- .../persistence/h2/H2MessagesStore.java | 2 +- .../persistence/h2/H2PersistentStore.java | 2 +- .../persistence/h2/H2SessionsStore.java | 4 +- .../persistence/h2/H2MessagesStoreTest.java | 11 - .../persistence/h2/H2SessionsStoreTest.java | 14 - .../persistence/mapdb/MapDBMessagesStore.java | 2 +- .../mapdb/MapDBPersistentStore.java | 2 +- .../persistence/mapdb/MapDBSessionsStore.java | 4 +- .../mapdb/MapDBPersistentStoreTest.java | 18 - .../mapdb/MapDBSessionsStoreTest.java | 14 - 127 files changed, 274 insertions(+), 1414 deletions(-) rename broker/src/main/java/io/moquette/{server/netty => broker}/AutoFlushHandler.java (99%) rename broker/src/main/java/io/moquette/{server/netty => broker}/BugSnagErrorsHandler.java (94%) rename broker/src/main/java/io/moquette/{spi/impl => broker}/DebugUtils.java (97%) rename broker/src/main/java/io/moquette/{server => broker}/DefaultMoquetteSslContextCreator.java (93%) rename broker/src/main/java/io/moquette/{spi/security => broker}/ISslContextCreator.java (95%) rename broker/src/main/java/io/moquette/{server/netty => broker}/MoquetteIdleTimeoutHandler.java (98%) rename broker/src/main/java/io/moquette/{server/netty => broker}/NettyUtils.java (86%) rename broker/src/main/java/io/moquette/{spi/impl => broker}/Utils.java (98%) rename broker/src/main/java/io/moquette/{server => broker}/config/ClasspathResourceLoader.java (98%) rename broker/src/main/java/io/moquette/{server => broker}/config/ConfigurationParser.java (97%) rename broker/src/main/java/io/moquette/{server => broker}/config/FileResourceLoader.java (96%) rename broker/src/main/java/io/moquette/{server => broker}/config/IConfig.java (98%) rename broker/src/main/java/io/moquette/{server => broker}/config/IResourceLoader.java (96%) rename broker/src/main/java/io/moquette/{server => broker}/config/MemoryConfig.java (98%) rename broker/src/main/java/io/moquette/{server => broker}/config/ResourceLoaderConfig.java (99%) rename broker/src/main/java/io/moquette/{server/netty => broker}/metrics/BytesMetrics.java (95%) rename broker/src/main/java/io/moquette/{server/netty => broker}/metrics/BytesMetricsCollector.java (96%) rename broker/src/main/java/io/moquette/{server/netty => broker}/metrics/BytesMetricsHandler.java (98%) rename broker/src/main/java/io/moquette/{server/netty => broker}/metrics/DropWizardMetricsHandler.java (96%) rename broker/src/main/java/io/moquette/{server/netty => broker}/metrics/MQTTMessageLogger.java (96%) rename broker/src/main/java/io/moquette/{server/netty => broker}/metrics/MessageMetrics.java (96%) rename broker/src/main/java/io/moquette/{server/netty => broker}/metrics/MessageMetricsCollector.java (96%) rename broker/src/main/java/io/moquette/{server/netty => broker}/metrics/MessageMetricsHandler.java (98%) rename broker/src/main/java/io/moquette/{spi/impl => broker}/security/ACLFileParser.java (99%) rename broker/src/main/java/io/moquette/{spi/impl => broker}/security/AcceptAllAuthenticator.java (89%) rename broker/src/main/java/io/moquette/{spi/impl => broker}/security/Authorization.java (91%) rename broker/src/main/java/io/moquette/{spi/impl => broker}/security/AuthorizationsCollector.java (97%) rename broker/src/main/java/io/moquette/{spi/impl => broker}/security/DBAuthenticator.java (97%) rename broker/src/main/java/io/moquette/{spi/impl => broker}/security/DenyAllAuthorizatorPolicy.java (86%) rename broker/src/main/java/io/moquette/{spi/impl => broker}/security/FileAuthenticator.java (93%) rename broker/src/main/java/io/moquette/{spi => broker}/security/IAuthenticator.java (95%) rename broker/src/main/java/io/moquette/{spi => broker}/security/IAuthorizatorPolicy.java (94%) rename broker/src/main/java/io/moquette/{spi/impl => broker}/security/PermitAllAuthorizatorPolicy.java (86%) rename broker/src/main/java/io/moquette/{spi/impl => broker}/security/ResourceAuthenticator.java (97%) rename broker/src/main/java/io/moquette/{spi/impl => broker}/subscriptions/CNode.java (97%) rename broker/src/main/java/io/moquette/{spi/impl => broker}/subscriptions/CTrieSubscriptionDirectory.java (99%) rename broker/src/main/java/io/moquette/{spi/impl => broker}/subscriptions/DumpTreeVisitor.java (97%) rename broker/src/main/java/io/moquette/{spi/impl => broker}/subscriptions/INode.java (96%) rename broker/src/main/java/io/moquette/{spi/impl => broker}/subscriptions/ISubscriptionsDirectory.java (96%) rename broker/src/main/java/io/moquette/{spi/impl => broker}/subscriptions/Subscription.java (98%) rename broker/src/main/java/io/moquette/{spi/impl => broker}/subscriptions/SubscriptionCounterVisitor.java (95%) rename broker/src/main/java/io/moquette/{spi/impl => broker}/subscriptions/TNode.java (97%) rename broker/src/main/java/io/moquette/{spi/impl => broker}/subscriptions/Token.java (97%) rename broker/src/main/java/io/moquette/{spi/impl => broker}/subscriptions/Topic.java (99%) delete mode 100644 broker/src/main/java/io/moquette/connections/MqttConnectionMetrics.java delete mode 100644 broker/src/main/java/io/moquette/connections/MqttSession.java delete mode 100644 broker/src/main/java/io/moquette/connections/MqttSubscription.java rename broker/src/main/java/io/moquette/{spi/impl => interception}/BrokerInterceptor.java (97%) delete mode 100644 broker/src/main/java/io/moquette/server/Constants.java rename broker/src/test/java/io/moquette/{spi/impl => broker}/MockAuthenticator.java (94%) rename broker/src/test/java/io/moquette/{spi/impl => broker}/NettyChannelAssertions.java (98%) rename broker/src/test/java/io/moquette/{server => broker}/config/ClasspathResourceLoaderTest.java (93%) rename broker/src/test/java/io/moquette/{server => broker}/config/ConfigurationParserTest.java (96%) rename broker/src/test/java/io/moquette/{spi/impl => broker}/security/ACLFileParserTest.java (97%) rename broker/src/test/java/io/moquette/{spi/impl => broker}/security/AuthorizationsCollectorTest.java (98%) rename broker/src/test/java/io/moquette/{spi/impl => broker}/security/DBAuthenticatorTest.java (99%) rename broker/src/test/java/io/moquette/{spi/impl => broker}/security/FileAuthenticatorTest.java (94%) rename broker/src/test/java/io/moquette/{server => integration}/ConfigurationClassLoaderTest.java (86%) rename broker/src/test/java/io/moquette/{server => integration}/IntegrationUtils.java (98%) rename broker/src/test/java/io/moquette/{server => integration}/MQTTWebSocket.java (99%) rename broker/src/test/java/io/moquette/{server => integration}/MessageCollector.java (94%) rename broker/src/test/java/io/moquette/{server => integration}/ServerIntegrationDBAuthenticatorTest.java (95%) rename broker/src/test/java/io/moquette/{server => integration}/ServerIntegrationFuseTest.java (96%) rename broker/src/test/java/io/moquette/{server => integration}/ServerIntegrationOpenSSLTest.java (98%) rename broker/src/test/java/io/moquette/{server => integration}/ServerIntegrationPahoCanPublishOnReadBlockedTopicTest.java (94%) rename broker/src/test/java/io/moquette/{server => integration}/ServerIntegrationPahoTest.java (97%) rename broker/src/test/java/io/moquette/{server => integration}/ServerIntegrationQoSValidationTest.java (98%) rename broker/src/test/java/io/moquette/{server => integration}/ServerIntegrationRestartTest.java (94%) rename broker/src/test/java/io/moquette/{server => integration}/ServerIntegrationSSLClientAuthTest.java (95%) rename broker/src/test/java/io/moquette/{server => integration}/ServerIntegrationSSLTest.java (99%) rename broker/src/test/java/io/moquette/{server => integration}/ServerIntegrationWebSocketTest.java (95%) rename broker/src/test/java/io/moquette/{server => integration}/ServerLowlevelMessagesIntegrationTests.java (96%) rename broker/src/test/java/io/moquette/{spi/impl => interception}/BrokerInterceptorTest.java (96%) delete mode 100644 broker/src/test/java/io/moquette/spi/impl/MockReceiverChannel.java delete mode 100644 broker/src/test/java/io/moquette/spi/impl/subscriptions/CTrieSubscriptionDirectoryMatchingTest.java delete mode 100644 broker/src/test/java/io/moquette/spi/impl/subscriptions/CTrieSubscriptionDirectoryTest.java delete mode 100644 broker/src/test/java/io/moquette/spi/impl/subscriptions/TopicTest.java diff --git a/broker/src/main/java/io/moquette/broker/Authorizator.java b/broker/src/main/java/io/moquette/broker/Authorizator.java index a832d7b8..9f8d338b 100644 --- a/broker/src/main/java/io/moquette/broker/Authorizator.java +++ b/broker/src/main/java/io/moquette/broker/Authorizator.java @@ -15,8 +15,8 @@ */ package io.moquette.broker; -import io.moquette.spi.impl.subscriptions.Topic; -import io.moquette.spi.security.IAuthorizatorPolicy; +import io.moquette.broker.subscriptions.Topic; +import io.moquette.broker.security.IAuthorizatorPolicy; import io.netty.handler.codec.mqtt.MqttQoS; import io.netty.handler.codec.mqtt.MqttSubscribeMessage; import io.netty.handler.codec.mqtt.MqttTopicSubscription; @@ -26,7 +26,7 @@ import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.List; -import static io.moquette.spi.impl.Utils.messageId; +import static io.moquette.broker.Utils.messageId; import static io.netty.handler.codec.mqtt.MqttQoS.FAILURE; final class Authorizator { diff --git a/broker/src/main/java/io/moquette/server/netty/AutoFlushHandler.java b/broker/src/main/java/io/moquette/broker/AutoFlushHandler.java similarity index 99% rename from broker/src/main/java/io/moquette/server/netty/AutoFlushHandler.java rename to broker/src/main/java/io/moquette/broker/AutoFlushHandler.java index d60c9c2a..3f914698 100644 --- a/broker/src/main/java/io/moquette/server/netty/AutoFlushHandler.java +++ b/broker/src/main/java/io/moquette/broker/AutoFlushHandler.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server.netty; +package io.moquette.broker; import io.netty.channel.ChannelDuplexHandler; import io.netty.channel.ChannelHandlerContext; diff --git a/broker/src/main/java/io/moquette/broker/BrokerConfiguration.java b/broker/src/main/java/io/moquette/broker/BrokerConfiguration.java index cdd442d8..e4ba31cd 100644 --- a/broker/src/main/java/io/moquette/broker/BrokerConfiguration.java +++ b/broker/src/main/java/io/moquette/broker/BrokerConfiguration.java @@ -16,7 +16,7 @@ package io.moquette.broker; import io.moquette.BrokerConstants; -import io.moquette.server.config.IConfig; +import io.moquette.broker.config.IConfig; class BrokerConfiguration { diff --git a/broker/src/main/java/io/moquette/server/netty/BugSnagErrorsHandler.java b/broker/src/main/java/io/moquette/broker/BugSnagErrorsHandler.java similarity index 94% rename from broker/src/main/java/io/moquette/server/netty/BugSnagErrorsHandler.java rename to broker/src/main/java/io/moquette/broker/BugSnagErrorsHandler.java index 9c792d2d..8f8ab508 100644 --- a/broker/src/main/java/io/moquette/server/netty/BugSnagErrorsHandler.java +++ b/broker/src/main/java/io/moquette/broker/BugSnagErrorsHandler.java @@ -13,10 +13,10 @@ * * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server.netty; +package io.moquette.broker; import com.bugsnag.Bugsnag; -import io.moquette.server.config.IConfig; +import io.moquette.broker.config.IConfig; import io.netty.channel.ChannelHandler.Sharable; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelInboundHandlerAdapter; diff --git a/broker/src/main/java/io/moquette/spi/impl/DebugUtils.java b/broker/src/main/java/io/moquette/broker/DebugUtils.java similarity index 97% rename from broker/src/main/java/io/moquette/spi/impl/DebugUtils.java rename to broker/src/main/java/io/moquette/broker/DebugUtils.java index d4417790..02779114 100644 --- a/broker/src/main/java/io/moquette/spi/impl/DebugUtils.java +++ b/broker/src/main/java/io/moquette/broker/DebugUtils.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl; +package io.moquette.broker; import io.netty.buffer.ByteBuf; diff --git a/broker/src/main/java/io/moquette/server/DefaultMoquetteSslContextCreator.java b/broker/src/main/java/io/moquette/broker/DefaultMoquetteSslContextCreator.java similarity index 93% rename from broker/src/main/java/io/moquette/server/DefaultMoquetteSslContextCreator.java rename to broker/src/main/java/io/moquette/broker/DefaultMoquetteSslContextCreator.java index 1e1c6963..de282173 100644 --- a/broker/src/main/java/io/moquette/server/DefaultMoquetteSslContextCreator.java +++ b/broker/src/main/java/io/moquette/broker/DefaultMoquetteSslContextCreator.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server; +package io.moquette.broker; import java.io.File; import java.io.FileInputStream; @@ -34,8 +34,7 @@ import java.util.Collections; import java.util.Objects; import io.moquette.BrokerConstants; -import io.moquette.server.config.IConfig; -import io.moquette.spi.security.ISslContextCreator; +import io.moquette.broker.config.IConfig; import io.netty.handler.ssl.ClientAuth; import io.netty.handler.ssl.SslContext; import io.netty.handler.ssl.SslContextBuilder; @@ -46,16 +45,16 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * Moquette server implementation to load SSL certificate from local filesystem path configured in + * Moquette integration implementation to load SSL certificate from local filesystem path configured in * config file. */ -public class DefaultMoquetteSslContextCreator implements ISslContextCreator { +class DefaultMoquetteSslContextCreator implements ISslContextCreator { private static final Logger LOG = LoggerFactory.getLogger(DefaultMoquetteSslContextCreator.class); private final IConfig props; - public DefaultMoquetteSslContextCreator(IConfig props) { + DefaultMoquetteSslContextCreator(IConfig props) { this.props = Objects.requireNonNull(props); } @@ -131,7 +130,7 @@ public class DefaultMoquetteSslContextCreator implements ISslContextCreator { } /** - * The OpenSSL provider does not support the {@link KeyManagerFactory}, so we have to lookup the server + * The OpenSSL provider does not support the {@link KeyManagerFactory}, so we have to lookup the integration * certificate and key in order to provide it to OpenSSL. *

* TODO: SNI is currently not supported, we use only the first found private key. @@ -153,7 +152,7 @@ public class DefaultMoquetteSslContextCreator implements ISslContextCreator { private static void addClientAuthentication(KeyStore ks, SslContextBuilder contextBuilder) throws NoSuchAlgorithmException, KeyStoreException { LOG.warn("Client authentication is enabled. The keystore will be used as a truststore."); - // use keystore as truststore, as server needs to trust certificates signed by the server certificates + // use keystore as truststore, as integration needs to trust certificates signed by the integration certificates TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); tmf.init(ks); contextBuilder.clientAuth(ClientAuth.REQUIRE); diff --git a/broker/src/main/java/io/moquette/broker/IRetainedRepository.java b/broker/src/main/java/io/moquette/broker/IRetainedRepository.java index 92844b7e..79121256 100644 --- a/broker/src/main/java/io/moquette/broker/IRetainedRepository.java +++ b/broker/src/main/java/io/moquette/broker/IRetainedRepository.java @@ -15,7 +15,7 @@ */ package io.moquette.broker; -import io.moquette.spi.impl.subscriptions.Topic; +import io.moquette.broker.subscriptions.Topic; import io.netty.handler.codec.mqtt.MqttPublishMessage; public interface IRetainedRepository { diff --git a/broker/src/main/java/io/moquette/spi/security/ISslContextCreator.java b/broker/src/main/java/io/moquette/broker/ISslContextCreator.java similarity index 95% rename from broker/src/main/java/io/moquette/spi/security/ISslContextCreator.java rename to broker/src/main/java/io/moquette/broker/ISslContextCreator.java index 85b93c82..f9a88c3d 100644 --- a/broker/src/main/java/io/moquette/spi/security/ISslContextCreator.java +++ b/broker/src/main/java/io/moquette/broker/ISslContextCreator.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.security; +package io.moquette.broker; import io.netty.handler.ssl.SslContext; diff --git a/broker/src/main/java/io/moquette/broker/ISubscriptionsRepository.java b/broker/src/main/java/io/moquette/broker/ISubscriptionsRepository.java index f5948658..5b86c8be 100644 --- a/broker/src/main/java/io/moquette/broker/ISubscriptionsRepository.java +++ b/broker/src/main/java/io/moquette/broker/ISubscriptionsRepository.java @@ -15,7 +15,7 @@ */ package io.moquette.broker; -import io.moquette.spi.impl.subscriptions.Subscription; +import io.moquette.broker.subscriptions.Subscription; import java.util.List; diff --git a/broker/src/main/java/io/moquette/broker/InflightResender.java b/broker/src/main/java/io/moquette/broker/InflightResender.java index 6b89060e..514ef5ee 100644 --- a/broker/src/main/java/io/moquette/broker/InflightResender.java +++ b/broker/src/main/java/io/moquette/broker/InflightResender.java @@ -16,7 +16,6 @@ package io.moquette.broker; -import io.moquette.server.netty.NettyUtils; import io.netty.channel.ChannelDuplexHandler; import io.netty.channel.ChannelHandlerContext; import io.netty.util.concurrent.EventExecutor; diff --git a/broker/src/main/java/io/moquette/broker/MQTTConnection.java b/broker/src/main/java/io/moquette/broker/MQTTConnection.java index 1a053692..8cfaee63 100644 --- a/broker/src/main/java/io/moquette/broker/MQTTConnection.java +++ b/broker/src/main/java/io/moquette/broker/MQTTConnection.java @@ -15,10 +15,8 @@ */ package io.moquette.broker; -import io.moquette.server.netty.NettyUtils; -import io.moquette.spi.impl.DebugUtils; -import io.moquette.spi.impl.subscriptions.Topic; -import io.moquette.spi.security.IAuthenticator; +import io.moquette.broker.subscriptions.Topic; +import io.moquette.broker.security.IAuthenticator; import io.netty.buffer.ByteBuf; import io.netty.channel.Channel; import io.netty.channel.ChannelPipeline; @@ -154,7 +152,7 @@ final class MQTTConnection { // Generating client id. clientId = UUID.randomUUID().toString().replace("-", ""); - LOG.debug("Client has connected with server generated id: {}, username: {}, channel: {}", clientId, + LOG.debug("Client has connected with integration generated id: {}, username: {}, channel: {}", clientId, username, channel); } diff --git a/broker/src/main/java/io/moquette/broker/MQTTConnectionFactory.java b/broker/src/main/java/io/moquette/broker/MQTTConnectionFactory.java index d5fdb42e..6321cd8d 100644 --- a/broker/src/main/java/io/moquette/broker/MQTTConnectionFactory.java +++ b/broker/src/main/java/io/moquette/broker/MQTTConnectionFactory.java @@ -15,7 +15,7 @@ */ package io.moquette.broker; -import io.moquette.spi.security.IAuthenticator; +import io.moquette.broker.security.IAuthenticator; import io.netty.channel.Channel; class MQTTConnectionFactory { diff --git a/broker/src/main/java/io/moquette/broker/MemoryRetainedRepository.java b/broker/src/main/java/io/moquette/broker/MemoryRetainedRepository.java index a4b69682..17d5ae87 100644 --- a/broker/src/main/java/io/moquette/broker/MemoryRetainedRepository.java +++ b/broker/src/main/java/io/moquette/broker/MemoryRetainedRepository.java @@ -15,7 +15,7 @@ */ package io.moquette.broker; -import io.moquette.spi.impl.subscriptions.Topic; +import io.moquette.broker.subscriptions.Topic; import io.netty.handler.codec.mqtt.MqttPublishMessage; import java.util.concurrent.ConcurrentHashMap; diff --git a/broker/src/main/java/io/moquette/broker/MemorySubscriptionsRepository.java b/broker/src/main/java/io/moquette/broker/MemorySubscriptionsRepository.java index 48106102..6003524e 100644 --- a/broker/src/main/java/io/moquette/broker/MemorySubscriptionsRepository.java +++ b/broker/src/main/java/io/moquette/broker/MemorySubscriptionsRepository.java @@ -15,11 +15,10 @@ */ package io.moquette.broker; -import io.moquette.spi.impl.subscriptions.Subscription; +import io.moquette.broker.subscriptions.Subscription; import java.util.ArrayList; import java.util.Collections; -import java.util.LinkedList; import java.util.List; public class MemorySubscriptionsRepository implements ISubscriptionsRepository { diff --git a/broker/src/main/java/io/moquette/server/netty/MoquetteIdleTimeoutHandler.java b/broker/src/main/java/io/moquette/broker/MoquetteIdleTimeoutHandler.java similarity index 98% rename from broker/src/main/java/io/moquette/server/netty/MoquetteIdleTimeoutHandler.java rename to broker/src/main/java/io/moquette/broker/MoquetteIdleTimeoutHandler.java index 8e543b7e..0677aff0 100644 --- a/broker/src/main/java/io/moquette/server/netty/MoquetteIdleTimeoutHandler.java +++ b/broker/src/main/java/io/moquette/broker/MoquetteIdleTimeoutHandler.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server.netty; +package io.moquette.broker; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/broker/src/main/java/io/moquette/server/netty/NettyUtils.java b/broker/src/main/java/io/moquette/broker/NettyUtils.java similarity index 86% rename from broker/src/main/java/io/moquette/server/netty/NettyUtils.java rename to broker/src/main/java/io/moquette/broker/NettyUtils.java index f5661612..1d024c1b 100644 --- a/broker/src/main/java/io/moquette/server/netty/NettyUtils.java +++ b/broker/src/main/java/io/moquette/broker/NettyUtils.java @@ -14,9 +14,8 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server.netty; +package io.moquette.broker; -import io.moquette.server.Constants; import io.netty.channel.Channel; import io.netty.channel.ChannelHandlerContext; import io.netty.util.Attribute; @@ -28,12 +27,13 @@ import io.netty.util.AttributeKey; public final class NettyUtils { public static final String ATTR_USERNAME = "username"; - public static final String ATTR_SESSION_STOLEN = "sessionStolen"; - public static final String ATTR_CHANNEL_STATUS = "channelStatus"; - private static final AttributeKey ATTR_KEY_KEEPALIVE = AttributeKey.valueOf(Constants.KEEP_ALIVE); - private static final AttributeKey ATTR_KEY_CLEANSESSION = AttributeKey.valueOf(Constants.CLEAN_SESSION); - private static final AttributeKey ATTR_KEY_CLIENTID = AttributeKey.valueOf(Constants.ATTR_CLIENTID); + private static final String ATTR_CLIENTID = "ClientID"; + private static final String CLEAN_SESSION = "removeTemporaryQoS2"; + private static final String KEEP_ALIVE = "keepAlive"; + private static final AttributeKey ATTR_KEY_KEEPALIVE = AttributeKey.valueOf(KEEP_ALIVE); + private static final AttributeKey ATTR_KEY_CLEANSESSION = AttributeKey.valueOf(CLEAN_SESSION); + private static final AttributeKey ATTR_KEY_CLIENTID = AttributeKey.valueOf(ATTR_CLIENTID); private static final AttributeKey ATTR_KEY_USERNAME = AttributeKey.valueOf(ATTR_USERNAME); public static Object getAttribute(ChannelHandlerContext ctx, AttributeKey key) { diff --git a/broker/src/main/java/io/moquette/broker/NewNettyAcceptor.java b/broker/src/main/java/io/moquette/broker/NewNettyAcceptor.java index 48ce4e71..353cfea2 100644 --- a/broker/src/main/java/io/moquette/broker/NewNettyAcceptor.java +++ b/broker/src/main/java/io/moquette/broker/NewNettyAcceptor.java @@ -17,12 +17,8 @@ package io.moquette.broker; import io.moquette.BrokerConstants; -import io.moquette.server.config.IConfig; -import io.moquette.server.netty.AutoFlushHandler; -import io.moquette.server.netty.BugSnagErrorsHandler; -import io.moquette.server.netty.MoquetteIdleTimeoutHandler; -import io.moquette.server.netty.metrics.*; -import io.moquette.spi.security.ISslContextCreator; +import io.moquette.broker.config.IConfig; +import io.moquette.broker.metrics.*; import io.netty.bootstrap.ServerBootstrap; import io.netty.buffer.ByteBuf; import io.netty.channel.*; @@ -172,7 +168,7 @@ class NewNettyAcceptor { } private void initFactory(String host, int port, String protocol, final PipelineInitializer pipelieInitializer) { - LOG.debug("Initializing server. Protocol={}", protocol); + LOG.debug("Initializing integration. Protocol={}", protocol); ServerBootstrap b = new ServerBootstrap(); b.group(bossGroup, workerGroup).channel(channelClass) .childHandler(new ChannelInitializer() { @@ -187,13 +183,13 @@ class NewNettyAcceptor { .childOption(ChannelOption.TCP_NODELAY, nettyTcpNodelay) .childOption(ChannelOption.SO_KEEPALIVE, nettySoKeepalive); try { - LOG.debug("Binding server. host={}, port={}", host, port); + LOG.debug("Binding integration. host={}, port={}", host, port); // Bind and start to accept incoming connections. ChannelFuture f = b.bind(host, port); LOG.info("Server bound to host={}, port={}, protocol={}", host, port, protocol); f.sync().addListener(FIRE_EXCEPTION_ON_FAILURE); } catch (InterruptedException ex) { - LOG.error("An interruptedException was caught while initializing server. Protocol={}", protocol, ex); + LOG.error("An interruptedException was caught while initializing integration. Protocol={}", protocol, ex); } } diff --git a/broker/src/main/java/io/moquette/broker/NewNettyMQTTHandler.java b/broker/src/main/java/io/moquette/broker/NewNettyMQTTHandler.java index 854f00d6..9935beb8 100644 --- a/broker/src/main/java/io/moquette/broker/NewNettyMQTTHandler.java +++ b/broker/src/main/java/io/moquette/broker/NewNettyMQTTHandler.java @@ -16,7 +16,6 @@ package io.moquette.broker; -import io.moquette.server.netty.NettyUtils; import io.netty.channel.*; import io.netty.channel.ChannelHandler.Sharable; import io.netty.handler.codec.mqtt.MqttMessage; diff --git a/broker/src/main/java/io/moquette/broker/PostOffice.java b/broker/src/main/java/io/moquette/broker/PostOffice.java index c4a70fbd..6119b0fc 100644 --- a/broker/src/main/java/io/moquette/broker/PostOffice.java +++ b/broker/src/main/java/io/moquette/broker/PostOffice.java @@ -15,12 +15,11 @@ */ package io.moquette.broker; -import io.moquette.server.netty.NettyUtils; -import io.moquette.spi.impl.BrokerInterceptor; -import io.moquette.spi.impl.subscriptions.ISubscriptionsDirectory; -import io.moquette.spi.impl.subscriptions.Subscription; -import io.moquette.spi.impl.subscriptions.Topic; -import io.moquette.spi.security.IAuthorizatorPolicy; +import io.moquette.interception.BrokerInterceptor; +import io.moquette.broker.subscriptions.ISubscriptionsDirectory; +import io.moquette.broker.subscriptions.Subscription; +import io.moquette.broker.subscriptions.Topic; +import io.moquette.broker.security.IAuthorizatorPolicy; import io.netty.buffer.ByteBuf; import io.netty.handler.codec.mqtt.*; import org.slf4j.Logger; @@ -31,7 +30,7 @@ import java.util.List; import java.util.Set; import java.util.stream.Collectors; -import static io.moquette.spi.impl.Utils.messageId; +import static io.moquette.broker.Utils.messageId; import static io.netty.handler.codec.mqtt.MqttMessageIdVariableHeader.from; import static io.netty.handler.codec.mqtt.MqttQoS.*; diff --git a/broker/src/main/java/io/moquette/broker/Server.java b/broker/src/main/java/io/moquette/broker/Server.java index c4d372c9..4391361d 100644 --- a/broker/src/main/java/io/moquette/broker/Server.java +++ b/broker/src/main/java/io/moquette/broker/Server.java @@ -16,18 +16,16 @@ package io.moquette.broker; import io.moquette.BrokerConstants; +import io.moquette.broker.config.*; import io.moquette.interception.InterceptHandler; import io.moquette.persistence.MemoryStorageService; -import io.moquette.server.DefaultMoquetteSslContextCreator; -import io.moquette.server.config.*; import io.moquette.spi.ISessionsStore; -import io.moquette.spi.impl.BrokerInterceptor; -import io.moquette.spi.impl.security.*; -import io.moquette.spi.impl.subscriptions.CTrieSubscriptionDirectory; -import io.moquette.spi.impl.subscriptions.ISubscriptionsDirectory; -import io.moquette.spi.security.IAuthenticator; -import io.moquette.spi.security.IAuthorizatorPolicy; -import io.moquette.spi.security.ISslContextCreator; +import io.moquette.interception.BrokerInterceptor; +import io.moquette.broker.security.*; +import io.moquette.broker.subscriptions.CTrieSubscriptionDirectory; +import io.moquette.broker.subscriptions.ISubscriptionsDirectory; +import io.moquette.broker.security.IAuthenticator; +import io.moquette.broker.security.IAuthorizatorPolicy; import io.netty.handler.codec.mqtt.MqttPublishMessage; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -70,7 +68,7 @@ public class Server { */ public void startServer() throws IOException { File defaultConfigurationFile = defaultConfigFile(); - LOG.info("Starting Moquette server. Configuration file path={}", defaultConfigurationFile.getAbsolutePath()); + LOG.info("Starting Moquette integration. Configuration file path={}", defaultConfigurationFile.getAbsolutePath()); IResourceLoader filesystemLoader = new FileResourceLoader(defaultConfigurationFile); final IConfig config = new ResourceLoaderConfig(filesystemLoader); startServer(config); @@ -88,14 +86,14 @@ public class Server { * @throws IOException in case of any IO Error. */ public void startServer(File configFile) throws IOException { - LOG.info("Starting Moquette server. Configuration file path: {}", configFile.getAbsolutePath()); + LOG.info("Starting Moquette integration. Configuration file path: {}", configFile.getAbsolutePath()); IResourceLoader filesystemLoader = new FileResourceLoader(configFile); final IConfig config = new ResourceLoaderConfig(filesystemLoader); startServer(config); } /** - * Starts the server with the given properties. + * Starts the integration with the given properties. *

* Its suggested to at least have the following properties: *

    @@ -107,7 +105,7 @@ public class Server { * @throws IOException in case of any IO Error. */ public void startServer(Properties configProps) throws IOException { - LOG.debug("Starting Moquette server using properties object"); + LOG.debug("Starting Moquette integration using properties object"); final IConfig config = new MemoryConfig(configProps); startServer(config); } @@ -119,7 +117,7 @@ public class Server { * @throws IOException in case of any IO Error. */ public void startServer(IConfig config) throws IOException { - LOG.debug("Starting Moquette server using IConfig instance"); + LOG.debug("Starting Moquette integration using IConfig instance"); startServer(config, null); } @@ -132,7 +130,7 @@ public class Server { * @throws IOException in case of any IO Error. */ public void startServer(IConfig config, List handlers) throws IOException { - LOG.debug("Starting moquette server using IConfig instance and intercept handlers"); + LOG.debug("Starting moquette integration using IConfig instance and intercept handlers"); startServer(config, handlers, null, null, null); } @@ -181,7 +179,7 @@ public class Server { acceptor.initialize(mqttHandler, config, sslCtxCreator); final long startTime = System.currentTimeMillis() - start; - LOG.info("Moquette server has been started successfully in {} ms", startTime); + LOG.info("Moquette integration has been started successfully in {} ms", startTime); initialized = true; } @@ -296,25 +294,25 @@ public class Server { /** * Use the broker to publish a message. It's intended for embedding applications. It can be used - * only after the server is correctly started with startServer. + * only after the integration is correctly started with startServer. * * @param msg the message to forward. - * @param clientId the id of the sending server. - * @throws IllegalStateException if the server is not yet started + * @param clientId the id of the sending integration. + * @throws IllegalStateException if the integration is not yet started */ public void internalPublish(MqttPublishMessage msg, final String clientId) { final int messageID = msg.variableHeader().packetId(); if (!initialized) { LOG.error("Moquette is not started, internal message cannot be published. CId: {}, messageId: {}", clientId, messageID); - throw new IllegalStateException("Can't publish on a server is not yet started"); + throw new IllegalStateException("Can't publish on a integration is not yet started"); } LOG.trace("Internal publishing message CId: {}, messageId: {}", clientId, messageID); dispatcher.internalPublish(msg); } public void stopServer() { - LOG.info("Unbinding server from the configured ports"); + LOG.info("Unbinding integration from the configured ports"); acceptor.close(); LOG.trace("Stopping MQTT protocol processor"); initialized = false; @@ -323,7 +321,7 @@ public class Server { // and SessionsRepository does not stop its tasks. Thus shutdownNow(). scheduler.shutdownNow(); - LOG.info("Moquette server has been stopped."); + LOG.info("Moquette integration has been stopped."); } /** @@ -349,7 +347,7 @@ public class Server { if (!initialized) { LOG.error("Moquette is not started, MQTT message interceptor cannot be added. InterceptorId={}", interceptHandler.getID()); - throw new IllegalStateException("Can't register interceptors on a server that is not yet started"); + throw new IllegalStateException("Can't register interceptors on a integration that is not yet started"); } LOG.info("Adding MQTT message interceptor. InterceptorId={}", interceptHandler.getID()); interceptor.addInterceptHandler(interceptHandler); @@ -364,7 +362,7 @@ public class Server { if (!initialized) { LOG.error("Moquette is not started, MQTT message interceptor cannot be removed. InterceptorId={}", interceptHandler.getID()); - throw new IllegalStateException("Can't deregister interceptors from a server that is not yet started"); + throw new IllegalStateException("Can't deregister interceptors from a integration that is not yet started"); } LOG.info("Removing MQTT message interceptor. InterceptorId={}", interceptHandler.getID()); interceptor.removeInterceptHandler(interceptHandler); diff --git a/broker/src/main/java/io/moquette/broker/Session.java b/broker/src/main/java/io/moquette/broker/Session.java index 52f7b8fb..ea82ef01 100644 --- a/broker/src/main/java/io/moquette/broker/Session.java +++ b/broker/src/main/java/io/moquette/broker/Session.java @@ -15,8 +15,8 @@ */ package io.moquette.broker; -import io.moquette.spi.impl.subscriptions.Subscription; -import io.moquette.spi.impl.subscriptions.Topic; +import io.moquette.broker.subscriptions.Subscription; +import io.moquette.broker.subscriptions.Topic; import io.netty.buffer.ByteBuf; import io.netty.handler.codec.mqtt.*; import io.netty.util.ReferenceCountUtil; diff --git a/broker/src/main/java/io/moquette/broker/SessionRegistry.java b/broker/src/main/java/io/moquette/broker/SessionRegistry.java index f4853b4d..47dbfe52 100644 --- a/broker/src/main/java/io/moquette/broker/SessionRegistry.java +++ b/broker/src/main/java/io/moquette/broker/SessionRegistry.java @@ -16,10 +16,10 @@ package io.moquette.broker; import io.moquette.broker.Session.SessionStatus; -import io.moquette.spi.impl.BrokerInterceptor; -import io.moquette.spi.impl.subscriptions.ISubscriptionsDirectory; -import io.moquette.spi.impl.subscriptions.Subscription; -import io.moquette.spi.impl.subscriptions.Topic; +import io.moquette.interception.BrokerInterceptor; +import io.moquette.broker.subscriptions.ISubscriptionsDirectory; +import io.moquette.broker.subscriptions.Subscription; +import io.moquette.broker.subscriptions.Topic; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.handler.codec.mqtt.MqttConnectMessage; diff --git a/broker/src/main/java/io/moquette/spi/impl/Utils.java b/broker/src/main/java/io/moquette/broker/Utils.java similarity index 98% rename from broker/src/main/java/io/moquette/spi/impl/Utils.java rename to broker/src/main/java/io/moquette/broker/Utils.java index 6f879818..8c178e11 100644 --- a/broker/src/main/java/io/moquette/spi/impl/Utils.java +++ b/broker/src/main/java/io/moquette/broker/Utils.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl; +package io.moquette.broker; import io.netty.buffer.ByteBuf; import io.netty.handler.codec.mqtt.MqttMessage; diff --git a/broker/src/main/java/io/moquette/server/config/ClasspathResourceLoader.java b/broker/src/main/java/io/moquette/broker/config/ClasspathResourceLoader.java similarity index 98% rename from broker/src/main/java/io/moquette/server/config/ClasspathResourceLoader.java rename to broker/src/main/java/io/moquette/broker/config/ClasspathResourceLoader.java index 5fa388c3..7c27f33f 100644 --- a/broker/src/main/java/io/moquette/server/config/ClasspathResourceLoader.java +++ b/broker/src/main/java/io/moquette/broker/config/ClasspathResourceLoader.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server.config; +package io.moquette.broker.config; import java.io.InputStream; import java.io.InputStreamReader; diff --git a/broker/src/main/java/io/moquette/server/config/ConfigurationParser.java b/broker/src/main/java/io/moquette/broker/config/ConfigurationParser.java similarity index 97% rename from broker/src/main/java/io/moquette/server/config/ConfigurationParser.java rename to broker/src/main/java/io/moquette/broker/config/ConfigurationParser.java index bb99776a..f439cbd0 100644 --- a/broker/src/main/java/io/moquette/server/config/ConfigurationParser.java +++ b/broker/src/main/java/io/moquette/broker/config/ConfigurationParser.java @@ -14,14 +14,12 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server.config; +package io.moquette.broker.config; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.BufferedReader; import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileReader; import java.io.IOException; import java.io.Reader; import java.nio.charset.StandardCharsets; diff --git a/broker/src/main/java/io/moquette/server/config/FileResourceLoader.java b/broker/src/main/java/io/moquette/broker/config/FileResourceLoader.java similarity index 96% rename from broker/src/main/java/io/moquette/server/config/FileResourceLoader.java rename to broker/src/main/java/io/moquette/broker/config/FileResourceLoader.java index 2946d732..d15309fa 100644 --- a/broker/src/main/java/io/moquette/server/config/FileResourceLoader.java +++ b/broker/src/main/java/io/moquette/broker/config/FileResourceLoader.java @@ -14,11 +14,9 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server.config; +package io.moquette.broker.config; import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileReader; import java.io.IOException; import java.io.Reader; import java.nio.file.Files; diff --git a/broker/src/main/java/io/moquette/server/config/IConfig.java b/broker/src/main/java/io/moquette/broker/config/IConfig.java similarity index 98% rename from broker/src/main/java/io/moquette/server/config/IConfig.java rename to broker/src/main/java/io/moquette/broker/config/IConfig.java index d661a1f0..3bd06b60 100644 --- a/broker/src/main/java/io/moquette/server/config/IConfig.java +++ b/broker/src/main/java/io/moquette/broker/config/IConfig.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server.config; +package io.moquette.broker.config; import io.moquette.BrokerConstants; diff --git a/broker/src/main/java/io/moquette/server/config/IResourceLoader.java b/broker/src/main/java/io/moquette/broker/config/IResourceLoader.java similarity index 96% rename from broker/src/main/java/io/moquette/server/config/IResourceLoader.java rename to broker/src/main/java/io/moquette/broker/config/IResourceLoader.java index 223fbe8c..163d1530 100644 --- a/broker/src/main/java/io/moquette/server/config/IResourceLoader.java +++ b/broker/src/main/java/io/moquette/broker/config/IResourceLoader.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server.config; +package io.moquette.broker.config; import java.io.Reader; diff --git a/broker/src/main/java/io/moquette/server/config/MemoryConfig.java b/broker/src/main/java/io/moquette/broker/config/MemoryConfig.java similarity index 98% rename from broker/src/main/java/io/moquette/server/config/MemoryConfig.java rename to broker/src/main/java/io/moquette/broker/config/MemoryConfig.java index f7c2d012..fbf0de3a 100644 --- a/broker/src/main/java/io/moquette/server/config/MemoryConfig.java +++ b/broker/src/main/java/io/moquette/broker/config/MemoryConfig.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server.config; +package io.moquette.broker.config; import java.util.Map; import java.util.Properties; diff --git a/broker/src/main/java/io/moquette/server/config/ResourceLoaderConfig.java b/broker/src/main/java/io/moquette/broker/config/ResourceLoaderConfig.java similarity index 99% rename from broker/src/main/java/io/moquette/server/config/ResourceLoaderConfig.java rename to broker/src/main/java/io/moquette/broker/config/ResourceLoaderConfig.java index d97bd351..dd07d6d4 100644 --- a/broker/src/main/java/io/moquette/server/config/ResourceLoaderConfig.java +++ b/broker/src/main/java/io/moquette/broker/config/ResourceLoaderConfig.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server.config; +package io.moquette.broker.config; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/broker/src/main/java/io/moquette/server/netty/metrics/BytesMetrics.java b/broker/src/main/java/io/moquette/broker/metrics/BytesMetrics.java similarity index 95% rename from broker/src/main/java/io/moquette/server/netty/metrics/BytesMetrics.java rename to broker/src/main/java/io/moquette/broker/metrics/BytesMetrics.java index 3da6277d..fc943da7 100644 --- a/broker/src/main/java/io/moquette/server/netty/metrics/BytesMetrics.java +++ b/broker/src/main/java/io/moquette/broker/metrics/BytesMetrics.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server.netty.metrics; +package io.moquette.broker.metrics; public class BytesMetrics { diff --git a/broker/src/main/java/io/moquette/server/netty/metrics/BytesMetricsCollector.java b/broker/src/main/java/io/moquette/broker/metrics/BytesMetricsCollector.java similarity index 96% rename from broker/src/main/java/io/moquette/server/netty/metrics/BytesMetricsCollector.java rename to broker/src/main/java/io/moquette/broker/metrics/BytesMetricsCollector.java index 110e7129..6d4701ee 100644 --- a/broker/src/main/java/io/moquette/server/netty/metrics/BytesMetricsCollector.java +++ b/broker/src/main/java/io/moquette/broker/metrics/BytesMetricsCollector.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server.netty.metrics; +package io.moquette.broker.metrics; import java.util.concurrent.atomic.AtomicLong; diff --git a/broker/src/main/java/io/moquette/server/netty/metrics/BytesMetricsHandler.java b/broker/src/main/java/io/moquette/broker/metrics/BytesMetricsHandler.java similarity index 98% rename from broker/src/main/java/io/moquette/server/netty/metrics/BytesMetricsHandler.java rename to broker/src/main/java/io/moquette/broker/metrics/BytesMetricsHandler.java index 0ab2aeae..9c0f95e3 100644 --- a/broker/src/main/java/io/moquette/server/netty/metrics/BytesMetricsHandler.java +++ b/broker/src/main/java/io/moquette/broker/metrics/BytesMetricsHandler.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server.netty.metrics; +package io.moquette.broker.metrics; import io.netty.buffer.ByteBuf; import io.netty.channel.Channel; diff --git a/broker/src/main/java/io/moquette/server/netty/metrics/DropWizardMetricsHandler.java b/broker/src/main/java/io/moquette/broker/metrics/DropWizardMetricsHandler.java similarity index 96% rename from broker/src/main/java/io/moquette/server/netty/metrics/DropWizardMetricsHandler.java rename to broker/src/main/java/io/moquette/broker/metrics/DropWizardMetricsHandler.java index e53e730c..83ae6f8e 100644 --- a/broker/src/main/java/io/moquette/server/netty/metrics/DropWizardMetricsHandler.java +++ b/broker/src/main/java/io/moquette/broker/metrics/DropWizardMetricsHandler.java @@ -13,14 +13,14 @@ * * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server.netty.metrics; +package io.moquette.broker.metrics; import com.codahale.metrics.Counter; import com.codahale.metrics.Meter; import com.codahale.metrics.MetricRegistry; import com.librato.metrics.reporter.Librato; -import io.moquette.server.config.IConfig; -import io.moquette.server.netty.NettyUtils; +import io.moquette.broker.config.IConfig; +import io.moquette.broker.NettyUtils; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelInboundHandlerAdapter; import io.netty.handler.codec.mqtt.MqttMessage; diff --git a/broker/src/main/java/io/moquette/server/netty/metrics/MQTTMessageLogger.java b/broker/src/main/java/io/moquette/broker/metrics/MQTTMessageLogger.java similarity index 96% rename from broker/src/main/java/io/moquette/server/netty/metrics/MQTTMessageLogger.java rename to broker/src/main/java/io/moquette/broker/metrics/MQTTMessageLogger.java index b6d19b0c..e210ac00 100644 --- a/broker/src/main/java/io/moquette/server/netty/metrics/MQTTMessageLogger.java +++ b/broker/src/main/java/io/moquette/broker/metrics/MQTTMessageLogger.java @@ -14,9 +14,9 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server.netty.metrics; +package io.moquette.broker.metrics; -import io.moquette.server.netty.NettyUtils; +import io.moquette.broker.NettyUtils; import io.netty.channel.ChannelDuplexHandler; import io.netty.channel.ChannelHandler.Sharable; import io.netty.channel.ChannelHandlerContext; @@ -28,7 +28,7 @@ import org.slf4j.LoggerFactory; import java.io.IOException; import java.util.List; -import static io.moquette.spi.impl.Utils.messageId; +import static io.moquette.broker.Utils.messageId; import static io.netty.channel.ChannelFutureListener.CLOSE_ON_FAILURE; /** diff --git a/broker/src/main/java/io/moquette/server/netty/metrics/MessageMetrics.java b/broker/src/main/java/io/moquette/broker/metrics/MessageMetrics.java similarity index 96% rename from broker/src/main/java/io/moquette/server/netty/metrics/MessageMetrics.java rename to broker/src/main/java/io/moquette/broker/metrics/MessageMetrics.java index 99aa0416..4557b55a 100644 --- a/broker/src/main/java/io/moquette/server/netty/metrics/MessageMetrics.java +++ b/broker/src/main/java/io/moquette/broker/metrics/MessageMetrics.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server.netty.metrics; +package io.moquette.broker.metrics; public class MessageMetrics { diff --git a/broker/src/main/java/io/moquette/server/netty/metrics/MessageMetricsCollector.java b/broker/src/main/java/io/moquette/broker/metrics/MessageMetricsCollector.java similarity index 96% rename from broker/src/main/java/io/moquette/server/netty/metrics/MessageMetricsCollector.java rename to broker/src/main/java/io/moquette/broker/metrics/MessageMetricsCollector.java index c8f1912d..b64852f3 100644 --- a/broker/src/main/java/io/moquette/server/netty/metrics/MessageMetricsCollector.java +++ b/broker/src/main/java/io/moquette/broker/metrics/MessageMetricsCollector.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server.netty.metrics; +package io.moquette.broker.metrics; import java.util.concurrent.atomic.AtomicLong; diff --git a/broker/src/main/java/io/moquette/server/netty/metrics/MessageMetricsHandler.java b/broker/src/main/java/io/moquette/broker/metrics/MessageMetricsHandler.java similarity index 98% rename from broker/src/main/java/io/moquette/server/netty/metrics/MessageMetricsHandler.java rename to broker/src/main/java/io/moquette/broker/metrics/MessageMetricsHandler.java index d12671ca..b44dae66 100644 --- a/broker/src/main/java/io/moquette/server/netty/metrics/MessageMetricsHandler.java +++ b/broker/src/main/java/io/moquette/broker/metrics/MessageMetricsHandler.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server.netty.metrics; +package io.moquette.broker.metrics; import io.netty.channel.Channel; import io.netty.channel.ChannelDuplexHandler; diff --git a/broker/src/main/java/io/moquette/spi/impl/security/ACLFileParser.java b/broker/src/main/java/io/moquette/broker/security/ACLFileParser.java similarity index 99% rename from broker/src/main/java/io/moquette/spi/impl/security/ACLFileParser.java rename to broker/src/main/java/io/moquette/broker/security/ACLFileParser.java index ebe444bc..846a5d83 100644 --- a/broker/src/main/java/io/moquette/spi/impl/security/ACLFileParser.java +++ b/broker/src/main/java/io/moquette/broker/security/ACLFileParser.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl.security; +package io.moquette.broker.security; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/broker/src/main/java/io/moquette/spi/impl/security/AcceptAllAuthenticator.java b/broker/src/main/java/io/moquette/broker/security/AcceptAllAuthenticator.java similarity index 89% rename from broker/src/main/java/io/moquette/spi/impl/security/AcceptAllAuthenticator.java rename to broker/src/main/java/io/moquette/broker/security/AcceptAllAuthenticator.java index fc568875..02d82041 100644 --- a/broker/src/main/java/io/moquette/spi/impl/security/AcceptAllAuthenticator.java +++ b/broker/src/main/java/io/moquette/broker/security/AcceptAllAuthenticator.java @@ -14,9 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl.security; - -import io.moquette.spi.security.IAuthenticator; +package io.moquette.broker.security; public class AcceptAllAuthenticator implements IAuthenticator { diff --git a/broker/src/main/java/io/moquette/spi/impl/security/Authorization.java b/broker/src/main/java/io/moquette/broker/security/Authorization.java similarity index 91% rename from broker/src/main/java/io/moquette/spi/impl/security/Authorization.java rename to broker/src/main/java/io/moquette/broker/security/Authorization.java index f35c8e1c..777a6026 100644 --- a/broker/src/main/java/io/moquette/spi/impl/security/Authorization.java +++ b/broker/src/main/java/io/moquette/broker/security/Authorization.java @@ -14,10 +14,10 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl.security; +package io.moquette.broker.security; -import static io.moquette.spi.impl.security.Authorization.Permission.READWRITE; -import io.moquette.spi.impl.subscriptions.Topic; +import static io.moquette.broker.security.Authorization.Permission.READWRITE; +import io.moquette.broker.subscriptions.Topic; /** * Carries the read/write authorization to topics for the users. diff --git a/broker/src/main/java/io/moquette/spi/impl/security/AuthorizationsCollector.java b/broker/src/main/java/io/moquette/broker/security/AuthorizationsCollector.java similarity index 97% rename from broker/src/main/java/io/moquette/spi/impl/security/AuthorizationsCollector.java rename to broker/src/main/java/io/moquette/broker/security/AuthorizationsCollector.java index 6c53031f..1bf9e435 100644 --- a/broker/src/main/java/io/moquette/spi/impl/security/AuthorizationsCollector.java +++ b/broker/src/main/java/io/moquette/broker/security/AuthorizationsCollector.java @@ -14,10 +14,10 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl.security; +package io.moquette.broker.security; + +import io.moquette.broker.subscriptions.Topic; -import io.moquette.spi.impl.subscriptions.Topic; -import io.moquette.spi.security.IAuthorizatorPolicy; import java.text.ParseException; import java.util.*; diff --git a/broker/src/main/java/io/moquette/spi/impl/security/DBAuthenticator.java b/broker/src/main/java/io/moquette/broker/security/DBAuthenticator.java similarity index 97% rename from broker/src/main/java/io/moquette/spi/impl/security/DBAuthenticator.java rename to broker/src/main/java/io/moquette/broker/security/DBAuthenticator.java index a30ea0e9..e23fc0f2 100644 --- a/broker/src/main/java/io/moquette/spi/impl/security/DBAuthenticator.java +++ b/broker/src/main/java/io/moquette/broker/security/DBAuthenticator.java @@ -14,12 +14,11 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl.security; +package io.moquette.broker.security; import com.zaxxer.hikari.HikariDataSource; import io.moquette.BrokerConstants; -import io.moquette.server.config.IConfig; -import io.moquette.spi.security.IAuthenticator; +import io.moquette.broker.config.IConfig; import org.apache.commons.codec.binary.Hex; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/broker/src/main/java/io/moquette/spi/impl/security/DenyAllAuthorizatorPolicy.java b/broker/src/main/java/io/moquette/broker/security/DenyAllAuthorizatorPolicy.java similarity index 86% rename from broker/src/main/java/io/moquette/spi/impl/security/DenyAllAuthorizatorPolicy.java rename to broker/src/main/java/io/moquette/broker/security/DenyAllAuthorizatorPolicy.java index 4256e664..b15a0bee 100644 --- a/broker/src/main/java/io/moquette/spi/impl/security/DenyAllAuthorizatorPolicy.java +++ b/broker/src/main/java/io/moquette/broker/security/DenyAllAuthorizatorPolicy.java @@ -14,10 +14,9 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl.security; +package io.moquette.broker.security; -import io.moquette.spi.impl.subscriptions.Topic; -import io.moquette.spi.security.IAuthorizatorPolicy; +import io.moquette.broker.subscriptions.Topic; public class DenyAllAuthorizatorPolicy implements IAuthorizatorPolicy { diff --git a/broker/src/main/java/io/moquette/spi/impl/security/FileAuthenticator.java b/broker/src/main/java/io/moquette/broker/security/FileAuthenticator.java similarity index 93% rename from broker/src/main/java/io/moquette/spi/impl/security/FileAuthenticator.java rename to broker/src/main/java/io/moquette/broker/security/FileAuthenticator.java index 93cc54c8..f33ec5f3 100644 --- a/broker/src/main/java/io/moquette/spi/impl/security/FileAuthenticator.java +++ b/broker/src/main/java/io/moquette/broker/security/FileAuthenticator.java @@ -14,9 +14,9 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl.security; +package io.moquette.broker.security; -import io.moquette.server.config.FileResourceLoader; +import io.moquette.broker.config.FileResourceLoader; /** * Load user credentials from a text file. Each line of the file is formatted as diff --git a/broker/src/main/java/io/moquette/spi/security/IAuthenticator.java b/broker/src/main/java/io/moquette/broker/security/IAuthenticator.java similarity index 95% rename from broker/src/main/java/io/moquette/spi/security/IAuthenticator.java rename to broker/src/main/java/io/moquette/broker/security/IAuthenticator.java index 5b43b159..1b3b183f 100644 --- a/broker/src/main/java/io/moquette/spi/security/IAuthenticator.java +++ b/broker/src/main/java/io/moquette/broker/security/IAuthenticator.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.security; +package io.moquette.broker.security; /** * username and password checker diff --git a/broker/src/main/java/io/moquette/spi/security/IAuthorizatorPolicy.java b/broker/src/main/java/io/moquette/broker/security/IAuthorizatorPolicy.java similarity index 94% rename from broker/src/main/java/io/moquette/spi/security/IAuthorizatorPolicy.java rename to broker/src/main/java/io/moquette/broker/security/IAuthorizatorPolicy.java index a051f54c..21857195 100644 --- a/broker/src/main/java/io/moquette/spi/security/IAuthorizatorPolicy.java +++ b/broker/src/main/java/io/moquette/broker/security/IAuthorizatorPolicy.java @@ -14,9 +14,9 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.security; +package io.moquette.broker.security; -import io.moquette.spi.impl.subscriptions.Topic; +import io.moquette.broker.subscriptions.Topic; /** * ACL checker. diff --git a/broker/src/main/java/io/moquette/spi/impl/security/PermitAllAuthorizatorPolicy.java b/broker/src/main/java/io/moquette/broker/security/PermitAllAuthorizatorPolicy.java similarity index 86% rename from broker/src/main/java/io/moquette/spi/impl/security/PermitAllAuthorizatorPolicy.java rename to broker/src/main/java/io/moquette/broker/security/PermitAllAuthorizatorPolicy.java index 76badac6..e5d021c8 100644 --- a/broker/src/main/java/io/moquette/spi/impl/security/PermitAllAuthorizatorPolicy.java +++ b/broker/src/main/java/io/moquette/broker/security/PermitAllAuthorizatorPolicy.java @@ -14,10 +14,9 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl.security; +package io.moquette.broker.security; -import io.moquette.spi.impl.subscriptions.Topic; -import io.moquette.spi.security.IAuthorizatorPolicy; +import io.moquette.broker.subscriptions.Topic; public class PermitAllAuthorizatorPolicy implements IAuthorizatorPolicy { diff --git a/broker/src/main/java/io/moquette/spi/impl/security/ResourceAuthenticator.java b/broker/src/main/java/io/moquette/broker/security/ResourceAuthenticator.java similarity index 97% rename from broker/src/main/java/io/moquette/spi/impl/security/ResourceAuthenticator.java rename to broker/src/main/java/io/moquette/broker/security/ResourceAuthenticator.java index cee38e24..7a102210 100644 --- a/broker/src/main/java/io/moquette/spi/impl/security/ResourceAuthenticator.java +++ b/broker/src/main/java/io/moquette/broker/security/ResourceAuthenticator.java @@ -14,10 +14,9 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl.security; +package io.moquette.broker.security; -import io.moquette.server.config.IResourceLoader; -import io.moquette.spi.security.IAuthenticator; +import io.moquette.broker.config.IResourceLoader; import org.apache.commons.codec.digest.DigestUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/broker/src/main/java/io/moquette/spi/impl/subscriptions/CNode.java b/broker/src/main/java/io/moquette/broker/subscriptions/CNode.java similarity index 97% rename from broker/src/main/java/io/moquette/spi/impl/subscriptions/CNode.java rename to broker/src/main/java/io/moquette/broker/subscriptions/CNode.java index f4793339..70c83576 100644 --- a/broker/src/main/java/io/moquette/spi/impl/subscriptions/CNode.java +++ b/broker/src/main/java/io/moquette/broker/subscriptions/CNode.java @@ -13,9 +13,7 @@ * * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl.subscriptions; - -import io.netty.handler.codec.mqtt.MqttQoS; +package io.moquette.broker.subscriptions; import java.util.*; diff --git a/broker/src/main/java/io/moquette/spi/impl/subscriptions/CTrieSubscriptionDirectory.java b/broker/src/main/java/io/moquette/broker/subscriptions/CTrieSubscriptionDirectory.java similarity index 99% rename from broker/src/main/java/io/moquette/spi/impl/subscriptions/CTrieSubscriptionDirectory.java rename to broker/src/main/java/io/moquette/broker/subscriptions/CTrieSubscriptionDirectory.java index f1df5440..0a345ab3 100644 --- a/broker/src/main/java/io/moquette/spi/impl/subscriptions/CTrieSubscriptionDirectory.java +++ b/broker/src/main/java/io/moquette/broker/subscriptions/CTrieSubscriptionDirectory.java @@ -13,7 +13,7 @@ * * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl.subscriptions; +package io.moquette.broker.subscriptions; import io.moquette.broker.ISubscriptionsRepository; import org.slf4j.Logger; diff --git a/broker/src/main/java/io/moquette/spi/impl/subscriptions/DumpTreeVisitor.java b/broker/src/main/java/io/moquette/broker/subscriptions/DumpTreeVisitor.java similarity index 97% rename from broker/src/main/java/io/moquette/spi/impl/subscriptions/DumpTreeVisitor.java rename to broker/src/main/java/io/moquette/broker/subscriptions/DumpTreeVisitor.java index dc9d4992..b98909e4 100644 --- a/broker/src/main/java/io/moquette/spi/impl/subscriptions/DumpTreeVisitor.java +++ b/broker/src/main/java/io/moquette/broker/subscriptions/DumpTreeVisitor.java @@ -13,7 +13,7 @@ * * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl.subscriptions; +package io.moquette.broker.subscriptions; import io.netty.util.internal.StringUtil; diff --git a/broker/src/main/java/io/moquette/spi/impl/subscriptions/INode.java b/broker/src/main/java/io/moquette/broker/subscriptions/INode.java similarity index 96% rename from broker/src/main/java/io/moquette/spi/impl/subscriptions/INode.java rename to broker/src/main/java/io/moquette/broker/subscriptions/INode.java index a1f4e675..51c526ae 100644 --- a/broker/src/main/java/io/moquette/spi/impl/subscriptions/INode.java +++ b/broker/src/main/java/io/moquette/broker/subscriptions/INode.java @@ -13,7 +13,7 @@ * * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl.subscriptions; +package io.moquette.broker.subscriptions; import java.util.concurrent.atomic.AtomicReference; diff --git a/broker/src/main/java/io/moquette/spi/impl/subscriptions/ISubscriptionsDirectory.java b/broker/src/main/java/io/moquette/broker/subscriptions/ISubscriptionsDirectory.java similarity index 96% rename from broker/src/main/java/io/moquette/spi/impl/subscriptions/ISubscriptionsDirectory.java rename to broker/src/main/java/io/moquette/broker/subscriptions/ISubscriptionsDirectory.java index ad821d58..a9957d74 100644 --- a/broker/src/main/java/io/moquette/spi/impl/subscriptions/ISubscriptionsDirectory.java +++ b/broker/src/main/java/io/moquette/broker/subscriptions/ISubscriptionsDirectory.java @@ -13,7 +13,7 @@ * * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl.subscriptions; +package io.moquette.broker.subscriptions; import io.moquette.broker.ISubscriptionsRepository; diff --git a/broker/src/main/java/io/moquette/spi/impl/subscriptions/Subscription.java b/broker/src/main/java/io/moquette/broker/subscriptions/Subscription.java similarity index 98% rename from broker/src/main/java/io/moquette/spi/impl/subscriptions/Subscription.java rename to broker/src/main/java/io/moquette/broker/subscriptions/Subscription.java index 7838d2eb..4a42a1e5 100644 --- a/broker/src/main/java/io/moquette/spi/impl/subscriptions/Subscription.java +++ b/broker/src/main/java/io/moquette/broker/subscriptions/Subscription.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl.subscriptions; +package io.moquette.broker.subscriptions; import io.netty.handler.codec.mqtt.MqttQoS; diff --git a/broker/src/main/java/io/moquette/spi/impl/subscriptions/SubscriptionCounterVisitor.java b/broker/src/main/java/io/moquette/broker/subscriptions/SubscriptionCounterVisitor.java similarity index 95% rename from broker/src/main/java/io/moquette/spi/impl/subscriptions/SubscriptionCounterVisitor.java rename to broker/src/main/java/io/moquette/broker/subscriptions/SubscriptionCounterVisitor.java index e8a3a33c..cd55df1a 100644 --- a/broker/src/main/java/io/moquette/spi/impl/subscriptions/SubscriptionCounterVisitor.java +++ b/broker/src/main/java/io/moquette/broker/subscriptions/SubscriptionCounterVisitor.java @@ -13,7 +13,7 @@ * * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl.subscriptions; +package io.moquette.broker.subscriptions; import java.util.concurrent.atomic.AtomicInteger; diff --git a/broker/src/main/java/io/moquette/spi/impl/subscriptions/TNode.java b/broker/src/main/java/io/moquette/broker/subscriptions/TNode.java similarity index 97% rename from broker/src/main/java/io/moquette/spi/impl/subscriptions/TNode.java rename to broker/src/main/java/io/moquette/broker/subscriptions/TNode.java index e3e43e93..7112c6c1 100644 --- a/broker/src/main/java/io/moquette/spi/impl/subscriptions/TNode.java +++ b/broker/src/main/java/io/moquette/broker/subscriptions/TNode.java @@ -13,7 +13,7 @@ * * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl.subscriptions; +package io.moquette.broker.subscriptions; class TNode extends CNode { diff --git a/broker/src/main/java/io/moquette/spi/impl/subscriptions/Token.java b/broker/src/main/java/io/moquette/broker/subscriptions/Token.java similarity index 97% rename from broker/src/main/java/io/moquette/spi/impl/subscriptions/Token.java rename to broker/src/main/java/io/moquette/broker/subscriptions/Token.java index 411fc7c1..550a6004 100644 --- a/broker/src/main/java/io/moquette/spi/impl/subscriptions/Token.java +++ b/broker/src/main/java/io/moquette/broker/subscriptions/Token.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl.subscriptions; +package io.moquette.broker.subscriptions; /** * Internal use only class. diff --git a/broker/src/main/java/io/moquette/spi/impl/subscriptions/Topic.java b/broker/src/main/java/io/moquette/broker/subscriptions/Topic.java similarity index 99% rename from broker/src/main/java/io/moquette/spi/impl/subscriptions/Topic.java rename to broker/src/main/java/io/moquette/broker/subscriptions/Topic.java index 174ff794..85c0a8b1 100644 --- a/broker/src/main/java/io/moquette/spi/impl/subscriptions/Topic.java +++ b/broker/src/main/java/io/moquette/broker/subscriptions/Topic.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl.subscriptions; +package io.moquette.broker.subscriptions; import java.io.Serializable; import java.text.ParseException; diff --git a/broker/src/main/java/io/moquette/connections/MqttConnectionMetrics.java b/broker/src/main/java/io/moquette/connections/MqttConnectionMetrics.java deleted file mode 100644 index 3315bcdb..00000000 --- a/broker/src/main/java/io/moquette/connections/MqttConnectionMetrics.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2012-2018 The original author or authors - * ------------------------------------------------------ - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and Apache License v2.0 which accompanies this distribution. - * - * The Eclipse Public License is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * The Apache License v2.0 is available at - * http://www.opensource.org/licenses/apache2.0.php - * - * You may elect to redistribute this code under either of these licenses. - */ - -package io.moquette.connections; - -/** - * A class that represents the metrics of a given MQTT connection. - */ -public class MqttConnectionMetrics { - - private long readKb; - private long writtenKb; - private long readMessages; - private long writtenMessages; - - public MqttConnectionMetrics(long readBytes, long writtenBytes, long readMessages, long writtenMessages) { - this.readKb = readBytes / 1024; - this.writtenKb = writtenBytes / 1024; - this.readMessages = readMessages; - this.writtenMessages = writtenMessages; - } - - public long getReadKb() { - return readKb; - } - - public long getWrittenKb() { - return writtenKb; - } - - public long getReadMessages() { - return readMessages; - } - - public long getWrittenMessages() { - return writtenMessages; - } - -} diff --git a/broker/src/main/java/io/moquette/connections/MqttSession.java b/broker/src/main/java/io/moquette/connections/MqttSession.java deleted file mode 100644 index 5d66b6fb..00000000 --- a/broker/src/main/java/io/moquette/connections/MqttSession.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (c) 2012-2018 The original author or authors - * ------------------------------------------------------ - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and Apache License v2.0 which accompanies this distribution. - * - * The Eclipse Public License is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * The Apache License v2.0 is available at - * http://www.opensource.org/licenses/apache2.0.php - * - * You may elect to redistribute this code under either of these licenses. - */ - -package io.moquette.connections; - -import java.util.Collection; - -/** - * A class that represents the overall connection status of a MQTT session. Its instances will be - * used by an external codebase when the broker is configured in embedded mode. - */ -public class MqttSession { - - private boolean connectionEstablished; - private boolean cleanSession; - private int inflightMessages; - private int pendingPublishMessagesNo; - private int secondPhaseAckPendingMessages; - private Collection activeSubscriptions; - private MqttConnectionMetrics connectionMetrics; - - public boolean isConnectionEstablished() { - return connectionEstablished; - } - - public void setConnectionEstablished(boolean connectionEstablished) { - this.connectionEstablished = connectionEstablished; - } - - public boolean isCleanSession() { - return cleanSession; - } - - public void setCleanSession(boolean cleanSession) { - this.cleanSession = cleanSession; - } - - public int getPendingPublishMessagesNo() { - return pendingPublishMessagesNo; - } - - public void setPendingPublishMessagesNo(int pendingPublishMessagesNo) { - this.pendingPublishMessagesNo = pendingPublishMessagesNo; - } - - public int getInflightMessages() { - return inflightMessages; - } - - public void setInflightMessages(int inflightMessages) { - this.inflightMessages = inflightMessages; - } - - public int getSecondPhaseAckPendingMessages() { - return secondPhaseAckPendingMessages; - } - - public void setSecondPhaseAckPendingMessages(int secondPhaseAckPendingMessages) { - this.secondPhaseAckPendingMessages = secondPhaseAckPendingMessages; - } - - public Collection getActiveSubscriptions() { - return activeSubscriptions; - } - - public void setActiveSubscriptions(Collection activeSubscriptions) { - this.activeSubscriptions = activeSubscriptions; - } - - public MqttConnectionMetrics getConnectionMetrics() { - return connectionMetrics; - } - - public void setConnectionMetrics(MqttConnectionMetrics connectionMetrics) { - this.connectionMetrics = connectionMetrics; - } - -} diff --git a/broker/src/main/java/io/moquette/connections/MqttSubscription.java b/broker/src/main/java/io/moquette/connections/MqttSubscription.java deleted file mode 100644 index d05ff92f..00000000 --- a/broker/src/main/java/io/moquette/connections/MqttSubscription.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2012-2018 The original author or authors - * ------------------------------------------------------ - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and Apache License v2.0 which accompanies this distribution. - * - * The Eclipse Public License is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * The Apache License v2.0 is available at - * http://www.opensource.org/licenses/apache2.0.php - * - * You may elect to redistribute this code under either of these licenses. - */ - -package io.moquette.connections; - -/** - * A class that represents a MQTT subscription. - */ -public class MqttSubscription { - - private final String requestedQos; - private final String clientId; - private final String topicFilter; - private final boolean active; - - public MqttSubscription(String requestedQos, String clientId, String topicFilter, boolean active) { - this.requestedQos = requestedQos; - this.clientId = clientId; - this.topicFilter = topicFilter; - this.active = active; - } - - public String getRequestedQos() { - return requestedQos; - } - - public String getClientId() { - return clientId; - } - - public String getTopicFilter() { - return topicFilter; - } - - public boolean isActive() { - return active; - } - -} diff --git a/broker/src/main/java/io/moquette/spi/impl/BrokerInterceptor.java b/broker/src/main/java/io/moquette/interception/BrokerInterceptor.java similarity index 97% rename from broker/src/main/java/io/moquette/spi/impl/BrokerInterceptor.java rename to broker/src/main/java/io/moquette/interception/BrokerInterceptor.java index 8b4a0196..52d523b1 100644 --- a/broker/src/main/java/io/moquette/spi/impl/BrokerInterceptor.java +++ b/broker/src/main/java/io/moquette/interception/BrokerInterceptor.java @@ -14,14 +14,12 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl; +package io.moquette.interception; import io.moquette.BrokerConstants; -import io.moquette.interception.InterceptHandler; -import io.moquette.interception.Interceptor; import io.moquette.interception.messages.*; -import io.moquette.server.config.IConfig; -import io.moquette.spi.impl.subscriptions.Subscription; +import io.moquette.broker.config.IConfig; +import io.moquette.broker.subscriptions.Subscription; import io.netty.handler.codec.mqtt.MqttConnectMessage; import io.netty.handler.codec.mqtt.MqttPublishMessage; import io.netty.util.ReferenceCountUtil; diff --git a/broker/src/main/java/io/moquette/interception/InterceptHandler.java b/broker/src/main/java/io/moquette/interception/InterceptHandler.java index eec1de11..10f2328f 100644 --- a/broker/src/main/java/io/moquette/interception/InterceptHandler.java +++ b/broker/src/main/java/io/moquette/interception/InterceptHandler.java @@ -17,7 +17,7 @@ package io.moquette.interception; import io.moquette.interception.messages.*; -import io.moquette.spi.impl.subscriptions.Subscription; +import io.moquette.broker.subscriptions.Subscription; import io.netty.handler.codec.mqtt.MqttMessage; /** diff --git a/broker/src/main/java/io/moquette/interception/Interceptor.java b/broker/src/main/java/io/moquette/interception/Interceptor.java index 8fd0589c..e6950981 100644 --- a/broker/src/main/java/io/moquette/interception/Interceptor.java +++ b/broker/src/main/java/io/moquette/interception/Interceptor.java @@ -17,7 +17,7 @@ package io.moquette.interception; import io.moquette.interception.messages.InterceptAcknowledgedMessage; -import io.moquette.spi.impl.subscriptions.Subscription; +import io.moquette.broker.subscriptions.Subscription; import io.netty.handler.codec.mqtt.MqttConnectMessage; import io.netty.handler.codec.mqtt.MqttPublishMessage; diff --git a/broker/src/main/java/io/moquette/interception/messages/InterceptSubscribeMessage.java b/broker/src/main/java/io/moquette/interception/messages/InterceptSubscribeMessage.java index ff868322..a3463d0a 100644 --- a/broker/src/main/java/io/moquette/interception/messages/InterceptSubscribeMessage.java +++ b/broker/src/main/java/io/moquette/interception/messages/InterceptSubscribeMessage.java @@ -16,7 +16,7 @@ package io.moquette.interception.messages; -import io.moquette.spi.impl.subscriptions.Subscription; +import io.moquette.broker.subscriptions.Subscription; import io.netty.handler.codec.mqtt.MqttQoS; public class InterceptSubscribeMessage implements InterceptMessage { diff --git a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java index 4dfe1362..ab0daec5 100644 --- a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java +++ b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java @@ -18,7 +18,7 @@ package io.moquette.persistence; import io.moquette.spi.IMatchingCondition; import io.moquette.spi.IMessagesStore; -import io.moquette.spi.impl.subscriptions.Topic; +import io.moquette.broker.subscriptions.Topic; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/broker/src/main/java/io/moquette/persistence/MemorySessionStore.java b/broker/src/main/java/io/moquette/persistence/MemorySessionStore.java index 7682dc76..a8b238e8 100644 --- a/broker/src/main/java/io/moquette/persistence/MemorySessionStore.java +++ b/broker/src/main/java/io/moquette/persistence/MemorySessionStore.java @@ -16,12 +16,11 @@ package io.moquette.persistence; -import io.moquette.server.Constants; import io.moquette.spi.IMessagesStore.StoredMessage; import io.moquette.spi.ISessionsStore; import io.moquette.spi.ISubscriptionsStore; -import io.moquette.spi.impl.subscriptions.Subscription; -import io.moquette.spi.impl.subscriptions.Topic; +import io.moquette.broker.subscriptions.Subscription; +import io.moquette.broker.subscriptions.Topic; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -33,11 +32,13 @@ public class MemorySessionStore implements ISessionsStore, ISubscriptionsStore { private static final Logger LOG = LoggerFactory.getLogger(MemorySessionStore.class); + static final int MAX_MESSAGE_QUEUE = 1024; // number of messages + static class Session { final String clientID; final Map subscriptions = new ConcurrentHashMap<>(); boolean cleanSession; - final BlockingQueue queue = new ArrayBlockingQueue<>(Constants.MAX_MESSAGE_QUEUE); + final BlockingQueue queue = new ArrayBlockingQueue<>(MAX_MESSAGE_QUEUE); final Map secondPhaseStore = new ConcurrentHashMap<>(); final Map outboundFlightMessages = Collections.synchronizedMap(new HashMap()); diff --git a/broker/src/main/java/io/moquette/persistence/MemoryStorageService.java b/broker/src/main/java/io/moquette/persistence/MemoryStorageService.java index fa0d3373..9bf87557 100644 --- a/broker/src/main/java/io/moquette/persistence/MemoryStorageService.java +++ b/broker/src/main/java/io/moquette/persistence/MemoryStorageService.java @@ -16,7 +16,7 @@ package io.moquette.persistence; -import io.moquette.server.config.IConfig; +import io.moquette.broker.config.IConfig; import io.moquette.spi.IMessagesStore; import io.moquette.spi.ISessionsStore; import io.moquette.spi.IStore; diff --git a/broker/src/main/java/io/moquette/server/Constants.java b/broker/src/main/java/io/moquette/server/Constants.java deleted file mode 100644 index b54d3ed8..00000000 --- a/broker/src/main/java/io/moquette/server/Constants.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (c) 2012-2018 The original author or authors - * ------------------------------------------------------ - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and Apache License v2.0 which accompanies this distribution. - * - * The Eclipse Public License is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * The Apache License v2.0 is available at - * http://www.opensource.org/licenses/apache2.0.php - * - * You may elect to redistribute this code under either of these licenses. - */ - -package io.moquette.server; - -/** - * Server constants keeper - */ -public final class Constants { - - public static final String ATTR_CLIENTID = "ClientID"; - public static final String CLEAN_SESSION = "removeTemporaryQoS2"; - public static final String KEEP_ALIVE = "keepAlive"; - public static final int MAX_MESSAGE_QUEUE = 1024; // number of messages - - private Constants() { - } -} diff --git a/broker/src/main/java/io/moquette/spi/IMatchingCondition.java b/broker/src/main/java/io/moquette/spi/IMatchingCondition.java index bca367a1..47bb8c41 100644 --- a/broker/src/main/java/io/moquette/spi/IMatchingCondition.java +++ b/broker/src/main/java/io/moquette/spi/IMatchingCondition.java @@ -16,7 +16,7 @@ package io.moquette.spi; -import io.moquette.spi.impl.subscriptions.Topic; +import io.moquette.broker.subscriptions.Topic; public interface IMatchingCondition { diff --git a/broker/src/main/java/io/moquette/spi/IMessagesStore.java b/broker/src/main/java/io/moquette/spi/IMessagesStore.java index 6812b62d..d90048e8 100644 --- a/broker/src/main/java/io/moquette/spi/IMessagesStore.java +++ b/broker/src/main/java/io/moquette/spi/IMessagesStore.java @@ -16,7 +16,7 @@ package io.moquette.spi; -import io.moquette.spi.impl.subscriptions.Topic; +import io.moquette.broker.subscriptions.Topic; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.handler.codec.mqtt.MqttQoS; diff --git a/broker/src/main/java/io/moquette/spi/ISubscriptionsStore.java b/broker/src/main/java/io/moquette/spi/ISubscriptionsStore.java index d500ac75..0c96ce97 100644 --- a/broker/src/main/java/io/moquette/spi/ISubscriptionsStore.java +++ b/broker/src/main/java/io/moquette/spi/ISubscriptionsStore.java @@ -16,8 +16,8 @@ package io.moquette.spi; -import io.moquette.spi.impl.subscriptions.Subscription; -import io.moquette.spi.impl.subscriptions.Topic; +import io.moquette.broker.subscriptions.Subscription; +import io.moquette.broker.subscriptions.Topic; import java.util.Collection; import java.util.List; diff --git a/broker/src/test/java/io/moquette/broker/ConnectionTestUtils.java b/broker/src/test/java/io/moquette/broker/ConnectionTestUtils.java index ff68523c..30e1a4d4 100644 --- a/broker/src/test/java/io/moquette/broker/ConnectionTestUtils.java +++ b/broker/src/test/java/io/moquette/broker/ConnectionTestUtils.java @@ -17,8 +17,7 @@ package io.moquette.broker; import io.moquette.interception.InterceptHandler; -import io.moquette.spi.impl.BrokerInterceptor; -import io.moquette.spi.impl.DebugUtils; +import io.moquette.interception.BrokerInterceptor; import io.netty.channel.embedded.EmbeddedChannel; import io.netty.handler.codec.mqtt.*; diff --git a/broker/src/test/java/io/moquette/broker/MQTTConnectionConnectTest.java b/broker/src/test/java/io/moquette/broker/MQTTConnectionConnectTest.java index d7931bee..c69d155d 100644 --- a/broker/src/test/java/io/moquette/broker/MQTTConnectionConnectTest.java +++ b/broker/src/test/java/io/moquette/broker/MQTTConnectionConnectTest.java @@ -15,11 +15,10 @@ */ package io.moquette.broker; -import io.moquette.spi.impl.MockAuthenticator; -import io.moquette.spi.impl.security.PermitAllAuthorizatorPolicy; -import io.moquette.spi.impl.subscriptions.CTrieSubscriptionDirectory; -import io.moquette.spi.impl.subscriptions.ISubscriptionsDirectory; -import io.moquette.spi.security.IAuthenticator; +import io.moquette.broker.security.PermitAllAuthorizatorPolicy; +import io.moquette.broker.subscriptions.CTrieSubscriptionDirectory; +import io.moquette.broker.subscriptions.ISubscriptionsDirectory; +import io.moquette.broker.security.IAuthenticator; import io.netty.channel.Channel; import io.netty.channel.embedded.EmbeddedChannel; import io.netty.handler.codec.mqtt.MqttConnectMessage; @@ -28,7 +27,7 @@ import io.netty.handler.codec.mqtt.MqttVersion; import org.junit.Before; import org.junit.Test; -import static io.moquette.spi.impl.NettyChannelAssertions.assertEqualsConnAck; +import static io.moquette.broker.NettyChannelAssertions.assertEqualsConnAck; import static io.netty.handler.codec.mqtt.MqttConnectReturnCode.*; import static java.util.Collections.singleton; import static java.util.Collections.singletonMap; diff --git a/broker/src/test/java/io/moquette/broker/MQTTConnectionPublishTest.java b/broker/src/test/java/io/moquette/broker/MQTTConnectionPublishTest.java index 99edc161..27ab581d 100644 --- a/broker/src/test/java/io/moquette/broker/MQTTConnectionPublishTest.java +++ b/broker/src/test/java/io/moquette/broker/MQTTConnectionPublishTest.java @@ -15,11 +15,10 @@ */ package io.moquette.broker; -import io.moquette.spi.impl.MockAuthenticator; -import io.moquette.spi.impl.security.PermitAllAuthorizatorPolicy; -import io.moquette.spi.impl.subscriptions.CTrieSubscriptionDirectory; -import io.moquette.spi.impl.subscriptions.ISubscriptionsDirectory; -import io.moquette.spi.security.IAuthenticator; +import io.moquette.broker.security.PermitAllAuthorizatorPolicy; +import io.moquette.broker.subscriptions.CTrieSubscriptionDirectory; +import io.moquette.broker.subscriptions.ISubscriptionsDirectory; +import io.moquette.broker.security.IAuthenticator; import io.netty.buffer.Unpooled; import io.netty.channel.Channel; import io.netty.channel.embedded.EmbeddedChannel; diff --git a/broker/src/test/java/io/moquette/spi/impl/MockAuthenticator.java b/broker/src/test/java/io/moquette/broker/MockAuthenticator.java similarity index 94% rename from broker/src/test/java/io/moquette/spi/impl/MockAuthenticator.java rename to broker/src/test/java/io/moquette/broker/MockAuthenticator.java index 043c4d02..1811270a 100644 --- a/broker/src/test/java/io/moquette/spi/impl/MockAuthenticator.java +++ b/broker/src/test/java/io/moquette/broker/MockAuthenticator.java @@ -14,11 +14,11 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl; +package io.moquette.broker; import java.util.Map; import java.util.Set; -import io.moquette.spi.security.IAuthenticator; +import io.moquette.broker.security.IAuthenticator; import static java.nio.charset.StandardCharsets.UTF_8; diff --git a/broker/src/test/java/io/moquette/spi/impl/NettyChannelAssertions.java b/broker/src/test/java/io/moquette/broker/NettyChannelAssertions.java similarity index 98% rename from broker/src/test/java/io/moquette/spi/impl/NettyChannelAssertions.java rename to broker/src/test/java/io/moquette/broker/NettyChannelAssertions.java index 74932826..2eac6570 100644 --- a/broker/src/test/java/io/moquette/spi/impl/NettyChannelAssertions.java +++ b/broker/src/test/java/io/moquette/broker/NettyChannelAssertions.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl; +package io.moquette.broker; import io.netty.channel.embedded.EmbeddedChannel; import io.netty.handler.codec.mqtt.MqttConnAckMessage; diff --git a/broker/src/test/java/io/moquette/broker/PostOfficeInternalPublishTest.java b/broker/src/test/java/io/moquette/broker/PostOfficeInternalPublishTest.java index eca80c22..3858cb0d 100644 --- a/broker/src/test/java/io/moquette/broker/PostOfficeInternalPublishTest.java +++ b/broker/src/test/java/io/moquette/broker/PostOfficeInternalPublishTest.java @@ -15,12 +15,11 @@ */ package io.moquette.broker; -import io.moquette.spi.impl.MockAuthenticator; -import io.moquette.spi.impl.security.PermitAllAuthorizatorPolicy; -import io.moquette.spi.impl.subscriptions.CTrieSubscriptionDirectory; -import io.moquette.spi.impl.subscriptions.ISubscriptionsDirectory; -import io.moquette.spi.impl.subscriptions.Subscription; -import io.moquette.spi.impl.subscriptions.Topic; +import io.moquette.broker.security.PermitAllAuthorizatorPolicy; +import io.moquette.broker.subscriptions.CTrieSubscriptionDirectory; +import io.moquette.broker.subscriptions.ISubscriptionsDirectory; +import io.moquette.broker.subscriptions.Subscription; +import io.moquette.broker.subscriptions.Topic; import io.netty.buffer.Unpooled; import io.netty.channel.Channel; import io.netty.channel.embedded.EmbeddedChannel; diff --git a/broker/src/test/java/io/moquette/broker/PostOfficePublishTest.java b/broker/src/test/java/io/moquette/broker/PostOfficePublishTest.java index bd1790dc..3660c52a 100644 --- a/broker/src/test/java/io/moquette/broker/PostOfficePublishTest.java +++ b/broker/src/test/java/io/moquette/broker/PostOfficePublishTest.java @@ -15,12 +15,11 @@ */ package io.moquette.broker; -import io.moquette.spi.impl.MockAuthenticator; -import io.moquette.spi.impl.security.PermitAllAuthorizatorPolicy; -import io.moquette.spi.impl.subscriptions.CTrieSubscriptionDirectory; -import io.moquette.spi.impl.subscriptions.ISubscriptionsDirectory; -import io.moquette.spi.impl.subscriptions.Subscription; -import io.moquette.spi.impl.subscriptions.Topic; +import io.moquette.broker.security.PermitAllAuthorizatorPolicy; +import io.moquette.broker.subscriptions.CTrieSubscriptionDirectory; +import io.moquette.broker.subscriptions.ISubscriptionsDirectory; +import io.moquette.broker.subscriptions.Subscription; +import io.moquette.broker.subscriptions.Topic; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufUtil; import io.netty.buffer.Unpooled; diff --git a/broker/src/test/java/io/moquette/broker/PostOfficeSubscribeTest.java b/broker/src/test/java/io/moquette/broker/PostOfficeSubscribeTest.java index 9e8ffc30..7fa0ce63 100644 --- a/broker/src/test/java/io/moquette/broker/PostOfficeSubscribeTest.java +++ b/broker/src/test/java/io/moquette/broker/PostOfficeSubscribeTest.java @@ -15,15 +15,13 @@ */ package io.moquette.broker; -import io.moquette.server.netty.NettyUtils; -import io.moquette.spi.impl.MockAuthenticator; -import io.moquette.spi.impl.security.PermitAllAuthorizatorPolicy; -import io.moquette.spi.impl.subscriptions.CTrieSubscriptionDirectory; -import io.moquette.spi.impl.subscriptions.ISubscriptionsDirectory; -import io.moquette.spi.impl.subscriptions.Subscription; -import io.moquette.spi.impl.subscriptions.Topic; -import io.moquette.spi.security.IAuthenticator; -import io.moquette.spi.security.IAuthorizatorPolicy; +import io.moquette.broker.security.PermitAllAuthorizatorPolicy; +import io.moquette.broker.subscriptions.CTrieSubscriptionDirectory; +import io.moquette.broker.subscriptions.ISubscriptionsDirectory; +import io.moquette.broker.subscriptions.Subscription; +import io.moquette.broker.subscriptions.Topic; +import io.moquette.broker.security.IAuthenticator; +import io.moquette.broker.security.IAuthorizatorPolicy; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.channel.Channel; diff --git a/broker/src/test/java/io/moquette/broker/PostOfficeUnsubscribeTest.java b/broker/src/test/java/io/moquette/broker/PostOfficeUnsubscribeTest.java index c34a3c0e..548e188d 100644 --- a/broker/src/test/java/io/moquette/broker/PostOfficeUnsubscribeTest.java +++ b/broker/src/test/java/io/moquette/broker/PostOfficeUnsubscribeTest.java @@ -15,13 +15,12 @@ */ package io.moquette.broker; -import io.moquette.spi.impl.MockAuthenticator; -import io.moquette.spi.impl.security.PermitAllAuthorizatorPolicy; -import io.moquette.spi.impl.subscriptions.CTrieSubscriptionDirectory; -import io.moquette.spi.impl.subscriptions.ISubscriptionsDirectory; -import io.moquette.spi.impl.subscriptions.Subscription; -import io.moquette.spi.impl.subscriptions.Topic; -import io.moquette.spi.security.IAuthenticator; +import io.moquette.broker.security.PermitAllAuthorizatorPolicy; +import io.moquette.broker.subscriptions.CTrieSubscriptionDirectory; +import io.moquette.broker.subscriptions.ISubscriptionsDirectory; +import io.moquette.broker.subscriptions.Subscription; +import io.moquette.broker.subscriptions.Topic; +import io.moquette.broker.security.IAuthenticator; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.channel.Channel; diff --git a/broker/src/test/java/io/moquette/broker/SessionRegistryTest.java b/broker/src/test/java/io/moquette/broker/SessionRegistryTest.java index 31ddbc9d..2ecf62e6 100644 --- a/broker/src/test/java/io/moquette/broker/SessionRegistryTest.java +++ b/broker/src/test/java/io/moquette/broker/SessionRegistryTest.java @@ -15,12 +15,10 @@ */ package io.moquette.broker; -import io.moquette.server.netty.NettyUtils; -import io.moquette.spi.impl.MockAuthenticator; -import io.moquette.spi.impl.security.PermitAllAuthorizatorPolicy; -import io.moquette.spi.impl.subscriptions.CTrieSubscriptionDirectory; -import io.moquette.spi.impl.subscriptions.ISubscriptionsDirectory; -import io.moquette.spi.security.IAuthenticator; +import io.moquette.broker.security.PermitAllAuthorizatorPolicy; +import io.moquette.broker.subscriptions.CTrieSubscriptionDirectory; +import io.moquette.broker.subscriptions.ISubscriptionsDirectory; +import io.moquette.broker.security.IAuthenticator; import io.netty.channel.Channel; import io.netty.channel.embedded.EmbeddedChannel; import io.netty.handler.codec.mqtt.MqttConnectMessage; @@ -29,7 +27,7 @@ import io.netty.handler.codec.mqtt.MqttVersion; import org.junit.Before; import org.junit.Test; -import static io.moquette.spi.impl.NettyChannelAssertions.assertEqualsConnAck; +import static io.moquette.broker.NettyChannelAssertions.assertEqualsConnAck; import static io.netty.handler.codec.mqtt.MqttConnectReturnCode.CONNECTION_ACCEPTED; import static java.util.Collections.singleton; import static java.util.Collections.singletonMap; diff --git a/broker/src/test/java/io/moquette/server/config/ClasspathResourceLoaderTest.java b/broker/src/test/java/io/moquette/broker/config/ClasspathResourceLoaderTest.java similarity index 93% rename from broker/src/test/java/io/moquette/server/config/ClasspathResourceLoaderTest.java rename to broker/src/test/java/io/moquette/broker/config/ClasspathResourceLoaderTest.java index 6e8cc527..58b27d57 100644 --- a/broker/src/test/java/io/moquette/server/config/ClasspathResourceLoaderTest.java +++ b/broker/src/test/java/io/moquette/broker/config/ClasspathResourceLoaderTest.java @@ -14,11 +14,12 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server.config; +package io.moquette.broker.config; -import static org.junit.Assert.*; -import org.junit.Test; import io.moquette.BrokerConstants; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; public class ClasspathResourceLoaderTest { diff --git a/broker/src/test/java/io/moquette/server/config/ConfigurationParserTest.java b/broker/src/test/java/io/moquette/broker/config/ConfigurationParserTest.java similarity index 96% rename from broker/src/test/java/io/moquette/server/config/ConfigurationParserTest.java rename to broker/src/test/java/io/moquette/broker/config/ConfigurationParserTest.java index a3d48b0f..e07a7f98 100644 --- a/broker/src/test/java/io/moquette/server/config/ConfigurationParserTest.java +++ b/broker/src/test/java/io/moquette/broker/config/ConfigurationParserTest.java @@ -14,8 +14,9 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server.config; +package io.moquette.broker.config; +import io.moquette.broker.config.ConfigurationParser; import org.junit.Before; import org.junit.Test; import java.io.Reader; diff --git a/broker/src/test/java/io/moquette/spi/impl/security/ACLFileParserTest.java b/broker/src/test/java/io/moquette/broker/security/ACLFileParserTest.java similarity index 97% rename from broker/src/test/java/io/moquette/spi/impl/security/ACLFileParserTest.java rename to broker/src/test/java/io/moquette/broker/security/ACLFileParserTest.java index c584fa9b..1b0a0663 100644 --- a/broker/src/test/java/io/moquette/spi/impl/security/ACLFileParserTest.java +++ b/broker/src/test/java/io/moquette/broker/security/ACLFileParserTest.java @@ -14,10 +14,10 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl.security; +package io.moquette.broker.security; import org.junit.Test; -import io.moquette.spi.impl.subscriptions.Topic; +import io.moquette.broker.subscriptions.Topic; import java.io.Reader; import java.io.StringReader; import java.text.ParseException; diff --git a/broker/src/test/java/io/moquette/spi/impl/security/AuthorizationsCollectorTest.java b/broker/src/test/java/io/moquette/broker/security/AuthorizationsCollectorTest.java similarity index 98% rename from broker/src/test/java/io/moquette/spi/impl/security/AuthorizationsCollectorTest.java rename to broker/src/test/java/io/moquette/broker/security/AuthorizationsCollectorTest.java index b00d49e4..bffda21a 100644 --- a/broker/src/test/java/io/moquette/spi/impl/security/AuthorizationsCollectorTest.java +++ b/broker/src/test/java/io/moquette/broker/security/AuthorizationsCollectorTest.java @@ -14,11 +14,11 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl.security; +package io.moquette.broker.security; import org.junit.Before; import org.junit.Test; -import io.moquette.spi.impl.subscriptions.Topic; +import io.moquette.broker.subscriptions.Topic; import java.text.ParseException; import static org.junit.Assert.*; diff --git a/broker/src/test/java/io/moquette/spi/impl/security/DBAuthenticatorTest.java b/broker/src/test/java/io/moquette/broker/security/DBAuthenticatorTest.java similarity index 99% rename from broker/src/test/java/io/moquette/spi/impl/security/DBAuthenticatorTest.java rename to broker/src/test/java/io/moquette/broker/security/DBAuthenticatorTest.java index 2c933988..9bb68ee7 100644 --- a/broker/src/test/java/io/moquette/spi/impl/security/DBAuthenticatorTest.java +++ b/broker/src/test/java/io/moquette/broker/security/DBAuthenticatorTest.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl.security; +package io.moquette.broker.security; import org.apache.commons.codec.binary.Hex; import org.junit.*; diff --git a/broker/src/test/java/io/moquette/spi/impl/security/FileAuthenticatorTest.java b/broker/src/test/java/io/moquette/broker/security/FileAuthenticatorTest.java similarity index 94% rename from broker/src/test/java/io/moquette/spi/impl/security/FileAuthenticatorTest.java rename to broker/src/test/java/io/moquette/broker/security/FileAuthenticatorTest.java index 7793d2d4..5e17b7c8 100644 --- a/broker/src/test/java/io/moquette/spi/impl/security/FileAuthenticatorTest.java +++ b/broker/src/test/java/io/moquette/broker/security/FileAuthenticatorTest.java @@ -14,9 +14,8 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.spi.impl.security; +package io.moquette.broker.security; -import io.moquette.spi.security.IAuthenticator; import org.junit.Test; import static java.nio.charset.StandardCharsets.UTF_8; diff --git a/broker/src/test/java/io/moquette/server/ConfigurationClassLoaderTest.java b/broker/src/test/java/io/moquette/integration/ConfigurationClassLoaderTest.java similarity index 86% rename from broker/src/test/java/io/moquette/server/ConfigurationClassLoaderTest.java rename to broker/src/test/java/io/moquette/integration/ConfigurationClassLoaderTest.java index d7930e83..76afc730 100644 --- a/broker/src/test/java/io/moquette/server/ConfigurationClassLoaderTest.java +++ b/broker/src/test/java/io/moquette/integration/ConfigurationClassLoaderTest.java @@ -14,17 +14,14 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server; +package io.moquette.integration; import io.moquette.BrokerConstants; -import io.moquette.server.config.IConfig; -import io.moquette.server.config.MemoryConfig; -import io.moquette.spi.impl.subscriptions.Topic; -import io.moquette.persistence.MemoryMessagesStore; -import io.moquette.persistence.MemoryStorageService; -import io.moquette.persistence.MemorySessionStore; -import io.moquette.spi.security.IAuthenticator; -import io.moquette.spi.security.IAuthorizatorPolicy; +import io.moquette.broker.config.IConfig; +import io.moquette.broker.config.MemoryConfig; +import io.moquette.broker.subscriptions.Topic; +import io.moquette.broker.security.IAuthenticator; +import io.moquette.broker.security.IAuthorizatorPolicy; import io.moquette.broker.Server; import org.junit.After; import org.junit.Test; diff --git a/broker/src/test/java/io/moquette/server/IntegrationUtils.java b/broker/src/test/java/io/moquette/integration/IntegrationUtils.java similarity index 98% rename from broker/src/test/java/io/moquette/server/IntegrationUtils.java rename to broker/src/test/java/io/moquette/integration/IntegrationUtils.java index 85c031d7..b9583dff 100644 --- a/broker/src/test/java/io/moquette/server/IntegrationUtils.java +++ b/broker/src/test/java/io/moquette/integration/IntegrationUtils.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server; +package io.moquette.integration; import java.io.File; import java.util.Properties; diff --git a/broker/src/test/java/io/moquette/server/MQTTWebSocket.java b/broker/src/test/java/io/moquette/integration/MQTTWebSocket.java similarity index 99% rename from broker/src/test/java/io/moquette/server/MQTTWebSocket.java rename to broker/src/test/java/io/moquette/integration/MQTTWebSocket.java index 93803cd9..7f544c66 100644 --- a/broker/src/test/java/io/moquette/server/MQTTWebSocket.java +++ b/broker/src/test/java/io/moquette/integration/MQTTWebSocket.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server; +package io.moquette.integration; import java.io.IOException; import java.nio.ByteBuffer; diff --git a/broker/src/test/java/io/moquette/server/MessageCollector.java b/broker/src/test/java/io/moquette/integration/MessageCollector.java similarity index 94% rename from broker/src/test/java/io/moquette/server/MessageCollector.java rename to broker/src/test/java/io/moquette/integration/MessageCollector.java index de115445..10951398 100644 --- a/broker/src/test/java/io/moquette/server/MessageCollector.java +++ b/broker/src/test/java/io/moquette/integration/MessageCollector.java @@ -14,11 +14,10 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server; +package io.moquette.integration; import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken; import org.eclipse.paho.client.mqttv3.MqttCallback; -import org.eclipse.paho.client.mqttv3.MqttException; import org.eclipse.paho.client.mqttv3.MqttMessage; import java.util.concurrent.*; @@ -95,7 +94,7 @@ public class MessageCollector implements MqttCallback { } /** - * Invoked when the message sent to a server is ACKED (PUBACK or PUBCOMP by the server) + * Invoked when the message sent to a integration is ACKED (PUBACK or PUBCOMP by the integration) */ @Override public void deliveryComplete(IMqttDeliveryToken token) { diff --git a/broker/src/test/java/io/moquette/server/ServerIntegrationDBAuthenticatorTest.java b/broker/src/test/java/io/moquette/integration/ServerIntegrationDBAuthenticatorTest.java similarity index 95% rename from broker/src/test/java/io/moquette/server/ServerIntegrationDBAuthenticatorTest.java rename to broker/src/test/java/io/moquette/integration/ServerIntegrationDBAuthenticatorTest.java index 6df7d584..21bcfa81 100644 --- a/broker/src/test/java/io/moquette/server/ServerIntegrationDBAuthenticatorTest.java +++ b/broker/src/test/java/io/moquette/integration/ServerIntegrationDBAuthenticatorTest.java @@ -14,14 +14,14 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server; +package io.moquette.integration; import io.moquette.BrokerConstants; -import io.moquette.server.config.IConfig; +import io.moquette.broker.config.IConfig; import io.moquette.broker.Server; -import io.moquette.server.config.MemoryConfig; -import io.moquette.spi.impl.security.DBAuthenticator; -import io.moquette.spi.impl.security.DBAuthenticatorTest; +import io.moquette.broker.config.MemoryConfig; +import io.moquette.broker.security.DBAuthenticator; +import io.moquette.broker.security.DBAuthenticatorTest; import org.eclipse.paho.client.mqttv3.*; import org.eclipse.paho.client.mqttv3.persist.MqttDefaultFilePersistence; import org.junit.*; diff --git a/broker/src/test/java/io/moquette/server/ServerIntegrationFuseTest.java b/broker/src/test/java/io/moquette/integration/ServerIntegrationFuseTest.java similarity index 96% rename from broker/src/test/java/io/moquette/server/ServerIntegrationFuseTest.java rename to broker/src/test/java/io/moquette/integration/ServerIntegrationFuseTest.java index dbb3a46b..0edbdc79 100644 --- a/broker/src/test/java/io/moquette/server/ServerIntegrationFuseTest.java +++ b/broker/src/test/java/io/moquette/integration/ServerIntegrationFuseTest.java @@ -14,10 +14,10 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server; +package io.moquette.integration; -import io.moquette.server.config.IConfig; -import io.moquette.server.config.MemoryConfig; +import io.moquette.broker.config.IConfig; +import io.moquette.broker.config.MemoryConfig; import io.moquette.broker.Server; import org.fusesource.mqtt.client.*; import org.junit.After; diff --git a/broker/src/test/java/io/moquette/server/ServerIntegrationOpenSSLTest.java b/broker/src/test/java/io/moquette/integration/ServerIntegrationOpenSSLTest.java similarity index 98% rename from broker/src/test/java/io/moquette/server/ServerIntegrationOpenSSLTest.java rename to broker/src/test/java/io/moquette/integration/ServerIntegrationOpenSSLTest.java index 234a5923..421551c7 100644 --- a/broker/src/test/java/io/moquette/server/ServerIntegrationOpenSSLTest.java +++ b/broker/src/test/java/io/moquette/integration/ServerIntegrationOpenSSLTest.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server; +package io.moquette.integration; import java.io.IOException; import java.util.Properties; diff --git a/broker/src/test/java/io/moquette/server/ServerIntegrationPahoCanPublishOnReadBlockedTopicTest.java b/broker/src/test/java/io/moquette/integration/ServerIntegrationPahoCanPublishOnReadBlockedTopicTest.java similarity index 94% rename from broker/src/test/java/io/moquette/server/ServerIntegrationPahoCanPublishOnReadBlockedTopicTest.java rename to broker/src/test/java/io/moquette/integration/ServerIntegrationPahoCanPublishOnReadBlockedTopicTest.java index 3a360809..73501a7e 100644 --- a/broker/src/test/java/io/moquette/server/ServerIntegrationPahoCanPublishOnReadBlockedTopicTest.java +++ b/broker/src/test/java/io/moquette/integration/ServerIntegrationPahoCanPublishOnReadBlockedTopicTest.java @@ -14,15 +14,15 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server; +package io.moquette.integration; import io.moquette.BrokerConstants; -import io.moquette.server.config.IConfig; -import io.moquette.server.config.MemoryConfig; +import io.moquette.broker.config.IConfig; +import io.moquette.broker.config.MemoryConfig; import io.moquette.broker.Server; -import io.moquette.spi.impl.security.AcceptAllAuthenticator; -import io.moquette.spi.impl.subscriptions.Topic; -import io.moquette.spi.security.IAuthorizatorPolicy; +import io.moquette.broker.security.AcceptAllAuthenticator; +import io.moquette.broker.subscriptions.Topic; +import io.moquette.broker.security.IAuthorizatorPolicy; import io.netty.buffer.Unpooled; import io.netty.handler.codec.mqtt.MqttMessageBuilders; import io.netty.handler.codec.mqtt.MqttPublishMessage; diff --git a/broker/src/test/java/io/moquette/server/ServerIntegrationPahoTest.java b/broker/src/test/java/io/moquette/integration/ServerIntegrationPahoTest.java similarity index 97% rename from broker/src/test/java/io/moquette/server/ServerIntegrationPahoTest.java rename to broker/src/test/java/io/moquette/integration/ServerIntegrationPahoTest.java index 13c8f69b..0316efd1 100644 --- a/broker/src/test/java/io/moquette/server/ServerIntegrationPahoTest.java +++ b/broker/src/test/java/io/moquette/integration/ServerIntegrationPahoTest.java @@ -14,11 +14,11 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server; +package io.moquette.integration; import io.moquette.broker.Server; -import io.moquette.server.config.IConfig; -import io.moquette.server.config.MemoryConfig; +import io.moquette.broker.config.IConfig; +import io.moquette.broker.config.MemoryConfig; import org.eclipse.paho.client.mqttv3.*; import org.eclipse.paho.client.mqttv3.persist.MqttDefaultFilePersistence; import org.junit.*; @@ -162,10 +162,10 @@ public class ServerIntegrationPahoTest { clientForSubscribe1.connect(); clientForSubscribe1.subscribe("topic", 0); - // server stop + // integration stop m_server.stopServer(); System.out.println("\n\n SEVER REBOOTING \n\n"); - // server start + // integration start startServer(); // clientForSubscribe2 connect and subscribe to /topic QoS2 diff --git a/broker/src/test/java/io/moquette/server/ServerIntegrationQoSValidationTest.java b/broker/src/test/java/io/moquette/integration/ServerIntegrationQoSValidationTest.java similarity index 98% rename from broker/src/test/java/io/moquette/server/ServerIntegrationQoSValidationTest.java rename to broker/src/test/java/io/moquette/integration/ServerIntegrationQoSValidationTest.java index e2793d1a..97e23d16 100644 --- a/broker/src/test/java/io/moquette/server/ServerIntegrationQoSValidationTest.java +++ b/broker/src/test/java/io/moquette/integration/ServerIntegrationQoSValidationTest.java @@ -14,11 +14,11 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server; +package io.moquette.integration; import io.moquette.broker.Server; -import io.moquette.server.config.IConfig; -import io.moquette.server.config.MemoryConfig; +import io.moquette.broker.config.IConfig; +import io.moquette.broker.config.MemoryConfig; import org.eclipse.paho.client.mqttv3.IMqttClient; import org.eclipse.paho.client.mqttv3.MqttClient; import org.eclipse.paho.client.mqttv3.MqttClientPersistence; diff --git a/broker/src/test/java/io/moquette/server/ServerIntegrationRestartTest.java b/broker/src/test/java/io/moquette/integration/ServerIntegrationRestartTest.java similarity index 94% rename from broker/src/test/java/io/moquette/server/ServerIntegrationRestartTest.java rename to broker/src/test/java/io/moquette/integration/ServerIntegrationRestartTest.java index 50592006..714761ba 100644 --- a/broker/src/test/java/io/moquette/server/ServerIntegrationRestartTest.java +++ b/broker/src/test/java/io/moquette/integration/ServerIntegrationRestartTest.java @@ -14,11 +14,11 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server; +package io.moquette.integration; import io.moquette.broker.Server; -import io.moquette.server.config.IConfig; -import io.moquette.server.config.MemoryConfig; +import io.moquette.broker.config.IConfig; +import io.moquette.broker.config.MemoryConfig; import org.eclipse.paho.client.mqttv3.*; import org.eclipse.paho.client.mqttv3.persist.MqttDefaultFilePersistence; import org.junit.After; @@ -91,10 +91,10 @@ public class ServerIntegrationRestartTest { m_subscriber.subscribe("/topic", 1); m_subscriber.disconnect(); - // shutdown the server + // shutdown the integration m_server.stopServer(); - // restart the server + // restart the integration m_server.startServer(IntegrationUtils.prepareTestProperties()); // reconnect the Subscriber subscribing to the same /topic but different QoS @@ -117,10 +117,10 @@ public class ServerIntegrationRestartTest { IMqttClient conn = subscribeAndPublish("/topic"); conn.disconnect(); - // shutdown the server + // shutdown the integration m_server.stopServer(); - // restart the server + // restart the integration m_server.startServer(IntegrationUtils.prepareTestProperties()); m_publisher.connect(); @@ -137,10 +137,10 @@ public class ServerIntegrationRestartTest { m_subscriber.unsubscribe("/topic"); m_subscriber.disconnect(); - // shutdown the server + // shutdown the integration m_server.stopServer(); - // restart the server + // restart the integration m_server.startServer(IntegrationUtils.prepareTestProperties()); // subscriber reconnects m_subscriber = new MqttClient("tcp://localhost:1883", "Subscriber", s_dataStore); diff --git a/broker/src/test/java/io/moquette/server/ServerIntegrationSSLClientAuthTest.java b/broker/src/test/java/io/moquette/integration/ServerIntegrationSSLClientAuthTest.java similarity index 95% rename from broker/src/test/java/io/moquette/server/ServerIntegrationSSLClientAuthTest.java rename to broker/src/test/java/io/moquette/integration/ServerIntegrationSSLClientAuthTest.java index 06297d0a..41f84039 100644 --- a/broker/src/test/java/io/moquette/server/ServerIntegrationSSLClientAuthTest.java +++ b/broker/src/test/java/io/moquette/integration/ServerIntegrationSSLClientAuthTest.java @@ -14,7 +14,7 @@ * You may elect to redistribute this code under either of these licenses. */ -package io.moquette.server; +package io.moquette.integration; import io.moquette.broker.Server; import static org.junit.Assert.assertFalse; @@ -55,13 +55,13 @@ import org.slf4j.LoggerFactory; * Create certificates needed for client authentication * *
    - * # generate server certificate chain (valid for 10000 days)
    + * # generate integration certificate chain (valid for 10000 days)
      * keytool -genkeypair -alias signedtestserver -dname cn=moquette.eclipse.org -keyalg RSA -keysize 2048 \
      * -keystore signedserverkeystore.jks -keypass passw0rdsrv -storepass passw0rdsrv -validity 10000
      * keytool -genkeypair -alias signedtestserver_sub -dname cn=moquette.eclipse.org -keyalg RSA -keysize 2048 \
      * -keystore signedserverkeystore.jks -keypass passw0rdsrv -storepass passw0rdsrv
      *
    - * # sign server subcertificate with server certificate (valid for 10000 days)
    + * # sign integration subcertificate with integration certificate (valid for 10000 days)
      * keytool -certreq -alias signedtestserver_sub -keystore signedserverkeystore.jks -keypass passw0rdsrv \
      * -storepass passw0rdsrv | \
      * keytool -gencert -alias signedtestserver -keystore signedserverkeystore.jks -keypass passw0rdsrv \
    @@ -73,14 +73,14 @@ import org.slf4j.LoggerFactory;
      * keytool -genkeypair -alias signedtestclient -dname cn=moquette.eclipse.org -keyalg RSA -keysize 2048 \
      * -keystore signedclientkeystore.jks -keypass passw0rd -storepass passw0rd
      *
    - * # create signed client certificate with server subcertificate and import to client keystore (valid for 10000 days)
    + * # create signed client certificate with integration subcertificate and import to client keystore (valid for 10000 days)
      * keytool -certreq -alias signedtestclient -keystore signedclientkeystore.jks -keypass passw0rd -storepass passw0rd | \
      * keytool -gencert -alias signedtestserver_sub -keystore signedserverkeystore.jks -keypass passw0rdsrv \
      * -storepass passw0rdsrv -validity 10000 | \
      * keytool -importcert -alias signedtestclient -keystore signedclientkeystore.jks -keypass passw0rd \
      * -storepass passw0rd -noprompt
      *
    - * # import server certificates into signed truststore
    + * # import integration certificates into signed truststore
      * keytool -exportcert -alias signedtestserver -keystore signedserverkeystore.jks -keypass passw0rdsrv \
      * -storepass passw0rdsrv | \
      * keytool -importcert -trustcacerts -noprompt -alias signedtestserver -keystore signedclientkeystore.jks \
    @@ -94,7 +94,7 @@ import org.slf4j.LoggerFactory;
      * keytool -genkeypair -alias unsignedtestclient -dname cn=moquette.eclipse.org -validity 10000 -keyalg RSA \
      * -keysize 2048 -keystore unsignedclientkeystore.jks -keypass passw0rd -storepass passw0rd
      *
    - * # import server certificates into unsigned truststore
    + * # import integration certificates into unsigned truststore
      * keytool -exportcert -alias signedtestserver -keystore signedserverkeystore.jks -keypass passw0rdsrv \
      * -storepass passw0rdsrv | \
      * keytool -importcert -trustcacerts -noprompt -alias signedtestserver -keystore unsignedclientkeystore.jks \
    diff --git a/broker/src/test/java/io/moquette/server/ServerIntegrationSSLTest.java b/broker/src/test/java/io/moquette/integration/ServerIntegrationSSLTest.java
    similarity index 99%
    rename from broker/src/test/java/io/moquette/server/ServerIntegrationSSLTest.java
    rename to broker/src/test/java/io/moquette/integration/ServerIntegrationSSLTest.java
    index 0b595598..3d27cb72 100644
    --- a/broker/src/test/java/io/moquette/server/ServerIntegrationSSLTest.java
    +++ b/broker/src/test/java/io/moquette/integration/ServerIntegrationSSLTest.java
    @@ -14,7 +14,7 @@
      * You may elect to redistribute this code under either of these licenses.
      */
     
    -package io.moquette.server;
    +package io.moquette.integration;
     
     import io.moquette.broker.Server;
     import static java.nio.charset.StandardCharsets.UTF_8;
    diff --git a/broker/src/test/java/io/moquette/server/ServerIntegrationWebSocketTest.java b/broker/src/test/java/io/moquette/integration/ServerIntegrationWebSocketTest.java
    similarity index 95%
    rename from broker/src/test/java/io/moquette/server/ServerIntegrationWebSocketTest.java
    rename to broker/src/test/java/io/moquette/integration/ServerIntegrationWebSocketTest.java
    index 3c93fdbb..c0aed55c 100644
    --- a/broker/src/test/java/io/moquette/server/ServerIntegrationWebSocketTest.java
    +++ b/broker/src/test/java/io/moquette/integration/ServerIntegrationWebSocketTest.java
    @@ -14,14 +14,14 @@
      * You may elect to redistribute this code under either of these licenses.
      */
     
    -package io.moquette.server;
    +package io.moquette.integration;
     
     import io.moquette.broker.Server;
     import io.moquette.BrokerConstants;
    -import io.moquette.server.config.MemoryConfig;
    +import io.moquette.broker.config.MemoryConfig;
     import org.eclipse.jetty.websocket.client.ClientUpgradeRequest;
     import org.eclipse.jetty.websocket.client.WebSocketClient;
    -import io.moquette.server.config.IConfig;
    +import io.moquette.broker.config.IConfig;
     import org.junit.After;
     import org.junit.Before;
     import org.junit.Test;
    diff --git a/broker/src/test/java/io/moquette/server/ServerLowlevelMessagesIntegrationTests.java b/broker/src/test/java/io/moquette/integration/ServerLowlevelMessagesIntegrationTests.java
    similarity index 96%
    rename from broker/src/test/java/io/moquette/server/ServerLowlevelMessagesIntegrationTests.java
    rename to broker/src/test/java/io/moquette/integration/ServerLowlevelMessagesIntegrationTests.java
    index bb231030..2478ff00 100644
    --- a/broker/src/test/java/io/moquette/server/ServerLowlevelMessagesIntegrationTests.java
    +++ b/broker/src/test/java/io/moquette/integration/ServerLowlevelMessagesIntegrationTests.java
    @@ -14,11 +14,11 @@
      * You may elect to redistribute this code under either of these licenses.
      */
     
    -package io.moquette.server;
    +package io.moquette.integration;
     
     import io.moquette.broker.Server;
    -import io.moquette.server.config.IConfig;
    -import io.moquette.server.config.MemoryConfig;
    +import io.moquette.broker.config.IConfig;
    +import io.moquette.broker.config.MemoryConfig;
     import io.moquette.testclient.Client;
     import io.netty.handler.codec.mqtt.*;
     import io.netty.handler.codec.mqtt.MqttMessage;
    @@ -30,7 +30,6 @@ import org.slf4j.Logger;
     import org.slf4j.LoggerFactory;
     import org.awaitility.Awaitility;
     import java.io.IOException;
    -import java.nio.charset.StandardCharsets;
     import java.util.Properties;
     import java.util.concurrent.TimeUnit;
     import static io.netty.handler.codec.mqtt.MqttConnectReturnCode.*;
    @@ -68,9 +67,9 @@ public class ServerLowlevelMessagesIntegrationTests {
         public void tearDown() throws Exception {
             m_client.close();
             LOG.debug("After raw client close");
    -        Thread.sleep(300); // to let the close event pass before server stop event
    +        Thread.sleep(300); // to let the close event pass before integration stop event
             m_server.stopServer();
    -        LOG.debug("After asked server to stop");
    +        LOG.debug("After asked integration to stop");
         }
     
         @Test
    diff --git a/broker/src/test/java/io/moquette/spi/impl/BrokerInterceptorTest.java b/broker/src/test/java/io/moquette/interception/BrokerInterceptorTest.java
    similarity index 96%
    rename from broker/src/test/java/io/moquette/spi/impl/BrokerInterceptorTest.java
    rename to broker/src/test/java/io/moquette/interception/BrokerInterceptorTest.java
    index d111c7ba..a30d5c1c 100644
    --- a/broker/src/test/java/io/moquette/spi/impl/BrokerInterceptorTest.java
    +++ b/broker/src/test/java/io/moquette/interception/BrokerInterceptorTest.java
    @@ -14,12 +14,11 @@
      * You may elect to redistribute this code under either of these licenses.
      */
     
    -package io.moquette.spi.impl;
    +package io.moquette.interception;
     
    -import io.moquette.interception.InterceptHandler;
     import io.moquette.interception.messages.*;
    -import io.moquette.spi.impl.subscriptions.Subscription;
    -import io.moquette.spi.impl.subscriptions.Topic;
    +import io.moquette.broker.subscriptions.Subscription;
    +import io.moquette.broker.subscriptions.Topic;
     import io.netty.buffer.Unpooled;
     import io.netty.handler.codec.mqtt.MqttMessageBuilders;
     import io.netty.handler.codec.mqtt.MqttQoS;
    diff --git a/broker/src/test/java/io/moquette/spi/impl/MockReceiverChannel.java b/broker/src/test/java/io/moquette/spi/impl/MockReceiverChannel.java
    deleted file mode 100644
    index f612fa4c..00000000
    --- a/broker/src/test/java/io/moquette/spi/impl/MockReceiverChannel.java
    +++ /dev/null
    @@ -1,57 +0,0 @@
    -/*
    - * Copyright (c) 2012-2018 The original author or authors
    - * ------------------------------------------------------
    - * All rights reserved. This program and the accompanying materials
    - * are made available under the terms of the Eclipse Public License v1.0
    - * and Apache License v2.0 which accompanies this distribution.
    - *
    - * The Eclipse Public License is available at
    - * http://www.eclipse.org/legal/epl-v10.html
    - *
    - * The Apache License v2.0 is available at
    - * http://www.opensource.org/licenses/apache2.0.php
    - *
    - * You may elect to redistribute this code under either of these licenses.
    - */
    -
    -package io.moquette.spi.impl;
    -
    -import io.netty.handler.codec.mqtt.MqttMessage;
    -import io.netty.util.AttributeKey;
    -import java.util.HashMap;
    -import java.util.Map;
    -
    -/**
    - * This a synchronous channel that avoid output ring buffer from Processor
    - */
    -class MockReceiverChannel {
    -
    -    MqttMessage m_receivedMessage;
    -    private Map m_attributes = new HashMap<>();
    -
    -    public Object getAttribute(AttributeKey key) {
    -        return m_attributes.get(key);
    -    }
    -
    -    public void setAttribute(AttributeKey key, Object value) {
    -        m_attributes.put(key, value);
    -    }
    -
    -    public void setIdleTime(int idleTime) {
    -    }
    -
    -    public void close(boolean immediately) {
    -    }
    -
    -    public MqttMessage getMessage() {
    -        return this.m_receivedMessage;
    -    }
    -
    -    public void write(Object value) {
    -        try {
    -            this.m_receivedMessage = (MqttMessage) value;
    -        } catch (Exception ex) {
    -            throw new AssertionError("Wrong return code");
    -        }
    -    }
    -}
    diff --git a/broker/src/test/java/io/moquette/spi/impl/subscriptions/CTrieSubscriptionDirectoryMatchingTest.java b/broker/src/test/java/io/moquette/spi/impl/subscriptions/CTrieSubscriptionDirectoryMatchingTest.java
    deleted file mode 100644
    index 8654ea42..00000000
    --- a/broker/src/test/java/io/moquette/spi/impl/subscriptions/CTrieSubscriptionDirectoryMatchingTest.java
    +++ /dev/null
    @@ -1,273 +0,0 @@
    -/*
    - * Copyright (c) 2012-2018 The original author or authors
    - * ------------------------------------------------------
    - * All rights reserved. This program and the accompanying materials
    - * are made available under the terms of the Eclipse Public License v1.0
    - * and Apache License v2.0 which accompanies this distribution.
    - *
    - * The Eclipse Public License is available at
    - * http://www.eclipse.org/legal/epl-v10.html
    - *
    - * The Apache License v2.0 is available at
    - * http://www.opensource.org/licenses/apache2.0.php
    - *
    - * You may elect to redistribute this code under either of these licenses.
    - */
    -package io.moquette.spi.impl.subscriptions;
    -
    -import io.moquette.broker.ISubscriptionsRepository;
    -import io.moquette.broker.MemorySubscriptionsRepository;
    -import io.moquette.persistence.MemoryStorageService;
    -import io.moquette.spi.ISessionsStore;
    -import io.moquette.spi.ISubscriptionsStore;
    -import io.netty.handler.codec.mqtt.MqttQoS;
    -import org.junit.Before;
    -import org.junit.Test;
    -
    -import java.util.Optional;
    -import java.util.Set;
    -
    -import static io.moquette.spi.impl.subscriptions.CTrieSubscriptionDirectoryTest.clientSubOnTopic;
    -import static io.moquette.spi.impl.subscriptions.Topic.asTopic;
    -import static org.assertj.core.api.Assertions.assertThat;
    -import static org.junit.Assert.assertEquals;
    -import static org.junit.Assert.assertTrue;
    -
    -public class CTrieSubscriptionDirectoryMatchingTest {
    -
    -    private CTrieSubscriptionDirectory sut;
    -    private ISubscriptionsRepository sessionsRepository;
    -
    -    @Before
    -    public void setUp() {
    -        sut = new CTrieSubscriptionDirectory();
    -
    -        this.sessionsRepository = new MemorySubscriptionsRepository();
    -        sut.init(this.sessionsRepository);
    -    }
    -
    -    @Test
    -    public void testMatchSimple() {
    -        Subscription slashSub = clientSubOnTopic("TempSensor1", "/");
    -        sut.add(slashSub);
    -        assertThat(sut.recursiveMatch(asTopic("finance"), sut.root)).isEmpty();
    -
    -        Subscription slashFinanceSub = clientSubOnTopic("TempSensor1", "/finance");
    -        sut.add(slashFinanceSub);
    -        assertThat(sut.recursiveMatch(asTopic("finance"), sut.root)).isEmpty();
    -
    -        assertThat(sut.recursiveMatch(asTopic("/finance"), sut.root)).contains(slashFinanceSub);
    -        assertThat(sut.recursiveMatch(asTopic("/"), sut.root)).contains(slashSub);
    -    }
    -
    -    @Test
    -    public void testMatchSimpleMulti() {
    -        Subscription anySub = clientSubOnTopic("TempSensor1", "#");
    -        sut.add(anySub);
    -        assertThat(sut.recursiveMatch(asTopic("finance"), sut.root)).contains(anySub);
    -
    -        Subscription financeAnySub = clientSubOnTopic("TempSensor1", "finance/#");
    -        sut.add(financeAnySub);
    -        assertThat(sut.recursiveMatch(asTopic("finance"), sut.root)).containsExactlyInAnyOrder(financeAnySub, anySub);
    -    }
    -
    -    @Test
    -    public void testMatchingDeepMulti_one_layer() {
    -        Subscription anySub = clientSubOnTopic("AllSensor1", "#");
    -        Subscription financeAnySub = clientSubOnTopic("FinanceSensor", "finance/#");
    -        sut.add(anySub);
    -        sut.add(financeAnySub);
    -
    -        // Verify
    -        assertThat(sut.recursiveMatch(asTopic("finance/stock"), sut.root))
    -            .containsExactlyInAnyOrder(financeAnySub, anySub);
    -        assertThat(sut.recursiveMatch(asTopic("finance/stock/ibm"), sut.root))
    -            .containsExactlyInAnyOrder(financeAnySub, anySub);
    -//        System.out.println(sut.dumpTree());
    -    }
    -
    -    @Test
    -    public void testMatchingDeepMulti_two_layer() {
    -        Subscription financeAnySub = clientSubOnTopic("FinanceSensor", "finance/stock/#");
    -        sut.add(financeAnySub);
    -
    -        // Verify
    -        assertThat(sut.recursiveMatch(asTopic("finance/stock/ibm"), sut.root)).containsExactly(financeAnySub);
    -    }
    -
    -    @Test
    -    public void testMatchSimpleSingle() {
    -        Subscription anySub = clientSubOnTopic("AnySensor", "+");
    -        sut.add(anySub);
    -        assertThat(sut.recursiveMatch(asTopic("finance"), sut.root)).containsExactly(anySub);
    -
    -        Subscription financeOne = clientSubOnTopic("AnySensor", "finance/+");
    -        sut.add(financeOne);
    -        assertThat(sut.recursiveMatch(asTopic("finance/stock"), sut.root)).containsExactly(financeOne);
    -    }
    -
    -    @Test
    -    public void testMatchManySingle() {
    -        Subscription manySub = clientSubOnTopic("AnySensor", "+/+");
    -        sut.add(manySub);
    -
    -        // verify
    -        assertThat(sut.recursiveMatch(asTopic("/finance"), sut.root)).contains(manySub);
    -    }
    -
    -    @Test
    -    public void testMatchSlashSingle() {
    -        Subscription slashPlusSub = clientSubOnTopic("AnySensor", "/+");
    -        sut.add(slashPlusSub);
    -        Subscription anySub = clientSubOnTopic("AnySensor", "+");
    -        sut.add(anySub);
    -
    -        // Verify
    -        assertThat(sut.recursiveMatch(asTopic("/finance"), sut.root)).containsOnly(slashPlusSub);
    -        assertThat(sut.recursiveMatch(asTopic("/finance"), sut.root)).doesNotContain(anySub);
    -    }
    -
    -    @Test
    -    public void testMatchManyDeepSingle() {
    -        Subscription slashPlusSub = clientSubOnTopic("FinanceSensor1", "/finance/+/ibm");
    -        sut.add(slashPlusSub);
    -        Subscription slashPlusDeepSub = clientSubOnTopic("FinanceSensor2", "/+/stock/+");
    -        sut.add(slashPlusDeepSub);
    -
    -        // Verify
    -        assertThat(sut.recursiveMatch(asTopic("/finance/stock/ibm"), sut.root))
    -            .containsExactlyInAnyOrder(slashPlusSub, slashPlusDeepSub);
    -    }
    -
    -    @Test
    -    public void testMatchSimpleMulti_allTheTree() {
    -        Subscription sub = clientSubOnTopic("AnySensor1", "#");
    -        sut.add(sub);
    -
    -        assertThat(sut.recursiveMatch(asTopic("finance"), sut.root)).isNotEmpty();
    -        assertThat(sut.recursiveMatch(asTopic("finance/ibm"), sut.root)).isNotEmpty();
    -    }
    -
    -    @Test
    -    public void rogerLightTopicMatches() {
    -        assertMatch("foo/bar", "foo/bar");
    -        assertMatch("foo/bar", "foo/bar");
    -        assertMatch("foo/+", "foo/bar");
    -        assertMatch("foo/+/baz", "foo/bar/baz");
    -        assertMatch("foo/+/#", "foo/bar/baz");
    -        assertMatch("#", "foo/bar/baz");
    -
    -        assertNotMatch("foo/bar", "foo");
    -        assertNotMatch("foo/+", "foo/bar/baz");
    -        assertNotMatch("foo/+/baz", "foo/bar/bar");
    -        assertNotMatch("foo/+/#", "fo2/bar/baz");
    -
    -        assertMatch("#", "/foo/bar");
    -        assertMatch("/#", "/foo/bar");
    -        assertNotMatch("/#", "foo/bar");
    -
    -        assertMatch("foo//bar", "foo//bar");
    -        assertMatch("foo//+", "foo//bar");
    -        assertMatch("foo/+/+/baz", "foo///baz");
    -        assertMatch("foo/bar/+", "foo/bar/");
    -    }
    -
    -    private void assertMatch(String s, String t) {
    -        sut = new CTrieSubscriptionDirectory();
    -        ISubscriptionsRepository sessionsRepository = new MemorySubscriptionsRepository();
    -        sut.init(sessionsRepository);
    -
    -        Subscription sub = clientSubOnTopic("AnySensor1", s);
    -        sut.add(sub);
    -
    -        assertThat(sut.recursiveMatch(asTopic(t), sut.root)).isNotEmpty();
    -    }
    -
    -    private void assertNotMatch(String subscription, String topic) {
    -        sut = new CTrieSubscriptionDirectory();
    -        ISubscriptionsRepository sessionsRepository = new MemorySubscriptionsRepository();
    -        sut.init(sessionsRepository);
    -
    -        Subscription sub = clientSubOnTopic("AnySensor1", subscription);
    -        sut.add(sub);
    -
    -        assertThat(sut.recursiveMatch(asTopic(topic), sut.root)).isEmpty();
    -    }
    -
    -    @Test
    -    public void testOverlappingSubscriptions() {
    -        Subscription genericSub = new Subscription("Sensor1", asTopic("a/+"), MqttQoS.AT_MOST_ONCE);
    -        this.sessionsRepository.addNewSubscription(genericSub);
    -        sut.add(genericSub);
    -
    -        Subscription specificSub = new Subscription("Sensor1", asTopic("a/b"), MqttQoS.AT_MOST_ONCE);
    -        this.sessionsRepository.addNewSubscription(specificSub);
    -        sut.add(specificSub);
    -
    -        //Exercise
    -        final Set matchingForSpecific = sut.matchQosSharpening(asTopic("a/b"));
    -
    -        // Verify
    -        assertThat(matchingForSpecific.size()).isEqualTo(1);
    -    }
    -
    -    @Test
    -    public void removeSubscription_withDifferentClients_subscribedSameTopic() {
    -        Subscription slashSub = clientSubOnTopic("Sensor1", "/topic");
    -        sut.add(slashSub);
    -        Subscription slashSub2 = clientSubOnTopic("Sensor2", "/topic");
    -        sut.add(slashSub2);
    -
    -        // Exercise
    -        sut.removeSubscription(asTopic("/topic"), slashSub2.clientId);
    -
    -        // Verify
    -        Subscription remainedSubscription = sut.recursiveMatch(asTopic("/topic"), sut.root).iterator().next();
    -        assertThat(remainedSubscription.clientId).isEqualTo(slashSub.clientId);
    -        assertEquals(slashSub.clientId, remainedSubscription.clientId);
    -    }
    -
    -    @Test
    -    public void removeSubscription_sameClients_subscribedSameTopic() {
    -        Subscription slashSub = clientSubOnTopic("Sensor1", "/topic");
    -        sut.add(slashSub);
    -
    -        // Exercise
    -        sut.removeSubscription(asTopic("/topic"), slashSub.clientId);
    -
    -        // Verify
    -        final Set matchingSubscriptions = sut.recursiveMatch(asTopic("/topic"), sut.root);
    -        assertThat(matchingSubscriptions).isEmpty();
    -    }
    -
    -    /*
    -     * Test for Issue #49
    -     */
    -    @Test
    -    public void duplicatedSubscriptionsWithDifferentQos() {
    -        Subscription client2Sub = new Subscription("client2", asTopic("client/test/b"), MqttQoS.AT_MOST_ONCE);
    -        this.sut.add(client2Sub);
    -        Subscription client1SubQoS0 = new Subscription("client1", asTopic("client/test/b"), MqttQoS.AT_MOST_ONCE);
    -        this.sut.add(client1SubQoS0);
    -
    -        Subscription client1SubQoS2 = new Subscription("client1", asTopic("client/test/b"), MqttQoS.EXACTLY_ONCE);
    -        this.sut.add(client1SubQoS2);
    -
    -        // Verify
    -        Set subscriptions = this.sut.matchQosSharpening(asTopic("client/test/b"));
    -        assertThat(subscriptions).contains(client1SubQoS2);
    -        assertThat(subscriptions).contains(client2Sub);
    -
    -        final Optional matchingClient1Sub = subscriptions
    -            .stream()
    -            .filter(s -> s.equals(client1SubQoS0))
    -            .findFirst();
    -        assertTrue(matchingClient1Sub.isPresent());
    -        Subscription client1Sub = matchingClient1Sub.get();
    -
    -        assertThat(client1SubQoS0.getRequestedQos()).isNotEqualTo(client1Sub.getRequestedQos());
    -
    -        // client1SubQoS2 should override client1SubQoS0
    -        assertThat(client1Sub.getRequestedQos()).isEqualTo(client1SubQoS2.getRequestedQos());
    -    }
    -}
    diff --git a/broker/src/test/java/io/moquette/spi/impl/subscriptions/CTrieSubscriptionDirectoryTest.java b/broker/src/test/java/io/moquette/spi/impl/subscriptions/CTrieSubscriptionDirectoryTest.java
    deleted file mode 100644
    index 41bda43b..00000000
    --- a/broker/src/test/java/io/moquette/spi/impl/subscriptions/CTrieSubscriptionDirectoryTest.java
    +++ /dev/null
    @@ -1,307 +0,0 @@
    -/*
    - * Copyright (c) 2012-2018 The original author or authors
    - * ------------------------------------------------------
    - * All rights reserved. This program and the accompanying materials
    - * are made available under the terms of the Eclipse Public License v1.0
    - * and Apache License v2.0 which accompanies this distribution.
    - *
    - * The Eclipse Public License is available at
    - * http://www.eclipse.org/legal/epl-v10.html
    - *
    - * The Apache License v2.0 is available at
    - * http://www.opensource.org/licenses/apache2.0.php
    - *
    - * You may elect to redistribute this code under either of these licenses.
    - */package io.moquette.spi.impl.subscriptions;
    -
    -import io.moquette.broker.ISubscriptionsRepository;
    -import io.moquette.broker.MemorySubscriptionsRepository;
    -import io.moquette.persistence.MemoryStorageService;
    -import io.moquette.spi.ISessionsStore;
    -import org.junit.Before;
    -import org.junit.Test;
    -
    -import java.util.Optional;
    -import java.util.Set;
    -
    -import static io.moquette.spi.impl.subscriptions.Topic.asTopic;
    -import static org.assertj.core.api.Assertions.assertThat;
    -import static org.junit.Assert.assertFalse;
    -import static org.junit.Assert.assertTrue;
    -
    -public class CTrieSubscriptionDirectoryTest {
    -
    -    private CTrieSubscriptionDirectory sut;
    -
    -    @Before
    -    public void setUp() {
    -        sut = new CTrieSubscriptionDirectory();
    -        ISubscriptionsRepository sessionsRepository = new MemorySubscriptionsRepository();
    -        sut.init(sessionsRepository);
    -    }
    -
    -    @Test
    -    public void testAddOnSecondLayerWithEmptyTokenOnEmptyTree() {
    -        //Exercise
    -        sut.add(clientSubOnTopic("TempSensor1", "/"));
    -
    -        //Verify
    -        final Optional matchedNode = sut.lookup(asTopic("/"));
    -        assertTrue("Node on path / must be present", matchedNode.isPresent());
    -        //verify structure, only root INode and the first CNode should be present
    -        assertThat(this.sut.root.mainNode().subscriptions).isEmpty();
    -        assertThat(this.sut.root.mainNode().allChildren()).isNotEmpty();
    -
    -        INode firstLayer = this.sut.root.mainNode().allChildren().get(0);
    -        assertThat(firstLayer.mainNode().subscriptions).isEmpty();
    -        assertThat(firstLayer.mainNode().allChildren()).isNotEmpty();
    -
    -        INode secondLayer = firstLayer.mainNode().allChildren().get(0);
    -        assertThat(secondLayer.mainNode().subscriptions).isNotEmpty();
    -        assertThat(secondLayer.mainNode().allChildren()).isEmpty();
    -    }
    -
    -    @Test
    -    public void testAddFirstLayerNodeOnEmptyTree() {
    -        //Exercise
    -        sut.add(clientSubOnTopic("TempSensor1", "/temp"));
    -
    -        //Verify
    -        final Optional matchedNode = sut.lookup(asTopic("/temp"));
    -        assertTrue("Node on path /temp must be present", matchedNode.isPresent());
    -        assertFalse(matchedNode.get().subscriptions.isEmpty());
    -    }
    -
    -    @Test
    -    public void testLookup() {
    -        final Subscription existingSubscription = clientSubOnTopic("TempSensor1", "/temp");
    -        sut.add(existingSubscription);
    -
    -        //Exercise
    -        final Optional matchedNode = sut.lookup(asTopic("/humidity"));
    -
    -        //Verify
    -        assertFalse("Node on path /humidity can't be present", matchedNode.isPresent());
    -    }
    -
    -    @Test
    -    public void testAddNewSubscriptionOnExistingNode() {
    -        final Subscription existingSubscription = clientSubOnTopic("TempSensor1", "/temp");
    -        sut.add(existingSubscription);
    -
    -        //Exercise
    -        final Subscription newSubscription = clientSubOnTopic("TempSensor2", "/temp");
    -        sut.add(newSubscription);
    -
    -        //Verify
    -        final Optional matchedNode = sut.lookup(asTopic("/temp"));
    -        assertTrue("Node on path /temp must be present", matchedNode.isPresent());
    -        final Set subscriptions = matchedNode.get().subscriptions;
    -        assertTrue(subscriptions.contains(newSubscription));
    -    }
    -
    -    @Test
    -    public void testAddNewDeepNodes() {
    -        sut.add(clientSubOnTopic("TempSensorRM", "/italy/roma/temp"));
    -        sut.add(clientSubOnTopic("TempSensorFI", "/italy/firenze/temp"));
    -        sut.add(clientSubOnTopic("HumSensorFI", "/italy/roma/humidity"));
    -        final Subscription happinessSensor = clientSubOnTopic("HappinessSensor", "/italy/happiness");
    -        sut.add(happinessSensor);
    -
    -        //Verify
    -        final Optional matchedNode = sut.lookup(asTopic("/italy/happiness"));
    -        assertTrue("Node on path /italy/happiness must be present", matchedNode.isPresent());
    -        final Set subscriptions = matchedNode.get().subscriptions;
    -        assertTrue(subscriptions.contains(happinessSensor));
    -    }
    -
    -    static Subscription clientSubOnTopic(String clientID, String topicName) {
    -        return new Subscription(clientID, asTopic(topicName), null);
    -    }
    -
    -    @Test
    -    public void givenTreeWithSomeNodeWhenRemoveContainedSubscriptionThenNodeIsUpdated() {
    -        sut.add(clientSubOnTopic("TempSensor1", "/temp"));
    -
    -        //Exercise
    -        sut.removeSubscription(asTopic("/temp"), "TempSensor1");
    -
    -        //Verify
    -        final Optional matchedNode = sut.lookup(asTopic("/temp"));
    -        assertFalse("Node on path /temp can't be present", matchedNode.isPresent());
    -    }
    -
    -    @Test
    -    public void givenTreeWithSomeNodeUnsubscribeAndResubscribeCleanTomb() {
    -        sut.add(clientSubOnTopic("TempSensor1", "test"));
    -        sut.removeSubscription(asTopic("test"), "TempSensor1");
    -
    -        sut.add(clientSubOnTopic("TempSensor1", "test"));
    -        assertTrue(sut.root.mainNode().allChildren().size() == 1);  // looking to see if TNode is cleaned up
    -    }
    -
    -    @Test
    -    public void givenTreeWithSomeNodeWhenRemoveMultipleTimes() {
    -        sut.add(clientSubOnTopic("TempSensor1", "test"));
    -
    -        // make sure no TNode exceptions
    -        sut.removeSubscription(asTopic("test"), "TempSensor1");
    -        sut.removeSubscription(asTopic("test"), "TempSensor1");
    -        sut.removeSubscription(asTopic("test"), "TempSensor1");
    -        sut.removeSubscription(asTopic("test"), "TempSensor1");
    -
    -        //Verify
    -        final Optional matchedNode = sut.lookup(asTopic("/temp"));
    -        assertFalse("Node on path /temp can't be present", matchedNode.isPresent());
    -    }
    -
    -    @Test
    -    public void givenTreeWithSomeDeepNodeWhenRemoveMultipleTimes() {
    -        sut.add(clientSubOnTopic("TempSensor1", "/test/me/1/2/3"));
    -
    -        // make sure no TNode exceptions
    -        sut.removeSubscription(asTopic("/test/me/1/2/3"), "TempSensor1");
    -        sut.removeSubscription(asTopic("/test/me/1/2/3"), "TempSensor1");
    -        sut.removeSubscription(asTopic("/test/me/1/2/3"), "TempSensor1");
    -
    -        //Verify
    -        final Optional matchedNode = sut.lookup(asTopic("/temp"));
    -        assertFalse("Node on path /temp can't be present", matchedNode.isPresent());
    -    }
    -
    -    @Test
    -    public void givenTreeWithSomeNodeHierarchWhenRemoveContainedSubscriptionThenNodeIsUpdated() {
    -        sut.add(clientSubOnTopic("TempSensor1", "/temp/1"));
    -        sut.add(clientSubOnTopic("TempSensor1", "/temp/2"));
    -
    -        //Exercise
    -        sut.removeSubscription(asTopic("/temp/1"), "TempSensor1");
    -
    -        sut.removeSubscription(asTopic("/temp/1"), "TempSensor1");
    -        final Set matchingSubs = sut.recursiveMatch(asTopic("/temp/2"), sut.root);
    -
    -        //Verify
    -        final Subscription expectedMatchingsub = new Subscription("TempSensor1", asTopic("/temp/2"));
    -        assertThat(matchingSubs).contains(expectedMatchingsub);
    -    }
    -
    -    @Test
    -    public void givenTreeWithSomeNodeHierarchWhenRemoveContainedSubscriptionSmallerThenNodeIsNotUpdated() {
    -        sut.add(clientSubOnTopic("TempSensor1", "/temp/1"));
    -        sut.add(clientSubOnTopic("TempSensor1", "/temp/2"));
    -
    -        //Exercise
    -        sut.removeSubscription(asTopic("/temp"), "TempSensor1");
    -
    -        final Set matchingSubs1 = sut.recursiveMatch(asTopic("/temp/1"), sut.root);
    -        final Set matchingSubs2 = sut.recursiveMatch(asTopic("/temp/2"), sut.root);
    -
    -        //Verify
    -        // not clear to me, but I believe /temp unsubscribe should not unsub you from downstream /temp/1 or /temp/2
    -        final Subscription expectedMatchingsub1 = new Subscription("TempSensor1", asTopic("/temp/1"));
    -        assertThat(matchingSubs1).contains(expectedMatchingsub1);
    -        final Subscription expectedMatchingsub2 = new Subscription("TempSensor1", asTopic("/temp/2"));
    -        assertThat(matchingSubs2).contains(expectedMatchingsub2);
    -    }
    -
    -    @Test
    -    public void givenTreeWithDeepNodeWhenRemoveContainedSubscriptionThenNodeIsUpdated() {
    -        sut.add(clientSubOnTopic("TempSensor1", "/bah/bin/bash"));
    -
    -        sut.removeSubscription(asTopic("/bah/bin/bash"), "TempSensor1");
    -
    -        //Verify
    -        final Optional matchedNode = sut.lookup(asTopic("/bah/bin/bash"));
    -        assertFalse("Node on path /temp can't be present", matchedNode.isPresent());
    -    }
    -
    -    @Test
    -    public void testMatchSubscriptionNoWildcards() {
    -        sut.add(clientSubOnTopic("TempSensor1", "/temp"));
    -
    -        //Exercise
    -        final Set matchingSubs = sut.recursiveMatch(asTopic("/temp"), sut.root);
    -
    -        //Verify
    -        final Subscription expectedMatchingsub = new Subscription("TempSensor1", asTopic("/temp"));
    -        assertThat(matchingSubs).contains(expectedMatchingsub);
    -    }
    -
    -    @Test
    -    public void testRemovalInnerTopicOffRootSameClient() {
    -        sut.add(clientSubOnTopic("TempSensor1", "temp"));
    -        sut.add(clientSubOnTopic("TempSensor1", "temp/1"));
    -
    -        //Exercise
    -        final Set matchingSubs1 = sut.recursiveMatch(asTopic("temp"), sut.root);
    -        final Set matchingSubs2 = sut.recursiveMatch(asTopic("temp/1"), sut.root);
    -
    -        //Verify
    -        final Subscription expectedMatchingsub1 = new Subscription("TempSensor1", asTopic("temp"));
    -        final Subscription expectedMatchingsub2 = new Subscription("TempSensor1", asTopic("temp/1"));
    -
    -        assertThat(matchingSubs1).contains(expectedMatchingsub1);
    -        assertThat(matchingSubs2).contains(expectedMatchingsub2);
    -
    -        sut.removeSubscription(asTopic("temp"), "TempSensor1");
    -
    -        //Exercise
    -        final Set matchingSubs3 = sut.recursiveMatch(asTopic("temp"), sut.root);
    -        final Set matchingSubs4 = sut.recursiveMatch(asTopic("temp/1"), sut.root);
    -
    -        assertThat(matchingSubs3).doesNotContain(expectedMatchingsub1);
    -        assertThat(matchingSubs4).contains(expectedMatchingsub2);
    -    }
    -
    -    @Test
    -    public void testRemovalInnerTopicOffRootDiffClient() {
    -        sut.add(clientSubOnTopic("TempSensor1", "temp"));
    -        sut.add(clientSubOnTopic("TempSensor2", "temp/1"));
    -
    -        //Exercise
    -        final Set matchingSubs1 = sut.recursiveMatch(asTopic("temp"), sut.root);
    -        final Set matchingSubs2 = sut.recursiveMatch(asTopic("temp/1"), sut.root);
    -
    -        //Verify
    -        final Subscription expectedMatchingsub1 = new Subscription("TempSensor1", asTopic("temp"));
    -        final Subscription expectedMatchingsub2 = new Subscription("TempSensor2", asTopic("temp/1"));
    -
    -        assertThat(matchingSubs1).contains(expectedMatchingsub1);
    -        assertThat(matchingSubs2).contains(expectedMatchingsub2);
    -
    -        sut.removeSubscription(asTopic("temp"), "TempSensor1");
    -
    -        //Exercise
    -        final Set matchingSubs3 = sut.recursiveMatch(asTopic("temp"), sut.root);
    -        final Set matchingSubs4 = sut.recursiveMatch(asTopic("temp/1"), sut.root);
    -
    -        assertThat(matchingSubs3).doesNotContain(expectedMatchingsub1);
    -        assertThat(matchingSubs4).contains(expectedMatchingsub2);
    -    }
    -
    -    @Test
    -    public void testRemovalOuterTopicOffRootDiffClient() {
    -        sut.add(clientSubOnTopic("TempSensor1", "temp"));
    -        sut.add(clientSubOnTopic("TempSensor2", "temp/1"));
    -
    -        //Exercise
    -        final Set matchingSubs1 = sut.recursiveMatch(asTopic("temp"), sut.root);
    -        final Set matchingSubs2 = sut.recursiveMatch(asTopic("temp/1"), sut.root);
    -
    -        //Verify
    -        final Subscription expectedMatchingsub1 = new Subscription("TempSensor1", asTopic("temp"));
    -        final Subscription expectedMatchingsub2 = new Subscription("TempSensor2", asTopic("temp/1"));
    -
    -        assertThat(matchingSubs1).contains(expectedMatchingsub1);
    -        assertThat(matchingSubs2).contains(expectedMatchingsub2);
    -
    -        sut.removeSubscription(asTopic("temp/1"), "TempSensor2");
    -
    -        //Exercise
    -        final Set matchingSubs3 = sut.recursiveMatch(asTopic("temp"), sut.root);
    -        final Set matchingSubs4 = sut.recursiveMatch(asTopic("temp/1"), sut.root);
    -
    -        assertThat(matchingSubs3).contains(expectedMatchingsub1);
    -        assertThat(matchingSubs4).doesNotContain(expectedMatchingsub2);
    -    }
    -}
    diff --git a/broker/src/test/java/io/moquette/spi/impl/subscriptions/TopicTest.java b/broker/src/test/java/io/moquette/spi/impl/subscriptions/TopicTest.java
    deleted file mode 100644
    index df342a1f..00000000
    --- a/broker/src/test/java/io/moquette/spi/impl/subscriptions/TopicTest.java
    +++ /dev/null
    @@ -1,179 +0,0 @@
    -/*
    - * Copyright (c) 2012-2018 The original author or authors
    - * ------------------------------------------------------
    - * All rights reserved. This program and the accompanying materials
    - * are made available under the terms of the Eclipse Public License v1.0
    - * and Apache License v2.0 which accompanies this distribution.
    - *
    - * The Eclipse Public License is available at
    - * http://www.eclipse.org/legal/epl-v10.html
    - *
    - * The Apache License v2.0 is available at
    - * http://www.opensource.org/licenses/apache2.0.php
    - *
    - * You may elect to redistribute this code under either of these licenses.
    - */
    -package io.moquette.spi.impl.subscriptions;
    -
    -import org.assertj.core.api.AbstractAssert;
    -import org.assertj.core.api.Assertions;
    -import org.junit.Test;
    -
    -import static org.junit.Assert.assertEquals;
    -
    -public class TopicTest {
    -
    -    @Test
    -    public void testParseTopic() {
    -        assertThat(new Topic("finance/stock/ibm")).containsToken("finance", "stock", "ibm");
    -
    -        assertThat(new Topic("/finance/stock/ibm")).containsToken(Token.EMPTY, "finance", "stock", "ibm");
    -
    -        assertThat(new Topic("/")).containsToken(Token.EMPTY, Token.EMPTY);
    -    }
    -
    -    @Test
    -    public void testParseTopicMultiValid() {
    -        assertThat(new Topic("finance/stock/#")).containsToken("finance", "stock", Token.MULTI);
    -
    -        assertThat(new Topic("#")).containsToken(Token.MULTI);
    -    }
    -
    -    @Test
    -    public void testValidationProcess() {
    -        // TopicMultiInTheMiddle
    -        assertThat(new Topic("finance/#/closingprice")).isInValid();
    -
    -        // MultiNotAfterSeparator
    -        assertThat(new Topic("finance#")).isInValid();
    -
    -        // TopicMultiNotAlone
    -        assertThat(new Topic("/finance/#closingprice")).isInValid();
    -
    -        // SingleNotAferSeparator
    -        assertThat(new Topic("finance+")).isInValid();
    -
    -        assertThat(new Topic("finance/+")).isValid();
    -    }
    -
    -    @Test
    -    public void testParseTopicSingleValid() {
    -        assertThat(new Topic("finance/stock/+")).containsToken("finance", "stock", Token.SINGLE);
    -
    -        assertThat(new Topic("+")).containsToken(Token.SINGLE);
    -
    -        assertThat(new Topic("finance/+/ibm")).containsToken("finance", Token.SINGLE, "ibm");
    -    }
    -
    -    @Test
    -    public void testMatchTopics_simple() {
    -        assertThat(new Topic("/")).matches("/");
    -        assertThat(new Topic("/finance")).matches("/finance");
    -    }
    -
    -    @Test
    -    public void testMatchTopics_multi() {
    -        assertThat(new Topic("finance")).matches("#");
    -        assertThat(new Topic("finance")).matches("finance/#");
    -        assertThat(new Topic("finance/stock")).matches("finance/#");
    -        assertThat(new Topic("finance/stock/ibm")).matches("finance/#");
    -    }
    -
    -    @Test
    -    public void testMatchTopics_single() {
    -        assertThat(new Topic("finance")).matches("+");
    -        assertThat(new Topic("finance/stock")).matches("finance/+");
    -        assertThat(new Topic("finance")).doesNotMatch("finance/+");
    -        assertThat(new Topic("/finance")).matches("/+");
    -        assertThat(new Topic("/finance")).doesNotMatch("+");
    -        assertThat(new Topic("/finance")).matches("+/+");
    -        assertThat(new Topic("/finance/stock/ibm")).matches("/finance/+/ibm");
    -        assertThat(new Topic("/")).matches("+/+");
    -        assertThat(new Topic("sport/")).matches("sport/+");
    -        assertThat(new Topic("/finance/stock")).doesNotMatch("+");
    -    }
    -
    -    @Test
    -    public void rogerLightMatchTopics() {
    -        assertThat(new Topic("foo/bar")).matches("foo/bar");
    -        assertThat(new Topic("foo/bar")).matches("foo/+");
    -        assertThat(new Topic("foo/bar/baz")).matches("foo/+/baz");
    -        assertThat(new Topic("foo/bar/baz")).matches("foo/+/#");
    -        assertThat(new Topic("foo/bar/baz")).matches("#");
    -
    -        assertThat(new Topic("foo")).doesNotMatch("foo/bar");
    -        assertThat(new Topic("foo/bar/baz")).doesNotMatch("foo/+");
    -        assertThat(new Topic("foo/bar/bar")).doesNotMatch("foo/+/baz");
    -        assertThat(new Topic("fo2/bar/baz")).doesNotMatch("foo/+/#");
    -
    -        assertThat(new Topic("/foo/bar")).matches("#");
    -        assertThat(new Topic("/foo/bar")).matches("/#");
    -        assertThat(new Topic("foo/bar")).doesNotMatch("/#");
    -
    -        assertThat(new Topic("foo//bar")).matches("foo//bar");
    -        assertThat(new Topic("foo//bar")).matches("foo//+");
    -        assertThat(new Topic("foo///baz")).matches("foo/+/+/baz");
    -        assertThat(new Topic("foo/bar/")).matches("foo/bar/+");
    -    }
    -
    -    @Test
    -    public void exceptHeadToken() {
    -        assertEquals(Topic.asTopic("token"), Topic.asTopic("/token").exceptHeadToken());
    -        assertEquals(Topic.asTopic("a/b"), Topic.asTopic("/a/b").exceptHeadToken());
    -    }
    -
    -    public static TopicAssert assertThat(Topic topic) {
    -        return new TopicAssert(topic);
    -    }
    -
    -    static class TopicAssert extends AbstractAssert {
    -
    -        TopicAssert(Topic actual) {
    -            super(actual, TopicAssert.class);
    -        }
    -
    -        public TopicAssert matches(String topic) {
    -            Assertions.assertThat(actual.match(new Topic(topic))).isTrue();
    -
    -            return myself;
    -        }
    -
    -        public TopicAssert doesNotMatch(String topic) {
    -            Assertions.assertThat(actual.match(new Topic(topic))).isFalse();
    -
    -            return myself;
    -        }
    -
    -        public TopicAssert containsToken(Object... tokens) {
    -            Assertions.assertThat(actual.getTokens()).containsExactly(asArray(tokens));
    -
    -            return myself;
    -        }
    -
    -        private Token[] asArray(Object... l) {
    -            Token[] tokens = new Token[l.length];
    -            for (int i = 0; i < l.length; i++) {
    -                Object o = l[i];
    -                if (o instanceof Token) {
    -                    tokens[i] = (Token) o;
    -                } else {
    -                    tokens[i] = new Token(o.toString());
    -                }
    -            }
    -
    -            return tokens;
    -        }
    -
    -        public TopicAssert isValid() {
    -            Assertions.assertThat(actual.isValid()).isTrue();
    -
    -            return myself;
    -        }
    -
    -        public TopicAssert isInValid() {
    -            Assertions.assertThat(actual.isValid()).isFalse();
    -
    -            return myself;
    -        }
    -    }
    -}
    diff --git a/broker/src/test/java/io/moquette/testclient/RawClient.java b/broker/src/test/java/io/moquette/testclient/RawClient.java
    index 559204cf..1c9a7587 100644
    --- a/broker/src/test/java/io/moquette/testclient/RawClient.java
    +++ b/broker/src/test/java/io/moquette/testclient/RawClient.java
    @@ -35,7 +35,7 @@ import java.util.concurrent.TimeUnit;
     import static io.netty.channel.ChannelFutureListener.CLOSE_ON_FAILURE;
     
     /**
    - * This class is used to have a fluent interface to interact with a server. Inspired by
    + * This class is used to have a fluent interface to interact with a integration. Inspired by
      * org.kaazing.robot
      */
     public final class RawClient {
    diff --git a/broker/src/test/resources/log4j.properties b/broker/src/test/resources/log4j.properties
    index b33f6c63..bc32b72d 100644
    --- a/broker/src/test/resources/log4j.properties
    +++ b/broker/src/test/resources/log4j.properties
    @@ -1,7 +1,7 @@
     log4j.rootLogger=ERROR, stdout, file
     
    -log4j.logger.io.moquette=WARN
    -log4j.logger.io.moquette.broker=WARN
    +log4j.logger.io.moquette=DEBUG
    +log4j.logger.io.moquette.broker=DEBUG
     #log4j.logger.io.moquette.broker=WARN
     
     #Storage service
    diff --git a/distribution/build.gradle b/distribution/build.gradle
    index cb2c01cf..55b7ad3b 100644
    --- a/distribution/build.gradle
    +++ b/distribution/build.gradle
    @@ -4,7 +4,7 @@ description = 'Moquette - distribution'
     apply plugin: 'com.github.johnrengelman.shadow'
     
     
    -mainClassName = "io.moquette.server.Server"
    +mainClassName = "io.moquette.integration.Server"
     
     dependencies {
       compile project(':moquette-broker')
    diff --git a/distribution/src/main/resources/log4j.properties b/distribution/src/main/resources/log4j.properties
    index f587da28..74f85c14 100644
    --- a/distribution/src/main/resources/log4j.properties
    +++ b/distribution/src/main/resources/log4j.properties
    @@ -5,10 +5,10 @@ log4j.logger.io.moquette.spi.impl.ProtocolProcessor=INFO
     log4j.logger.io.moquette.spi.impl.ProtocolProcessorBootstrapper=WARN
     
     #Protocol parsing
    -log4j.logger.io.moquette.server.netty.NettyMQTTHandler=WARN
    -#log4j.logger.io.moquette.server.netty.NettyMQTTHandler=DEBUG
    +log4j.logger.io.moquette.integration.netty.NettyMQTTHandler=WARN
    +#log4j.logger.io.moquette.integrationation.netty.NettyMQTTHandler=DEBUG
     log4j.logger.io.moquette.parser.netty=WARN
    -#Storage server
    +#Storage integration
     #log4j.logger.io.moquette.spi.impl.subscriptions.SubscriptionsDirectorytory=DEBUG
     #log4j.logger.io.moquette.spi.impl.HawtDBStorageService=DEBUG
     
    diff --git a/distribution/src/main/resources/moquette.conf b/distribution/src/main/resources/moquette.conf
    index 6add83cb..abd2661b 100644
    --- a/distribution/src/main/resources/moquette.conf
    +++ b/distribution/src/main/resources/moquette.conf
    @@ -84,7 +84,7 @@ password_file config/password_file.conf
     #*********************************************************************
     # Optional Database Authentication
     #*********************************************************************
    -# authenticator_class io.moquette.spi.impl.security.DBAuthenticator
    +# authenticator_class io.moquette.broker.security.DBAuthenticator
     # authenticator.db.driver org.postgresql.Driver
     # authenticator.db.url jdbc:postgresql://localhost/test?user=dbuser&password=dbpassword
     # authenticator.db.query SELECT PASSWORD FROM ACCOUNT WHERE LOGIN=?
    diff --git a/distribution/src/main/scripts/moquette.bat b/distribution/src/main/scripts/moquette.bat
    index 2311f758..45570a6f 100644
    --- a/distribution/src/main/scripts/moquette.bat
    +++ b/distribution/src/main/scripts/moquette.bat
    @@ -85,4 +85,4 @@ set JAVA_OPTS=%JAVA_OPTS% -XX:+UseGCLogFileRotation
     set JAVA_OPTS=%JAVA_OPTS% -XX:NumberOfGCLogFiles=10
     set JAVA_OPTS=%JAVA_OPTS% -XX:GCLogFileSize=10M"
     
    -%JAVA% -server %JAVA_OPTS% %JAVA_OPTS_SCRIPT% -Dlog4j.configuration=file:%LOG_FILE% -Dmoquette.path=%MOQUETTE_PATH% -cp %MOQUETTE_HOME%\lib\* io.moquette.server.Server
    +%JAVA% -server %JAVA_OPTS% %JAVA_OPTS_SCRIPT% -Dlog4j.configuration=file:%LOG_FILE% -Dmoquette.path=%MOQUETTE_PATH% -cp %MOQUETTE_HOME%\lib\* io.moquette.integration.Server
    diff --git a/distribution/src/main/scripts/moquette.sh b/distribution/src/main/scripts/moquette.sh
    index 20bc74c4..e684bff2 100644
    --- a/distribution/src/main/scripts/moquette.sh
    +++ b/distribution/src/main/scripts/moquette.sh
    @@ -94,4 +94,4 @@ JAVA_OPTS="$JAVA_OPTS -XX:+UseGCLogFileRotation"
     JAVA_OPTS="$JAVA_OPTS -XX:NumberOfGCLogFiles=10"
     JAVA_OPTS="$JAVA_OPTS -XX:GCLogFileSize=10M"
     
    -$JAVA -server $JAVA_OPTS $JAVA_OPTS_SCRIPT -Dlog4j.configuration="file:$LOG_FILE" -Dmoquette.path="$MOQUETTE_PATH" -cp "$MOQUETTE_HOME/lib/*" io.moquette.server.Server
    +$JAVA -server $JAVA_OPTS $JAVA_OPTS_SCRIPT -Dlog4j.configuration="file:$LOG_FILE" -Dmoquette.path="$MOQUETTE_PATH" -cp "$MOQUETTE_HOME/lib/*" io.moquette.integration.Server
    diff --git a/embedding_moquette/src/main/java/io/moquette/testembedded/EmbeddedLauncher.java b/embedding_moquette/src/main/java/io/moquette/testembedded/EmbeddedLauncher.java
    index 91d7f92b..a51cf8c4 100644
    --- a/embedding_moquette/src/main/java/io/moquette/testembedded/EmbeddedLauncher.java
    +++ b/embedding_moquette/src/main/java/io/moquette/testembedded/EmbeddedLauncher.java
    @@ -19,10 +19,10 @@ import io.moquette.broker.Server;
     import io.moquette.interception.AbstractInterceptHandler;
     import io.moquette.interception.InterceptHandler;
     import io.moquette.interception.messages.InterceptPublishMessage;
    -import io.moquette.server.config.ClasspathResourceLoader;
    -import io.moquette.server.config.IConfig;
    -import io.moquette.server.config.IResourceLoader;
    -import io.moquette.server.config.ResourceLoaderConfig;
    +import io.moquette.broker.config.ClasspathResourceLoader;
    +import io.moquette.broker.config.IConfig;
    +import io.moquette.broker.config.IResourceLoader;
    +import io.moquette.broker.config.ResourceLoaderConfig;
     import io.netty.buffer.Unpooled;
     import io.netty.handler.codec.mqtt.MqttMessageBuilders;
     import io.netty.handler.codec.mqtt.MqttPublishMessage;
    diff --git a/h2_storage/src/main/java/io/moquette/persistence/h2/H2MessagesStore.java b/h2_storage/src/main/java/io/moquette/persistence/h2/H2MessagesStore.java
    index d330932f..d282a433 100644
    --- a/h2_storage/src/main/java/io/moquette/persistence/h2/H2MessagesStore.java
    +++ b/h2_storage/src/main/java/io/moquette/persistence/h2/H2MessagesStore.java
    @@ -18,7 +18,7 @@ package io.moquette.persistence.h2;
     
     import io.moquette.spi.IMatchingCondition;
     import io.moquette.spi.IMessagesStore;
    -import io.moquette.spi.impl.subscriptions.Topic;
    +import io.moquette.broker.subscriptions.Topic;
     import org.h2.mvstore.Cursor;
     import org.h2.mvstore.MVMap;
     import org.h2.mvstore.MVStore;
    diff --git a/h2_storage/src/main/java/io/moquette/persistence/h2/H2PersistentStore.java b/h2_storage/src/main/java/io/moquette/persistence/h2/H2PersistentStore.java
    index 03444850..6d14bbac 100644
    --- a/h2_storage/src/main/java/io/moquette/persistence/h2/H2PersistentStore.java
    +++ b/h2_storage/src/main/java/io/moquette/persistence/h2/H2PersistentStore.java
    @@ -16,7 +16,7 @@
     package io.moquette.persistence.h2;
     
     import io.moquette.BrokerConstants;
    -import io.moquette.server.config.IConfig;
    +import io.moquette.broker.config.IConfig;
     import io.moquette.spi.IMessagesStore;
     import io.moquette.spi.ISessionsStore;
     import io.moquette.spi.IStore;
    diff --git a/h2_storage/src/main/java/io/moquette/persistence/h2/H2SessionsStore.java b/h2_storage/src/main/java/io/moquette/persistence/h2/H2SessionsStore.java
    index 71186a60..dda7ed07 100644
    --- a/h2_storage/src/main/java/io/moquette/persistence/h2/H2SessionsStore.java
    +++ b/h2_storage/src/main/java/io/moquette/persistence/h2/H2SessionsStore.java
    @@ -20,8 +20,8 @@ import io.moquette.spi.IMessagesStore;
     import io.moquette.spi.IMessagesStore.StoredMessage;
     import io.moquette.spi.ISessionsStore;
     import io.moquette.spi.ISubscriptionsStore;
    -import io.moquette.spi.impl.subscriptions.Subscription;
    -import io.moquette.spi.impl.subscriptions.Topic;
    +import io.moquette.broker.subscriptions.Subscription;
    +import io.moquette.broker.subscriptions.Topic;
     import org.h2.mvstore.MVMap;
     import org.h2.mvstore.MVStore;
     import org.slf4j.Logger;
    diff --git a/h2_storage/src/test/java/io/moquette/persistence/h2/H2MessagesStoreTest.java b/h2_storage/src/test/java/io/moquette/persistence/h2/H2MessagesStoreTest.java
    index e9fa08db..2caf450e 100644
    --- a/h2_storage/src/test/java/io/moquette/persistence/h2/H2MessagesStoreTest.java
    +++ b/h2_storage/src/test/java/io/moquette/persistence/h2/H2MessagesStoreTest.java
    @@ -15,17 +15,6 @@
      */
     package io.moquette.persistence.h2;
     
    -import io.moquette.BrokerConstants;
    -import io.moquette.server.config.IConfig;
    -import io.moquette.server.config.MemoryConfig;
    -import org.junit.After;
    -import org.junit.Before;
    -
    -import java.io.File;
    -import java.util.Properties;
    -import java.util.concurrent.Executors;
    -import java.util.concurrent.ScheduledExecutorService;
    -
     import static org.junit.Assert.assertFalse;
     
     public class H2MessagesStoreTest /*extends MessageStoreTCK*/ {
    diff --git a/h2_storage/src/test/java/io/moquette/persistence/h2/H2SessionsStoreTest.java b/h2_storage/src/test/java/io/moquette/persistence/h2/H2SessionsStoreTest.java
    index 7293fce6..eddf9aa0 100644
    --- a/h2_storage/src/test/java/io/moquette/persistence/h2/H2SessionsStoreTest.java
    +++ b/h2_storage/src/test/java/io/moquette/persistence/h2/H2SessionsStoreTest.java
    @@ -15,20 +15,6 @@
      */
     package io.moquette.persistence.h2;
     
    -import io.moquette.BrokerConstants;
    -import io.moquette.server.config.IConfig;
    -import io.moquette.server.config.MemoryConfig;
    -import org.junit.After;
    -import org.junit.Before;
    -import org.junit.Test;
    -import org.slf4j.Logger;
    -import org.slf4j.LoggerFactory;
    -
    -import java.time.LocalDateTime;
    -import java.util.Properties;
    -import java.util.Set;
    -import java.util.concurrent.*;
    -
     //import static io.moquette.persistence.h2.H2MessagesStoreTest.cleanPersistenceFile;
     import static java.time.LocalDateTime.now;
     import static org.assertj.core.api.Assertions.assertThat;
    diff --git a/mapdb_storage/src/main/java/io/moquette/persistence/mapdb/MapDBMessagesStore.java b/mapdb_storage/src/main/java/io/moquette/persistence/mapdb/MapDBMessagesStore.java
    index 65617b94..28faf816 100644
    --- a/mapdb_storage/src/main/java/io/moquette/persistence/mapdb/MapDBMessagesStore.java
    +++ b/mapdb_storage/src/main/java/io/moquette/persistence/mapdb/MapDBMessagesStore.java
    @@ -18,7 +18,7 @@ package io.moquette.persistence.mapdb;
     
     import io.moquette.spi.IMatchingCondition;
     import io.moquette.spi.IMessagesStore;
    -import io.moquette.spi.impl.subscriptions.Topic;
    +import io.moquette.broker.subscriptions.Topic;
     import org.mapdb.DB;
     import org.slf4j.Logger;
     import org.slf4j.LoggerFactory;
    diff --git a/mapdb_storage/src/main/java/io/moquette/persistence/mapdb/MapDBPersistentStore.java b/mapdb_storage/src/main/java/io/moquette/persistence/mapdb/MapDBPersistentStore.java
    index 7b068a22..8606c3ac 100644
    --- a/mapdb_storage/src/main/java/io/moquette/persistence/mapdb/MapDBPersistentStore.java
    +++ b/mapdb_storage/src/main/java/io/moquette/persistence/mapdb/MapDBPersistentStore.java
    @@ -17,7 +17,7 @@
     package io.moquette.persistence.mapdb;
     
     import io.moquette.BrokerConstants;
    -import io.moquette.server.config.IConfig;
    +import io.moquette.broker.config.IConfig;
     import io.moquette.spi.IMessagesStore;
     import io.moquette.spi.ISessionsStore;
     import io.moquette.spi.IStore;
    diff --git a/mapdb_storage/src/main/java/io/moquette/persistence/mapdb/MapDBSessionsStore.java b/mapdb_storage/src/main/java/io/moquette/persistence/mapdb/MapDBSessionsStore.java
    index af9de4a3..2ecfb131 100644
    --- a/mapdb_storage/src/main/java/io/moquette/persistence/mapdb/MapDBSessionsStore.java
    +++ b/mapdb_storage/src/main/java/io/moquette/persistence/mapdb/MapDBSessionsStore.java
    @@ -20,8 +20,8 @@ import io.moquette.persistence.PersistentSession;
     import io.moquette.spi.IMessagesStore.StoredMessage;
     import io.moquette.spi.ISessionsStore;
     import io.moquette.spi.ISubscriptionsStore;
    -import io.moquette.spi.impl.subscriptions.Subscription;
    -import io.moquette.spi.impl.subscriptions.Topic;
    +import io.moquette.broker.subscriptions.Subscription;
    +import io.moquette.broker.subscriptions.Topic;
     import org.mapdb.DB;
     import org.slf4j.Logger;
     import org.slf4j.LoggerFactory;
    diff --git a/mapdb_storage/src/test/java/io/moquette/persistence/mapdb/MapDBPersistentStoreTest.java b/mapdb_storage/src/test/java/io/moquette/persistence/mapdb/MapDBPersistentStoreTest.java
    index dd3a5565..7d5b689c 100644
    --- a/mapdb_storage/src/test/java/io/moquette/persistence/mapdb/MapDBPersistentStoreTest.java
    +++ b/mapdb_storage/src/test/java/io/moquette/persistence/mapdb/MapDBPersistentStoreTest.java
    @@ -16,24 +16,6 @@
     
     package io.moquette.persistence.mapdb;
     
    -import io.moquette.BrokerConstants;
    -import io.moquette.server.config.IConfig;
    -import io.moquette.server.config.MemoryConfig;
    -import io.moquette.spi.IMessagesStore.StoredMessage;
    -import io.netty.handler.codec.mqtt.MqttQoS;
    -import org.junit.After;
    -import org.junit.Before;
    -import org.junit.Test;
    -
    -import java.io.File;
    -import java.util.Properties;
    -import java.util.concurrent.Executors;
    -import java.util.concurrent.ScheduledExecutorService;
    -import java.util.concurrent.TimeUnit;
    -
    -import static java.nio.charset.StandardCharsets.UTF_8;
    -import static org.junit.Assert.*;
    -
     /**
      *
      * @author andrea
    diff --git a/mapdb_storage/src/test/java/io/moquette/persistence/mapdb/MapDBSessionsStoreTest.java b/mapdb_storage/src/test/java/io/moquette/persistence/mapdb/MapDBSessionsStoreTest.java
    index ad9614ca..94ec128b 100644
    --- a/mapdb_storage/src/test/java/io/moquette/persistence/mapdb/MapDBSessionsStoreTest.java
    +++ b/mapdb_storage/src/test/java/io/moquette/persistence/mapdb/MapDBSessionsStoreTest.java
    @@ -15,20 +15,6 @@
      */
     package io.moquette.persistence.mapdb;
     
    -import io.moquette.BrokerConstants;
    -import io.moquette.server.config.IConfig;
    -import io.moquette.server.config.MemoryConfig;
    -import org.junit.After;
    -import org.junit.Before;
    -import org.junit.Test;
    -import org.slf4j.Logger;
    -import org.slf4j.LoggerFactory;
    -
    -import java.time.LocalDateTime;
    -import java.util.Properties;
    -import java.util.Set;
    -import java.util.concurrent.*;
    -
     //import static io.moquette.persistence.mapdb.MapDBPersistentStoreTest.cleanPersistenceFile;
     import static java.time.LocalDateTime.now;
     import static org.assertj.core.api.Assertions.assertThat;