Author: orudyy
Date: Mon Feb 15 12:06:42 2016
New Revision: 1730499
URL: http://svn.apache.org/viewvc?rev=1730499&view=rev
Log:
QPID-7039: Throw an exception if resource overridden with JVM system property
'qpid.initialConfigurationLocation' does not exist
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/BrokerOptions.java
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/BrokerOptionsTest.java
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/BrokerOptions.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/BrokerOptions.java?rev=1730499&r1=1730498&r2=1730499&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/BrokerOptions.java
(original)
+++
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/BrokerOptions.java
Mon Feb 15 12:06:42 2016
@@ -21,6 +21,7 @@
package org.apache.qpid.server;
import java.io.File;
+import java.net.URL;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@@ -28,6 +29,7 @@ import java.util.concurrent.ConcurrentHa
import java.util.concurrent.ConcurrentMap;
import org.apache.qpid.server.configuration.BrokerProperties;
+import org.apache.qpid.server.configuration.IllegalConfigurationException;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.SystemConfig;
@@ -217,7 +219,13 @@ public class BrokerOptions
String overriddenDefaultConfigurationLocation =
System.getProperty("qpid.initialConfigurationLocation");
if (overriddenDefaultConfigurationLocation != null)
{
- return
BrokerOptions.class.getClassLoader().getResource(overriddenDefaultConfigurationLocation).toExternalForm();
+ URL resource =
BrokerOptions.class.getClassLoader().getResource(overriddenDefaultConfigurationLocation);
+ if (resource == null)
+ {
+ throw new IllegalArgumentException(String.format("Initial
configuration '%s' is not found",
+
overriddenDefaultConfigurationLocation));
+ }
+ return resource.toExternalForm();
}
return DEFAULT_INITIAL_CONFIG_LOCATION;
}
Modified:
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/BrokerOptionsTest.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/BrokerOptionsTest.java?rev=1730499&r1=1730498&r2=1730499&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/BrokerOptionsTest.java
(original)
+++
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/BrokerOptionsTest.java
Mon Feb 15 12:06:42 2016
@@ -88,6 +88,20 @@ public class BrokerOptionsTest extends Q
assertEquals(BrokerOptions.DEFAULT_INITIAL_CONFIG_LOCATION,
_options.getInitialConfigurationLocation());
}
+ public void
testInitialConfigurationLocationOverrideWithJVMSystemPropertyToNonExistingResource()
+ {
+ setTestSystemProperty("qpid.initialConfigurationLocation",
"non-existing");
+ try
+ {
+ _options.getInitialConfigurationLocation();
+ fail("IllegalArgumentException is expected");
+ }
+ catch(IllegalArgumentException e)
+ {
+ assertEquals("Initial configuration 'non-existing' is not found",
e.getMessage());
+ }
+ }
+
public void testOverriddenInitialConfigurationLocation()
{
final String testConfigFile = "etc/mytestconfig.json";
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]