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 extends InterceptHandler> 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;