aboutsummaryrefslogtreecommitdiff
path: root/juick-console/src/main/java/com/juick/console/ConsoleApp.java
diff options
context:
space:
mode:
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.java77
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");
- }
- }
-}