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