aboutsummaryrefslogtreecommitdiff
path: root/juick-console/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'juick-console/src/main')
-rw-r--r--juick-console/src/main/java/com/juick/console/Console.java28
-rw-r--r--juick-console/src/main/java/com/juick/console/ConsoleApp.java77
-rw-r--r--juick-console/src/main/java/com/juick/console/configuration/ConsoleAppConfiguration.java34
3 files changed, 0 insertions, 139 deletions
diff --git a/juick-console/src/main/java/com/juick/console/Console.java b/juick-console/src/main/java/com/juick/console/Console.java
deleted file mode 100644
index ad858c56..00000000
--- a/juick-console/src/main/java/com/juick/console/Console.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.juick.console;
-
-import com.juick.console.configuration.ConsoleAppConfiguration;
-import org.springframework.context.annotation.AnnotationConfigApplicationContext;
-import org.springframework.core.env.SimpleCommandLinePropertySource;
-
-import java.io.IOException;
-
-/**
- * Created by vitalyster on 30.08.2016.
- */
-public class Console {
-
- public static void main(String ...args) throws IOException {
- final AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext();
-
- // setup configuration
- applicationContext.register(ConsoleAppConfiguration.class);
- // add CLI property source
- applicationContext.getEnvironment().getPropertySources()
- .addLast(new SimpleCommandLinePropertySource(args));
-
- // setup all the dependencies (refresh) and make them run (start)
- applicationContext.refresh();
- applicationContext.start();
- applicationContext.getBean(ConsoleApp.class).start();
- }
-}
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");
- }
- }
-}
diff --git a/juick-console/src/main/java/com/juick/console/configuration/ConsoleAppConfiguration.java b/juick-console/src/main/java/com/juick/console/configuration/ConsoleAppConfiguration.java
deleted file mode 100644
index 11e2609e..00000000
--- a/juick-console/src/main/java/com/juick/console/configuration/ConsoleAppConfiguration.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.juick.console.configuration;
-
-import com.juick.configuration.DataConfiguration;
-import com.juick.console.ConsoleApp;
-import com.juick.server.protocol.JuickProtocol;
-import org.springframework.beans.BeansException;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.ApplicationContextAware;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-
-/**
- * Created by vitalyster on 19.12.2016.
- */
-@Configuration
-@ComponentScan(basePackages = {"com.juick.console", "com.juick.service", "com.juick.server.protocol"})
-@Import(DataConfiguration.class)
-public class ConsoleAppConfiguration implements ApplicationContextAware {
- private ApplicationContext applicationContext;
- @Override
- public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
- this.applicationContext = applicationContext;
- }
- @Bean
- public JuickProtocol juickProtocol() {
- return new JuickProtocol("https://juick.com/");
- }
- @Bean
- public ConsoleApp app() {
- return new ConsoleApp(applicationContext);
- }
-}