You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2010/05/31 18:08:02 UTC

svn commit: r949788 - in /qpid/trunk/qpid/java/broker/src: main/java/org/apache/qpid/server/configuration/ServerConfiguration.java test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java

Author: robbie
Date: Mon May 31 16:08:02 2010
New Revision: 949788

URL: http://svn.apache.org/viewvc?rev=949788&view=rev
Log:
QPID-2624: Check whether virtualhosts configuration file exists

Applied patch from Andrew Kennedy <an...@gmail.com>

Modified:
    qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
    qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java

Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java?rev=949788&r1=949787&r2=949788&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java (original)
+++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java Mon May 31 16:08:02 2010
@@ -244,6 +244,10 @@ public class ServerConfiguration extends
 	        {
 	            // Open the vhosts XML file and copy values from it to our config
                 _vhostsFile = new File(fileName);
+                if (!_vhostsFile.exists())
+                {
+                    throw new ConfigurationException("Virtualhosts file does not exist");
+                }
 	        	vhostConfiguration = parseConfig(new File(fileName));
 
                 // save the default virtualhost name

Modified: qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java?rev=949788&r1=949787&r2=949788&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java (original)
+++ qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java Mon May 31 16:08:02 2010
@@ -1494,4 +1494,33 @@ public class ServerConfigurationTest ext
         assertEquals("Incorrect virtualhost count", 1, config.getVirtualHosts().length);
         assertEquals("Incorrect virtualhost name", "test-one", oneHost.getName());
     }
+
+    /**
+     * Test that a non-existant virtualhost file throws a {@link ConfigurationException}.
+     * <p>
+     * Test for QPID-2624
+     */
+    public void testNonExistantVirtualhosts() throws Exception
+    {
+        // Write out combined config file
+        File mainFile = File.createTempFile(getClass().getName(), "main");
+        File vhostsFile = new File("doesnotexist");
+        mainFile.deleteOnExit();
+        writeConfigFile(mainFile, true, false, vhostsFile, null);
+
+        // Load config
+        try
+        {
+            ServerConfiguration config = new ServerConfiguration(mainFile.getAbsoluteFile());
+            config.initialise();
+        }
+        catch (ConfigurationException ce)
+        {
+            assertEquals("Virtualhosts file does not exist", ce.getMessage());
+        }
+        catch (Exception e)
+        {
+            fail("Should throw a ConfigurationException");
+        }
+    }
 }



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org