This is an automated email from the git hooks/post-receive script. New commit to branch feature/spgeed in repository pollen. See https://gitlab.nuiton.org/chorem/pollen.git commit 22b9c5e694db650d968daa3fef7b14da48781e8e Author: HERBRETEAU Killian <Killian_H@localhost.localdomain> Date: Fri Jul 26 14:47:56 2019 +0200 get email work / get user (miss email = user.getmail (NULL)) --- .../pollen/persistence/PollenUserSpgeedDao.java | 7 +++++- .../org/chorem/pollen/rest/api/SpgeedTest.java | 20 +++++++++++++++- .../pollen/services/service/PollenUserService.java | 1 - .../pollen/services/service/TransverseService.java | 28 ++++------------------ .../service/security/SpgeedDummyService.java | 3 ++- 5 files changed, 31 insertions(+), 28 deletions(-) diff --git a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/PollenUserSpgeedDao.java b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/PollenUserSpgeedDao.java index 3ec382d7..e6cce841 100644 --- a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/PollenUserSpgeedDao.java +++ b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/PollenUserSpgeedDao.java @@ -6,7 +6,12 @@ import org.nuiton.spgeed.annotations.Select; public interface PollenUserSpgeedDao { - @Select(sql = "with pollenu as (select u.*, (select json_agg(m.*) as pollenuseremailaddress from pollenuseremailaddress m) from PollenUser u) select json_agg(pu.*) from pollenu pu") + @Select(sql = "with pollenu as " + + "(select name, administrator, language, password, banned, gtuvalidationdate, preMiumto, cancreatepoll, " + + "(select json_agg(e) as pollenuseremailaddress from pollenuseremailaddress e), " + + "(select json_object_agg('defaultemailaddress', d) as defaultemailaddress from pollenuseremailaddress d)" + + " from pollenuser)" + + " select json_agg(pu) from pollenu pu") PollenUser getUser(); @Select(sql = "select json_agg(m.*) from pollenuseremailaddress m") diff --git a/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/SpgeedTest.java b/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/SpgeedTest.java index 4aca30ec..982e5e4c 100644 --- a/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/SpgeedTest.java +++ b/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/SpgeedTest.java @@ -3,10 +3,12 @@ package org.chorem.pollen.rest.api; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.MapperFeature; import com.fasterxml.jackson.databind.ObjectMapper; +import org.apache.tomcat.jni.Poll; import org.chorem.pollen.persistence.entity.PollenUser; import org.chorem.pollen.persistence.entity.PollenUserEmailAddress; import org.chorem.pollen.services.PollenTechnicalException; import org.chorem.pollen.services.service.PollenUserService; +import org.chorem.pollen.services.service.security.SpgeedDummyService; import org.junit.Assert; import org.junit.Test; @@ -32,7 +34,7 @@ public class SpgeedTest { @Test public void testUserDeserialization() throws Exception { - String json = "{\"topiaid\":\"PollenUser_6qdaqbgBTyCBa8Dvz5SeHQ\",\"topiaversion\":1,\"topiacreatedate\":\"2019-07-19T10:00:30.913\",\"name\":\"admin\",\"administrator\":true,\"language\":null,\"password\":\"m7LAmO/AeLrjPI6kkzS0wTmU6fpbG/nxptfi/P7fg0BToZoIAV6xVre3tcttYxnLTDrXjtq7YOpggTFRz7mTjA==\",\"salt\":\"yRnTw64IPoWXR5f/j/rIsal7Pvd3Zz9LM9FPH3yXgIo=\",\"banned\":false,\"gtuvalidationdate\":null,\"premiumto\":null,\"cancreatepoll\":false,\"avatar\":null,\"defaultemailaddress\": [...] + String json = "{\"topiaid\":\"PollenUser_6qdaqbgBTyCBa8Dvz5SeHQ\",\"topiaversion\":1,\"topiacreatedate\":\"2019-07-19T10:00:30.913\",\"name\":\"admin\",\"administrator\":true,\"language\":null,\"password\":\"m7LAmO/AeLrjPI6kkzS0wTmU6fpbG/nxptfi/P7fg0BToZoIAV6xVre3tcttYxnLTDrXjtq7YOpggTFRz7mTjA==\",\"salt\":\"yRnTw64IPoWXR5f/j/rIsal7Pvd3Zz9LM9FPH3yXgIo=\",\"banned\":false,\"gtuvalidationdate\":null,\"premiumto\":null,\"cancreatepoll\":false,\"avatar\":null,\"pollenuseremailaddress [...] ObjectMapper mapper = new ObjectMapper(); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); @@ -40,8 +42,24 @@ public class SpgeedTest { PollenUser pollenUser = mapper.readValue(json, PollenUser.class); Assert.assertNotNull(pollenUser); + Assert.assertNotNull(pollenUser.getDefaultEmailAddress()); + Assert.assertNotNull(pollenUser.getEmailAddresses()); + Assert.assertEquals("admin@chorem.org", pollenUser.getDefaultEmailAddress()); Assert.assertEquals("admin", pollenUser.getName()); Assert.assertTrue(pollenUser.isAdministrator()); } + @Test + public void testUserDeserializationCallDB() { + SpgeedDummyService spgeedDummyService = new SpgeedDummyService(); + PollenUser pollenUser = spgeedDummyService.getPollenUser(); + + Assert.assertNotNull(pollenUser); + Assert.assertNotNull(pollenUser.getDefaultEmailAddress()); + Assert.assertNotNull(pollenUser.getEmailAddresses()); + Assert.assertEquals("admin", pollenUser.getName()); + Assert.assertEquals("admin@chorem.org", pollenUser.getDefaultEmailAddress()); + Assert.assertTrue(pollenUser.isAdministrator()); + } + } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenUserService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenUserService.java index de3fbd36..ef6ee3c2 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenUserService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenUserService.java @@ -85,7 +85,6 @@ public class PollenUserService extends PollenServiceSupport implements PollenSer bean.setGtuValidated(getGtuService().isGtuValidated(entity)); bean.setPremium(isPremium(entity)); - Preconditions.checkArgument(entity.sizeEmailAddresses() == 1); bean.setEmailAddresses(entity.getEmailAddresses().stream() .map(this::toPollenUserEmailAddressBean) .collect(Collectors.toList())); diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/TransverseService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/TransverseService.java index ef0d2d79..7347cdcc 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/TransverseService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/TransverseService.java @@ -62,39 +62,19 @@ public class TransverseService extends PollenServiceSupport { public PollenUserBean getSpgeed() { - String json = "{\"topiaid\":\"PollenUser_6qdaqbgBTyCBa8Dvz5SeHQ\",\"topiaversion\":1,\"topiacreatedate\":\"2019-07-19T10:00:30.913\",\"name\":\"admin\",\"administrator\":true,\"language\":null,\"password\":\"m7LAmO/AeLrjPI6kkzS0wTmU6fpbG/nxptfi/P7fg0BToZoIAV6xVre3tcttYxnLTDrXjtq7YOpggTFRz7mTjA==\",\"salt\":\"yRnTw64IPoWXR5f/j/rIsal7Pvd3Zz9LM9FPH3yXgIo=\",\"banned\":false,\"gtuvalidationdate\":null,\"premiumto\":null,\"cancreatepoll\":false,\"avatar\":null,\"defaultemailaddress\": [...] - /*SpgeedDummyService spgeedDummyService = new SpgeedDummyService(); - PollenUser user = spgeedDummyService.getPollenUser();*/ + SpgeedDummyService spgeedDummyService = new SpgeedDummyService(); + PollenUser user = spgeedDummyService.getPollenUser(); PollenUserService pollenUserService = newService(PollenUserService.class); - PollenUser user = null; - try { - ObjectMapper mapper = new ObjectMapper(); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - mapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true); - user = mapper.readValue(json, PollenUser.class); - } catch (IOException e) { - throw new PollenTechnicalException(e); - } return pollenUserService.toPollenUserBean(user); } public PollenUserEmailAddressBean getEmail() { - String json = "{\"topiaid\":\"PollenUserEmailAddress_M-wGbZ74QQCUr_hwl6JXmw\",\"topiaversion\":1,\"topiacreatedate\":\"2019-07-19T10:00:30.962\",\"emailaddress\":\"admin@chorem.org\",\"pgppublickey\":null,\"validated\":true,\"pollenuser\":\"PollenUser_6qdaqbgBTyCBa8Dvz5SeHQ\"}"; - // SpgeedDummyService spgeedDummyService = new SpgeedDummyService(); - //PollenUserEmailAddress email = spgeedDummyService.getPollenUserEmailaddress(); + SpgeedDummyService spgeedDummyService = new SpgeedDummyService(); + PollenUserEmailAddress email = spgeedDummyService.getPollenUserEmailaddress(); PollenUserService pollenUserService = newService(PollenUserService.class); - PollenUserEmailAddress email = null; - try { - ObjectMapper mapper = new ObjectMapper(); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - mapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true); - email = mapper.readValue(json, PollenUserEmailAddress.class); - } catch (IOException e) { - throw new PollenTechnicalException(e); - } return pollenUserService.toPollenUserEmailAddressBean(email); } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/security/SpgeedDummyService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/security/SpgeedDummyService.java index d1e3a92d..acd6669e 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/security/SpgeedDummyService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/security/SpgeedDummyService.java @@ -4,6 +4,7 @@ import org.chorem.pollen.persistence.PollenSpgeedApplicationContext; import org.chorem.pollen.persistence.PollenUserSpgeedDao; import org.chorem.pollen.persistence.entity.PollenUser; import org.chorem.pollen.persistence.entity.PollenUserEmailAddress; +import org.chorem.pollen.services.PollenTechnicalException; import org.chorem.pollen.services.config.PollenServicesConfig; import org.nuiton.spgeed.SqlSession; @@ -32,8 +33,8 @@ public class SpgeedDummyService { return (dao.getUser()); } catch(SQLException e) { + throw new PollenTechnicalException("erreur lors du chargement d'un utilisateur", e); } - return (null); } -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.