aboutsummaryrefslogtreecommitdiff
path: root/juick-server/src/main/java/com/juick/configuration
diff options
context:
space:
mode:
authorGravatar Alexander Alexeev2016-11-18 01:30:39 +0700
committerGravatar Vitaly Takmazov2016-11-23 13:02:57 +0300
commit36f0ced4b46a1823a15d3e33e664891c92618b78 (patch)
tree92b3bc196701b3011049eaf58ec7c8143cf52ecc /juick-server/src/main/java/com/juick/configuration
parent149fc39c00c11b5be208914ea93a3c5bd5b7f11c (diff)
search service for full text search implementation;
search bean configuration
Diffstat (limited to 'juick-server/src/main/java/com/juick/configuration')
-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();
+ }
+ };
+ }
+}