From c6b4fecf45be71d32088e36929515a7580bcf704 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Tue, 21 Mar 2017 16:58:41 +0100 Subject: [PATCH] java examples: make it easier to run them from the cmdline or from eclipse --- examples/java/app/pingpong/Main.java | 4 +++- examples/java/cloud/masterworker/Main.java | 20 +++++++++++++------- examples/java/cloud/masterworker/Master.java | 8 ++++---- 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/examples/java/app/pingpong/Main.java b/examples/java/app/pingpong/Main.java index 31e4c701c3..baa07d8cc9 100644 --- a/examples/java/app/pingpong/Main.java +++ b/examples/java/app/pingpong/Main.java @@ -23,8 +23,10 @@ class Main { platfFile = args[0]; File f = new File(platfFile); - if (!f.exists()) + if (!f.exists()) { System.err.println("File "+platfFile+" does not exist in "+System.getProperty("user.dir")); + System.err.println("Usage : Main ../platforms/platform.xml"); + } Msg.createEnvironment(platfFile); new Sender("Jacquelin", "Sender", new String[] {"Boivin"}).start(); diff --git a/examples/java/cloud/masterworker/Main.java b/examples/java/cloud/masterworker/Main.java index b06f2b6aa7..e78204ced7 100644 --- a/examples/java/cloud/masterworker/Main.java +++ b/examples/java/cloud/masterworker/Main.java @@ -5,6 +5,8 @@ package cloud.masterworker; +import java.io.File; + import org.simgrid.msg.Msg; import org.simgrid.msg.Host; import org.simgrid.msg.MsgException; @@ -13,6 +15,7 @@ class Main { public static final double TASK_COMP_SIZE = 10; public static final double TASK_COMM_SIZE = 10; public static final int NHOSTS = 6; + public static final int NSTEPS = 50; private Main() { throw new IllegalAccessError("Utility class"); @@ -21,14 +24,17 @@ class Main { public static void main(String[] args) throws MsgException { Msg.init(args); - if (args.length < 1) { - Msg.info("Usage : Main platform_file"); - Msg.info("Usage : Main ../platforms/platform.xml"); - System.exit(1); + String platfFile = "../../examples/platforms/small_platform.xml"; + if (args.length >= 1) + platfFile = args[0]; + + File f = new File(platfFile); + if (!f.exists()) { + System.err.println("File "+platfFile+" does not exist in "+System.getProperty("user.dir")); + System.err.println("Usage : Main ../platforms/platform.xml"); } - - /* Construct the platform */ - Msg.createEnvironment(args[0]); + + Msg.createEnvironment(platfFile); Host[] hosts = Host.all(); if (hosts.length < NHOSTS+1) { Msg.info("I need at least "+ (NHOSTS+1) +" hosts in the platform file, but " + args[0] + " contains only " diff --git a/examples/java/cloud/masterworker/Master.java b/examples/java/cloud/masterworker/Master.java index a7bd389210..55e01cce22 100644 --- a/examples/java/cloud/masterworker/Master.java +++ b/examples/java/cloud/masterworker/Master.java @@ -25,7 +25,7 @@ public class Master extends Process { public void main(String[] args) throws MsgException { int workersCount = Main.NHOSTS; - for (int step = 1; step <= 50 ; step++) { + for (int step = 1; step <= Main.NSTEPS ; step++) { ArrayList vms = new ArrayList<>(); // Create one VM per host and bind a process inside each one. for (int i = 0; i < workersCount; i++) { @@ -69,9 +69,9 @@ public class Master extends Process { */ Msg.verb("Migrate everyone to "+hosts[3].getName()); - for (int i = 0; i < vms.size(); i++) { - Msg.verb("Migrate "+vms.get(i).getName()+" from "+hosts[i+1].getName()+"to "+hosts[3].getName()); - vms.get(i).migrate(hosts[3]); + for (VM vm : vms) { + Msg.verb("Migrate "+vm.getName()+" to "+hosts[3].getName()); + vm.migrate(hosts[3]); } Msg.verb("Let's kill everyone."); -- 2.20.1