public static void main(String[] args) throws Exception { if (Config.getInstance().getValue("TYPE").equals("default")) { String[] receivers = Config.getInstance().getValue("RECEIVERS").split(","); String[] issuers = Config.getInstance().getValue("ISSUERS").split(","); // create clients List<Client> clients = new ArrayList<Client>(); for (int i = 0; i < Integer.parseInt(Config.getInstance().getValue("CLIENT_COUNT")); i++) { System.out.println("client added"); System.out.println(Integer.parseInt(Config.getInstance().getValue("CLIENT_COUNT"))); clients.add(new Client()); } // first receiver and issuer by now String[] receiver = receivers[0].split(":"); String[] issuer = issuers[0].split(":"); // send queries for (int i = 0; i < Integer.parseInt(Config.getInstance().getValue("QUERY_COUNT")); i++) { for (int j = 0; j < clients.size(); j++) { System.out.println("client " + j + " started"); PEASDoQueries thread = new PEASDoQueries( j, clients.get(j), receiver[0], Integer.parseInt(receiver[1]), issuer[0], Integer.parseInt(issuer[1]), Config.getInstance().getValue("QUERY")); thread.start(); } } } else if (Config.getInstance().getValue("TYPE").equals("onion")) { String[] nodes = Config.getInstance().getValue("NODES").split(","); List<Map<String, String>> servers = new ArrayList<Map<String, String>>(); // create clients List<OnionClient> clients = new ArrayList<OnionClient>(); for (int i = 0; i < Integer.parseInt(Config.getInstance().getValue("CLIENT_COUNT")); i++) { clients.add(new OnionClient()); } // read node addresses for (int i = 0; i < nodes.length; i++) { String[] host = nodes[i].split(":"); Map<String, String> node = new HashMap<String, String>(); node.put("hostname", host[0]); node.put("port", host[1]); servers.add(node); } // send queries for (int i = 0; i < Integer.parseInt(Config.getInstance().getValue("QUERY_COUNT")); i++) { for (int j = 0; j < clients.size(); j++) { OnionDoQueries thread = new OnionDoQueries( j, clients.get(j), servers, Config.getInstance().getValue("QUERY")); thread.start(); } } } }