branch feature/feedDeletion created (now 1993451c)
This is an automated email from the git hooks/post-receive script. New change to branch feature/feedDeletion in repository pollen. See https://gitlab.nuiton.org/chorem/pollen.git at 1993451c Delete feeds in pollen This branch includes the following new commits: new 1993451c Delete feeds in pollen The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 1993451cc109ada14eff322674fed659cd43e052 Author: jcouteau <couteau@codelutin.com> Date: Tue Dec 1 10:58:04 2020 +0100 Delete feeds in pollen -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/feedDeletion in repository pollen. See https://gitlab.nuiton.org/chorem/pollen.git commit 1993451cc109ada14eff322674fed659cd43e052 Author: jcouteau <couteau@codelutin.com> Date: Tue Dec 1 10:58:04 2020 +0100 Delete feeds in pollen --- .../rest/api/PollenRestApiRequestFilter.java | 2 - .../org/chorem/pollen/rest/api/v1/PollApi.java | 10 - .../pollen/services/service/ChoiceService.java | 1 - .../pollen/services/service/CommentService.java | 6 - .../pollen/services/service/FeedService.java | 212 --------------------- .../pollen/services/service/PollService.java | 4 - .../services/service/PollenServiceSupport.java | 4 - .../pollen/services/service/VoteService.java | 3 - .../src/main/web/tag/poll/Poll.tag.html | 5 - 9 files changed, 247 deletions(-) diff --git a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java index edeff908..c026af45 100644 --- a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java +++ b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java @@ -38,7 +38,6 @@ import org.chorem.pollen.services.service.ChoiceService; import org.chorem.pollen.services.service.CommentService; import org.chorem.pollen.services.service.CryptoService; import org.chorem.pollen.services.service.FavoriteListService; -import org.chorem.pollen.services.service.FeedService; import org.chorem.pollen.services.service.FeedbackService; import org.chorem.pollen.services.service.GtuService; import org.chorem.pollen.services.service.NotificationService; @@ -123,7 +122,6 @@ public class PollenRestApiRequestFilter implements ContainerRequestFilter, Conta FavoriteListService.class, EmailService.class, NotificationService.class, - FeedService.class, PollService.class, SecurityService.class, ReportService.class, diff --git a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/PollApi.java b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/PollApi.java index fd552dee..8d0f43bc 100644 --- a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/PollApi.java +++ b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/PollApi.java @@ -35,7 +35,6 @@ import org.chorem.pollen.services.bean.PollenEntityId; import org.chorem.pollen.services.bean.PollenEntityRef; import org.chorem.pollen.services.bean.export.ExportBean; import org.chorem.pollen.services.service.ChoiceService; -import org.chorem.pollen.services.service.FeedService; import org.chorem.pollen.services.service.InvalidFormException; import org.chorem.pollen.services.service.PollService; import org.jboss.resteasy.annotations.GZIP; @@ -188,15 +187,6 @@ public class PollApi { return pollService.assignPollToConnectedUser(pollId.getEntityId()); } - @Path("/polls/{pollId}/feed") - @Produces(MediaType.APPLICATION_ATOM_XML) - @GET - public Response getFeedForPoll(@Context FeedService feedService, - @PathParam("pollId") PollenEntityId<Poll> pollId) { - String feedContent = feedService.getFeedContentForPoll(pollId.getEntityId()); - return Response.ok(feedContent).build(); - } - @Path("/polls/{pollId}/invalidEmails") @GET @GZIP 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 01ad0e2c..b81c77ca 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 @@ -150,7 +150,6 @@ public class ChoiceService extends PollenServiceSupport { commit(); getNotificationService().onChoiceAdded(question, result); - getFeedService().onChoiceAdded(question, result); return PollenEntityRef.of(result); } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/CommentService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/CommentService.java index 158a495c..a60a7bef 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/CommentService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/CommentService.java @@ -260,7 +260,6 @@ public class CommentService extends PollenServiceSupport { commit(); getNotificationService().onCommentAdded(poll, result); - getFeedService().onCommentAdded(poll, result); return PollenEntityRef.of(result); @@ -292,7 +291,6 @@ public class CommentService extends PollenServiceSupport { commit(); getNotificationService().onCommentAdded(question, result); - getFeedService().onCommentAdded(question, result); return PollenEntityRef.of(result); } @@ -315,7 +313,6 @@ public class CommentService extends PollenServiceSupport { commit(); getNotificationService().onCommentEdited(poll, result); - getFeedService().onCommentEdited(poll, result); return toCommentBean(result); @@ -347,7 +344,6 @@ public class CommentService extends PollenServiceSupport { commit(); getNotificationService().onCommentEdited(question, result); - getFeedService().onCommentEdited(question, result); return toCommentBean(result); } @@ -368,7 +364,6 @@ public class CommentService extends PollenServiceSupport { commit(); getNotificationService().onCommentDeleted(poll, comment); - getFeedService().onCommentDeleted(poll, comment); } @@ -396,7 +391,6 @@ public class CommentService extends PollenServiceSupport { commit(); getNotificationService().onCommentDeleted(poll, comment); - getFeedService().onCommentDeleted(poll, comment); } protected Comment getComment(Poll poll, String commentId) { diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/FeedService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/FeedService.java deleted file mode 100644 index 1086014b..00000000 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/FeedService.java +++ /dev/null @@ -1,212 +0,0 @@ -package org.chorem.pollen.services.service; - -/*- - * #%L - * Pollen :: Service - * %% - * Copyright (C) 2009 - 2017 CodeLutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * #L% - */ - -import com.rometools.rome.feed.synd.SyndContent; -import com.rometools.rome.feed.synd.SyndContentImpl; -import com.rometools.rome.feed.synd.SyndEntry; -import com.rometools.rome.feed.synd.SyndEntryImpl; -import com.rometools.rome.feed.synd.SyndFeed; -import com.rometools.rome.feed.synd.SyndFeedImpl; -import com.rometools.rome.io.FeedException; -import com.rometools.rome.io.SyndFeedInput; -import com.rometools.rome.io.SyndFeedOutput; -import org.apache.commons.lang3.StringUtils; -import org.chorem.pollen.persistence.entity.Choice; -import org.chorem.pollen.persistence.entity.Comment; -import org.chorem.pollen.persistence.entity.Poll; -import org.chorem.pollen.persistence.entity.Question; -import org.chorem.pollen.persistence.entity.Vote; -import org.chorem.pollen.services.PollenTechnicalException; -import org.chorem.pollen.services.service.security.PollenPermissions; - -import java.io.StringReader; -import java.text.DateFormat; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.List; -import java.util.Set; - -import static org.nuiton.i18n.I18n.n; -import static org.nuiton.i18n.I18n.t; - -/** - * @author Kevin Morin (Code Lutin) - * @since 3.0 - */ -public class FeedService extends PollenServiceSupport { - - public static final String FEED_TYPE = "atom_1.0"; - public static final String DESCRIPTION_TYPE = "text/plain"; - - public void onPollCreated(Poll poll) { - SyndFeed feed = new SyndFeedImpl(); - feed.setFeedType(FEED_TYPE); - - feed.setTitle(poll.getTitle()); - String voteUrl = getPollVoteUrl(poll); - feed.setLink(voteUrl); - feed.setDescription(poll.getDescription()); - - SyndEntry entry = new SyndEntryImpl(); - entry.setTitle(t("pollen.service.feed.pollCreated.title", poll.getCreator().getName(), poll.getTitle())); - entry.setLink(voteUrl); - entry.setPublishedDate(poll.getTopiaCreateDate()); - - SyndContent description = new SyndContentImpl(); - description.setType(DESCRIPTION_TYPE); - description.setValue(t("pollen.service.feed.pollCreated.description", - DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT).format(poll.getTopiaCreateDate()), - poll.getCreator().getName(), - poll.getTitle())); - entry.setDescription(description); - - List<SyndEntry> feedEntries = Collections.singletonList(entry); - feed.setEntries(feedEntries); - - saveFeed(poll, feed); - } - - public void onPollEdited(Poll poll) { - addFeedEntry(poll, t("pollen.service.feed.pollEdited.title")); - } - - public void onPollClosed(Poll poll) { - addFeedEntry(poll, t("pollen.service.feed.pollClosed.title")); - } - - public void onPollReopened(Poll poll) { - addFeedEntry(poll, t("pollen.service.feed.pollReopened.title")); - } - - public void onChoiceAdded(Question question, Choice choice) { - addFeedEntry(question.getPoll(), t("pollen.service.feed.choiceAdded.title")); - } - - public void onVoteAdded(Question question, Vote vote) { - addVoteFeedEntry(question.getPoll(), vote, n("pollen.service.feed.voteAdded.title")); - } - - public void onVoteEdited(Question question, Vote vote) { - addVoteFeedEntry(question.getPoll(), vote, n("pollen.service.feed.voteEdited.title")); - } - - public void onVoteDeleted(Question question, Vote vote) { - addVoteFeedEntry(question.getPoll(), vote, n("pollen.service.feed.voteDeleted.title")); - } - - public void onCommentAdded(Poll poll, Comment comment) { - addFeedEntry(poll, t("pollen.service.feed.commentAdded.title", comment.getAuthor())); - } - - public void onCommentEdited(Poll poll, Comment comment) { - addFeedEntry(poll, t("pollen.service.feed.commentEdited.title", comment.getAuthor())); - } - - public void onCommentDeleted(Poll poll, Comment comment) { - addFeedEntry(poll, t("pollen.service.feed.commentDeleted.title", comment.getAuthor())); - } - - public void onCommentAdded(Question question, Comment comment) { - //FIXME JC181002 - FeedEntry spécifique pour questions - addFeedEntry(question.getPoll(), t("pollen.service.feed.commentAdded.title", comment.getAuthor())); - } - - public void onCommentEdited(Question question, Comment comment) { - //FIXME JC181002 - FeedEntry spécifique pour questions - addFeedEntry(question.getPoll(), t("pollen.service.feed.commentEdited.title", comment.getAuthor())); - } - - public void onCommentDeleted(Question question, Comment comment) { - //FIXME JC181002 - FeedEntry spécifique pour questions - addFeedEntry(question.getPoll(), t("pollen.service.feed.commentDeleted.title", comment.getAuthor())); - } - - public SyndFeed getFeedForPoll(String pollId) { - checkNotNull(pollId); - - Poll poll = getPollService().getPoll0(pollId); - checkPermission(PollenPermissions.read(poll)); - - if (StringUtils.isBlank(poll.getFeedContent())) { - // uniquement pour les sondages créé avant la génération de flux RSS - onPollCreated(poll); - } - - try { - SyndFeedInput feedInput = new SyndFeedInput(true, getLocale()); - return feedInput.build(new StringReader(poll.getFeedContent())); - - } catch (FeedException e) { - throw new PollenTechnicalException("Error while reading the feed", e); - } - } - - public String getFeedContentForPoll(String pollId) { - checkIsConnectedRequired(); - - checkNotNull(pollId); - - Poll poll = getPollService().getPoll0(pollId); - checkPermission(PollenPermissions.read(poll)); - - return poll.getFeedContent(); - } - - private void addVoteFeedEntry(Poll poll, Vote vote, String messageKey) { - String voterName; - if (vote.isAnonymous()) { - voterName = t("pollen.service.feed.anonymous"); - } else { - voterName = vote.getVoter().getName(); - } - addFeedEntry(poll, t(messageKey, voterName)); - } - - private void addFeedEntry(Poll poll, String title) { - SyndFeed feed = getFeedForPoll(poll.getTopiaId()); - List<SyndEntry> entries = new ArrayList<>(feed.getEntries()); - - SyndEntry entry = new SyndEntryImpl(); - entry.setTitle(title); - entry.setLink(getPollVoteUrl(poll)); - entry.setPublishedDate(new Date()); - - entries.add(entry); - feed.setEntries(entries); - - saveFeed(poll, feed); - } - - private void saveFeed(Poll poll, SyndFeed feed) { - try { - SyndFeedOutput output = new SyndFeedOutput(); - String feedContent = output.outputString(feed); - poll.setFeedContent(feedContent); - commit(); - - } catch (FeedException e) { - throw new PollenTechnicalException("Error while creating the feed", e); - } - } -} diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java index a46f53da..ab564278 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java @@ -360,7 +360,6 @@ public class PollService extends PollenServiceSupport { commit(); getNotificationService().onPollCreated(savedPoll); - getFeedService().onPollCreated(savedPoll); return PollenEntityRef.of(savedPoll); @@ -385,7 +384,6 @@ public class PollService extends PollenServiceSupport { commit(); getNotificationService().onPollEdited(savedPoll); - getFeedService().onPollEdited(savedPoll); return toPollBean(savedPoll); } @@ -462,7 +460,6 @@ public class PollService extends PollenServiceSupport { commit(); getNotificationService().onPollClosed(poll); - getFeedService().onPollClosed(poll); return poll.getEndDate(); } @@ -483,7 +480,6 @@ public class PollService extends PollenServiceSupport { commit(); getNotificationService().onPollReopened(poll); - getFeedService().onPollReopened(poll); } } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenServiceSupport.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenServiceSupport.java index 37effb9c..c9d39c9b 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenServiceSupport.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenServiceSupport.java @@ -134,10 +134,6 @@ public abstract class PollenServiceSupport implements PollenService { return newService(NotificationService.class); } - protected FeedService getFeedService() { - return newService(FeedService.class); - } - protected GtuService getGtuService() { return newService(GtuService.class); } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteService.java index 85aed539..5138f2dc 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteService.java @@ -279,7 +279,6 @@ public class VoteService extends PollenServiceSupport { commit(); getNotificationService().onVoteAdded(question, result); - getFeedService().onVoteAdded(question, result); int maxVoters = getPollService().getMaxVoters(question.getPoll()); if (maxVoters > 0 && getVoteCount(question) > maxVoters) { @@ -320,7 +319,6 @@ public class VoteService extends PollenServiceSupport { commit(); getNotificationService().onVoteEdited(question, result); - getFeedService().onVoteEdited(question, result); return toVoteBean(result); @@ -350,7 +348,6 @@ public class VoteService extends PollenServiceSupport { commit(); getNotificationService().onVoteDeleted(question, vote); - getFeedService().onVoteDeleted(question, vote); } diff --git a/pollen-ui-riot-js/src/main/web/tag/poll/Poll.tag.html b/pollen-ui-riot-js/src/main/web/tag/poll/Poll.tag.html index 7e5d10e0..1511b7ad 100644 --- a/pollen-ui-riot-js/src/main/web/tag/poll/Poll.tag.html +++ b/pollen-ui-riot-js/src/main/web/tag/poll/Poll.tag.html @@ -27,11 +27,6 @@ <QrCodeButton if="{poll.pollType === 'FREE'}" class="title-button not-printable" value="{window.location.origin}{window.location.pathname}#poll/{poll.id}/vote" title="{_t.qrcode}"/> - <a href="{session.configuration.endPoint}/v1/polls/{poll.id}/feed?{poll.permission ? 'permission=' + poll.permission : ''}" - class="c-button c-button--info title-button not-printable" - title="{_t.rss}"> - <i class="fa fa-rss" aria-hidden="true"></i> - </a> <a class="c-button c-button--info title-button not-printable" href="javascript:window.print()" title="{_t.print}"> <i class="fa fa-print" aria-hidden="true"></i> </a> -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.
participants (1)
-
chorem.org scm