public void run() { try { in = new BufferedReader(new InputStreamReader(socket.getInputStream())); while (true) { String message = in.readLine(); if (message == null) continue; out = new PrintWriter(socket.getOutputStream(), true); switch (message) { case "quit": out.println("Bye!"); System.out.println("Quit"); socket.close(); return; case "send": ObjectInputStream objectIS = new ObjectInputStream(socket.getInputStream()); Properties properties = (Properties) objectIS.readObject(); BuildCarModelOptions bulidCarModelOptions = new BuildCarModelOptions(); Automobile auto = bulidCarModelOptions.buildAutoOptions(properties); System.out.println("Receive Automobile " + auto.getModel()); out.println("Automobile created successfully."); break; case "list": AutoServer autoServer = new BuildAuto(); out.println(autoServer.listAutomobiles()); out.println(""); System.out.println("Return list of Automobiles:\n" + autoServer.listAutomobiles()); break; case "config": String modelName = in.readLine(); BuildAuto buildAuto = new BuildAuto(); Automobile automobile = buildAuto.getInstace(modelName); ObjectOutputStream objectOS = new ObjectOutputStream(socket.getOutputStream()); objectOS.writeObject(automobile); System.out.println("Return Automobile " + automobile.getModel()); break; } } } catch (IOException e) { System.err.println("Could not listen on port: " + socket.getPort()); System.exit(1); } catch (ClassNotFoundException e) { e.printStackTrace(); System.exit(1); } }
@Override public Automobile getModelByRequest(String name) { AutoServer s = new BuildAuto(); return s.getModelByRequest(name); }
@Override public ArrayList<String> getModelList() { AutoServer s = new BuildAuto(); return s.getModelList(); }
@Override public void buildAutoFromProperties(Properties prop) { AutoServer s = new BuildAuto(); s.buildAutoFromProperties(prop); }