This is an automated email from the git hooks/post-receive script. New commit to branch feature/1112 in repository pollen. See http://git.chorem.org/pollen.git commit a955a64e038ef215e198d84c61d69413d2fcd319 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Sep 21 07:25:06 2014 +0200 refs #1112 : complete Export service --- .../pollen/services/impl/PollenExportService.java | 128 +++++++++++---------- 1 file changed, 66 insertions(+), 62 deletions(-) diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollenExportService.java b/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollenExportService.java index 4237a70..0557181 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollenExportService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollenExportService.java @@ -35,8 +35,8 @@ import org.chorem.pollen.services.PollenServiceSupport; import java.io.File; import java.io.IOException; -import java.util.Map; -import java.util.TreeMap; +import java.util.ArrayList; +import java.util.List; /** * Created on 9/19/14. @@ -57,7 +57,7 @@ public class PollenExportService extends PollenServiceSupport { public void exportData(File zipFile) { PollenData data = new PollenData(); - data.setVersion(getConfiguration().getVersion().getVersion()); + data.setVersion(PollenDataStorage.VERSION_FROM_POLLEN_1_6); data.setDescription("From Pollen at " + getConfiguration().getApplicationUrl()); data.setDate(serviceContext.getCurrentTime()); @@ -92,24 +92,34 @@ public class PollenExportService extends PollenServiceSupport { protected void extractPolls(PollenData data) { - Map<String, PollenUser> userMap = new TreeMap<String, PollenUser>(); - - for (PollenUser user : data.getUsers()) { - userMap.put(user.getId(), user); - } - PollDAO dao = getDAO(org.chorem.pollen.business.persistence.Poll.class); for (org.chorem.pollen.business.persistence.Poll poll : dao) { - Poll exportPoll = extractPoll(poll, userMap, data); + Poll exportPoll = extractPoll(poll, data); data.addPoll(exportPoll); } } - protected Poll extractPoll(org.chorem.pollen.business.persistence.Poll incomingPoll, Map<String, PollenUser> userMap, PollenData data) { + protected void extractResources(Poll poll, PollenData data) { + + String pollId = poll.getCreator().getPermission().getToken(); + + for (Choice choice : poll.getChoices()) { + + if (ChoiceType.RESOURCE == choice.getChoiceType()) { + + PollenResource resourceFile = extractChoiceResource(pollId, choice); + data.addResource(resourceFile); + + } + } + + } + + protected Poll extractPoll(org.chorem.pollen.business.persistence.Poll incomingPoll, PollenData data) { Poll poll = new Poll(); poll.setId(incomingPoll.getTopiaId()); @@ -128,22 +138,20 @@ public class PollenExportService extends PollenServiceSupport { poll.setPollType(PollType.valueOf(incomingPoll.getPollType().name())); poll.setResultVisibility(incomingPoll.isPollFree() ? ResultVisibility.EVERYBODY : ResultVisibility.VOTER); poll.setVoteCountingType(incomingPoll.getVoteCountingType() + 1); - PollenPrincipal creator = extractPrincipal(incomingPoll.getCreator(), userMap); + PollenPrincipal creator = extractPrincipal(incomingPoll.getCreator()); poll.setCreator(creator); - Map<String, Choice> choices = new TreeMap<String, Choice>(); + List<String> choiceIds = new ArrayList<String>(); if (!incomingPoll.isChoiceEmpty()) { - String pollId = poll.getCreator().getPermission().getToken(); - int choiceOrder = 0; for (org.chorem.pollen.business.persistence.Choice incomingChoice : incomingPoll.getChoice()) { - Choice choice = extractChoice(pollId, creator, incomingChoice, choiceOrder++, data); + Choice choice = extractChoice(creator, incomingChoice, choiceOrder++); poll.addChoice(choice); - choices.put(incomingChoice.getTopiaId(), choice); + choiceIds.add(incomingChoice.getTopiaId()); } @@ -153,7 +161,7 @@ public class PollenExportService extends PollenServiceSupport { for (org.chorem.pollen.business.persistence.Comment incomingComment : incomingPoll.getComment()) { - Comment comment = extractComment(incomingComment, userMap); + Comment comment = extractComment(incomingComment); poll.addComment(comment); } @@ -164,7 +172,7 @@ public class PollenExportService extends PollenServiceSupport { for (org.chorem.pollen.business.persistence.VotingList incomingVotinglist : incomingPoll.getVotingList()) { - VoterList voterList = extractVoterList(incomingVotinglist, userMap); + VoterList voterList = extractVoterList(incomingVotinglist); poll.addVoterList(voterList); } @@ -175,7 +183,7 @@ public class PollenExportService extends PollenServiceSupport { for (org.chorem.pollen.business.persistence.Vote incomingVote : incomingPoll.getVote()) { - Vote vote = extractVote(incomingVote, choices, userMap); + Vote vote = extractVote(incomingVote, choiceIds); poll.addVote(vote); } @@ -186,7 +194,7 @@ public class PollenExportService extends PollenServiceSupport { } - protected VoterList extractVoterList(VotingList incomingVotinglist, Map<String, PollenUser> userMap) { + protected VoterList extractVoterList(VotingList incomingVotinglist) { VoterList voterList = new VoterList(); voterList.setName(incomingVotinglist.getName()); @@ -196,7 +204,7 @@ public class PollenExportService extends PollenServiceSupport { for (PersonToList incomingVoterListMember : incomingVotinglist.getPollAccountPersonToList()) { - VoterListMember voterListMember = extractVoterListMember(incomingVoterListMember, userMap); + VoterListMember voterListMember = extractVoterListMember(incomingVoterListMember); voterList.addMember(voterListMember); } @@ -206,65 +214,65 @@ public class PollenExportService extends PollenServiceSupport { } - protected VoterListMember extractVoterListMember(PersonToList incomingVoterListMember, Map<String, PollenUser> userMap) { + protected VoterListMember extractVoterListMember(PersonToList incomingVoterListMember) { VoterListMember voterListMember = new VoterListMember(); voterListMember.setWeight(incomingVoterListMember.getWeight()); - PollenPrincipal member = extractPrincipal(incomingVoterListMember.getPollAccount(), userMap); + PollenPrincipal member = extractPrincipal(incomingVoterListMember.getPollAccount()); voterListMember.setMember(member); return voterListMember; } - protected Vote extractVote(org.chorem.pollen.business.persistence.Vote incomingVote, - Map<String, Choice> choices, - Map<String, PollenUser> userMap) { + protected Vote extractVote(org.chorem.pollen.business.persistence.Vote incomingVote, List<String> choiceIds) { Vote vote = new Vote(); vote.setAnonymous(incomingVote.isAnonymous()); - PollenPrincipal voter = extractPrincipal(incomingVote.getPollAccount(), userMap); + PollenPrincipal voter = extractPrincipal(incomingVote.getPollAccount()); + voter.setName(incomingVote.getPollAccount().getVotingId()); vote.setVoter(voter); if (!incomingVote.isChoiceVoteToChoiceEmpty()) { for (org.chorem.pollen.business.persistence.VoteToChoice incomingVoteToChoice : incomingVote.getChoiceVoteToChoice()) { - VoteToChoice voteToChoice = extractVoteToChoice(incomingVoteToChoice, choices); + VoteToChoice voteToChoice = extractVoteToChoice(incomingVoteToChoice, choiceIds); vote.addVoteToChoice(voteToChoice); } } return vote; + } - protected VoteToChoice extractVoteToChoice(org.chorem.pollen.business.persistence.VoteToChoice incomingVoteToChoice, Map<String, Choice> choices) { + protected VoteToChoice extractVoteToChoice(org.chorem.pollen.business.persistence.VoteToChoice incomingVoteToChoice, List<String> choiceIds) { VoteToChoice voteToChoice = new VoteToChoice(); voteToChoice.setVoteValue(Double.valueOf(incomingVoteToChoice.getVoteValue())); - Choice choice = choices.get(incomingVoteToChoice.getChoice().getTopiaId()); - voteToChoice.setChoice(choice); + voteToChoice.setChoiceNumber(choiceIds.indexOf(incomingVoteToChoice.getChoice().getTopiaId())); return voteToChoice; } - protected Comment extractComment(org.chorem.pollen.business.persistence.Comment incomingComment, Map<String, PollenUser> userMap) { + protected Comment extractComment(org.chorem.pollen.business.persistence.Comment incomingComment) { Comment comment = new Comment(); comment.setText(incomingComment.getText()); comment.setPostDate(incomingComment.getPostDate()); - PollenPrincipal author = extractPrincipal(incomingComment.getPollAccount(), userMap); + PollenPrincipal author = extractPrincipal(incomingComment.getPollAccount()); + author.setName(incomingComment.getAuthor()); + comment.setAuthor(author); return comment; } - protected Choice extractChoice(String pollId, PollenPrincipal creator, org.chorem.pollen.business.persistence.Choice incomingChoice, int choiceOrder, PollenData data) { + protected Choice extractChoice(PollenPrincipal creator, org.chorem.pollen.business.persistence.Choice incomingChoice, int choiceOrder) { Choice choice = new Choice(); choice.setChoiceOrder(choiceOrder); - choice.setDescription(incomingChoice.getDescription()); choice.setCreator(creator); choice.setChoiceValue(incomingChoice.getName()); @@ -281,10 +289,6 @@ public class PollenExportService extends PollenServiceSupport { // resource choice choiceType = ChoiceType.RESOURCE; - // extract resource - PollenResource resourceFile = extractChoiceResource(pollId, choice); - data.addResource(resourceFile); - } else { // text choice @@ -315,35 +319,35 @@ public class PollenExportService extends PollenServiceSupport { } - protected PollenPrincipal extractPrincipal(PollAccount pollAccount, Map<String, PollenUser> userMap) { + protected PollenPrincipal extractPrincipal(PollAccount incomingPrincipal) { PollenPrincipal pollenPrincipal = new PollenPrincipal(); - pollenPrincipal.setEmail(pollAccount.getEmail()); + + if (incomingPrincipal.getUserAccount() != null) { + pollenPrincipal.setEmail(incomingPrincipal.getUserAccount().getEmail()); + } + + pollenPrincipal.setEmail(incomingPrincipal.getEmail()); PollenToken permission = new PollenToken(); - permission.setToken(pollAccount.getAccountId()); + permission.setToken(incomingPrincipal.getAccountId()); pollenPrincipal.setPermission(permission); - if (pollAccount.getUserAccount() != null) { - PollenUser pollenUser = userMap.get(pollAccount.getUserAccount().getTopiaId()); - pollenPrincipal.setPollenUser(pollenUser); - } - return pollenPrincipal; } - protected PollenUser extractPollUser(UserAccount userAccount) { + protected PollenUser extractPollUser(UserAccount incomingUser) { PollenUser user = new PollenUser(); - user.setId(userAccount.getTopiaId()); - user.setName(userAccount.getDisplayName()); - user.setEmail(userAccount.getEmail()); - user.setAdministrator(userAccount.isAdministrator()); + user.setId(incomingUser.getTopiaId()); + user.setName(incomingUser.getDisplayName()); + user.setEmail(incomingUser.getEmail()); + user.setAdministrator(incomingUser.isAdministrator()); - if (!userAccount.isFavoriteListEmpty()) { + if (!incomingUser.isFavoriteListEmpty()) { - for (PersonList personList : userAccount.getFavoriteList()) { + for (PersonList personList : incomingUser.getFavoriteList()) { FavoriteList favoriteList = extractFavoriteList(personList); user.addFavoriteList(favoriteList); @@ -355,13 +359,13 @@ public class PollenExportService extends PollenServiceSupport { } - protected FavoriteList extractFavoriteList(PersonList personList) { + protected FavoriteList extractFavoriteList(PersonList incomingFavoriteList) { FavoriteList favoriteList = new FavoriteList(); - favoriteList.setName(personList.getName()); + favoriteList.setName(incomingFavoriteList.getName()); - if (!personList.isPollAccountEmpty()) { - for (PollAccount pollAccount : personList.getPollAccount()) { + if (!incomingFavoriteList.isPollAccountEmpty()) { + for (PollAccount pollAccount : incomingFavoriteList.getPollAccount()) { FavoriteListMember member = extractFavoriteListMember(pollAccount); favoriteList.addMember(member); } @@ -371,11 +375,11 @@ public class PollenExportService extends PollenServiceSupport { } - protected FavoriteListMember extractFavoriteListMember(PollAccount personListMember) { + protected FavoriteListMember extractFavoriteListMember(PollAccount incomingMember) { FavoriteListMember member = new FavoriteListMember(); - member.setName(personListMember.getUserAccount().getDisplayName()); - member.setEmail(personListMember.getEmail()); + member.setName(incomingMember.getVotingId()); + member.setEmail(incomingMember.getEmail()); return member; } -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.