summaryrefslogtreecommitdiff
path: root/qpid/java/broker
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2014-07-26 22:57:11 +0000
committerRobert Godfrey <rgodfrey@apache.org>2014-07-26 22:57:11 +0000
commitb71bbd227dfacaedaba411e908853b05e8fbd243 (patch)
tree34c186991ae516bef5e0322558aae4843a8545b2 /qpid/java/broker
parent151622bd91d7eb031498ff598a31a295af27799b (diff)
downloadqpid-python-b71bbd227dfacaedaba411e908853b05e8fbd243.tar.gz
QPID-5165 : Change the Broker stores to use the generic ConfigurationStore implementations and remove old EntryStore implementations
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1613739 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker')
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java58
-rw-r--r--qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java2
2 files changed, 56 insertions, 4 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
index 20b73e965c..72550128b7 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
@@ -21,6 +21,10 @@
package org.apache.qpid.server;
import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.MalformedURLException;
+import java.net.URL;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.HelpFormatter;
@@ -30,9 +34,11 @@ import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.apache.commons.cli.PosixParser;
import org.apache.log4j.Logger;
+
import org.apache.qpid.common.QpidProperties;
import org.apache.qpid.framing.ProtocolVersion;
-import org.apache.qpid.server.configuration.store.ConfigurationEntryStoreUtil;
+import org.apache.qpid.server.configuration.IllegalConfigurationException;
+import org.apache.qpid.util.FileUtils;
/**
* Main entry point for AMQPD.
@@ -189,8 +195,7 @@ public class Main
destinationFile = new File(System.getProperty("user.dir"), BrokerOptions.DEFAULT_INITIAL_CONFIG_NAME);
}
- ConfigurationEntryStoreUtil util = new ConfigurationEntryStoreUtil();
- util.copyInitialConfigFile(options.getInitialConfigurationLocation(), destinationFile);
+ copyInitialConfigFile(options, destinationFile);
System.out.println("Initial config written to: " + destinationFile.getAbsolutePath());
}
@@ -299,6 +304,53 @@ public class Main
}
}
+ private void copyInitialConfigFile(final BrokerOptions options, final File destinationFile)
+ {
+ String initialConfigLocation = options.getInitialConfigurationLocation();
+ URL url = null;
+ try
+ {
+ url = new URL(initialConfigLocation);
+ }
+ catch (MalformedURLException e)
+ {
+ File locationFile = new File(initialConfigLocation);
+ try
+ {
+ url = locationFile.toURI().toURL();
+ }
+ catch (MalformedURLException e1)
+ {
+ throw new IllegalConfigurationException("Cannot create URL for file " + locationFile, e1);
+ }
+ }
+ InputStream in = null;
+ try
+ {
+ in = url.openStream();
+ FileUtils.copy(in, destinationFile);
+ }
+ catch (IOException e)
+ {
+ throw new IllegalConfigurationException("Cannot create file " + destinationFile
+ + " by copying initial config from " + initialConfigLocation, e);
+ }
+ finally
+ {
+ if (in != null)
+ {
+ try
+ {
+ in.close();
+ }
+ catch (IOException e)
+ {
+ throw new IllegalConfigurationException("Cannot close initial config input stream: " + initialConfigLocation, e);
+ }
+ }
+ }
+ }
+
protected void setExceptionHandler()
{
Thread.UncaughtExceptionHandler handler = null;
diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java
index c6d68843b7..850fa993f5 100644
--- a/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java
+++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java
@@ -48,7 +48,7 @@ public class MainTest extends QpidTestCase
BrokerOptions options = startDummyMain("");
- assertEquals("json", options.getConfigurationStoreType());
+ assertEquals("JSON", options.getConfigurationStoreType());
assertEquals(expectedStorePath, options.getConfigurationStoreLocation());
assertEquals(expectedLogConfigPath, options.getLogConfigFileLocation());
assertEquals(0, options.getLogWatchFrequency());