diff --git a/src/main/java/com/google/code/gossip/GossipRunner.java b/src/main/java/com/google/code/gossip/GossipRunner.java index 9149b94..e452f93 100644 --- a/src/main/java/com/google/code/gossip/GossipRunner.java +++ b/src/main/java/com/google/code/gossip/GossipRunner.java @@ -7,40 +7,41 @@ import java.io.IOException; import org.json.JSONException; public class GossipRunner { - private StartupSettings _settings; - - public static void main(String[] args) { - File configFile; - - if (args.length == 1) { - configFile = new File("./"+args[0]); - } else { - configFile = new File("gossip.conf"); - } - - new GossipRunner(configFile); - } - - public GossipRunner(File configFile) { - - if (configFile != null && configFile.exists()) { - try { - System.out.println("Parsing the configuration file..."); - _settings = StartupSettings.fromJSONFile(configFile); - GossipService gossipService = new GossipService(_settings); - System.out.println("Gossip service successfully inialized, let's start it..."); - gossipService.start(); - } catch (FileNotFoundException e) { - System.err.println("The given file is not found!"); - } catch (JSONException e) { - System.err.println("The given file is not in the correct JSON format!"); - } catch (IOException e) { - System.err.println("Could not read the configuration file: " + e.getMessage()); - } catch (InterruptedException e) { - System.err.println("Error while starting the gossip service: " + e.getMessage()); - } - } else { - System.out.println("The gossip.conf file is not found.\n\nEither specify the path to the startup settings file or place the gossip.json file in the same folder as the JAR file."); - } - } + private StartupSettings _settings; + + public static void main(String[] args) { + File configFile; + + if (args.length == 1) { + configFile = new File("./" + args[0]); + } else { + configFile = new File("gossip.conf"); + } + + new GossipRunner(configFile); + } + + public GossipRunner(File configFile) { + + if (configFile != null && configFile.exists()) { + try { + System.out.println("Parsing the configuration file..."); + _settings = StartupSettings.fromJSONFile(configFile); + GossipService gossipService = new GossipService(_settings); + System.out.println("Gossip service successfully inialized, let's start it..."); + gossipService.start(); + } catch (FileNotFoundException e) { + System.err.println("The given file is not found!"); + } catch (JSONException e) { + System.err.println("The given file is not in the correct JSON format!"); + } catch (IOException e) { + System.err.println("Could not read the configuration file: " + e.getMessage()); + } catch (InterruptedException e) { + System.err.println("Error while starting the gossip service: " + e.getMessage()); + } + } else { + System.out + .println("The gossip.conf file is not found.\n\nEither specify the path to the startup settings file or place the gossip.json file in the same folder as the JAR file."); + } + } } diff --git a/src/main/java/com/google/code/gossip/GossipService.java b/src/main/java/com/google/code/gossip/GossipService.java index 10ccf8b..00027bc 100644 --- a/src/main/java/com/google/code/gossip/GossipService.java +++ b/src/main/java/com/google/code/gossip/GossipService.java @@ -15,37 +15,45 @@ import com.google.code.gossip.manager.random.RandomGossipManager; * @author joshclemm, harmenw */ public class GossipService { - - public static final Logger LOGGER = Logger.getLogger(GossipService.class); - private GossipManager _gossipManager; - - /** - * Constructor with the default settings. - * @throws InterruptedException - * @throws UnknownHostException - */ - public GossipService(StartupSettings startupSettings) throws InterruptedException, UnknownHostException { - this(InetAddress.getLocalHost().getHostAddress(), startupSettings.getPort(), "", startupSettings.getLogLevel(), startupSettings.getGossipMembers(), startupSettings.getGossipSettings()); - } - /** - * Setup the client's lists, gossiping parameters, and parse the startup config file. - * @throws SocketException - * @throws InterruptedException - * @throws UnknownHostException - */ - public GossipService(String ipAddress, int port, String id, int logLevel, ArrayList gossipMembers, GossipSettings settings) throws InterruptedException, UnknownHostException { - _gossipManager = new RandomGossipManager(ipAddress, port, id, settings, gossipMembers); - } - - public void start() { - _gossipManager.start(); - } - - public void shutdown() { - _gossipManager.shutdown(); - } - + public static final Logger LOGGER = Logger.getLogger(GossipService.class); + + private GossipManager _gossipManager; + + /** + * Constructor with the default settings. + * + * @throws InterruptedException + * @throws UnknownHostException + */ + public GossipService(StartupSettings startupSettings) throws InterruptedException, + UnknownHostException { + this(InetAddress.getLocalHost().getHostAddress(), startupSettings.getPort(), "", + startupSettings.getLogLevel(), startupSettings.getGossipMembers(), startupSettings + .getGossipSettings()); + } + + /** + * Setup the client's lists, gossiping parameters, and parse the startup config file. + * + * @throws SocketException + * @throws InterruptedException + * @throws UnknownHostException + */ + public GossipService(String ipAddress, int port, String id, int logLevel, + ArrayList gossipMembers, GossipSettings settings) + throws InterruptedException, UnknownHostException { + _gossipManager = new RandomGossipManager(ipAddress, port, id, settings, gossipMembers); + } + + public void start() { + _gossipManager.start(); + } + + public void shutdown() { + _gossipManager.shutdown(); + } + public GossipManager get_gossipManager() { return _gossipManager; } @@ -53,6 +61,5 @@ public class GossipService { public void set_gossipManager(GossipManager _gossipManager) { this._gossipManager = _gossipManager; } - - + }