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 4838f0349cf0ad9c000feb617f24578fb208d9b7 Author: HERBRETEAU Killian <Killian_H@localhost.localdomain> Date: Fri Jul 26 09:19:57 2019 +0200 adding email deseralized with json string --- .../pollen/persistence/PollenUserSpgeedDao.java | 2 +- .../entity/ChildFavoriteListTopiaDao.java | 25 +++++++++++++++ .../persistence/entity/PollenUserEmailAddress.java | 10 +++++- .../entity/PollenUserEmailAddressImpl.java | 26 ++++++++++++++++ .../org/chorem/pollen/services/PollenFixtures.java | 16 ++-------- .../pollen/services/service/TransverseService.java | 36 +++++++++++++++++++--- 6 files changed, 95 insertions(+), 20 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 3caac703..3ec382d7 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 @@ -9,7 +9,7 @@ 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") PollenUser getUser(); - @Select(sql = "select json_agg(m.*) as pollenuseremailaddress from pollenuseremailaddress m) from PollenUser u") + @Select(sql = "select json_agg(m.*) from pollenuseremailaddress m") PollenUserEmailAddress getUserEmail(); @Select(sql = "SELECT count(*) FROM PollenUser") diff --git a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/ChildFavoriteListTopiaDao.java b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/ChildFavoriteListTopiaDao.java index 30524305..96c3ae2d 100644 --- a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/ChildFavoriteListTopiaDao.java +++ b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/ChildFavoriteListTopiaDao.java @@ -39,4 +39,29 @@ public class ChildFavoriteListTopiaDao extends AbstractChildFavoriteListTopiaDao return findPage(builder.getHql(), builder.getHqlParameters(), page); } + + public static class PollenUserEmailAddressImpl extends PollenUserEmailAddressAbstract { + + private static final long serialVersionUID = 7293078431378782306L; + + @Override + public void setEmailaddress(String emailAddress) { + setEmailAddress(emailAddress); + } + + @Override + public String getEmailaddress() { + return getEmailAddress(); + } + + @Override + public void setPgppublickey(String pgpPublicKey) { + setPgpPublicKey(pgpPublicKey); + } + + @Override + public String getPgppublickey() { + return getPgpPublicKey(); + } + } //PollenUserEmailAddressImpl } diff --git a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenUserEmailAddress.java b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenUserEmailAddress.java index 7616696f..c1765c05 100644 --- a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenUserEmailAddress.java +++ b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenUserEmailAddress.java @@ -3,7 +3,7 @@ package org.chorem.pollen.persistence.entity; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import org.nuiton.topia.persistence.TopiaEntity; -@JsonDeserialize(as = PollenUserEmailAddressImpl.class) +@JsonDeserialize(as = ChildFavoriteListTopiaDao.PollenUserEmailAddressImpl.class) public interface PollenUserEmailAddress extends TopiaEntity { String PROPERTY_EMAIL_ADDRESS = "emailAddress"; @@ -14,12 +14,20 @@ public interface PollenUserEmailAddress extends TopiaEntity { void setEmailAddress(String emailAddress); + void setEmailaddress(String emailAddress); + String getEmailAddress(); void setPgpPublicKey(String pgpPublicKey); String getPgpPublicKey(); + String getEmailaddress(); + + void setPgppublickey(String pgpPublicKey); + + String getPgppublickey(); + void setValidated(boolean validated); boolean isValidated(); diff --git a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenUserEmailAddressImpl.java b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenUserEmailAddressImpl.java new file mode 100644 index 00000000..fe5a4a2f --- /dev/null +++ b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenUserEmailAddressImpl.java @@ -0,0 +1,26 @@ +package org.chorem.pollen.persistence.entity; + +public class PollenUserEmailAddressImpl extends PollenUserEmailAddressAbstract { + + private static final long serialVersionUID = 7293078431378782306L; + + @Override + public void setEmailaddress(String emailAddress) { + setEmailAddress(emailAddress); + } + + @Override + public String getEmailaddress() { + return getEmailAddress(); + } + + @Override + public void setPgppublickey(String pgpPublicKey) { + setPgpPublicKey(pgpPublicKey); + } + + @Override + public String getPgppublickey() { + return getPgpPublicKey(); + } +} //PollenUserEmailAddressImpl diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/PollenFixtures.java b/pollen-services/src/main/java/org/chorem/pollen/services/PollenFixtures.java index 07cf0668..22a3fd79 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/PollenFixtures.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/PollenFixtures.java @@ -24,19 +24,7 @@ package org.chorem.pollen.services; import com.esotericsoftware.yamlbeans.YamlException; import com.esotericsoftware.yamlbeans.YamlReader; import org.apache.commons.io.IOUtils; -import org.chorem.pollen.persistence.entity.ChoiceImpl; -import org.chorem.pollen.persistence.entity.CommentImpl; -import org.chorem.pollen.persistence.entity.FavoriteListImpl; -import org.chorem.pollen.persistence.entity.FavoriteListMemberImpl; -import org.chorem.pollen.persistence.entity.PollImpl; -import org.chorem.pollen.persistence.entity.PollenPrincipalImpl; -import org.chorem.pollen.persistence.entity.PollenUserEmailAddressImpl; -import org.chorem.pollen.persistence.entity.PollenUserImpl; -import org.chorem.pollen.persistence.entity.QuestionImpl; -import org.chorem.pollen.persistence.entity.VoteImpl; -import org.chorem.pollen.persistence.entity.VoteToChoiceImpl; -import org.chorem.pollen.persistence.entity.VoterListImpl; -import org.chorem.pollen.persistence.entity.VoterListMemberImpl; +import org.chorem.pollen.persistence.entity.*; import java.io.IOException; import java.io.InputStream; @@ -72,7 +60,7 @@ public class PollenFixtures { reader.getConfig().setClassTag("vote", VoteImpl.class); reader.getConfig().setClassTag("pollen-principal", PollenPrincipalImpl.class); reader.getConfig().setClassTag("pollenUIContext", PollenUIContext.class); - reader.getConfig().setClassTag("email-address", PollenUserEmailAddressImpl.class); + reader.getConfig().setClassTag("email-address", ChildFavoriteListTopiaDao.PollenUserEmailAddressImpl.class); reader.getConfig().setClassTag("array-list", ArrayList.class); try { 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 7b4de25e..ef0d2d79 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 @@ -21,11 +21,18 @@ package org.chorem.pollen.services.service; * #L% */ +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.MapperFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.type.CollectionType; +import com.fasterxml.jackson.databind.type.TypeFactory; import com.google.common.collect.Lists; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; 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.UnitHuman; import org.chorem.pollen.services.bean.ConfigurationBean; import org.chorem.pollen.services.bean.PollenStatus; @@ -33,6 +40,7 @@ import org.chorem.pollen.services.bean.PollenUserBean; import org.chorem.pollen.services.bean.PollenUserEmailAddressBean; import org.chorem.pollen.services.service.security.SpgeedDummyService; +import java.io.IOException; import java.lang.management.ManagementFactory; import java.lang.management.OperatingSystemMXBean; import java.util.List; @@ -54,19 +62,39 @@ public class TransverseService extends PollenServiceSupport { public PollenUserBean getSpgeed() { - SpgeedDummyService spgeedDummyService = new SpgeedDummyService(); - PollenUser user = spgeedDummyService.getPollenUser(); + 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();*/ 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() { - SpgeedDummyService spgeedDummyService = new SpgeedDummyService(); - PollenUserEmailAddress email = spgeedDummyService.getPollenUserEmailaddress(); + 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(); 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); } -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.