From 274de5ede59ed4023826a9db09ec60788bc950e1 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Mon, 19 Dec 2016 13:41:23 +0300 Subject: all projects except juick-www are spring-managed now --- juick-demo/src/main/java/com/juick/demo/Demo.java | 79 +++++------------------ 1 file changed, 15 insertions(+), 64 deletions(-) (limited to 'juick-demo/src/main/java/com/juick/demo/Demo.java') diff --git a/juick-demo/src/main/java/com/juick/demo/Demo.java b/juick-demo/src/main/java/com/juick/demo/Demo.java index b94c9830..db03e2e5 100644 --- a/juick-demo/src/main/java/com/juick/demo/Demo.java +++ b/juick-demo/src/main/java/com/juick/demo/Demo.java @@ -1,77 +1,28 @@ package com.juick.demo; import ch.vorburger.exec.ManagedProcessException; -import ch.vorburger.mariadb4j.DB; -import com.juick.Tag; -import com.juick.User; -import com.juick.server.MessagesQueries; -import com.juick.server.PMQueries; -import com.juick.server.TagQueries; -import com.juick.server.UserQueries; -import com.juick.server.protocol.JuickProtocol; -import com.juick.server.protocol.ProtocolReply; -import jline.UnsupportedTerminal; -import jline.console.ConsoleReader; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.jdbc.core.JdbcTemplate; -import org.springframework.jdbc.datasource.DriverManagerDataSource; - -import java.io.IOException; -import java.io.PrintWriter; -import java.lang.reflect.InvocationTargetException; -import java.util.ArrayList; +import com.juick.demo.configuration.DemoAppConfiguration; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.core.env.SimpleCommandLinePropertySource; /** * Created by vitalyster on 30.08.2016. */ public class Demo { - private static final Logger logger = LoggerFactory.getLogger(Demo.class); + public static void main(String ...args) throws ManagedProcessException { - DB db = DB.newEmbeddedDB(33306); - db.start(); - db.createDB("juick"); - db.source("schema.sql"); - DriverManagerDataSource dataSource = new DriverManagerDataSource(); - dataSource.setDriverClassName("com.mysql.jdbc.Driver"); - dataSource.setUrl("jdbc:mysql://localhost:33306/juick?autoReconnect=true&user=root"); - JdbcTemplate jdbc = new JdbcTemplate(dataSource); - logger.info("initializing demo database"); + final AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(); - Integer ugnich_id = UserQueries.createUser(jdbc, "ugnich", "secret"); - Integer ugn_mid = MessagesQueries.createMessage(jdbc, ugnich_id, "Hi, I am ugnich", null, - new ArrayList() {{add(TagQueries.getTag(jdbc, "yo", true)); add(TagQueries.getTag(jdbc, "people", true));}}); + // setup configuration + applicationContext.register(DemoAppConfiguration.class); + // add CLI property source + applicationContext.getEnvironment().getPropertySources() + .addLast(new SimpleCommandLinePropertySource(args)); - Integer juick_id = UserQueries.createUser(jdbc, "juick", "secret"); - MessagesQueries.createMessage(jdbc, juick_id, "New demo juick was created", null, - new ArrayList() {{add(TagQueries.getTag(jdbc, "yo", true)); add(TagQueries.getTag(jdbc, "readonly", true));}}); - Integer freefd_id = UserQueries.createUser(jdbc, "freefd", "secret"); - MessagesQueries.createReply(jdbc, ugn_mid, 0, freefd_id, "I am freefd and this is my reply", null); - MessagesQueries.recommendMessage(jdbc, ugn_mid, freefd_id); - MessagesQueries.recommendMessage(jdbc, ugn_mid, juick_id); - MessagesQueries.setMessagePopular(jdbc, ugn_mid, 1); - PMQueries.createPM(jdbc, freefd_id, ugnich_id, "Hi ugnich!"); - jdbc.execute("UPDATE tags SET top=1"); - jline.TerminalFactory.registerFlavor(jline.TerminalFactory.Flavor.WINDOWS, UnsupportedTerminal.class); - try (ConsoleReader reader = new ConsoleReader()) { - reader.setPrompt("ugnich>"); - PrintWriter out = new PrintWriter(reader.getOutput()); - User ugnich = UserQueries.getUserByUID(jdbc, ugnich_id).get(); - out.println(String.format("logged in as @%s", ugnich.getName())); - out.flush(); - String input; - JuickProtocol protocol = new JuickProtocol(jdbc, "http://localhost/"); - while ((input = reader.readLine()) != null) { - ProtocolReply reply = protocol.getReply(ugnich, input); - out.println(reply.getDescription()); - out.flush(); - } - } catch (IOException | NoSuchMethodException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } catch (InvocationTargetException e) { - e.printStackTrace(); - } + // setup all the dependencies (refresh) and make them run (start) + applicationContext.refresh(); + applicationContext.start(); + DemoApp demoApp = new DemoApp(applicationContext); + demoApp.start(); } } -- cgit v1.2.3