From 4baf407657fd267b620c56e306d389909bbdea67 Mon Sep 17 00:00:00 2001 From: andrea Date: Wed, 4 Mar 2015 22:40:56 +0100 Subject: [PATCH] Integrated by hand part of the pull request #13 'fix pom and clean deprecated class and add bat file to windows' --- .../moquette/server/netty/NettyChannel.java | 6 +-- .../netty/metrics/BytesMetricsHandler.java | 2 +- .../netty/metrics/MessageMetricsHandler.java | 2 +- .../moquette/spi/impl/SimpleMessaging.java | 2 +- .../subscriptions/SubscriptionsStore.java | 4 +- .../subscriptions/SubscriptionsStoreTest.java | 6 +-- distribution/src/main/assembly/assembly.xml | 5 +++ distribution/src/main/scripts/moquette.bat | 43 +++++++++++++++++++ .../moquette/parser/netty/ConnectDecoder.java | 16 +++---- .../moquette/parser/netty/MQTTDecoder.java | 4 +- 10 files changed, 69 insertions(+), 21 deletions(-) create mode 100644 distribution/src/main/scripts/moquette.bat diff --git a/broker/src/main/java/org/eclipse/moquette/server/netty/NettyChannel.java b/broker/src/main/java/org/eclipse/moquette/server/netty/NettyChannel.java index 651c08e1..c8b77379 100644 --- a/broker/src/main/java/org/eclipse/moquette/server/netty/NettyChannel.java +++ b/broker/src/main/java/org/eclipse/moquette/server/netty/NettyChannel.java @@ -34,9 +34,9 @@ public class NettyChannel implements ServerChannel { private Map> m_attributesKeys = new HashMap>(); - private static final AttributeKey ATTR_KEY_KEEPALIVE = new AttributeKey(Constants.KEEP_ALIVE); - private static final AttributeKey ATTR_KEY_CLEANSESSION = new AttributeKey(Constants.CLEAN_SESSION); - private static final AttributeKey ATTR_KEY_CLIENTID = new AttributeKey(Constants.ATTR_CLIENTID); + 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); NettyChannel(ChannelHandlerContext ctx) { m_channel = ctx; diff --git a/broker/src/main/java/org/eclipse/moquette/server/netty/metrics/BytesMetricsHandler.java b/broker/src/main/java/org/eclipse/moquette/server/netty/metrics/BytesMetricsHandler.java index da37ac85..fe2e10b2 100644 --- a/broker/src/main/java/org/eclipse/moquette/server/netty/metrics/BytesMetricsHandler.java +++ b/broker/src/main/java/org/eclipse/moquette/server/netty/metrics/BytesMetricsHandler.java @@ -24,7 +24,7 @@ import io.netty.util.AttributeKey; public class BytesMetricsHandler extends ChannelDuplexHandler { - private static final AttributeKey ATTR_KEY_METRICS = new AttributeKey("BytesMetrics"); + private static final AttributeKey ATTR_KEY_METRICS = AttributeKey.valueOf("BytesMetrics"); private BytesMetricsCollector m_collector; diff --git a/broker/src/main/java/org/eclipse/moquette/server/netty/metrics/MessageMetricsHandler.java b/broker/src/main/java/org/eclipse/moquette/server/netty/metrics/MessageMetricsHandler.java index 710f4957..774a5730 100644 --- a/broker/src/main/java/org/eclipse/moquette/server/netty/metrics/MessageMetricsHandler.java +++ b/broker/src/main/java/org/eclipse/moquette/server/netty/metrics/MessageMetricsHandler.java @@ -23,7 +23,7 @@ import io.netty.util.AttributeKey; public class MessageMetricsHandler extends ChannelDuplexHandler { - private static final AttributeKey ATTR_KEY_METRICS = new AttributeKey("MessageMetrics"); + private static final AttributeKey ATTR_KEY_METRICS = AttributeKey.valueOf("MessageMetrics"); private MessageMetricsCollector m_collector; diff --git a/broker/src/main/java/org/eclipse/moquette/spi/impl/SimpleMessaging.java b/broker/src/main/java/org/eclipse/moquette/spi/impl/SimpleMessaging.java index f639a58e..5e440aa4 100644 --- a/broker/src/main/java/org/eclipse/moquette/spi/impl/SimpleMessaging.java +++ b/broker/src/main/java/org/eclipse/moquette/spi/impl/SimpleMessaging.java @@ -85,7 +85,7 @@ public class SimpleMessaging implements IMessaging, EventHandler { public void init(Properties configProps) { subscriptions = new SubscriptionsStore(); m_executor = Executors.newFixedThreadPool(1); - m_disruptor = new Disruptor(ValueEvent.EVENT_FACTORY, 1024 * 32, m_executor); + m_disruptor = new Disruptor<>(ValueEvent.EVENT_FACTORY, 1024 * 32, m_executor); /*Disruptor m_disruptor = new Disruptor(ValueEvent.EVENT_FACTORY, 1024 * 32, m_executor, ProducerType.MULTI, new BusySpinWaitStrategy());*/ m_disruptor.handleEventsWith(this); diff --git a/broker/src/main/java/org/eclipse/moquette/spi/impl/subscriptions/SubscriptionsStore.java b/broker/src/main/java/org/eclipse/moquette/spi/impl/subscriptions/SubscriptionsStore.java index 664d75a6..1440c387 100644 --- a/broker/src/main/java/org/eclipse/moquette/spi/impl/subscriptions/SubscriptionsStore.java +++ b/broker/src/main/java/org/eclipse/moquette/spi/impl/subscriptions/SubscriptionsStore.java @@ -200,7 +200,7 @@ public class SubscriptionsStore { } catch (ParseException ex) { //TODO handle the parse exception LOG.error(null, ex); - return Collections.EMPTY_LIST; + return Collections.emptyList(); } Queue tokenQueue = new LinkedBlockingDeque(tokens); @@ -274,7 +274,7 @@ public class SubscriptionsStore { } protected static List parseTopic(String topic) throws ParseException { - List res = new ArrayList(); + List res = new ArrayList<>(); String[] splitted = topic.split("/"); if (splitted.length == 0) { diff --git a/broker/src/test/java/org/eclipse/moquette/spi/impl/subscriptions/SubscriptionsStoreTest.java b/broker/src/test/java/org/eclipse/moquette/spi/impl/subscriptions/SubscriptionsStoreTest.java index afcb7ba9..d6e5d99d 100644 --- a/broker/src/test/java/org/eclipse/moquette/spi/impl/subscriptions/SubscriptionsStoreTest.java +++ b/broker/src/test/java/org/eclipse/moquette/spi/impl/subscriptions/SubscriptionsStoreTest.java @@ -46,7 +46,7 @@ public class SubscriptionsStoreTest { @Test public void testParseTopic() throws ParseException { - List tokens = store.parseTopic("finance/stock/ibm"); + List tokens = store.parseTopic("finance/stock/ibm"); assertEqualsSeq(asArray("finance", "stock", "ibm"), tokens); tokens = store.parseTopic("/finance/stock/ibm"); @@ -63,7 +63,7 @@ public class SubscriptionsStoreTest { @Test public void testParseTopicMultiValid() throws ParseException { - List tokens = store.parseTopic("finance/stock/#"); + List tokens = store.parseTopic("finance/stock/#"); assertEqualsSeq(asArray("finance", "stock", Token.MULTI), tokens); tokens = store.parseTopic("#"); @@ -82,7 +82,7 @@ public class SubscriptionsStoreTest { @Test public void testParseTopicSingleValid() throws ParseException { - List tokens = store.parseTopic("finance/stock/+"); + List tokens = store.parseTopic("finance/stock/+"); assertEqualsSeq(asArray("finance", "stock", Token.SINGLE), tokens); tokens = store.parseTopic("+"); diff --git a/distribution/src/main/assembly/assembly.xml b/distribution/src/main/assembly/assembly.xml index 32070363..5a0025b1 100644 --- a/distribution/src/main/assembly/assembly.xml +++ b/distribution/src/main/assembly/assembly.xml @@ -15,6 +15,11 @@ bin 0755 + + + src/main/scripts/moquette.bat + bin + src/main/resources/log4j.properties diff --git a/distribution/src/main/scripts/moquette.bat b/distribution/src/main/scripts/moquette.bat new file mode 100644 index 00000000..a71db646 --- /dev/null +++ b/distribution/src/main/scripts/moquette.bat @@ -0,0 +1,43 @@ +@ECHO OFF +rem # +rem # Copyright (c) 2012-2015 Igor Yova +rem # + +echo " " +echo " ___ ___ _ _ ___ ________ _____ _____ " +echo " | \/ | | | | | | \/ | _ |_ _|_ _| " +echo " | . . | ___ __ _ _ _ ___| |_| |_ ___ | . . | | | | | | | | " +echo " | |\/| |/ _ \ / _\ | | | |/ _ \ __| __/ _ \ | |\/| | | | | | | | | " +echo " | | | | (_) | (_| | |_| | __/ |_| || __/ | | | \ \/' / | | | | " +echo " \_| |_/\___/ \__, |\__,_|\___|\__|\__\___| \_| |_/\_/\_\ \_/ \_/ " +echo " | | " +echo " |_| " +echo " " + +set "CURRENT_DIR=%cd%" +if not "%MOQUETTE_HOME%" == "" goto gotHome +set "MOQUETTE_HOME=%CURRENT_DIR%" +if exist "%MOQUETTE_HOME%\bin\moquette.bat" goto okHome +cd .. +set "MOQUETTE_HOME=%cd%" +cd "%CURRENT_DIR%" +:gotHome +if exist "%MOQUETTE_HOME%\bin\moquette.bat" goto okHome + echo The MOQUETTE_HOME environment variable is not defined correctly + echo This environment variable is needed to run this program +goto end +:okHome + +rem Set JavaHome if it exists +if exist { "%JAVA_HOME%\bin\java" } ( + set "JAVA="%JAVA_HOME%\bin\java"" +) + +echo Using JAVA_HOME: "%JAVA_HOME%" +echo Using MOQUETTE_HOME: "%MOQUETTE_HOME%" + +rem set LOG_CONSOLE_LEVEL=info +rem set LOG_FILE_LEVEL=fine +set JAVA_OPTS= +set 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\moquette-broker-0.7-SNAPSHOT.jar;%MOQUETTE_HOME%\lib\* org.eclipse.moquette.server.Server \ No newline at end of file diff --git a/netty_parser/src/main/java/org/eclipse/moquette/parser/netty/ConnectDecoder.java b/netty_parser/src/main/java/org/eclipse/moquette/parser/netty/ConnectDecoder.java index 3fe8cc28..0045d7af 100644 --- a/netty_parser/src/main/java/org/eclipse/moquette/parser/netty/ConnectDecoder.java +++ b/netty_parser/src/main/java/org/eclipse/moquette/parser/netty/ConnectDecoder.java @@ -32,8 +32,8 @@ import org.eclipse.moquette.proto.messages.ConnectMessage; * @author andrea */ public class ConnectDecoder extends DemuxDecoder { - - static final AttributeKey CONNECT_STATUS = new AttributeKey("connected"); + + static final AttributeKey CONNECT_STATUS = AttributeKey.valueOf("connected"); @Override void decode(AttributeMap ctx, ByteBuf in, List out) throws UnsupportedEncodingException { @@ -119,17 +119,17 @@ public class ConnectDecoder extends DemuxDecoder { throw new CorruptedFrameException("Received a CONNECT with connectionFlags[0(bit)] != 0"); } } - - boolean cleanSession = ((connFlags & 0x02) >> 1) == 1 ? true : false; - boolean willFlag = ((connFlags & 0x04) >> 2) == 1 ? true : false; + + boolean cleanSession = ((connFlags & 0x02) >> 1) == 1; + boolean willFlag = ((connFlags & 0x04) >> 2) == 1; byte willQos = (byte) ((connFlags & 0x18) >> 3); if (willQos > 2) { in.resetReaderIndex(); throw new CorruptedFrameException("Expected will QoS in range 0..2 but found: " + willQos); } - boolean willRetain = ((connFlags & 0x20) >> 5) == 1 ? true : false; - boolean passwordFlag = ((connFlags & 0x40) >> 6) == 1 ? true : false; - boolean userFlag = ((connFlags & 0x80) >> 7) == 1 ? true : false; + boolean willRetain = ((connFlags & 0x20) >> 5) == 1; + boolean passwordFlag = ((connFlags & 0x40) >> 6) == 1; + boolean userFlag = ((connFlags & 0x80) >> 7) == 1; //a password is true iff user is true. if (!userFlag && passwordFlag) { in.resetReaderIndex(); diff --git a/netty_parser/src/main/java/org/eclipse/moquette/parser/netty/MQTTDecoder.java b/netty_parser/src/main/java/org/eclipse/moquette/parser/netty/MQTTDecoder.java index 37aa2cda..fa05a58f 100644 --- a/netty_parser/src/main/java/org/eclipse/moquette/parser/netty/MQTTDecoder.java +++ b/netty_parser/src/main/java/org/eclipse/moquette/parser/netty/MQTTDecoder.java @@ -32,9 +32,9 @@ import org.eclipse.moquette.proto.messages.AbstractMessage; public class MQTTDecoder extends ByteToMessageDecoder { //3 = 3.1, 4 = 3.1.1 - static final AttributeKey PROTOCOL_VERSION = new AttributeKey("version"); + static final AttributeKey PROTOCOL_VERSION = AttributeKey.valueOf("version"); - private final Map m_decoderMap = new HashMap(); + private final Map m_decoderMap = new HashMap<>(); public MQTTDecoder() { m_decoderMap.put(AbstractMessage.CONNECT, new ConnectDecoder());