From 3888ccf411decab3cb39cdac2b92eb8ea6ba08be Mon Sep 17 00:00:00 2001 From: Ludovic Apvrille <ludovic.apvrille@telecom-paristech.fr> Date: Thu, 14 Mar 2019 13:44:18 +0100 Subject: [PATCH] Resolving bug on TTool-cli --- src/main/java/cli/Help.java | 1 + src/main/java/cli/Interpreter.java | 21 ++++++++++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/main/java/cli/Help.java b/src/main/java/cli/Help.java index 420cb1c349..ca7f2bdbc4 100644 --- a/src/main/java/cli/Help.java +++ b/src/main/java/cli/Help.java @@ -96,6 +96,7 @@ public class Help extends Command { s += c.getShortCommand() + "\t" + c.getCommand() + "\t" + c.getDescription() + "\n"; } interpreter.print(s); + TraceManager.addDev("Info on command"); return null; } diff --git a/src/main/java/cli/Interpreter.java b/src/main/java/cli/Interpreter.java index bffda4ac27..bd539ae396 100644 --- a/src/main/java/cli/Interpreter.java +++ b/src/main/java/cli/Interpreter.java @@ -141,6 +141,7 @@ public class Interpreter implements Runnable { private void executeLine(String line, int cptLine, boolean exitOnError) { // Comment + TraceManager.addDev("Executing line:" + line); line = line.trim(); if (line.length() == 0) { @@ -167,28 +168,42 @@ public class Interpreter implements Runnable { } TraceManager.addDev("Handling line: " + lineWithNoVariable); + String [] commandInfo = lineWithNoVariable.split(" "); + + if ((commandInfo == null) || (commandInfo.length < 1)){ + System.out.println("Empty command"); + if (exitOnError) { + System.exit(-1); + } + } + + // Analyze current line error = ""; for(Command c: commands) { - if (lineWithNoVariable.compareTo(c.getCommand()) == 0) { + if (commandInfo[0].compareTo(c.getCommand()) == 0) { error = c.executeCommand( lineWithNoVariable.substring(c.getCommand().length(), lineWithNoVariable.length()).trim(), this); + TraceManager.addDev("Command executed"); break; } - if (lineWithNoVariable.compareTo(c.getShortCommand()) == 0) { + if (commandInfo[0].compareTo(c.getShortCommand()) == 0) { error = c.executeCommand( lineWithNoVariable.substring(c.getShortCommand().length(), lineWithNoVariable.length()).trim(), this); + TraceManager.addDev("Short Command executed"); break; } } - if (error != null) { + if ((error != null) && (error.length() > 0)) { System.out.println("Error in line " + cptLine + " : " + error); if (exitOnError) { System.exit(-1); } + } else if ((error != null) && (error.length() == 0)) { + System.out.println("Unknown command in line " + cptLine + " : " + commandInfo[0]); } } } -- GitLab