com.bertoncelj.jdbi.entitymapper
jdbi-entity-mapper
diff --git a/persist/src/main/java/ru/javaops/masterjava/persist/dao/UserDao.java b/persist/src/main/java/ru/javaops/masterjava/persist/dao/UserDao.java
index 2f13898..adf34f1 100644
--- a/persist/src/main/java/ru/javaops/masterjava/persist/dao/UserDao.java
+++ b/persist/src/main/java/ru/javaops/masterjava/persist/dao/UserDao.java
@@ -5,6 +5,8 @@
import org.skife.jdbi.v2.sqlobject.*;
import org.skife.jdbi.v2.sqlobject.customizers.BatchChunkSize;
import org.skife.jdbi.v2.sqlobject.customizers.RegisterMapperFactory;
+import org.skife.jdbi.v2.sqlobject.stringtemplate.UseStringTemplate3StatementLocator;
+import org.skife.jdbi.v2.unstable.BindIn;
import ru.javaops.masterjava.persist.DBIProvider;
import ru.javaops.masterjava.persist.model.User;
@@ -16,6 +18,7 @@
*
*
*/
+@UseStringTemplate3StatementLocator
@RegisterMapperFactory(EntityMapperFactory.class)
public abstract class UserDao implements AbstractDao {
@@ -60,6 +63,8 @@ public int getSeqAndSkip(int step) {
// "ON CONFLICT (email) DO UPDATE SET full_name=:fullName, flag=CAST(:flag AS USER_FLAG)")
public abstract int[] insertBatch(@BindBean List users, @BatchChunkSize int chunkSize);
+ @SqlQuery("SELECT * FROM users WHERE id IN ()")
+ public abstract List getByIds(@BindIn("ids") List ids);
public List insertAndGetConflictEmails(List users) {
int[] result = insertBatch(users, users.size());
diff --git a/persist/src/test/java/ru/javaops/masterjava/persist/dao/UserDaoTest.java b/persist/src/test/java/ru/javaops/masterjava/persist/dao/UserDaoTest.java
index 1dd6ed4..12c0b27 100644
--- a/persist/src/test/java/ru/javaops/masterjava/persist/dao/UserDaoTest.java
+++ b/persist/src/test/java/ru/javaops/masterjava/persist/dao/UserDaoTest.java
@@ -7,9 +7,10 @@
import ru.javaops.masterjava.persist.UserTestData;
import ru.javaops.masterjava.persist.model.User;
+import java.util.ArrayList;
import java.util.List;
-import static ru.javaops.masterjava.persist.UserTestData.FIST5_USERS;
+import static ru.javaops.masterjava.persist.UserTestData.*;
/**
* gkislin
@@ -50,4 +51,11 @@ public void getSeqAndSkip() throws Exception {
int seq2 = dao.getSeqAndSkip(1);
Assert.assertEquals(5, seq2 - seq1);
}
+
+ @Test
+ public void getByIds() throws Exception {
+ List ids = new ArrayList<>();
+ FIST5_USERS.forEach(u -> ids.add(u.getId()));
+ Assert.assertEquals(dao.getByIds(ids),FIST5_USERS);
+ }
}
\ No newline at end of file
diff --git a/services/mail-api/src/test/resources/wsdl/mailService.wsdl b/services/mail-api/src/test/resources/wsdl/mailService.wsdl
deleted file mode 100644
index 09511ad..0000000
--- a/services/mail-api/src/test/resources/wsdl/mailService.wsdl
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/services/mail-service/src/main/webapp/WEB-INF/wsdl/mailService.wsdl b/services/mail-service/src/main/webapp/WEB-INF/wsdl/mailService.wsdl
deleted file mode 100644
index 09511ad..0000000
--- a/services/mail-service/src/main/webapp/WEB-INF/wsdl/mailService.wsdl
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/services/mail-service/src/test/java/ru/javaops/masterjava/service/mail/MailServicePublisher.java b/services/mail-service/src/test/java/ru/javaops/masterjava/service/mail/MailServicePublisher.java
index 1901d0f..1d053f4 100644
--- a/services/mail-service/src/test/java/ru/javaops/masterjava/service/mail/MailServicePublisher.java
+++ b/services/mail-service/src/test/java/ru/javaops/masterjava/service/mail/MailServicePublisher.java
@@ -6,7 +6,6 @@
import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;
import javax.xml.ws.Endpoint;
-import java.io.File;
import java.util.List;
public class MailServicePublisher {
@@ -16,9 +15,7 @@ public static void main(String[] args) {
Endpoint endpoint = Endpoint.create(new MailServiceImpl());
List metadata = ImmutableList.of(
- new StreamSource(
- new File("services/mail-service/src/main/webapp/WEB-INF/wsdl/mailService.wsdl")));
-
+ new StreamSource(String.valueOf(ClassLoader.getSystemResource("wsdl/mailService.wsdl"))));
endpoint.setMetadata(metadata);
endpoint.publish("http://localhost:8080/mail/mailService");
}
diff --git a/web/webapp/pom.xml b/web/webapp/pom.xml
index de3a56f..489df99 100644
--- a/web/webapp/pom.xml
+++ b/web/webapp/pom.xml
@@ -26,5 +26,11 @@
persist
${project.version}
+