Search in sources :

Example 1 with CommandInterpreter

use of execute.CommandInterpreter in project Lab5 by Arslanka.

the class Application method startInteractiveMode.

public void startInteractiveMode() {
    try {
        String fileName = this.fileName[0];
        final File file = new File(fileName.trim());
        final TextFile textFile = new TextFile(file);
        final JsonFile jsonFile = new JsonFile(textFile);
        collection.add(jsonFile.read());
        CommandInterpreter commandInterpreter = new CommandInterpreter(this.commandsByName, supplierMap, this.printer, requestMap);
        boolean running = true;
        while (running) {
            printer.println(("Enter the command:"), REQUEST);
            try {
                running = commandInterpreter.run(new ArrayList<>(Arrays.asList(sc.nextLine().trim().split("\\s+"))));
            } catch (NoSuchElementException e) {
                running = false;
            } catch (RecursiveCallException | InvalidCommandNameException | IllegalArgumentException | JsonParseException e) {
                printer.println(e.getMessage(), ERROR);
            }
        }
        printer.println("Program execution stopped", CONSOLE);
    } catch (NoSuchElementException e) {
        printer.println("The program ended incorrectly. Please restart the program.", ERROR);
    } catch (ArrayIndexOutOfBoundsException e) {
        printer.println("You didn't specify the file name to populate the collection", ERROR);
    } catch (Exception e) {
        printer.println(e.getMessage(), ERROR);
    }
}
Also used : InvalidCommandNameException(exceptions.InvalidCommandNameException) TextFile(file.TextFile) RecursiveCallException(exceptions.RecursiveCallException) JsonParseException(com.google.gson.JsonParseException) JsonParseException(com.google.gson.JsonParseException) FileNotFoundException(java.io.FileNotFoundException) InvalidCommandNameException(exceptions.InvalidCommandNameException) RecursiveCallException(exceptions.RecursiveCallException) JsonFile(file.JsonFile) File(java.io.File) TextFile(file.TextFile) JsonFile(file.JsonFile) CommandInterpreter(execute.CommandInterpreter)

Aggregations

JsonParseException (com.google.gson.JsonParseException)1 InvalidCommandNameException (exceptions.InvalidCommandNameException)1 RecursiveCallException (exceptions.RecursiveCallException)1 CommandInterpreter (execute.CommandInterpreter)1 JsonFile (file.JsonFile)1 TextFile (file.TextFile)1 File (java.io.File)1 FileNotFoundException (java.io.FileNotFoundException)1