aboutsummaryrefslogtreecommitdiff
path: root/juick-ws/src/main/java/com/juick/ws/components/CrosspostComponent.java
diff options
context:
space:
mode:
Diffstat (limited to 'juick-ws/src/main/java/com/juick/ws/components/CrosspostComponent.java')
-rw-r--r--juick-ws/src/main/java/com/juick/ws/components/CrosspostComponent.java33
1 files changed, 16 insertions, 17 deletions
diff --git a/juick-ws/src/main/java/com/juick/ws/components/CrosspostComponent.java b/juick-ws/src/main/java/com/juick/ws/components/CrosspostComponent.java
index ec5716ee..1a6bd20e 100644
--- a/juick-ws/src/main/java/com/juick/ws/components/CrosspostComponent.java
+++ b/juick-ws/src/main/java/com/juick/ws/components/CrosspostComponent.java
@@ -25,32 +25,34 @@ import com.juick.xmpp.StreamComponent;
import com.juick.xmpp.extensions.JuickMessage;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.tuple.Pair;
+import org.springframework.beans.factory.DisposableBean;
+import org.springframework.beans.factory.InitializingBean;
+import org.springframework.core.env.Environment;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
+import org.springframework.stereotype.Component;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
+import javax.inject.Inject;
import javax.net.ssl.HttpsURLConnection;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
import java.io.*;
import java.net.Socket;
import java.net.URL;
import java.net.URLEncoder;
import java.security.Key;
-import java.util.Properties;
import java.util.UUID;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.logging.Level;
-import java.util.logging.LogManager;
import java.util.logging.Logger;
/**
*
* @author Ugnich Anton
*/
-public class CrosspostComponent implements ServletContextListener, Stream.StreamListener, Message.MessageListener {
+@Component
+public class CrosspostComponent implements InitializingBean, DisposableBean, Stream.StreamListener, Message.MessageListener {
private static Logger logger = Logger.getLogger(CrosspostComponent.class.getName());
@@ -63,23 +65,20 @@ public class CrosspostComponent implements ServletContextListener, Stream.Strea
Stream xmpp;
String twitter_consumer_key;
String twitter_consumer_secret;
+ @Inject
+ Environment env;
@Override
- public void contextInitialized(final ServletContextEvent sce) {
+ public void afterPropertiesSet() throws Exception {
logger.info("component initialized");
executorService = Executors.newSingleThreadExecutor();
- executorService.submit((Runnable) () -> {
+ executorService.submit(() -> {
try {
- Properties conf = new Properties();
- conf.load(sce.getServletContext().getResourceAsStream("/WEB-INF/juick.conf"));
+ twitter_consumer_key = env.getProperty("twitter_consumer_key", "");
+ twitter_consumer_secret = env.getProperty("twitter_consumer_secret", "");
- LogManager.getLogManager().readConfiguration(
- sce.getServletContext().getResourceAsStream("/WEB-INF/logging.properties"));
- twitter_consumer_key = conf.getProperty("twitter_consumer_key", "");
- twitter_consumer_secret = conf.getProperty("twitter_consumer_secret", "");
-
- setupSql(conf.getProperty("datasource_driver", "com.mysql.jdbc.Driver"), conf.getProperty("datasource_url", ""));
- setupXmppComponent(conf.getProperty("xmpp_password", ""));
+ setupSql(env.getProperty("datasource_driver", "com.mysql.jdbc.Driver"), env.getProperty("datasource_url", ""));
+ setupXmppComponent(env.getProperty("xmpp_password", ""));
} catch (Exception e) {
logger.log(Level.SEVERE, e.getMessage(), e);
}
@@ -87,7 +86,7 @@ public class CrosspostComponent implements ServletContextListener, Stream.Strea
}
@Override
- public void contextDestroyed(ServletContextEvent sce) {
+ public void destroy() {
executorService.shutdown();
logger.info("component destroyed");
}