import java.net.*; import java.io.*; import java.util.*; /** * Test class for data consumption over HTTP. Accepts a filter specification as * the first command line argument; either an interger (crisis ID) or a * json-formatted track filter (see communication standard for format). * * @author jrogstadius */ public class HttpConsumerClientTest { static Socket socket; static BufferedReader serverIn; static PrintWriter serverOut; static String host = "localhost"; static int port = 8766;//Config.HTTP_OUTPUT_PORT; static String filter = "{\"crisis_id\":37}"; // static String filter = // "{\"crisis_id\":1, \"filters\": [ {\"type\":\"attribute\", \"attribute_id\":1 },{\"type\":\"attribute\", \"attribute_id\":2 },{\"type\":\"attribute\", \"attribute_id\":3 } ]}"; public static void main(String[] args) throws UnknownHostException, IOException { if (args.length == 1) { int crisisID; try { crisisID = Integer.parseInt(args[0]); filter = "{\"crisis_id\":" + crisisID + "}"; } catch (NumberFormatException ex) { filter = args[0]; } } System.out.println("ClientTest"); filter = "{\"crisis_id\":37}"; listenSocket(); } public static void listenSocket() throws UnknownHostException, IOException { // Create socket connection socket = new Socket(host, port); System.out.println("connected"); serverOut = new PrintWriter(socket.getOutputStream(), true); serverIn = new BufferedReader(new InputStreamReader( socket.getInputStream())); serverOut.println(filter); getServerOutput(); socket.close(); } public static void getUserInput() { Scanner scanner = new Scanner(System.in); String line = ""; while (!(line = scanner.nextLine()).equals("exit")) { serverOut.println(line); } scanner.close(); } public static void getServerOutput() { String line; try { while ((line = serverIn.readLine()) != null) { System.out.println(line); } } catch (IOException e) { e.printStackTrace(); } } }