Moved project package from org.eclipse.moquette to io.moquette

This commit is contained in:
andsel
2015-11-20 21:30:59 +01:00
parent f438ef7f49
commit 371c740321
175 changed files with 629 additions and 669 deletions
+1 -1
View File
@@ -53,7 +53,7 @@ Include dependency in your project:
```
<dependency>
<groupId>org.eclipse.moquette</groupId>
<groupId>io.moquette</groupId>
<artifactId>moquette-broker</artifactId>
<version>0.7</version>
</dependency>
+1 -1
View File
@@ -5,7 +5,7 @@
<parent>
<relativePath>../</relativePath>
<artifactId>moquette-parent</artifactId>
<groupId>org.eclipse.moquette</groupId>
<groupId>io.moquette</groupId>
<version>0.8-SNAPSHOT</version>
</parent>
@@ -13,15 +13,15 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.interception;
package io.moquette.interception;
import org.eclipse.moquette.interception.messages.InterceptConnectMessage;
import org.eclipse.moquette.interception.messages.InterceptDisconnectMessage;
import org.eclipse.moquette.interception.messages.InterceptPublishMessage;
import org.eclipse.moquette.interception.messages.InterceptSubscribeMessage;
import org.eclipse.moquette.interception.messages.InterceptUnsubscribeMessage;
import org.eclipse.moquette.proto.messages.*;
import org.eclipse.moquette.spi.impl.subscriptions.Subscription;
import io.moquette.proto.messages.AbstractMessage;
import io.moquette.spi.impl.subscriptions.Subscription;
import io.moquette.interception.messages.InterceptConnectMessage;
import io.moquette.interception.messages.InterceptDisconnectMessage;
import io.moquette.interception.messages.InterceptPublishMessage;
import io.moquette.interception.messages.InterceptSubscribeMessage;
import io.moquette.interception.messages.InterceptUnsubscribeMessage;
/**
* This interface is used to inject code for intercepting broker events.
@@ -13,11 +13,11 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.interception;
package io.moquette.interception;
import org.eclipse.moquette.proto.messages.ConnectMessage;
import org.eclipse.moquette.proto.messages.PublishMessage;
import org.eclipse.moquette.spi.impl.subscriptions.Subscription;
import io.moquette.proto.messages.ConnectMessage;
import io.moquette.proto.messages.PublishMessage;
import io.moquette.spi.impl.subscriptions.Subscription;
/**
* This interface is to be used internally by the broker components.
@@ -1,6 +1,6 @@
package org.eclipse.moquette.interception.messages;
package io.moquette.interception.messages;
import org.eclipse.moquette.proto.messages.AbstractMessage;
import io.moquette.proto.messages.AbstractMessage;
/**
* @author Wagner Macedo
@@ -1,6 +1,6 @@
package org.eclipse.moquette.interception.messages;
package io.moquette.interception.messages;
import org.eclipse.moquette.proto.messages.ConnectMessage;
import io.moquette.proto.messages.ConnectMessage;
/**
* @author Wagner Macedo
@@ -1,4 +1,4 @@
package org.eclipse.moquette.interception.messages;
package io.moquette.interception.messages;
/**
* @author Wagner Macedo
@@ -1,6 +1,6 @@
package org.eclipse.moquette.interception.messages;
package io.moquette.interception.messages;
import org.eclipse.moquette.proto.messages.PublishMessage;
import io.moquette.proto.messages.PublishMessage;
import java.nio.ByteBuffer;
@@ -1,7 +1,7 @@
package org.eclipse.moquette.interception.messages;
package io.moquette.interception.messages;
import org.eclipse.moquette.proto.messages.AbstractMessage;
import org.eclipse.moquette.spi.impl.subscriptions.Subscription;
import io.moquette.proto.messages.AbstractMessage;
import io.moquette.spi.impl.subscriptions.Subscription;
/**
* @author Wagner Macedo
@@ -1,4 +1,4 @@
package org.eclipse.moquette.interception.messages;
package io.moquette.interception.messages;
/**
* @author Wagner Macedo
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server;
package io.moquette.server;
/**
* Value object to maintain the information of single connection, like ClientID, IoSession,
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server;
package io.moquette.server;
/**
* Server constants keeper
@@ -13,14 +13,14 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server;
package io.moquette.server;
import org.eclipse.moquette.server.config.FilesystemConfig;
import org.eclipse.moquette.server.config.IConfig;
import org.eclipse.moquette.server.config.MemoryConfig;
import org.eclipse.moquette.server.netty.NettyAcceptor;
import org.eclipse.moquette.spi.impl.ProtocolProcessor;
import org.eclipse.moquette.spi.impl.SimpleMessaging;
import io.moquette.server.config.MemoryConfig;
import io.moquette.spi.impl.SimpleMessaging;
import io.moquette.server.config.FilesystemConfig;
import io.moquette.server.config.IConfig;
import io.moquette.server.netty.NettyAcceptor;
import io.moquette.spi.impl.ProtocolProcessor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -28,7 +28,6 @@ import java.io.File;
import java.io.IOException;
import java.util.Properties;
import static org.eclipse.moquette.commons.Constants.PERSISTENT_STORE_PROPERTY_NAME;
/**
* Launch a configured version of the server.
* @author andrea
@@ -92,7 +91,7 @@ public class Server {
if (handlerProp != null) {
config.setProperty("intercept.handler", handlerProp);
}
LOG.info("Persistent store file: " + config.getProperty(PERSISTENT_STORE_PROPERTY_NAME));
LOG.info("Persistent store file: " + config.getProperty(io.moquette.commons.Constants.PERSISTENT_STORE_PROPERTY_NAME));
final ProtocolProcessor processor = SimpleMessaging.getInstance().init(config);
m_acceptor = new NettyAcceptor();
@@ -13,14 +13,12 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server;
package io.moquette.server;
import java.io.IOException;
import org.eclipse.moquette.server.config.IConfig;
import org.eclipse.moquette.spi.IMessaging;
import org.eclipse.moquette.spi.impl.ProtocolProcessor;
import org.eclipse.moquette.spi.impl.SimpleMessaging;
import io.moquette.server.config.IConfig;
import io.moquette.spi.impl.ProtocolProcessor;
/**
*
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server;
package io.moquette.server;
import io.netty.util.AttributeKey;
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server.config;
package io.moquette.server.config;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -13,8 +13,9 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server.config;
package io.moquette.server.config;
import io.moquette.commons.Constants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -22,8 +23,6 @@ import java.io.*;
import java.text.ParseException;
import java.util.Properties;
import static org.eclipse.moquette.commons.Constants.*;
/**
* Mosquitto configuration parser.
*
@@ -43,14 +42,14 @@ class ConfigurationParser {
}
private void createDefaults() {
m_properties.put(PORT_PROPERTY_NAME, Integer.toString(PORT));
m_properties.put(HOST_PROPERTY_NAME, HOST);
m_properties.put(WEB_SOCKET_PORT_PROPERTY_NAME, Integer.toString(WEBSOCKET_PORT));
m_properties.put(PASSWORD_FILE_PROPERTY_NAME, "");
m_properties.put(PERSISTENT_STORE_PROPERTY_NAME, DEFAULT_PERSISTENT_PATH);
m_properties.put(ALLOW_ANONYMOUS_PROPERTY_NAME, true);
m_properties.put(AUTHENTICATOR_CLASS_NAME, "");
m_properties.put(AUTHORIZATOR_CLASS_NAME, "");
m_properties.put(Constants.PORT_PROPERTY_NAME, Integer.toString(Constants.PORT));
m_properties.put(Constants.HOST_PROPERTY_NAME, Constants.HOST);
m_properties.put(Constants.WEB_SOCKET_PORT_PROPERTY_NAME, Integer.toString(Constants.WEBSOCKET_PORT));
m_properties.put(Constants.PASSWORD_FILE_PROPERTY_NAME, "");
m_properties.put(Constants.PERSISTENT_STORE_PROPERTY_NAME, Constants.DEFAULT_PERSISTENT_PATH);
m_properties.put(Constants.ALLOW_ANONYMOUS_PROPERTY_NAME, true);
m_properties.put(Constants.AUTHENTICATOR_CLASS_NAME, "");
m_properties.put(Constants.AUTHORIZATOR_CLASS_NAME, "");
}
/**
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server.config;
package io.moquette.server.config;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server.config;
package io.moquette.server.config;
/**
* Base interface for all configuration implementations (filesystem, memory or classpath)
@@ -13,15 +13,13 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server.config;
package io.moquette.server.config;
import io.moquette.commons.Constants;
import java.util.Map;
import java.util.Properties;
import static org.eclipse.moquette.commons.Constants.*;
import static org.eclipse.moquette.commons.Constants.AUTHENTICATOR_CLASS_NAME;
import static org.eclipse.moquette.commons.Constants.AUTHORIZATOR_CLASS_NAME;
/**
* Configuration backed by memory.
*
@@ -39,14 +37,14 @@ public class MemoryConfig implements IConfig {
}
private void createDefaults() {
m_properties.put(PORT_PROPERTY_NAME, Integer.toString(PORT));
m_properties.put(HOST_PROPERTY_NAME, HOST);
m_properties.put(WEB_SOCKET_PORT_PROPERTY_NAME, Integer.toString(WEBSOCKET_PORT));
m_properties.put(PASSWORD_FILE_PROPERTY_NAME, "");
m_properties.put(PERSISTENT_STORE_PROPERTY_NAME, DEFAULT_PERSISTENT_PATH);
m_properties.put(ALLOW_ANONYMOUS_PROPERTY_NAME, true);
m_properties.put(AUTHENTICATOR_CLASS_NAME, "");
m_properties.put(AUTHORIZATOR_CLASS_NAME, "");
m_properties.put(Constants.PORT_PROPERTY_NAME, Integer.toString(Constants.PORT));
m_properties.put(Constants.HOST_PROPERTY_NAME, Constants.HOST);
m_properties.put(Constants.WEB_SOCKET_PORT_PROPERTY_NAME, Integer.toString(Constants.WEBSOCKET_PORT));
m_properties.put(Constants.PASSWORD_FILE_PROPERTY_NAME, "");
m_properties.put(Constants.PERSISTENT_STORE_PROPERTY_NAME, Constants.DEFAULT_PERSISTENT_PATH);
m_properties.put(Constants.ALLOW_ANONYMOUS_PROPERTY_NAME, true);
m_properties.put(Constants.AUTHENTICATOR_CLASS_NAME, "");
m_properties.put(Constants.AUTHORIZATOR_CLASS_NAME, "");
}
@Override
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server.netty;
package io.moquette.server.netty;
import io.netty.channel.ChannelDuplexHandler;
import io.netty.channel.ChannelHandler.Sharable;
@@ -13,8 +13,12 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server.netty;
package io.moquette.server.netty;
import io.moquette.commons.Constants;
import io.moquette.parser.netty.MQTTDecoder;
import io.moquette.server.config.IConfig;
import io.moquette.server.netty.metrics.*;
import io.netty.bootstrap.ServerBootstrap;
import io.netty.buffer.ByteBuf;
import io.netty.channel.*;
@@ -31,13 +35,9 @@ import io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler;
import io.netty.handler.ssl.SslHandler;
import io.netty.handler.timeout.IdleStateHandler;
import io.netty.util.concurrent.Future;
import org.eclipse.moquette.commons.Constants;
import org.eclipse.moquette.parser.netty.MQTTDecoder;
import org.eclipse.moquette.parser.netty.MQTTEncoder;
import org.eclipse.moquette.server.ServerAcceptor;
import org.eclipse.moquette.server.config.IConfig;
import org.eclipse.moquette.server.netty.metrics.*;
import org.eclipse.moquette.spi.impl.ProtocolProcessor;
import io.moquette.parser.netty.MQTTEncoder;
import io.moquette.server.ServerAcceptor;
import io.moquette.spi.impl.ProtocolProcessor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -13,14 +13,14 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server.netty;
package io.moquette.server.netty;
import io.moquette.server.Constants;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.timeout.IdleStateHandler;
import io.netty.util.Attribute;
import io.netty.util.AttributeKey;
import org.eclipse.moquette.server.Constants;
import org.eclipse.moquette.server.ServerChannel;
import io.moquette.server.ServerChannel;
/**
*
@@ -13,19 +13,18 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server.netty;
package io.moquette.server.netty;
import io.moquette.proto.Utils;
import io.moquette.proto.messages.*;
import io.moquette.spi.impl.ProtocolProcessor;
import static io.moquette.proto.messages.AbstractMessage.*;
import io.netty.channel.ChannelHandler.Sharable;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelInboundHandlerAdapter;
import io.netty.handler.codec.CorruptedFrameException;
import org.eclipse.moquette.proto.messages.*;
import org.eclipse.moquette.proto.Utils;
import static org.eclipse.moquette.proto.messages.AbstractMessage.*;
import org.eclipse.moquette.spi.impl.ProtocolProcessor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server.netty;
package io.moquette.server.netty;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.timeout.IdleStateHandler;
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server.netty.metrics;
package io.moquette.server.netty.metrics;
public class BytesMetrics {
private long m_readBytes = 0;
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server.netty.metrics;
package io.moquette.server.netty.metrics;
import java.util.concurrent.atomic.AtomicLong;
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server.netty.metrics;
package io.moquette.server.netty.metrics;
import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelDuplexHandler;
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server.netty.metrics;
package io.moquette.server.netty.metrics;
public class MessageMetrics {
private long m_messagesRead = 0;
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server.netty.metrics;
package io.moquette.server.netty.metrics;
import java.util.concurrent.atomic.AtomicLong;
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server.netty.metrics;
package io.moquette.server.netty.metrics;
import io.netty.channel.ChannelDuplexHandler;
import io.netty.channel.ChannelHandlerContext;
@@ -13,11 +13,11 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi;
package io.moquette.spi;
import org.eclipse.moquette.proto.messages.AbstractMessage;
import org.eclipse.moquette.spi.impl.subscriptions.Subscription;
import org.eclipse.moquette.spi.impl.subscriptions.SubscriptionsStore;
import io.moquette.proto.messages.AbstractMessage;
import io.moquette.spi.impl.subscriptions.Subscription;
import io.moquette.spi.impl.subscriptions.SubscriptionsStore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi;
package io.moquette.spi;
/**
*/
@@ -13,11 +13,11 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi;
package io.moquette.spi;
import java.io.Serializable;
import java.nio.ByteBuffer;
import org.eclipse.moquette.proto.messages.AbstractMessage;
import io.moquette.proto.messages.AbstractMessage;
import java.util.Collection;
import java.util.List;
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi;
package io.moquette.spi;
/**
* Callback interface used to be notified of some events from the input event queue.
@@ -13,13 +13,13 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi;
package io.moquette.spi;
import java.util.Collection;
import java.util.List;
import java.util.Set;
import org.eclipse.moquette.spi.impl.subscriptions.Subscription;
import io.moquette.spi.impl.subscriptions.Subscription;
/**
* Store used to handle the persistence of the subscriptions tree.
@@ -13,14 +13,14 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl;
package io.moquette.spi.impl;
import org.eclipse.moquette.interception.InterceptHandler;
import org.eclipse.moquette.interception.Interceptor;
import org.eclipse.moquette.interception.messages.*;
import org.eclipse.moquette.proto.messages.ConnectMessage;
import org.eclipse.moquette.proto.messages.PublishMessage;
import org.eclipse.moquette.spi.impl.subscriptions.Subscription;
import io.moquette.interception.InterceptHandler;
import io.moquette.interception.Interceptor;
import io.moquette.interception.messages.*;
import io.moquette.proto.messages.ConnectMessage;
import io.moquette.spi.impl.subscriptions.Subscription;
import io.moquette.proto.messages.PublishMessage;
import java.util.List;
import java.util.concurrent.ExecutorService;
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl;
package io.moquette.spi.impl;
import java.nio.ByteBuffer;
@@ -13,39 +13,39 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl;
package io.moquette.spi.impl;
import java.nio.ByteBuffer;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import org.eclipse.moquette.server.netty.NettyChannel;
import org.eclipse.moquette.spi.ClientSession;
import org.eclipse.moquette.spi.IMatchingCondition;
import org.eclipse.moquette.spi.IMessagesStore;
import org.eclipse.moquette.spi.IMessagesStore.*;
import org.eclipse.moquette.spi.ISessionsStore;
import org.eclipse.moquette.spi.impl.security.IAuthorizator;
import org.eclipse.moquette.spi.impl.subscriptions.Subscription;
import org.eclipse.moquette.spi.impl.subscriptions.SubscriptionsStore;
import static org.eclipse.moquette.parser.netty.Utils.VERSION_3_1;
import static org.eclipse.moquette.parser.netty.Utils.VERSION_3_1_1;
import org.eclipse.moquette.proto.messages.AbstractMessage;
import org.eclipse.moquette.proto.messages.AbstractMessage.QOSType;
import org.eclipse.moquette.proto.messages.ConnAckMessage;
import org.eclipse.moquette.proto.messages.ConnectMessage;
import org.eclipse.moquette.proto.messages.PubAckMessage;
import org.eclipse.moquette.proto.messages.PubCompMessage;
import org.eclipse.moquette.proto.messages.PubRecMessage;
import org.eclipse.moquette.proto.messages.PubRelMessage;
import org.eclipse.moquette.proto.messages.PublishMessage;
import org.eclipse.moquette.proto.messages.SubAckMessage;
import org.eclipse.moquette.proto.messages.SubscribeMessage;
import org.eclipse.moquette.proto.messages.UnsubAckMessage;
import org.eclipse.moquette.proto.messages.UnsubscribeMessage;
import org.eclipse.moquette.server.ConnectionDescriptor;
import org.eclipse.moquette.spi.impl.security.IAuthenticator;
import org.eclipse.moquette.server.ServerChannel;
import io.moquette.server.ConnectionDescriptor;
import io.moquette.server.ServerChannel;
import io.moquette.server.netty.NettyChannel;
import io.moquette.spi.ClientSession;
import io.moquette.spi.IMatchingCondition;
import io.moquette.spi.IMessagesStore;
import io.moquette.spi.ISessionsStore;
import io.moquette.spi.impl.security.IAuthenticator;
import io.moquette.spi.impl.security.IAuthorizator;
import io.moquette.spi.impl.subscriptions.SubscriptionsStore;
import io.moquette.spi.impl.subscriptions.Subscription;
import static io.moquette.parser.netty.Utils.VERSION_3_1;
import static io.moquette.parser.netty.Utils.VERSION_3_1_1;
import io.moquette.proto.messages.AbstractMessage;
import io.moquette.proto.messages.AbstractMessage.QOSType;
import io.moquette.proto.messages.ConnAckMessage;
import io.moquette.proto.messages.ConnectMessage;
import io.moquette.proto.messages.PubAckMessage;
import io.moquette.proto.messages.PubCompMessage;
import io.moquette.proto.messages.PubRecMessage;
import io.moquette.proto.messages.PubRelMessage;
import io.moquette.proto.messages.PublishMessage;
import io.moquette.proto.messages.SubAckMessage;
import io.moquette.proto.messages.SubscribeMessage;
import io.moquette.proto.messages.UnsubAckMessage;
import io.moquette.proto.messages.UnsubscribeMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -244,14 +244,14 @@ public class ProtocolProcessor {
* */
private void republishStoredInSession(ClientSession clientSession) {
LOG.trace("republishStoredInSession for client <{}>", clientSession);
List<StoredMessage> publishedEvents = clientSession.storedMessages();
List<IMessagesStore.StoredMessage> publishedEvents = clientSession.storedMessages();
if (publishedEvents.isEmpty()) {
LOG.info("No stored messages for client <{}>", clientSession.clientID);
return;
}
LOG.info("republishing stored messages to client <{}>", clientSession.clientID);
for (StoredMessage pubEvt : publishedEvents) {
for (IMessagesStore.StoredMessage pubEvt : publishedEvents) {
//TODO put in flight zone
directSend(clientSession, pubEvt.getTopic(), pubEvt.getQos(),
pubEvt.getMessage(), false, pubEvt.getMessageID());
@@ -267,15 +267,15 @@ public class ProtocolProcessor {
targetSession.inFlightAcknowledged(messageID);
}
private static StoredMessage asStoredMessage(PublishMessage msg) {
StoredMessage stored = new StoredMessage(msg.getPayload().array(), msg.getQos(), msg.getTopicName());
private static IMessagesStore.StoredMessage asStoredMessage(PublishMessage msg) {
IMessagesStore.StoredMessage stored = new IMessagesStore.StoredMessage(msg.getPayload().array(), msg.getQos(), msg.getTopicName());
stored.setRetained(msg.isRetainFlag());
stored.setMessageID(msg.getMessageID());
return stored;
}
private static StoredMessage asStoredMessage(WillMessage will) {
StoredMessage pub = new StoredMessage(will.getPayload().array(), will.getQos(), will.getTopic());
private static IMessagesStore.StoredMessage asStoredMessage(WillMessage will) {
IMessagesStore.StoredMessage pub = new IMessagesStore.StoredMessage(will.getPayload().array(), will.getQos(), will.getTopic());
pub.setRetained(will.isRetained());
return pub;
}
@@ -296,7 +296,7 @@ public class ProtocolProcessor {
LOG.info("PUBLISH from clientID <{}> on topic <{}> with QoS {}", clientID, topic, qos);
String guid = null;
StoredMessage toStoreMsg = asStoredMessage(msg);
IMessagesStore.StoredMessage toStoreMsg = asStoredMessage(msg);
toStoreMsg.setClientID(clientID);
if (qos == AbstractMessage.QOSType.MOST_ONE) { //QoS0
forward2Subscribers(toStoreMsg);
@@ -341,7 +341,7 @@ public class ProtocolProcessor {
messageId = m_messagesStore.nextPacketID(clientID);
}
StoredMessage tobeStored = asStoredMessage(will);
IMessagesStore.StoredMessage tobeStored = asStoredMessage(will);
tobeStored.setClientID(clientID);
tobeStored.setMessageID(messageId);
forward2Subscribers(tobeStored);
@@ -352,7 +352,7 @@ public class ProtocolProcessor {
* Flood the subscribers with the message to notify. MessageID is optional and should only used for QoS 1 and 2
* */
//TODO rename to route2Subscribers
void forward2Subscribers(StoredMessage pubEvt) {
void forward2Subscribers(IMessagesStore.StoredMessage pubEvt) {
final String topic = pubEvt.getTopic();
final AbstractMessage.QOSType publishingQos = pubEvt.getQos();
final ByteBuffer origMessage = pubEvt.getMessage();
@@ -475,7 +475,7 @@ public class ProtocolProcessor {
int messageID = msg.getMessageID();
LOG.debug("PUB --PUBREL--> SRV processPubRel invoked for clientID {} ad messageID {}", clientID, messageID);
ClientSession targetSession = m_sessionsStore.sessionForClient(clientID);
StoredMessage evt = targetSession.storedMessage(messageID);
IMessagesStore.StoredMessage evt = targetSession.storedMessage(messageID);
forward2Subscribers(evt);
if (evt.isRetained()) {
@@ -13,16 +13,17 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl;
package io.moquette.spi.impl;
import org.eclipse.moquette.commons.Constants;
import org.eclipse.moquette.interception.InterceptHandler;
import org.eclipse.moquette.server.config.IConfig;
import org.eclipse.moquette.spi.IMessagesStore;
import org.eclipse.moquette.spi.ISessionsStore;
import org.eclipse.moquette.spi.impl.security.*;
import org.eclipse.moquette.spi.impl.subscriptions.SubscriptionsStore;
import org.eclipse.moquette.spi.persistence.MapDBPersistentStore;
import io.moquette.spi.IMessagesStore;
import io.moquette.commons.Constants;
import io.moquette.interception.InterceptHandler;
import io.moquette.server.config.IConfig;
import io.moquette.spi.ISessionsStore;
import io.moquette.spi.impl.security.*;
import io.moquette.spi.impl.subscriptions.SubscriptionsStore;
import io.moquette.spi.persistence.MapDBPersistentStore;
import static io.moquette.commons.Constants.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -32,7 +33,6 @@ import java.lang.reflect.Method;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
import static org.eclipse.moquette.commons.Constants.*;
/**
*
@@ -1,4 +1,4 @@
package org.eclipse.moquette.spi.impl;
package io.moquette.spi.impl;
import java.util.Map;
@@ -13,18 +13,13 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl.security;
package io.moquette.spi.impl.security;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.*;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import static org.eclipse.moquette.spi.impl.security.Authorization.Permission;
/**
* Parses the acl configuration file.
@@ -1,4 +1,4 @@
package org.eclipse.moquette.spi.impl.security;
package io.moquette.spi.impl.security;
/**
* Created by andrea on 8/23/14.
@@ -13,9 +13,9 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl.security;
package io.moquette.spi.impl.security;
import static org.eclipse.moquette.spi.impl.security.Authorization.Permission.READWRITE;
import static io.moquette.spi.impl.security.Authorization.Permission.READWRITE;
/**
* Carries the read/write authorization to topics for the users.
@@ -13,19 +13,15 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl.security;
package io.moquette.spi.impl.security;
import org.eclipse.moquette.spi.impl.subscriptions.SubscriptionsStore;
import io.moquette.spi.impl.subscriptions.SubscriptionsStore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.text.ParseException;
import java.util.*;
import static org.eclipse.moquette.spi.impl.security.Authorization.Permission.READ;
import static org.eclipse.moquette.spi.impl.security.Authorization.Permission.READWRITE;
import static org.eclipse.moquette.spi.impl.security.Authorization.Permission.WRITE;
/**
* Used by the ACLFileParser to push all authorizations it finds.
* ACLAuthorizator uses it in read mode to check it topics matches the ACLs.
@@ -113,12 +109,12 @@ class AuthorizationsCollector implements IAuthorizator {
@Override
public boolean canWrite(String topic, String user, String client) {
return canDoOperation(topic, WRITE, user, client);
return canDoOperation(topic, Authorization.Permission.WRITE, user, client);
}
@Override
public boolean canRead(String topic, String user, String client) {
return canDoOperation(topic, READ, user, client);
return canDoOperation(topic, Authorization.Permission.READ, user, client);
}
private boolean canDoOperation(String topic, Authorization.Permission permission, String username, String client) {
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl.security;
package io.moquette.spi.impl.security;
/**
* @author andrea
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl.security;
package io.moquette.spi.impl.security;
import org.apache.commons.codec.binary.Hex;
import org.slf4j.Logger;
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl.security;
package io.moquette.spi.impl.security;
/**
* username and password checker
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl.security;
package io.moquette.spi.impl.security;
/**
* ACL checker.
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl.security;
package io.moquette.spi.impl.security;
/**
* @author andrea
@@ -13,10 +13,10 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl.subscriptions;
package io.moquette.spi.impl.subscriptions;
import java.io.Serializable;
import org.eclipse.moquette.proto.messages.AbstractMessage.QOSType;
import io.moquette.proto.messages.AbstractMessage.QOSType;
/**
* Maintain the information about which Topic a certain ClientID is subscribed
@@ -13,15 +13,14 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl.subscriptions;
package io.moquette.spi.impl.subscriptions;
import java.text.ParseException;
import java.util.*;
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.atomic.AtomicReference;
import org.eclipse.moquette.spi.ClientSession;
import org.eclipse.moquette.spi.ISessionsStore;
import io.moquette.spi.ISessionsStore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl.subscriptions;
package io.moquette.spi.impl.subscriptions;
/**
* Internal use only class.
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl.subscriptions;
package io.moquette.spi.impl.subscriptions;
import java.util.*;
import java.util.concurrent.LinkedBlockingQueue;
@@ -13,10 +13,10 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.persistence;
package io.moquette.spi.persistence;
import org.eclipse.moquette.spi.IMatchingCondition;
import org.eclipse.moquette.spi.IMessagesStore;
import io.moquette.spi.IMatchingCondition;
import io.moquette.spi.IMessagesStore;
import org.mapdb.DB;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -24,8 +24,6 @@ import org.slf4j.LoggerFactory;
import java.util.*;
import java.util.concurrent.ConcurrentMap;
import static org.eclipse.moquette.spi.persistence.MapDBSessionsStore.messageId2GuidsMapName;
/**
* IMessagesStore implementation backed by MapDB.
*
@@ -87,7 +85,7 @@ class MapDBMessagesStore implements IMessagesStore {
String guid = UUID.randomUUID().toString();
evt.setGuid(guid);
m_persistentMessageStore.put(guid, evt);
ConcurrentMap<Integer, String> messageIdToGuid = m_db.getHashMap(messageId2GuidsMapName(evt.getClientID()));
ConcurrentMap<Integer, String> messageIdToGuid = m_db.getHashMap(MapDBSessionsStore.messageId2GuidsMapName(evt.getClientID()));
messageIdToGuid.put(evt.getMessageID(), guid);
return guid;
}
@@ -103,7 +101,7 @@ class MapDBMessagesStore implements IMessagesStore {
@Override
public void dropMessagesInSession(String clientID) {
m_db.getHashMap(messageId2GuidsMapName(clientID)).clear();
m_db.getHashMap(MapDBSessionsStore.messageId2GuidsMapName(clientID)).clear();
m_persistentMessageStore.remove(clientID);
}
@@ -14,11 +14,11 @@
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.persistence;
package io.moquette.spi.persistence;
import org.eclipse.moquette.proto.MQTTException;
import org.eclipse.moquette.spi.IMessagesStore;
import org.eclipse.moquette.spi.ISessionsStore;
import io.moquette.spi.IMessagesStore;
import io.moquette.spi.ISessionsStore;
import io.moquette.proto.MQTTException;
import org.mapdb.DB;
import org.mapdb.DBMaker;
import org.slf4j.Logger;
@@ -13,13 +13,14 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.persistence;
package io.moquette.spi.persistence;
import org.eclipse.moquette.spi.ClientSession;
import org.eclipse.moquette.spi.IMessagesStore;
import org.eclipse.moquette.spi.ISessionsStore;
import org.eclipse.moquette.spi.impl.subscriptions.Subscription;
import org.eclipse.moquette.spi.persistence.MapDBPersistentStore.PersistentSession;
import io.moquette.spi.ClientSession;
import io.moquette.spi.IMessagesStore;
import io.moquette.spi.ISessionsStore;
import io.moquette.spi.impl.Utils;
import io.moquette.spi.impl.subscriptions.Subscription;
import io.moquette.spi.persistence.MapDBPersistentStore.PersistentSession;
import org.mapdb.DB;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -27,8 +28,6 @@ import org.slf4j.LoggerFactory;
import java.util.*;
import java.util.concurrent.ConcurrentMap;
import static org.eclipse.moquette.spi.impl.Utils.defaultGet;
/**
* ISessionsStore implementation backed by MapDB.
*
@@ -221,33 +220,33 @@ class MapDBSessionsStore implements ISessionsStore {
@Override
public void bindToDeliver(String guid, String clientID) {
List<String> guids = defaultGet(m_enqueuedStore, clientID, new ArrayList<String>());
List<String> guids = Utils.defaultGet(m_enqueuedStore, clientID, new ArrayList<String>());
guids.add(guid);
m_enqueuedStore.put(clientID, guids);
}
@Override
public Collection<String> enqueued(String clientID) {
return defaultGet(m_enqueuedStore, clientID, new ArrayList<String>());
return Utils.defaultGet(m_enqueuedStore, clientID, new ArrayList<String>());
}
@Override
public void removeEnqueued(String clientID, String guid) {
List<String> guids = defaultGet(m_enqueuedStore, clientID, new ArrayList<String>());
List<String> guids = Utils.defaultGet(m_enqueuedStore, clientID, new ArrayList<String>());
guids.remove(guid);
m_enqueuedStore.put(clientID, guids);
}
@Override
public void secondPhaseAcknowledged(String clientID, int messageID) {
Set<Integer> messageIDs = defaultGet(m_secondPhaseStore, clientID, new HashSet<Integer>());
Set<Integer> messageIDs = Utils.defaultGet(m_secondPhaseStore, clientID, new HashSet<Integer>());
messageIDs.remove(messageID);
m_secondPhaseStore.put(clientID, messageIDs);
}
@Override
public void secondPhaseAckWaiting(String clientID, int messageID) {
Set<Integer> messageIDs = defaultGet(m_secondPhaseStore, clientID, new HashSet<Integer>());
Set<Integer> messageIDs = Utils.defaultGet(m_secondPhaseStore, clientID, new HashSet<Integer>());
messageIDs.add(messageID);
m_secondPhaseStore.put(clientID, messageIDs);
}
@@ -13,10 +13,13 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server;
package io.moquette.server;
import org.eclipse.moquette.server.config.IConfig;
import org.eclipse.moquette.server.config.MemoryConfig;
import io.moquette.commons.Constants;
import io.moquette.server.config.IConfig;
import io.moquette.server.config.MemoryConfig;
import io.moquette.spi.impl.security.IAuthenticator;
import io.moquette.spi.impl.security.IAuthorizator;
import org.junit.After;
import org.junit.Test;
import org.slf4j.Logger;
@@ -26,12 +29,6 @@ import java.io.File;
import java.io.IOException;
import java.util.Properties;
import static org.eclipse.moquette.commons.Constants.PERSISTENT_STORE_PROPERTY_NAME;
import static org.eclipse.moquette.commons.Constants.AUTHENTICATOR_CLASS_NAME;
import static org.eclipse.moquette.commons.Constants.AUTHORIZATOR_CLASS_NAME;
import org.eclipse.moquette.spi.impl.security.IAuthenticator;
import org.eclipse.moquette.spi.impl.security.IAuthorizator;
import static org.junit.Assert.*;
/**
@@ -54,7 +51,7 @@ public class ConfigurationClassLoaderTest implements IAuthenticator, IAuthorizat
@After
public void tearDown() throws Exception {
m_server.stopServer();
File dbFile = new File(m_config.getProperty(PERSISTENT_STORE_PROPERTY_NAME));
File dbFile = new File(m_config.getProperty(io.moquette.commons.Constants.PERSISTENT_STORE_PROPERTY_NAME));
if (dbFile.exists()) {
dbFile.delete();
}
@@ -63,7 +60,7 @@ public class ConfigurationClassLoaderTest implements IAuthenticator, IAuthorizat
@Test
public void loadAuthenticator() throws Exception {
Properties props = new Properties(IntegrationUtils.prepareTestPropeties());
props.setProperty(AUTHENTICATOR_CLASS_NAME, "org.eclipse.moquette.server.ConfigurationClassLoaderTest");
props.setProperty(Constants.AUTHENTICATOR_CLASS_NAME, "io.moquette.server.ConfigurationClassLoaderTest");
startServer(props);
assertTrue(true);
m_server.stopServer();
@@ -72,7 +69,7 @@ public class ConfigurationClassLoaderTest implements IAuthenticator, IAuthorizat
@Test
public void loadAuthorizator() throws Exception {
Properties props = new Properties(IntegrationUtils.prepareTestPropeties());
props.setProperty(AUTHORIZATOR_CLASS_NAME, "org.eclipse.moquette.server.ConfigurationClassLoaderTest");
props.setProperty(Constants.AUTHORIZATOR_CLASS_NAME, "io.moquette.server.ConfigurationClassLoaderTest");
startServer(props);
assertTrue(true);
m_server.stopServer();
@@ -13,15 +13,15 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server;
package io.moquette.server;
import org.eclipse.moquette.server.config.IConfig;
import io.moquette.server.config.IConfig;
import java.io.File;
import java.util.Properties;
import static org.eclipse.moquette.commons.Constants.DEFAULT_MOQUETTE_STORE_MAP_DB_FILENAME;
import static org.eclipse.moquette.commons.Constants.PERSISTENT_STORE_PROPERTY_NAME;
import static io.moquette.commons.Constants.DEFAULT_MOQUETTE_STORE_MAP_DB_FILENAME;
import static io.moquette.commons.Constants.PERSISTENT_STORE_PROPERTY_NAME;
import static org.junit.Assert.assertFalse;
/**
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server;
package io.moquette.server;
import java.io.IOException;
import java.nio.ByteBuffer;
@@ -13,10 +13,10 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server;
package io.moquette.server;
import org.eclipse.moquette.server.config.IConfig;
import org.eclipse.moquette.server.config.MemoryConfig;
import io.moquette.server.config.IConfig;
import io.moquette.server.config.MemoryConfig;
import org.fusesource.mqtt.client.*;
import org.junit.After;
import org.junit.Before;
@@ -13,10 +13,10 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server;
package io.moquette.server;
import org.eclipse.moquette.server.config.IConfig;
import org.eclipse.moquette.server.config.MemoryConfig;
import io.moquette.server.config.IConfig;
import io.moquette.server.config.MemoryConfig;
import org.eclipse.paho.client.mqttv3.*;
import org.eclipse.paho.client.mqttv3.persist.MqttDefaultFilePersistence;
import org.junit.After;
@@ -13,11 +13,11 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server;
package io.moquette.server;
import org.eclipse.moquette.server.config.IConfig;
import org.eclipse.moquette.server.config.MemoryConfig;
import io.moquette.server.config.IConfig;
import io.moquette.server.config.MemoryConfig;
import org.eclipse.paho.client.mqttv3.IMqttClient;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttClientPersistence;
@@ -13,13 +13,8 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server;
package io.moquette.server;
import static org.eclipse.moquette.commons.Constants.JKS_PATH_PROPERTY_NAME;
import static org.eclipse.moquette.commons.Constants.KEY_MANAGER_PASSWORD_PROPERTY_NAME;
import static org.eclipse.moquette.commons.Constants.KEY_STORE_PASSWORD_PROPERTY_NAME;
import static org.eclipse.moquette.commons.Constants.PERSISTENT_STORE_PROPERTY_NAME;
import static org.eclipse.moquette.commons.Constants.SSL_PORT_PROPERTY_NAME;
import static org.junit.Assert.assertFalse;
import java.io.File;
@@ -39,6 +34,7 @@ import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
import javax.net.ssl.TrustManagerFactory;
import io.moquette.commons.Constants;
import org.eclipse.paho.client.mqttv3.IMqttClient;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttClientPersistence;
@@ -79,11 +75,11 @@ public class ServerIntegrationSSLTest {
m_server = new Server();
Properties sslProps = new Properties();
sslProps.put(SSL_PORT_PROPERTY_NAME, "8883");
sslProps.put(JKS_PATH_PROPERTY_NAME, "serverkeystore.jks");
sslProps.put(KEY_STORE_PASSWORD_PROPERTY_NAME, "passw0rdsrv");
sslProps.put(KEY_MANAGER_PASSWORD_PROPERTY_NAME, "passw0rdsrv");
sslProps.put(PERSISTENT_STORE_PROPERTY_NAME, IntegrationUtils.localMapDBPath());
sslProps.put(io.moquette.commons.Constants.SSL_PORT_PROPERTY_NAME, "8883");
sslProps.put(Constants.JKS_PATH_PROPERTY_NAME, "serverkeystore.jks");
sslProps.put(Constants.KEY_STORE_PASSWORD_PROPERTY_NAME, "passw0rdsrv");
sslProps.put(Constants.KEY_MANAGER_PASSWORD_PROPERTY_NAME, "passw0rdsrv");
sslProps.put(Constants.PERSISTENT_STORE_PROPERTY_NAME, IntegrationUtils.localMapDBPath());
m_server.startServer(sslProps);
}
@@ -13,33 +13,30 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server;
package io.moquette.server;
import io.moquette.server.config.MemoryConfig;
import org.eclipse.jetty.websocket.client.ClientUpgradeRequest;
import org.eclipse.jetty.websocket.client.WebSocketClient;
import org.eclipse.moquette.commons.Constants;
import org.eclipse.moquette.server.config.IConfig;
import org.eclipse.moquette.server.config.MemoryConfig;
import io.moquette.server.config.IConfig;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
import java.net.URI;
import java.util.Properties;
import java.util.concurrent.TimeUnit;
import static org.eclipse.moquette.commons.Constants.PERSISTENT_STORE_PROPERTY_NAME;
import static org.junit.Assert.assertTrue;
/**
* Integration test to check the function of Moquette with a WebSocket channel.
*
* @author andreaorg.eclipse.moquette.commons.Constants.
* @author andrea
*/
public class ServerIntegrationWebSocketTest {
private static final Logger LOG = LoggerFactory.getLogger(ServerIntegrationWebSocketTest.class);
@@ -72,7 +69,7 @@ public class ServerIntegrationWebSocketTest {
@Test
public void checkPlainConnect() throws Exception {
LOG.info("*** checkPlainConnect ***");
String destUri = "ws://localhost:" + Constants.WEBSOCKET_PORT;
String destUri = "ws://localhost:" + io.moquette.commons.Constants.WEBSOCKET_PORT;
MQTTWebSocket socket = new MQTTWebSocket();
client.start();
@@ -13,15 +13,15 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server;
package io.moquette.server;
import org.eclipse.moquette.proto.messages.AbstractMessage;
import org.eclipse.moquette.proto.messages.AbstractMessage.QOSType;
import org.eclipse.moquette.proto.messages.ConnAckMessage;
import org.eclipse.moquette.proto.messages.ConnectMessage;
import org.eclipse.moquette.server.config.IConfig;
import org.eclipse.moquette.server.config.MemoryConfig;
import org.eclipse.moquette.testclient.Client;
import io.moquette.proto.messages.ConnectMessage;
import io.moquette.proto.messages.AbstractMessage;
import io.moquette.proto.messages.AbstractMessage.QOSType;
import io.moquette.proto.messages.ConnAckMessage;
import io.moquette.server.config.IConfig;
import io.moquette.server.config.MemoryConfig;
import io.moquette.testclient.Client;
import org.fusesource.mqtt.client.*;
import org.junit.After;
import org.junit.Before;
@@ -29,13 +29,11 @@ import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
import java.util.Properties;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import static org.eclipse.moquette.commons.Constants.PERSISTENT_STORE_PROPERTY_NAME;
import static org.junit.Assert.*;
/**
@@ -13,10 +13,10 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server;
package io.moquette.server;
import org.eclipse.moquette.server.config.IConfig;
import org.eclipse.moquette.server.config.MemoryConfig;
import io.moquette.server.config.IConfig;
import io.moquette.server.config.MemoryConfig;
import org.fusesource.mqtt.client.*;
import org.junit.After;
import org.junit.Before;
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server;
package io.moquette.server;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
@@ -13,9 +13,10 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.server.config;
package io.moquette.server.config;
import org.eclipse.moquette.server.config.ConfigurationParser;
import io.moquette.commons.Constants;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -24,8 +25,6 @@ import java.io.StringReader;
import java.text.ParseException;
import java.util.Properties;
import static org.eclipse.moquette.commons.Constants.HOST;
import static org.eclipse.moquette.commons.Constants.PORT;
import static org.junit.Assert.assertEquals;
/**
@@ -102,7 +101,7 @@ public class ConfigurationParserTest {
* Helper method to verify default options.
*/
private void verifyDefaults(Properties props) {
assertEquals(PORT, Integer.parseInt(props.getProperty("port")));
assertEquals(HOST, props.getProperty("host"));
Assert.assertEquals(Constants.PORT, Integer.parseInt(props.getProperty("port")));
Assert.assertEquals(Constants.HOST, props.getProperty("host"));
}
}
@@ -13,21 +13,19 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spec.v3_1_1.connection;
package io.moquette.spec.v3_1_1.connection;
import static org.eclipse.moquette.commons.Constants.DEFAULT_PERSISTENT_PATH;
import static org.eclipse.moquette.commons.Constants.PERSISTENT_STORE_PROPERTY_NAME;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.io.File;
import java.io.IOException;
import org.eclipse.moquette.server.Server;
import org.eclipse.moquette.testclient.RawClient;
import io.moquette.commons.Constants;
import io.moquette.server.Server;
import io.moquette.testclient.RawClient;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Ignore;
import org.junit.Test;
@@ -54,9 +52,9 @@ public class ConnectionIT {
public void tearDown() throws Exception {
m_server.stopServer();
File dbFile = new File(DEFAULT_PERSISTENT_PATH);
File dbFile = new File(Constants.DEFAULT_PERSISTENT_PATH);
if (dbFile.exists()) {
assertTrue("Error deleting the moquette db file " + DEFAULT_PERSISTENT_PATH, dbFile.delete());
assertTrue("Error deleting the moquette db file " + Constants.DEFAULT_PERSISTENT_PATH, dbFile.delete());
}
assertFalse(dbFile.exists());
}
@@ -13,14 +13,14 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl;
package io.moquette.spi.impl;
import org.eclipse.moquette.interception.messages.*;
import org.eclipse.moquette.interception.InterceptHandler;
import org.eclipse.moquette.proto.messages.AbstractMessage;
import org.eclipse.moquette.proto.messages.ConnectMessage;
import org.eclipse.moquette.proto.messages.PublishMessage;
import org.eclipse.moquette.spi.impl.subscriptions.Subscription;
import io.moquette.interception.messages.*;
import io.moquette.proto.messages.ConnectMessage;
import io.moquette.interception.InterceptHandler;
import io.moquette.proto.messages.AbstractMessage;
import io.moquette.proto.messages.PublishMessage;
import io.moquette.spi.impl.subscriptions.Subscription;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -13,12 +13,12 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl;
package io.moquette.spi.impl;
import io.moquette.server.ServerChannel;
import io.netty.util.AttributeKey;
import org.eclipse.moquette.proto.messages.AbstractMessage;
import org.eclipse.moquette.proto.messages.ConnAckMessage;
import org.eclipse.moquette.server.ServerChannel;
import io.moquette.proto.messages.AbstractMessage;
import io.moquette.proto.messages.ConnAckMessage;
import java.util.HashMap;
import java.util.Map;
@@ -1,4 +1,4 @@
package org.eclipse.moquette.spi.impl;
package io.moquette.spi.impl;
/**
* Created by andrea on 6/7/15.
@@ -13,16 +13,16 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl;
package io.moquette.spi.impl;
import org.eclipse.moquette.spi.IMatchingCondition;
import org.eclipse.moquette.spi.IMessagesStore;
import io.moquette.spi.IMessagesStore;
import io.moquette.spi.IMatchingCondition;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.*;
import static org.eclipse.moquette.spi.impl.Utils.defaultGet;
import static io.moquette.spi.impl.Utils.defaultGet;
/**
* @author andrea
@@ -13,11 +13,12 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl;
package io.moquette.spi.impl;
import io.moquette.spi.IMessagesStore;
import io.moquette.spi.ISessionsStore;
import io.moquette.spi.persistence.MemorySessionStore;
import org.eclipse.moquette.spi.IMessagesStore;
import org.eclipse.moquette.spi.ISessionsStore;
import org.eclipse.moquette.spi.persistence.MemorySessionStore;
import java.util.HashMap;
import java.util.Map;
@@ -13,10 +13,11 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl;
package io.moquette.spi.impl;
import java.util.Map;
import org.eclipse.moquette.spi.impl.security.IAuthenticator;
import io.moquette.spi.impl.security.IAuthenticator;
/**
* Test utility to implements authenticator instance.
@@ -12,11 +12,11 @@
* http://www.opensource.org/licenses/apache2.0.php
*
* You may elect to redistribute this code under either of these licenses.
*/package org.eclipse.moquette.spi.impl;
*/package io.moquette.spi.impl;
import io.netty.util.AttributeKey;
import org.eclipse.moquette.proto.messages.AbstractMessage;
import org.eclipse.moquette.server.ServerChannel;
import io.moquette.proto.messages.AbstractMessage;
import io.moquette.server.ServerChannel;
import java.util.HashMap;
import java.util.Map;
@@ -13,20 +13,20 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl;
package io.moquette.spi.impl;
import org.eclipse.moquette.interception.InterceptHandler;
import org.eclipse.moquette.proto.messages.*;
import org.eclipse.moquette.proto.messages.AbstractMessage.QOSType;
import org.eclipse.moquette.server.netty.NettyChannel;
import org.eclipse.moquette.spi.ClientSession;
import org.eclipse.moquette.spi.IMatchingCondition;
import org.eclipse.moquette.spi.IMessagesStore;
import org.eclipse.moquette.spi.IMessagesStore.StoredMessage;
import org.eclipse.moquette.spi.ISessionsStore;
import org.eclipse.moquette.spi.impl.security.PermitAllAuthorizator;
import org.eclipse.moquette.spi.impl.subscriptions.Subscription;
import org.eclipse.moquette.spi.impl.subscriptions.SubscriptionsStore;
import io.moquette.proto.messages.*;
import io.moquette.interception.InterceptHandler;
import io.moquette.proto.messages.AbstractMessage.QOSType;
import io.moquette.server.netty.NettyChannel;
import io.moquette.spi.ClientSession;
import io.moquette.spi.IMatchingCondition;
import io.moquette.spi.IMessagesStore;
import io.moquette.spi.IMessagesStore.StoredMessage;
import io.moquette.spi.ISessionsStore;
import io.moquette.spi.impl.security.PermitAllAuthorizator;
import io.moquette.spi.impl.subscriptions.Subscription;
import io.moquette.spi.impl.subscriptions.SubscriptionsStore;
import org.junit.Before;
import org.junit.Test;
@@ -13,23 +13,25 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl;
package io.moquette.spi.impl;
import org.eclipse.moquette.proto.messages.*;
import org.eclipse.moquette.server.netty.NettyChannel;
import org.eclipse.moquette.spi.IMessagesStore;
import org.eclipse.moquette.spi.ISessionsStore;
import org.eclipse.moquette.spi.impl.security.PermitAllAuthorizator;
import org.eclipse.moquette.spi.impl.subscriptions.Subscription;
import org.eclipse.moquette.spi.impl.subscriptions.SubscriptionsStore;
import io.moquette.proto.messages.AbstractMessage;
import io.moquette.proto.messages.ConnAckMessage;
import io.moquette.proto.messages.ConnectMessage;
import io.moquette.proto.messages.SubscribeMessage;
import io.moquette.spi.IMessagesStore;
import io.moquette.spi.ISessionsStore;
import io.moquette.spi.impl.subscriptions.SubscriptionsStore;
import io.moquette.server.netty.NettyChannel;
import io.moquette.spi.impl.security.PermitAllAuthorizator;
import io.moquette.spi.impl.subscriptions.Subscription;
import org.junit.Before;
import org.junit.Test;
import java.util.HashMap;
import java.util.Map;
import static org.eclipse.moquette.spi.impl.ProtocolProcessorTest.*;
import static org.eclipse.moquette.parser.netty.Utils.VERSION_3_1_1;
import static io.moquette.parser.netty.Utils.VERSION_3_1_1;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -65,7 +67,7 @@ public class ProtocolProcessor_CONNECT_Test {
//m_messagesStore.initStore();
Map<String, byte[]> users = new HashMap<>();
users.put(TEST_USER, TEST_PWD);
users.put(ProtocolProcessorTest.TEST_USER, ProtocolProcessorTest.TEST_PWD);
m_mockAuthenticator = new MockAuthenticator(users);
subscriptions = new SubscriptionsStore();
@@ -121,8 +123,8 @@ public class ProtocolProcessor_CONNECT_Test {
connMsg.setClientID("123");
connMsg.setUserFlag(true);
connMsg.setPasswordFlag(true);
connMsg.setUsername(TEST_USER);
connMsg.setPassword(TEST_PWD);
connMsg.setUsername(ProtocolProcessorTest.TEST_USER);
connMsg.setPassword(ProtocolProcessorTest.TEST_PWD);
//Exercise
m_processor.processConnect(m_session, connMsg);
@@ -136,7 +138,7 @@ public class ProtocolProcessor_CONNECT_Test {
connMsg.setClientID("123");
connMsg.setUserFlag(true);
connMsg.setPasswordFlag(false);
connMsg.setUsername(TEST_USER);
connMsg.setUsername(ProtocolProcessorTest.TEST_USER);
//Exercise
m_processor.processConnect(m_session, connMsg);
@@ -150,8 +152,8 @@ public class ProtocolProcessor_CONNECT_Test {
connMsg.setClientID("123");
connMsg.setUserFlag(true);
connMsg.setPasswordFlag(true);
connMsg.setUsername(TEST_USER + "_fake");
connMsg.setPassword(TEST_PWD);
connMsg.setUsername(ProtocolProcessorTest.TEST_USER + "_fake");
connMsg.setPassword(ProtocolProcessorTest.TEST_PWD);
//Exercise
m_processor.processConnect(m_session, connMsg);
@@ -163,7 +165,7 @@ public class ProtocolProcessor_CONNECT_Test {
@Test
public void prohibitAnonymousClient() {
connMsg.setClientID("123");
m_processor.init(subscriptions, m_messagesStore, m_sessionStore, m_mockAuthenticator, false, new PermitAllAuthorizator(), NO_OBSERVERS_INTERCEPTOR);
m_processor.init(subscriptions, m_messagesStore, m_sessionStore, m_mockAuthenticator, false, new PermitAllAuthorizator(), ProtocolProcessorTest.NO_OBSERVERS_INTERCEPTOR);
//Exercise
m_processor.processConnect(m_session, connMsg);
@@ -176,8 +178,8 @@ public class ProtocolProcessor_CONNECT_Test {
public void prohibitAnonymousClient_providingUsername() {
connMsg.setClientID("123");
connMsg.setUserFlag(true);
connMsg.setUsername(TEST_USER + "_fake");
m_processor.init(subscriptions, m_messagesStore, m_sessionStore, m_mockAuthenticator, false, new PermitAllAuthorizator(), NO_OBSERVERS_INTERCEPTOR);
connMsg.setUsername(ProtocolProcessorTest.TEST_USER + "_fake");
m_processor.init(subscriptions, m_messagesStore, m_sessionStore, m_mockAuthenticator, false, new PermitAllAuthorizator(), ProtocolProcessorTest.NO_OBSERVERS_INTERCEPTOR);
//Exercise
m_processor.processConnect(m_session, connMsg);
@@ -189,7 +191,7 @@ public class ProtocolProcessor_CONNECT_Test {
@Test
public void acceptAnonymousClient() {
connMsg.setClientID("123");
m_processor.init(subscriptions, m_messagesStore, m_sessionStore, m_mockAuthenticator, true, new PermitAllAuthorizator(), NO_OBSERVERS_INTERCEPTOR);
m_processor.init(subscriptions, m_messagesStore, m_sessionStore, m_mockAuthenticator, true, new PermitAllAuthorizator(), ProtocolProcessorTest.NO_OBSERVERS_INTERCEPTOR);
//Exercise
m_processor.processConnect(m_session, connMsg);
@@ -204,8 +206,8 @@ public class ProtocolProcessor_CONNECT_Test {
connMsg.setClientID("Client1");
connMsg.setUserFlag(true);
connMsg.setPasswordFlag(true);
connMsg.setUsername(TEST_USER);
connMsg.setPassword(TEST_PWD);
connMsg.setUsername(ProtocolProcessorTest.TEST_USER);
connMsg.setPassword(ProtocolProcessorTest.TEST_PWD);
m_processor.processConnect(m_session, connMsg);
assertEquals(ConnAckMessage.CONNECTION_ACCEPTED, m_session.getReturnCode());
@@ -215,8 +217,8 @@ public class ProtocolProcessor_CONNECT_Test {
evilClientConnMsg.setClientID("Client1");
evilClientConnMsg.setUserFlag(true);
evilClientConnMsg.setPasswordFlag(true);
evilClientConnMsg.setUsername(EVIL_TEST_USER);
evilClientConnMsg.setPassword(EVIL_TEST_PWD);
evilClientConnMsg.setUsername(ProtocolProcessorTest.EVIL_TEST_USER);
evilClientConnMsg.setPassword(ProtocolProcessorTest.EVIL_TEST_PWD);
DummyChannel evilSession = new DummyChannel();
//Exercise
@@ -270,11 +272,11 @@ public class ProtocolProcessor_CONNECT_Test {
//subscribe
SubscribeMessage subscribeMsg = new SubscribeMessage();
subscribeMsg.addSubscription(new SubscribeMessage.Couple((byte) AbstractMessage.QOSType.MOST_ONE.ordinal(), FAKE_TOPIC));
subscribeMsg.addSubscription(new SubscribeMessage.Couple((byte) AbstractMessage.QOSType.MOST_ONE.ordinal(), ProtocolProcessorTest.FAKE_TOPIC));
m_session.setAttribute(NettyChannel.ATTR_KEY_CLIENTID, "CliID");
m_session.setAttribute(NettyChannel.ATTR_KEY_CLEANSESSION, false);
m_processor.processSubscribe(m_session, subscribeMsg);
Subscription expectedSubscription = new Subscription("CliID", FAKE_TOPIC, AbstractMessage.QOSType.MOST_ONE, false);
Subscription expectedSubscription = new Subscription("CliID", ProtocolProcessorTest.FAKE_TOPIC, AbstractMessage.QOSType.MOST_ONE, false);
assertTrue(subscriptions.contains(expectedSubscription));
//disconnect
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl.security;
package io.moquette.spi.impl.security;
import org.junit.Test;
@@ -13,13 +13,11 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl.security;
package io.moquette.spi.impl.security;
import org.junit.Before;
import org.junit.Test;
import java.io.Reader;
import java.io.StringReader;
import java.text.ParseException;
import static org.junit.Assert.*;
@@ -13,7 +13,7 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl.security;
package io.moquette.spi.impl.security;
import org.junit.Test;
@@ -13,16 +13,16 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.impl.subscriptions;
package io.moquette.spi.impl.subscriptions;
import java.io.IOException;
import java.text.ParseException;
import java.util.Arrays;
import java.util.List;
import org.eclipse.moquette.spi.ISessionsStore;
import org.eclipse.moquette.spi.impl.MemoryStorageService;
import org.eclipse.moquette.proto.messages.AbstractMessage;
import io.moquette.spi.ISessionsStore;
import io.moquette.spi.impl.MemoryStorageService;
import io.moquette.proto.messages.AbstractMessage;
import static org.junit.Assert.*;
import org.junit.Before;
@@ -1,8 +1,8 @@
package org.eclipse.moquette.spi.impl.subscriptions;
package io.moquette.spi.impl.subscriptions;
import static io.moquette.proto.messages.AbstractMessage.QOSType.*;
import static junit.framework.Assert.assertEquals;
import static org.eclipse.moquette.proto.messages.AbstractMessage.QOSType.*;
import org.junit.Test;
import java.util.Set;
@@ -13,13 +13,14 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.persistence;
package io.moquette.spi.persistence;
import org.eclipse.moquette.proto.messages.AbstractMessage;
import org.eclipse.moquette.server.IntegrationUtils;
import org.eclipse.moquette.spi.IMessagesStore;
import org.eclipse.moquette.spi.ISessionsStore;
import org.eclipse.moquette.spi.impl.subscriptions.Subscription;
import io.moquette.commons.Constants;
import io.moquette.server.IntegrationUtils;
import io.moquette.spi.IMessagesStore;
import io.moquette.spi.ISessionsStore;
import io.moquette.proto.messages.AbstractMessage;
import io.moquette.spi.impl.subscriptions.Subscription;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -27,7 +28,6 @@ import org.junit.Test;
import java.util.List;
import java.util.concurrent.TimeUnit;
import static org.eclipse.moquette.commons.Constants.DEFAULT_PERSISTENT_PATH;
import static org.junit.Assert.*;
/**
@@ -42,8 +42,8 @@ public class MapDBPersistentStoreTest {
@Before
public void setUp() throws Exception {
IntegrationUtils.cleanPersistenceFile(DEFAULT_PERSISTENT_PATH);
m_storageService = new MapDBPersistentStore(DEFAULT_PERSISTENT_PATH);
IntegrationUtils.cleanPersistenceFile(Constants.DEFAULT_PERSISTENT_PATH);
m_storageService = new MapDBPersistentStore(Constants.DEFAULT_PERSISTENT_PATH);
m_storageService.initStore();
m_messagesStore = m_storageService.messagesStore();
m_sessionsStore = m_storageService.sessionsStore(m_messagesStore);
@@ -55,7 +55,7 @@ public class MapDBPersistentStoreTest {
m_storageService.close();
}
IntegrationUtils.cleanPersistenceFile(DEFAULT_PERSISTENT_PATH);
IntegrationUtils.cleanPersistenceFile(Constants.DEFAULT_PERSISTENT_PATH);
}
@Test
@@ -13,16 +13,14 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.spi.persistence;
package io.moquette.spi.persistence;
import org.eclipse.moquette.spi.ClientSession;
import org.eclipse.moquette.spi.IMessagesStore;
import org.eclipse.moquette.spi.ISessionsStore;
import org.eclipse.moquette.spi.impl.MemoryStorageService;
import org.eclipse.moquette.spi.impl.subscriptions.Subscription;
import io.moquette.spi.ClientSession;
import io.moquette.spi.IMessagesStore;
import io.moquette.spi.ISessionsStore;
import io.moquette.spi.impl.Utils;
import io.moquette.spi.impl.subscriptions.Subscription;
import static org.eclipse.moquette.spi.impl.Utils.defaultGet;
import static org.eclipse.moquette.spi.persistence.MapDBPersistentStore.PersistentSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -37,7 +35,7 @@ public class MemorySessionStore implements ISessionsStore {
private Map<String, Set<Subscription>> m_persistentSubscriptions = new HashMap<>();
private Map<String, PersistentSession> m_persistentSessions = new HashMap<>();
private Map<String, MapDBPersistentStore.PersistentSession> m_persistentSessions = new HashMap<>();
//maps clientID->[MessageId -> guid]
private Map<String, Map<Integer, String>> m_inflightStore = new HashMap<>();
@@ -118,7 +116,7 @@ public class MemorySessionStore implements ISessionsStore {
}
LOG.debug("clientID {} is a newcome, creating it's empty subscriptions set", clientID);
m_persistentSubscriptions.put(clientID, new HashSet<Subscription>());
m_persistentSessions.put(clientID, new PersistentSession(cleanSession, false));
m_persistentSessions.put(clientID, new MapDBPersistentStore.PersistentSession(cleanSession, false));
return new ClientSession(clientID, m_messagesStore, this, cleanSession);
}
@@ -128,7 +126,7 @@ public class MemorySessionStore implements ISessionsStore {
return null;
}
PersistentSession storedSession = m_persistentSessions.get(clientID);
MapDBPersistentStore.PersistentSession storedSession = m_persistentSessions.get(clientID);
ClientSession clientSession = new ClientSession(clientID, m_messagesStore, this, storedSession.cleanSession);
if (storedSession.active) {
clientSession.activate();
@@ -156,11 +154,11 @@ public class MemorySessionStore implements ISessionsStore {
}
private void activationHelper(String clientID, boolean activation) {
PersistentSession storedSession = m_persistentSessions.get(clientID);
MapDBPersistentStore.PersistentSession storedSession = m_persistentSessions.get(clientID);
if (storedSession == null) {
throw new IllegalStateException((activation ? "activating" : "deactivating") + " a session never stored/created, clientID <"+ clientID + ">", null);
}
PersistentSession newStoredSession = new PersistentSession(storedSession.cleanSession, activation);
MapDBPersistentStore.PersistentSession newStoredSession = new MapDBPersistentStore.PersistentSession(storedSession.cleanSession, activation);
m_persistentSessions.put(clientID, newStoredSession);
}
@@ -186,40 +184,40 @@ public class MemorySessionStore implements ISessionsStore {
@Override
public void bindToDeliver(String guid, String clientID) {
Set<String> guids = defaultGet(m_enqueuedStore, clientID, new HashSet<String>());
Set<String> guids = Utils.defaultGet(m_enqueuedStore, clientID, new HashSet<String>());
guids.add(guid);
m_enqueuedStore.put(clientID, guids);
}
@Override
public Collection<String> enqueued(String clientID) {
return defaultGet(m_enqueuedStore, clientID, new HashSet<String>());
return Utils.defaultGet(m_enqueuedStore, clientID, new HashSet<String>());
}
@Override
public void removeEnqueued(String clientID, String guid) {
Set<String> guids = defaultGet(m_enqueuedStore, clientID, new HashSet<String>());
Set<String> guids = Utils.defaultGet(m_enqueuedStore, clientID, new HashSet<String>());
guids.remove(guid);
m_enqueuedStore.put(clientID, guids);
}
@Override
public void secondPhaseAcknowledged(String clientID, int messageID) {
Set<Integer> messageIDs = defaultGet(m_secondPhaseStore, clientID, new HashSet<Integer>());
Set<Integer> messageIDs = Utils.defaultGet(m_secondPhaseStore, clientID, new HashSet<Integer>());
messageIDs.remove(messageID);
m_secondPhaseStore.put(clientID, messageIDs);
}
@Override
public void secondPhaseAckWaiting(String clientID, int messageID) {
Set<Integer> messageIDs = defaultGet(m_secondPhaseStore, clientID, new HashSet<Integer>());
Set<Integer> messageIDs = Utils.defaultGet(m_secondPhaseStore, clientID, new HashSet<Integer>());
messageIDs.add(messageID);
m_secondPhaseStore.put(clientID, messageIDs);
}
@Override
public String mapToGuid(String clientID, int messageID) {
HashMap<Integer, String> guids = (HashMap<Integer, String>) defaultGet(m_messageToGuids,
HashMap<Integer, String> guids = (HashMap<Integer, String>) Utils.defaultGet(m_messageToGuids,
clientID, new HashMap<Integer, String>());
return guids.get(messageID);
}
@@ -13,8 +13,11 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.testclient;
package io.moquette.testclient;
import io.moquette.commons.Constants;
import io.moquette.parser.netty.MQTTDecoder;
import io.moquette.parser.netty.MQTTEncoder;
import io.netty.bootstrap.Bootstrap;
import io.netty.channel.Channel;
import io.netty.channel.ChannelInitializer;
@@ -24,10 +27,7 @@ import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.SocketChannel;
import io.netty.channel.socket.nio.NioSocketChannel;
import org.eclipse.moquette.commons.Constants;
import org.eclipse.moquette.parser.netty.MQTTDecoder;
import org.eclipse.moquette.parser.netty.MQTTEncoder;
import org.eclipse.moquette.proto.messages.AbstractMessage;
import io.moquette.proto.messages.AbstractMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -13,14 +13,14 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.testclient;
package io.moquette.testclient;
import io.moquette.proto.Utils;
import io.netty.channel.ChannelHandler;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelInboundHandlerAdapter;
import org.eclipse.moquette.proto.Utils;
import org.eclipse.moquette.proto.messages.AbstractMessage;
import org.eclipse.moquette.server.netty.NettyMQTTHandler;
import io.moquette.proto.messages.AbstractMessage;
import io.moquette.server.netty.NettyMQTTHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -1,4 +1,4 @@
package org.eclipse.moquette.testclient;
package io.moquette.testclient;
import io.netty.bootstrap.Bootstrap;
import io.netty.buffer.ByteBuf;
@@ -8,7 +8,7 @@ import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.SocketChannel;
import io.netty.channel.socket.nio.NioSocketChannel;
import io.netty.util.ReferenceCountUtil;
import org.eclipse.moquette.parser.netty.Utils;
import io.moquette.parser.netty.Utils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+8 -8
View File
@@ -1,19 +1,19 @@
# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=ERROR, stdout, file
#og4j.logger.org.eclipse.moquette=WARN
log4j.logger.org.eclipse.moquette=DEBUG
#og4j.logger.io.moquette=WARN
log4j.logger.io.moquette=DEBUG
log4j.logger.org.eclipse.moquette.spi.impl.ProtocolProcessor=DEBUG
log4j.logger.org.eclipse.moquette.spi.impl.SimpleMessaging=DEBUG
log4j.logger.io.moquette.spi.impl.ProtocolProcessor=DEBUG
log4j.logger.io.moquette.spi.impl.SimpleMessaging=DEBUG
#Protocol parsing
log4j.logger.org.eclipse.moquette.server.netty.NettyMQTTHandler=DEBUG
log4j.logger.org.eclipse.moquette.parser.netty=DEBUG
log4j.logger.io.moquette.server.netty.NettyMQTTHandler=DEBUG
log4j.logger.io.moquette.parser.netty=DEBUG
#Storage service
#log4j.logger.org.eclipse.moquette.spi.impl.subscriptions.SubscriptionsStore=DEBUG
log4j.logger.org.eclipse.moquette.spi.persistence.MapDBPersistentStore=DEBUG
#log4j.logger.io.moquette.spi.impl.subscriptions.SubscriptionsStore=DEBUG
log4j.logger.io.moquette.spi.persistence.MapDBPersistentStore=DEBUG
# stdout appender is set to be a ConsoleAppender.
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+1 -1
View File
@@ -5,7 +5,7 @@
<relativePath>../</relativePath>
<!--<relativePath>../pom.xml</relativePath>-->
<artifactId>moquette-parent</artifactId>
<groupId>org.eclipse.moquette</groupId>
<groupId>io.moquette</groupId>
<version>0.8-SNAPSHOT</version>
</parent>
@@ -2,17 +2,17 @@
#log4j.rootLogger=ERROR, A1
log4j.rootLogger=ERROR, stdout, file
log4j.logger.org.eclipse.moquette=INFO
log4j.logger.org.eclipse.moquette.spi.impl.ProtocolProcessor=INFO
log4j.logger.org.eclipse.moquette.spi.impl.SimpleMessaging=WARN
log4j.logger.io.moquette=INFO
log4j.logger.io.moquette.spi.impl.ProtocolProcessor=INFO
log4j.logger.io.moquette.spi.impl.SimpleMessaging=WARN
#Protocol parsing
log4j.logger.org.eclipse.moquette.server.netty.NettyMQTTHandler=WARN
#log4j.logger.org.eclipse.moquette.server.netty.NettyMQTTHandler=DEBUG
log4j.logger.org.eclipse.moquette.parser.netty=WARN
log4j.logger.io.moquette.server.netty.NettyMQTTHandler=WARN
#log4j.logger.io.moquette.server.netty.NettyMQTTHandler=DEBUG
log4j.logger.io.moquette.parser.netty=WARN
#Storage server
#log4j.logger.org.eclipse.moquette.spi.impl.subscriptions.SubscriptionsStore=DEBUG
#log4j.logger.org.eclipse.moquette.spi.impl.HawtDBStorageService=DEBUG
#log4j.logger.io.moquette.spi.impl.subscriptions.SubscriptionsStore=DEBUG
#log4j.logger.io.moquette.spi.impl.HawtDBStorageService=DEBUG
# stdout appender is set to be a ConsoleAppender.
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
@@ -66,13 +66,13 @@ password_file config/password_file.conf
# authorizator_class:
# class name of the authorizator, by default uses the
# password_file.conf.
# If not specified uses the class: org.eclipse.moquette.spi.impl.security.AuthorizationsCollector
# If not specified uses the class: AuthorizationsCollector
#
# Optional
# authenticator_class:
# class name of the authenticator, default implementation uses
# definitions in the acl.conf.
# If not specified uses org.eclipse.moquette.spi.impl.security.FileAuthenticator
# If not specified uses FileAuthenticator
#*********************************************************************
# authenticator_class [[path to your class>]]
# authorizator_class [[path to your class>]]
+1 -1
View File
@@ -42,4 +42,4 @@ set JAVA_OPTS=
set JAVA_OPTS_SCRIPT=-XX:+HeapDumpOnOutOfMemoryError -Djava.awt.headless=true
set MOQUETTE_PATH=%MOQUETTE_HOME%
set LOG_FILE=%MOQUETTE_HOME%\config\moquette-log.properties
%JAVA% -server %JAVA_OPTS% %JAVA_OPTS_SCRIPT% -Dlog4j.configuration=file:%LOG_FILE% -Dmoquette.path=%MOQUETTE_PATH% -cp %MOQUETTE_HOME%\lib\* org.eclipse.moquette.server.Server
%JAVA% -server %JAVA_OPTS% %JAVA_OPTS_SCRIPT% -Dlog4j.configuration=file:%LOG_FILE% -Dmoquette.path=%MOQUETTE_PATH% -cp %MOQUETTE_HOME%\lib\* Server
+1 -1
View File
@@ -52,5 +52,5 @@ MOQUETTE_PATH=$MOQUETTE_HOME/
#LOG_FILE_LEVEL=fine
JAVA_OPTS_SCRIPT="-XX:+HeapDumpOnOutOfMemoryError -Djava.awt.headless=true"
$JAVA -server $JAVA_OPTS $JAVA_OPTS_SCRIPT -Dlog4j.configuration="file:$LOG_FILE" -Dmoquette.path="$MOQUETTE_PATH" -cp "$MOQUETTE_HOME/lib/*" org.eclipse.moquette.server.Server
$JAVA -server $JAVA_OPTS $JAVA_OPTS_SCRIPT -Dlog4j.configuration="file:$LOG_FILE" -Dmoquette.path="$MOQUETTE_PATH" -cp "$MOQUETTE_HOME/lib/*" Server
+2 -2
View File
@@ -5,7 +5,7 @@
<parent>
<relativePath>../</relativePath>
<artifactId>moquette-parent</artifactId>
<groupId>org.eclipse.moquette</groupId>
<groupId>io.moquette</groupId>
<version>0.8-SNAPSHOT</version>
</parent>
@@ -15,7 +15,7 @@
<dependencies>
<dependency>
<groupId>org.eclipse.moquette</groupId>
<groupId>io.moquette</groupId>
<artifactId>moquette-broker</artifactId>
<version>${project.version}</version>
</dependency>
@@ -1,8 +1,8 @@
package org.eclipse.moquette.testembedded;
package io.moquette.testembedded;
import org.eclipse.moquette.server.config.ClasspathConfig;
import org.eclipse.moquette.server.config.IConfig;
import org.eclipse.moquette.server.Server;
import io.moquette.server.Server;
import io.moquette.server.config.IConfig;
import io.moquette.server.config.ClasspathConfig;
import java.io.IOException;
+3 -3
View File
@@ -5,7 +5,7 @@
<parent>
<relativePath>../</relativePath>
<artifactId>moquette-parent</artifactId>
<groupId>org.eclipse.moquette</groupId>
<groupId>io.moquette</groupId>
<version>0.8-SNAPSHOT</version>
</parent>
@@ -79,8 +79,8 @@
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludes>
<exclude>org/eclipse/moquette/parser/netty/TestUtils.java</exclude>
<exclude>org/eclipse/moquette/parser/netty/TestUtils$*</exclude>
<exclude>io/moquette/parser/netty/TestUtils.java</exclude>
<exclude>io/moquette/parser/netty/TestUtils$*</exclude>
</excludes>
</configuration>
</plugin>
@@ -1,9 +1,9 @@
package org.eclipse.moquette.parser.netty;
package io.moquette.parser.netty;
import io.netty.buffer.ByteBuf;
import io.netty.util.AttributeMap;
import java.util.List;
import org.eclipse.moquette.proto.messages.ConnAckMessage;
import io.moquette.proto.messages.ConnAckMessage;
/**
*
@@ -13,12 +13,12 @@
*
* You may elect to redistribute this code under either of these licenses.
*/
package org.eclipse.moquette.parser.netty;
package io.moquette.parser.netty;
import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext;
import org.eclipse.moquette.proto.messages.AbstractMessage;
import org.eclipse.moquette.proto.messages.ConnAckMessage;
import io.moquette.proto.messages.AbstractMessage;
import io.moquette.proto.messages.ConnAckMessage;
/**
*

Some files were not shown because too many files have changed in this diff Show More