Added new Class to generate and remove a certain number of nodes randomly

This commit is contained in:
Denis 2012-11-29 17:48:13 +01:00
parent 1a61fdab0e
commit 7c9396d62e

View File

@ -0,0 +1,72 @@
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Random;
import java.util.logging.LogManager;
import node.Node;
public class RandomGenerator {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
ArrayList<Node> nodes = new ArrayList<Node>();
Random gen = new Random();
System.setProperty("java.util.logging.config.file",
"logging.properties");
nodes.add(new Node());
try {
LogManager.getLogManager().readConfiguration();
} catch (Exception e) {
e.printStackTrace();
}
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String s;
while ((s = in.readLine()) != null && s.length() != 0) {
String[] splitted = s.split(" ");
String cmd = splitted[0];
int number = Integer.valueOf(splitted[1]);
switch (cmd) {
case "br":
nodes.get(number).gatherInformationOfNetwork();
break;
case "populate":
for (int i = 0; i < number; i++) {
Node newNode = nodes.get(gen.nextInt(nodes.size())).spawn();
nodes.add(newNode);
}
break;
case "remove":
if(number < nodes.size()){
for (int i = 0; i < number; i++) {
int index = gen.nextInt(nodes.size());
nodes.get(index).leave();
nodes.remove(index);
}
} else {
System.out.println("Can't remove that many nodes.");
}
break;
case "status":
System.out.println(nodes.get(number));
break;
default:
System.out.println("Unknown command.");
break;
}
System.out.println("Length of the List: " + nodes.size());
}
}
}