This is an automated email from the git hooks/post-receive script. New commit to branch feature/28_avatars in repository pollen. See https://gitlab.nuiton.org/chorem/pollen.git commit 24e6ad02ac0ead09b2d055f551f32bcc7c94b723 Author: Kevin Morin <morin@codelutin.com> Date: Fri Sep 29 11:37:16 2017 +0200 rebase --- ..._2__add_avatar.sql => V3_1_0_2__add_avatar.sql} | 0 ..._2__add_avatar.sql => V3_1_0_2__add_avatar.sql} | 0 pollen-persistence/src/main/xmi/pollen.properties | 2 +- pollen-persistence/src/main/xmi/pollen.zargo | Bin 28560 -> 29157 bytes .../org/chorem/pollen/services/bean/PollBean.java | 5 ++-- .../bean/resource/AbstractResourceBean.java | 4 +++ .../services/bean/resource/ResourceFileBean.java | 27 +++++++++++++++------ .../services/bean/resource/ResourceMetaBean.java | 6 +++++ .../services/bean/resource/ResourceStreamBean.java | 10 ++++++-- .../pollen/services/service/ChoiceService.java | 1 - .../services/service/PollenResourceService.java | 17 ++++--------- .../pollen/services/service/PollenUserService.java | 13 ++++++++-- .../src/main/web/tag/UserProfile.tag.html | 1 + 13 files changed, 57 insertions(+), 29 deletions(-) diff --git a/pollen-persistence/src/main/resources/db/migration/h2/V3_0_1_2__add_avatar.sql b/pollen-persistence/src/main/resources/db/migration/h2/V3_1_0_2__add_avatar.sql similarity index 100% rename from pollen-persistence/src/main/resources/db/migration/h2/V3_0_1_2__add_avatar.sql rename to pollen-persistence/src/main/resources/db/migration/h2/V3_1_0_2__add_avatar.sql diff --git a/pollen-persistence/src/main/resources/db/migration/postgresql/V3_0_1_2__add_avatar.sql b/pollen-persistence/src/main/resources/db/migration/postgresql/V3_1_0_2__add_avatar.sql similarity index 100% rename from pollen-persistence/src/main/resources/db/migration/postgresql/V3_0_1_2__add_avatar.sql rename to pollen-persistence/src/main/resources/db/migration/postgresql/V3_1_0_2__add_avatar.sql diff --git a/pollen-persistence/src/main/xmi/pollen.properties b/pollen-persistence/src/main/xmi/pollen.properties index fb44dc92..4d9d4fbb 100644 --- a/pollen-persistence/src/main/xmi/pollen.properties +++ b/pollen-persistence/src/main/xmi/pollen.properties @@ -18,7 +18,7 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. # #L% ###m -model.tagvalue.version=3.0.1.2 +model.tagvalue.version=3.1.0.2 #model.tagValue.notGenerateToString=true #model.tagValue.constantPrefix=PROPERTY_ #model.tagValue.useEnumerationName=true diff --git a/pollen-persistence/src/main/xmi/pollen.zargo b/pollen-persistence/src/main/xmi/pollen.zargo index 99dbdb63..e77a7ac6 100644 Binary files a/pollen-persistence/src/main/xmi/pollen.zargo and b/pollen-persistence/src/main/xmi/pollen.zargo differ diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollBean.java b/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollBean.java index b8babfaf..dd89ed27 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollBean.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollBean.java @@ -458,20 +458,19 @@ public class PollBean extends PollenBean<Poll> { this.gtuValidated = gtuValidated; } -<<<<<<< HEAD public int getMaxVoters() { return maxVoters; } public void setMaxVoters(int maxVoters) { this.maxVoters = maxVoters; -======= + } + public String getCreatorAvatar() { return creatorAvatar; } public void setCreatorAvatar(String creatorAvatar) { this.creatorAvatar = creatorAvatar; ->>>>>>> refs #28 utilisation de l'avatar } } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/bean/resource/AbstractResourceBean.java b/pollen-services/src/main/java/org/chorem/pollen/services/bean/resource/AbstractResourceBean.java index 33ac329e..e5376071 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/bean/resource/AbstractResourceBean.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/bean/resource/AbstractResourceBean.java @@ -4,6 +4,8 @@ import org.chorem.pollen.persistence.entity.PollenResource; import org.chorem.pollen.persistence.entity.ResourceType; import org.chorem.pollen.services.bean.PollenBean; +import java.sql.Blob; + /** * @author Kevin Morin (Code Lutin) */ @@ -52,4 +54,6 @@ public abstract class AbstractResourceBean extends PollenBean<PollenResource> { public void setResourceType(ResourceType resourceType) { this.resourceType = resourceType; } + + public abstract Blob getResourceBlob(); } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/bean/resource/ResourceFileBean.java b/pollen-services/src/main/java/org/chorem/pollen/services/bean/resource/ResourceFileBean.java index 9b6355d5..9b01cb24 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/bean/resource/ResourceFileBean.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/bean/resource/ResourceFileBean.java @@ -22,7 +22,10 @@ package org.chorem.pollen.services.bean.resource; */ import org.apache.commons.io.IOUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.chorem.pollen.persistence.entity.PollenResource; +import org.chorem.pollen.services.PollenTechnicalException; import javax.sql.rowset.serial.SerialBlob; import java.io.File; @@ -41,6 +44,9 @@ import java.util.zip.ZipException; */ public class ResourceFileBean extends AbstractResourceBean { + /** Logger. */ + private static final Log log = LogFactory.getLog(ResourceFileBean.class); + protected File file; public ResourceFileBean() { @@ -55,16 +61,21 @@ public class ResourceFileBean extends AbstractResourceBean { this.file = file; } - public Blob getResourceBlob() throws IOException, SQLException { - InputStream stream; - + @Override + public Blob getResourceBlob() { try { - stream = new GZIPInputStream(new FileInputStream(getFile())); - } catch (ZipException e) { - stream = new FileInputStream(getFile()); - } + InputStream stream; + try { + stream = new GZIPInputStream(new FileInputStream(getFile())); + } catch (ZipException e) { + stream = new FileInputStream(getFile()); + } - return new SerialBlob(IOUtils.toByteArray(stream)); + return new SerialBlob(IOUtils.toByteArray(stream)); + + } catch (SQLException | IOException e) { + throw new PollenTechnicalException(e); + } } } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/bean/resource/ResourceMetaBean.java b/pollen-services/src/main/java/org/chorem/pollen/services/bean/resource/ResourceMetaBean.java index 9cd1e54a..205af501 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/bean/resource/ResourceMetaBean.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/bean/resource/ResourceMetaBean.java @@ -23,6 +23,7 @@ package org.chorem.pollen.services.bean.resource; import org.chorem.pollen.persistence.entity.PollenResource; +import java.sql.Blob; import java.util.Date; /** @@ -45,4 +46,9 @@ public class ResourceMetaBean extends AbstractResourceBean { public void setUploadDate(Date uploadDate) { this.uploadDate = uploadDate; } + + @Override + public Blob getResourceBlob() { + return null; + } } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/bean/resource/ResourceStreamBean.java b/pollen-services/src/main/java/org/chorem/pollen/services/bean/resource/ResourceStreamBean.java index 833b98ba..9f94e900 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/bean/resource/ResourceStreamBean.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/bean/resource/ResourceStreamBean.java @@ -23,6 +23,7 @@ package org.chorem.pollen.services.bean.resource; import org.apache.commons.io.IOUtils; import org.chorem.pollen.persistence.entity.PollenResource; +import org.chorem.pollen.services.PollenTechnicalException; import javax.sql.rowset.serial.SerialBlob; import java.io.IOException; @@ -51,7 +52,12 @@ public class ResourceStreamBean extends AbstractResourceBean { this.resourceContent = resourceContent; } - public Blob getResourceBlob() throws IOException, SQLException { - return new SerialBlob(IOUtils.toByteArray(getResourceContent())); + @Override + public Blob getResourceBlob() { + try { + return new SerialBlob(IOUtils.toByteArray(getResourceContent())); + } catch (SQLException | IOException e) { + throw new PollenTechnicalException(e); + } } } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/ChoiceService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/ChoiceService.java index ae12f859..af4a67ff 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/ChoiceService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/ChoiceService.java @@ -324,7 +324,6 @@ public class ChoiceService extends PollenServiceSupport { choiceDate.setTimeInMillis(Long.parseLong(choice.getChoiceValue())); } catch (NumberFormatException e) { - e.printStackTrace(); check(errors, "choiceValue", false, l(getLocale(), "pollen.error.choice.choiceDateInvalid", choice.getChoiceValue())); } if (choiceDate != null) { diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenResourceService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenResourceService.java index 44b793fe..f3d41c15 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenResourceService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenResourceService.java @@ -26,10 +26,10 @@ import org.chorem.pollen.persistence.entity.ResourceType; import org.chorem.pollen.services.PollenService; import org.chorem.pollen.services.PollenTechnicalException; import org.chorem.pollen.services.UnitHuman; -import org.chorem.pollen.services.bean.GtuMetaBean; import org.chorem.pollen.services.bean.PollenEntityId; import org.chorem.pollen.services.bean.PollenEntityRef; import org.chorem.pollen.services.bean.resource.AbstractResourceBean; +import org.chorem.pollen.services.bean.resource.GtuMetaBean; import org.chorem.pollen.services.bean.resource.ResourceFileBean; import org.chorem.pollen.services.bean.resource.ResourceMetaBean; import org.chorem.pollen.services.bean.resource.ResourceStreamBean; @@ -171,7 +171,7 @@ public class PollenResourceService extends PollenServiceSupport implements Polle errorMap.failIfNotEmpty(); // commit done by the caller - return getPollenResourceDao().create(resource.toEntity()); + return getPollenResourceDao().create(saveResource(resource)); } public void deleteResource(String resourceId) { @@ -191,7 +191,7 @@ public class PollenResourceService extends PollenServiceSupport implements Polle public ResourceStreamBean getAvatar(String userId) { PollenResource resource = getPollenResourceDao().findAvatarForUser(userId); - return toBean(ResourceStreamBean.class, resource); + return toResourceStreamBean(resource); } protected PollenResource getResource0(String resourceId) { @@ -200,7 +200,7 @@ public class PollenResourceService extends PollenServiceSupport implements Polle } - protected PollenResource saveResource(ResourceFileBean resource) { + protected PollenResource saveResource(AbstractResourceBean resource) { boolean resourceExist = resource.isPersisted(); @@ -216,14 +216,7 @@ public class PollenResourceService extends PollenServiceSupport implements Polle toSave.setContentType(resource.getContentType()); toSave.setSize(resource.getSize()); toSave.setResourceType(resource.getResourceType()); - try { - toSave.setResourceContent(resource.getResourceBlob()); - } catch (IOException | SQLException e) { - e.printStackTrace(); - - // no save - return null; - } + toSave.setResourceContent(resource.getResourceBlob()); return toSave; } 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 3d9b7102..9b94f51b 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 @@ -23,6 +23,8 @@ package org.chorem.pollen.services.service; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.apache.shiro.util.CollectionUtils; import org.chorem.pollen.persistence.entity.Comment; import org.chorem.pollen.persistence.entity.PollenPrincipal; @@ -30,8 +32,8 @@ import org.chorem.pollen.persistence.entity.PollenResource; import org.chorem.pollen.persistence.entity.PollenToken; import org.chorem.pollen.persistence.entity.PollenUser; import org.chorem.pollen.persistence.entity.PollenUserTopiaDao; -import org.chorem.pollen.persistence.entity.UserCredential; import org.chorem.pollen.persistence.entity.ResourceType; +import org.chorem.pollen.persistence.entity.UserCredential; import org.chorem.pollen.persistence.entity.Vote; import org.chorem.pollen.services.PollenService; import org.chorem.pollen.services.bean.PaginationParameterBean; @@ -47,6 +49,8 @@ import org.nuiton.util.pagination.PaginationOrder; import org.nuiton.util.pagination.PaginationParameter; import org.nuiton.util.pagination.PaginationResult; +import java.io.IOException; +import java.sql.SQLException; import java.util.Date; import java.util.List; import java.util.Objects; @@ -62,6 +66,9 @@ import static org.nuiton.i18n.I18n.l; */ public class PollenUserService extends PollenServiceSupport implements PollenService { + /** Logger. */ + private static final Log log = LogFactory.getLog(PollenUserService.class); + public PollenUserBean toPollenUserBean(PollenUser entity) { PollenUserBean bean = new PollenUserBean(); bean.setEntityId(entity.getTopiaId()); @@ -263,7 +270,9 @@ public class PollenUserService extends PollenServiceSupport implements PollenSer try { validateUserEmail(admin.getTopiaId(), admin.getEmailActivationToken().getToken()); } catch (PollenInvalidEmailActivationTokenException e) { - e.printStackTrace(); + if (log.isErrorEnabled()) { + log.error("Email of default user is not valid", e); + } } commit(); } diff --git a/pollen-ui-riot-js/src/main/web/tag/UserProfile.tag.html b/pollen-ui-riot-js/src/main/web/tag/UserProfile.tag.html index 5e0cf192..0fe89cfe 100644 --- a/pollen-ui-riot-js/src/main/web/tag/UserProfile.tag.html +++ b/pollen-ui-riot-js/src/main/web/tag/UserProfile.tag.html @@ -322,6 +322,7 @@ require("./components/LetterAvatar.tag.html"); userService.setUserAvatar(this.refs.avatar.files[0]).then((result) => { console.log(result); this.user.avatar = result.id; + this.session.updateUser(); this.update(); }); } -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.