* (non-Javadoc)
* @see org.encuestame.business.service.imp.ITweetPollService#updateTweetPoll(org.encuestame.persistence.domain.tweetpoll.TweetPoll, java.lang.String[], java.util.List)
*/
public TweetPoll updateTweetPoll(final TweetPollBean tweetPollBean) throws EnMeNoResultsFoundException {
log.debug("Updated tweetpoll with id :"+tweetPollBean.getId());
final TweetPoll tweetPoll = getTweetPoll(tweetPollBean.getId(), getUserPrincipalUsername());
Assert.notNull(tweetPoll);
if (tweetPoll == null) {
throw new EnMeTweetPollNotFoundException();
}
//TODO: disabled to create hashtag directly from own service.
//final List<HashTag> newList = retrieveListOfHashTags(tweetPollBean.getHashTags());
//log.debug("new list of hashtags size: "+newList.size());
//update question name.
final Question questionDomain = tweetPoll.getQuestion();
Assert.notNull(questionDomain);
questionDomain.setQuestion(tweetPollBean.getQuestionBean().getQuestionName());
questionDomain.setSlugQuestion(RestFullUtil.slugify(tweetPollBean.getQuestionBean().getQuestionName()));
questionDomain.setCreateDate(Calendar.getInstance().getTime());
getQuestionDao().saveOrUpdate(questionDomain);
//update hashtags.
//TODO: disabled to create hashtag directly from own service.
//tweetPoll.getHashTags().addAll(retrieveListOfHashTags(tweetPollBean.getHashTags())); //TODO check if this action remove old hashtags.
//update options.
tweetPoll.setAllowLiveResults(tweetPollBean.getAllowLiveResults());
tweetPoll.setAllowRepatedVotes(tweetPollBean.getAllowRepeatedVotes());
tweetPoll.setCaptcha(tweetPollBean.getCaptcha());
tweetPoll.setCloseNotification(tweetPollBean.getCloseNotification());
tweetPoll.setLimitVotes(tweetPollBean.getLimitVotes());
tweetPoll.setLimitVotesEnabled(tweetPollBean.getLimitVotesEnabled());
tweetPoll.setMaxRepeatedVotes(tweetPollBean.getMaxRepeatedVotes());
tweetPoll.setResultNotification(tweetPollBean.getResultNotification());
tweetPoll.setResumeLiveResults(tweetPollBean.getResumeLiveResults());
tweetPoll.setScheduleDate(tweetPollBean.getScheduleDate());
tweetPoll.setResumeTweetPollDashBoard(tweetPollBean.getResumeTweetPollDashBoard());
tweetPoll.setUpdatedDate(Calendar.getInstance().getTime());
getTweetPollDao().saveOrUpdate(tweetPoll);
log.debug("removing answers for tweetpoll id: "+tweetPoll.getTweetPollId());
/*
* answer auto-save handler.
*/
//no make sense remove all questions. disabled.