From f36197947c77b11ad90b67ba31ee05211be8a545 Mon Sep 17 00:00:00 2001 From: BLasan Date: Wed, 13 Aug 2025 14:21:16 +0530 Subject: [PATCH 1/4] Updated: Maven Javadoc Plugin --- pom.xml | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/pom.xml b/pom.xml index 00a17289f..5161b2e47 100644 --- a/pom.xml +++ b/pom.xml @@ -551,7 +551,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 2.1 + 3.5.0 attach-javadocs @@ -688,7 +688,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 2.8 + 3.5.0 @@ -705,15 +705,25 @@ - com.springsource.repository.bundles.release - SpringSource Enterprise Bundle Repository - SpringSource Bundle Releases - https://repository.springsource.com/maven/bundles/release + eclipse-repo + Eclipse Releases Repository + https://repo.eclipse.org/content/groups/releases/ - com.springsource.repository.bundles.external - SpringSource Enterprise Bundle Repository - External Bundle Releases - https://repository.springsource.com/maven/bundles/external + central + Maven Central + https://repo1.maven.org/maven2/ + + + + + + + + + + jboss-maven-repository JBoss Maven Repository From f25c8ecbe4734f5452a4fc42af81fe5e40a6dedd Mon Sep 17 00:00:00 2001 From: BLasan Date: Wed, 13 Aug 2025 13:19:12 +0530 Subject: [PATCH 2/4] Fix: Andes Dependency Issues --- .../access/config/AbstractConfiguration.java | 2 +- .../access/config/ConfigurationFile.java | 2 +- .../access/config/PlainConfiguration.java | 2 +- .../access/plugins/AccessControl.java | 2 +- .../plugins/AccessControlConfiguration.java | 4 +- .../plugins/PlainConfigurationTest.java | 2 +- .../wso2/andes/server/plugins/ExtrasTest.java | 2 +- .../security/access/plugins/Firewall.java | 4 +- .../access/plugins/FirewallConfiguration.java | 21 ++- .../security/access/FirewallPluginTest.java | 16 +- .../AndesConfigurationManager.java | 34 ++-- .../andes/configuration/modules/JKSStore.java | 2 +- .../qpid/ConfigurationManager.java | 4 +- .../qpid/ExchangeConfiguration.java | 2 +- .../qpid/QueueConfiguration.java | 4 +- .../qpid/ServerConfiguration.java | 159 +++++++++++++----- .../andes/configuration/qpid/TopicConfig.java | 4 +- .../qpid/TopicConfiguration.java | 6 +- .../qpid/VirtualHostConfiguration.java | 8 +- .../qpid/plugins/ConfigurationPlugin.java | 6 +- .../plugins/ConfigurationPluginFactory.java | 4 +- .../SlowConsumerDetectionConfiguration.java | 4 +- ...wConsumerDetectionPolicyConfiguration.java | 4 +- ...owConsumerDetectionQueueConfiguration.java | 4 +- .../java/org/wso2/andes/server/Broker.java | 2 +- .../management/JMXManagedObjectRegistry.java | 2 +- .../management/ManagedObjectRegistry.java | 2 +- .../org/wso2/andes/server/plugins/Plugin.java | 2 +- .../andes/server/plugins/PluginFactory.java | 2 +- .../andes/server/plugins/PluginManager.java | 2 +- .../server/registry/ApplicationRegistry.java | 2 +- .../ConfigurationFileApplicationRegistry.java | 2 +- .../server/security/AbstractProxyPlugin.java | 2 +- .../server/security/SecurityManager.java | 4 +- .../security/access/plugins/AllowAll.java | 4 +- .../security/access/plugins/DenyAll.java | 4 +- .../security/access/plugins/LegacyAccess.java | 4 +- ...rincipalDatabaseAuthenticationManager.java | 4 +- .../sasl/UsernamePasswordInitialiser.java | 2 +- .../state/StateAwareMethodListener.java | 2 +- .../store/DurableConfigurationStore.java | 2 +- .../server/store/MemoryMessageStore.java | 2 +- .../wso2/andes/server/store/MessageStore.java | 2 +- .../store/QpidDeprecatedMessageStore.java | 2 +- .../andes/server/store/TransactionLog.java | 2 +- .../server/virtualhost/VirtualHostImpl.java | 4 +- .../plugins/policies/TopicDeletePolicy.java | 2 +- .../TopicDeletePolicyConfiguration.java | 4 +- .../tools/messagestore/MessageStoreTool.java | 2 +- .../configuration/QueueConfigurationTest.java | 6 +- .../ServerConfigurationTest.java | 4 +- .../configuration/TopicConfigurationTest.java | 2 +- .../VirtualHostConfigurationTest.java | 2 +- .../plugins/ConfigurationPluginTest.java | 6 +- .../logging/actors/AMQPChannelActorTest.java | 2 +- .../logging/actors/CurrentActorTest.java | 4 +- .../messages/AbstractTestMessages.java | 4 +- .../subjects/AbstractTestLogSubject.java | 6 +- .../server/queue/SimpleAMQQueueTest.java | 2 +- ...ipalDatabaseAuthenticationManagerTest.java | 6 +- .../andes/server/store/MessageStoreTest.java | 2 +- .../server/store/SkeletonMessageStore.java | 2 +- .../server/txn/MockStoreTransaction.java | 2 +- .../server/util/InternalBrokerBaseCase.java | 2 +- .../server/util/TestApplicationRegistry.java | 2 +- ...lowConsumerDetectionConfigurationTest.java | 6 +- ...sumerDetectionPolicyConfigurationTest.java | 6 +- ...nsumerDetectionQueueConfigurationTest.java | 6 +- .../TopicDeletePolicyConfigurationTest.java | 6 +- .../policies/TopicDeletePolicyTest.java | 4 +- modules/andes-core/pom.xml | 4 +- .../ServerConfigurationFileTest.java | 2 +- .../server/logging/AbstractTestLogging.java | 2 +- .../security/acl/AbstractACLTestCase.java | 2 +- .../andes/server/store/SlowMessageStore.java | 2 +- .../wso2/andes/systest/GlobalQueuesTest.java | 2 +- .../andes/systest/MergeConfigurationTest.java | 2 +- .../wso2/andes/systest/SubscriptionTest.java | 2 +- .../wso2/andes/systest/TestingBaseCase.java | 2 +- .../org/wso2/andes/systest/TopicTest.java | 2 +- .../wso2/andes/test/utils/JMXTestUtils.java | 2 +- .../andes/test/utils/QpidBrokerTestCase.java | 25 ++- modules/orbit/andes/pom.xml | 8 +- pom.xml | 6 +- 84 files changed, 315 insertions(+), 196 deletions(-) diff --git a/modules/andes-core/broker-plugins/access-control/src/main/java/org/wso2/andes/server/security/access/config/AbstractConfiguration.java b/modules/andes-core/broker-plugins/access-control/src/main/java/org/wso2/andes/server/security/access/config/AbstractConfiguration.java index 9cf2453d3..4ef5cd1b8 100644 --- a/modules/andes-core/broker-plugins/access-control/src/main/java/org/wso2/andes/server/security/access/config/AbstractConfiguration.java +++ b/modules/andes-core/broker-plugins/access-control/src/main/java/org/wso2/andes/server/security/access/config/AbstractConfiguration.java @@ -22,7 +22,7 @@ import java.io.File; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; diff --git a/modules/andes-core/broker-plugins/access-control/src/main/java/org/wso2/andes/server/security/access/config/ConfigurationFile.java b/modules/andes-core/broker-plugins/access-control/src/main/java/org/wso2/andes/server/security/access/config/ConfigurationFile.java index e7391af01..dd9657552 100644 --- a/modules/andes-core/broker-plugins/access-control/src/main/java/org/wso2/andes/server/security/access/config/ConfigurationFile.java +++ b/modules/andes-core/broker-plugins/access-control/src/main/java/org/wso2/andes/server/security/access/config/ConfigurationFile.java @@ -22,7 +22,7 @@ import java.io.File; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; public interface ConfigurationFile { diff --git a/modules/andes-core/broker-plugins/access-control/src/main/java/org/wso2/andes/server/security/access/config/PlainConfiguration.java b/modules/andes-core/broker-plugins/access-control/src/main/java/org/wso2/andes/server/security/access/config/PlainConfiguration.java index 383f46675..10a6290fd 100644 --- a/modules/andes-core/broker-plugins/access-control/src/main/java/org/wso2/andes/server/security/access/config/PlainConfiguration.java +++ b/modules/andes-core/broker-plugins/access-control/src/main/java/org/wso2/andes/server/security/access/config/PlainConfiguration.java @@ -32,7 +32,7 @@ import java.util.Map; import java.util.Stack; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.commons.lang.StringUtils; import org.wso2.andes.server.security.access.ObjectProperties; import org.wso2.andes.server.security.access.ObjectType; diff --git a/modules/andes-core/broker-plugins/access-control/src/main/java/org/wso2/andes/server/security/access/plugins/AccessControl.java b/modules/andes-core/broker-plugins/access-control/src/main/java/org/wso2/andes/server/security/access/plugins/AccessControl.java index 1ca1d687d..f28dc8b2e 100644 --- a/modules/andes-core/broker-plugins/access-control/src/main/java/org/wso2/andes/server/security/access/plugins/AccessControl.java +++ b/modules/andes-core/broker-plugins/access-control/src/main/java/org/wso2/andes/server/security/access/plugins/AccessControl.java @@ -22,7 +22,7 @@ import javax.security.auth.Subject; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPlugin; diff --git a/modules/andes-core/broker-plugins/access-control/src/main/java/org/wso2/andes/server/security/access/plugins/AccessControlConfiguration.java b/modules/andes-core/broker-plugins/access-control/src/main/java/org/wso2/andes/server/security/access/plugins/AccessControlConfiguration.java index 1cb8864ef..3414f3cff 100644 --- a/modules/andes-core/broker-plugins/access-control/src/main/java/org/wso2/andes/server/security/access/plugins/AccessControlConfiguration.java +++ b/modules/andes-core/broker-plugins/access-control/src/main/java/org/wso2/andes/server/security/access/plugins/AccessControlConfiguration.java @@ -24,8 +24,8 @@ import java.util.Arrays; import java.util.List; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPlugin; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPluginFactory; import org.wso2.andes.server.security.access.config.ConfigurationFile; diff --git a/modules/andes-core/broker-plugins/access-control/src/test/java/org/wso2/andes/server/security/access/plugins/PlainConfigurationTest.java b/modules/andes-core/broker-plugins/access-control/src/test/java/org/wso2/andes/server/security/access/plugins/PlainConfigurationTest.java index 57a5295e9..247b98142 100644 --- a/modules/andes-core/broker-plugins/access-control/src/test/java/org/wso2/andes/server/security/access/plugins/PlainConfigurationTest.java +++ b/modules/andes-core/broker-plugins/access-control/src/test/java/org/wso2/andes/server/security/access/plugins/PlainConfigurationTest.java @@ -25,7 +25,7 @@ import junit.framework.TestCase; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.server.security.access.config.ConfigurationFile; import org.wso2.andes.server.security.access.config.PlainConfiguration; diff --git a/modules/andes-core/broker-plugins/extras/src/test/java/org/wso2/andes/server/plugins/ExtrasTest.java b/modules/andes-core/broker-plugins/extras/src/test/java/org/wso2/andes/server/plugins/ExtrasTest.java index 842aba5c7..59162a707 100644 --- a/modules/andes-core/broker-plugins/extras/src/test/java/org/wso2/andes/server/plugins/ExtrasTest.java +++ b/modules/andes-core/broker-plugins/extras/src/test/java/org/wso2/andes/server/plugins/ExtrasTest.java @@ -19,7 +19,7 @@ package org.wso2.andes.server.plugins; import junit.framework.TestCase; -import org.apache.commons.configuration.PropertiesConfiguration; +import org.apache.commons.configuration2.PropertiesConfiguration; import org.wso2.andes.configuration.qpid.ServerConfiguration; import org.wso2.andes.server.exchange.ExchangeType; import org.wso2.andes.server.registry.ApplicationRegistry; diff --git a/modules/andes-core/broker-plugins/firewall/src/main/java/org/wso2/andes/server/security/access/plugins/Firewall.java b/modules/andes-core/broker-plugins/firewall/src/main/java/org/wso2/andes/server/security/access/plugins/Firewall.java index d3ff22f0d..c5adb5c55 100644 --- a/modules/andes-core/broker-plugins/firewall/src/main/java/org/wso2/andes/server/security/access/plugins/Firewall.java +++ b/modules/andes-core/broker-plugins/firewall/src/main/java/org/wso2/andes/server/security/access/plugins/Firewall.java @@ -23,8 +23,8 @@ import java.net.InetAddress; import java.net.InetSocketAddress; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPlugin; import org.wso2.andes.server.security.AbstractPlugin; import org.wso2.andes.server.security.Result; diff --git a/modules/andes-core/broker-plugins/firewall/src/main/java/org/wso2/andes/server/security/access/plugins/FirewallConfiguration.java b/modules/andes-core/broker-plugins/firewall/src/main/java/org/wso2/andes/server/security/access/plugins/FirewallConfiguration.java index 197e68230..8f16c78e0 100644 --- a/modules/andes-core/broker-plugins/firewall/src/main/java/org/wso2/andes/server/security/access/plugins/FirewallConfiguration.java +++ b/modules/andes-core/broker-plugins/firewall/src/main/java/org/wso2/andes/server/security/access/plugins/FirewallConfiguration.java @@ -20,13 +20,16 @@ */ package org.wso2.andes.server.security.access.plugins; +import java.io.File; import java.util.Arrays; import java.util.List; -import org.apache.commons.configuration.CompositeConfiguration; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.ConfigurationException; -import org.apache.commons.configuration.XMLConfiguration; +import org.apache.commons.configuration2.CompositeConfiguration; +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder; +import org.apache.commons.configuration2.builder.fluent.Parameters; +import org.apache.commons.configuration2.ex.ConfigurationException; +import org.apache.commons.configuration2.XMLConfiguration; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPlugin; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPluginFactory; import org.wso2.andes.server.security.Result; @@ -86,9 +89,17 @@ public void validateConfiguration() throws ConfigurationException // Valid Configuration either has xml links to new files _finalConfig = new CompositeConfiguration(_configuration); List subFiles = _configuration.getList("xml[@fileName]"); + Parameters params = new Parameters(); + for (Object subFile : subFiles) { - _finalConfig.addConfiguration(new XMLConfiguration((String) subFile)); + FileBasedConfigurationBuilder builder = + new FileBasedConfigurationBuilder<>(XMLConfiguration.class) + .configure(params.xml() + .setFile(new File((String) subFile)) + .setThrowExceptionOnMissing(true) + .setValidating(false)); + _finalConfig.addConfiguration(builder.getConfiguration()); } // all rules must have an access attribute or a default value diff --git a/modules/andes-core/broker-plugins/firewall/src/test/java/org/wso2/andes/server/security/access/FirewallPluginTest.java b/modules/andes-core/broker-plugins/firewall/src/test/java/org/wso2/andes/server/security/access/FirewallPluginTest.java index aef68caa7..93ca33a8e 100644 --- a/modules/andes-core/broker-plugins/firewall/src/test/java/org/wso2/andes/server/security/access/FirewallPluginTest.java +++ b/modules/andes-core/broker-plugins/firewall/src/test/java/org/wso2/andes/server/security/access/FirewallPluginTest.java @@ -25,8 +25,10 @@ import java.net.InetSocketAddress; import java.net.SocketAddress; -import org.apache.commons.configuration.ConfigurationException; -import org.apache.commons.configuration.XMLConfiguration; +import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder; +import org.apache.commons.configuration2.builder.fluent.Parameters; +import org.apache.commons.configuration2.ex.ConfigurationException; +import org.apache.commons.configuration2.XMLConfiguration; import org.wso2.andes.configuration.qpid.ServerConfiguration; import org.wso2.andes.server.registry.ApplicationRegistry; import org.wso2.andes.server.security.Result; @@ -120,9 +122,17 @@ private Firewall initialisePlugin(String defaultAction, RuleInfo[] rules) throws buf.write(""); buf.close(); + + // Configure plugin FirewallConfiguration config = new FirewallConfiguration(); - config.setConfiguration("", new XMLConfiguration(confFile)); + Parameters params = new Parameters(); + FileBasedConfigurationBuilder builder = + new FileBasedConfigurationBuilder<>(XMLConfiguration.class) + .configure(params.xml() + .setFile(confFile)); + + config.setConfiguration("", builder.getConfiguration()); Firewall plugin = new Firewall(); plugin.configure(config); return plugin; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/AndesConfigurationManager.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/AndesConfigurationManager.java index 96cf5a22f..f1456ce9e 100644 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/AndesConfigurationManager.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/AndesConfigurationManager.java @@ -42,11 +42,15 @@ import org.apache.axiom.om.impl.builder.StAXOMBuilder; import org.apache.axiom.om.impl.llom.OMElementImpl; import org.apache.axiom.om.xpath.AXIOMXPath; -import org.apache.commons.configuration.CompositeConfiguration; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.ConfigurationException; -import org.apache.commons.configuration.XMLConfiguration; -import org.apache.commons.configuration.tree.xpath.XPathExpressionEngine; +import org.apache.commons.configuration2.CombinedConfiguration; +import org.apache.commons.configuration2.CompositeConfiguration; +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder; +import org.apache.commons.configuration2.builder.fluent.Parameters; +import org.apache.commons.configuration2.convert.DisabledListDelimiterHandler; +import org.apache.commons.configuration2.ex.ConfigurationException; +import org.apache.commons.configuration2.XMLConfiguration; +import org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -165,15 +169,23 @@ public static void initialize(int portOffset) throws AndesException { log.info("Main andes configuration located at : " + brokerConfigFilePath); try { - + Parameters params = new Parameters(); + FileBasedConfigurationBuilder builder = + new FileBasedConfigurationBuilder<>(XMLConfiguration.class) + .configure(params.xml() + .setFileName(brokerConfigFilePath) + .setThrowExceptionOnMissing(true) + .setValidating(false) + .setListDelimiterHandler(new DisabledListDelimiterHandler())); compositeConfiguration = new CompositeConfiguration(); - compositeConfiguration.setDelimiterParsingDisabled(true); + XMLConfiguration rootConfiguration = builder.getConfiguration(); + //compositeConfiguration.setDelimiterParsingDisabled(true); - XMLConfiguration rootConfiguration = new XMLConfiguration(); - rootConfiguration.setDelimiterParsingDisabled(true); - rootConfiguration.setFileName(brokerConfigFilePath); +// XMLConfiguration rootConfiguration = new XMLConfiguration(); +// rootConfiguration.setDelimiterParsingDisabled(true); +// rootConfiguration.setFileName(brokerConfigFilePath); rootConfiguration.setExpressionEngine(new XPathExpressionEngine()); - rootConfiguration.load(); + // rootConfiguration.load(); compositeConfiguration.addConfiguration(rootConfiguration); //Decrypt and maintain secure vault property values in a map for cross-reference. diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/modules/JKSStore.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/modules/JKSStore.java index 300cc07fc..32f4e2e10 100644 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/modules/JKSStore.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/modules/JKSStore.java @@ -18,7 +18,7 @@ package org.wso2.andes.configuration.modules; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.commons.lang.StringUtils; import org.wso2.andes.configuration.AndesConfigurationManager; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/ConfigurationManager.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/ConfigurationManager.java index a68511b71..ec1b3be64 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/ConfigurationManager.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/ConfigurationManager.java @@ -22,8 +22,8 @@ import java.util.Map; import java.util.Map.Entry; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPlugin; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPluginFactory; import org.wso2.andes.server.registry.ApplicationRegistry; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/ExchangeConfiguration.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/ExchangeConfiguration.java index 9714d8e96..164035b64 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/ExchangeConfiguration.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/ExchangeConfiguration.java @@ -17,7 +17,7 @@ */ package org.wso2.andes.configuration.qpid; -import org.apache.commons.configuration.Configuration; +import org.apache.commons.configuration2.Configuration; public class ExchangeConfiguration diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/QueueConfiguration.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/QueueConfiguration.java index ed382c772..6bbba5c54 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/QueueConfiguration.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/QueueConfiguration.java @@ -17,8 +17,8 @@ */ package org.wso2.andes.configuration.qpid; -import org.apache.commons.configuration.CompositeConfiguration; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.CompositeConfiguration; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.exchange.ExchangeDefaults; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPlugin; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/ServerConfiguration.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/ServerConfiguration.java index ec6c5150c..c9e955970 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/ServerConfiguration.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/ServerConfiguration.java @@ -18,15 +18,21 @@ package org.wso2.andes.configuration.qpid; -import org.apache.commons.configuration.*; -import org.apache.commons.configuration.Configuration; +import org.apache.commons.configuration2.*; +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder; +import org.apache.commons.configuration2.builder.fluent.Parameters; +import org.apache.commons.configuration2.ex.ConfigurationException; +import org.apache.commons.configuration2.interpol.ConfigurationInterpolator; +import org.apache.commons.configuration2.interpol.Lookup; +import org.apache.commons.configuration2.tree.MergeCombiner; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.andes.configuration.AndesConfigurationManager; import org.wso2.andes.configuration.enums.AndesConfiguration; import org.wso2.andes.configuration.modules.JKSStore; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPlugin; -import org.wso2.andes.kernel.AndesException; +import org.wso2.andes.configuration.qpid.VirtualHostConfiguration; import org.wso2.andes.server.registry.ApplicationRegistry; import org.wso2.andes.server.virtualhost.VirtualHost; import org.wso2.andes.server.virtualhost.VirtualHostRegistry; @@ -57,7 +63,7 @@ public class ServerConfiguration extends ConfigurationPlugin implements SignalHa public static final String QPID_HOME = "QPID_HOME"; public static final String QPID_WORK = "QPID_WORK"; - private Map _virtualHosts = new HashMap(); + private Map _virtualHosts = new HashMap(); private File _configFile; private File _vhostsFile; @@ -70,6 +76,13 @@ public class ServerConfiguration extends ConfigurationPlugin implements SignalHa public static final String STATUS_UPDATES = "status-updates"; public static final String ADVANCED_LOCALE = "advanced.locale"; + private static enum ConfigType { + XML, + PROPERTIES, + INI, + UNKNOWN + } + static { envVarMap.put("QPID_ENABLEDIRECTBUFFERS", "advanced.enableDirectBuffers"); envVarMap.put("QPID_SSLPORT", "connector.ssl.port"); @@ -112,7 +125,7 @@ public class ServerConfiguration extends ConfigurationPlugin implements SignalHa * {@link ApplicationRegistry#initialise()} method. * * @param configurationURL - * @throws org.apache.commons.configuration.ConfigurationException + * @throws org.apache.commons.configuration2.ex.ConfigurationException * */ public ServerConfiguration(File configurationURL) throws ConfigurationException { @@ -145,7 +158,7 @@ public ServerConfiguration(File configurationURL) throws ConfigurationException * * @param conf */ - public ServerConfiguration(org.apache.commons.configuration.Configuration conf) { + public ServerConfiguration(org.apache.commons.configuration2.Configuration conf) { _configuration = conf; } @@ -205,10 +218,10 @@ public void validateConfiguration() throws ConfigurationException { * both, as a fix for QPID-2360 and QPID-2361. */ @SuppressWarnings("unchecked") - protected void setupVirtualHosts(org.apache.commons.configuration.Configuration conf) throws ConfigurationException { + protected void setupVirtualHosts(org.apache.commons.configuration2.Configuration conf) throws ConfigurationException { String[] vhostFiles = conf.getStringArray("virtualhosts"); - org.apache.commons.configuration.Configuration vhostConfig = conf.subset("virtualhosts"); + Configuration vhostConfig = conf.subset("virtualhosts"); // Only one configuration mechanism allowed if (!(vhostFiles.length == 0) && !vhostConfig.subset("virtualhost").isEmpty()) { @@ -222,7 +235,7 @@ protected void setupVirtualHosts(org.apache.commons.configuration.Configuration } // Virtualhost configuration object - org.apache.commons.configuration.Configuration vhostConfiguration = new HierarchicalConfiguration(); + org.apache.commons.configuration2.Configuration vhostConfiguration = null; // Load from embedded configuration if possible if (!vhostConfig.subset("virtualhost").isEmpty()) { @@ -244,18 +257,20 @@ protected void setupVirtualHosts(org.apache.commons.configuration.Configuration } // Now extract the virtual host names from the configuration object - List hosts = vhostConfiguration.getList("virtualhost.name"); - for (Object host : hosts) { - String name = (String) host; - - // Add the virtual hosts to the server configuration - VirtualHostConfiguration virtualhost = new VirtualHostConfiguration(name, - vhostConfiguration.subset("virtualhost." + name)); - _virtualHosts.put(virtualhost.getName(), virtualhost); + if (vhostConfiguration != null) { + List hosts = vhostConfiguration.getList("virtualhost.name"); + for (Object host : hosts) { + String name = (String) host; + + // Add the virtual hosts to the server configuration + VirtualHostConfiguration virtualhost = new VirtualHostConfiguration(name, + vhostConfiguration.subset("virtualhost." + name)); + _virtualHosts.put(virtualhost.getName(), virtualhost); + } } } - private static void substituteEnvironmentVariables(org.apache.commons.configuration.Configuration conf) { + private static void substituteEnvironmentVariables(org.apache.commons.configuration2.Configuration conf) { for (Entry var : envVarMap.entrySet()) { String val = System.getenv(var.getKey()); if (val != null) { @@ -264,21 +279,63 @@ private static void substituteEnvironmentVariables(org.apache.commons.configurat } } - private static org.apache.commons.configuration.Configuration parseConfig(File file) throws ConfigurationException { - ConfigurationFactory factory = new ConfigurationFactory(); - factory.setConfigurationFileName(file.getAbsolutePath()); - org.apache.commons.configuration.Configuration conf = factory.getConfiguration(); + private static org.apache.commons.configuration2.Configuration parseConfig(File file) + throws ConfigurationException { + Parameters params = new Parameters(); + if (ConfigType.UNKNOWN.equals(getConfigType(file))) { + throw new ConfigurationException("Unknown File Type for parsing"); + } - Iterator keys = conf.getKeys(); - if (!keys.hasNext()) { - conf = flatConfig(file); + Configuration conf = null; + + if (ConfigType.XML.equals(getConfigType(file))) { + FileBasedConfigurationBuilder factory = new FileBasedConfigurationBuilder<>( + XMLConfiguration.class).configure(params.xml().setFile(file).setThrowExceptionOnMissing(true) + .setValidating(false)); // disable DTD validation if not needed + conf = factory.getConfiguration(); + } else if (ConfigType.PROPERTIES.equals(getConfigType(file))) { + FileBasedConfigurationBuilder factory = new FileBasedConfigurationBuilder<>( + PropertiesConfiguration.class).configure(params.xml().setFile(file).setThrowExceptionOnMissing(true) + .setValidating(false)); + conf = factory.getConfiguration(); + } else if (ConfigType.INI.equals(getConfigType(file))) { + FileBasedConfigurationBuilder factory = new FileBasedConfigurationBuilder<>( + INIConfiguration.class).configure(params.xml().setFile(file).setThrowExceptionOnMissing(true) + .setValidating(false)); + conf = factory.getConfiguration(); } - substituteEnvironmentVariables(conf); + if (conf != null) { + Iterator keys = conf.getKeys(); + if (!keys.hasNext()) { + conf = flatConfig(file); + } + + substituteEnvironmentVariables(conf); + } return conf; } + private static ConfigType getConfigType(File file) { + if (file == null || !file.exists() || !file.isFile()) { + return ConfigType.UNKNOWN; + } + + String fileName = file.getName().toLowerCase(); + if (fileName == null) + return ConfigType.UNKNOWN; + if (fileName.endsWith(".xml")) { + return ConfigType.XML; + } else if (fileName.endsWith(".properties")) { + return ConfigType.PROPERTIES; + } else if (fileName.endsWith("ini")) { + return ConfigType.INI; + } + + return ConfigType.UNKNOWN; + } + /** * Check the configuration file to see if status updates are enabled. * @@ -340,23 +397,39 @@ public String interpolate(String obj) { } } - public static org.apache.commons.configuration.Configuration flatConfig(File file) throws ConfigurationException { - // We have to override the interpolate methods so that - // interpolation takes place accross the entirety of the - // composite configuration. Without doing this each - // configuration object only interpolates variables defined - // inside itself. - final MyConfiguration conf = new MyConfiguration(); - conf.addConfiguration(new SystemConfiguration() { - protected String interpolate(String o) { - return conf.interpolate(o); - } - }); - conf.addConfiguration(new XMLConfiguration(file) { - protected String interpolate(String o) { - return conf.interpolate(o); + public static org.apache.commons.configuration2.Configuration flatConfig(File file) throws ConfigurationException { + Parameters params = new Parameters(); + + final CombinedConfiguration conf = new CombinedConfiguration(new MergeCombiner()); + + SystemConfiguration systemConfig = new SystemConfiguration(); + conf.addConfiguration(systemConfig); + + FileBasedConfigurationBuilder xmlBuilder = + new FileBasedConfigurationBuilder<>(XMLConfiguration.class) + .configure(params.xml() + .setFile(file) + .setThrowExceptionOnMissing(true) + .setValidating(false)); + + conf.addConfiguration(xmlBuilder.getConfiguration()); + + ConfigurationInterpolator interpolator = new ConfigurationInterpolator(); + + // Register a custom lookup for the default (unprefixed) lookup by adding a "" prefix + interpolator.registerLookup("", new Lookup() { + @Override + public String lookup(String key) { + return conf.getString(key); } }); + + // Add the default prefix lookups too (env, sys, etc.) + Map prefixLookups = new HashMap<>(ConfigurationInterpolator.getDefaultPrefixLookups()); + for (Map.Entry entry : prefixLookups.entrySet()) { + interpolator.registerLookup(entry.getKey(), entry.getValue()); + } + conf.setInterpolator(interpolator); return conf; } @@ -370,12 +443,12 @@ public void handle(Signal arg0) { public void reparseConfigFileSecuritySections() throws ConfigurationException { if (_configFile != null) { - org.apache.commons.configuration.Configuration newConfig = parseConfig(_configFile); + org.apache.commons.configuration2.Configuration newConfig = parseConfig(_configFile); setConfiguration("", newConfig); ApplicationRegistry.getInstance().getSecurityManager().configureHostPlugins(this); // Reload virtualhosts from correct location - org.apache.commons.configuration.Configuration newVhosts; + org.apache.commons.configuration2.Configuration newVhosts; if (_vhostsFile == null) { newVhosts = newConfig.subset("virtualhosts"); } else { diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/TopicConfig.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/TopicConfig.java index 472225b39..838851c44 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/TopicConfig.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/TopicConfig.java @@ -17,8 +17,8 @@ */ package org.wso2.andes.configuration.qpid; -import org.apache.commons.configuration.ConfigurationException; -import org.apache.commons.configuration.PropertiesConfiguration; +import org.apache.commons.configuration2.ex.ConfigurationException; +import org.apache.commons.configuration2.PropertiesConfiguration; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPlugin; public class TopicConfig extends ConfigurationPlugin diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/TopicConfiguration.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/TopicConfiguration.java index 50a07e9ae..48e94c6c7 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/TopicConfiguration.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/TopicConfiguration.java @@ -17,8 +17,8 @@ */ package org.wso2.andes.configuration.qpid; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.server.binding.Binding; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPlugin; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPluginFactory; @@ -110,7 +110,7 @@ public void validateConfiguration() throws ConfigurationException * @param name * @param topic * - * @throws org.apache.commons.configuration.ConfigurationException + * @throws org.apache.commons.configuration2.ex.ConfigurationException * */ private void processTopic(String name, TopicConfig topic) throws ConfigurationException diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/VirtualHostConfiguration.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/VirtualHostConfiguration.java index 7d1a6b8ec..414f351d9 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/VirtualHostConfiguration.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/VirtualHostConfiguration.java @@ -24,10 +24,10 @@ import java.util.List; import java.util.Map; -import org.apache.commons.configuration.CompositeConfiguration; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.ConfigurationException; -import org.apache.commons.configuration.PropertiesConfiguration; +import org.apache.commons.configuration2.CompositeConfiguration; +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.ex.ConfigurationException; +import org.apache.commons.configuration2.PropertiesConfiguration; import org.wso2.andes.exchange.ExchangeDefaults; import org.wso2.andes.framing.AMQShortString; import org.wso2.andes.server.binding.Binding; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/plugins/ConfigurationPlugin.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/plugins/ConfigurationPlugin.java index a434ef53a..a64fe4a03 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/plugins/ConfigurationPlugin.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/plugins/ConfigurationPlugin.java @@ -17,9 +17,9 @@ */ package org.wso2.andes.configuration.qpid.plugins; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.ConfigurationException; -import org.apache.commons.configuration.ConversionException; +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.ex.ConfigurationException; +import org.apache.commons.configuration2.ex.ConversionException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.andes.configuration.qpid.ConfigurationManager; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/plugins/ConfigurationPluginFactory.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/plugins/ConfigurationPluginFactory.java index fb01696a5..41f2618d1 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/plugins/ConfigurationPluginFactory.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/plugins/ConfigurationPluginFactory.java @@ -19,8 +19,8 @@ import java.util.List; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.ex.ConfigurationException; public interface ConfigurationPluginFactory { diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/plugins/SlowConsumerDetectionConfiguration.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/plugins/SlowConsumerDetectionConfiguration.java index 3b237f708..5ab01b2d4 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/plugins/SlowConsumerDetectionConfiguration.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/plugins/SlowConsumerDetectionConfiguration.java @@ -17,8 +17,8 @@ */ package org.wso2.andes.configuration.qpid.plugins; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.ex.ConfigurationException; import java.util.Arrays; import java.util.List; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/plugins/SlowConsumerDetectionPolicyConfiguration.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/plugins/SlowConsumerDetectionPolicyConfiguration.java index 89182051d..4bf3c67b0 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/plugins/SlowConsumerDetectionPolicyConfiguration.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/plugins/SlowConsumerDetectionPolicyConfiguration.java @@ -17,8 +17,8 @@ */ package org.wso2.andes.configuration.qpid.plugins; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.ex.ConfigurationException; import java.util.Arrays; import java.util.List; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/plugins/SlowConsumerDetectionQueueConfiguration.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/plugins/SlowConsumerDetectionQueueConfiguration.java index 1f6d86777..79abbd943 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/plugins/SlowConsumerDetectionQueueConfiguration.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/plugins/SlowConsumerDetectionQueueConfiguration.java @@ -17,8 +17,8 @@ */ package org.wso2.andes.configuration.qpid.plugins; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.server.plugins.PluginManager; import org.wso2.andes.server.registry.ApplicationRegistry; import org.wso2.andes.policies.SlowConsumerPolicyPlugin; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/Broker.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/Broker.java index 9639a3345..50b7041d3 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/Broker.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/Broker.java @@ -18,7 +18,7 @@ package org.wso2.andes.server; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.commons.logging.Log; import org.wso2.andes.AMQException; import org.wso2.andes.amqp.AMQPUtils; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/management/JMXManagedObjectRegistry.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/management/JMXManagedObjectRegistry.java index c4ae0f8c3..b9854a8b9 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/management/JMXManagedObjectRegistry.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/management/JMXManagedObjectRegistry.java @@ -53,7 +53,7 @@ import javax.rmi.ssl.SslRMIClientSocketFactory; import javax.rmi.ssl.SslRMIServerSocketFactory; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.andes.AMQException; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/management/ManagedObjectRegistry.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/management/ManagedObjectRegistry.java index 851d65eaf..dd49f2741 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/management/ManagedObjectRegistry.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/management/ManagedObjectRegistry.java @@ -19,7 +19,7 @@ import javax.management.JMException; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.common.Closeable; import java.io.IOException; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/plugins/Plugin.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/plugins/Plugin.java index 37607497a..a02de8519 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/plugins/Plugin.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/plugins/Plugin.java @@ -17,7 +17,7 @@ */ package org.wso2.andes.server.plugins; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPlugin; public interface Plugin diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/plugins/PluginFactory.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/plugins/PluginFactory.java index f1538ca88..be21b0129 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/plugins/PluginFactory.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/plugins/PluginFactory.java @@ -17,7 +17,7 @@ */ package org.wso2.andes.server.plugins; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPlugin; public interface PluginFactory

diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/plugins/PluginManager.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/plugins/PluginManager.java index 556bbd796..06ddbfeac 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/plugins/PluginManager.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/plugins/PluginManager.java @@ -17,7 +17,7 @@ */ package org.wso2.andes.server.plugins; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.felix.framework.Felix; import org.apache.felix.framework.util.StringMap; import org.apache.commons.logging.Log; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/registry/ApplicationRegistry.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/registry/ApplicationRegistry.java index f48556a2a..73c3ec854 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/registry/ApplicationRegistry.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/registry/ApplicationRegistry.java @@ -17,7 +17,7 @@ */ package org.wso2.andes.server.registry; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.andes.AMQException; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/registry/ConfigurationFileApplicationRegistry.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/registry/ConfigurationFileApplicationRegistry.java index 2dd2a7b47..7a579fc8c 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/registry/ConfigurationFileApplicationRegistry.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/registry/ConfigurationFileApplicationRegistry.java @@ -19,7 +19,7 @@ import java.io.File; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.AMQException; import org.wso2.andes.configuration.qpid.ServerConfiguration; import org.wso2.andes.server.logging.actors.BrokerActor; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/AbstractProxyPlugin.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/AbstractProxyPlugin.java index 61b87b663..690f4db99 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/AbstractProxyPlugin.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/AbstractProxyPlugin.java @@ -17,7 +17,7 @@ */ package org.wso2.andes.server.security; -import org.apache.commons.configuration.Configuration; +import org.apache.commons.configuration2.Configuration; import org.wso2.andes.server.security.access.ObjectProperties; import org.wso2.andes.server.security.access.ObjectType; import org.wso2.andes.server.security.access.Operation; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/SecurityManager.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/SecurityManager.java index 7c9f452de..7c3f601df 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/SecurityManager.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/SecurityManager.java @@ -17,8 +17,8 @@ */ package org.wso2.andes.server.security; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.andes.framing.AMQShortString; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/access/plugins/AllowAll.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/access/plugins/AllowAll.java index 10f2cf9e1..d52d50b9d 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/access/plugins/AllowAll.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/access/plugins/AllowAll.java @@ -20,8 +20,8 @@ import java.util.Arrays; import java.util.List; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPlugin; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPluginFactory; import org.wso2.andes.server.security.Result; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/access/plugins/DenyAll.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/access/plugins/DenyAll.java index 68daffa4c..5f949f2a1 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/access/plugins/DenyAll.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/access/plugins/DenyAll.java @@ -20,8 +20,8 @@ import java.util.Arrays; import java.util.List; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPlugin; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPluginFactory; import org.wso2.andes.server.security.Result; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/access/plugins/LegacyAccess.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/access/plugins/LegacyAccess.java index a4525a5ca..cdef76903 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/access/plugins/LegacyAccess.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/access/plugins/LegacyAccess.java @@ -20,8 +20,8 @@ import java.util.Arrays; import java.util.List; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPlugin; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPluginFactory; import org.wso2.andes.server.security.SecurityPluginFactory; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java index 548b16d73..4bda330c5 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java @@ -37,8 +37,8 @@ import javax.security.sasl.SaslServer; import javax.security.sasl.SaslServerFactory; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.andes.configuration.PropertyException; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/auth/sasl/UsernamePasswordInitialiser.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/auth/sasl/UsernamePasswordInitialiser.java index 2bf30f77c..8eec9f035 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/auth/sasl/UsernamePasswordInitialiser.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/security/auth/sasl/UsernamePasswordInitialiser.java @@ -29,7 +29,7 @@ import javax.security.auth.login.AccountNotFoundException; import javax.security.sasl.AuthorizeCallback; -import org.apache.commons.configuration.Configuration; +import org.apache.commons.configuration2.Configuration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/state/StateAwareMethodListener.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/state/StateAwareMethodListener.java index 2565c0da6..62be673e2 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/state/StateAwareMethodListener.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/state/StateAwareMethodListener.java @@ -17,7 +17,7 @@ */ package org.wso2.andes.server.state; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.AMQException; import org.wso2.andes.framing.AMQMethodBody; import org.wso2.andes.protocol.AMQMethodEvent; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/store/DurableConfigurationStore.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/store/DurableConfigurationStore.java index 1aa2583ac..85b05a357 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/store/DurableConfigurationStore.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/store/DurableConfigurationStore.java @@ -17,7 +17,7 @@ */ package org.wso2.andes.server.store; -import org.apache.commons.configuration.Configuration; +import org.apache.commons.configuration2.Configuration; import org.wso2.andes.AMQStoreException; import org.wso2.andes.framing.AMQShortString; import org.wso2.andes.framing.FieldTable; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/store/MemoryMessageStore.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/store/MemoryMessageStore.java index ae449a6a0..aa9aa3b11 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/store/MemoryMessageStore.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/store/MemoryMessageStore.java @@ -21,7 +21,7 @@ import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicLong; -import org.apache.commons.configuration.Configuration; +import org.apache.commons.configuration2.Configuration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.andes.AMQException; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/store/MessageStore.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/store/MessageStore.java index 5ac78739c..4b856ca19 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/store/MessageStore.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/store/MessageStore.java @@ -18,7 +18,7 @@ package org.wso2.andes.server.store; import org.wso2.andes.server.logging.LogSubject; -import org.apache.commons.configuration.Configuration; +import org.apache.commons.configuration2.Configuration; /** * MessageStore defines the interface to a storage area, which can be used to preserve the state of messages. diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/store/QpidDeprecatedMessageStore.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/store/QpidDeprecatedMessageStore.java index f3dfa8e22..c860d473a 100644 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/store/QpidDeprecatedMessageStore.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/store/QpidDeprecatedMessageStore.java @@ -19,7 +19,7 @@ import java.util.List; -import org.apache.commons.configuration.Configuration; +import org.apache.commons.configuration2.Configuration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.andes.AMQException; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/store/TransactionLog.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/store/TransactionLog.java index 6667410b0..eaff8260b 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/store/TransactionLog.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/store/TransactionLog.java @@ -19,7 +19,7 @@ import org.wso2.andes.server.logging.LogSubject; import org.wso2.andes.AMQStoreException; -import org.apache.commons.configuration.Configuration; +import org.apache.commons.configuration2.Configuration; public interface TransactionLog { diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/virtualhost/VirtualHostImpl.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/virtualhost/VirtualHostImpl.java index 321f8ca15..142a58553 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/virtualhost/VirtualHostImpl.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/virtualhost/VirtualHostImpl.java @@ -17,8 +17,8 @@ */ package org.wso2.andes.server.virtualhost; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.andes.AMQException; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/virtualhost/plugins/policies/TopicDeletePolicy.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/virtualhost/plugins/policies/TopicDeletePolicy.java index 4bb6d23ce..be7a2d44a 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/virtualhost/plugins/policies/TopicDeletePolicy.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/virtualhost/plugins/policies/TopicDeletePolicy.java @@ -17,7 +17,7 @@ */ package org.wso2.andes.server.virtualhost.plugins.policies; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.andes.AMQException; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/virtualhost/plugins/policies/TopicDeletePolicyConfiguration.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/virtualhost/plugins/policies/TopicDeletePolicyConfiguration.java index f8ed2b10d..2657bc9dd 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/virtualhost/plugins/policies/TopicDeletePolicyConfiguration.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/virtualhost/plugins/policies/TopicDeletePolicyConfiguration.java @@ -20,8 +20,8 @@ import java.util.Arrays; import java.util.List; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPlugin; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPluginFactory; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/tools/messagestore/MessageStoreTool.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/tools/messagestore/MessageStoreTool.java index 830cfd530..01daad12b 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/tools/messagestore/MessageStoreTool.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/tools/messagestore/MessageStoreTool.java @@ -19,7 +19,7 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.OptionBuilder; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.configuration.qpid.Configuration; import org.wso2.andes.server.exchange.Exchange; import org.wso2.andes.server.registry.ApplicationRegistry; diff --git a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/configuration/QueueConfigurationTest.java b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/configuration/QueueConfigurationTest.java index b400e92af..8792c66bb 100755 --- a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/configuration/QueueConfigurationTest.java +++ b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/configuration/QueueConfigurationTest.java @@ -21,9 +21,9 @@ package org.wso2.andes.configuration.qpid; import junit.framework.TestCase; -import org.apache.commons.configuration.CompositeConfiguration; -import org.apache.commons.configuration.ConfigurationException; -import org.apache.commons.configuration.PropertiesConfiguration; +import org.apache.commons.configuration2.CompositeConfiguration; +import org.apache.commons.configuration2.ex.ConfigurationException; +import org.apache.commons.configuration2.PropertiesConfiguration; import org.wso2.andes.configuration.qpid.QueueConfiguration; import org.wso2.andes.configuration.qpid.VirtualHostConfiguration; diff --git a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/configuration/ServerConfigurationTest.java b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/configuration/ServerConfigurationTest.java index 3e16c5d08..6691b8e91 100755 --- a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/configuration/ServerConfigurationTest.java +++ b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/configuration/ServerConfigurationTest.java @@ -27,8 +27,8 @@ import java.io.IOException; import java.util.Locale; -import org.apache.commons.configuration.ConfigurationException; -import org.apache.commons.configuration.XMLConfiguration; +import org.apache.commons.configuration2.ex.ConfigurationException; +import org.apache.commons.configuration2.XMLConfiguration; import org.wso2.andes.configuration.qpid.ExchangeConfiguration; import org.wso2.andes.configuration.qpid.ServerConfiguration; import org.wso2.andes.configuration.qpid.VirtualHostConfiguration; diff --git a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/configuration/TopicConfigurationTest.java b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/configuration/TopicConfigurationTest.java index d5e9229b4..08ea7fcd2 100755 --- a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/configuration/TopicConfigurationTest.java +++ b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/configuration/TopicConfigurationTest.java @@ -20,7 +20,7 @@ */ package org.wso2.andes.configuration.qpid; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.AMQException; import org.wso2.andes.AMQInternalException; import org.wso2.andes.AMQSecurityException; diff --git a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/configuration/VirtualHostConfigurationTest.java b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/configuration/VirtualHostConfigurationTest.java index 67a8575a4..22274ea92 100755 --- a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/configuration/VirtualHostConfigurationTest.java +++ b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/configuration/VirtualHostConfigurationTest.java @@ -20,7 +20,7 @@ package org.wso2.andes.configuration.qpid; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.framing.AMQShortString; import org.wso2.andes.server.queue.AMQPriorityQueue; import org.wso2.andes.server.queue.AMQQueue; diff --git a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/configuration/plugins/ConfigurationPluginTest.java b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/configuration/plugins/ConfigurationPluginTest.java index 94972bb96..fe1c66e1b 100755 --- a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/configuration/plugins/ConfigurationPluginTest.java +++ b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/configuration/plugins/ConfigurationPluginTest.java @@ -20,9 +20,9 @@ */ package org.wso2.andes.configuration.qpid.plugins; -import org.apache.commons.configuration.CompositeConfiguration; -import org.apache.commons.configuration.ConfigurationException; -import org.apache.commons.configuration.XMLConfiguration; +import org.apache.commons.configuration2.CompositeConfiguration; +import org.apache.commons.configuration2.ex.ConfigurationException; +import org.apache.commons.configuration2.XMLConfiguration; import org.wso2.andes.server.util.InternalBrokerBaseCase; import java.util.List; diff --git a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/logging/actors/AMQPChannelActorTest.java b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/logging/actors/AMQPChannelActorTest.java index e6203005f..c5e71da87 100755 --- a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/logging/actors/AMQPChannelActorTest.java +++ b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/logging/actors/AMQPChannelActorTest.java @@ -22,7 +22,7 @@ import java.util.List; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.AMQException; /** diff --git a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/logging/actors/CurrentActorTest.java b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/logging/actors/CurrentActorTest.java index 86713d8b0..ca3aeeb74 100755 --- a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/logging/actors/CurrentActorTest.java +++ b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/logging/actors/CurrentActorTest.java @@ -20,7 +20,7 @@ */ package org.wso2.andes.server.logging.actors; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.AMQException; import org.wso2.andes.server.AMQChannel; import org.wso2.andes.server.logging.NullRootMessageLogger; @@ -67,7 +67,7 @@ public class CurrentActorTest extends BaseConnectionActorTestCase * in there being no actors set. * * @throws AMQException - * @throws org.apache.commons.configuration.ConfigurationException + * @throws org.apache.commons.configuration2.ex.ConfigurationException */ public void testLIFO() throws AMQException, ConfigurationException { diff --git a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/logging/messages/AbstractTestMessages.java b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/logging/messages/AbstractTestMessages.java index 445878f0d..324dacd3e 100755 --- a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/logging/messages/AbstractTestMessages.java +++ b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/logging/messages/AbstractTestMessages.java @@ -22,8 +22,8 @@ import java.util.List; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.PropertiesConfiguration; +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.PropertiesConfiguration; import org.wso2.andes.server.logging.LogActor; import org.wso2.andes.server.logging.LogMessage; import org.wso2.andes.server.logging.LogSubject; diff --git a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/logging/subjects/AbstractTestLogSubject.java b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/logging/subjects/AbstractTestLogSubject.java index 830fda921..57eb59c92 100755 --- a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/logging/subjects/AbstractTestLogSubject.java +++ b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/logging/subjects/AbstractTestLogSubject.java @@ -20,9 +20,9 @@ */ package org.wso2.andes.server.logging.subjects; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.ConfigurationException; -import org.apache.commons.configuration.PropertiesConfiguration; +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.ex.ConfigurationException; +import org.apache.commons.configuration2.PropertiesConfiguration; import org.wso2.andes.framing.AMQShortString; import org.wso2.andes.configuration.qpid.ServerConfiguration; import org.wso2.andes.server.exchange.Exchange; diff --git a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/queue/SimpleAMQQueueTest.java b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/queue/SimpleAMQQueueTest.java index 287808978..6d684e4b8 100755 --- a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/queue/SimpleAMQQueueTest.java +++ b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/queue/SimpleAMQQueueTest.java @@ -21,7 +21,7 @@ package org.wso2.andes.server.queue; -import org.apache.commons.configuration.PropertiesConfiguration; +import org.apache.commons.configuration2.PropertiesConfiguration; import org.wso2.andes.AMQException; import org.wso2.andes.AMQInternalException; diff --git a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/security/auth/manager/PrincipalDatabaseAuthenticationManagerTest.java b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/security/auth/manager/PrincipalDatabaseAuthenticationManagerTest.java index 4509c99b4..fae2c1c36 100755 --- a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/security/auth/manager/PrincipalDatabaseAuthenticationManagerTest.java +++ b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/security/auth/manager/PrincipalDatabaseAuthenticationManagerTest.java @@ -31,9 +31,9 @@ import javax.security.sasl.SaslException; import javax.security.sasl.SaslServer; -import org.apache.commons.configuration.CompositeConfiguration; -import org.apache.commons.configuration.ConfigurationException; -import org.apache.commons.configuration.XMLConfiguration; +import org.apache.commons.configuration2.CompositeConfiguration; +import org.apache.commons.configuration2.ex.ConfigurationException; +import org.apache.commons.configuration2.XMLConfiguration; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPlugin; import org.wso2.andes.server.security.auth.AuthenticationResult; import org.wso2.andes.server.security.auth.AuthenticationResult.AuthenticationStatus; diff --git a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/store/MessageStoreTest.java b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/store/MessageStoreTest.java index d7fdde8ab..f280f2387 100755 --- a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/store/MessageStoreTest.java +++ b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/store/MessageStoreTest.java @@ -25,7 +25,7 @@ import java.util.List; import java.util.Map; -import org.apache.commons.configuration.PropertiesConfiguration; +import org.apache.commons.configuration2.PropertiesConfiguration; import org.apache.commons.lang.NotImplementedException; import org.wso2.andes.AMQException; import org.wso2.andes.common.AMQPFilterTypes; diff --git a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/store/SkeletonMessageStore.java b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/store/SkeletonMessageStore.java index dfa831668..6f5d7ed14 100755 --- a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/store/SkeletonMessageStore.java +++ b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/store/SkeletonMessageStore.java @@ -20,7 +20,7 @@ */ package org.wso2.andes.server.store; -import org.apache.commons.configuration.Configuration; +import org.apache.commons.configuration2.Configuration; import org.wso2.andes.AMQException; import org.wso2.andes.AMQStoreException; import org.wso2.andes.framing.AMQShortString; diff --git a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/txn/MockStoreTransaction.java b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/txn/MockStoreTransaction.java index cd422f5dc..d0b127542 100755 --- a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/txn/MockStoreTransaction.java +++ b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/txn/MockStoreTransaction.java @@ -20,7 +20,7 @@ */ package org.wso2.andes.server.txn; -import org.apache.commons.configuration.Configuration; +import org.apache.commons.configuration2.Configuration; import org.apache.commons.lang.NotImplementedException; import org.wso2.andes.AMQStoreException; import org.wso2.andes.server.logging.LogSubject; diff --git a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/util/InternalBrokerBaseCase.java b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/util/InternalBrokerBaseCase.java index f7674ab55..9c55a413c 100755 --- a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/util/InternalBrokerBaseCase.java +++ b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/util/InternalBrokerBaseCase.java @@ -20,7 +20,7 @@ */ package org.wso2.andes.server.util; -import org.apache.commons.configuration.XMLConfiguration; +import org.apache.commons.configuration2.XMLConfiguration; import org.wso2.andes.AMQException; import org.wso2.andes.common.AMQPFilterTypes; import org.wso2.andes.exchange.ExchangeDefaults; diff --git a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/util/TestApplicationRegistry.java b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/util/TestApplicationRegistry.java index f8274cd78..3919e5bd6 100755 --- a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/util/TestApplicationRegistry.java +++ b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/util/TestApplicationRegistry.java @@ -22,7 +22,7 @@ import java.util.Properties; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.configuration.qpid.ServerConfiguration; import org.wso2.andes.server.logging.NullRootMessageLogger; import org.wso2.andes.server.logging.actors.BrokerActor; diff --git a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/virtualhost/plugins/SlowConsumerDetectionConfigurationTest.java b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/virtualhost/plugins/SlowConsumerDetectionConfigurationTest.java index f9edc27b5..6a54f1040 100755 --- a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/virtualhost/plugins/SlowConsumerDetectionConfigurationTest.java +++ b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/virtualhost/plugins/SlowConsumerDetectionConfigurationTest.java @@ -20,9 +20,9 @@ */ package org.wso2.andes.server.virtualhost.plugins; -import org.apache.commons.configuration.CompositeConfiguration; -import org.apache.commons.configuration.ConfigurationException; -import org.apache.commons.configuration.XMLConfiguration; +import org.apache.commons.configuration2.CompositeConfiguration; +import org.apache.commons.configuration2.ex.ConfigurationException; +import org.apache.commons.configuration2.XMLConfiguration; import org.wso2.andes.configuration.qpid.plugins.SlowConsumerDetectionConfiguration; import org.wso2.andes.server.util.InternalBrokerBaseCase; diff --git a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/virtualhost/plugins/SlowConsumerDetectionPolicyConfigurationTest.java b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/virtualhost/plugins/SlowConsumerDetectionPolicyConfigurationTest.java index 4ef35156f..2be11af4f 100755 --- a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/virtualhost/plugins/SlowConsumerDetectionPolicyConfigurationTest.java +++ b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/virtualhost/plugins/SlowConsumerDetectionPolicyConfigurationTest.java @@ -20,9 +20,9 @@ */ package org.wso2.andes.server.virtualhost.plugins; -import org.apache.commons.configuration.CompositeConfiguration; -import org.apache.commons.configuration.ConfigurationException; -import org.apache.commons.configuration.XMLConfiguration; +import org.apache.commons.configuration2.CompositeConfiguration; +import org.apache.commons.configuration2.ex.ConfigurationException; +import org.apache.commons.configuration2.XMLConfiguration; import org.wso2.andes.configuration.qpid.plugins.SlowConsumerDetectionPolicyConfiguration; import org.wso2.andes.server.util.InternalBrokerBaseCase; diff --git a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/virtualhost/plugins/SlowConsumerDetectionQueueConfigurationTest.java b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/virtualhost/plugins/SlowConsumerDetectionQueueConfigurationTest.java index 983fb6dfc..c0f7b7272 100755 --- a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/virtualhost/plugins/SlowConsumerDetectionQueueConfigurationTest.java +++ b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/virtualhost/plugins/SlowConsumerDetectionQueueConfigurationTest.java @@ -18,9 +18,9 @@ */ package org.wso2.andes.server.virtualhost.plugins; -import org.apache.commons.configuration.CompositeConfiguration; -import org.apache.commons.configuration.ConfigurationException; -import org.apache.commons.configuration.XMLConfiguration; +import org.apache.commons.configuration2.CompositeConfiguration; +import org.apache.commons.configuration2.ex.ConfigurationException; +import org.apache.commons.configuration2.XMLConfiguration; import org.wso2.andes.configuration.qpid.plugins.SlowConsumerDetectionQueueConfiguration; import org.wso2.andes.server.util.InternalBrokerBaseCase; diff --git a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/virtualhost/plugins/policies/TopicDeletePolicyConfigurationTest.java b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/virtualhost/plugins/policies/TopicDeletePolicyConfigurationTest.java index 9cee04724..91132c740 100755 --- a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/virtualhost/plugins/policies/TopicDeletePolicyConfigurationTest.java +++ b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/virtualhost/plugins/policies/TopicDeletePolicyConfigurationTest.java @@ -20,9 +20,9 @@ */ package org.wso2.andes.server.virtualhost.plugins.policies; -import org.apache.commons.configuration.CompositeConfiguration; -import org.apache.commons.configuration.ConfigurationException; -import org.apache.commons.configuration.XMLConfiguration; +import org.apache.commons.configuration2.CompositeConfiguration; +import org.apache.commons.configuration2.ex.ConfigurationException; +import org.apache.commons.configuration2.XMLConfiguration; import org.wso2.andes.server.util.InternalBrokerBaseCase; /** diff --git a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/virtualhost/plugins/policies/TopicDeletePolicyTest.java b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/virtualhost/plugins/policies/TopicDeletePolicyTest.java index 0fe23b1b7..7bfeefd0b 100755 --- a/modules/andes-core/broker/src/test/java/org/wso2/andes/server/virtualhost/plugins/policies/TopicDeletePolicyTest.java +++ b/modules/andes-core/broker/src/test/java/org/wso2/andes/server/virtualhost/plugins/policies/TopicDeletePolicyTest.java @@ -20,8 +20,8 @@ */ package org.wso2.andes.server.virtualhost.plugins.policies; -import org.apache.commons.configuration.ConfigurationException; -import org.apache.commons.configuration.XMLConfiguration; +import org.apache.commons.configuration2.ex.ConfigurationException; +import org.apache.commons.configuration2.XMLConfiguration; import org.wso2.andes.AMQException; import org.wso2.andes.server.AMQChannel; import org.wso2.andes.server.binding.Binding; diff --git a/modules/andes-core/pom.xml b/modules/andes-core/pom.xml index 03364ebcd..bb9a39647 100644 --- a/modules/andes-core/pom.xml +++ b/modules/andes-core/pom.xml @@ -62,8 +62,8 @@ commons-collections - commons-configuration - commons-configuration + org.apache.commons + commons-configuration2 commons-jxpath diff --git a/modules/andes-core/systests/src/main/java/org/wso2/andes/server/configuration/ServerConfigurationFileTest.java b/modules/andes-core/systests/src/main/java/org/wso2/andes/server/configuration/ServerConfigurationFileTest.java index 2af03066f..5d1402086 100644 --- a/modules/andes-core/systests/src/main/java/org/wso2/andes/server/configuration/ServerConfigurationFileTest.java +++ b/modules/andes-core/systests/src/main/java/org/wso2/andes/server/configuration/ServerConfigurationFileTest.java @@ -20,7 +20,7 @@ */ package org.wso2.andes.configuration.qpid; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.configuration.qpid.ServerConfiguration; import org.wso2.andes.test.utils.QpidBrokerTestCase; diff --git a/modules/andes-core/systests/src/main/java/org/wso2/andes/server/logging/AbstractTestLogging.java b/modules/andes-core/systests/src/main/java/org/wso2/andes/server/logging/AbstractTestLogging.java index a9d715828..baad488e7 100644 --- a/modules/andes-core/systests/src/main/java/org/wso2/andes/server/logging/AbstractTestLogging.java +++ b/modules/andes-core/systests/src/main/java/org/wso2/andes/server/logging/AbstractTestLogging.java @@ -27,7 +27,7 @@ import java.util.LinkedList; import java.util.List; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.configuration.qpid.ServerConfiguration; import org.wso2.andes.server.logging.subjects.AbstractTestLogSubject; import org.wso2.andes.server.registry.ApplicationRegistry; diff --git a/modules/andes-core/systests/src/main/java/org/wso2/andes/server/security/acl/AbstractACLTestCase.java b/modules/andes-core/systests/src/main/java/org/wso2/andes/server/security/acl/AbstractACLTestCase.java index 75e7f3856..f41afb15f 100644 --- a/modules/andes-core/systests/src/main/java/org/wso2/andes/server/security/acl/AbstractACLTestCase.java +++ b/modules/andes-core/systests/src/main/java/org/wso2/andes/server/security/acl/AbstractACLTestCase.java @@ -34,7 +34,7 @@ import javax.jms.JMSException; import javax.naming.NamingException; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.commons.lang.StringUtils; import org.wso2.andes.AMQException; import org.wso2.andes.client.AMQConnection; diff --git a/modules/andes-core/systests/src/main/java/org/wso2/andes/server/store/SlowMessageStore.java b/modules/andes-core/systests/src/main/java/org/wso2/andes/server/store/SlowMessageStore.java index 0eb7ce9c4..3535bb8bb 100644 --- a/modules/andes-core/systests/src/main/java/org/wso2/andes/server/store/SlowMessageStore.java +++ b/modules/andes-core/systests/src/main/java/org/wso2/andes/server/store/SlowMessageStore.java @@ -20,7 +20,7 @@ */ package org.wso2.andes.server.store; -import org.apache.commons.configuration.Configuration; +import org.apache.commons.configuration2.Configuration; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; import org.wso2.andes.AMQException; diff --git a/modules/andes-core/systests/src/main/java/org/wso2/andes/systest/GlobalQueuesTest.java b/modules/andes-core/systests/src/main/java/org/wso2/andes/systest/GlobalQueuesTest.java index 5408b624a..daed5334b 100644 --- a/modules/andes-core/systests/src/main/java/org/wso2/andes/systest/GlobalQueuesTest.java +++ b/modules/andes-core/systests/src/main/java/org/wso2/andes/systest/GlobalQueuesTest.java @@ -20,7 +20,7 @@ */ package org.wso2.andes.systest; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import javax.jms.Session; import javax.naming.NamingException; diff --git a/modules/andes-core/systests/src/main/java/org/wso2/andes/systest/MergeConfigurationTest.java b/modules/andes-core/systests/src/main/java/org/wso2/andes/systest/MergeConfigurationTest.java index a7a8eb1cc..3f96815bc 100644 --- a/modules/andes-core/systests/src/main/java/org/wso2/andes/systest/MergeConfigurationTest.java +++ b/modules/andes-core/systests/src/main/java/org/wso2/andes/systest/MergeConfigurationTest.java @@ -20,7 +20,7 @@ */ package org.wso2.andes.systest; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.AMQChannelClosedException; import org.wso2.andes.AMQException; import org.wso2.andes.client.AMQSession_0_10; diff --git a/modules/andes-core/systests/src/main/java/org/wso2/andes/systest/SubscriptionTest.java b/modules/andes-core/systests/src/main/java/org/wso2/andes/systest/SubscriptionTest.java index 2fe425358..85a2b70b8 100644 --- a/modules/andes-core/systests/src/main/java/org/wso2/andes/systest/SubscriptionTest.java +++ b/modules/andes-core/systests/src/main/java/org/wso2/andes/systest/SubscriptionTest.java @@ -20,7 +20,7 @@ */ package org.wso2.andes.systest; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import javax.jms.Session; import javax.naming.NamingException; diff --git a/modules/andes-core/systests/src/main/java/org/wso2/andes/systest/TestingBaseCase.java b/modules/andes-core/systests/src/main/java/org/wso2/andes/systest/TestingBaseCase.java index 240a4417a..bcb30b8dd 100644 --- a/modules/andes-core/systests/src/main/java/org/wso2/andes/systest/TestingBaseCase.java +++ b/modules/andes-core/systests/src/main/java/org/wso2/andes/systest/TestingBaseCase.java @@ -20,7 +20,7 @@ */ package org.wso2.andes.systest; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.AMQChannelClosedException; import org.wso2.andes.AMQException; import org.wso2.andes.client.AMQSession_0_10; diff --git a/modules/andes-core/systests/src/main/java/org/wso2/andes/systest/TopicTest.java b/modules/andes-core/systests/src/main/java/org/wso2/andes/systest/TopicTest.java index 2bb71fd4f..09e2efa09 100644 --- a/modules/andes-core/systests/src/main/java/org/wso2/andes/systest/TopicTest.java +++ b/modules/andes-core/systests/src/main/java/org/wso2/andes/systest/TopicTest.java @@ -20,7 +20,7 @@ */ package org.wso2.andes.systest; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import javax.naming.NamingException; import java.io.IOException; diff --git a/modules/andes-core/systests/src/main/java/org/wso2/andes/test/utils/JMXTestUtils.java b/modules/andes-core/systests/src/main/java/org/wso2/andes/test/utils/JMXTestUtils.java index 881226ea4..af34db294 100644 --- a/modules/andes-core/systests/src/main/java/org/wso2/andes/test/utils/JMXTestUtils.java +++ b/modules/andes-core/systests/src/main/java/org/wso2/andes/test/utils/JMXTestUtils.java @@ -35,7 +35,7 @@ import junit.framework.TestCase; -import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration2.ex.ConfigurationException; import org.wso2.andes.management.common.JMXConnnectionFactory; import org.wso2.andes.management.common.mbeans.ManagedBroker; import org.wso2.andes.management.common.mbeans.ManagedConnection; diff --git a/modules/andes-core/systests/src/main/java/org/wso2/andes/test/utils/QpidBrokerTestCase.java b/modules/andes-core/systests/src/main/java/org/wso2/andes/test/utils/QpidBrokerTestCase.java index 032017b05..f79fd0137 100644 --- a/modules/andes-core/systests/src/main/java/org/wso2/andes/test/utils/QpidBrokerTestCase.java +++ b/modules/andes-core/systests/src/main/java/org/wso2/andes/test/utils/QpidBrokerTestCase.java @@ -49,8 +49,10 @@ import javax.naming.InitialContext; import javax.naming.NamingException; -import org.apache.commons.configuration.ConfigurationException; -import org.apache.commons.configuration.XMLConfiguration; +import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder; +import org.apache.commons.configuration2.builder.fluent.Parameters; +import org.apache.commons.configuration2.ex.ConfigurationException; +import org.apache.commons.configuration2.XMLConfiguration; import org.apache.commons.lang.StringUtils; import org.apache.logging.log4j.Level; import org.apache.logging.log4j.Logger; @@ -664,13 +666,19 @@ protected void saveTestConfiguration() throws ConfigurationException // Specifiy the test config file String testConfig = getTestConfigFile(); setSystemProperty("test.config", testConfig); + Parameters params = new Parameters(); + FileBasedConfigurationBuilder builder = + new FileBasedConfigurationBuilder<>(XMLConfiguration.class) + .configure(params.xml().setFile(new File(testConfig))); + _testConfiguration = builder.getConfiguration(); // Create the file if configuration does not exist if (_testConfiguration.isEmpty()) { _testConfiguration.addProperty("__ignore", "true"); } - _testConfiguration.save(testConfig); + builder.save(); + //_testConfiguration.save(testConfig); } protected void saveTestVirtualhosts() throws ConfigurationException @@ -678,13 +686,18 @@ protected void saveTestVirtualhosts() throws ConfigurationException // Specifiy the test virtualhosts file String testVirtualhosts = getTestVirtualhostsFile(); setSystemProperty("test.virtualhosts", testVirtualhosts); - + Parameters params = new Parameters(); + FileBasedConfigurationBuilder builder = + new FileBasedConfigurationBuilder<>(XMLConfiguration.class) + .configure(params.xml().setFile(new File(testVirtualhosts))); + _testVirtualhosts = builder.getConfiguration(); // Create the file if configuration does not exist if (_testVirtualhosts.isEmpty()) { _testVirtualhosts.addProperty("__ignore", "true"); } - _testVirtualhosts.save(testVirtualhosts); + builder.save(); + //_testVirtualhosts.save(testVirtualhosts); } public void cleanBroker() @@ -776,7 +789,7 @@ protected void makeVirtualHostPersistent(String virtualhost) * * @return the requested String Value * - * @throws org.apache.commons.configuration.ConfigurationException + * @throws org.apache.commons.configuration2.ex.ConfigurationException * */ protected String getConfigurationStringProperty(String property) throws ConfigurationException diff --git a/modules/orbit/andes/pom.xml b/modules/orbit/andes/pom.xml index cfdee6b2b..aae4151db 100644 --- a/modules/orbit/andes/pom.xml +++ b/modules/orbit/andes/pom.xml @@ -64,8 +64,8 @@ true - commons-configuration - commons-configuration + org.apache.commons + commons-configuration2 true @@ -140,7 +140,7 @@ org.apache.felix maven-bundle-plugin - 2.3.7 + 5.1.9 true @@ -152,7 +152,7 @@ !org.apache.log4j.xml.*, org.wso2.andes.wso2.service.*, org.apache.derby.jdbc, - org.apache.commons.configuration.*, + org.apache.commons.configuration2.*, org.apache.commons.jxpath.*, org.fusesource.hawtbuf.*, org.fusesource.hawtdb*, diff --git a/pom.xml b/pom.xml index 5161b2e47..4ee152bbb 100644 --- a/pom.xml +++ b/pom.xml @@ -74,8 +74,8 @@ ${commons-collections.version} - commons-configuration - commons-configuration + org.apache.commons + commons-configuration2 ${commons-configuration.version} @@ -570,7 +570,7 @@ wso2-scm-server 3.2.6 1.0 - 1.10 + 2.12.0 2.6 1.1.0 1.1.7-wso2v4 From 567348d405dddde8540649f950dee9646e6a6872 Mon Sep 17 00:00:00 2001 From: BLasan Date: Mon, 25 Aug 2025 11:56:52 +0530 Subject: [PATCH 3/4] Add: Common Text and other dependencies --- .../access/plugins/FirewallConfiguration.java | 21 ++++-- .../security/access/FirewallPluginTest.java | 20 ++++-- .../AndesConfigurationManager.java | 53 ++++++++++----- .../qpid/ServerConfiguration.java | 65 +++++++++++++------ .../java/org/wso2/andes/server/Broker.java | 13 +++- modules/andes-core/pom.xml | 8 +++ .../andes/test/utils/QpidBrokerTestCase.java | 41 ++++++++---- modules/orbit/andes/pom.xml | 13 +++- pom.xml | 12 ++++ 9 files changed, 181 insertions(+), 65 deletions(-) diff --git a/modules/andes-core/broker-plugins/firewall/src/main/java/org/wso2/andes/server/security/access/plugins/FirewallConfiguration.java b/modules/andes-core/broker-plugins/firewall/src/main/java/org/wso2/andes/server/security/access/plugins/FirewallConfiguration.java index 8f16c78e0..bfd6c19ce 100644 --- a/modules/andes-core/broker-plugins/firewall/src/main/java/org/wso2/andes/server/security/access/plugins/FirewallConfiguration.java +++ b/modules/andes-core/broker-plugins/firewall/src/main/java/org/wso2/andes/server/security/access/plugins/FirewallConfiguration.java @@ -28,8 +28,10 @@ import org.apache.commons.configuration2.Configuration; import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder; import org.apache.commons.configuration2.builder.fluent.Parameters; +import org.apache.commons.configuration2.convert.DisabledListDelimiterHandler; import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.commons.configuration2.XMLConfiguration; +import org.apache.commons.configuration2.io.FileHandler; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPlugin; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPluginFactory; import org.wso2.andes.server.security.Result; @@ -93,13 +95,18 @@ public void validateConfiguration() throws ConfigurationException for (Object subFile : subFiles) { - FileBasedConfigurationBuilder builder = - new FileBasedConfigurationBuilder<>(XMLConfiguration.class) - .configure(params.xml() - .setFile(new File((String) subFile)) - .setThrowExceptionOnMissing(true) - .setValidating(false)); - _finalConfig.addConfiguration(builder.getConfiguration()); + XMLConfiguration rootConfiguration = new XMLConfiguration(); + rootConfiguration.setListDelimiterHandler(new DisabledListDelimiterHandler()); + FileHandler xmlHandler = new FileHandler(rootConfiguration); + xmlHandler.load((new File((String) subFile))); + _finalConfig.addConfiguration(rootConfiguration); +// FileBasedConfigurationBuilder builder = +// new FileBasedConfigurationBuilder<>(XMLConfiguration.class) +// .configure(params.xml() +// .setFile(new File((String) subFile)) +// .setThrowExceptionOnMissing(true) +// .setValidating(false)); +// _finalConfig.addConfiguration(builder.getConfiguration()); } // all rules must have an access attribute or a default value diff --git a/modules/andes-core/broker-plugins/firewall/src/test/java/org/wso2/andes/server/security/access/FirewallPluginTest.java b/modules/andes-core/broker-plugins/firewall/src/test/java/org/wso2/andes/server/security/access/FirewallPluginTest.java index 93ca33a8e..980a480f4 100644 --- a/modules/andes-core/broker-plugins/firewall/src/test/java/org/wso2/andes/server/security/access/FirewallPluginTest.java +++ b/modules/andes-core/broker-plugins/firewall/src/test/java/org/wso2/andes/server/security/access/FirewallPluginTest.java @@ -27,8 +27,10 @@ import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder; import org.apache.commons.configuration2.builder.fluent.Parameters; +import org.apache.commons.configuration2.convert.DisabledListDelimiterHandler; import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.commons.configuration2.XMLConfiguration; +import org.apache.commons.configuration2.io.FileHandler; import org.wso2.andes.configuration.qpid.ServerConfiguration; import org.wso2.andes.server.registry.ApplicationRegistry; import org.wso2.andes.server.security.Result; @@ -126,13 +128,19 @@ private Firewall initialisePlugin(String defaultAction, RuleInfo[] rules) throws // Configure plugin FirewallConfiguration config = new FirewallConfiguration(); - Parameters params = new Parameters(); - FileBasedConfigurationBuilder builder = - new FileBasedConfigurationBuilder<>(XMLConfiguration.class) - .configure(params.xml() - .setFile(confFile)); + XMLConfiguration rootConfiguration = new XMLConfiguration(); + rootConfiguration.setListDelimiterHandler(new DisabledListDelimiterHandler()); + FileHandler xmlHandler = new FileHandler(rootConfiguration); + xmlHandler.load(confFile); - config.setConfiguration("", builder.getConfiguration()); +// Parameters params = new Parameters(); +// FileBasedConfigurationBuilder builder = +// new FileBasedConfigurationBuilder<>(XMLConfiguration.class) +// .configure(params.xml() +// .setFile(confFile)); + + config.setConfiguration("", rootConfiguration); + //config.setConfiguration("", builder.getConfiguration()); Firewall plugin = new Firewall(); plugin.configure(config); return plugin; diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/AndesConfigurationManager.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/AndesConfigurationManager.java index f1456ce9e..7f106e0d1 100644 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/AndesConfigurationManager.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/AndesConfigurationManager.java @@ -22,6 +22,7 @@ import java.io.FileNotFoundException; import java.lang.reflect.InvocationTargetException; import java.net.InetAddress; +import java.net.URL; import java.net.UnknownHostException; import java.nio.file.Paths; import java.text.DateFormat; @@ -31,9 +32,11 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Date; +import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Locale; +import java.util.Map; import java.util.Stack; import java.util.concurrent.ConcurrentHashMap; @@ -45,11 +48,15 @@ import org.apache.commons.configuration2.CombinedConfiguration; import org.apache.commons.configuration2.CompositeConfiguration; import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.builder.FileBasedBuilderParametersImpl; import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder; import org.apache.commons.configuration2.builder.fluent.Parameters; import org.apache.commons.configuration2.convert.DisabledListDelimiterHandler; import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.commons.configuration2.XMLConfiguration; +import org.apache.commons.configuration2.interpol.ConfigurationInterpolator; +import org.apache.commons.configuration2.interpol.Lookup; +import org.apache.commons.configuration2.io.FileHandler; import org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; @@ -169,23 +176,34 @@ public static void initialize(int portOffset) throws AndesException { log.info("Main andes configuration located at : " + brokerConfigFilePath); try { - Parameters params = new Parameters(); - FileBasedConfigurationBuilder builder = - new FileBasedConfigurationBuilder<>(XMLConfiguration.class) - .configure(params.xml() - .setFileName(brokerConfigFilePath) - .setThrowExceptionOnMissing(true) - .setValidating(false) - .setListDelimiterHandler(new DisabledListDelimiterHandler())); - compositeConfiguration = new CompositeConfiguration(); - XMLConfiguration rootConfiguration = builder.getConfiguration(); - //compositeConfiguration.setDelimiterParsingDisabled(true); - + // Create concrete builder parameters // XMLConfiguration rootConfiguration = new XMLConfiguration(); -// rootConfiguration.setDelimiterParsingDisabled(true); -// rootConfiguration.setFileName(brokerConfigFilePath); - rootConfiguration.setExpressionEngine(new XPathExpressionEngine()); - // rootConfiguration.load(); +// rootConfiguration.setListDelimiterHandler(new DisabledListDelimiterHandler()); + + XMLConfiguration rootConfiguration = new XMLConfiguration(); + rootConfiguration.setListDelimiterHandler(new DisabledListDelimiterHandler()); + + // Custom interpolator to ensure system properties are available + ConfigurationInterpolator interpolator = new ConfigurationInterpolator(); + Map lookups = new HashMap<>(ConfigurationInterpolator.getDefaultPrefixLookups()); + interpolator.addDefaultLookup(lookups.get("sys")); + rootConfiguration.setInterpolator(interpolator); + + FileHandler xmlHandler = new FileHandler(rootConfiguration); + xmlHandler.load(new File(brokerConfigFilePath)); + +// Parameters params = new Parameters(); +// FileBasedConfigurationBuilder builder = +// new FileBasedConfigurationBuilder<>(XMLConfiguration.class) +// .configure(params.xml() +// .setFileName(brokerConfigFilePath) +// .setThrowExceptionOnMissing(true) +// .setValidating(false) +// .setListDelimiterHandler(new DisabledListDelimiterHandler())); +// XMLConfiguration rootConfiguration = builder.getConfiguration(); + + compositeConfiguration = new CompositeConfiguration(); + //rootConfiguration.load(); compositeConfiguration.addConfiguration(rootConfiguration); //Decrypt and maintain secure vault property values in a map for cross-reference. @@ -223,6 +241,9 @@ public static void initialize(int portOffset) throws AndesException { String error = "Error occurred when trying to process cipher text in file : " + brokerConfigFilePath; log.error(error, e); throw new AndesException(error, e); + } catch (Throwable e) { + //log.error(e); + throw new AndesException("Error", e); } } diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/ServerConfiguration.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/ServerConfiguration.java index c9e955970..ce9c83d56 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/ServerConfiguration.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/ServerConfiguration.java @@ -22,9 +22,11 @@ import org.apache.commons.configuration2.Configuration; import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder; import org.apache.commons.configuration2.builder.fluent.Parameters; +import org.apache.commons.configuration2.convert.DisabledListDelimiterHandler; import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.commons.configuration2.interpol.ConfigurationInterpolator; import org.apache.commons.configuration2.interpol.Lookup; +import org.apache.commons.configuration2.io.FileHandler; import org.apache.commons.configuration2.tree.MergeCombiner; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -289,20 +291,35 @@ private static org.apache.commons.configuration2.Configuration parseConfig(File Configuration conf = null; if (ConfigType.XML.equals(getConfigType(file))) { - FileBasedConfigurationBuilder factory = new FileBasedConfigurationBuilder<>( - XMLConfiguration.class).configure(params.xml().setFile(file).setThrowExceptionOnMissing(true) - .setValidating(false)); // disable DTD validation if not needed - conf = factory.getConfiguration(); + XMLConfiguration rootConfiguration = new XMLConfiguration(); + rootConfiguration.setListDelimiterHandler(new DisabledListDelimiterHandler()); + FileHandler xmlHandler = new FileHandler(rootConfiguration); + xmlHandler.load(file); + conf = rootConfiguration; +// FileBasedConfigurationBuilder factory = new FileBasedConfigurationBuilder<>( +// XMLConfiguration.class).configure(params.xml().setFile(file).setThrowExceptionOnMissing(true) +// .setValidating(false)); // disable DTD validation if not needed +// conf = factory.getConfiguration(); } else if (ConfigType.PROPERTIES.equals(getConfigType(file))) { - FileBasedConfigurationBuilder factory = new FileBasedConfigurationBuilder<>( - PropertiesConfiguration.class).configure(params.xml().setFile(file).setThrowExceptionOnMissing(true) - .setValidating(false)); - conf = factory.getConfiguration(); + PropertiesConfiguration propertiesConfiguration = new PropertiesConfiguration(); + propertiesConfiguration.setListDelimiterHandler(new DisabledListDelimiterHandler()); + FileHandler propHandler = new FileHandler(propertiesConfiguration); + propHandler.load(file); + conf = propertiesConfiguration; +// FileBasedConfigurationBuilder factory = new FileBasedConfigurationBuilder<>( +// PropertiesConfiguration.class).configure(params.xml().setFile(file).setThrowExceptionOnMissing(true) +// .setValidating(false)); +// conf = factory.getConfiguration(); } else if (ConfigType.INI.equals(getConfigType(file))) { - FileBasedConfigurationBuilder factory = new FileBasedConfigurationBuilder<>( - INIConfiguration.class).configure(params.xml().setFile(file).setThrowExceptionOnMissing(true) - .setValidating(false)); - conf = factory.getConfiguration(); + INIConfiguration iniConfiguration = new INIConfiguration(); + iniConfiguration.setListDelimiterHandler(new DisabledListDelimiterHandler()); + FileHandler fileHandler = new FileHandler(iniConfiguration); + fileHandler.load(file); + conf = iniConfiguration; +// FileBasedConfigurationBuilder factory = new FileBasedConfigurationBuilder<>( +// INIConfiguration.class).configure(params.xml().setFile(file).setThrowExceptionOnMissing(true) +// .setValidating(false)); +// conf = factory.getConfiguration(); } if (conf != null) { @@ -398,21 +415,27 @@ public String interpolate(String obj) { } public static org.apache.commons.configuration2.Configuration flatConfig(File file) throws ConfigurationException { - Parameters params = new Parameters(); + //Parameters params = new Parameters(); final CombinedConfiguration conf = new CombinedConfiguration(new MergeCombiner()); SystemConfiguration systemConfig = new SystemConfiguration(); conf.addConfiguration(systemConfig); - FileBasedConfigurationBuilder xmlBuilder = - new FileBasedConfigurationBuilder<>(XMLConfiguration.class) - .configure(params.xml() - .setFile(file) - .setThrowExceptionOnMissing(true) - .setValidating(false)); - - conf.addConfiguration(xmlBuilder.getConfiguration()); + XMLConfiguration rootConfiguration = new XMLConfiguration(); + rootConfiguration.setListDelimiterHandler(new DisabledListDelimiterHandler()); + FileHandler xmlHandler = new FileHandler(rootConfiguration); + xmlHandler.load(file); + +// FileBasedConfigurationBuilder xmlBuilder = +// new FileBasedConfigurationBuilder<>(XMLConfiguration.class) +// .configure(params.xml() +// .setFile(file) +// .setThrowExceptionOnMissing(true) +// .setValidating(false)); +// +// conf.addConfiguration(xmlBuilder.getConfiguration()); + conf.addConfiguration(rootConfiguration); ConfigurationInterpolator interpolator = new ConfigurationInterpolator(); diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/Broker.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/Broker.java index 50b7041d3..640db337d 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/Broker.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/Broker.java @@ -51,9 +51,13 @@ import javax.management.JMException; import java.io.File; +import java.io.IOException; +import java.io.InputStream; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.UnknownHostException; +import java.nio.file.Files; +import java.nio.file.Paths; import java.util.EnumSet; import java.util.HashSet; import java.util.List; @@ -263,7 +267,7 @@ private void startupImpl(final BrokerOptions options) throws AndesException { File configFile; configFile = getConfigFile(options.getConfigFile(), - BrokerOptions.DEFAULT_ANDES_CONFIG_FILE, qpidHome, true); + org.wso2.andes.server.BrokerOptions.DEFAULT_ANDES_CONFIG_FILE, qpidHome, true); log.info("Starting Qpid using configuration : " + configFile.getAbsolutePath()); @@ -275,7 +279,12 @@ private void startupImpl(final BrokerOptions options) throws AndesException { ConfigurationFileApplicationRegistry config = new ConfigurationFileApplicationRegistry(configFile); ServerConfiguration serverConfig = config.getConfiguration(); updateManagementPort(serverConfig, options.getJmxPort()); - + try { + String lines = new String(Files.readAllBytes(Paths.get(configFile.getAbsolutePath()))); + System.out.println(lines); + } catch (IOException e) { + e.printStackTrace(); + } ApplicationRegistry.initialise(config); // We have already loaded the BrokerMessages class by this point so we diff --git a/modules/andes-core/pom.xml b/modules/andes-core/pom.xml index bb9a39647..1e621a4c2 100644 --- a/modules/andes-core/pom.xml +++ b/modules/andes-core/pom.xml @@ -65,6 +65,10 @@ org.apache.commons commons-configuration2 + + jakarta.servlet + jakarta.servlet-api + commons-jxpath commons-jxpath @@ -310,6 +314,10 @@ com.h2database h2 + + org.apache.commons + commons-text + org.wso2.carbon org.wso2.carbon.core diff --git a/modules/andes-core/systests/src/main/java/org/wso2/andes/test/utils/QpidBrokerTestCase.java b/modules/andes-core/systests/src/main/java/org/wso2/andes/test/utils/QpidBrokerTestCase.java index f79fd0137..20bc01b47 100644 --- a/modules/andes-core/systests/src/main/java/org/wso2/andes/test/utils/QpidBrokerTestCase.java +++ b/modules/andes-core/systests/src/main/java/org/wso2/andes/test/utils/QpidBrokerTestCase.java @@ -51,8 +51,10 @@ import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder; import org.apache.commons.configuration2.builder.fluent.Parameters; +import org.apache.commons.configuration2.convert.DisabledListDelimiterHandler; import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.commons.configuration2.XMLConfiguration; +import org.apache.commons.configuration2.io.FileHandler; import org.apache.commons.lang.StringUtils; import org.apache.logging.log4j.Level; import org.apache.logging.log4j.Logger; @@ -666,18 +668,26 @@ protected void saveTestConfiguration() throws ConfigurationException // Specifiy the test config file String testConfig = getTestConfigFile(); setSystemProperty("test.config", testConfig); - Parameters params = new Parameters(); - FileBasedConfigurationBuilder builder = - new FileBasedConfigurationBuilder<>(XMLConfiguration.class) - .configure(params.xml().setFile(new File(testConfig))); - _testConfiguration = builder.getConfiguration(); + + XMLConfiguration rootConfiguration = new XMLConfiguration(); + rootConfiguration.setListDelimiterHandler(new DisabledListDelimiterHandler()); + FileHandler xmlHandler = new FileHandler(rootConfiguration); + File file = new File(testConfig); + xmlHandler.load(file); + _testConfiguration = rootConfiguration; +// Parameters params = new Parameters(); +// FileBasedConfigurationBuilder builder = +// new FileBasedConfigurationBuilder<>(XMLConfiguration.class) +// .configure(params.xml().setFile(new File(testConfig))); +// _testConfiguration = builder.getConfiguration(); // Create the file if configuration does not exist if (_testConfiguration.isEmpty()) { _testConfiguration.addProperty("__ignore", "true"); } - builder.save(); + xmlHandler.save(file); + //builder.save(); //_testConfiguration.save(testConfig); } @@ -686,17 +696,24 @@ protected void saveTestVirtualhosts() throws ConfigurationException // Specifiy the test virtualhosts file String testVirtualhosts = getTestVirtualhostsFile(); setSystemProperty("test.virtualhosts", testVirtualhosts); - Parameters params = new Parameters(); - FileBasedConfigurationBuilder builder = - new FileBasedConfigurationBuilder<>(XMLConfiguration.class) - .configure(params.xml().setFile(new File(testVirtualhosts))); - _testVirtualhosts = builder.getConfiguration(); + XMLConfiguration rootConfiguration = new XMLConfiguration(); + rootConfiguration.setListDelimiterHandler(new DisabledListDelimiterHandler()); + FileHandler xmlHandler = new FileHandler(rootConfiguration); + File file = new File(testVirtualhosts); + xmlHandler.load(file); + _testVirtualhosts = rootConfiguration; +// Parameters params = new Parameters(); +// FileBasedConfigurationBuilder builder = +// new FileBasedConfigurationBuilder<>(XMLConfiguration.class) +// .configure(params.xml().setFile(new File(testVirtualhosts))); +// _testVirtualhosts = builder.getConfiguration(); // Create the file if configuration does not exist if (_testVirtualhosts.isEmpty()) { _testVirtualhosts.addProperty("__ignore", "true"); } - builder.save(); + xmlHandler.save(file); + //builder.save(); //_testVirtualhosts.save(testVirtualhosts); } diff --git a/modules/orbit/andes/pom.xml b/modules/orbit/andes/pom.xml index aae4151db..e4323ab95 100644 --- a/modules/orbit/andes/pom.xml +++ b/modules/orbit/andes/pom.xml @@ -66,8 +66,16 @@ org.apache.commons commons-configuration2 + + + jakarta.servlet + jakarta.servlet-api true + + org.apache.commons + commons-text + org.apache.geronimo.specs.wso2 geronimo-jms_1.1_spec @@ -152,8 +160,8 @@ !org.apache.log4j.xml.*, org.wso2.andes.wso2.service.*, org.apache.derby.jdbc, - org.apache.commons.configuration2.*, org.apache.commons.jxpath.*, + jakarta.servlet.*, org.fusesource.hawtbuf.*, org.fusesource.hawtdb*, org.wso2.andes.*;-split-package:=merge-last, @@ -166,9 +174,12 @@ !org.wso2.andes.*, !org.apache.derby.*, org.apache.thrift.*;version="[0.9.wso2v1,1.0)", + org.apache.commons.configuration2.*;version="[2.12,3)", org.apache.commons.cli.*;version="1.2", org.apache.commons.lang.*;version="2.3", + jakarta.servlet.*, org.apache.commons.logging.*, + org.apache.commons.text.*;version="1.9", com.google.common.base;version="19.0.0", com.google.common.util.concurrent;version="19.0.0", com.google.common.cache;version="19.0.0", diff --git a/pom.xml b/pom.xml index 4ee152bbb..475b28638 100644 --- a/pom.xml +++ b/pom.xml @@ -356,6 +356,16 @@ javax.servlet-api ${javax.servlet-api.version} + + org.apache.commons + commons-text + ${commons.text.version} + + + jakarta.servlet + jakarta.servlet-api + ${jakarta.servlet.api.version} + org.slf4j slf4j-api @@ -629,6 +639,7 @@ 1.7.21 0.9 3.2 + 1.9 1.5 2.7.0 1.8.1 @@ -638,6 +649,7 @@ 1.3.7 0.16.0.wso2v1 1.2.140 + 5.0.0 5.5.15 5.5.15 5.1.31 From 5ae9a92be0e42f871f607188c95bc025fd777300 Mon Sep 17 00:00:00 2001 From: BLasan Date: Tue, 26 Aug 2025 11:19:22 +0530 Subject: [PATCH 4/4] Fix: Lookup Issue in Configurations --- .../access/plugins/FirewallConfiguration.java | 19 ++++++ .../security/access/FirewallPluginTest.java | 19 ++++++ .../AndesConfigurationManager.java | 29 ++++++++- .../qpid/ServerConfiguration.java | 62 ++++++++++++++----- .../server/registry/ApplicationRegistry.java | 8 ++- .../andes/test/utils/QpidBrokerTestCase.java | 32 ++++++++++ modules/orbit/andes/pom.xml | 3 +- 7 files changed, 152 insertions(+), 20 deletions(-) diff --git a/modules/andes-core/broker-plugins/firewall/src/main/java/org/wso2/andes/server/security/access/plugins/FirewallConfiguration.java b/modules/andes-core/broker-plugins/firewall/src/main/java/org/wso2/andes/server/security/access/plugins/FirewallConfiguration.java index bfd6c19ce..2f4014c5b 100644 --- a/modules/andes-core/broker-plugins/firewall/src/main/java/org/wso2/andes/server/security/access/plugins/FirewallConfiguration.java +++ b/modules/andes-core/broker-plugins/firewall/src/main/java/org/wso2/andes/server/security/access/plugins/FirewallConfiguration.java @@ -22,7 +22,9 @@ import java.io.File; import java.util.Arrays; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.apache.commons.configuration2.CompositeConfiguration; import org.apache.commons.configuration2.Configuration; @@ -31,6 +33,8 @@ import org.apache.commons.configuration2.convert.DisabledListDelimiterHandler; import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.commons.configuration2.XMLConfiguration; +import org.apache.commons.configuration2.interpol.ConfigurationInterpolator; +import org.apache.commons.configuration2.interpol.Lookup; import org.apache.commons.configuration2.io.FileHandler; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPlugin; import org.wso2.andes.configuration.qpid.plugins.ConfigurationPluginFactory; @@ -97,6 +101,21 @@ public void validateConfiguration() throws ConfigurationException { XMLConfiguration rootConfiguration = new XMLConfiguration(); rootConfiguration.setListDelimiterHandler(new DisabledListDelimiterHandler()); + ConfigurationInterpolator interpolator = rootConfiguration.getInterpolator(); + Map lookups = new HashMap<>(ConfigurationInterpolator.getDefaultPrefixLookups()); + interpolator.addDefaultLookup(lookups.get("sys")); + interpolator.registerLookup("", new Lookup() { + @Override + public Object lookup(String key) { + String value = System.getProperty(key); + if (value != null) { + return value; + } + value = System.getenv(key); + return value; + } + }); + rootConfiguration.setInterpolator(interpolator); FileHandler xmlHandler = new FileHandler(rootConfiguration); xmlHandler.load((new File((String) subFile))); _finalConfig.addConfiguration(rootConfiguration); diff --git a/modules/andes-core/broker-plugins/firewall/src/test/java/org/wso2/andes/server/security/access/FirewallPluginTest.java b/modules/andes-core/broker-plugins/firewall/src/test/java/org/wso2/andes/server/security/access/FirewallPluginTest.java index 980a480f4..c30207a07 100644 --- a/modules/andes-core/broker-plugins/firewall/src/test/java/org/wso2/andes/server/security/access/FirewallPluginTest.java +++ b/modules/andes-core/broker-plugins/firewall/src/test/java/org/wso2/andes/server/security/access/FirewallPluginTest.java @@ -24,12 +24,16 @@ import java.io.IOException; import java.net.InetSocketAddress; import java.net.SocketAddress; +import java.util.HashMap; +import java.util.Map; import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder; import org.apache.commons.configuration2.builder.fluent.Parameters; import org.apache.commons.configuration2.convert.DisabledListDelimiterHandler; import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.commons.configuration2.XMLConfiguration; +import org.apache.commons.configuration2.interpol.ConfigurationInterpolator; +import org.apache.commons.configuration2.interpol.Lookup; import org.apache.commons.configuration2.io.FileHandler; import org.wso2.andes.configuration.qpid.ServerConfiguration; import org.wso2.andes.server.registry.ApplicationRegistry; @@ -130,6 +134,21 @@ private Firewall initialisePlugin(String defaultAction, RuleInfo[] rules) throws FirewallConfiguration config = new FirewallConfiguration(); XMLConfiguration rootConfiguration = new XMLConfiguration(); rootConfiguration.setListDelimiterHandler(new DisabledListDelimiterHandler()); + ConfigurationInterpolator interpolator = rootConfiguration.getInterpolator(); + Map lookups = new HashMap<>(ConfigurationInterpolator.getDefaultPrefixLookups()); + interpolator.addDefaultLookup(lookups.get("sys")); + interpolator.registerLookup("", new Lookup() { + @Override + public Object lookup(String key) { + String value = System.getProperty(key); + if (value != null) { + return value; + } + value = System.getenv(key); + return value; + } + }); + rootConfiguration.setInterpolator(interpolator); FileHandler xmlHandler = new FileHandler(rootConfiguration); xmlHandler.load(confFile); diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/AndesConfigurationManager.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/AndesConfigurationManager.java index 7f106e0d1..c6c3c0140 100644 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/AndesConfigurationManager.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/AndesConfigurationManager.java @@ -184,9 +184,36 @@ public static void initialize(int portOffset) throws AndesException { rootConfiguration.setListDelimiterHandler(new DisabledListDelimiterHandler()); // Custom interpolator to ensure system properties are available - ConfigurationInterpolator interpolator = new ConfigurationInterpolator(); + ConfigurationInterpolator interpolator = rootConfiguration.getInterpolator(); +// interpolator.registerLookup("", key -> { +// // Lookup order: system properties first, then default map +// String value = System.getProperty(key); +// if (value != null) { +// return value; +// } +// // Example default values +// Map defaults = new HashMap<>(); +// defaults.put("brokerHome", "/opt/broker"); +// defaults.put("workDir", "/tmp/broker-work"); +// return defaults.get(key); +// }); Map lookups = new HashMap<>(ConfigurationInterpolator.getDefaultPrefixLookups()); interpolator.addDefaultLookup(lookups.get("sys")); + interpolator.registerLookup("", new Lookup() { + @Override + public Object lookup(String key) { + String value = System.getProperty(key); + if (value != null) { + return value; + } + value = System.getenv(key); + // // Default values + // Map defaults = new HashMap<>(); + // defaults.put("brokerHome", "/opt/broker"); + // defaults.put("workDir", "/tmp/broker-work"); + return value; + } + }); rootConfiguration.setInterpolator(interpolator); FileHandler xmlHandler = new FileHandler(rootConfiguration); diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/ServerConfiguration.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/ServerConfiguration.java index ce9c83d56..9e63982b7 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/ServerConfiguration.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/configuration/qpid/ServerConfiguration.java @@ -293,6 +293,21 @@ private static org.apache.commons.configuration2.Configuration parseConfig(File if (ConfigType.XML.equals(getConfigType(file))) { XMLConfiguration rootConfiguration = new XMLConfiguration(); rootConfiguration.setListDelimiterHandler(new DisabledListDelimiterHandler()); + ConfigurationInterpolator interpolator = rootConfiguration.getInterpolator(); + Map lookups = new HashMap<>(ConfigurationInterpolator.getDefaultPrefixLookups()); + interpolator.addDefaultLookup(lookups.get("sys")); + interpolator.registerLookup("", new Lookup() { + @Override + public Object lookup(String key) { + String value = System.getProperty(key); + if (value != null) { + return value; + } + value = System.getenv(key); + return value; + } + }); + rootConfiguration.setInterpolator(interpolator); FileHandler xmlHandler = new FileHandler(rootConfiguration); xmlHandler.load(file); conf = rootConfiguration; @@ -424,6 +439,21 @@ public static org.apache.commons.configuration2.Configuration flatConfig(File fi XMLConfiguration rootConfiguration = new XMLConfiguration(); rootConfiguration.setListDelimiterHandler(new DisabledListDelimiterHandler()); + ConfigurationInterpolator interpolator = rootConfiguration.getInterpolator(); + Map lookups = new HashMap<>(ConfigurationInterpolator.getDefaultPrefixLookups()); + interpolator.addDefaultLookup(lookups.get("sys")); + interpolator.registerLookup("", new Lookup() { + @Override + public Object lookup(String key) { + String value = System.getProperty(key); + if (value != null) { + return value; + } + value = System.getenv(key); + return value; + } + }); + rootConfiguration.setInterpolator(interpolator); FileHandler xmlHandler = new FileHandler(rootConfiguration); xmlHandler.load(file); @@ -437,22 +467,22 @@ public static org.apache.commons.configuration2.Configuration flatConfig(File fi // conf.addConfiguration(xmlBuilder.getConfiguration()); conf.addConfiguration(rootConfiguration); - ConfigurationInterpolator interpolator = new ConfigurationInterpolator(); - - // Register a custom lookup for the default (unprefixed) lookup by adding a "" prefix - interpolator.registerLookup("", new Lookup() { - @Override - public String lookup(String key) { - return conf.getString(key); - } - }); - - // Add the default prefix lookups too (env, sys, etc.) - Map prefixLookups = new HashMap<>(ConfigurationInterpolator.getDefaultPrefixLookups()); - for (Map.Entry entry : prefixLookups.entrySet()) { - interpolator.registerLookup(entry.getKey(), entry.getValue()); - } - conf.setInterpolator(interpolator); +// ConfigurationInterpolator interpolator = new ConfigurationInterpolator(); +// +// // Register a custom lookup for the default (unprefixed) lookup by adding a "" prefix +// interpolator.registerLookup("", new Lookup() { +// @Override +// public String lookup(String key) { +// return conf.getString(key); +// } +// }); +// +// // Add the default prefix lookups too (env, sys, etc.) +// Map prefixLookups = new HashMap<>(ConfigurationInterpolator.getDefaultPrefixLookups()); +// for (Map.Entry entry : prefixLookups.entrySet()) { +// interpolator.registerLookup(entry.getKey(), entry.getValue()); +// } +// conf.setInterpolator(interpolator); return conf; } diff --git a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/registry/ApplicationRegistry.java b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/registry/ApplicationRegistry.java index 73c3ec854..dc775f14b 100755 --- a/modules/andes-core/broker/src/main/java/org/wso2/andes/server/registry/ApplicationRegistry.java +++ b/modules/andes-core/broker/src/main/java/org/wso2/andes/server/registry/ApplicationRegistry.java @@ -24,6 +24,10 @@ import org.wso2.andes.common.Closeable; import org.wso2.andes.common.QpidProperties; import org.wso2.andes.configuration.qpid.*; +import org.wso2.andes.configuration.qpid.BrokerConfig; +import org.wso2.andes.configuration.qpid.ConfigStore; +import org.wso2.andes.configuration.qpid.SystemConfig; +import org.wso2.andes.configuration.qpid.SystemConfigImpl; import org.wso2.andes.qmf.QMFService; import org.wso2.andes.configuration.qpid.*; import org.wso2.andes.server.logging.CompositeStartupMessageLogger; @@ -118,7 +122,7 @@ public static Thread getShutdownHook() { return _shutdownHook; } - public static void initialise(IApplicationRegistry instance) throws Exception + public static void initialise(org.wso2.andes.server.registry.IApplicationRegistry instance) throws Exception { if(instance == null) { @@ -137,7 +141,7 @@ public static void initialise(IApplicationRegistry instance) throws Exception store.setRoot(new SystemConfigImpl(store)); instance.setConfigStore(store); - BrokerConfig broker = new BrokerConfigAdapter(instance); + BrokerConfig broker = new org.wso2.andes.server.registry.BrokerConfigAdapter(instance); SystemConfig system = (SystemConfig) store.getRoot(); system.addBroker(broker); diff --git a/modules/andes-core/systests/src/main/java/org/wso2/andes/test/utils/QpidBrokerTestCase.java b/modules/andes-core/systests/src/main/java/org/wso2/andes/test/utils/QpidBrokerTestCase.java index 20bc01b47..299c603f9 100644 --- a/modules/andes-core/systests/src/main/java/org/wso2/andes/test/utils/QpidBrokerTestCase.java +++ b/modules/andes-core/systests/src/main/java/org/wso2/andes/test/utils/QpidBrokerTestCase.java @@ -54,6 +54,8 @@ import org.apache.commons.configuration2.convert.DisabledListDelimiterHandler; import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.commons.configuration2.XMLConfiguration; +import org.apache.commons.configuration2.interpol.ConfigurationInterpolator; +import org.apache.commons.configuration2.interpol.Lookup; import org.apache.commons.configuration2.io.FileHandler; import org.apache.commons.lang.StringUtils; import org.apache.logging.log4j.Level; @@ -671,6 +673,21 @@ protected void saveTestConfiguration() throws ConfigurationException XMLConfiguration rootConfiguration = new XMLConfiguration(); rootConfiguration.setListDelimiterHandler(new DisabledListDelimiterHandler()); + ConfigurationInterpolator interpolator = rootConfiguration.getInterpolator(); + Map lookups = new HashMap<>(ConfigurationInterpolator.getDefaultPrefixLookups()); + interpolator.addDefaultLookup(lookups.get("sys")); + interpolator.registerLookup("", new Lookup() { + @Override + public Object lookup(String key) { + String value = System.getProperty(key); + if (value != null) { + return value; + } + value = System.getenv(key); + return value; + } + }); + rootConfiguration.setInterpolator(interpolator); FileHandler xmlHandler = new FileHandler(rootConfiguration); File file = new File(testConfig); xmlHandler.load(file); @@ -698,6 +715,21 @@ protected void saveTestVirtualhosts() throws ConfigurationException setSystemProperty("test.virtualhosts", testVirtualhosts); XMLConfiguration rootConfiguration = new XMLConfiguration(); rootConfiguration.setListDelimiterHandler(new DisabledListDelimiterHandler()); + ConfigurationInterpolator interpolator = rootConfiguration.getInterpolator(); + Map lookups = new HashMap<>(ConfigurationInterpolator.getDefaultPrefixLookups()); + interpolator.addDefaultLookup(lookups.get("sys")); + interpolator.registerLookup("", new Lookup() { + @Override + public Object lookup(String key) { + String value = System.getProperty(key); + if (value != null) { + return value; + } + value = System.getenv(key); + return value; + } + }); + rootConfiguration.setInterpolator(interpolator); FileHandler xmlHandler = new FileHandler(rootConfiguration); File file = new File(testVirtualhosts); xmlHandler.load(file); diff --git a/modules/orbit/andes/pom.xml b/modules/orbit/andes/pom.xml index e4323ab95..1c02f092e 100644 --- a/modules/orbit/andes/pom.xml +++ b/modules/orbit/andes/pom.xml @@ -160,6 +160,7 @@ !org.apache.log4j.xml.*, org.wso2.andes.wso2.service.*, org.apache.derby.jdbc, + org.apache.commons.configuration2.*, org.apache.commons.jxpath.*, jakarta.servlet.*, org.fusesource.hawtbuf.*, @@ -174,7 +175,7 @@ !org.wso2.andes.*, !org.apache.derby.*, org.apache.thrift.*;version="[0.9.wso2v1,1.0)", - org.apache.commons.configuration2.*;version="[2.12,3)", + org.apache.commons.cli.*;version="1.2", org.apache.commons.lang.*;version="2.3", jakarta.servlet.*,