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 38b94ea6c58125163d20ea6e2f067abd9e550369 Author: Killian <killian.herbreteau@epitech.eu> Date: Thu Aug 1 10:29:46 2019 +0200 get all user for perf test (missing topia request) --- .../persistence/Dao/PollenUserSpgeedDao.java | 9 ++++-- .../persistence/entity/PollenPrincipals.java | 2 ++ .../service/security/SpgeedDummyService.java | 24 +++++++++++--- .../org/chorem/pollen/services/SpgeedTest.java | 37 ++++++++++++++++++---- 4 files changed, 58 insertions(+), 14 deletions(-) diff --git a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/Dao/PollenUserSpgeedDao.java b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/Dao/PollenUserSpgeedDao.java index 71cf5e7c..7a5fe0d4 100644 --- a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/Dao/PollenUserSpgeedDao.java +++ b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/Dao/PollenUserSpgeedDao.java @@ -6,14 +6,19 @@ import org.nuiton.spgeed.annotations.Select; public interface PollenUserSpgeedDao { - @Select(sql = "with pollenu as " + + String getuser ="with pollenu as " + "(select name, administrator, language, password, banned, gtuvalidationdate, premiumto, cancreatepoll, " + "(select json_agg(e) as emailaddresses from pollenuseremailaddress e), " + "(select json_agg(d)->0 as defaultemailaddress from pollenuseremailaddress d)" + " from pollenuser)" + - " select json_agg(pu) from pollenu pu") + " select json_agg(pu) from pollenu pu"; + + @Select(sql = getuser) PollenUser getUser(); + @Select(sql = getuser) + PollenUser[] getallUser(); + @Select(sql = "select json_agg(m.*) from pollenuseremailaddress m") PollenUserEmailAddress getUserEmail(); diff --git a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenPrincipals.java b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenPrincipals.java index e7b5d1ec..5a8b799c 100644 --- a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenPrincipals.java +++ b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenPrincipals.java @@ -21,6 +21,7 @@ package org.chorem.pollen.persistence.entity; * #L% */ +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import org.nuiton.topia.persistence.TopiaEntity; /** @@ -29,6 +30,7 @@ import org.nuiton.topia.persistence.TopiaEntity; * @author Tony Chemit - dev@tchemit.fr * @since 2.0 */ +@JsonDeserialize(as = PollenPrincipalImpl.class) public class PollenPrincipals { public static <E extends TopiaEntity> PollenPrincipal getPrincipal(E entity) { 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 ca901ed2..5fb09f43 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 @@ -45,9 +45,10 @@ public class SpgeedDummyService { return (dao.getallpoll()); } catch(SQLException e) { - throw new PollenTechnicalException("erreur lors du chargement d'un utilisateur", e); + throw new PollenTechnicalException("erreur lors du chargement d'un sondage", e); } } + public PollenUser getPollenUser() { DataSource ds = getdb(); @@ -63,6 +64,21 @@ public class SpgeedDummyService { } + public PollenUser[] getallPollenUser() { + + DataSource ds = getdb(); + + try (SqlSession session = new SqlSession(ds)) { + + PollenUserSpgeedDao dao = session.getDao(PollenUserSpgeedDao.class); + + return (dao.getallUser()); + } catch(SQLException e) { + throw new PollenTechnicalException("erreur lors du chargement d'un utilisateur", e); + } + + } + public PollenUserEmailAddress getPollenUserEmailaddress() { DataSource ds = getdb(); @@ -73,9 +89,8 @@ public class SpgeedDummyService { return (dao.getUserEmail()); } catch(SQLException e) { + throw new PollenTechnicalException("erreur lors du chargement d'une address mail", e); } - return (null); - } public int getPollenUsercount() { @@ -88,9 +103,8 @@ public class SpgeedDummyService { return (dao.getUserCount()); } catch(SQLException e) { + throw new PollenTechnicalException("erreur lors du chargement d'un utilisateur", e); } - return (0); - } } diff --git a/pollen-services/src/test/java/org/chorem/pollen/services/SpgeedTest.java b/pollen-services/src/test/java/org/chorem/pollen/services/SpgeedTest.java index f11d99c5..c3fa52b9 100644 --- a/pollen-services/src/test/java/org/chorem/pollen/services/SpgeedTest.java +++ b/pollen-services/src/test/java/org/chorem/pollen/services/SpgeedTest.java @@ -3,12 +3,26 @@ package org.chorem.pollen.services; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.MapperFeature; import com.fasterxml.jackson.databind.ObjectMapper; +import org.chorem.pollen.persistence.PollenTopiaApplicationContext; import org.chorem.pollen.persistence.entity.Poll; import org.chorem.pollen.persistence.entity.PollenUser; import org.chorem.pollen.persistence.entity.PollenUserEmailAddress; +import org.chorem.pollen.services.config.PollenServicesConfig; +import org.chorem.pollen.services.config.PollenServicesConfigOption; +import org.chorem.pollen.services.service.PollenServiceSupport; import org.chorem.pollen.services.service.security.SpgeedDummyService; +import org.chorem.pollen.services.test.FakePollenApplicationContext; +import org.chorem.pollen.services.test.FakePollenServiceContext; import org.junit.Assert; import org.junit.Test; +import org.nuiton.topia.persistence.BeanTopiaConfiguration; +import org.nuiton.topia.persistence.TopiaApplicationContext; +import org.nuiton.topia.persistence.TopiaConfigurationBuilder; + +import java.io.File; +import java.util.Date; +import java.util.Map; +import java.util.Properties; /** * @author ymartel (martel@codelutin.com) @@ -87,15 +101,24 @@ public class SpgeedTest { @Test public void testUserDeserializationCallDB() { + Date now = new Date(); + long start = now.getTime(); SpgeedDummyService spgeedDummyService = new SpgeedDummyService(); - PollenUser pollenUser = spgeedDummyService.getPollenUser(); + PollenUser[] pollenUser = spgeedDummyService.getallPollenUser(); + now = new Date(); + long spgeed_time = now.getTime(); + FakePollenApplicationContext applicationContext = new FakePollenApplicationContext("pollen-service.properties"); + applicationContext.init(); + TopiaApplicationContext topiaApplicationContext = applicationContext.getTopiaApplicationContext(); + PollenServiceContext serviceContext = topiaApplicationContext.getServices(); + //PollTopiaDao dao = get + //PollenUser[] topiauser = getAll; + now = new Date(); + long topia_hibernate_time = now.getTime(); - Assert.assertNotNull(pollenUser); - Assert.assertEquals("admin", pollenUser.getName()); - Assert.assertNotNull(pollenUser.getEmailAddresses()); - Assert.assertNotNull(pollenUser.getDefaultEmailAddress()); - Assert.assertEquals("admin@chorem.org", pollenUser.getDefaultEmailAddress().getEmailaddress()); - Assert.assertTrue(pollenUser.isAdministrator()); + System.out.println(spgeed_time - start); + System.out.println("Spgeed time: "+ (spgeed_time - start) + "\nTopia & hibernate time: "+(topia_hibernate_time - spgeed_time)); + Assert.assertTrue(spgeed_time - start < topia_hibernate_time - spgeed_time); } @Test -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.