From 47bdad85f7ac2b12daf1da4e340be902a568d976 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Sat, 31 Dec 2022 01:23:28 +0300 Subject: Refactor XMPP connection --- src/main/java/com/juick/config/XMPPConfig.java | 42 +++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) (limited to 'src/main/java/com/juick/config/XMPPConfig.java') 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); } } -- cgit v1.2.3