aboutsummaryrefslogtreecommitdiff
path: root/juick-server/src/main/java/com/juick/service/PushQueriesServiceImpl.java
diff options
context:
space:
mode:
authorGravatar Alexander Alexeev2016-11-17 23:45:13 +0700
committerGravatar Vitaly Takmazov2016-11-23 13:02:55 +0300
commit19709fa2ade17433b9a76ad4459e1e09d27b88bf (patch)
tree188ba9d24f4fc5bdf7707c57d61cd9c7212b45cf /juick-server/src/main/java/com/juick/service/PushQueriesServiceImpl.java
parent78a1a68e5555648a07588873b08d59a094391709 (diff)
repository improvenments: using Collection in params, forse using exists in some query, force using Lists as query result
Diffstat (limited to 'juick-server/src/main/java/com/juick/service/PushQueriesServiceImpl.java')
-rw-r--r--juick-server/src/main/java/com/juick/service/PushQueriesServiceImpl.java38
1 files changed, 25 insertions, 13 deletions
diff --git a/juick-server/src/main/java/com/juick/service/PushQueriesServiceImpl.java b/juick-server/src/main/java/com/juick/service/PushQueriesServiceImpl.java
index 9bbadef6..b11f0a79 100644
--- a/juick-server/src/main/java/com/juick/service/PushQueriesServiceImpl.java
+++ b/juick-server/src/main/java/com/juick/service/PushQueriesServiceImpl.java
@@ -1,11 +1,14 @@
package com.juick.service;
+import org.apache.commons.collections4.CollectionUtils;
import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.StringUtils;
import javax.inject.Inject;
+import java.util.Collection;
+import java.util.Collections;
import java.util.List;
/**
@@ -29,10 +32,13 @@ public class PushQueriesServiceImpl extends BaseJdbcService implements PushQueri
}
@Override
- public List<String> getAndroidTokens(final List<Integer> uids) {
- return getJdbcTemplate().queryForList(
- "SELECT regid FROM android INNER JOIN users " +
- "ON (users.id=android.user_id) WHERE users.id IN (" + StringUtils.collectionToCommaDelimitedString(uids) + ")",
+ public List<String> getAndroidTokens(final Collection<Integer> uids) {
+ if (CollectionUtils.isEmpty(uids))
+ return Collections.emptyList();
+
+ return getNamedParameterJdbcTemplate().queryForList(
+ "SELECT regid FROM android INNER JOIN users ON (users.id = android.user_id) WHERE users.id IN (:ids)",
+ new MapSqlParameterSource("ids", uids),
String.class);
}
@@ -45,10 +51,13 @@ public class PushQueriesServiceImpl extends BaseJdbcService implements PushQueri
}
@Override
- public List<String> getWindowsTokens(final List<Integer> uids) {
- return getJdbcTemplate().queryForList(
- "SELECT url FROM winphone INNER JOIN users " +
- "ON (users.id=winphone.user_id) WHERE users.id IN (" + StringUtils.collectionToCommaDelimitedString(uids) + ")",
+ public List<String> getWindowsTokens(final Collection<Integer> uids) {
+ if (CollectionUtils.isEmpty(uids))
+ return Collections.emptyList();
+
+ return getNamedParameterJdbcTemplate().queryForList(
+ "SELECT url FROM winphone INNER JOIN users ON (users.id=winphone.user_id) WHERE users.id IN (:ids)",
+ new MapSqlParameterSource("ids", uids),
String.class);
}
@@ -66,10 +75,13 @@ public class PushQueriesServiceImpl extends BaseJdbcService implements PushQueri
}
@Override
- public List<String> getAPNSTokens(final List<Integer> uids) {
- return getJdbcTemplate().queryForList(
- "SELECT token FROM ios INNER JOIN users " +
- "ON (users.id=ios.user_id) WHERE users.id IN (" + StringUtils.collectionToCommaDelimitedString(uids) + ")",
+ public List<String> getAPNSTokens(final Collection<Integer> uids) {
+ if (CollectionUtils.isEmpty(uids))
+ return Collections.emptyList();
+
+ return getNamedParameterJdbcTemplate().queryForList(
+ "SELECT token FROM ios INNER JOIN users ON (users.id = ios.user_id) WHERE users.id IN (:ids)",
+ new MapSqlParameterSource("ids", uids),
String.class);
}
}