aboutsummaryrefslogtreecommitdiff
path: root/juick-server/src/main/java/com/juick/configuration/SearchConfiguration.java
diff options
context:
space:
mode:
Diffstat (limited to 'juick-server/src/main/java/com/juick/configuration/SearchConfiguration.java')
-rw-r--r--juick-server/src/main/java/com/juick/configuration/SearchConfiguration.java54
1 files changed, 54 insertions, 0 deletions
diff --git a/juick-server/src/main/java/com/juick/configuration/SearchConfiguration.java b/juick-server/src/main/java/com/juick/configuration/SearchConfiguration.java
new file mode 100644
index 00000000..40473433
--- /dev/null
+++ b/juick-server/src/main/java/com/juick/configuration/SearchConfiguration.java
@@ -0,0 +1,54 @@
+package com.juick.configuration;
+
+import com.juick.service.search.SearchService;
+import com.juick.service.search.SphinxSearchServiceImpl;
+import org.apache.commons.dbcp2.BasicDataSource;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.PropertySource;
+import org.springframework.core.env.Environment;
+
+import javax.annotation.Resource;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * Created by aalexeev on 11/18/16.
+ */
+@Configuration
+@PropertySource(value = {"classpath:juick.conf"})
+public class SearchConfiguration {
+ @Resource
+ private Environment env;
+
+ @Bean
+ public SearchService searchService() {
+ BasicDataSource dataSource = new BasicDataSource();
+
+ dataSource.setDriverClassName(env.getProperty("sphinx_driver", "com.mysql.jdbc.Driver"));
+ dataSource.setUrl(env.getProperty("sphinx_url", "jdbc:mysql://127.0.0.1:9306?autoReconnect=true&useUnicode=yes&characterEncoding=utf8&maxAllowedPacket=512000"));
+ dataSource.setUsername(env.getProperty("sphinx_user", ""));
+ dataSource.setPassword(env.getProperty("sphinx_password", ""));
+
+ return new SphinxSearchServiceImpl(dataSource);
+ }
+
+ @Bean
+ public SearchService emptySearchService() {
+ return new SearchService() {
+ @Override
+ public void setMaxResult(int maxResult) {
+ }
+
+ @Override
+ public List<Integer> searchInAllMessages(String searchString, int messageIdBefore) {
+ return Collections.emptyList();
+ }
+
+ @Override
+ public List<Integer> searchByStringAndUser(String searchString, int userId, int messageIdBefore) {
+ return Collections.emptyList();
+ }
+ };
+ }
+}