diff options
Diffstat (limited to 'juick-console/src')
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); - } -} |