Author: tchemit Date: 2012-09-23 16:36:50 +0200 (Sun, 23 Sep 2012) New Revision: 3703 Url: http://chorem.org/repositories/revision/pollen/3703 Log: service context is reponsible of generating id (to mock it in test later) Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/DefaultPollenServiceContext.java trunk/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceContext.java trunk/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceSupport.java trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollService.java trunk/pollen-services/src/test/java/org/chorem/pollen/services/FakeServiceContext.java Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/DefaultPollenServiceContext.java =================================================================== --- trunk/pollen-services/src/main/java/org/chorem/pollen/services/DefaultPollenServiceContext.java 2012-09-23 13:48:42 UTC (rev 3702) +++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/DefaultPollenServiceContext.java 2012-09-23 14:36:50 UTC (rev 3703) @@ -30,6 +30,7 @@ import java.net.URL; import java.util.Date; import java.util.Locale; +import java.util.UUID; /** * Instances of this class will be given to service factory. @@ -137,4 +138,9 @@ public VoteCountingStrategyProvider getVoteCountingStrategyProvider() { return voteCountingStrategyProvider; } + + @Override + public String generateId() { + return UUID.randomUUID().toString().replaceAll("-", ""); + } } Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceContext.java =================================================================== --- trunk/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceContext.java 2012-09-23 13:48:42 UTC (rev 3702) +++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceContext.java 2012-09-23 14:36:50 UTC (rev 3703) @@ -24,6 +24,8 @@ package org.chorem.pollen.services; import org.chorem.pollen.PollenConfiguration; +import org.chorem.pollen.business.persistence.Poll; +import org.chorem.pollen.business.persistence.PollAccount; import org.chorem.pollen.votecounting.strategy.VoteCountingStrategyProvider; import org.nuiton.topia.TopiaContext; @@ -62,4 +64,13 @@ VoteCountingStrategyProvider getVoteCountingStrategyProvider(); + /** + * Generates a unique id usable for {@link Poll#getPollId()} or + * {@link PollAccount#getAccountId()}. + * + * @return a fresh generated id + * @since 1.5 + */ + String generateId(); + } Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceSupport.java =================================================================== --- trunk/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceSupport.java 2012-09-23 13:48:42 UTC (rev 3702) +++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceSupport.java 2012-09-23 14:36:50 UTC (rev 3703) @@ -26,8 +26,6 @@ import org.apache.commons.lang3.StringUtils; import org.chorem.pollen.PollenConfiguration; import org.chorem.pollen.PollenTechnicalException; -import org.chorem.pollen.business.persistence.Poll; -import org.chorem.pollen.business.persistence.PollAccount; import org.chorem.pollen.entities.PollenDAOHelper; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaException; @@ -39,7 +37,6 @@ import java.util.Date; import java.util.List; import java.util.Locale; -import java.util.UUID; import static org.nuiton.i18n.I18n.l_; @@ -154,6 +151,7 @@ throw new PollenTechnicalException("Could not create entity ", e); } } + protected <T extends TopiaEntity, D extends TopiaDAO<? super T>> T createWithProperties(D dao, Object... properties) { try { return (T) dao.create(properties); @@ -195,15 +193,4 @@ tx.getHibernate().flush(); } - /** - * Generates a unique id usable for {@link Poll#getPollId()} or - * {@link PollAccount#getAccountId()}. - * - * @return a fresh generated id - * @since 1.4 - */ - protected String generateId() { - return UUID.randomUUID().toString().replaceAll("-", ""); - } - } Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollService.java =================================================================== --- trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollService.java 2012-09-23 13:48:42 UTC (rev 3702) +++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollService.java 2012-09-23 14:36:50 UTC (rev 3703) @@ -283,7 +283,7 @@ PollDAO pollDAO = getDAO(Poll.class); Poll result = createWithProperties( pollDAO, - Poll.PROPERTY_POLL_ID, generateId(), + Poll.PROPERTY_POLL_ID, serviceContext.generateId(), Poll.PROPERTY_POLL_VOTE_VISIBILITY, poll.getPollVoteVisibility(), Poll.PROPERTY_POLL_COMMENT_VISIBILITY, poll.getPollCommentVisibility()); @@ -315,7 +315,7 @@ PollAccountDAO pollAccountDAO = getDAO(PollAccount.class); PollAccount creatorCreated = createWithProperties( pollAccountDAO, - PollAccount.PROPERTY_ACCOUNT_ID, generateId()); + PollAccount.PROPERTY_ACCOUNT_ID, serviceContext.generateId()); PollAccount creator = poll.getCreator(); creatorCreated.setVotingId(creator.getVotingId()); creatorCreated.setEmail(creator.getEmail()); @@ -937,7 +937,7 @@ // creates a new pollAccount pollAccountLoaded = createWithProperties( pollAccountDAO, - PollAccount.PROPERTY_ACCOUNT_ID, generateId()); + PollAccount.PROPERTY_ACCOUNT_ID, serviceContext.generateId()); if (log.isInfoEnabled()) { log.info(String.format( Modified: trunk/pollen-services/src/test/java/org/chorem/pollen/services/FakeServiceContext.java =================================================================== --- trunk/pollen-services/src/test/java/org/chorem/pollen/services/FakeServiceContext.java 2012-09-23 13:48:42 UTC (rev 3702) +++ trunk/pollen-services/src/test/java/org/chorem/pollen/services/FakeServiceContext.java 2012-09-23 14:36:50 UTC (rev 3703) @@ -41,6 +41,7 @@ import java.util.Date; import java.util.Locale; import java.util.Properties; +import java.util.UUID; /** * Provide an implementation of {@link PollenServiceContext} suitable for repeatable, @@ -133,6 +134,11 @@ return null; } + @Override + public String generateId() { + return UUID.randomUUID().toString().replaceAll("-", ""); + } + public void setCurrentTime(Date fakeCurrentTime) { this.fakeCurrentTime = fakeCurrentTime; }