Skip to content

Commit 15f8c03

Browse files
committed
Fixed shell command
1 parent ed8bc8a commit 15f8c03

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

src/main/java/org/javawebstack/framework/command/ShellCommand.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.javawebstack.framework.command;
22

3+
import bsh.ConsoleInterface;
34
import bsh.EvalError;
45
import bsh.Interpreter;
56
import org.javawebstack.command.Command;
@@ -8,6 +9,7 @@
89
import org.javawebstack.framework.WebApplication;
910
import org.javawebstack.orm.ORM;
1011

12+
import java.io.InputStreamReader;
1113
import java.util.List;
1214
import java.util.Map;
1315

@@ -17,15 +19,22 @@ public ShellCommand(WebApplication application){
1719
this.application = application;
1820
}
1921
public CommandResult execute(CommandSystem system, List<String> list, Map<String, List<String>> map) {
22+
InputStreamReader reader = new InputStreamReader(System.in);
2023
Interpreter interpreter = new Interpreter();
2124
try {
2225
interpreter.set("app", application);
2326
interpreter.getNameSpace().importClass("org.javawebstack.orm.Repo");
2427
ORM.getModels().forEach(m -> interpreter.getNameSpace().importClass(m.getName()));
25-
interpreter.run();
28+
System.out.println("App Shell");
29+
while (true){
30+
try {
31+
interpreter.eval(reader);
32+
} catch (EvalError error) {
33+
System.err.println(error.getMessage());
34+
}
35+
}
2636
} catch (EvalError error) {
2737
return CommandResult.error(error);
2838
}
29-
return CommandResult.success();
3039
}
3140
}

0 commit comments

Comments
 (0)