aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/juick/config/XMPPConfig.java
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2022-12-31 01:23:28 +0300
committerGravatar Vitaly Takmazov2022-12-31 01:23:28 +0300
commit47bdad85f7ac2b12daf1da4e340be902a568d976 (patch)
treee681e1380bcea9a071e0e0f7ff77e45bad19494c /src/main/java/com/juick/config/XMPPConfig.java
parent6754ad8bed7f7b82cfbb4b8d0948e8bfb7302191 (diff)
Refactor XMPP connection
Diffstat (limited to 'src/main/java/com/juick/config/XMPPConfig.java')
-rw-r--r--src/main/java/com/juick/config/XMPPConfig.java42
1 files changed, 41 insertions, 1 deletions
diff --git a/src/main/java/com/juick/config/XMPPConfig.java b/src/main/java/com/juick/config/XMPPConfig.java
index ee2abab4..73077760 100644
--- a/src/main/java/com/juick/config/XMPPConfig.java
+++ b/src/main/java/com/juick/config/XMPPConfig.java
@@ -17,16 +17,56 @@
package com.juick.config;
+import com.juick.CommandsManager;
import com.juick.XMPPManager;
+import com.juick.service.MessagesService;
+import com.juick.service.PMQueriesService;
+import com.juick.service.StorageService;
+import com.juick.service.UserService;
+import com.juick.www.WebApp;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
+import org.springframework.core.io.Resource;
+
+import javax.inject.Inject;
+import java.util.concurrent.Executor;
@Configuration
@ConditionalOnProperty("xmppbot_jid")
public class XMPPConfig {
+ @Value("${xmppbot_jid:juick@localhost}")
+ private String botJid;
+ @Value("${hostname:localhost}")
+ private String componentName;
+ @Value("${component_port:5347}")
+ private int componentPort;
+ @Value("${component_host:localhost}")
+ private String componentHost;
+ @Value("${xmpp_password:secret}")
+ private String password;
+ @Value("classpath:juick.png")
+ private Resource vCardImage;
+ @Inject
+ private CommandsManager commandsManager;
+ @Inject
+ private StorageService storageService;
+ @Inject
+ private MessagesService messagesService;
+ @Inject
+ private UserService userService;
+ @Inject
+ private PMQueriesService pmQueriesService;
+ @Inject
+ private Executor applicationTaskExecutor;
+ @Inject
+ private WebApp webApp;
+
@Bean(destroyMethod = "close")
XMPPManager xmppConnection() {
- return new XMPPManager();
+ return new XMPPManager(botJid, componentName, componentPort, componentHost, password, vCardImage,
+ commandsManager, storageService, messagesService, userService, pmQueriesService,
+ applicationTaskExecutor, webApp);
}
}