예제 #1
0
 public void configureCar(Automotive car) {
   System.out.println("Configure the Car-\nPlease enter option choice.");
   Scanner read = new Scanner(System.in);
   ListIterator<String> it = car.getOptionSetNamesIterator();
   while (it.hasNext()) {
     String optionSetName = it.next().toString();
     System.out.println(optionSetName + ":");
     try {
       car.setOptionChoice(optionSetName, read.nextLine());
     } catch (InvalidOptionException e) {
       e.fixException();
     }
   }
   car.calculateFinalPrice();
   System.out.println("\nFinal Configuration-");
   car.printFinalConfig();
 }
예제 #2
0
  public void run() {

    Automotive car = null;

    try {
      clientSock = new Socket(address, portNo);
      oos = new ObjectOutputStream(clientSock.getOutputStream());
      iis = new ObjectInputStream(clientSock.getInputStream());

      while (!end) {
        int selection =
            Integer.parseInt(
                readFromConsole(
                    "Select-\n1. Upload a car configuration\n2. Configure a car\nPlease enter 1 or 2"));
        if (selection == 1) {

          // Take File Name as input
          String fileName = readFromConsole("Enter file name");

          // Read File and create Automotive object
          car = FileIO.readFile(fileName);

          // Send serialized Automotive object to Server
          sendOutput(car);

          // Read acknowledgment from Server
          System.out.println("\nServer:" + iis.readObject());

          // Continue or exit?
          exitPoll();
        } else if (selection == 2) {

          // Request model options from Server
          sendOutput("Get Options");

          // Read available model options sent by Server
          System.out.println("\nServer:Available Models" + iis.readObject());

          // Take selected model name as input
          String model = readFromConsole("Enter selected Model Name");

          // Send selected model name to server
          sendOutput("Model-" + model);

          // Read configuration options for Model selected from Server
          System.out.println("\nServer:");
          Object input = iis.readObject();

          if (input instanceof Automotive) {
            car = (Automotive) input;
            System.out.println("Configurable Options");
            car.printOptionsAvailable();
          }
          configureCar(car);
          exitPoll();
        } else {
          System.out.println("Invalid Selection");
          exitPoll();
        }
      }
    } catch (Exception e) {
      System.out.println(e.getMessage());
    } finally {
      try {
        clientSock.close();
      } catch (IOException e) {
        System.out.println(e.getMessage());
      }
    }
  }