Я пытаюсь использовать gogo-shell для добавления некоторых консольных команд. Например, я создаю команды, добавляю и показываю
public void add(CommandSession commandSession, int i) {
List<Integer> il = commandSession.get("list");
if (il == null) {
il = new ArrayList<Integer>();
il.add(i);
commandSession.put("list",il)
} else {
il.add(i)
}
}
public void show(CommandSession commandSession) {
List<Integer> il = commandSession.get("list");
il.foreach(System.out::println);
}
и когда я использую их как
add 1 | add 2 | add 3 | add 4 | show
я получаю что-то вроде
null pointer Exception
or
1
3
4
2
Я думаю, это происходит потому, что каналы (добавить) идут параллельно. Итак, как я могу написать команду, в которой конвейер будет последовательным.