This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository pollen. See https://gitlab.nuiton.org/chorem/pollen.git commit 810ea3fcb29b6b3d53c85b33873f990f9152eb85 Author: Tony CHEMIT <dev@tchemit.fr> Date: Tue Jan 3 11:40:34 2017 +0100 [iso] many cleaning on code --- pollen-persistence/pom.xml | 3 +- .../persistence/PollenTopiaApplicationContext.java | 7 - .../pollen/persistence/entity/ChoiceTopiaDao.java | 6 +- .../persistence/entity/FavoriteListTopiaDao.java | 2 +- .../pollen/persistence/entity/PollTopiaDao.java | 24 +-- .../persistence/entity/PollenPrincipals.java | 2 +- .../persistence/entity/PollenResourceTopiaDao.java | 10 +- .../chorem/pollen/persistence/entity/Polls.java | 16 +- .../pollen/persistence/entity/VoteToChoices.java | 3 +- pollen-persistence/src/main/xmi/pollen.properties | 4 - .../src/test/resources/log4j.properties | 3 - pollen-rest-api/pom.xml | 3 +- .../org/chorem/pollen/rest/api/JsonHelper.java | 163 +++++++----------- .../org/chorem/pollen/rest/api/PollenRender.java | 2 +- .../rest/api/PollenRestApiApplicationContext.java | 19 +-- .../rest/api/PollenRestApiApplicationListener.java | 2 +- .../rest/api/PollenRestApiRequestFilter.java | 10 +- .../rest/api/PollenTopiaTransactionFilter.java | 1 - .../pollen/rest/api/converter/JsonConverter.java | 4 +- .../org/chorem/pollen/rest/api/v1/CommentApi.java | 2 +- .../java/org/chorem/pollen/rest/api/v1/DocApi.java | 3 +- .../chorem/pollen/rest/api/v1/FavoriteListApi.java | 2 - .../pollen/rest/api/v1/PollenResourceApi.java | 11 +- .../chorem/pollen/rest/api/v1/PollenUserApi.java | 9 +- .../pollen/rest/api/v1/VoteCountingTypeApi.java | 4 +- .../src/main/resources/log4j.properties | 2 - .../pollen/rest/api/AbstractPollenRestApiTest.java | 3 +- .../org/chorem/pollen/rest/api/AuthApiTest.java | 3 +- .../org/chorem/pollen/rest/api/PollApiTest.java | 9 +- .../rest/api/converter/JsonArrayConverterTest.java | 6 +- .../rest/api/converter/JsonConverterTest.java | 12 +- .../src/test/resources/log4j.properties | 3 - pollen-services/pom.xml | 5 +- .../org/chorem/pollen/services/PollenFixtures.java | 7 +- .../pollen/services/TopiaEntityCopyVisitor.java | 6 +- .../chorem/pollen/services/bean/ChoiceBean.java | 4 +- .../services/bean/GroupVoteCountingResultBean.java | 5 +- .../services/bean/PaginationParameterBean.java | 5 +- .../pollen/services/bean/PaginationResultBean.java | 2 +- .../chorem/pollen/services/bean/PollenBeans.java | 2 +- .../pollen/services/bean/PollenEntityId.java | 4 +- .../pollen/services/bean/PollenUserBean.java | 4 +- .../pollen/services/bean/ResourceFileBean.java | 3 +- .../org/chorem/pollen/services/bean/VoteBean.java | 2 +- .../services/bean/VoteCountingGroupResultBean.java | 2 +- .../pollen/services/bean/VoterListMemberBean.java | 2 +- .../services/config/PollenServiceConfig.java | 15 +- .../services/config/PollenServiceConfigOption.java | 6 +- .../pollen/services/service/ChoiceService.java | 51 +++--- .../pollen/services/service/CommentService.java | 15 +- .../chorem/pollen/services/service/ErrorMap.java | 2 +- .../service/FavoriteListImportException.java | 2 +- .../services/service/FavoriteListService.java | 4 +- .../pollen/services/service/FixturesService.java | 2 +- .../services/service/NotificationService.java | 13 +- .../pollen/services/service/PollService.java | 56 +++---- .../services/service/PollenResourceService.java | 18 +- .../services/service/PollenServiceSupport.java | 19 ++- .../services/service/PollenUIUrlRenderService.java | 11 +- .../pollen/services/service/PollenUserService.java | 32 ++-- .../services/service/VoteCountingService.java | 22 +-- .../services/service/VoteCountingTypeService.java | 9 +- .../pollen/services/service/VoteService.java | 64 ++++--- .../pollen/services/service/VoterListService.java | 29 ++-- .../pollen/services/service/mail/EmailService.java | 2 +- .../services/service/mail/PollCreatedEmail.java | 9 +- .../pollen/services/service/mail/PollenMail.java | 4 +- .../service/mail/UserAccountCreatedEmail.java | 12 +- .../service/security/PollenSecurityRealm.java | 6 +- .../services/service/security/SecurityService.java | 48 ++++-- .../test/FakePollenApplicationContext.java | 9 +- .../services/service/FavoriteListServiceTest.java | 6 +- .../pollen/services/service/PollServiceTest.java | 2 +- .../service/PollenUIUrlRenderServiceTest.java | 10 +- .../services/service/PollenUserServiceTest.java | 4 +- .../services/service/VoteCountingServiceTest.java | 2 +- .../services/service/VoterListServiceTest.java | 11 +- .../src/test/resources/log4j.properties | 3 - pollen-ui-angular/pom.xml | 2 +- pollen-ui-angular/src/main/webapp/i18n/en.js | 2 +- .../src/main/webapp/js/controllers/pollCtrl.js | 6 +- pollen-ui-angular/src/main/webapp/less/style.less | 2 +- .../src/main/webapp/less/variables.less | 2 +- pollen-ui-js/src/main/webapp/js/pollen-utils.js | 2 +- pollen-ui-js/src/main/webapp/js/route.js | 2 +- pollen-votecounting-aggregator/pom.xml | 3 +- pollen-votecounting-api/pom.xml | 3 +- .../votecounting/AbstractVoteCountingStrategy.java | 35 ++-- .../chorem/pollen/votecounting/VoteCounting.java | 8 +- .../pollen/votecounting/VoteCountingFactory.java | 10 +- .../pollen/votecounting/model/ChoiceIdAble.java | 2 +- .../pollen/votecounting/model/ChoiceScore.java | 19 +-- .../votecounting/model/GroupOfVoterBuilder.java | 2 +- .../model/GroupVoteCountingResult.java | 8 +- .../votecounting/model/SimpleVoterBuilder.java | 2 +- .../votecounting/model/VoteCountingResult.java | 2 +- .../pollen/votecounting/model/VoterBuilder.java | 8 +- pollen-votecounting-borda/pom.xml | 3 +- .../pollen/votecounting/BordaVoteCounting.java | 2 +- .../BordaVoteCountingStrategyTest.java | 174 +++++++++---------- pollen-votecounting-condorcet/pom.xml | 3 +- .../pollen/votecounting/CondorcetVoteCounting.java | 2 +- .../CondorcetVoteCountingStrategyTest.java | 158 ++++++++--------- pollen-votecounting-coombs/pom.xml | 3 +- .../pollen/votecounting/CoombsVoteCounting.java | 4 +- .../votecounting/CoombsVoteCountingStrategy.java | 2 +- .../CoombsVoteCountingStrategyTest.java | 174 +++++++++---------- pollen-votecounting-instant-runoff/pom.xml | 3 +- .../votecounting/InstantRunoffVoteCounting.java | 4 +- .../InstantRunoffVoteCountingStrategy.java | 4 +- .../InstantRunoffVoteCountingStrategyTest.java | 174 +++++++++---------- pollen-votecounting-normal/pom.xml | 3 +- .../NormalVoteCountingStrategyTest.java | 186 ++++++++++----------- pollen-votecounting-number/pom.xml | 3 +- .../NumberVoteCountingStrategyTest.java | 132 +++++++-------- pollen-votecounting-percentage/pom.xml | 3 +- .../PercentageVoteCountingStrategyTest.java | 132 +++++++-------- 117 files changed, 1076 insertions(+), 1117 deletions(-) diff --git a/pollen-persistence/pom.xml b/pollen-persistence/pom.xml index 6bd4213..1c859c0 100644 --- a/pollen-persistence/pom.xml +++ b/pollen-persistence/pom.xml @@ -20,7 +20,8 @@ #L% --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> diff --git a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/PollenTopiaApplicationContext.java b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/PollenTopiaApplicationContext.java index 27e6dc2..58b6bc9 100644 --- a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/PollenTopiaApplicationContext.java +++ b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/PollenTopiaApplicationContext.java @@ -24,19 +24,12 @@ package org.chorem.pollen.persistence; import org.nuiton.topia.persistence.TopiaConfiguration; import org.nuiton.topia.persistence.TopiaIdFactory; -import java.util.Map; -import java.util.Properties; - public class PollenTopiaApplicationContext extends AbstractPollenTopiaApplicationContext { public PollenTopiaApplicationContext(TopiaConfiguration topiaConfiguration) { super(topiaConfiguration); } - public PollenTopiaApplicationContext(Map<String, String> configuration) { - super(configuration); - } - @Override public TopiaIdFactory getTopiaIdFactory() { return super.getTopiaIdFactory(); diff --git a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/ChoiceTopiaDao.java b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/ChoiceTopiaDao.java index 41f6af7..347fb59 100644 --- a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/ChoiceTopiaDao.java +++ b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/ChoiceTopiaDao.java @@ -28,8 +28,8 @@ public class ChoiceTopiaDao extends AbstractChoiceTopiaDao<Choice> { public List<Choice> findAll(Poll poll) { return forPollEquals(poll). - setOrderByArguments(Choice.PROPERTY_CHOICE_ORDER). - findAll(); + setOrderByArguments(Choice.PROPERTY_CHOICE_ORDER). + findAll(); } @@ -53,6 +53,6 @@ public class ChoiceTopiaDao extends AbstractChoiceTopiaDao<Choice> { } super.delete(entity); - + } } diff --git a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/FavoriteListTopiaDao.java b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/FavoriteListTopiaDao.java index 827f4c3..e2d48df 100644 --- a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/FavoriteListTopiaDao.java +++ b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/FavoriteListTopiaDao.java @@ -36,6 +36,6 @@ public class FavoriteListTopiaDao extends AbstractFavoriteListTopiaDao<FavoriteL dao.deleteAll(list); super.delete(entity); - + } } diff --git a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollTopiaDao.java b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollTopiaDao.java index 93d1c6d..c8b1f2c 100644 --- a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollTopiaDao.java +++ b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollTopiaDao.java @@ -51,14 +51,14 @@ public class PollTopiaDao extends AbstractPollTopiaDao<Poll> { VoterListTopiaDao voterListDao = topiaDaoSupplier.getDao(VoterList.class, VoterListTopiaDao.class); - Set<Poll> polls = new HashSet<Poll>(); + Set<Poll> polls = new HashSet<>(); for (VoterListMember member : voterListMembers) { - polls.add( - voterListDao.forEquals( - VoterList.PROPERTY_TOPIA_ID, - member.getVoterList().getTopiaId() - ).findUnique().getPoll() - ); + polls.add( + voterListDao.forEquals( + VoterList.PROPERTY_TOPIA_ID, + member.getVoterList().getTopiaId() + ).findUnique().getPoll() + ); } return PaginationResult.of(new ArrayList<>(polls), 0, paginationParameter); @@ -68,11 +68,11 @@ public class PollTopiaDao extends AbstractPollTopiaDao<Poll> { // TODO : use hql VoteTopiaDao dao = topiaDaoSupplier.getDao(Vote.class, VoteTopiaDao.class); List<Vote> votes = dao.forEquals(Vote.PROPERTY_VOTER + "." + PollenPrincipal.PROPERTY_POLLEN_USER, user).findAll(); - Set<Poll> polls = new HashSet<Poll>(); + Set<Poll> polls = new HashSet<>(); for (Vote vote : votes) { polls.add(vote.getPoll()); } - return PaginationResult.of(new ArrayList<Poll>(polls), 0, paginationParameter); + return PaginationResult.of(new ArrayList<>(polls), 0, paginationParameter); } public Set<Poll> findAllFreePolls() { @@ -88,11 +88,11 @@ public class PollTopiaDao extends AbstractPollTopiaDao<Poll> { topiaDaoSupplier.getDao(VoterListMember.class, VoterListMemberTopiaDao.class); List<VoterListMember> voterListMembers = - voterListMemberDao.forEquals(VoterListMember.PROPERTY_MEMBER+"."+PollenPrincipal.PROPERTY_PERMISSION+"."+PollenToken.PROPERTY_TOKEN, token.getToken()).findAll(); + voterListMemberDao.forEquals(VoterListMember.PROPERTY_MEMBER + "." + PollenPrincipal.PROPERTY_PERMISSION + "." + PollenToken.PROPERTY_TOKEN, token.getToken()).findAll(); VoterListTopiaDao voterListDao = topiaDaoSupplier.getDao(VoterList.class, VoterListTopiaDao.class); - Set<Poll> polls = new HashSet<Poll>(); + Set<Poll> polls = new HashSet<>(); for (VoterListMember member : voterListMembers) { polls.add( voterListDao.forEquals( @@ -102,7 +102,7 @@ public class PollTopiaDao extends AbstractPollTopiaDao<Poll> { ); } - return polls; + return polls; } @Override 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 d8e1038..e7b5d1e 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 @@ -56,7 +56,7 @@ public class PollenPrincipals { principal = ((FavoriteList) entity).getOwner(); } - + return principal; } diff --git a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenResourceTopiaDao.java b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenResourceTopiaDao.java index bcb1bf3..5410999 100644 --- a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenResourceTopiaDao.java +++ b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenResourceTopiaDao.java @@ -36,8 +36,8 @@ public class PollenResourceTopiaDao extends AbstractPollenResourceTopiaDao<Polle .getDao(Choice.class, ChoiceTopiaDao.class); boolean isUsed = dao.forEquals(Choice.PROPERTY_CHOICE_VALUE, entity.getTopiaId()) - .addEquals(Choice.PROPERTY_CHOICE_TYPE, ChoiceType.RESOURCE) - .exists(); + .addEquals(Choice.PROPERTY_CHOICE_TYPE, ChoiceType.RESOURCE) + .exists(); if (!isUsed) { super.delete(entity); @@ -50,9 +50,9 @@ public class PollenResourceTopiaDao extends AbstractPollenResourceTopiaDao<Polle .getDao(Choice.class, ChoiceTopiaDao.class); boolean isUsed = dao.forEquals(Choice.PROPERTY_CHOICE_TYPE, ChoiceType.RESOURCE) - .addEquals(Choice.PROPERTY_CHOICE_VALUE, entity.getTopiaId()) - .addNotEquals(Choice.PROPERTY_TOPIA_ID, choiceId) - .exists(); + .addEquals(Choice.PROPERTY_CHOICE_VALUE, entity.getTopiaId()) + .addNotEquals(Choice.PROPERTY_TOPIA_ID, choiceId) + .exists(); if (!isUsed) { super.delete(entity); diff --git a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/Polls.java b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/Polls.java index baeb9ca..bebf48a 100644 --- a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/Polls.java +++ b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/Polls.java @@ -51,8 +51,8 @@ public class Polls { public boolean isRunning(Poll poll, Date currentDate) { return !poll.isClosed() && - isStarted(poll, currentDate) && - !isFinished(poll, currentDate); + isStarted(poll, currentDate) && + !isFinished(poll, currentDate); } public boolean isFinished(Poll poll, Date currentDate) { @@ -63,21 +63,21 @@ public class Polls { public boolean isAddChoiceStarted(Poll poll, Date currentDate) { Date beginChoiceDate = poll.getBeginChoiceDate(); return poll.isChoiceAddAllowed() && - (beginChoiceDate == null || beginChoiceDate.before(currentDate)); + (beginChoiceDate == null || beginChoiceDate.before(currentDate)); } public boolean isAddChoiceRunning(Poll poll, Date currentDate) { return poll.isChoiceAddAllowed() && - !poll.isClosed() && - !isFinished(poll, currentDate) && - isAddChoiceStarted(poll, currentDate) && - !isAddChoiceFinished(poll, currentDate); + !poll.isClosed() && + !isFinished(poll, currentDate) && + isAddChoiceStarted(poll, currentDate) && + !isAddChoiceFinished(poll, currentDate); } public boolean isAddChoiceFinished(Poll poll, Date currentDate) { Date endChoiceDate = poll.getEndChoiceDate(); return !poll.isChoiceAddAllowed() || - (endChoiceDate != null && endChoiceDate.before(currentDate)); + (endChoiceDate != null && endChoiceDate.before(currentDate)); } // public static Set<VoterListMember> getAllVoters(Poll poll) { diff --git a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/VoteToChoices.java b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/VoteToChoices.java index f505575..f4a8498 100644 --- a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/VoteToChoices.java +++ b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/VoteToChoices.java @@ -22,7 +22,6 @@ package org.chorem.pollen.persistence.entity; */ import java.io.Serializable; -import java.util.Collections; import java.util.Comparator; import java.util.List; @@ -35,7 +34,7 @@ import java.util.List; public class VoteToChoices { public static void sortByChoiceOrder(List<VoteToChoice> voteToChoices) { - Collections.sort(voteToChoices, new VoteToChoiceComparator()); + voteToChoices.sort(new VoteToChoiceComparator()); } protected static class VoteToChoiceComparator implements Comparator<VoteToChoice>, Serializable { diff --git a/pollen-persistence/src/main/xmi/pollen.properties b/pollen-persistence/src/main/xmi/pollen.properties index 065d413..e074670 100644 --- a/pollen-persistence/src/main/xmi/pollen.properties +++ b/pollen-persistence/src/main/xmi/pollen.properties @@ -24,17 +24,13 @@ model.tagvalue.version=2.0 #model.tagValue.useEnumerationName=true #model.tagValue.indexForeignKeys=true model.tagValue.hibernateAttributeType.String=string - package.org.chorem.pollen.persistence.entity.stereotype=entity - # Text org.chorem.pollen.persistence.entity.Poll.attribute.description.tagValue.hibernateAttributeType=text org.chorem.pollen.persistence.entity.Choice.attribute.description.tagValue.hibernateAttributeType=text org.chorem.pollen.persistence.entity.Comment.attribute.text.tagValue.hibernateAttributeType=text - # Blob #org.chorem.pollen.persistence.entity.PollenResource.attribute.resourceContent.tagValue.sqlType=blob - # clef naturelle non modifiable sur PollenToken.token org.chorem.pollen.persistence.entity.PollenToken.class.tagValue.naturalIdMutable=true org.chorem.pollen.persistence.entity.PollenToken.attribute.token.stereotype=unique diff --git a/pollen-persistence/src/test/resources/log4j.properties b/pollen-persistence/src/test/resources/log4j.properties index c023d04..9988753 100644 --- a/pollen-persistence/src/test/resources/log4j.properties +++ b/pollen-persistence/src/test/resources/log4j.properties @@ -19,12 +19,9 @@ # #L% ### log4j.rootCategory=WARN, A1 - # A1 is set to be a ConsoleAppender. log4j.appender.A1=org.apache.log4j.ConsoleAppender - # A1 uses PatternLayout. log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=[%p] %c %m%n - log4j.logger.org.chorem.pollen=INFO diff --git a/pollen-rest-api/pom.xml b/pollen-rest-api/pom.xml index 69cc3ce..e7e19ea 100644 --- a/pollen-rest-api/pom.xml +++ b/pollen-rest-api/pom.xml @@ -20,7 +20,8 @@ #L% --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> diff --git a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/JsonHelper.java b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/JsonHelper.java index aecb0d3..85ab3c7 100644 --- a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/JsonHelper.java +++ b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/JsonHelper.java @@ -26,14 +26,11 @@ import com.google.gson.ExclusionStrategy; import com.google.gson.FieldAttributes; import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonDeserializer; import com.google.gson.JsonElement; import com.google.gson.JsonNull; import com.google.gson.JsonObject; -import com.google.gson.JsonParseException; import com.google.gson.JsonPrimitive; -import com.google.gson.JsonSerializationContext; import com.google.gson.JsonSerializer; import org.chorem.pollen.services.bean.PollenEntityId; import org.chorem.pollen.services.bean.PollenEntityRef; @@ -72,169 +69,127 @@ public class JsonHelper { } }); - gsonBuilder.registerTypeAdapter(Date.class, new JsonSerializer<Date>() { + gsonBuilder.registerTypeAdapter(Date.class, (JsonSerializer<Date>) (src, typeOfSrc, context) -> { - @Override - public JsonElement serialize(Date src, Type typeOfSrc, JsonSerializationContext context) { - - JsonElement result; - - if (src == null) { + JsonElement result; - result = JsonNull.INSTANCE; + if (src == null) { - } else { + result = JsonNull.INSTANCE; - result = new JsonPrimitive(src.getTime()); + } else { - } - - return result; + result = new JsonPrimitive(src.getTime()); } - }); + return result; - gsonBuilder.registerTypeAdapter(PollenEntityId.class, new JsonSerializer<PollenEntityId>() { - - @Override - public JsonElement serialize(PollenEntityId src, Type typeOfSrc, JsonSerializationContext context) { - - JsonElement result; + }); - if (src == null || src.getEntityId() == null) { + gsonBuilder.registerTypeAdapter(PollenEntityId.class, (JsonSerializer<PollenEntityId>) (src, typeOfSrc, context) -> { - result = JsonNull.INSTANCE; + JsonElement result; - } else { + if (src == null || src.getEntityId() == null) { - src.encode(idFactory); - result = new JsonPrimitive(src.getReducedId()); + result = JsonNull.INSTANCE; - } + } else { - return result; + src.encode(idFactory); + result = new JsonPrimitive(src.getReducedId()); } - }); - - gsonBuilder.registerTypeAdapter(PollenEntityRef.class, new JsonSerializer<PollenEntityRef>() { + return result; - @Override - public JsonElement serialize(PollenEntityRef src, Type typeOfSrc, JsonSerializationContext context) { - - JsonElement result; + }); - if (src == null || src.getEntityId() == null) { + gsonBuilder.registerTypeAdapter(PollenEntityRef.class, (JsonSerializer<PollenEntityRef>) (src, typeOfSrc, context) -> { - result = JsonNull.INSTANCE; + JsonElement result; - } else { + if (src == null || src.getEntityId() == null) { - src.encode(idFactory); + result = JsonNull.INSTANCE; - JsonObject object = new JsonObject(); - if (src.getPermission()!=null) { - object.add("permission", new JsonPrimitive(src.getPermission())); - } - object.add("id", new JsonPrimitive(src.getReducedId())); + } else { - result = object; + src.encode(idFactory); + JsonObject object = new JsonObject(); + if (src.getPermission() != null) { + object.add("permission", new JsonPrimitive(src.getPermission())); } + object.add("id", new JsonPrimitive(src.getReducedId())); - return result; + result = object; } - }); - - gsonBuilder.registerTypeAdapter(InvalidFormException.class, new JsonSerializer<InvalidFormException>() { - - @Override - public JsonElement serialize(InvalidFormException src, Type typeOfSrc, JsonSerializationContext context) { + return result; + }); - Multimap<String, String> errors = src.getErrors(); + gsonBuilder.registerTypeAdapter(InvalidFormException.class, (JsonSerializer<InvalidFormException>) (src, typeOfSrc, context) -> { - Map<String, Object> map = new HashMap<>(); - for (String key : errors.keySet()) { - map.put(key, errors.get(key)); - } - return context.serialize(map); + Multimap<String, String> errors = src.getErrors(); + Map<String, Object> map = new HashMap<>(); + for (String key : errors.keySet()) { + map.put(key, errors.get(key)); } - }); - - gsonBuilder.registerTypeAdapter(FavoriteListImportException.class, new JsonSerializer<FavoriteListImportException>() { + return context.serialize(map); - @Override - public JsonElement serialize(FavoriteListImportException src, Type typeOfSrc, JsonSerializationContext context) { + }); + gsonBuilder.registerTypeAdapter(FavoriteListImportException.class, (JsonSerializer<FavoriteListImportException>) (src, typeOfSrc, context) -> { - String error = src.getCauseMessage(); - Map<String, Object> map = new HashMap<>(); - map.put("error", error); + String error = src.getCauseMessage(); - return context.serialize(map); + Map<String, Object> map = new HashMap<>(); + map.put("error", error); - } + return context.serialize(map); }); - gsonBuilder.registerTypeAdapter(Date.class, new JsonDeserializer<Date>() { + gsonBuilder.registerTypeAdapter(Date.class, (JsonDeserializer<Date>) (json, typeOfT, context) -> new Date(json.getAsLong())); - @Override - public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { - return new Date(json.getAsLong()); - } + gsonBuilder.registerTypeAdapter(PollenEntityId.class, (JsonDeserializer<PollenEntityId>) (json, typeOfT, context) -> { - }); + PollenEntityId id = PollenEntityId.newId(typeOfT); - gsonBuilder.registerTypeAdapter(PollenEntityId.class, new JsonDeserializer<PollenEntityId>() { - - @Override - public PollenEntityId deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { + String asString = json.getAsString(); - PollenEntityId id = PollenEntityId.newId(typeOfT); + if (asString != null) { - String asString = json.getAsString(); - - if (asString != null) { - - id.setReducedId(asString); - id.decode(idFactory); - - } - - return id; + id.setReducedId(asString); + id.decode(idFactory); } - }); - - gsonBuilder.registerTypeAdapter(PollenEntityRef.class, new JsonDeserializer<PollenEntityRef>() { + return id; - @Override - public PollenEntityRef deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { + }); - String id = ((JsonObject) json).get("id").getAsString(); - String permission = ((JsonObject) json).get("permission").getAsString(); + gsonBuilder.registerTypeAdapter(PollenEntityRef.class, (JsonDeserializer<PollenEntityRef>) (json, typeOfT, context) -> { - PollenEntityRef<?> ref = PollenEntityRef.newRef(typeOfT); + String id = ((JsonObject) json).get("id").getAsString(); + String permission = ((JsonObject) json).get("permission").getAsString(); - ref.setReducedId(id); - ref.setPermission(permission); - ref.decode(idFactory); + PollenEntityRef<?> ref = PollenEntityRef.newRef(typeOfT); + ref.setReducedId(id); + ref.setPermission(permission); + ref.decode(idFactory); - return ref; - } + return ref; }); diff --git a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRender.java b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRender.java index 271920d..aab0706 100644 --- a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRender.java +++ b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRender.java @@ -42,7 +42,7 @@ import java.io.PrintWriter; */ public class PollenRender<T> extends Render { - protected T model; + protected final T model; public PollenRender(T model) { this.model = model; diff --git a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiApplicationContext.java b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiApplicationContext.java index 483a2a7..fc3f06d 100644 --- a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiApplicationContext.java +++ b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiApplicationContext.java @@ -46,6 +46,8 @@ import org.chorem.pollen.votecounting.VoteCountingFactory; import org.nuiton.i18n.I18n; import org.nuiton.i18n.init.DefaultI18nInitializer; import org.nuiton.i18n.init.I18nInitializer; +import org.nuiton.topia.persistence.BeanTopiaConfiguration; +import org.nuiton.topia.persistence.TopiaConfigurationBuilder; import javax.servlet.ServletContext; import java.io.File; @@ -75,7 +77,8 @@ public class PollenRestApiApplicationContext implements PollenApplicationContext Map<String, String> topiaProperties = applicationConfig.getTopiaProperties(); - PollenTopiaApplicationContext pollenTopiaApplicationContext = new PollenTopiaApplicationContext(topiaProperties); + BeanTopiaConfiguration topiaConfiguration = new TopiaConfigurationBuilder().readMap(topiaProperties); + PollenTopiaApplicationContext pollenTopiaApplicationContext = new PollenTopiaApplicationContext(topiaConfiguration); applicationContext = new PollenRestApiApplicationContext(applicationConfig, pollenTopiaApplicationContext); @@ -98,13 +101,13 @@ public class PollenRestApiApplicationContext implements PollenApplicationContext servletContext.setAttribute(APPLICATION_CONTEXT_PARAMETER, applicationContext); } - protected AtomicBoolean started; + protected final AtomicBoolean started; - protected AtomicBoolean closed; + protected final AtomicBoolean closed; - protected PollenTopiaApplicationContext topiaApplicationContext; + protected final PollenTopiaApplicationContext topiaApplicationContext; - protected PollenServiceConfig applicationConfig; + protected final PollenServiceConfig applicationConfig; protected VoteCountingFactory voteCountingFactory; @@ -251,15 +254,11 @@ public class PollenRestApiApplicationContext implements PollenApplicationContext I18n.init(initializer, Locale.FRANCE); - PollenTopiaPersistenceContext persistenceContext = newPersistenceContext(); - - try { + try (PollenTopiaPersistenceContext persistenceContext = newPersistenceContext()) { PollenServiceContext serviceContext = newServiceContext(persistenceContext, Locale.FRANCE); serviceContext.newService(PollenUserService.class).createDefaultUsers(); } catch (InvalidFormException e) { //Can't happen - } finally { - persistenceContext.close(); } // -- init security realm -- // diff --git a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiApplicationListener.java b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiApplicationListener.java index c0f8154..1d8d971 100644 --- a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiApplicationListener.java +++ b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiApplicationListener.java @@ -55,7 +55,7 @@ import java.util.Set; */ public class PollenRestApiApplicationListener implements WebMotionServerListener { - protected static final Set<Class<?>> BEAN_TYPES = Sets.<Class<?>>newHashSet( + protected static final Set<Class<?>> BEAN_TYPES = Sets.newHashSet( PollBean.class, ChoiceBean.class, CommentBean.class, 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 11855ce..ff950a4 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 @@ -64,7 +64,7 @@ public class PollenRestApiRequestFilter extends WebMotionFilter { Render render = call.getRender(); if (render instanceof RenderStatus && - HttpServletResponse.SC_OK == ((RenderStatus) render).getCode()) { + HttpServletResponse.SC_OK == ((RenderStatus) render).getCode()) { // operation accepted PollenRestApiUtil.addOptionCorsHeaders(context); @@ -139,12 +139,12 @@ public class PollenRestApiRequestFilter extends WebMotionFilter { int i = 0; do { language = allLanguage[i].substring(0, 2); - if ( !language.equals("fr") && !language.equals("en") ) { - // language not accepted - language = null; + if (!language.equals("fr") && !language.equals("en")) { + // language not accepted + language = null; } i++; - } while ( language == null && i < allLanguage.length ); + } while (language == null && i < allLanguage.length); } if (language == null) { diff --git a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenTopiaTransactionFilter.java b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenTopiaTransactionFilter.java index a830cc7..5d3dafc 100644 --- a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenTopiaTransactionFilter.java +++ b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenTopiaTransactionFilter.java @@ -24,7 +24,6 @@ package org.chorem.pollen.rest.api; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.chorem.pollen.persistence.PollenPersistenceContext; -import org.chorem.pollen.persistence.PollenTopiaPersistenceContext; import org.nuiton.topia.persistence.TopiaException; import org.nuiton.web.filter.TypedTopiaTransactionFilter; diff --git a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/converter/JsonConverter.java b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/converter/JsonConverter.java index f27cf13..eb847eb 100644 --- a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/converter/JsonConverter.java +++ b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/converter/JsonConverter.java @@ -35,9 +35,9 @@ import org.nuiton.topia.persistence.TopiaIdFactory; */ public class JsonConverter<O> extends AbstractConverter { - protected Class<O> objectType; + protected final Class<O> objectType; - protected Class<O> implementationClass; + protected final Class<O> implementationClass; protected final JsonHelper jsonHelper; diff --git a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/CommentApi.java b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/CommentApi.java index 2f0a665..752f433 100644 --- a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/CommentApi.java +++ b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/CommentApi.java @@ -25,9 +25,9 @@ import org.chorem.pollen.persistence.entity.Comment; import org.chorem.pollen.persistence.entity.Poll; import org.chorem.pollen.services.bean.CommentBean; import org.chorem.pollen.services.bean.PaginationParameterBean; +import org.chorem.pollen.services.bean.PaginationResultBean; import org.chorem.pollen.services.bean.PollenEntityId; import org.chorem.pollen.services.bean.PollenEntityRef; -import org.chorem.pollen.services.bean.PaginationResultBean; import org.chorem.pollen.services.service.CommentService; import org.chorem.pollen.services.service.InvalidFormException; import org.debux.webmotion.server.WebMotionController; diff --git a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/DocApi.java b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/DocApi.java index 9b5902e..550d4db 100644 --- a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/DocApi.java +++ b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/DocApi.java @@ -28,6 +28,7 @@ import org.debux.webmotion.server.render.Render; import java.io.IOException; import java.io.InputStream; +import java.nio.charset.StandardCharsets; /** * Created on 4/29/14. @@ -43,7 +44,7 @@ public class DocApi extends WebMotionController { try { - String content = IOUtils.toString(mappingUrl); + String content = IOUtils.toString(mappingUrl, StandardCharsets.UTF_8); return renderContent(content, "text/plain"); } catch (IOException e) { diff --git a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/FavoriteListApi.java b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/FavoriteListApi.java index 2732882..50b381f 100644 --- a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/FavoriteListApi.java +++ b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/FavoriteListApi.java @@ -35,8 +35,6 @@ import org.chorem.pollen.services.service.InvalidFormException; import org.debux.webmotion.server.WebMotionController; import org.debux.webmotion.server.call.UploadFile; -import java.io.File; - /** * TODO * diff --git a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/PollenResourceApi.java b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/PollenResourceApi.java index 20575d9..688c76c 100644 --- a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/PollenResourceApi.java +++ b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/PollenResourceApi.java @@ -22,18 +22,21 @@ package org.chorem.pollen.rest.api.v1; */ import org.chorem.pollen.persistence.entity.PollenResource; -import org.chorem.pollen.services.bean.*; +import org.chorem.pollen.services.bean.PollenEntityId; +import org.chorem.pollen.services.bean.PollenEntityRef; +import org.chorem.pollen.services.bean.ResourceFileBean; +import org.chorem.pollen.services.bean.ResourceMetaBean; +import org.chorem.pollen.services.bean.ResourceStreamBean; import org.chorem.pollen.services.service.PollenResourceService; import org.debux.webmotion.server.WebMotionController; import org.debux.webmotion.server.call.UploadFile; import org.debux.webmotion.server.render.Render; import javax.imageio.ImageIO; -import java.awt.*; +import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; -import java.io.FileNotFoundException; import java.io.IOException; /** @@ -44,7 +47,7 @@ import java.io.IOException; */ public class PollenResourceApi extends WebMotionController { - public Render getResource(PollenResourceService pollenResourceService, PollenEntityId<PollenResource> resourceId) throws FileNotFoundException { + public Render getResource(PollenResourceService pollenResourceService, PollenEntityId<PollenResource> resourceId) { ResourceStreamBean resource = pollenResourceService.getResource(resourceId.getEntityId()); diff --git a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/PollenUserApi.java b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/PollenUserApi.java index dd62bc9..31790c3 100644 --- a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/PollenUserApi.java +++ b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/PollenUserApi.java @@ -23,14 +23,13 @@ package org.chorem.pollen.rest.api.v1; import org.chorem.pollen.persistence.entity.PollenUser; import org.chorem.pollen.services.bean.PaginationParameterBean; +import org.chorem.pollen.services.bean.PaginationResultBean; import org.chorem.pollen.services.bean.PollenEntityId; import org.chorem.pollen.services.bean.PollenEntityRef; -import org.chorem.pollen.services.bean.PaginationResultBean; import org.chorem.pollen.services.bean.PollenUserBean; import org.chorem.pollen.services.service.InvalidFormException; import org.chorem.pollen.services.service.PollenUserService; import org.chorem.pollen.services.service.security.PollenInvalidEmailActivationTokenException; -import org.chorem.pollen.services.service.security.PollenInvalidPasswordException; import org.debux.webmotion.server.WebMotionController; /** @@ -68,12 +67,12 @@ public class PollenUserApi extends WebMotionController { } - public PollenUserBean adminUser(PollenUserService pollenUserService, - PollenUserBean user) { + public PollenUserBean adminUser(PollenUserService pollenUserService, + PollenUserBean user) { return pollenUserService.adminUser(user); } - public void deleteUser(PollenUserService pollenUserService, PollenEntityId<PollenUser> userId, boolean anonymize) throws InvalidFormException { + public void deleteUser(PollenUserService pollenUserService, PollenEntityId<PollenUser> userId, boolean anonymize) { pollenUserService.deleteUser(userId.getEntityId(), anonymize); diff --git a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoteCountingTypeApi.java b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoteCountingTypeApi.java index 7e4a06a..e4a3830 100644 --- a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoteCountingTypeApi.java +++ b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoteCountingTypeApi.java @@ -38,7 +38,7 @@ public class VoteCountingTypeApi extends WebMotionController { return voteCountingTypeService.getVoteCountingTypes(); } - public VoteCountingTypeBean getVoteCountingType(VoteCountingTypeService voteCountingTypeService, int id) { - return voteCountingTypeService.getVoteCountingType(id); + public VoteCountingTypeBean getVoteCountingType(VoteCountingTypeService voteCountingTypeService, int id) { + return voteCountingTypeService.getVoteCountingType(id); } } diff --git a/pollen-rest-api/src/main/resources/log4j.properties b/pollen-rest-api/src/main/resources/log4j.properties index be1097d..b241529 100644 --- a/pollen-rest-api/src/main/resources/log4j.properties +++ b/pollen-rest-api/src/main/resources/log4j.properties @@ -19,10 +19,8 @@ # #L% ### log4j.rootCategory=WARN, console - log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%d{hh:mm:ss} %5p (%F:%L) %m%n - log4j.logger.org.chorem.pollen=INFO log4j.logger.org.debux=INFO diff --git a/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/AbstractPollenRestApiTest.java b/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/AbstractPollenRestApiTest.java index 3c668fb..baf2364 100644 --- a/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/AbstractPollenRestApiTest.java +++ b/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/AbstractPollenRestApiTest.java @@ -41,7 +41,6 @@ import org.nuiton.topia.persistence.TopiaIdFactory; import org.nuiton.util.DateUtil; import java.io.File; -import java.io.IOException; import java.util.Locale; /** @@ -159,7 +158,7 @@ public class AbstractPollenRestApiTest extends WebMotionTest { } - protected void showTestResult(String content) throws IOException { + protected void showTestResult(String content) { String testName = application.getMethodName(); diff --git a/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/AuthApiTest.java b/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/AuthApiTest.java index 9878e51..30122af 100644 --- a/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/AuthApiTest.java +++ b/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/AuthApiTest.java @@ -68,7 +68,8 @@ public class AuthApiTest extends AbstractPollenRestApiTest { showTestResult(loginContent); Assert.assertNotNull(loginContent); - Type type = new TypeToken<PollenEntityRef<PollenUser>>() {}.getType(); + Type type = new TypeToken<PollenEntityRef<PollenUser>>() { + }.getType(); PollenEntityRef createBeanRef = getJsonHelper().fromJson(loginContent, type); diff --git a/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/PollApiTest.java b/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/PollApiTest.java index e8d4b77..e66ec99 100644 --- a/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/PollApiTest.java +++ b/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/PollApiTest.java @@ -23,7 +23,14 @@ package org.chorem.pollen.rest.api; import org.apache.http.client.HttpResponseException; import org.apache.http.client.fluent.Request; -import org.chorem.pollen.persistence.entity.*; +import org.chorem.pollen.persistence.entity.Choice; +import org.chorem.pollen.persistence.entity.ChoiceType; +import org.chorem.pollen.persistence.entity.CommentVisibility; +import org.chorem.pollen.persistence.entity.Poll; +import org.chorem.pollen.persistence.entity.PollImpl; +import org.chorem.pollen.persistence.entity.PollType; +import org.chorem.pollen.persistence.entity.ResultVisibility; +import org.chorem.pollen.persistence.entity.VoteVisibility; import org.chorem.pollen.services.PollenFixtures; import org.chorem.pollen.services.bean.ChoiceBean; import org.junit.Before; diff --git a/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/converter/JsonArrayConverterTest.java b/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/converter/JsonArrayConverterTest.java index d57ea34..3a8599e 100644 --- a/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/converter/JsonArrayConverterTest.java +++ b/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/converter/JsonArrayConverterTest.java @@ -25,7 +25,7 @@ import org.chorem.pollen.persistence.entity.ChoiceType; import org.chorem.pollen.services.bean.ChoiceBean; import org.junit.Assert; import org.junit.Test; -import org.nuiton.topia.persistence.internal.DefaultTopiaIdFactory; +import org.nuiton.topia.persistence.internal.FullyQualifiedNamePlusUuidTopiaIdFactory; public class JsonArrayConverterTest { @@ -33,9 +33,9 @@ public class JsonArrayConverterTest { public void convertToType() throws Exception { String choicesStr = "[ {id: \"AAAA\", choiceValue: \"choice1\", choiceType: \"TEXT\", choiceOrder: 1}, " + - " {id: \"BBBB\", choiceValue: \"choice2\", choiceType: \"RESOURCE\", choiceOrder: 2} ]"; + " {id: \"BBBB\", choiceValue: \"choice2\", choiceType: \"RESOURCE\", choiceOrder: 2} ]"; - JsonArrayConverter converter = JsonArrayConverter.newConverter(new DefaultTopiaIdFactory(), ChoiceBean.class); + JsonArrayConverter converter = JsonArrayConverter.newConverter(new FullyQualifiedNamePlusUuidTopiaIdFactory(), ChoiceBean.class); ChoiceBean[] choices = converter.convert(ChoiceBean[].class, choicesStr); Assert.assertNotNull(choices); diff --git a/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/converter/JsonConverterTest.java b/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/converter/JsonConverterTest.java index 2ac01e7..81314aa 100644 --- a/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/converter/JsonConverterTest.java +++ b/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/converter/JsonConverterTest.java @@ -29,7 +29,7 @@ import org.chorem.pollen.services.bean.VoteBean; import org.chorem.pollen.services.bean.VoteToChoiceBean; import org.junit.Assert; import org.junit.Test; -import org.nuiton.topia.persistence.internal.DefaultTopiaIdFactory; +import org.nuiton.topia.persistence.internal.FullyQualifiedNamePlusUuidTopiaIdFactory; public class JsonConverterTest { @@ -38,7 +38,7 @@ public class JsonConverterTest { String pollStr = "{voterId:\"voterId\",voterName:\"toto\",anonymous:true,choice:[{voteValue:1.5,choiceId:\"AA\"}]}"; - JsonConverter<VoteBean> converter = JsonConverter.newConverter(new DefaultTopiaIdFactory(), VoteBean.class); + JsonConverter<VoteBean> converter = JsonConverter.newConverter(new FullyQualifiedNamePlusUuidTopiaIdFactory(), VoteBean.class); VoteBean voteBean = converter.convert(VoteBean.class, pollStr); @@ -64,11 +64,11 @@ public class JsonConverterTest { public void convertEntity() { String pollStr = "{topiaCreateDate: 1399033089600, title: \"pollTitle\", " + - "choice: [ {value: \"choice1\", choiceType: \"TEXT\"}, " + - "{value: \"choice2\", choiceType: \"IMAGE\"} ], voteVisibility: \"ANONYMOUS\", " + - "commentVisibility:\"NOBODY\", pollType: \"FREE\" }"; + "choice: [ {value: \"choice1\", choiceType: \"TEXT\"}, " + + "{value: \"choice2\", choiceType: \"IMAGE\"} ], voteVisibility: \"ANONYMOUS\", " + + "commentVisibility:\"NOBODY\", pollType: \"FREE\" }"; - JsonConverter<Poll> converter = JsonConverter.newEntityConverter(new DefaultTopiaIdFactory(), Poll.class); + JsonConverter<Poll> converter = JsonConverter.newEntityConverter(new FullyQualifiedNamePlusUuidTopiaIdFactory(), Poll.class); Poll poll = converter.convert(Poll.class, pollStr); diff --git a/pollen-rest-api/src/test/resources/log4j.properties b/pollen-rest-api/src/test/resources/log4j.properties index 21bb83c..5ec1dd6 100644 --- a/pollen-rest-api/src/test/resources/log4j.properties +++ b/pollen-rest-api/src/test/resources/log4j.properties @@ -19,12 +19,9 @@ # #L% ### log4j.rootCategory=ERROR, console - log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%d{hh:mm:ss} %5p (%F:%L) %m%n - log4j.logger.org.chorem.pollen=INFO log4j.logger.org.debux=INFO - # log4j.logger.org.hibernate.tool.hbm2ddl.SchemaExport=FATAL diff --git a/pollen-services/pom.xml b/pollen-services/pom.xml index 450c8cd..7bd15ea 100644 --- a/pollen-services/pom.xml +++ b/pollen-services/pom.xml @@ -20,7 +20,8 @@ #L% --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> @@ -32,7 +33,7 @@ <groupId>org.chorem.pollen</groupId> <artifactId>pollen-services</artifactId> - <name>Pollen :: Service </name> + <name>Pollen :: Service</name> <description>Pollen Service Layer</description> <dependencies> 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 2b411f2..46c4781 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 @@ -23,7 +23,6 @@ package org.chorem.pollen.services; import com.esotericsoftware.yamlbeans.YamlException; import com.esotericsoftware.yamlbeans.YamlReader; -import org.apache.commons.io.Charsets; import org.apache.commons.io.IOUtils; import org.chorem.pollen.persistence.entity.ChoiceImpl; import org.chorem.pollen.persistence.entity.CommentImpl; @@ -39,6 +38,7 @@ import org.chorem.pollen.persistence.entity.VoterListMemberImpl; import java.io.IOException; import java.io.InputStream; +import java.nio.charset.StandardCharsets; import java.util.Map; public class PollenFixtures { @@ -49,10 +49,9 @@ public class PollenFixtures { public PollenFixtures(String fixturesName) { String yamlPath = "/" + fixturesName + ".yaml"; - InputStream inputStream = PollenFixtures.class.getResourceAsStream(yamlPath); String yaml; - try { - yaml = IOUtils.toString(inputStream, Charsets.UTF_8); + try (InputStream inputStream = PollenFixtures.class.getResourceAsStream(yamlPath)) { + yaml = IOUtils.toString(inputStream, StandardCharsets.UTF_8); } catch (IOException e) { throw new IllegalArgumentException(fixturesName + " is not a valid fixtures set name", e); } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/TopiaEntityCopyVisitor.java b/pollen-services/src/main/java/org/chorem/pollen/services/TopiaEntityCopyVisitor.java index 119c53f..2b6afbc 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/TopiaEntityCopyVisitor.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/TopiaEntityCopyVisitor.java @@ -57,7 +57,7 @@ public class TopiaEntityCopyVisitor<T extends TopiaApplicationContext> implement * When a entity is ended, the current entity goes is marked as the last, * and the last entity of the stack goes back to the current state. */ - protected Deque<TopiaEntity> stack = new ArrayDeque<>(); + protected final Deque<TopiaEntity> stack = new ArrayDeque<>(); /** * The current entity (means the last entity entering in the {@link #start(TopiaEntity)} method). @@ -82,7 +82,7 @@ public class TopiaEntityCopyVisitor<T extends TopiaApplicationContext> implement /** * Cache of already explored entities. */ - protected Collection<String> alreadyExplored; + protected final Collection<String> alreadyExplored; public static <T extends TopiaApplicationContext, E extends TopiaEntity> E copy(T topiaApplicationContext, E source) { @@ -310,7 +310,7 @@ public class TopiaEntityCopyVisitor<T extends TopiaApplicationContext> implement protected boolean acceptEntity(Object entity) { return entity instanceof TopiaEntity && - alreadyExplored.add(((TopiaEntity) entity).getTopiaId()); + alreadyExplored.add(((TopiaEntity) entity).getTopiaId()); } } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/bean/ChoiceBean.java b/pollen-services/src/main/java/org/chorem/pollen/services/bean/ChoiceBean.java index abf4925..6a68116 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/bean/ChoiceBean.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/bean/ChoiceBean.java @@ -108,8 +108,8 @@ public class ChoiceBean extends PollenBean<Choice> { case DATE: case RESOURCE: - if ( getChoiceValue() != null ) { - entity.setChoiceValue(getChoiceValue()); + if (getChoiceValue() != null) { + entity.setChoiceValue(getChoiceValue()); } break; diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/bean/GroupVoteCountingResultBean.java b/pollen-services/src/main/java/org/chorem/pollen/services/bean/GroupVoteCountingResultBean.java index b4e908f..2b8ea4d 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/bean/GroupVoteCountingResultBean.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/bean/GroupVoteCountingResultBean.java @@ -25,7 +25,6 @@ import org.chorem.pollen.votecounting.model.GroupVoteCountingResult; import org.chorem.pollen.votecounting.model.VoteCountingResult; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; /** @@ -39,7 +38,7 @@ public class GroupVoteCountingResultBean { protected VoteCountingResultBean mainResult; - protected List<VoteCountingGroupResultBean> groupResult; + protected final List<VoteCountingGroupResultBean> groupResult; public GroupVoteCountingResultBean() { groupResult = new ArrayList<>(); @@ -49,7 +48,7 @@ public class GroupVoteCountingResultBean { setMainResult(result.getMainResult()); - for(String groupId: result.getGroupIds()) { + for (String groupId : result.getGroupIds()) { VoteCountingGroupResultBean voteCountingGroupResult = new VoteCountingGroupResultBean(); voteCountingGroupResult.fromResult(result.getGroupResult(groupId), groupId); groupResult.add(voteCountingGroupResult); diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/bean/PaginationParameterBean.java b/pollen-services/src/main/java/org/chorem/pollen/services/bean/PaginationParameterBean.java index f23ca6b..b426190 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/bean/PaginationParameterBean.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/bean/PaginationParameterBean.java @@ -46,7 +46,7 @@ public class PaginationParameterBean { protected boolean desc; public static PaginationParameterBean of(int pageNumber, int pageSize) { - return of (pageNumber, pageSize, null, false); + return of(pageNumber, pageSize, null, false); } public static PaginationParameterBean of(int pageNumber, int pageSize, String order, boolean desc) { @@ -63,8 +63,7 @@ public class PaginationParameterBean { if (order != null) { paginationParameter = PaginationParameter.of(pageNumber, pageSize, order, desc); - } - else { + } else { paginationParameter = PaginationParameter.of(pageNumber, pageSize); } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/bean/PaginationResultBean.java b/pollen-services/src/main/java/org/chorem/pollen/services/bean/PaginationResultBean.java index 8e37ae3..7dcc644 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/bean/PaginationResultBean.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/bean/PaginationResultBean.java @@ -49,7 +49,7 @@ public class PaginationResultBean<O extends PollenBean> { } - protected PaginationResultContextBean pagination = new PaginationResultContextBean(); + protected final PaginationResultContextBean pagination = new PaginationResultContextBean(); public List<O> getElements() { return elements; diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollenBeans.java b/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollenBeans.java index b5255bc..03211c9 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollenBeans.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollenBeans.java @@ -21,7 +21,6 @@ package org.chorem.pollen.services.bean; * #L% */ -import com.google.common.base.Function; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import org.apache.commons.collections4.CollectionUtils; @@ -33,6 +32,7 @@ import org.nuiton.util.pagination.PaginationResult; import java.util.ArrayList; import java.util.Collection; import java.util.List; +import java.util.function.Function; /** * Created on 5/27/14. diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollenEntityId.java b/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollenEntityId.java index e20ea8c..6a7dfaa 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollenEntityId.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollenEntityId.java @@ -119,8 +119,8 @@ public class PollenEntityId<E extends TopiaEntity> { PollenEntityId that = (PollenEntityId) o; return entityType.equals(that.entityType) - && (reducedId != null && reducedId.equals(that.reducedId) - || entityId != null && entityId.equals(that.entityId)); + && (reducedId != null && reducedId.equals(that.reducedId) + || entityId != null && entityId.equals(that.entityId)); } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollenUserBean.java b/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollenUserBean.java index f35a3b6..8ced4a7 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollenUserBean.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollenUserBean.java @@ -128,11 +128,11 @@ public class PollenUserBean extends PollenBean<PollenUser> { this.isDisabled = isDisabled; } - public boolean isEmailIsValidate () { + public boolean isEmailIsValidate() { return emailIsValidate; } - public void setEmailIsValidate (boolean emailIsValidate) { + public void setEmailIsValidate(boolean emailIsValidate) { this.emailIsValidate = emailIsValidate; } } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/bean/ResourceFileBean.java b/pollen-services/src/main/java/org/chorem/pollen/services/bean/ResourceFileBean.java index 1fbd878..bd01f2c 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/bean/ResourceFileBean.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/bean/ResourceFileBean.java @@ -119,8 +119,7 @@ public class ResourceFileBean extends PollenBean<PollenResource> { try { stream = new GZIPInputStream(new FileInputStream(getFile())); - } - catch (ZipException e) { + } catch (ZipException e) { stream = new FileInputStream(getFile()); } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteBean.java b/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteBean.java index 74c5a31..55ea6b3 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteBean.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteBean.java @@ -55,7 +55,7 @@ public class VoteBean extends PollenBean<Vote> { protected double weight; - protected Set<VoteToChoiceBean> choice = new LinkedHashSet<>(); + protected final Set<VoteToChoiceBean> choice = new LinkedHashSet<>(); public VoteBean() { super(Vote.class); diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteCountingGroupResultBean.java b/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteCountingGroupResultBean.java index ecece77..437c97c 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteCountingGroupResultBean.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteCountingGroupResultBean.java @@ -46,7 +46,7 @@ public class VoteCountingGroupResultBean { protected int nbVotants; - protected PollenEntityId<VoterList> groupId; + protected final PollenEntityId<VoterList> groupId; public VoteCountingGroupResultBean() { scores = new LinkedList<>(); diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoterListMemberBean.java b/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoterListMemberBean.java index 0596af1..8f0bc24 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoterListMemberBean.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoterListMemberBean.java @@ -66,7 +66,7 @@ public class VoterListMemberBean extends PollenBean<VoterListMember> { member.setEmail(getEmail()); member.setName(getName()); entity.setMember(member); - + entity.setWeight(getWeight()); return entity; diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/config/PollenServiceConfig.java b/pollen-services/src/main/java/org/chorem/pollen/services/config/PollenServiceConfig.java index e3fa291..435728b 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/config/PollenServiceConfig.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/config/PollenServiceConfig.java @@ -35,10 +35,9 @@ import org.chorem.pollen.persistence.entity.VoteVisibility; import org.chorem.pollen.services.PollenTechnicalException; import org.nuiton.config.ApplicationConfig; import org.nuiton.config.ArgumentsParserException; -import org.nuiton.util.version.Version; +import org.nuiton.version.Version; import java.io.File; -import java.net.URL; import java.util.List; import java.util.Map; import java.util.Properties; @@ -53,7 +52,7 @@ public class PollenServiceConfig { private static final Log log = LogFactory.getLog(PollenServiceConfig.class); - protected ApplicationConfig applicationConfig; + protected final ApplicationConfig applicationConfig; public PollenServiceConfig(String filename) { this(filename, null); @@ -105,10 +104,6 @@ public class PollenServiceConfig { return StringUtils.isNotBlank(applicationConfig.getOption(PollenServiceConfigOption.LOG_CONFIGURATION_FILE.key)); } - public File getDataDirectory() { - return applicationConfig.getOptionAsFile(PollenServiceConfigOption.DATA_DIRECTORY.key); - } - public File getLogConfigurationFile() { return applicationConfig.getOptionAsFile(PollenServiceConfigOption.LOG_CONFIGURATION_FILE.key); } @@ -208,11 +203,7 @@ public class PollenServiceConfig { } public Version getVersion() { - return applicationConfig.getOption(Version.class, PollenServiceConfigOption.APPLICATION_VERSION.key); - } - - public URL getUIHost() { - return applicationConfig.getOptionAsURL(PollenServiceConfigOption.UI_HOST.key); + return applicationConfig.getOptionAsVersion(PollenServiceConfigOption.APPLICATION_VERSION.key); } public String getPollEditUrl() { diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/config/PollenServiceConfigOption.java b/pollen-services/src/main/java/org/chorem/pollen/services/config/PollenServiceConfigOption.java index aa27c48..0489ef8 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/config/PollenServiceConfigOption.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/config/PollenServiceConfigOption.java @@ -27,7 +27,7 @@ import org.chorem.pollen.persistence.entity.PollType; import org.chorem.pollen.persistence.entity.ResultVisibility; import org.chorem.pollen.persistence.entity.VoteVisibility; import org.nuiton.config.ConfigOptionDef; -import org.nuiton.util.version.Version; +import org.nuiton.version.Version; import java.io.File; import java.net.URL; @@ -251,8 +251,8 @@ public enum PollenServiceConfigOption implements ConfigOptionDef { protected String defaultValue; - private PollenServiceConfigOption(String key, String description, - String defaultValue, Class<?> type) { + PollenServiceConfigOption(String key, String description, + String defaultValue, Class<?> type) { this.key = key; this.description = description; this.defaultValue = defaultValue; 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 58d7ed8..6acf79b 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 @@ -21,10 +21,14 @@ package org.chorem.pollen.services.service; * #L% */ -import com.google.common.base.Function; import com.google.common.collect.Sets; import org.apache.commons.collections4.CollectionUtils; -import org.chorem.pollen.persistence.entity.*; +import org.chorem.pollen.persistence.entity.Choice; +import org.chorem.pollen.persistence.entity.ChoiceTopiaDao; +import org.chorem.pollen.persistence.entity.ChoiceType; +import org.chorem.pollen.persistence.entity.Poll; +import org.chorem.pollen.persistence.entity.PollenPrincipal; +import org.chorem.pollen.persistence.entity.PollenResource; import org.chorem.pollen.services.bean.ChoiceBean; import org.chorem.pollen.services.bean.PollenEntityRef; import org.chorem.pollen.services.service.security.PermissionVerb; @@ -32,6 +36,7 @@ import org.chorem.pollen.services.service.security.PermissionVerb; import java.util.Date; import java.util.List; import java.util.Set; +import java.util.function.Function; import static org.nuiton.i18n.I18n.l; @@ -43,21 +48,18 @@ import static org.nuiton.i18n.I18n.l; */ public class ChoiceService extends PollenServiceSupport { - protected Function<ChoiceBean, ChoiceBean> choiceBeanFunction = new Function<ChoiceBean, ChoiceBean>() { - @Override - public ChoiceBean apply(ChoiceBean input) { - if (isNotPermitted(PermissionVerb.editChoice, input.getEntityId())) { - input.setPermission(null); - } + protected final Function<ChoiceBean, ChoiceBean> choiceBeanFunction = input -> { + if (isNotPermitted(PermissionVerb.editChoice, input.getEntityId())) { + input.setPermission(null); + } - if (input.getChoiceType() == ChoiceType.RESOURCE) { - input.setChoiceValue(getPollenResourceService().getReduceIdByTopiaId(input.getChoiceValue())); - } + if (input.getChoiceType() == ChoiceType.RESOURCE) { + input.setChoiceValue(getPollenResourceService().getReduceIdByTopiaId(input.getChoiceValue())); + } - input.setChoiceIsDeletable(isPermitted(PermissionVerb.deleteChoice, input.getEntityId())); + input.setChoiceIsDeletable(isPermitted(PermissionVerb.deleteChoice, input.getEntityId())); - return input; - } + return input; }; public List<ChoiceBean> getChoices(String pollId) { @@ -211,9 +213,9 @@ public class ChoiceService extends PollenServiceSupport { // check if new resource then delete old resource if (choice.getChoiceType() != ChoiceType.RESOURCE || - ! toSave.getChoiceValue().equals( - getPollenResourceService().getTopiaIdByReduceId(choice.getChoiceValue()) - )) { + !toSave.getChoiceValue().equals( + getPollenResourceService().getTopiaIdByReduceId(choice.getChoiceValue()) + )) { // delete the old resource getPollenResourceDao().delete(getPollenResourceService().getResource0(toSave.getChoiceValue())); @@ -286,7 +288,7 @@ public class ChoiceService extends PollenServiceSupport { for (Choice choice1 : existingChoices) { if (choiceExists && - choice1.getTopiaId().equals(choice.getEntityId())) { + choice1.getTopiaId().equals(choice.getEntityId())) { continue; @@ -317,14 +319,13 @@ public class ChoiceService extends PollenServiceSupport { break; case DATE: - Date choiceDate = null; + Date choiceDate; if (choice.getChoiceValue() != null) { - choiceDate = new Date(Long.parseLong(choice.getChoiceValue())); + choiceDate = new Date(Long.parseLong(choice.getChoiceValue())); boolean dateAdded = choiceNames.add(String.valueOf(choiceDate.getTime())); check(errors, "choiceValue", dateAdded, l(getLocale(), "pollen.error.choice.choiceDateExist")); - } - else { + } else { check(errors, "choiceValue", false, l(getLocale(), "pollen.error.choice.choiceDateEmpty")); } @@ -333,9 +334,9 @@ public class ChoiceService extends PollenServiceSupport { case RESOURCE: boolean hasResource = checkNotBlank(errors, - "choiceValue", - choice.getChoiceValue(), - l(getLocale(), "pollen.error.resource.empty")); + "choiceValue", + choice.getChoiceValue(), + l(getLocale(), "pollen.error.resource.empty")); if (hasResource) { PollenResourceService resourceService = getPollenResourceService(); 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 d9f0be3..c2b47e4 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 @@ -21,7 +21,7 @@ package org.chorem.pollen.services.service; * #L% */ -import com.google.common.base.Function; + import org.chorem.pollen.persistence.entity.Comment; import org.chorem.pollen.persistence.entity.Poll; import org.chorem.pollen.persistence.entity.PollenPrincipal; @@ -34,6 +34,8 @@ import org.chorem.pollen.services.service.security.PermissionVerb; import org.nuiton.util.pagination.PaginationParameter; import org.nuiton.util.pagination.PaginationResult; +import java.util.function.Function; + import static org.nuiton.i18n.I18n.l; /** @@ -44,14 +46,11 @@ import static org.nuiton.i18n.I18n.l; */ public class CommentService extends PollenServiceSupport { - private Function<CommentBean, CommentBean> commentFunction = new Function<CommentBean, CommentBean>() { - @Override - public CommentBean apply(CommentBean input) { - if (isNotPermitted(PermissionVerb.editComment, input.getEntityId())) { - input.setPermission(null); - } - return input; + private final Function<CommentBean, CommentBean> commentFunction = input -> { + if (isNotPermitted(PermissionVerb.editComment, input.getEntityId())) { + input.setPermission(null); } + return input; }; public PaginationResultBean<CommentBean> getComments(String pollId, PaginationParameterBean paginationParameter) { diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/ErrorMap.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/ErrorMap.java index 071a97d..a365da5 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/ErrorMap.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/ErrorMap.java @@ -34,7 +34,7 @@ import java.util.Collection; */ public class ErrorMap { - protected Multimap<String, String> errors; + protected final Multimap<String, String> errors; public ErrorMap() { diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/FavoriteListImportException.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/FavoriteListImportException.java index 76f1266..8ce6516 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/FavoriteListImportException.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/FavoriteListImportException.java @@ -31,7 +31,7 @@ public class FavoriteListImportException extends Exception { private static final long serialVersionUID = 1L; - private String causeMessage; + private final String causeMessage; public FavoriteListImportException(String causeMessage, Throwable cause) { super(cause); diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/FavoriteListService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/FavoriteListService.java index 54237e7..94e57eb 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/FavoriteListService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/FavoriteListService.java @@ -387,7 +387,7 @@ public class FavoriteListService extends PollenServiceSupport { for (FavoriteList favoriteList1 : existingFavoriteLists) { if (favoriteListExists && - favoriteList1.getTopiaId().equals(favoriteList.getEntityId())) { + favoriteList1.getTopiaId().equals(favoriteList.getEntityId())) { continue; @@ -423,7 +423,7 @@ public class FavoriteListService extends PollenServiceSupport { for (FavoriteListMember favoriteListMember1 : existingFavoriteListMembers) { if (voterListMemberExists && - favoriteListMember1.getTopiaId().equals(favoriteListMember.getEntityId())) { + favoriteListMember1.getTopiaId().equals(favoriteListMember.getEntityId())) { continue; } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/FixturesService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/FixturesService.java index fcf61e8..2ea714b 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/FixturesService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/FixturesService.java @@ -48,7 +48,7 @@ public class FixturesService extends PollenServiceSupport { private static final Log log = LogFactory.getLog(FixturesService.class); - protected Map<String, PollenFixtures> fixtureSets = Maps.newHashMap(); + protected final Map<String, PollenFixtures> fixtureSets = Maps.newHashMap(); public PollenFixtures cleanDatabaseAndLoadFixtures(String fixturesSetName) { diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/NotificationService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/NotificationService.java index 0b485ac..bc6ed58 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/NotificationService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/NotificationService.java @@ -21,8 +21,17 @@ package org.chorem.pollen.services.service; * #L% */ -import org.chorem.pollen.persistence.entity.*; -import org.chorem.pollen.services.service.mail.*; +import org.chorem.pollen.persistence.entity.Choice; +import org.chorem.pollen.persistence.entity.Comment; +import org.chorem.pollen.persistence.entity.FavoriteList; +import org.chorem.pollen.persistence.entity.Poll; +import org.chorem.pollen.persistence.entity.PollenUser; +import org.chorem.pollen.persistence.entity.Vote; +import org.chorem.pollen.services.service.mail.EmailService; +import org.chorem.pollen.services.service.mail.LostPasswordEmail; +import org.chorem.pollen.services.service.mail.PollClosedEmail; +import org.chorem.pollen.services.service.mail.PollCreatedEmail; +import org.chorem.pollen.services.service.mail.UserAccountCreatedEmail; /** * Created on 4/30/14. 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 557e6af..bcbc691 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 @@ -21,7 +21,6 @@ package org.chorem.pollen.services.service; * #L% */ -import com.google.common.base.Function; import org.apache.commons.collections4.CollectionUtils; import org.chorem.pollen.persistence.entity.Choice; import org.chorem.pollen.persistence.entity.Poll; @@ -44,6 +43,7 @@ import java.io.File; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.function.Function; import static org.nuiton.i18n.I18n.l; @@ -55,38 +55,35 @@ import static org.nuiton.i18n.I18n.l; */ public class PollService extends PollenServiceSupport { - private Function<PollBean, PollBean> pollBeanFunction = new Function<PollBean, PollBean>() { - @Override - public PollBean apply(PollBean input) { - if (isNotPermitted(PermissionVerb.editPoll, input.getEntityId())) { - input.setPermission(null); - input.setCreatorEmail(null); - input.setCreatorName(null); + private final Function<PollBean, PollBean> pollBeanFunction = input -> { + if (isNotPermitted(PermissionVerb.editPoll, input.getEntityId())) { + input.setPermission(null); + input.setCreatorEmail(null); + input.setCreatorName(null); - } + } - input.setCommentIsVisible(isPermitted(PermissionVerb.readComment, input.getEntityId())); + input.setCommentIsVisible(isPermitted(PermissionVerb.readComment, input.getEntityId())); - input.setVoteIsVisible(isPermitted(PermissionVerb.readVote, input.getEntityId())); + input.setVoteIsVisible(isPermitted(PermissionVerb.readVote, input.getEntityId())); - input.setResultIsVisible(isPermitted(PermissionVerb.readPollResult, input.getEntityId())); + input.setResultIsVisible(isPermitted(PermissionVerb.readPollResult, input.getEntityId())); - boolean canVote = !input.isClosed(); - if (canVote && input.getEndDate() != null) { - canVote = getNow().compareTo(input.getEndDate()) == -1; - } - if (canVote) { - canVote = isPermitted(PermissionVerb.addVote, input.getEntityId()); - } + boolean canVote = !input.isClosed(); + if (canVote && input.getEndDate() != null) { + canVote = getNow().compareTo(input.getEndDate()) == -1; + } + if (canVote) { + canVote = isPermitted(PermissionVerb.addVote, input.getEntityId()); + } - input.setCanVote(canVote); + input.setCanVote(canVote); - long commentCount = getCommentService().getCommentCount(input.getEntityId()); - - input.setCommentCount(commentCount); + long commentCount = getCommentService().getCommentCount(input.getEntityId()); - return input; - } + input.setCommentCount(commentCount); + + return input; }; public PaginationResultBean<PollBean> getPolls(PaginationParameterBean paginationParameter) { @@ -258,7 +255,7 @@ public class PollService extends PollenServiceSupport { //clone VoterList List<VoterListBean> clonedVoterList = toBeanList(VoterListBean.class, getVoterListService().getVoterLists0(poll)); for (VoterListBean voterList : clonedVoterList) { - List<VoterListMemberBean> clonedVoterListMember = toBeanList(VoterListMemberBean.class , getVoterListService().getVoterListMembers0(voterList.toEntity())); + List<VoterListMemberBean> clonedVoterListMember = toBeanList(VoterListMemberBean.class, getVoterListService().getVoterListMembers0(voterList.toEntity())); voterList.setEntityId(null); VoterList savedVoterList = getVoterListService().saveVoterList(savedPoll, voterList); @@ -374,8 +371,7 @@ public class PollService extends PollenServiceSupport { if (poll.getBeginChoiceDate() == null || poll.getBeginChoiceDate().compareTo(toSave.getBeginDate()) == -1) { // correction Date toSave.setBeginChoiceDate(toSave.getBeginDate()); - } - else { + } else { toSave.setBeginChoiceDate(poll.getBeginChoiceDate()); } @@ -439,14 +435,14 @@ public class PollService extends PollenServiceSupport { check(errors, Poll.PROPERTY_BEGIN_CHOICE_DATE, poll.getBeginChoiceDate().compareTo(poll.getEndDate()) == -1, l(getLocale(), "pollen.error.poll.beginChoiceDate.afterEndDate")); } - if (poll.getEndChoiceDate() != null ) { + if (poll.getEndChoiceDate() != null) { check(errors, Poll.PROPERTY_END_CHOICE_DATE, poll.getEndChoiceDate().compareTo(poll.getBeginChoiceDate()) == 1, l(getLocale(), "pollen.error.poll.endChoiceDate.beforeBeginChoiceDate")); } } } if (poll.getCreatorEmail() != null && !poll.getCreatorEmail().isEmpty()) { - checkValidEmail(errors, Poll.PROPERTY_CREATOR+"."+PollenPrincipal.PROPERTY_EMAIL,poll.getCreatorEmail(), l(getLocale(), "pollen.error.poll.creator.email.invalid")); + checkValidEmail(errors, Poll.PROPERTY_CREATOR + "." + PollenPrincipal.PROPERTY_EMAIL, poll.getCreatorEmail(), l(getLocale(), "pollen.error.poll.creator.email.invalid")); } return errors; 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 5abdb6e..8c57685 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 @@ -21,12 +21,13 @@ package org.chorem.pollen.services.service; * #L% */ -import org.chorem.pollen.persistence.entity.Choice; -import org.chorem.pollen.persistence.entity.ChoiceType; import org.chorem.pollen.persistence.entity.PollenResource; import org.chorem.pollen.services.PollenService; -import org.chorem.pollen.services.bean.*; -import org.chorem.pollen.services.service.security.PollenUnauthorizedException; +import org.chorem.pollen.services.bean.PollenEntityId; +import org.chorem.pollen.services.bean.PollenEntityRef; +import org.chorem.pollen.services.bean.ResourceFileBean; +import org.chorem.pollen.services.bean.ResourceMetaBean; +import org.chorem.pollen.services.bean.ResourceStreamBean; import org.nuiton.topia.persistence.TopiaIdFactory; import java.io.IOException; @@ -52,7 +53,7 @@ public class PollenResourceService extends PollenServiceSupport implements Polle PollenResource resource = getResource0(resourceId); - return toBean(ResourceMetaBean.class, resource); + return toBean(ResourceMetaBean.class, resource); } public PollenEntityRef<PollenResource> createResource(ResourceFileBean resource) { @@ -67,7 +68,7 @@ public class PollenResourceService extends PollenServiceSupport implements Polle return PollenEntityRef.of(savedResource); } - public PollenEntityRef<PollenResource> editResource (String resourceId, ResourceFileBean resource) { + public PollenEntityRef<PollenResource> editResource(String resourceId, ResourceFileBean resource) { checkNotNull(resourceId); checkIsNotPersisted(resource); @@ -80,7 +81,7 @@ public class PollenResourceService extends PollenServiceSupport implements Polle } - public void deleteResource (String resourceId) { + public void deleteResource(String resourceId) { checkNotNull(resourceId); PollenResource resource = getResource0(resourceId); @@ -103,8 +104,7 @@ public class PollenResourceService extends PollenServiceSupport implements Polle if (resourceExist) { toSave = getResource0(resource.getEntityId()); - } - else { + } else { toSave = getPollenResourceDao().create(); } 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 ea0b0ed..03882c2 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 @@ -21,7 +21,6 @@ package org.chorem.pollen.services.service; * #L% */ -import com.google.common.base.Function; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; @@ -29,12 +28,25 @@ import com.google.common.collect.Multimap; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.chorem.pollen.persistence.PollenPersistenceContext; -import org.chorem.pollen.persistence.entity.*; +import org.chorem.pollen.persistence.entity.ChoiceTopiaDao; +import org.chorem.pollen.persistence.entity.CommentTopiaDao; +import org.chorem.pollen.persistence.entity.FavoriteListMemberTopiaDao; +import org.chorem.pollen.persistence.entity.FavoriteListTopiaDao; +import org.chorem.pollen.persistence.entity.PollTopiaDao; +import org.chorem.pollen.persistence.entity.PollenPrincipalTopiaDao; +import org.chorem.pollen.persistence.entity.PollenResourceTopiaDao; +import org.chorem.pollen.persistence.entity.PollenUser; +import org.chorem.pollen.persistence.entity.PollenUserTopiaDao; +import org.chorem.pollen.persistence.entity.SessionTokenTopiaDao; +import org.chorem.pollen.persistence.entity.VoteToChoiceTopiaDao; +import org.chorem.pollen.persistence.entity.VoteTopiaDao; +import org.chorem.pollen.persistence.entity.VoterListMemberTopiaDao; +import org.chorem.pollen.persistence.entity.VoterListTopiaDao; import org.chorem.pollen.services.PollenService; import org.chorem.pollen.services.PollenServiceContext; +import org.chorem.pollen.services.bean.PaginationResultBean; import org.chorem.pollen.services.bean.PollenBean; import org.chorem.pollen.services.bean.PollenBeans; -import org.chorem.pollen.services.bean.PaginationResultBean; import org.chorem.pollen.services.config.PollenServiceConfig; import org.chorem.pollen.services.service.mail.EmailService; import org.chorem.pollen.services.service.security.PermissionVerb; @@ -47,6 +59,7 @@ import org.nuiton.util.pagination.PaginationResult; import java.util.Collection; import java.util.Date; import java.util.Locale; +import java.util.function.Function; /** * TODO diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenUIUrlRenderService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenUIUrlRenderService.java index 2d91fc3..7fb6b39 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenUIUrlRenderService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenUIUrlRenderService.java @@ -28,7 +28,7 @@ package org.chorem.pollen.services.service; */ public class PollenUIUrlRenderService extends PollenServiceSupport { - public String getPollenUrl() { + public String getPollenUrl() { return serviceContext.getPollenServiceConfig().getPollenUrl(); } @@ -41,8 +41,7 @@ public class PollenUIUrlRenderService extends PollenServiceSupport { if (token == null) { url = url.replace("/{pollToken}", ""); - } - else { + } else { url = url.replace("{pollToken}", token); } @@ -57,8 +56,7 @@ public class PollenUIUrlRenderService extends PollenServiceSupport { if (token == null) { url = url.replace("/{pollToken}", ""); - } - else { + } else { url = url.replace("{pollToken}", token); } @@ -74,8 +72,7 @@ public class PollenUIUrlRenderService extends PollenServiceSupport { if (pollToken == null) { url = url.replace("/{pollToken}", ""); - } - else { + } else { url = url.replace("{pollToken}", pollToken); } 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 f42b2ec..221c449 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 @@ -21,15 +21,19 @@ package org.chorem.pollen.services.service; * #L% */ -import com.google.common.base.Function; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.util.CollectionUtils; -import org.chorem.pollen.persistence.entity.*; +import org.chorem.pollen.persistence.entity.Comment; +import org.chorem.pollen.persistence.entity.PollenPrincipal; +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.Vote; import org.chorem.pollen.services.PollenService; import org.chorem.pollen.services.bean.PaginationParameterBean; -import org.chorem.pollen.services.bean.PollenEntityRef; import org.chorem.pollen.services.bean.PaginationResultBean; +import org.chorem.pollen.services.bean.PollenEntityRef; import org.chorem.pollen.services.bean.PollenUserBean; import org.chorem.pollen.services.service.security.PollenInvalidEmailActivationTokenException; import org.chorem.pollen.services.service.security.PollenInvalidPasswordException; @@ -40,6 +44,7 @@ import org.nuiton.util.pagination.PaginationResult; import java.util.ArrayList; import java.util.List; import java.util.Objects; +import java.util.function.Function; import static org.nuiton.i18n.I18n.l; @@ -51,15 +56,12 @@ import static org.nuiton.i18n.I18n.l; */ public class PollenUserService extends PollenServiceSupport implements PollenService { - private Function<PollenUserBean, PollenUserBean> pollenUserFunction = new Function<PollenUserBean, PollenUserBean>() { - @Override - public PollenUserBean apply(PollenUserBean input) { - input.setDisabled(input.getPassword() == ""); + private final Function<PollenUserBean, PollenUserBean> pollenUserFunction = input -> { + input.setDisabled(Objects.equals(input.getPassword(), "")); - input.setPassword(null); + input.setPassword(null); - return input; - } + return input; }; public PaginationResultBean<PollenUserBean> getUsers(PaginationParameterBean paginationParameter) { @@ -149,7 +151,7 @@ public class PollenUserService extends PollenServiceSupport implements PollenSer if (anonymize) { anonymizeUser(user); } - + getPollenUserDao().delete(user); commit(); @@ -272,7 +274,7 @@ public class PollenUserService extends PollenServiceSupport implements PollenSer } - protected ErrorMap checkPollenUser(PollenUserBean user) throws InvalidFormException { + protected ErrorMap checkPollenUser(PollenUserBean user) { ErrorMap errors = new ErrorMap(); @@ -308,7 +310,7 @@ public class PollenUserService extends PollenServiceSupport implements PollenSer } - boolean passwordNotBlank = checkNotBlank(errors, "password", user.getPassword() , l(getLocale(), "pollen.error.user.passwordEmpty")); + boolean passwordNotBlank = checkNotBlank(errors, "password", user.getPassword(), l(getLocale(), "pollen.error.user.passwordEmpty")); if (userExists && passwordNotBlank) { @@ -413,14 +415,14 @@ public class PollenUserService extends PollenServiceSupport implements PollenSer List<Vote> votesUser = getVoteDao().forEquals(Vote.PROPERTY_VOTER + "." + PollenPrincipal.PROPERTY_POLLEN_USER, user).findAll(); - for (Vote vote: votesUser) { + for (Vote vote : votesUser) { vote.setVoter(anonymousUser); vote.setAnonymous(true); } List<Comment> commentsUser = getCommentDao().forEquals(Comment.PROPERTY_AUTHOR + "." + PollenPrincipal.PROPERTY_POLLEN_USER, user).findAll(); - for (Comment comment: commentsUser) { + for (Comment comment : commentsUser) { comment.setAuthor(anonymousUser); } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteCountingService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteCountingService.java index 2f1f4a9..6606d20 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteCountingService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteCountingService.java @@ -21,7 +21,6 @@ package org.chorem.pollen.services.service; * #L% */ -import com.google.common.base.Function; import com.google.common.base.Preconditions; import com.google.common.collect.Maps; import org.chorem.pollen.persistence.entity.Poll; @@ -185,12 +184,7 @@ public class VoteCountingService extends PollenServiceSupport { // create group of voter Map<VoterListMember, Vote> voteByVoterListMember = Maps.uniqueIndex( votes, - new Function<Vote, VoterListMember>() { - @Override - public VoterListMember apply(Vote input) { - return input.getVoterListMember(); - } - } + Vote::getVoterListMember ); for (VoterList voterList : voterLists) { @@ -255,7 +249,7 @@ public class VoteCountingService extends PollenServiceSupport { ErrorMap errors = new ErrorMap(); Double total = null; - for(VoteToChoiceBean choice: vote.getChoice()) { + for (VoteToChoiceBean choice : vote.getChoice()) { if (voteCounting.isVoteValueNull(choice.getVoteValue())) { continue; @@ -268,15 +262,15 @@ public class VoteCountingService extends PollenServiceSupport { total += choice.getVoteValue(); check(errors, - "voteValue[" + choice.getChoiceId().getReducedId() + "]", - voteCounting.isVoteValueValid(choice.getVoteValue()), - l(getLocale(), "pollen.error.vote.voteValue.invalid")); + "voteValue[" + choice.getChoiceId().getReducedId() + "]", + voteCounting.isVoteValueValid(choice.getVoteValue()), + l(getLocale(), "pollen.error.vote.voteValue.invalid")); } check(errors, - "totalVoteValue", - voteCounting.isTotalVoteValueValid(total), - l(getLocale(), "pollen.error.vote.totalVote.invalid")); + "totalVoteValue", + voteCounting.isTotalVoteValueValid(total), + l(getLocale(), "pollen.error.vote.totalVote.invalid")); return errors; } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteCountingTypeService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteCountingTypeService.java index d5dd1cd..5a196f8 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteCountingTypeService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteCountingTypeService.java @@ -25,10 +25,8 @@ import org.chorem.pollen.services.bean.VoteCountingTypeBean; import org.chorem.pollen.votecounting.VoteCounting; import org.chorem.pollen.votecounting.VoteCountingFactory; import org.chorem.pollen.votecounting.VoteCountingNotFound; -import org.chorem.pollen.votecounting.VoteCountingStrategy; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import java.util.Locale; @@ -44,9 +42,9 @@ public class VoteCountingTypeService extends PollenServiceSupport { VoteCountingFactory factory = serviceContext.getVoteCountingFactory(); - List<VoteCountingTypeBean> voteCountingTypes = new ArrayList<VoteCountingTypeBean>(); + List<VoteCountingTypeBean> voteCountingTypes = new ArrayList<>(); - for ( VoteCounting voteCounting : factory ) { + for (VoteCounting voteCounting : factory) { voteCountingTypes.add(idToVoteCountingType(voteCounting.getId())); @@ -58,8 +56,7 @@ public class VoteCountingTypeService extends PollenServiceSupport { public VoteCountingTypeBean getVoteCountingType(int id) { try { return idToVoteCountingType(id); - } - catch (VoteCountingNotFound e) { + } catch (VoteCountingNotFound e) { return null; } } 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 4cf5cc6..47fbdcc 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 @@ -21,17 +21,31 @@ package org.chorem.pollen.services.service; * #L% */ -import com.google.common.base.Function; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.chorem.pollen.persistence.entity.*; +import org.chorem.pollen.persistence.entity.Choice; +import org.chorem.pollen.persistence.entity.Poll; +import org.chorem.pollen.persistence.entity.PollenPrincipal; +import org.chorem.pollen.persistence.entity.PollenUser; +import org.chorem.pollen.persistence.entity.Polls; +import org.chorem.pollen.persistence.entity.Vote; +import org.chorem.pollen.persistence.entity.VoteToChoice; +import org.chorem.pollen.persistence.entity.VoteToChoiceTopiaDao; +import org.chorem.pollen.persistence.entity.VoterList; +import org.chorem.pollen.persistence.entity.VoterListMember; import org.chorem.pollen.services.bean.PollenEntityRef; import org.chorem.pollen.services.bean.VoteBean; import org.chorem.pollen.services.bean.VoteToChoiceBean; import org.chorem.pollen.services.service.security.PermissionVerb; import org.chorem.pollen.votecounting.VoteCounting; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Date; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.function.Function; import static org.nuiton.i18n.I18n.l; @@ -43,14 +57,11 @@ import static org.nuiton.i18n.I18n.l; */ public class VoteService extends PollenServiceSupport { - private Function<VoteBean, VoteBean> voteBeanFunction = new Function<VoteBean, VoteBean>() { - @Override - public VoteBean apply(VoteBean input) { - if (isNotPermitted(PermissionVerb.editVote, input.getEntityId())) { - input.setPermission(null); - } - return input; + private final Function<VoteBean, VoteBean> voteBeanFunction = input -> { + if (isNotPermitted(PermissionVerb.editVote, input.getEntityId())) { + input.setPermission(null); } + return input; }; public VoteBean getNewVote(String pollId) { @@ -66,9 +77,9 @@ public class VoteService extends PollenServiceSupport { voteBean.setVoterName(connectedUser.getName()); voteBean.setVoterId(connectedUser.getTopiaId()); - VoterListMember voterListMember = getVoterListMemberDao().forEquals(VoterListMember.PROPERTY_MEMBER+"."+PollenPrincipal.PROPERTY_POLLEN_USER+"."+PollenUser.PROPERTY_TOPIA_ID, connectedUser.getTopiaId()) - .addEquals(VoterListMember.PROPERTY_VOTER_LIST+"."+VoterList.PROPERTY_POLL+"."+Poll.PROPERTY_TOPIA_ID, pollId) - .findUniqueOrNull(); + VoterListMember voterListMember = getVoterListMemberDao().forEquals(VoterListMember.PROPERTY_MEMBER + "." + PollenPrincipal.PROPERTY_POLLEN_USER + "." + PollenUser.PROPERTY_TOPIA_ID, connectedUser.getTopiaId()) + .addEquals(VoterListMember.PROPERTY_VOTER_LIST + "." + VoterList.PROPERTY_POLL + "." + Poll.PROPERTY_TOPIA_ID, pollId) + .findUniqueOrNull(); if (voterListMember != null) { voteBean.setVoterListMemberId(voterListMember.getTopiaId()); voteBean.setWeight(voterListMember.getWeight()); @@ -184,16 +195,16 @@ public class VoteService extends PollenServiceSupport { boolean voteNameNotBlank = checkNotBlank(errors, "voter.name", vote.getVoterName(), l(getLocale(), "pollen.error.vote.voterName.mandatory")); - if ( voteNameNotBlank ) { + if (voteNameNotBlank) { List<Vote> existingVote = getVoteDao().findAll(poll); - if ( CollectionUtils.isNotEmpty(existingVote) ) { + if (CollectionUtils.isNotEmpty(existingVote)) { // get all voter name - for ( Vote oneVote : existingVote ) { - if ( voteExists && - oneVote.getTopiaId().equals(vote.getEntityId()) ) { + for (Vote oneVote : existingVote) { + if (voteExists && + oneVote.getTopiaId().equals(vote.getEntityId())) { continue; } @@ -214,8 +225,8 @@ public class VoteService extends PollenServiceSupport { if (poll.getMaxChoiceNumber() > 0) { int nbChoice = 0; - for ( VoteToChoiceBean voteToChoice : vote.getChoice() ) { - if ( voteCounting.isChoiceInVote(voteToChoice.getVoteValue()) ) { + for (VoteToChoiceBean voteToChoice : vote.getChoice()) { + if (voteCounting.isChoiceInVote(voteToChoice.getVoteValue())) { nbChoice++; } } @@ -271,7 +282,7 @@ public class VoteService extends PollenServiceSupport { } else { //FIXME Get member and his weight - VoterListMember voterListMember = getVoterListMemberDao().forEquals(VoterListMember.PROPERTY_TOPIA_ID, vote.getVoterListMemberId().getEntityId()).findUnique(); + VoterListMember voterListMember = getVoterListMemberDao().forEquals(VoterListMember.PROPERTY_TOPIA_ID, vote.getVoterListMemberId().getEntityId()).findUnique(); toSave.setVoterListMember(voterListMember); weight = voterListMember.getWeight(); @@ -304,22 +315,21 @@ public class VoteService extends PollenServiceSupport { //TODO dralagen 31/07/14 : review code for persisted Collection Collection<VoteToChoice> choicesToSave = toSave.getVoteToChoice(); - for(VoteToChoiceBean input: vote.getChoice()) { + for (VoteToChoiceBean input : vote.getChoice()) { if (input.isPersisted()) { - for ( VoteToChoice voteToChoice : choicesToSave ) { - if ( input.getChoiceId().getEntityId().equals(voteToChoice.getChoice().getTopiaId()) ) { + for (VoteToChoice voteToChoice : choicesToSave) { + if (input.getChoiceId().getEntityId().equals(voteToChoice.getChoice().getTopiaId())) { voteToChoice.setVoteValue(input.getVoteValue()); } } - } - else { + } else { choicesToSave.add(createVoteToChoice(toSave, input)); } } } else { Set<VoteToChoice> choicesToSave = new HashSet<>(); - for ( VoteToChoiceBean input : vote.getChoice() ) { + for (VoteToChoiceBean input : vote.getChoice()) { VoteToChoice voteToChoice = createVoteToChoice(toSave, input); choicesToSave.add(voteToChoice); diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/VoterListService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/VoterListService.java index cff3571..f30e556 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/VoterListService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/VoterListService.java @@ -23,8 +23,15 @@ package org.chorem.pollen.services.service; import com.google.common.collect.Sets; import org.apache.commons.collections4.CollectionUtils; -import org.chorem.pollen.persistence.entity.*; -import org.chorem.pollen.services.bean.PollenEntityId; +import org.chorem.pollen.persistence.entity.FavoriteList; +import org.chorem.pollen.persistence.entity.FavoriteListMember; +import org.chorem.pollen.persistence.entity.Poll; +import org.chorem.pollen.persistence.entity.PollType; +import org.chorem.pollen.persistence.entity.PollenPrincipal; +import org.chorem.pollen.persistence.entity.PollenUser; +import org.chorem.pollen.persistence.entity.VoterList; +import org.chorem.pollen.persistence.entity.VoterListMember; +import org.chorem.pollen.persistence.entity.VoterListTopiaDao; import org.chorem.pollen.services.bean.PollenEntityRef; import org.chorem.pollen.services.bean.VoterListBean; import org.chorem.pollen.services.bean.VoterListMemberBean; @@ -85,8 +92,7 @@ public class VoterListService extends PollenServiceSupport { List<VoterListMember> existingVoterListMembers = null; if (voterListId != null) { result = getVoterList0(poll, voterListId); - } - else { + } else { if (poll.getPollType() == PollType.RESTRICTED) { List<VoterList> existingVoterList = getVoterLists0(poll); if (existingVoterList.size() > 0) { @@ -197,7 +203,7 @@ public class VoterListService extends PollenServiceSupport { Poll poll = getPollService().getPoll0(pollId); List<VoterList> existingVoterLists = getVoterLists0(poll); - List<VoterListMember> existingVoterListMembers = getVoterListMembers0(voterList.toEntity()); + List<VoterListMember> existingVoterListMembers = getVoterListMembers0(voterList.toEntity()); ErrorMap errorMap = checkVoterList(existingVoterLists, voterList, toBeanList(VoterListMemberBean.class, existingVoterListMembers)); errorMap.failIfNotEmpty(); @@ -302,7 +308,7 @@ public class VoterListService extends PollenServiceSupport { checkNotNull(voterListId); checkNotNull(memberId); checkPermission(PermissionVerb.editPoll, pollId); - + VoterList voterList = getVoterList0(pollId, voterListId); VoterListMember member = getVoterListMember0(voterList, memberId); @@ -406,17 +412,16 @@ public class VoterListService extends PollenServiceSupport { } // when create or edit email - if ( !voterListMemberExists || !voterListMember.getEmail().equals(toSave.getMember().getEmail()) ) { + if (!voterListMemberExists || !voterListMember.getEmail().equals(toSave.getMember().getEmail())) { PollenPrincipal member; PollenUser user = getPollenUserDao().forEquals(PollenUser.PROPERTY_EMAIL, voterListMember.getEmail()).findUniqueOrNull(); - if (user != null ) { + if (user != null) { member = getPollenPrincipalDao().create(); member.setPollenUser(user); member.setEmail(user.getEmail()); member.setName(user.getName()); member.setPermission(getSecurityService().generateNewToken()); - } - else { + } else { member = getSecurityService().generatePollenPrincipal(); } @@ -446,7 +451,7 @@ public class VoterListService extends PollenServiceSupport { for (VoterList oneVoterList : existingVoterLists) { if (voterListExists && - oneVoterList.getTopiaId().equals(voterList.getEntityId())) { + oneVoterList.getTopiaId().equals(voterList.getEntityId())) { continue; } @@ -498,7 +503,7 @@ public class VoterListService extends PollenServiceSupport { for (VoterListMember voterListMember1 : existingVoterListMembers) { if (voterListMemberExists && - voterListMember1.getTopiaId().equals(voterListMember.getEntityId())) { + voterListMember1.getTopiaId().equals(voterListMember.getEntityId())) { continue; } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/EmailService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/EmailService.java index e695615..74f0bf6 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/EmailService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/EmailService.java @@ -206,7 +206,7 @@ public class EmailService extends PollenServiceSupport { if (log.isInfoEnabled()) { log.info("an email should have been sent if not in devMode: tos = " + - mail.getTos() + ". subject = '" + mail.getSubject() + "'. body = \n" + getBody(mail)); + mail.getTos() + ". subject = '" + mail.getSubject() + "'. body = \n" + getBody(mail)); } if (log.isWarnEnabled()) { diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/PollCreatedEmail.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/PollCreatedEmail.java index 2bdda82..f375866 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/PollCreatedEmail.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/PollCreatedEmail.java @@ -22,7 +22,6 @@ package org.chorem.pollen.services.service.mail; */ import org.chorem.pollen.persistence.entity.Poll; -import org.chorem.pollen.services.PollenServiceContext; import org.nuiton.i18n.I18n; import java.util.Locale; @@ -57,19 +56,19 @@ public class PollCreatedEmail extends PollenMail { this.poll = poll; } - public String getUrl () { + public String getUrl() { return url; } - public String getPollenUrl () { + public String getPollenUrl() { return pollenUrl; } - public void setPollenUrl (String pollenUrl) { + public void setPollenUrl(String pollenUrl) { this.pollenUrl = pollenUrl; } - public void setUrl (String url) { + public void setUrl(String url) { this.url = url; } } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/PollenMail.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/PollenMail.java index 0e8e73b..6aa2789 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/PollenMail.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/PollenMail.java @@ -36,7 +36,7 @@ import java.util.Set; */ public abstract class PollenMail { - protected Locale locale; + protected final Locale locale; protected Set<String> tos; @@ -81,7 +81,7 @@ public abstract class PollenMail { public boolean isRecipientProvided() { return CollectionUtils.isNotEmpty(getBccs()) - || CollectionUtils.isNotEmpty(getTos()); + || CollectionUtils.isNotEmpty(getTos()); } } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/UserAccountCreatedEmail.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/UserAccountCreatedEmail.java index 59e5ec5..b18979b 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/UserAccountCreatedEmail.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/UserAccountCreatedEmail.java @@ -60,27 +60,27 @@ public class UserAccountCreatedEmail extends PollenMail { this.user = user; } - public String getValidateUrl () { + public String getValidateUrl() { return validateUrl; } - public void setValidateUrl (String validateUrl) { + public void setValidateUrl(String validateUrl) { this.validateUrl = validateUrl; } - public String getPollenUrl () { + public String getPollenUrl() { return pollenUrl; } - public void setPollenUrl (String pollenUrl) { + public void setPollenUrl(String pollenUrl) { this.pollenUrl = pollenUrl; } - public String getPassword () { + public String getPassword() { return password; } - public void setPassword (String password) { + public void setPassword(String password) { this.password = password; } } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/security/PollenSecurityRealm.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/security/PollenSecurityRealm.java index 3b150e3..a19678d 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/security/PollenSecurityRealm.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/security/PollenSecurityRealm.java @@ -77,9 +77,7 @@ public class PollenSecurityRealm extends AuthorizingRealm { UsernamePasswordToken upToken = (UsernamePasswordToken) token; String username = upToken.getUsername(); - PollenTopiaPersistenceContext persistenceContext = applicationContext.newPersistenceContext(); - - try { + try (PollenTopiaPersistenceContext persistenceContext = applicationContext.newPersistenceContext()) { PollenUser pollenUser = persistenceContext.getPollenUserDao().forEmailEquals(username).findUniqueOrNull(); @@ -92,8 +90,6 @@ public class PollenSecurityRealm extends AuthorizingRealm { return new SimpleAuthenticationInfo(username, pollenUser.getPassword(), new SimpleByteSource(salt), getName()); - } finally { - persistenceContext.close(); } } } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/security/SecurityService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/security/SecurityService.java index 5ec7c7a..f9d3217 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/security/SecurityService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/security/SecurityService.java @@ -31,13 +31,32 @@ import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.authc.UsernamePasswordToken; import org.apache.shiro.subject.SimplePrincipalCollection; import org.apache.shiro.subject.Subject; -import org.chorem.pollen.persistence.entity.*; +import org.chorem.pollen.persistence.entity.Choice; +import org.chorem.pollen.persistence.entity.Comment; +import org.chorem.pollen.persistence.entity.CommentVisibility; +import org.chorem.pollen.persistence.entity.FavoriteList; +import org.chorem.pollen.persistence.entity.Poll; +import org.chorem.pollen.persistence.entity.PollType; +import org.chorem.pollen.persistence.entity.PollenPrincipal; +import org.chorem.pollen.persistence.entity.PollenPrincipalTopiaDao; +import org.chorem.pollen.persistence.entity.PollenToken; +import org.chorem.pollen.persistence.entity.PollenTokenTopiaDao; +import org.chorem.pollen.persistence.entity.PollenUser; +import org.chorem.pollen.persistence.entity.ResultVisibility; +import org.chorem.pollen.persistence.entity.SessionToken; +import org.chorem.pollen.persistence.entity.Vote; +import org.chorem.pollen.persistence.entity.VoteVisibility; import org.chorem.pollen.services.bean.PaginationParameterBean; import org.chorem.pollen.services.bean.PollenEntityRef; import org.chorem.pollen.services.service.PollenServiceSupport; import org.nuiton.topia.persistence.TopiaEntity; -import java.util.*; +import java.util.Calendar; +import java.util.Date; +import java.util.HashSet; +import java.util.List; +import java.util.Objects; +import java.util.Set; /** * TODO @@ -327,9 +346,9 @@ public class SecurityService extends PollenServiceSupport { subject = new Subject. Builder(). - authenticated(securityContext.isConnected()). - principals(principalCollection). - buildSubject(); + authenticated(securityContext.isConnected()). + principals(principalCollection). + buildSubject(); securityContext.setSubject(subject); } @@ -417,7 +436,7 @@ public class SecurityService extends PollenServiceSupport { } - for(Vote vote: principalByType.votes) { + for (Vote vote : principalByType.votes) { permissions.add(createWildcardSubjectPermission(vote)); if (vote.getPoll().getPollType() != PollType.FREE) { permissions.remove(createSubjectPermission(PermissionVerb.addVote, vote.getPoll())); @@ -447,8 +466,8 @@ public class SecurityService extends PollenServiceSupport { List<Vote> votes = getVoteDao().forPollEquals(poll).findAll(); if (poll.getVoteVisibility() != VoteVisibility.ANONYMOUS) { - if ( CollectionUtils.isNotEmpty(votes) ) { - for ( Vote vote : votes ) { + if (CollectionUtils.isNotEmpty(votes)) { + for (Vote vote : votes) { permissions.add(createSubjectPermission(PermissionVerb.readVote, vote)); } } @@ -461,8 +480,7 @@ public class SecurityService extends PollenServiceSupport { for (Choice choice : choices) { if (CollectionUtils.isEmpty(votes)) { permissions.add(createWildcardSubjectPermission(choice)); - } - else { + } else { // can only read or edit the choice because have vote permissions.add(createSubjectPermission(PermissionVerb.readChoice, choice)); permissions.add(createSubjectPermission(PermissionVerb.editChoice, choice)); @@ -571,15 +589,15 @@ public class SecurityService extends PollenServiceSupport { class PrincipalByType { - Set<Poll> polls = new HashSet<>(); + final Set<Poll> polls = new HashSet<>(); - Set<Choice> choices = new HashSet<>(); + final Set<Choice> choices = new HashSet<>(); - Set<Comment> comments = new HashSet<>(); + final Set<Comment> comments = new HashSet<>(); - Set<Vote> votes = new HashSet<>(); + final Set<Vote> votes = new HashSet<>(); - Set<FavoriteList> favoriteLists = new HashSet<>(); + final Set<FavoriteList> favoriteLists = new HashSet<>(); } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/test/FakePollenApplicationContext.java b/pollen-services/src/main/java/org/chorem/pollen/services/test/FakePollenApplicationContext.java index ce7b69f..3e2b415 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/test/FakePollenApplicationContext.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/test/FakePollenApplicationContext.java @@ -44,6 +44,8 @@ import org.chorem.pollen.services.service.security.PollenSecurityRealm; import org.chorem.pollen.votecounting.VoteCountingFactory; import org.junit.rules.TestWatcher; import org.junit.runner.Description; +import org.nuiton.topia.persistence.BeanTopiaConfiguration; +import org.nuiton.topia.persistence.TopiaConfigurationBuilder; import org.nuiton.util.DateUtil; import org.nuiton.util.FileUtil; @@ -66,11 +68,11 @@ public class FakePollenApplicationContext extends TestWatcher implements PollenA /** Logger. */ private static final Log log = LogFactory.getLog(FakePollenApplicationContext.class); - protected static AtomicInteger portNumberCounter = new AtomicInteger(9999); + protected static final AtomicInteger portNumberCounter = new AtomicInteger(9999); protected File testBasedir; - protected List<PollenTopiaPersistenceContext> openedTransactions = new LinkedList<>(); + protected final List<PollenTopiaPersistenceContext> openedTransactions = new LinkedList<>(); protected PollenTopiaApplicationContext applicationContext; @@ -146,7 +148,8 @@ public class FakePollenApplicationContext extends TestWatcher implements PollenA // --- create topia application context --- // Map<String, String> topiaProperties = configuration.getTopiaProperties(); - applicationContext = new PollenTopiaApplicationContext(topiaProperties); + BeanTopiaConfiguration topiaConfiguration = new TopiaConfigurationBuilder().readMap(topiaProperties); + applicationContext = new PollenTopiaApplicationContext(topiaConfiguration); // --- create security context --- // diff --git a/pollen-services/src/test/java/org/chorem/pollen/services/service/FavoriteListServiceTest.java b/pollen-services/src/test/java/org/chorem/pollen/services/service/FavoriteListServiceTest.java index d15397b..46caa21 100644 --- a/pollen-services/src/test/java/org/chorem/pollen/services/service/FavoriteListServiceTest.java +++ b/pollen-services/src/test/java/org/chorem/pollen/services/service/FavoriteListServiceTest.java @@ -65,13 +65,13 @@ public class FavoriteListServiceTest extends AbstractPollenServiceTest { userService = newService(PollenUserService.class); service = newService(FavoriteListService.class); - getServiceContext().setDate(new Date(1363948427576l)); + getServiceContext().setDate(new Date(1363948427576L)); user = application.fixture("user_jean"); } public static String IMPORT_FILE_CONTENT = "user1@pollen.org user1\n" + - "user2@pollen.org"; + "user2@pollen.org"; @Test public void importFavoriteListFromFile() throws PollenInvalidSessionTokenException, PollenAuthenticationException, InvalidFormException, IOException, FavoriteListImportException { @@ -95,7 +95,7 @@ public class FavoriteListServiceTest extends AbstractPollenServiceTest { Assert.assertEquals(0, members.getElements().size()); // import file - + service.importFavoriteListMembersFromCsv(favoriteListId, importFile); members = service.getFavoriteListMembers(favoriteListId, PaginationParameterBean.of(0, -1)); diff --git a/pollen-services/src/test/java/org/chorem/pollen/services/service/PollServiceTest.java b/pollen-services/src/test/java/org/chorem/pollen/services/service/PollServiceTest.java index 0d4aa2f..37faa32 100644 --- a/pollen-services/src/test/java/org/chorem/pollen/services/service/PollServiceTest.java +++ b/pollen-services/src/test/java/org/chorem/pollen/services/service/PollServiceTest.java @@ -65,7 +65,7 @@ public class PollServiceTest extends AbstractPollenServiceTest { voterListService = newService(VoterListService.class); securityService = newService(SecurityService.class); - getServiceContext().setDate(new Date(1363948427576l)); + getServiceContext().setDate(new Date(1363948427576L)); getServiceContext().setSecurityContext(new FakePollenSecurityContext()); } diff --git a/pollen-services/src/test/java/org/chorem/pollen/services/service/PollenUIUrlRenderServiceTest.java b/pollen-services/src/test/java/org/chorem/pollen/services/service/PollenUIUrlRenderServiceTest.java index 1474cae..601b299 100644 --- a/pollen-services/src/test/java/org/chorem/pollen/services/service/PollenUIUrlRenderServiceTest.java +++ b/pollen-services/src/test/java/org/chorem/pollen/services/service/PollenUIUrlRenderServiceTest.java @@ -40,7 +40,7 @@ public class PollenUIUrlRenderServiceTest extends AbstractPollenServiceTest { @Test public void pollenUrlTest() { - String url = null; + String url; url = service.getPollenUrl(); @@ -50,7 +50,7 @@ public class PollenUIUrlRenderServiceTest extends AbstractPollenServiceTest { @Test public void pollEditUrlTest() { - String url = null; + String url; url = service.getPollEditUrl("PollId", null); Assert.assertNotNull(url); @@ -63,7 +63,7 @@ public class PollenUIUrlRenderServiceTest extends AbstractPollenServiceTest { @Test public void pollVoteUrlTest() { - String url = null; + String url; url = service.getPollVoteUrl("PollId", null); Assert.assertNotNull(url); @@ -76,7 +76,7 @@ public class PollenUIUrlRenderServiceTest extends AbstractPollenServiceTest { @Test public void pollVoteEditUrlTest() { - String url = null; + String url; url = service.getPollVoteEditUrl("PollId", null, "VoteToken"); Assert.assertNotNull(url); @@ -89,7 +89,7 @@ public class PollenUIUrlRenderServiceTest extends AbstractPollenServiceTest { @Test public void userValidateUrl() { - String url = null; + String url; url = service.getUserValidateUrl("UserId", "Token"); diff --git a/pollen-services/src/test/java/org/chorem/pollen/services/service/PollenUserServiceTest.java b/pollen-services/src/test/java/org/chorem/pollen/services/service/PollenUserServiceTest.java index 9994a0c..f381711 100644 --- a/pollen-services/src/test/java/org/chorem/pollen/services/service/PollenUserServiceTest.java +++ b/pollen-services/src/test/java/org/chorem/pollen/services/service/PollenUserServiceTest.java @@ -23,14 +23,12 @@ package org.chorem.pollen.services.service; import org.apache.commons.collections4.CollectionUtils; import org.chorem.pollen.persistence.entity.PollenUser; -import org.chorem.pollen.persistence.entity.PollenUsers; import org.chorem.pollen.services.AbstractPollenServiceTest; import org.chorem.pollen.services.bean.PaginationResultBean; import org.chorem.pollen.services.bean.PollenEntityId; import org.chorem.pollen.services.bean.PollenEntityRef; import org.chorem.pollen.services.bean.PollenUserBean; import org.chorem.pollen.services.service.security.PollenAuthenticationException; -import org.chorem.pollen.services.service.security.PollenInvalidEmailActivationTokenException; import org.chorem.pollen.services.service.security.PollenInvalidSessionTokenException; import org.junit.Assert; import org.junit.Before; @@ -59,7 +57,7 @@ public class PollenUserServiceTest extends AbstractPollenServiceTest { service = newService(PollenUserService.class); - getServiceContext().setDate(new Date(1363948427576l)); + getServiceContext().setDate(new Date(1363948427576L)); user = application.fixture("user_tony"); } diff --git a/pollen-services/src/test/java/org/chorem/pollen/services/service/VoteCountingServiceTest.java b/pollen-services/src/test/java/org/chorem/pollen/services/service/VoteCountingServiceTest.java index 8c850ca..821f3db 100644 --- a/pollen-services/src/test/java/org/chorem/pollen/services/service/VoteCountingServiceTest.java +++ b/pollen-services/src/test/java/org/chorem/pollen/services/service/VoteCountingServiceTest.java @@ -66,7 +66,7 @@ public class VoteCountingServiceTest extends AbstractPollenServiceTest { choiceService = newService(ChoiceService.class); service = newService(VoteCountingService.class); - getServiceContext().setDate(new Date(1363948427576l)); + getServiceContext().setDate(new Date(1363948427576L)); } diff --git a/pollen-services/src/test/java/org/chorem/pollen/services/service/VoterListServiceTest.java b/pollen-services/src/test/java/org/chorem/pollen/services/service/VoterListServiceTest.java index bd632d8..cf79195 100644 --- a/pollen-services/src/test/java/org/chorem/pollen/services/service/VoterListServiceTest.java +++ b/pollen-services/src/test/java/org/chorem/pollen/services/service/VoterListServiceTest.java @@ -30,7 +30,12 @@ import org.chorem.pollen.persistence.entity.PollType; import org.chorem.pollen.persistence.entity.PollenUser; import org.chorem.pollen.persistence.entity.VoterList; import org.chorem.pollen.services.AbstractPollenServiceTest; -import org.chorem.pollen.services.bean.*; +import org.chorem.pollen.services.bean.ChoiceBean; +import org.chorem.pollen.services.bean.FavoriteListBean; +import org.chorem.pollen.services.bean.PollBean; +import org.chorem.pollen.services.bean.PollenEntityRef; +import org.chorem.pollen.services.bean.VoterListBean; +import org.chorem.pollen.services.bean.VoterListMemberBean; import org.chorem.pollen.services.service.security.PollenAuthenticationException; import org.chorem.pollen.services.service.security.PollenInvalidSessionTokenException; import org.junit.Assert; @@ -76,7 +81,7 @@ public class VoterListServiceTest extends AbstractPollenServiceTest { voterListService = newService(VoterListService.class); service = newService(VoterListService.class); - getServiceContext().setDate(new Date(1363948427576l)); + getServiceContext().setDate(new Date(1363948427576L)); user = application.fixture("user_jean"); } @@ -141,7 +146,7 @@ public class VoterListServiceTest extends AbstractPollenServiceTest { } @Test - public void createVoterList() throws InvalidFormException, PollenInvalidSessionTokenException, PollenAuthenticationException { + public void createVoterList() throws InvalidFormException, PollenInvalidSessionTokenException, PollenAuthenticationException { login("jean@pollen.fake", "fake"); diff --git a/pollen-services/src/test/resources/log4j.properties b/pollen-services/src/test/resources/log4j.properties index c4a2cc1..a303f0b 100644 --- a/pollen-services/src/test/resources/log4j.properties +++ b/pollen-services/src/test/resources/log4j.properties @@ -19,11 +19,8 @@ # #L% ### log4j.rootCategory=ERROR, console - log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%d{hh:mm:ss} %5p (%F:%L) %m%n - log4j.logger.org.chorem.pollen=DEBUG - # log4j.logger.org.hibernate.tool.hbm2ddl.SchemaExport=FATAL diff --git a/pollen-ui-angular/pom.xml b/pollen-ui-angular/pom.xml index 52a1d81..e70b4ec 100644 --- a/pollen-ui-angular/pom.xml +++ b/pollen-ui-angular/pom.xml @@ -116,7 +116,7 @@ </goals> <phase>test</phase> <configuration> - <skipTests>${maven.test.skip}</skipTests> + <skipTests>${skipTests}</skipTests> <!-- optional: the default is "karma.conf.js" in your working directory --> <karmaConfPath>src/test/karma.conf.ci.js</karmaConfPath> </configuration> diff --git a/pollen-ui-angular/src/main/webapp/i18n/en.js b/pollen-ui-angular/src/main/webapp/i18n/en.js index cca0d2f..192ea67 100644 --- a/pollen-ui-angular/src/main/webapp/i18n/en.js +++ b/pollen-ui-angular/src/main/webapp/i18n/en.js @@ -339,5 +339,5 @@ var i18n_EN = { }, "id": "en", "pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} -} +}; diff --git a/pollen-ui-angular/src/main/webapp/js/controllers/pollCtrl.js b/pollen-ui-angular/src/main/webapp/js/controllers/pollCtrl.js index 2aef707..5b47437 100644 --- a/pollen-ui-angular/src/main/webapp/js/controllers/pollCtrl.js +++ b/pollen-ui-angular/src/main/webapp/js/controllers/pollCtrl.js @@ -225,7 +225,7 @@ angular.module('pollControllers', ['ngRoute', 'pollenServices', 'pascalprecht.tr $scope.getVoteValue = function (voteValue) { if ($scope.voteCountingIsBoolean()) { - return (voteValue)?true:false; + return !!(voteValue); } else { if (voteValue === true) { @@ -694,7 +694,7 @@ angular.module('pollControllers', ['ngRoute', 'pollenServices', 'pascalprecht.tr if (error.hasOwnProperty('pollType')) { $scope.globalVariables.participantError = $filter('translate')('error.form'); } - } + }; //////////////////////////////// //// VOTER LIST ///// @@ -1782,7 +1782,7 @@ angular.module('pollControllers', ['ngRoute', 'pollenServices', 'pascalprecht.tr }); } - }) + }); var simpleResult = function(result) { choicesDeferred.promise.then(function () { var scores = []; diff --git a/pollen-ui-angular/src/main/webapp/less/style.less b/pollen-ui-angular/src/main/webapp/less/style.less index 2882f96..615e6d3 100644 --- a/pollen-ui-angular/src/main/webapp/less/style.less +++ b/pollen-ui-angular/src/main/webapp/less/style.less @@ -37,7 +37,7 @@ body { position:fixed; width:100%; height:@height-pollen-menu; - top:0px; + top:0; left:0px; } #content { diff --git a/pollen-ui-angular/src/main/webapp/less/variables.less b/pollen-ui-angular/src/main/webapp/less/variables.less index fd5b19b..afd959e 100644 --- a/pollen-ui-angular/src/main/webapp/less/variables.less +++ b/pollen-ui-angular/src/main/webapp/less/variables.less @@ -57,7 +57,7 @@ } &.ng-leave { - height:0px; + height:0; } &.ng-enter, diff --git a/pollen-ui-js/src/main/webapp/js/pollen-utils.js b/pollen-ui-js/src/main/webapp/js/pollen-utils.js index 0590883..ed4964d 100644 --- a/pollen-ui-js/src/main/webapp/js/pollen-utils.js +++ b/pollen-ui-js/src/main/webapp/js/pollen-utils.js @@ -30,4 +30,4 @@ var paramForWM = function(obj, objName) { } } return result; -} \ No newline at end of file +};;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [...] \ No newline at end of file diff --git a/pollen-ui-js/src/main/webapp/js/route.js b/pollen-ui-js/src/main/webapp/js/route.js index 9ca6579..1b394bf 100644 --- a/pollen-ui-js/src/main/webapp/js/route.js +++ b/pollen-ui-js/src/main/webapp/js/route.js @@ -33,4 +33,4 @@ var Routing = can.Control({ ':type/:id route': function(data) { console.log(":type/:id route" + data) } -}) \ No newline at end of file +}); \ No newline at end of file diff --git a/pollen-votecounting-aggregator/pom.xml b/pollen-votecounting-aggregator/pom.xml index 3250b87..01a6bc3 100644 --- a/pollen-votecounting-aggregator/pom.xml +++ b/pollen-votecounting-aggregator/pom.xml @@ -20,7 +20,8 @@ #L% --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> diff --git a/pollen-votecounting-api/pom.xml b/pollen-votecounting-api/pom.xml index 82954f1..225b755 100644 --- a/pollen-votecounting-api/pom.xml +++ b/pollen-votecounting-api/pom.xml @@ -20,7 +20,8 @@ #L% --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> diff --git a/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/AbstractVoteCountingStrategy.java b/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/AbstractVoteCountingStrategy.java index e7d05f7..8b0b19b 100644 --- a/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/AbstractVoteCountingStrategy.java +++ b/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/AbstractVoteCountingStrategy.java @@ -20,7 +20,6 @@ */ package org.chorem.pollen.votecounting; -import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Multimap; @@ -41,6 +40,7 @@ import java.util.Comparator; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.stream.Collectors; /** * Base abstract implementation of a {@link VoteCountingStrategy}. @@ -52,20 +52,16 @@ public abstract class AbstractVoteCountingStrategy implements VoteCountingStrate public static final BigDecimal ZERO_D = BigDecimal.valueOf(0.); - protected final Comparator<VoteForChoice> voteValueComparator = new Comparator<VoteForChoice>() { - - @Override - public int compare(VoteForChoice o1, VoteForChoice o2) { - Double v1 = o1.getVoteValue(); - Double v2 = o2.getVoteValue(); - if (v1 == null) { - v1 = Double.MAX_VALUE; - } - if (v2 == null) { - v2 = Double.MAX_VALUE; - } - return v1.intValue() - v2.intValue(); + protected final Comparator<VoteForChoice> voteValueComparator = (o1, o2) -> { + Double v1 = o1.getVoteValue(); + Double v2 = o2.getVoteValue(); + if (v1 == null) { + v1 = Double.MAX_VALUE; + } + if (v2 == null) { + v2 = Double.MAX_VALUE; } + return v1.intValue() - v2.intValue(); }; @Override @@ -96,7 +92,7 @@ public abstract class AbstractVoteCountingStrategy implements VoteCountingStrate // get scores by score value Multimap<BigDecimal, ChoiceScore> map = Multimaps.index( - scores, ChoiceScore.SCORE_BY_VALUE + scores, ChoiceScore.SCORE_BY_VALUE::apply ); // get all distinct score values @@ -128,9 +124,8 @@ public abstract class AbstractVoteCountingStrategy implements VoteCountingStrate ChoiceIdAble.ChoiceIdAbleById function = new ChoiceIdAble.ChoiceIdAbleById(); Set<String> result = Sets.newHashSet(); for (Voter voter : voters) { - Iterable<String> transform = Iterables.transform( - voter.getVoteForChoices(), function); - Iterables.addAll(result, transform); + List<String> transform = voter.getVoteForChoices().stream().map(function::apply).collect(Collectors.toList()); + result.addAll(transform); } return result; @@ -152,7 +147,7 @@ public abstract class AbstractVoteCountingStrategy implements VoteCountingStrate public List<Set<String>> sortVoteForChoices(Set<VoteForChoice> voteForChoices) { // get sort vote for choices List<VoteForChoice> sortedChoices = Lists.newArrayList(voteForChoices); - Collections.sort(sortedChoices, voteValueComparator); + sortedChoices.sort(voteValueComparator); // build ranks List<Set<String>> result = Lists.newArrayList(); @@ -162,7 +157,7 @@ public abstract class AbstractVoteCountingStrategy implements VoteCountingStrate VoteForChoice lastVoteForChoice = null; for (VoteForChoice voteForChoice : sortedChoices) { if (lastVoteForChoice != null && - voteValueComparator.compare(lastVoteForChoice, voteForChoice) != 0) { + voteValueComparator.compare(lastVoteForChoice, voteForChoice) != 0) { // new rank found // register it diff --git a/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/VoteCounting.java b/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/VoteCounting.java index a8c8eff..5e91029 100644 --- a/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/VoteCounting.java +++ b/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/VoteCounting.java @@ -37,7 +37,7 @@ public interface VoteCounting<S extends VoteCountingStrategy> { * Obtains a fresh instance of a vote coutning strategy. * * @return a new instance of vote counting strategy for this type - * of vote counting. + * of vote counting. */ S newStrategy(); @@ -93,7 +93,7 @@ public interface VoteCounting<S extends VoteCountingStrategy> { * * @param voteValue the vote value to test * @return {@code true} if the given vote value is valid, {@code false} - * otherwise. + * otherwise. */ boolean isVoteValueValid(Double voteValue); @@ -114,7 +114,7 @@ public interface VoteCounting<S extends VoteCountingStrategy> { * * @param totalValues the given total values * @return {@code true} if the total values of a vote is valid, - * {@code false} otherwhise. + * {@code false} otherwhise. */ boolean isTotalVoteValueValid(Double totalValues); @@ -132,7 +132,7 @@ public interface VoteCounting<S extends VoteCountingStrategy> { * * @param value the vote value to test * @return {@code true} if the given vote value is null (or considered as - * null), {@code false} otherwise. + * null), {@code false} otherwise. */ boolean isVoteValueNull(Double value); diff --git a/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/VoteCountingFactory.java b/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/VoteCountingFactory.java index e1628be..361d7f5 100644 --- a/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/VoteCountingFactory.java +++ b/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/VoteCountingFactory.java @@ -62,14 +62,14 @@ public class VoteCountingFactory implements Iterable<VoteCounting> { if (voteCountings.containsKey(id)) { throw new IllegalStateException( "Strategy [" + - voteCountingName + "] with id " + id + - ", can not be used since the id is already used " + - "by strategy [" + voteCountings.get(id).getName(l) + "] "); + voteCountingName + "] with id " + id + + ", can not be used since the id is already used " + + "by strategy [" + voteCountings.get(id).getName(l) + "] "); } if (log.isInfoEnabled()) { log.info("Detected strategy [" + id + "-" + - voteCountingName + "] : " + - strategy.getClass().getName()); + voteCountingName + "] : " + + strategy.getClass().getName()); } voteCountings.put(id, strategy); } diff --git a/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/ChoiceIdAble.java b/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/ChoiceIdAble.java index a70a6a9..f835164 100644 --- a/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/ChoiceIdAble.java +++ b/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/ChoiceIdAble.java @@ -20,7 +20,7 @@ */ package org.chorem.pollen.votecounting.model; -import com.google.common.base.Function; +import java.util.function.Function; /** * To mark any object that identify a choice via the {@link #getChoiceId()} diff --git a/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/ChoiceScore.java b/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/ChoiceScore.java index a4bf6d0..5ea0467 100644 --- a/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/ChoiceScore.java +++ b/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/ChoiceScore.java @@ -20,10 +20,9 @@ */ package org.chorem.pollen.votecounting.model; -import com.google.common.base.Function; - import java.io.Serializable; import java.math.BigDecimal; +import java.util.function.Function; /** * Score for a given choice. @@ -38,21 +37,13 @@ public class ChoiceScore implements ChoiceIdAble, Comparable<ChoiceScore>, Seria private static final long serialVersionUID = 1L; - public static final Function<ChoiceScore, Integer> SCORE_BY_ORDER = new Function<ChoiceScore, Integer>() { - @Override - public Integer apply(ChoiceScore input) { - return input.getScoreOrder(); - } - }; + public static final Function<ChoiceScore, Integer> SCORE_BY_ORDER = ChoiceScore::getScoreOrder; protected static final BigDecimal MIN_VALUE = BigDecimal.valueOf(Double.MIN_VALUE); - public static final Function<ChoiceScore, BigDecimal> SCORE_BY_VALUE = new Function<ChoiceScore, BigDecimal>() { - @Override - public BigDecimal apply(ChoiceScore input) { - BigDecimal value = input.getScoreValue(); - return value == null ? MIN_VALUE : value; - } + public static final Function<ChoiceScore, BigDecimal> SCORE_BY_VALUE = input -> { + BigDecimal value = input.getScoreValue(); + return value == null ? MIN_VALUE : value; }; /** Id of the choice. */ diff --git a/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/GroupOfVoterBuilder.java b/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/GroupOfVoterBuilder.java index 94c6cd2..fb3ad5c 100644 --- a/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/GroupOfVoterBuilder.java +++ b/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/GroupOfVoterBuilder.java @@ -34,7 +34,7 @@ import java.util.Set; */ public class GroupOfVoterBuilder implements VoterBuilder { - private Set<Voter> voters = Sets.newHashSet(); + private final Set<Voter> voters = Sets.newHashSet(); private GroupOfVoter groupOfVoter; diff --git a/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/GroupVoteCountingResult.java b/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/GroupVoteCountingResult.java index e42b91d..3cb828b 100644 --- a/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/GroupVoteCountingResult.java +++ b/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/GroupVoteCountingResult.java @@ -20,7 +20,6 @@ */ package org.chorem.pollen.votecounting.model; -import com.google.common.base.Function; import com.google.common.collect.Maps; import com.google.common.collect.Sets; @@ -69,11 +68,6 @@ public class GroupVoteCountingResult implements Serializable { } public void setGroups(Set<GroupOfVoter> groups) { - this.groups = Maps.uniqueIndex(groups, new Function<GroupOfVoter, String>() { - @Override - public String apply(GroupOfVoter input) { - return input.getVoterId(); - } - }); + this.groups = Maps.uniqueIndex(groups, GroupOfVoter::getVoterId); } } diff --git a/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/SimpleVoterBuilder.java b/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/SimpleVoterBuilder.java index 34699d5..911998c 100644 --- a/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/SimpleVoterBuilder.java +++ b/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/SimpleVoterBuilder.java @@ -34,7 +34,7 @@ import java.util.Set; */ public class SimpleVoterBuilder implements VoterBuilder { - private Set<Voter> voters = Sets.newHashSet(); + private final Set<Voter> voters = Sets.newHashSet(); private Voter voter; diff --git a/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/VoteCountingResult.java b/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/VoteCountingResult.java index 094953f..1616226 100644 --- a/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/VoteCountingResult.java +++ b/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/VoteCountingResult.java @@ -86,7 +86,7 @@ public class VoteCountingResult implements Serializable { public ArrayListMultimap<Integer, ChoiceScore> getScoresByRank() { if (scoresByRank == null) { scoresByRank = ArrayListMultimap.create( - Multimaps.index(scores, ChoiceScore.SCORE_BY_ORDER)); + Multimaps.index(scores, ChoiceScore.SCORE_BY_ORDER::apply)); } return scoresByRank; } diff --git a/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/VoterBuilder.java b/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/VoterBuilder.java index 4e95c8e..123790d 100644 --- a/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/VoterBuilder.java +++ b/pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/VoterBuilder.java @@ -30,11 +30,11 @@ import java.util.Set; */ public interface VoterBuilder { - public VoterBuilder newVoter(String voterId, double weight); + VoterBuilder newVoter(String voterId, double weight); - public VoterBuilder addVoteForChoice(String choiceId, Double voteValue); + VoterBuilder addVoteForChoice(String choiceId, Double voteValue); - public Set<Voter> getVoters(); + Set<Voter> getVoters(); - public void flush(); + void flush(); } diff --git a/pollen-votecounting-borda/pom.xml b/pollen-votecounting-borda/pom.xml index 7ce142f..28533bf 100644 --- a/pollen-votecounting-borda/pom.xml +++ b/pollen-votecounting-borda/pom.xml @@ -20,7 +20,8 @@ #L% --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> diff --git a/pollen-votecounting-borda/src/main/java/org/chorem/pollen/votecounting/BordaVoteCounting.java b/pollen-votecounting-borda/src/main/java/org/chorem/pollen/votecounting/BordaVoteCounting.java index 00d07bc..994f7b5 100644 --- a/pollen-votecounting-borda/src/main/java/org/chorem/pollen/votecounting/BordaVoteCounting.java +++ b/pollen-votecounting-borda/src/main/java/org/chorem/pollen/votecounting/BordaVoteCounting.java @@ -58,7 +58,7 @@ public class BordaVoteCounting extends AbstractVoteCounting<BordaVoteCountingStr String choiceName, String voteValue) { return l(locale, "pollen.error.vote.invalidBordaVoteValue", - choiceName, voteValue); + choiceName, voteValue); } @Override diff --git a/pollen-votecounting-borda/src/test/java/org/chorem/pollen/votecounting/BordaVoteCountingStrategyTest.java b/pollen-votecounting-borda/src/test/java/org/chorem/pollen/votecounting/BordaVoteCountingStrategyTest.java index 854436a..27d71d6 100644 --- a/pollen-votecounting-borda/src/test/java/org/chorem/pollen/votecounting/BordaVoteCountingStrategyTest.java +++ b/pollen-votecounting-borda/src/test/java/org/chorem/pollen/votecounting/BordaVoteCountingStrategyTest.java @@ -81,27 +81,27 @@ public class BordaVoteCountingStrategyTest { Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("Ville A", 42.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 2.). - addVoteForChoice(CHOICE_C, 3.). - addVoteForChoice(CHOICE_D, 4.). - newVoter("Ville B", 26.). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, 2.). - addVoteForChoice(CHOICE_D, 3.). - addVoteForChoice(CHOICE_A, 4.). - newVoter("Ville C", 15.). - addVoteForChoice(CHOICE_C, 1.). - addVoteForChoice(CHOICE_D, 2.). - addVoteForChoice(CHOICE_B, 3.). - addVoteForChoice(CHOICE_A, 4.). - newVoter("Ville D", 17.). - addVoteForChoice(CHOICE_D, 1.). - addVoteForChoice(CHOICE_C, 2.). - addVoteForChoice(CHOICE_B, 3.). - addVoteForChoice(CHOICE_A, 4.). - getVoters(); + newVoter("Ville A", 42.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 2.). + addVoteForChoice(CHOICE_C, 3.). + addVoteForChoice(CHOICE_D, 4.). + newVoter("Ville B", 26.). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, 2.). + addVoteForChoice(CHOICE_D, 3.). + addVoteForChoice(CHOICE_A, 4.). + newVoter("Ville C", 15.). + addVoteForChoice(CHOICE_C, 1.). + addVoteForChoice(CHOICE_D, 2.). + addVoteForChoice(CHOICE_B, 3.). + addVoteForChoice(CHOICE_A, 4.). + newVoter("Ville D", 17.). + addVoteForChoice(CHOICE_D, 1.). + addVoteForChoice(CHOICE_C, 2.). + addVoteForChoice(CHOICE_B, 3.). + addVoteForChoice(CHOICE_A, 4.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -125,19 +125,19 @@ public class BordaVoteCountingStrategyTest { // 3 (a=1 b=null c=2) a(3) > c(2) > b(1) // Result a = 2*3+1=7, b =2*2+1=5, c = 1*3+1*2+1=6 Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 2.). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, 3.). - addVoteForChoice(CHOICE_B, 2.). - addVoteForChoice(CHOICE_C, 1.). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, 2.). - getVoters(); + newVoter("1", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 2.). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, 3.). + addVoteForChoice(CHOICE_B, 2.). + addVoteForChoice(CHOICE_C, 1.). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, 2.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -161,19 +161,19 @@ public class BordaVoteCountingStrategyTest { // Result (a=3*2+2=8 b=2*3=6 c=1+2*3=7) Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 2.). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 2.). - addVoteForChoice(CHOICE_C, 1.). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, 2.). - getVoters(); + newVoter("1", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 2.). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 2.). + addVoteForChoice(CHOICE_C, 1.). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, 2.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -197,19 +197,19 @@ public class BordaVoteCountingStrategyTest { // Result (a=3+2*2=7 b=3+2*2=7 c=3+2*2=7) Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, 1.). - getVoters(); + newVoter("1", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, 1.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -236,19 +236,19 @@ public class BordaVoteCountingStrategyTest { // Result (a=2*3+1*2+1*1=9 b=2*2+1*3+1*3=10 c=2*2+1*2+1*2=8) Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 2.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, 2.). - getVoters(); + newVoter("1", 2.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, 2.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -272,19 +272,19 @@ public class BordaVoteCountingStrategyTest { // Result (a=1*3*2+1*2+1*1*3=11 b=2*2+1*3+3*2=13 c=2*2+1*2+3*3=15) Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 2.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - newVoter("3", 3.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 2.). - addVoteForChoice(CHOICE_C, 1.). - getVoters(); + newVoter("1", 2.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + newVoter("3", 3.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 2.). + addVoteForChoice(CHOICE_C, 1.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -312,7 +312,7 @@ public class BordaVoteCountingStrategyTest { Assert.assertNotNull(choiceScores); Map<String, ChoiceScore> choicesById = Maps.uniqueIndex( - choiceScores, new ChoiceIdAble.ChoiceIdAbleById()); + choiceScores, new ChoiceIdAble.ChoiceIdAbleById()::apply); for (String choiceId : choiceIds) { ChoiceScore choiceScore = choicesById.get(choiceId); diff --git a/pollen-votecounting-condorcet/pom.xml b/pollen-votecounting-condorcet/pom.xml index f6afc77..1bdae20 100644 --- a/pollen-votecounting-condorcet/pom.xml +++ b/pollen-votecounting-condorcet/pom.xml @@ -20,7 +20,8 @@ #L% --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> diff --git a/pollen-votecounting-condorcet/src/main/java/org/chorem/pollen/votecounting/CondorcetVoteCounting.java b/pollen-votecounting-condorcet/src/main/java/org/chorem/pollen/votecounting/CondorcetVoteCounting.java index de61101..7056eb4 100644 --- a/pollen-votecounting-condorcet/src/main/java/org/chorem/pollen/votecounting/CondorcetVoteCounting.java +++ b/pollen-votecounting-condorcet/src/main/java/org/chorem/pollen/votecounting/CondorcetVoteCounting.java @@ -58,7 +58,7 @@ public class CondorcetVoteCounting extends AbstractVoteCounting<CondorcetVoteCou String choiceName, String voteValue) { return l(locale, "pollen.error.vote.invalidCondorcetVoteValue", - choiceName, voteValue); + choiceName, voteValue); } @Override diff --git a/pollen-votecounting-condorcet/src/test/java/org/chorem/pollen/votecounting/CondorcetVoteCountingStrategyTest.java b/pollen-votecounting-condorcet/src/test/java/org/chorem/pollen/votecounting/CondorcetVoteCountingStrategyTest.java index 0a9e329..9414484 100644 --- a/pollen-votecounting-condorcet/src/test/java/org/chorem/pollen/votecounting/CondorcetVoteCountingStrategyTest.java +++ b/pollen-votecounting-condorcet/src/test/java/org/chorem/pollen/votecounting/CondorcetVoteCountingStrategyTest.java @@ -76,19 +76,19 @@ public class CondorcetVoteCountingStrategyTest { // Result (a=6 b=1 c=2) Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 2.). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 3.). - addVoteForChoice(CHOICE_C, 2.). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, 2.). - getVoters(); + newVoter("1", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 2.). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 3.). + addVoteForChoice(CHOICE_C, 2.). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, 2.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -112,19 +112,19 @@ public class CondorcetVoteCountingStrategyTest { // Result (a=4 b=2 c=3) Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 2.). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, 3.). - addVoteForChoice(CHOICE_B, 2.). - addVoteForChoice(CHOICE_C, 1.). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, 2.). - getVoters(); + newVoter("1", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 2.). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, 3.). + addVoteForChoice(CHOICE_B, 2.). + addVoteForChoice(CHOICE_C, 1.). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, 2.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -148,19 +148,19 @@ public class CondorcetVoteCountingStrategyTest { // Result (a=3 b=1 c=3) Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 2.). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 2.). - addVoteForChoice(CHOICE_C, 1.). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, 2.). - getVoters(); + newVoter("1", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 2.). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 2.). + addVoteForChoice(CHOICE_C, 1.). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, 2.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -186,19 +186,19 @@ public class CondorcetVoteCountingStrategyTest { // Result (a=2 b=2 c=2) Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, 1.). - getVoters(); + newVoter("1", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, 1.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -225,19 +225,19 @@ public class CondorcetVoteCountingStrategyTest { // Result (a=2 b=2 c=1) Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 2.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, 2.). - getVoters(); + newVoter("1", 2.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, 2.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -263,19 +263,19 @@ public class CondorcetVoteCountingStrategyTest { // Result (a=2 b=4 c=3) Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 2.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - newVoter("3", 3.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 2.). - addVoteForChoice(CHOICE_C, 1.). - getVoters(); + newVoter("1", 2.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + newVoter("3", 3.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 2.). + addVoteForChoice(CHOICE_C, 1.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -303,7 +303,7 @@ public class CondorcetVoteCountingStrategyTest { Assert.assertNotNull(choiceScores); Map<String, ChoiceScore> choicesById = Maps.uniqueIndex( - choiceScores, new ChoiceIdAble.ChoiceIdAbleById()); + choiceScores, new ChoiceIdAble.ChoiceIdAbleById()::apply); for (String choiceId : choiceIds) { ChoiceScore choiceScore = choicesById.get(choiceId); diff --git a/pollen-votecounting-coombs/pom.xml b/pollen-votecounting-coombs/pom.xml index 95dbc49..184f7af 100644 --- a/pollen-votecounting-coombs/pom.xml +++ b/pollen-votecounting-coombs/pom.xml @@ -20,7 +20,8 @@ #L% --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> diff --git a/pollen-votecounting-coombs/src/main/java/org/chorem/pollen/votecounting/CoombsVoteCounting.java b/pollen-votecounting-coombs/src/main/java/org/chorem/pollen/votecounting/CoombsVoteCounting.java index 550c271..4a20120 100644 --- a/pollen-votecounting-coombs/src/main/java/org/chorem/pollen/votecounting/CoombsVoteCounting.java +++ b/pollen-votecounting-coombs/src/main/java/org/chorem/pollen/votecounting/CoombsVoteCounting.java @@ -58,8 +58,8 @@ public class CoombsVoteCounting extends AbstractVoteCounting<CoombsVoteCountingS String choiceName, String voteValue) { return l(locale, "pollen.error.vote.invalidCoombsVoteValue", - choiceName, - voteValue); + choiceName, + voteValue); } @Override diff --git a/pollen-votecounting-coombs/src/main/java/org/chorem/pollen/votecounting/CoombsVoteCountingStrategy.java b/pollen-votecounting-coombs/src/main/java/org/chorem/pollen/votecounting/CoombsVoteCountingStrategy.java index 9e591c1..3f262c9 100644 --- a/pollen-votecounting-coombs/src/main/java/org/chorem/pollen/votecounting/CoombsVoteCountingStrategy.java +++ b/pollen-votecounting-coombs/src/main/java/org/chorem/pollen/votecounting/CoombsVoteCountingStrategy.java @@ -175,7 +175,7 @@ public class CoombsVoteCountingStrategy extends AbstractVoteCountingStrategy { while (itr.hasNext()) { ChoiceScore choiceScore = itr.next(); if (choiceScore.getScoreValue() == null || - ZERO_D.equals(choiceScore.getScoreValue())) { + ZERO_D.equals(choiceScore.getScoreValue())) { itr.remove(); } else { // score > 0 on peut s'arreter diff --git a/pollen-votecounting-coombs/src/test/java/org/chorem/pollen/votecounting/CoombsVoteCountingStrategyTest.java b/pollen-votecounting-coombs/src/test/java/org/chorem/pollen/votecounting/CoombsVoteCountingStrategyTest.java index d63f734..8cee2e7 100644 --- a/pollen-votecounting-coombs/src/test/java/org/chorem/pollen/votecounting/CoombsVoteCountingStrategyTest.java +++ b/pollen-votecounting-coombs/src/test/java/org/chorem/pollen/votecounting/CoombsVoteCountingStrategyTest.java @@ -82,27 +82,27 @@ public class CoombsVoteCountingStrategyTest { // D 17 15 26 42 17 17 Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("Ville A", 42.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 2.). - addVoteForChoice(CHOICE_C, 3.). - addVoteForChoice(CHOICE_D, 4.). - newVoter("Ville B", 26.). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, 2.). - addVoteForChoice(CHOICE_D, 3.). - addVoteForChoice(CHOICE_A, 4.). - newVoter("Ville C", 15.). - addVoteForChoice(CHOICE_C, 1.). - addVoteForChoice(CHOICE_D, 2.). - addVoteForChoice(CHOICE_B, 3.). - addVoteForChoice(CHOICE_A, 4.). - newVoter("Ville D", 17.). - addVoteForChoice(CHOICE_D, 1.). - addVoteForChoice(CHOICE_C, 2.). - addVoteForChoice(CHOICE_B, 3.). - addVoteForChoice(CHOICE_A, 4.). - getVoters(); + newVoter("Ville A", 42.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 2.). + addVoteForChoice(CHOICE_C, 3.). + addVoteForChoice(CHOICE_D, 4.). + newVoter("Ville B", 26.). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, 2.). + addVoteForChoice(CHOICE_D, 3.). + addVoteForChoice(CHOICE_A, 4.). + newVoter("Ville C", 15.). + addVoteForChoice(CHOICE_C, 1.). + addVoteForChoice(CHOICE_D, 2.). + addVoteForChoice(CHOICE_B, 3.). + addVoteForChoice(CHOICE_A, 4.). + newVoter("Ville D", 17.). + addVoteForChoice(CHOICE_D, 1.). + addVoteForChoice(CHOICE_C, 2.). + addVoteForChoice(CHOICE_B, 3.). + addVoteForChoice(CHOICE_A, 4.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -126,19 +126,19 @@ public class CoombsVoteCountingStrategyTest { // 3 (a=1 b=null c=2) c - Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 2.). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, 3.). - addVoteForChoice(CHOICE_B, 2.). - addVoteForChoice(CHOICE_C, 1.). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, 2.). - getVoters(); + newVoter("1", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 2.). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, 3.). + addVoteForChoice(CHOICE_B, 2.). + addVoteForChoice(CHOICE_C, 1.). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, 2.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -161,19 +161,19 @@ public class CoombsVoteCountingStrategyTest { // 3 (a=null b=null c=2) c 2 Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 2.). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 2.). - addVoteForChoice(CHOICE_C, 1.). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, 2.). - getVoters(); + newVoter("1", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 2.). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 2.). + addVoteForChoice(CHOICE_C, 1.). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, 2.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -198,19 +198,19 @@ public class CoombsVoteCountingStrategyTest { // 3 (a=null b=null c=1) c 1 Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, 1.). - getVoters(); + newVoter("1", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, 1.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -236,19 +236,19 @@ public class CoombsVoteCountingStrategyTest { // 3 (x1) (a=null b=1 c=2) c - Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 2.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, 2.). - getVoters(); + newVoter("1", 2.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, 2.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -273,19 +273,19 @@ public class CoombsVoteCountingStrategyTest { // 3 (x3) (a=null b=2 c=1) c 3 Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 2.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - newVoter("3", 3.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 2.). - addVoteForChoice(CHOICE_C, 1.). - getVoters(); + newVoter("1", 2.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + newVoter("3", 3.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 2.). + addVoteForChoice(CHOICE_C, 1.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -313,7 +313,7 @@ public class CoombsVoteCountingStrategyTest { Assert.assertNotNull(choiceScores); Map<String, ChoiceScore> choicesById = Maps.uniqueIndex( - choiceScores, new ChoiceIdAble.ChoiceIdAbleById()); + choiceScores, new ChoiceIdAble.ChoiceIdAbleById()::apply); for (String choiceId : choiceIds) { ChoiceScore choiceScore = choicesById.get(choiceId); diff --git a/pollen-votecounting-instant-runoff/pom.xml b/pollen-votecounting-instant-runoff/pom.xml index 5b18e91..65f91e8 100644 --- a/pollen-votecounting-instant-runoff/pom.xml +++ b/pollen-votecounting-instant-runoff/pom.xml @@ -20,7 +20,8 @@ #L% --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> diff --git a/pollen-votecounting-instant-runoff/src/main/java/org/chorem/pollen/votecounting/InstantRunoffVoteCounting.java b/pollen-votecounting-instant-runoff/src/main/java/org/chorem/pollen/votecounting/InstantRunoffVoteCounting.java index c664045..3aa8b6b 100644 --- a/pollen-votecounting-instant-runoff/src/main/java/org/chorem/pollen/votecounting/InstantRunoffVoteCounting.java +++ b/pollen-votecounting-instant-runoff/src/main/java/org/chorem/pollen/votecounting/InstantRunoffVoteCounting.java @@ -58,8 +58,8 @@ public class InstantRunoffVoteCounting extends AbstractVoteCounting<InstantRunof String choiceName, String voteValue) { return l(locale, "pollen.error.vote.invalidInstantRunoffVoteValue", - choiceName, - voteValue); + choiceName, + voteValue); } @Override diff --git a/pollen-votecounting-instant-runoff/src/main/java/org/chorem/pollen/votecounting/InstantRunoffVoteCountingStrategy.java b/pollen-votecounting-instant-runoff/src/main/java/org/chorem/pollen/votecounting/InstantRunoffVoteCountingStrategy.java index 5947816..194c7a5 100644 --- a/pollen-votecounting-instant-runoff/src/main/java/org/chorem/pollen/votecounting/InstantRunoffVoteCountingStrategy.java +++ b/pollen-votecounting-instant-runoff/src/main/java/org/chorem/pollen/votecounting/InstantRunoffVoteCountingStrategy.java @@ -175,7 +175,7 @@ public class InstantRunoffVoteCountingStrategy extends AbstractVoteCountingStrat while (itr.hasNext()) { ChoiceScore choiceScore = itr.next(); if (choiceScore.getScoreValue() == null || - ZERO_D.equals(choiceScore.getScoreValue())) { + ZERO_D.equals(choiceScore.getScoreValue())) { itr.remove(); } else { // score > 0 on peut s'arreter @@ -195,7 +195,7 @@ public class InstantRunoffVoteCountingStrategy extends AbstractVoteCountingStrat for (ChoiceScore choiceScore : results) { BigDecimal scoreValue = choiceScore.getScoreValue(); - if (min == (scoreValue==null?0:scoreValue.doubleValue())) { + if (min == (scoreValue == null ? 0 : scoreValue.doubleValue())) { idsToExclude.add(choiceScore.getChoiceId()); } else { diff --git a/pollen-votecounting-instant-runoff/src/test/java/org/chorem/pollen/votecounting/InstantRunoffVoteCountingStrategyTest.java b/pollen-votecounting-instant-runoff/src/test/java/org/chorem/pollen/votecounting/InstantRunoffVoteCountingStrategyTest.java index 7254438..c593313 100644 --- a/pollen-votecounting-instant-runoff/src/test/java/org/chorem/pollen/votecounting/InstantRunoffVoteCountingStrategyTest.java +++ b/pollen-votecounting-instant-runoff/src/test/java/org/chorem/pollen/votecounting/InstantRunoffVoteCountingStrategyTest.java @@ -82,27 +82,27 @@ public class InstantRunoffVoteCountingStrategyTest { // D 17 15 26 42 17 32 58 Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("Ville A", 42.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 2.). - addVoteForChoice(CHOICE_C, 3.). - addVoteForChoice(CHOICE_D, 4.). - newVoter("Ville B", 26.). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, 2.). - addVoteForChoice(CHOICE_D, 3.). - addVoteForChoice(CHOICE_A, 4.). - newVoter("Ville C", 15.). - addVoteForChoice(CHOICE_C, 1.). - addVoteForChoice(CHOICE_D, 2.). - addVoteForChoice(CHOICE_B, 3.). - addVoteForChoice(CHOICE_A, 4.). - newVoter("Ville D", 17.). - addVoteForChoice(CHOICE_D, 1.). - addVoteForChoice(CHOICE_C, 2.). - addVoteForChoice(CHOICE_B, 3.). - addVoteForChoice(CHOICE_A, 4.). - getVoters(); + newVoter("Ville A", 42.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 2.). + addVoteForChoice(CHOICE_C, 3.). + addVoteForChoice(CHOICE_D, 4.). + newVoter("Ville B", 26.). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, 2.). + addVoteForChoice(CHOICE_D, 3.). + addVoteForChoice(CHOICE_A, 4.). + newVoter("Ville C", 15.). + addVoteForChoice(CHOICE_C, 1.). + addVoteForChoice(CHOICE_D, 2.). + addVoteForChoice(CHOICE_B, 3.). + addVoteForChoice(CHOICE_A, 4.). + newVoter("Ville D", 17.). + addVoteForChoice(CHOICE_D, 1.). + addVoteForChoice(CHOICE_C, 2.). + addVoteForChoice(CHOICE_B, 3.). + addVoteForChoice(CHOICE_A, 4.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -126,19 +126,19 @@ public class InstantRunoffVoteCountingStrategyTest { // 3 (a=1 b=null c=2) c - Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 2.). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, 3.). - addVoteForChoice(CHOICE_B, 2.). - addVoteForChoice(CHOICE_C, 1.). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, 2.). - getVoters(); + newVoter("1", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 2.). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, 3.). + addVoteForChoice(CHOICE_B, 2.). + addVoteForChoice(CHOICE_C, 1.). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, 2.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -161,19 +161,19 @@ public class InstantRunoffVoteCountingStrategyTest { // 3 (a=null b=null c=2) c 2 Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 2.). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 2.). - addVoteForChoice(CHOICE_C, 1.). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, 2.). - getVoters(); + newVoter("1", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 2.). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 2.). + addVoteForChoice(CHOICE_C, 1.). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, 2.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -198,19 +198,19 @@ public class InstantRunoffVoteCountingStrategyTest { // 3 (a=null b=null c=1) c 1 Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, 1.). - getVoters(); + newVoter("1", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, 1.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -236,19 +236,19 @@ public class InstantRunoffVoteCountingStrategyTest { // 3 (x1) (a=null b=1 c=2) c - Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 2.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, 2.). - getVoters(); + newVoter("1", 2.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, 2.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -273,19 +273,19 @@ public class InstantRunoffVoteCountingStrategyTest { // 3 (x3) (a=null b=2 c=1) c 3 Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 2.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - newVoter("3", 3.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 2.). - addVoteForChoice(CHOICE_C, 1.). - getVoters(); + newVoter("1", 2.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + newVoter("3", 3.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 2.). + addVoteForChoice(CHOICE_C, 1.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -313,7 +313,7 @@ public class InstantRunoffVoteCountingStrategyTest { Assert.assertNotNull(choiceScores); Map<String, ChoiceScore> choicesById = Maps.uniqueIndex( - choiceScores, new ChoiceIdAble.ChoiceIdAbleById()); + choiceScores, new ChoiceIdAble.ChoiceIdAbleById()::apply); for (String choiceId : choiceIds) { ChoiceScore choiceScore = choicesById.get(choiceId); diff --git a/pollen-votecounting-normal/pom.xml b/pollen-votecounting-normal/pom.xml index bfd6428..8411a38 100644 --- a/pollen-votecounting-normal/pom.xml +++ b/pollen-votecounting-normal/pom.xml @@ -20,7 +20,8 @@ #L% --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> diff --git a/pollen-votecounting-normal/src/test/java/org/chorem/pollen/votecounting/NormalVoteCountingStrategyTest.java b/pollen-votecounting-normal/src/test/java/org/chorem/pollen/votecounting/NormalVoteCountingStrategyTest.java index 8a7840b..b78cb3e 100644 --- a/pollen-votecounting-normal/src/test/java/org/chorem/pollen/votecounting/NormalVoteCountingStrategyTest.java +++ b/pollen-votecounting-normal/src/test/java/org/chorem/pollen/votecounting/NormalVoteCountingStrategyTest.java @@ -80,19 +80,19 @@ public class NormalVoteCountingStrategyTest { // Result (a=1 b=2 c=1) Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, 1.). - getVoters(); + newVoter("1", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, 1.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -126,33 +126,33 @@ public class NormalVoteCountingStrategyTest { // Result (a=1 b=2 c=1) GroupOfVoter voters = new GroupOfVoterBuilder(). - newGroupVoter("G1", 1.). - newVoter("G1U1", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, null). - newVoter("G1U2", 2.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - newVoter("G1U3", 3.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, 1.). - newGroupVoter("G2", 1.). - newVoter("G2U1", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.0). - addVoteForChoice(CHOICE_C, null). - newVoter("G2U2", 1.). - addVoteForChoice(CHOICE_A, 1.0). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, null). - newVoter("G2U3", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, 1.). - getRoot(); + newGroupVoter("G1", 1.). + newVoter("G1U1", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, null). + newVoter("G1U2", 2.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + newVoter("G1U3", 3.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, 1.). + newGroupVoter("G2", 1.). + newVoter("G2U1", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.0). + addVoteForChoice(CHOICE_C, null). + newVoter("G2U2", 1.). + addVoteForChoice(CHOICE_A, 1.0). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, null). + newVoter("G2U3", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, 1.). + getRoot(); GroupVoteCountingResult result = strategy.votecount(voters); @@ -181,19 +181,19 @@ public class NormalVoteCountingStrategyTest { // 3 (a=1 b=1 c=null) // Result (a=3 b=2 c=null) Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - getVoters(); + newVoter("1", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -216,19 +216,19 @@ public class NormalVoteCountingStrategyTest { // 3 (a=1 b=1 c=null) // Result (a=3 b=3 c=null) Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - getVoters(); + newVoter("1", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -253,19 +253,19 @@ public class NormalVoteCountingStrategyTest { // 3 (x1) (a=null b=1 c=1) // Result (a=2 b=2 c=1) Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 2.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, 1.). - getVoters(); + newVoter("1", 2.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, 1.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -290,19 +290,19 @@ public class NormalVoteCountingStrategyTest { // 3 (x3) (a=null b=1 c=1) // Result (a=2 b=4 c=3) Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 2.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - newVoter("3", 3.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, 1.). - getVoters(); + newVoter("1", 2.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + newVoter("3", 3.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, 1.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -333,7 +333,7 @@ public class NormalVoteCountingStrategyTest { Assert.assertNotNull(choiceScores); Map<String, ChoiceScore> choicesById = Maps.uniqueIndex( - choiceScores, new ChoiceIdAble.ChoiceIdAbleById()); + choiceScores, new ChoiceIdAble.ChoiceIdAbleById()::apply); for (String choiceId : choiceIds) { ChoiceScore choiceScore = choicesById.get(choiceId); diff --git a/pollen-votecounting-number/pom.xml b/pollen-votecounting-number/pom.xml index 5dc955e..2b33623 100644 --- a/pollen-votecounting-number/pom.xml +++ b/pollen-votecounting-number/pom.xml @@ -20,7 +20,8 @@ #L% --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> diff --git a/pollen-votecounting-number/src/test/java/org/chorem/pollen/votecounting/NumberVoteCountingStrategyTest.java b/pollen-votecounting-number/src/test/java/org/chorem/pollen/votecounting/NumberVoteCountingStrategyTest.java index e00156a..1222013 100644 --- a/pollen-votecounting-number/src/test/java/org/chorem/pollen/votecounting/NumberVoteCountingStrategyTest.java +++ b/pollen-votecounting-number/src/test/java/org/chorem/pollen/votecounting/NumberVoteCountingStrategyTest.java @@ -76,19 +76,19 @@ public class NumberVoteCountingStrategyTest { // Result (a=10 b=14 c=23) Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 2.). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, 2.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, 3.). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, 7.). - addVoteForChoice(CHOICE_B, 12.). - addVoteForChoice(CHOICE_C, 20.). - getVoters(); + newVoter("1", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 2.). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, 2.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, 3.). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, 7.). + addVoteForChoice(CHOICE_B, 12.). + addVoteForChoice(CHOICE_C, 20.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -111,19 +111,19 @@ public class NumberVoteCountingStrategyTest { // 3 (a=1 b=1 c=null) // Result (a=3 b=2 c=null) Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - getVoters(); + newVoter("1", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -146,19 +146,19 @@ public class NumberVoteCountingStrategyTest { // 3 (a=1 b=1 c=null) // Result (a=3 b=3 c=null) Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - getVoters(); + newVoter("1", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -183,19 +183,19 @@ public class NumberVoteCountingStrategyTest { // 3 (x1) (a=null b=1 c=1) // Result (a=2 b=2 c=1) Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 2.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, 1.). - getVoters(); + newVoter("1", 2.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, 1.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -220,19 +220,19 @@ public class NumberVoteCountingStrategyTest { // 3 (x3) (a=null b=1 c=1) // Result (a=2 b=4 c=3) Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 2.). - addVoteForChoice(CHOICE_A, 1.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, null). - newVoter("3", 3.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 1.). - addVoteForChoice(CHOICE_C, 1.). - getVoters(); + newVoter("1", 2.). + addVoteForChoice(CHOICE_A, 1.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, null). + newVoter("3", 3.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 1.). + addVoteForChoice(CHOICE_C, 1.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -260,7 +260,7 @@ public class NumberVoteCountingStrategyTest { Assert.assertNotNull(choiceScores); Map<String, ChoiceScore> choicesById = Maps.uniqueIndex( - choiceScores, new ChoiceIdAble.ChoiceIdAbleById()); + choiceScores, new ChoiceIdAble.ChoiceIdAbleById()::apply); for (String choiceId : choiceIds) { ChoiceScore choiceScore = choicesById.get(choiceId); diff --git a/pollen-votecounting-percentage/pom.xml b/pollen-votecounting-percentage/pom.xml index 0056fce..0d8fd60 100644 --- a/pollen-votecounting-percentage/pom.xml +++ b/pollen-votecounting-percentage/pom.xml @@ -20,7 +20,8 @@ #L% --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> diff --git a/pollen-votecounting-percentage/src/test/java/org/chorem/pollen/votecounting/PercentageVoteCountingStrategyTest.java b/pollen-votecounting-percentage/src/test/java/org/chorem/pollen/votecounting/PercentageVoteCountingStrategyTest.java index dfb2627..f8d2df8 100644 --- a/pollen-votecounting-percentage/src/test/java/org/chorem/pollen/votecounting/PercentageVoteCountingStrategyTest.java +++ b/pollen-votecounting-percentage/src/test/java/org/chorem/pollen/votecounting/PercentageVoteCountingStrategyTest.java @@ -77,19 +77,19 @@ public class PercentageVoteCountingStrategyTest { // Result (a=100 b=150 c=null) Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 1.). - addVoteForChoice(CHOICE_A, 100.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 100.). - addVoteForChoice(CHOICE_C, null). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, 50.). - addVoteForChoice(CHOICE_B, 50.). - addVoteForChoice(CHOICE_C, null). - getVoters(); + newVoter("1", 1.). + addVoteForChoice(CHOICE_A, 100.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 100.). + addVoteForChoice(CHOICE_C, null). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, 50.). + addVoteForChoice(CHOICE_B, 50.). + addVoteForChoice(CHOICE_C, null). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -115,19 +115,19 @@ public class PercentageVoteCountingStrategyTest { // 3 (a=10 b=50 c=40) // Result (a=80 b=100 c=120) Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 1.). - addVoteForChoice(CHOICE_A, 20.). - addVoteForChoice(CHOICE_B, 30.). - addVoteForChoice(CHOICE_C, 50.). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, 50.). - addVoteForChoice(CHOICE_B, 20.). - addVoteForChoice(CHOICE_C, 30.). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, 10.). - addVoteForChoice(CHOICE_B, 50.). - addVoteForChoice(CHOICE_C, 40.). - getVoters(); + newVoter("1", 1.). + addVoteForChoice(CHOICE_A, 20.). + addVoteForChoice(CHOICE_B, 30.). + addVoteForChoice(CHOICE_C, 50.). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, 50.). + addVoteForChoice(CHOICE_B, 20.). + addVoteForChoice(CHOICE_C, 30.). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, 10.). + addVoteForChoice(CHOICE_B, 50.). + addVoteForChoice(CHOICE_C, 40.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -150,19 +150,19 @@ public class PercentageVoteCountingStrategyTest { // 3 (a=50 b=50 c=null) // Result (a=150 b=150 c=null) Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 1.). - addVoteForChoice(CHOICE_A, 50.). - addVoteForChoice(CHOICE_B, 50.). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, 50.). - addVoteForChoice(CHOICE_B, 50.). - addVoteForChoice(CHOICE_C, null). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, 50.). - addVoteForChoice(CHOICE_B, 50.). - addVoteForChoice(CHOICE_C, null). - getVoters(); + newVoter("1", 1.). + addVoteForChoice(CHOICE_A, 50.). + addVoteForChoice(CHOICE_B, 50.). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, 50.). + addVoteForChoice(CHOICE_B, 50.). + addVoteForChoice(CHOICE_C, null). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, 50.). + addVoteForChoice(CHOICE_B, 50.). + addVoteForChoice(CHOICE_C, null). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -187,19 +187,19 @@ public class PercentageVoteCountingStrategyTest { // 3 (x1) (a=null b=50 c=50) // Result (a=200 b=150 c=50) Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 2.). - addVoteForChoice(CHOICE_A, 100.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 100.). - addVoteForChoice(CHOICE_C, null). - newVoter("3", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 50.). - addVoteForChoice(CHOICE_C, 50.). - getVoters(); + newVoter("1", 2.). + addVoteForChoice(CHOICE_A, 100.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 100.). + addVoteForChoice(CHOICE_C, null). + newVoter("3", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 50.). + addVoteForChoice(CHOICE_C, 50.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -221,19 +221,19 @@ public class PercentageVoteCountingStrategyTest { // 3 (x3) (a=null b=50 c=50) // Result (a=200 b=250 c=150) Set<Voter> voters = new SimpleVoterBuilder(). - newVoter("1", 2.). - addVoteForChoice(CHOICE_A, 100.). - addVoteForChoice(CHOICE_B, null). - addVoteForChoice(CHOICE_C, null). - newVoter("2", 1.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 100.). - addVoteForChoice(CHOICE_C, null). - newVoter("3", 3.). - addVoteForChoice(CHOICE_A, null). - addVoteForChoice(CHOICE_B, 50.). - addVoteForChoice(CHOICE_C, 50.). - getVoters(); + newVoter("1", 2.). + addVoteForChoice(CHOICE_A, 100.). + addVoteForChoice(CHOICE_B, null). + addVoteForChoice(CHOICE_C, null). + newVoter("2", 1.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 100.). + addVoteForChoice(CHOICE_C, null). + newVoter("3", 3.). + addVoteForChoice(CHOICE_A, null). + addVoteForChoice(CHOICE_B, 50.). + addVoteForChoice(CHOICE_C, 50.). + getVoters(); VoteCountingResult result = strategy.votecount(voters); @@ -261,7 +261,7 @@ public class PercentageVoteCountingStrategyTest { Assert.assertNotNull(choiceScores); Map<String, ChoiceScore> choicesById = Maps.uniqueIndex( - choiceScores, new ChoiceIdAble.ChoiceIdAbleById()); + choiceScores, new ChoiceIdAble.ChoiceIdAbleById()::apply); for (String choiceId : choiceIds) { ChoiceScore choiceScore = choicesById.get(choiceId); -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.