From 7c9396d62e429e00e7fc4e0e334767ef4d978bd2 Mon Sep 17 00:00:00 2001 From: Denis Date: Thu, 29 Nov 2012 17:48:13 +0100 Subject: [PATCH] Added new Class to generate and remove a certain number of nodes randomly --- .../P2P/uebungen/4/src/RandomGenerator.java | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 ws2012/P2P/uebungen/4/src/RandomGenerator.java diff --git a/ws2012/P2P/uebungen/4/src/RandomGenerator.java b/ws2012/P2P/uebungen/4/src/RandomGenerator.java new file mode 100644 index 00000000..30497f7e --- /dev/null +++ b/ws2012/P2P/uebungen/4/src/RandomGenerator.java @@ -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 nodes = new ArrayList(); + 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()); + + } + } + +}