diff options
Diffstat (limited to 'juick-console/src/main/java/com/juick/console/ConsoleApp.java')
-rw-r--r-- | juick-console/src/main/java/com/juick/console/ConsoleApp.java | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/juick-console/src/main/java/com/juick/console/ConsoleApp.java b/juick-console/src/main/java/com/juick/console/ConsoleApp.java deleted file mode 100644 index bfa3eae3..00000000 --- a/juick-console/src/main/java/com/juick/console/ConsoleApp.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.juick.console; - -import com.juick.User; -import com.juick.server.protocol.JuickProtocol; -import com.juick.server.protocol.ProtocolReply; -import com.juick.service.UserService; -import org.jline.reader.EndOfFileException; -import org.jline.reader.LineReader; -import org.jline.reader.LineReaderBuilder; -import org.jline.reader.UserInterruptException; -import org.jline.terminal.Terminal; -import org.jline.terminal.TerminalBuilder; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.context.ApplicationContext; -import org.springframework.core.env.Environment; - -import javax.inject.Inject; -import java.io.IOException; -import java.io.PrintWriter; -import java.lang.reflect.InvocationTargetException; - -/** - * Created by vitalyster on 19.12.2016. - */ -public class ConsoleApp { - - private static final Logger logger = LoggerFactory.getLogger(ConsoleApp.class); - - @Inject - JuickProtocol juickProtocol; - @Inject - Environment env; - @Inject - UserService userService; - - public ConsoleApp(ApplicationContext context) { - juickProtocol = context.getBean(JuickProtocol.class); - } - public void start() throws IOException { - Terminal terminal = TerminalBuilder.builder() - .system(true) - .nativeSignals(true) - .jna(true) - .build(); - LineReader reader = LineReaderBuilder.builder() - .terminal(terminal) - .build(); - PrintWriter out = terminal.writer(); - String uname = env.getProperty("uname", "ugnich"); - User user = userService.getUserByName(uname); - if (user != null) { - String prompt = String.format("@%s>", user.getName()); - while (true) { - try { - String input = reader.readLine(prompt, null, null); - if (input == null) { - logger.error("invalid terminal"); - break; - } - ProtocolReply reply = juickProtocol.getReply(user, input); - out.println(reply.getResult()); - out.flush(); - } catch (UserInterruptException e) { - logger.debug("user interrupt"); - } catch (EndOfFileException e) { - logger.debug("app exit"); - break; - } catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) { - logger.warn("protocol exception", e); - } - } - } else { - out.println("uname missing or invalid"); - } - } -} |