From 0aad3cbbf38053395cb50a6bfd77f97aaa3bf6fe Mon Sep 17 00:00:00 2001 From: andrea Date: Sat, 14 Mar 2015 17:31:11 +0100 Subject: [PATCH] Fixed constructor of ConfigurationParser to do mergind of provided properties --- ChangeLog.txt | 1 + .../moquette/server/ConfigurationParser.java | 13 +++++++------ .../moquette/server/ServerIntegrationSSLTest.java | 14 +++++++++++--- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index 63e92647..e66a167e 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -7,6 +7,7 @@ Version 0.7: Refactored the publish logic for QoS 1 2 to try to be more readable Added packetIdentifier storage and generation Fixed issue #16, bad packetId for will messages with qos > 0 + Added store path variable "persistent_store" to configuration file (picked from Steven Warwick fork) Version 0.6: Fix issue #42, bad password file path composition diff --git a/broker/src/main/java/org/eclipse/moquette/server/ConfigurationParser.java b/broker/src/main/java/org/eclipse/moquette/server/ConfigurationParser.java index 90cb06ff..2844712f 100644 --- a/broker/src/main/java/org/eclipse/moquette/server/ConfigurationParser.java +++ b/broker/src/main/java/org/eclipse/moquette/server/ConfigurationParser.java @@ -46,13 +46,14 @@ class ConfigurationParser { ConfigurationParser() { createDefaults(); } - + + /** + * Crate a ConfigurationParser merging the default properties with the provided ones. + * */ ConfigurationParser(Properties properties) { - createDefaults(); - for (Entry entrySet : m_properties.entrySet()) { - if (properties.containsKey(entrySet.getKey())) { - entrySet.setValue(properties.get(entrySet.getKey())); - } + this(); + for (Entry entrySet : properties.entrySet()) { + m_properties.put(entrySet.getKey(), entrySet.getValue()); } } diff --git a/broker/src/test/java/org/eclipse/moquette/server/ServerIntegrationSSLTest.java b/broker/src/test/java/org/eclipse/moquette/server/ServerIntegrationSSLTest.java index 57e6cb54..1db1c4ad 100644 --- a/broker/src/test/java/org/eclipse/moquette/server/ServerIntegrationSSLTest.java +++ b/broker/src/test/java/org/eclipse/moquette/server/ServerIntegrationSSLTest.java @@ -32,6 +32,8 @@ import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.TrustManager; import javax.net.ssl.TrustManagerFactory; +import org.eclipse.moquette.commons.*; +import org.eclipse.moquette.commons.Constants; import org.eclipse.paho.client.mqttv3.IMqttClient; import org.eclipse.paho.client.mqttv3.MqttClient; import org.eclipse.paho.client.mqttv3.MqttClientPersistence; @@ -71,14 +73,20 @@ public class ServerIntegrationSSLTest { String file = getClass().getResource("/").getPath(); System.setProperty("moquette.path", file); m_server = new Server(); - m_server.startServer(new Properties()); + + Properties sslProps = new Properties(); + sslProps.put(org.eclipse.moquette.commons.Constants.SSL_PORT_PROPERTY_NAME, "8883"); + sslProps.put(org.eclipse.moquette.commons.Constants.JKS_PATH_PROPERTY_NAME, "serverkeystore.jks"); + sslProps.put(org.eclipse.moquette.commons.Constants.KEY_STORE_PASSWORD_PROPERTY_NAME, "passw0rdsrv"); + sslProps.put(Constants.KEY_MANAGER_PASSWORD_PROPERTY_NAME, "passw0rdsrv"); + m_server.startServer(sslProps); } @Before public void setUp() throws Exception { File dbFile = new File(org.eclipse.moquette.commons.Constants.DEFAULT_MOQUETTE_STORE_MAP_DB_FILENAME); - assertFalse(String.format("The DB storagefile %s already exists",org.eclipse.moquette.commons.Constants.DEFAULT_MOQUETTE_STORE_MAP_DB_FILENAME), dbFile.exists()); - + assertFalse(String.format("The DB storage file %s already exists",org.eclipse.moquette.commons.Constants.DEFAULT_MOQUETTE_STORE_MAP_DB_FILENAME), dbFile.exists()); + startServer(); m_client = new MqttClient("ssl://localhost:8883", "TestClient", s_dataStore);