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]

Reply via email to