Pollen-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
January 2012
- 4 participants
- 33 discussions
Author: tchemit
Date: 2012-01-20 00:57:08 +0100 (Fri, 20 Jan 2012)
New Revision: 3096
Url: http://chorem.org/repositories/revision/pollen/3096
Log:
first little commit...
Added:
branches/pollen-2.0-beta-1/pollen-domain/
branches/pollen-2.0-beta-1/pollen-persistence/
branches/pollen-2.0-beta-1/pollen-persistence/LICENSE.txt
branches/pollen-2.0-beta-1/pollen-persistence/README.txt
branches/pollen-2.0-beta-1/pollen-persistence/changelog.txt
branches/pollen-2.0-beta-1/pollen-persistence/pom.xml
branches/pollen-2.0-beta-1/pollen-persistence/src/
branches/pollen-2.0-beta-1/pollen-persistence/src/license/
branches/pollen-2.0-beta-1/pollen-persistence/src/license/THIRD-PARTY.properties
branches/pollen-2.0-beta-1/pollen-persistence/src/main/
branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/
branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/
branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/
branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/
branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenBusinessException.java
branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenConfiguration.java
branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenConfigurationOption.java
branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenException.java
branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenTechnicalException.java
branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenTopiaRootContextSupplierFactory.java
branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/
branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/ChoiceImpl.java
branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/FavoriteListImpl.java
branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/FavoriteParticipantDAOImpl.java
branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/FavoriteParticipantImpl.java
branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/ParticipantHelper.java
branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/PollAccountDAOImpl.java
branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/PollAccountImpl.java
branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/PollDAOImpl.java
branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/PollImpl.java
branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/UserAccountImpl.java
branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/VoteImpl.java
branches/pollen-2.0-beta-1/pollen-persistence/src/main/resources/
branches/pollen-2.0-beta-1/pollen-persistence/src/main/resources/i18n/
branches/pollen-2.0-beta-1/pollen-persistence/src/main/resources/i18n/pollen-persistence_en_GB.properties
branches/pollen-2.0-beta-1/pollen-persistence/src/main/resources/i18n/pollen-persistence_fr_FR.properties
branches/pollen-2.0-beta-1/pollen-persistence/src/main/xmi/
branches/pollen-2.0-beta-1/pollen-persistence/src/main/xmi/pollen.properties
branches/pollen-2.0-beta-1/pollen-persistence/src/main/xmi/pollen.zargo
branches/pollen-2.0-beta-1/pollen-persistence/src/test/
branches/pollen-2.0-beta-1/pollen-persistence/src/test/java/
branches/pollen-2.0-beta-1/pollen-persistence/src/test/java/org/
branches/pollen-2.0-beta-1/pollen-persistence/src/test/java/org/chorem/
branches/pollen-2.0-beta-1/pollen-persistence/src/test/java/org/chorem/pollen/
branches/pollen-2.0-beta-1/pollen-persistence/src/test/resources/
branches/pollen-2.0-beta-1/pollen-persistence/src/test/resources/PollenTest.properties
branches/pollen-2.0-beta-1/pollen-persistence/src/test/resources/largemaillist.sh
branches/pollen-2.0-beta-1/pollen-persistence/src/test/resources/log4j.properties
branches/pollen-2.0-beta-1/pollen-services/
branches/pollen-2.0-beta-1/pollen-services/LICENSE.txt
branches/pollen-2.0-beta-1/pollen-services/README.txt
branches/pollen-2.0-beta-1/pollen-services/changelog.txt
branches/pollen-2.0-beta-1/pollen-services/pom.xml
branches/pollen-2.0-beta-1/pollen-services/src/
branches/pollen-2.0-beta-1/pollen-services/src/license/
branches/pollen-2.0-beta-1/pollen-services/src/license/THIRD-PARTY.properties
branches/pollen-2.0-beta-1/pollen-services/src/main/
branches/pollen-2.0-beta-1/pollen-services/src/main/java/
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/PollenContext.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/PollenContextImpl.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/PollenProperty.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/PollenUtils.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/bean/
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/bean/PollenEmail.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/bean/UserPoll.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/BackgroundWorker.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/BackgroundWorkerImpl.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/MailUtil.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/PreventRuleManager.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/SendMail.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceEmail.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceEmailAbstract.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceEmailImpl.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceFavorite.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceFavoriteAbstract.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceFavoriteImpl.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServicePoll.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServicePollAbstract.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServicePollImpl.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceUser.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceUserAbstract.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceUserImpl.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceVote.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceVoteAbstract.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceVoteImpl.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/EmailService.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/FavoriteService.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollService.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollenService.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceContext.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceContextImpl.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceFactory.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceSupport.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/UserService.java
branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/VoteService.java
branches/pollen-2.0-beta-1/pollen-services/src/main/resources/
branches/pollen-2.0-beta-1/pollen-services/src/main/resources/i18n/
branches/pollen-2.0-beta-1/pollen-services/src/main/resources/i18n/pollen-services_en_GB.properties
branches/pollen-2.0-beta-1/pollen-services/src/main/resources/i18n/pollen-services_fr_FR.properties
branches/pollen-2.0-beta-1/pollen-services/src/main/resources/pollen.properties
branches/pollen-2.0-beta-1/pollen-services/src/test/
branches/pollen-2.0-beta-1/pollen-services/src/test/java/
branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/
branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/
branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/
branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/
branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/
branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/AbstractServiceTest.java
branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/ServiceFavoriteImplTest.java
branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/ServicePollImplTest.java
branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/ServiceUserImplTest.java
branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/ServiceVoteImplTest.java
branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/
branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/AbstractPollenServiceTest.java
branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/EmailServiceTest.java
branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/FakeServiceContext.java
branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/FavoriteServiceTest.java
branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/PollServiceTest.java
branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/UserServiceTest.java
branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/VoteServiceTest.java
branches/pollen-2.0-beta-1/pollen-services/src/test/resources/
branches/pollen-2.0-beta-1/pollen-services/src/test/resources/PollenTest.properties
branches/pollen-2.0-beta-1/pollen-services/src/test/resources/largemaillist.sh
branches/pollen-2.0-beta-1/pollen-services/src/test/resources/log4j.properties
branches/pollen-2.0-beta-1/pollen-services/src/test/resources/pollen-fake.properties
Removed:
branches/pollen-2.0-beta-1/pollen-votecounting/
Modified:
branches/pollen-2.0-beta-1/LICENSE.txt
branches/pollen-2.0-beta-1/README.txt
branches/pollen-2.0-beta-1/changelog.txt
branches/pollen-2.0-beta-1/doc/2010-08-21_todo_v2.rst
branches/pollen-2.0-beta-1/doc/ALMA-PFE-2009/Analyse.odt
branches/pollen-2.0-beta-1/doc/ALMA-PFE-2009/Architecture.odt
branches/pollen-2.0-beta-1/doc/ALMA-PFE-2009/Conception.odt
branches/pollen-2.0-beta-1/doc/ALMA-PFE-2009/Gestion projet.odt
branches/pollen-2.0-beta-1/doc/ALMA-PFE-2009/Infrastructure.odt
branches/pollen-2.0-beta-1/doc/ALMA-PFE-2009/pollen-slides.odp
branches/pollen-2.0-beta-1/doc/Stage-2009/rapportRannou.odt
branches/pollen-2.0-beta-1/doc/presentation-2010-03-11/Creation_choix.png
branches/pollen-2.0-beta-1/doc/presentation-2010-03-11/Creation_infos.png
branches/pollen-2.0-beta-1/doc/presentation-2010-03-11/Creation_liens.png
branches/pollen-2.0-beta-1/doc/presentation-2010-03-11/Creation_options.png
branches/pollen-2.0-beta-1/doc/presentation-2010-03-11/Presentation-Pollen.odp
branches/pollen-2.0-beta-1/doc/presentation-2010-03-11/Resultats.png
branches/pollen-2.0-beta-1/doc/presentation-2010-03-11/Vote_condorcet.png
branches/pollen-2.0-beta-1/doc/presentation-2010-03-11/Vote_nombre.png
branches/pollen-2.0-beta-1/doc/presentation-2010-03-11/Vote_pourcentage.png
branches/pollen-2.0-beta-1/doc/presentation-2010-03-11/plan
branches/pollen-2.0-beta-1/pollen-business/LICENSE.txt
branches/pollen-2.0-beta-1/pollen-business/README.txt
branches/pollen-2.0-beta-1/pollen-business/changelog.txt
branches/pollen-2.0-beta-1/pollen-business/doc/PollenBusiness.zargo
branches/pollen-2.0-beta-1/pollen-business/doc/ServicePoll.zargo
branches/pollen-2.0-beta-1/pollen-business/doc/ServiceResults.zargo
branches/pollen-2.0-beta-1/pollen-business/doc/ServiceUser.zargo
branches/pollen-2.0-beta-1/pollen-business/doc/ServiceVote.zargo
branches/pollen-2.0-beta-1/pollen-business/pom.xml
branches/pollen-2.0-beta-1/pollen-business/src/license/THIRD-PARTY.properties
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/PollenBusinessException.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/PollenContext.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/PollenContextImpl.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/PollenException.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/PollenProperty.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/PollenUtils.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/bean/PollenEmailImpl.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/bean/UserPollImpl.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/entity/ChoiceImpl.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/entity/FavoriteListImpl.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/entity/FavoriteParticipantDAOImpl.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/entity/FavoriteParticipantImpl.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/entity/ParticipantHelper.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/entity/PollAccountDAOImpl.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/entity/PollAccountImpl.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/entity/PollDAOImpl.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/entity/PollImpl.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/entity/UserAccountImpl.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/entity/VoteImpl.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/mail/BackgroundWorker.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/mail/BackgroundWorkerImpl.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/mail/MailUtil.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/mail/PreventRuleManager.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/mail/SendMail.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/service/ServiceEmailImpl.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/service/ServiceFavoriteImpl.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/service/ServicePollImpl.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/service/ServiceUserImpl.java
branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/service/ServiceVoteImpl.java
branches/pollen-2.0-beta-1/pollen-business/src/main/resources/i18n/pollen-business_en_GB.properties
branches/pollen-2.0-beta-1/pollen-business/src/main/resources/i18n/pollen-business_fr_FR.properties
branches/pollen-2.0-beta-1/pollen-business/src/main/resources/log4j.properties
branches/pollen-2.0-beta-1/pollen-business/src/main/resources/pollen.properties
branches/pollen-2.0-beta-1/pollen-business/src/main/xmi/pollen.properties
branches/pollen-2.0-beta-1/pollen-business/src/main/xmi/pollen.zargo
branches/pollen-2.0-beta-1/pollen-business/src/test/java/org/chorem/pollen/service/ServiceFavoriteImplTest.java
branches/pollen-2.0-beta-1/pollen-business/src/test/java/org/chorem/pollen/service/ServicePollImplTest.java
branches/pollen-2.0-beta-1/pollen-business/src/test/java/org/chorem/pollen/service/ServiceUserImplTest.java
branches/pollen-2.0-beta-1/pollen-business/src/test/java/org/chorem/pollen/service/ServiceVoteImplTest.java
branches/pollen-2.0-beta-1/pollen-business/src/test/java/org/chorem/pollen/test/AbstractServiceTest.java
branches/pollen-2.0-beta-1/pollen-business/src/test/resources/PollenTest.properties
branches/pollen-2.0-beta-1/pollen-business/src/test/resources/largemaillist.sh
branches/pollen-2.0-beta-1/pollen-business/src/test/resources/log4j.properties
branches/pollen-2.0-beta-1/pollen-domain/LICENSE.txt
branches/pollen-2.0-beta-1/pollen-domain/README.txt
branches/pollen-2.0-beta-1/pollen-domain/changelog.txt
branches/pollen-2.0-beta-1/pollen-domain/doc/exportXML.zargo
branches/pollen-2.0-beta-1/pollen-domain/doc/votecountingapi.zargo
branches/pollen-2.0-beta-1/pollen-domain/pom.xml
branches/pollen-2.0-beta-1/pollen-domain/src/license/THIRD-PARTY.properties
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/common/ChoiceType.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/common/PollType.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/common/VoteCountingType.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/Choice.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/CondorcetMethod.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/Context.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/Group.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/Method.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/NumberMethod.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/PercentageMethod.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/StandardMethod.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/Vote.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/package-info.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/ChoiceDTO.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/CommentDTO.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/PollChoiceDTO.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/PollDTO.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/PollExportDTO.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/VoteCountingResultDTO.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/VoteToChoiceDTO.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/VotingGroupDTO.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/VotingPersonDTO.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/package-info.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/services/ServiceExport.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/services/ServiceExportImpl.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/services/ServiceVoteCounting.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/services/ServiceVoteCountingImpl.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/services/package-info.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/utils/ListBehavior.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/utils/PercentageBehavior.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/utils/Utils.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/utils/package-info.java
branches/pollen-2.0-beta-1/pollen-domain/src/main/resources/log4j.properties
branches/pollen-2.0-beta-1/pollen-domain/src/test/java/org/chorem/pollen/votecounting/business/services/PollDTOCreator.java
branches/pollen-2.0-beta-1/pollen-domain/src/test/java/org/chorem/pollen/votecounting/business/services/PollDTOCreatorVoteCounting.java
branches/pollen-2.0-beta-1/pollen-domain/src/test/java/org/chorem/pollen/votecounting/business/services/ServiceVoteCountingImplTest.java
branches/pollen-2.0-beta-1/pollen-ui/LICENSE.txt
branches/pollen-2.0-beta-1/pollen-ui/README.txt
branches/pollen-2.0-beta-1/pollen-ui/changelog.txt
branches/pollen-2.0-beta-1/pollen-ui/doc/UIOs.zargo
branches/pollen-2.0-beta-1/pollen-ui/pom.xml
branches/pollen-2.0-beta-1/pollen-ui/src/license/THIRD-PARTY.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/AbstractPollenPage.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/AbstractPollsPage.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/AbstractUploadPage.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/ContextLink.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/PollenPage.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/package-info.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Border.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Chart.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/ChoiceDateForm.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/ChoiceImage.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/ChoiceImageForm.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/ChoiceTextForm.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/FeedContextLink.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/FileLink.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/HeadLink.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Pager.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/SubForm.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/UserListsCreate.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/UserListsUpdate.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/package-info.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/AddressBar.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/AddressBarItem.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/ChoiceField.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/ErrorReport.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/EvenOdd.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/FieldValidationException.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/GenericEncoder.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/ParticipantsListener.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/PollAction.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/PollHelper.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/PollUri.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/PollenRequiresAuthentication.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/package-info.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/filters/PollenExceptionsFilter.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/filters/package-info.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/models/FavoriteParticipantDataSource.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/models/GenericSelectModel.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/models/ParticipantListModel.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/models/PollFormModel.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/models/UserAccountDataSource.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/Connection.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/ErrorPage.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/Index.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/LocalMessages.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/admin/AdminPolls.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/admin/AdminUsers.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/package-info.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/CloseValidation.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/ConfirmPoll.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/CreationValidation.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/ModificationValidation.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/PollForm.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/PollLinks.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/Results.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/VoteForPoll.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserLists.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserPollsCreated.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserPollsParticipated.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserProfile.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserRegister.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/AppModule.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/PollenAuthentication.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/PollenAuthenticationFilter.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/PollenManager.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/ServiceImage.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/ServiceImageImpl.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/ServicePollUri.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/ServicePollUriImpl.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/package-info.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/CSVAccountUtil.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/FeedUtil.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/LDAPAccountUtil.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/UnitConverter.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/package-info.java
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/i18n/pollen-ui-en_GB.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/i18n/pollen-ui-fr_FR.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/log4j.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/apache/tapestry5/corelib/components/Errors_fr.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/apache/tapestry5/internal/ValidationMessages_fr.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/base/Polls_en.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/base/Polls_fr.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Border.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Border_en.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Border_fr.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/ChoiceDateForm.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/ChoiceImageForm.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/ChoiceTextForm.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Image.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Pager_en.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Pager_fr.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/SubForm.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/UserListsCreate.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/UserListsUpdate.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/admin/AdminPolls_en.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/admin/AdminPolls_fr.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/admin/AdminUsers_en.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/admin/AdminUsers_fr.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/CloseValidation_en.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/CloseValidation_fr.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ConfirmPoll_en.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ConfirmPoll_fr.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/CreationValidation_en.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/CreationValidation_fr.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ImageDisplay_en.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ImageDisplay_fr.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ModificationValidation_en.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ModificationValidation_fr.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollCreation_en.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollCreation_fr.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollForm.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollForm_en.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollForm_fr.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollModification_en.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollModification_fr.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/Results_en.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/Results_fr.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/VoteForPoll_en.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/VoteForPoll_fr.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserLists_en.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserLists_fr.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserPollsCreated_en.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserPollsCreated_fr.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserPollsParticipated_en.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserPollsParticipated_fr.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserProfile_en.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserProfile_fr.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserRegister_en.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserRegister_fr.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/Connection.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/ErrorPage.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/Index.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/WEB-INF/app.properties
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/WEB-INF/web.xml
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/admin/AdminPolls.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/admin/AdminUsers.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/account.css
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/common.css
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/grid.css
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/lightbox.css
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/main.css
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/poll.css
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/pollCreation.css
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/pollsAdmin.css
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/pollsCreated.css
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/pollsParticipated.css
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/register.css
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/results.css
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/users.css
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/usersAdmin.css
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/vote.css
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/favicon.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/1downarrow.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/1leftarrow.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/1rightarrow.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/1uparrow.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/2leftarrow.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/2rightarrow.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/7ter.jpg
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/bigCreation.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/bigVote.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/bigVoteCounting.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/close.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/contact.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/copy.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/count.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/delete.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/edit.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/editSmall.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/en.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/export.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/feed.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/feed2.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/fr.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/gplv3.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/help.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/import.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/lightbox/closelabel.gif
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/lightbox/loading.gif
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/lightbox/nextlabel.gif
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/lightbox/prevlabel.gif
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/lutin.gif
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/pollen.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/pollenCreation_en.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/pollenCreation_fr.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/pollenIndex_en.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/pollenIndex_fr.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/pollenVoteCounting_en.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/pollenVoteCounting_fr.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/pollenVote_en.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/pollenVote_fr.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/pollen_en.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/pollen_fr.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/refresh-22px.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/rep1.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/rep2.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/rep3.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/save.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/smallCreation.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/smallCreation_en.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/smallCreation_fr.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/smallVote.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/smallVoteCounting.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/smallVoteCounting_en.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/smallVoteCounting_fr.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/smallVote_en.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/smallVote_fr.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/topleft_menu.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/topleft_menuCreation.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/topleft_menuIndex.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/topleft_menuVote.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/topleft_menuVoteCounting.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/topright_menu.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/topright_menuCreation.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/topright_menuIndex.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/topright_menuVote.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/topright_menuVoteCounting.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/undo.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/vote.png
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/js/jquery-1.4.2.min.js
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/js/lightbox.js
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/js/pollForm.js
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/js/pollen.js
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/CloseValidation.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/ConfirmPoll.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/CreationValidation.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/ImageDisplay.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/ModificationValidation.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/PollCreation.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/PollForm.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/PollLinks.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/PollModification.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/Results.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/VoteForPoll.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/user/UserLists.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/user/UserPollsCreated.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/user/UserPollsParticipated.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/user/UserProfile.tml
branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/user/UserRegister.tml
branches/pollen-2.0-beta-1/pollen-ui/src/test/java/org/chorem/pollen/ui/utils/CSVAccountUtilTest.java
branches/pollen-2.0-beta-1/pollen-ui/src/test/resources/import.csv
branches/pollen-2.0-beta-1/pollen-wm/LICENSE.txt
branches/pollen-2.0-beta-1/pollen-wm/README.txt
branches/pollen-2.0-beta-1/pollen-wm/changelog.txt
branches/pollen-2.0-beta-1/pollen-wm/pom.xml
branches/pollen-2.0-beta-1/pollen-wm/src/main/java/org/chorem/pollen/web/PollenAction.java
branches/pollen-2.0-beta-1/pollen-wm/src/main/resources/log4j.properties
branches/pollen-2.0-beta-1/pollen-wm/src/main/resources/mapping
branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/footer.jsp
branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/head.jsp
branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/header.jsp
branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/index.jsp
branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/login.jsp
branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/register.jsp
branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/web.xml
branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/css/pollen.css
branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/bigCreation.png
branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/bigVote.png
branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/bigVoteCounting.png
branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/contact.png
branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/en.png
branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/fr.png
branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/pollen.png
branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/pollenIndex_en.png
branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/pollenIndex_fr.png
branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/smallCreation_en.png
branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/smallCreation_fr.png
branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/smallVoteCounting_en.png
branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/smallVoteCounting_fr.png
branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/smallVote_en.png
branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/smallVote_fr.png
branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/js/jquery-1.7.1.min.js
branches/pollen-2.0-beta-1/pom.xml
branches/pollen-2.0-beta-1/src/license/project.xml
branches/pollen-2.0-beta-1/src/site/fr/resources/createVotingList.png
branches/pollen-2.0-beta-1/src/site/fr/resources/pollen.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/CreerSondage.jpg
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/CreerSondage2.jpg
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/DC_Pollen.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/DC_PreventRules.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/DET_PollState.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/Depouiller.jpg
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/Depouiller_1a.jpg
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/UC_Gestiondesvotes.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/Voter.jpg
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/business/DC_BusinessDTOs.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/business/DC_DBUtil.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/business/DC_ServicePoll.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/business/DC_ServiceResults.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/business/DC_ServiceUser.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/business/DC_ServiceVote.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/business/DS_Conception_CreerSondage.jpg
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/composants.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/packages.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/pollen_logo.jpg
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/schema-architecture.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/ui/DC_UIOs.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/ui/chart.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/ui/dateTimeField.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/ui/feedBack.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/ui/topCount.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/ui/topCreation.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/ui/topIndex.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/ui/topVote.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/votecounting/DC_ServiceExport.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/votecounting/DC_ServiceExportImpl.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/votecounting/DC_ServiceExportXML.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/votecounting/DC_ServiceVoteCounting.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/votecounting/DC_ServiceVoteCountingImpl.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/votecounting/DC_VoteCountingDTOs.png
branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/votecounting/Seq-executeVoteCounting.png
branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Capture-1.png
branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Capture-2.png
branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Capture-3.png
branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Capture-4.png
branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Capture-5.png
branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Capture-6.png
branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Capture.png
branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Creation-links.png
branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Creation-step1.png
branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Creation-step2.png
branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Creation-step3.png
branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Creation-step4.png
branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Results.png
branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Vote.png
branches/pollen-2.0-beta-1/src/site/fr/resources/votingList.png
branches/pollen-2.0-beta-1/src/site/fr/rst/analyse.rst
branches/pollen-2.0-beta-1/src/site/fr/rst/architecture.rst
branches/pollen-2.0-beta-1/src/site/fr/rst/assentiment.rst
branches/pollen-2.0-beta-1/src/site/fr/rst/business-rules.rst
branches/pollen-2.0-beta-1/src/site/fr/rst/business.rst
branches/pollen-2.0-beta-1/src/site/fr/rst/condorcet.rst
branches/pollen-2.0-beta-1/src/site/fr/rst/depouillement.rst
branches/pollen-2.0-beta-1/src/site/fr/rst/developer.rst
branches/pollen-2.0-beta-1/src/site/fr/rst/historique.rst
branches/pollen-2.0-beta-1/src/site/fr/rst/importVotersList.rst
branches/pollen-2.0-beta-1/src/site/fr/rst/index.rst
branches/pollen-2.0-beta-1/src/site/fr/rst/install.rst
branches/pollen-2.0-beta-1/src/site/fr/rst/nombre.rst
branches/pollen-2.0-beta-1/src/site/fr/rst/pourcentage.rst
branches/pollen-2.0-beta-1/src/site/fr/rst/tutoriel.rst
branches/pollen-2.0-beta-1/src/site/fr/rst/ui.rst
branches/pollen-2.0-beta-1/src/site/fr/rst/user.rst
branches/pollen-2.0-beta-1/src/site/fr/rst/votecounting.rst
branches/pollen-2.0-beta-1/src/site/resources/createVotingList.png
branches/pollen-2.0-beta-1/src/site/resources/pollen.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/CreerSondage.jpg
branches/pollen-2.0-beta-1/src/site/resources/schemas/CreerSondage2.jpg
branches/pollen-2.0-beta-1/src/site/resources/schemas/DC_Pollen.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/DC_PreventRules.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/DET_PollState.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/Depouiller.jpg
branches/pollen-2.0-beta-1/src/site/resources/schemas/Depouiller_1a.jpg
branches/pollen-2.0-beta-1/src/site/resources/schemas/UC_Gestiondesvotes.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/Voter.jpg
branches/pollen-2.0-beta-1/src/site/resources/schemas/business/DC_BusinessDTOs.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/business/DC_DBUtil.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/business/DC_ServicePoll.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/business/DC_ServiceResults.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/business/DC_ServiceUser.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/business/DC_ServiceVote.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/business/DS_Conception_CreerSondage.jpg
branches/pollen-2.0-beta-1/src/site/resources/schemas/composants.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/packages.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/pollen_logo.jpg
branches/pollen-2.0-beta-1/src/site/resources/schemas/schema-architecture.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/ui/DC_UIOs.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/ui/chart.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/ui/dateTimeField.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/ui/feedBack.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/ui/topCount.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/ui/topCreation.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/ui/topIndex.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/ui/topVote.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/votecounting/DC_ServiceExport.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/votecounting/DC_ServiceExportImpl.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/votecounting/DC_ServiceExportXML.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/votecounting/DC_ServiceVoteCounting.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/votecounting/DC_ServiceVoteCountingImpl.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/votecounting/DC_VoteCountingDTOs.png
branches/pollen-2.0-beta-1/src/site/resources/schemas/votecounting/Seq-executeVoteCounting.png
branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Capture-1.png
branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Capture-2.png
branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Capture-3.png
branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Capture-4.png
branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Capture-5.png
branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Capture-6.png
branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Capture.png
branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Creation-links.png
branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Creation-step1.png
branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Creation-step2.png
branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Creation-step3.png
branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Creation-step4.png
branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Results.png
branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Vote.png
branches/pollen-2.0-beta-1/src/site/resources/votingList.png
branches/pollen-2.0-beta-1/src/site/rst/analyse.rst
branches/pollen-2.0-beta-1/src/site/rst/approval.rst
branches/pollen-2.0-beta-1/src/site/rst/architecture.rst
branches/pollen-2.0-beta-1/src/site/rst/business.rst
branches/pollen-2.0-beta-1/src/site/rst/condorcet.rst
branches/pollen-2.0-beta-1/src/site/rst/developer.rst
branches/pollen-2.0-beta-1/src/site/rst/historical.rst
branches/pollen-2.0-beta-1/src/site/rst/importVotersList.rst
branches/pollen-2.0-beta-1/src/site/rst/index.rst
branches/pollen-2.0-beta-1/src/site/rst/install.rst
branches/pollen-2.0-beta-1/src/site/rst/methods.rst
branches/pollen-2.0-beta-1/src/site/rst/number.rst
branches/pollen-2.0-beta-1/src/site/rst/percentage.rst
branches/pollen-2.0-beta-1/src/site/rst/tutoriel.rst
branches/pollen-2.0-beta-1/src/site/rst/ui.rst
branches/pollen-2.0-beta-1/src/site/rst/user.rst
branches/pollen-2.0-beta-1/src/site/rst/votecounting.rst
branches/pollen-2.0-beta-1/src/site/site_en.xml
branches/pollen-2.0-beta-1/src/site/site_fr.xml
branches/pollen-2.0-beta-1/todo.txt
branches/pollen-2.0-beta-1/v2
Property changes on: branches/pollen-2.0-beta-1/LICENSE.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/README.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/changelog.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/doc/2010-08-21_todo_v2.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/doc/ALMA-PFE-2009/Analyse.odt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/doc/ALMA-PFE-2009/Architecture.odt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/doc/ALMA-PFE-2009/Conception.odt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/doc/ALMA-PFE-2009/Gestion projet.odt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/doc/ALMA-PFE-2009/Infrastructure.odt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/doc/ALMA-PFE-2009/pollen-slides.odp
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/doc/Stage-2009/rapportRannou.odt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/doc/presentation-2010-03-11/Creation_choix.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/doc/presentation-2010-03-11/Creation_infos.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/doc/presentation-2010-03-11/Creation_liens.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/doc/presentation-2010-03-11/Creation_options.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/doc/presentation-2010-03-11/Presentation-Pollen.odp
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/doc/presentation-2010-03-11/Resultats.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/doc/presentation-2010-03-11/Vote_condorcet.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/doc/presentation-2010-03-11/Vote_nombre.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/doc/presentation-2010-03-11/Vote_pourcentage.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/doc/presentation-2010-03-11/plan
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/LICENSE.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/README.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/changelog.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/doc/PollenBusiness.zargo
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-business/doc/ServicePoll.zargo
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-business/doc/ServiceResults.zargo
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-business/doc/ServiceUser.zargo
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-business/doc/ServiceVote.zargo
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-business/pom.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/license/THIRD-PARTY.properties
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/PollenBusinessException.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/PollenContext.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/PollenContextImpl.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/PollenException.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/PollenProperty.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/PollenUtils.java
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/bean/PollenEmailImpl.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/bean/UserPollImpl.java
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/entity/ChoiceImpl.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/entity/FavoriteListImpl.java
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/entity/FavoriteParticipantDAOImpl.java
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/entity/FavoriteParticipantImpl.java
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/entity/ParticipantHelper.java
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/entity/PollAccountDAOImpl.java
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/entity/PollAccountImpl.java
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/entity/PollDAOImpl.java
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/entity/PollImpl.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/entity/UserAccountImpl.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/entity/VoteImpl.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/mail/BackgroundWorker.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/mail/BackgroundWorkerImpl.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/mail/MailUtil.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/mail/PreventRuleManager.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/mail/SendMail.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/service/ServiceEmailImpl.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/service/ServiceFavoriteImpl.java
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/service/ServicePollImpl.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/service/ServiceUserImpl.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/java/org/chorem/pollen/service/ServiceVoteImpl.java
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/resources/i18n/pollen-business_en_GB.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/resources/i18n/pollen-business_fr_FR.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/resources/log4j.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/resources/pollen.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/xmi/pollen.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/main/xmi/pollen.zargo
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/test/java/org/chorem/pollen/service/ServiceFavoriteImplTest.java
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/test/java/org/chorem/pollen/service/ServicePollImplTest.java
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/test/java/org/chorem/pollen/service/ServiceUserImplTest.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/test/java/org/chorem/pollen/service/ServiceVoteImplTest.java
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/test/java/org/chorem/pollen/test/AbstractServiceTest.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/test/resources/PollenTest.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/test/resources/largemaillist.sh
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-business/src/test/resources/log4j.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/LICENSE.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/README.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/changelog.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/doc/exportXML.zargo
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/doc/votecountingapi.zargo
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: branches/pollen-2.0-beta-1/pollen-domain/pom.xml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/pom.xml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/pom.xml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,49 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
-<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>
+ <modelVersion>4.0.0</modelVersion>
- <!-- ************************************************************* -->
- <!-- *** POM Relationships *************************************** -->
- <!-- ************************************************************* -->
+ <parent>
+ <groupId>org.chorem</groupId>
+ <artifactId>pollen</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ </parent>
- <parent>
- <groupId>org.chorem</groupId>
- <artifactId>pollen</artifactId>
- <version>2.0-SNAPSHOT</version>
- </parent>
-
- <groupId>org.chorem.pollen</groupId>
- <artifactId>pollen-votecounting</artifactId>
+ <groupId>org.chorem.pollen</groupId>
+ <artifactId>pollen-domain</artifactId>
- <dependencies>
+ <dependencies>
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jdom</groupId>
- <artifactId>jdom</artifactId>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jdom</groupId>
+ <artifactId>jdom</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
- </dependencies>
+ </dependencies>
- <!-- ************************************************************* -->
- <!-- *** Project Information ************************************* -->
- <!-- ************************************************************* -->
+ <name>Pollen :: Domain</name>
+ <description>Service de dépouillement</description>
- <name>Pollen :: Vote Counting</name>
- <description>Service de dépouillement</description>
-
- <!-- ************************************************************* -->
- <!-- *** Build Settings ****************************************** -->
- <!-- ************************************************************* -->
-
- <packaging>jar</packaging>
-
</project>
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/pom.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/license/THIRD-PARTY.properties
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/common/ChoiceType.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/common/ChoiceType.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/common/ChoiceType.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/common/ChoiceType.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/common/PollType.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/common/PollType.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/common/PollType.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/common/PollType.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/common/VoteCountingType.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/common/VoteCountingType.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/common/VoteCountingType.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/common/VoteCountingType.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/Choice.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/business/Choice.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/Choice.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/Choice.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/CondorcetMethod.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/business/CondorcetMethod.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/CondorcetMethod.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/CondorcetMethod.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/Context.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/business/Context.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/Context.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/Context.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/Group.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/business/Group.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/Group.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/Group.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/Method.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/business/Method.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/Method.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/Method.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/NumberMethod.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/business/NumberMethod.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/NumberMethod.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/NumberMethod.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Id Revision HeadURL
+ Author Date Id Revision HeadURL
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/PercentageMethod.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/business/PercentageMethod.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/PercentageMethod.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/PercentageMethod.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/StandardMethod.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/business/StandardMethod.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/StandardMethod.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/StandardMethod.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/Vote.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/business/Vote.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/Vote.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/Vote.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/package-info.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/business/package-info.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/package-info.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/business/package-info.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/ChoiceDTO.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/dto/ChoiceDTO.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/ChoiceDTO.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/ChoiceDTO.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/CommentDTO.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/dto/CommentDTO.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/CommentDTO.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/CommentDTO.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/PollChoiceDTO.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/dto/PollChoiceDTO.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/PollChoiceDTO.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/PollChoiceDTO.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/PollDTO.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/dto/PollDTO.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/PollDTO.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/PollDTO.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/PollExportDTO.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/dto/PollExportDTO.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/PollExportDTO.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/PollExportDTO.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/VoteCountingResultDTO.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/dto/VoteCountingResultDTO.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/VoteCountingResultDTO.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/VoteCountingResultDTO.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/VoteToChoiceDTO.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/dto/VoteToChoiceDTO.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/VoteToChoiceDTO.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/VoteToChoiceDTO.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/VotingGroupDTO.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/dto/VotingGroupDTO.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/VotingGroupDTO.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/VotingGroupDTO.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/VotingPersonDTO.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/dto/VotingPersonDTO.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/VotingPersonDTO.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/VotingPersonDTO.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/package-info.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/dto/package-info.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/package-info.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/dto/package-info.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/services/ServiceExport.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/services/ServiceExport.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/services/ServiceExport.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/services/ServiceExport.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/services/ServiceExportImpl.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/services/ServiceExportImpl.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/services/ServiceExportImpl.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/services/ServiceExportImpl.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/services/ServiceVoteCounting.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/services/ServiceVoteCounting.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/services/ServiceVoteCounting.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/services/ServiceVoteCounting.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/services/ServiceVoteCountingImpl.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/services/ServiceVoteCountingImpl.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/services/ServiceVoteCountingImpl.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/services/ServiceVoteCountingImpl.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/services/package-info.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/services/package-info.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/services/package-info.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/services/package-info.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/utils/ListBehavior.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/utils/ListBehavior.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/utils/ListBehavior.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/utils/ListBehavior.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/utils/PercentageBehavior.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/utils/PercentageBehavior.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/utils/PercentageBehavior.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/utils/PercentageBehavior.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/utils/Utils.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/utils/Utils.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/utils/Utils.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/utils/Utils.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/utils/package-info.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/java/org/chorem/pollen/votecounting/utils/package-info.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/utils/package-info.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/java/org/chorem/pollen/votecounting/utils/package-info.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/main/resources/log4j.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/main/resources/log4j.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/main/resources/log4j.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
###
# #%L
-# Pollen :: Vote Counting
+# Pollen :: Domain
#
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/main/resources/log4j.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/test/java/org/chorem/pollen/votecounting/business/services/PollDTOCreator.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/test/java/org/chorem/pollen/votecounting/business/services/PollDTOCreator.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/test/java/org/chorem/pollen/votecounting/business/services/PollDTOCreator.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/test/java/org/chorem/pollen/votecounting/business/services/PollDTOCreator.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/test/java/org/chorem/pollen/votecounting/business/services/PollDTOCreatorVoteCounting.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/test/java/org/chorem/pollen/votecounting/business/services/PollDTOCreatorVoteCounting.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/test/java/org/chorem/pollen/votecounting/business/services/PollDTOCreatorVoteCounting.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/test/java/org/chorem/pollen/votecounting/business/services/PollDTOCreatorVoteCounting.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-domain/src/test/java/org/chorem/pollen/votecounting/business/services/ServiceVoteCountingImplTest.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-votecounting/src/test/java/org/chorem/pollen/votecounting/business/services/ServiceVoteCountingImplTest.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-domain/src/test/java/org/chorem/pollen/votecounting/business/services/ServiceVoteCountingImplTest.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,11 +1,11 @@
/*
* #%L
- * Pollen :: Vote Counting
+ * Pollen :: Domain
*
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-domain/src/test/java/org/chorem/pollen/votecounting/business/services/ServiceVoteCountingImplTest.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence
___________________________________________________________________
Added: svn:ignore
+ target
*.ipr
*.iws
*.iml
*.log
Added: branches/pollen-2.0-beta-1/pollen-persistence/LICENSE.txt
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/LICENSE.txt (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/LICENSE.txt 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence/LICENSE.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-persistence/README.txt
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/README.txt (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/README.txt 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,5 @@
+POLLEN BUSINESS
+---------------
+
+Pollen Business est le module qui assure la partie m�tier de Pollen.
+Il g�re la persistence des donn�es en base et d�fini des services.
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence/README.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-persistence/changelog.txt
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/changelog.txt (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/changelog.txt 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,4 @@
+ChangeLog
+
+1.0.0
+- initiale release
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence/changelog.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-persistence/pom.xml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/pom.xml (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/pom.xml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+
+ <!-- ************************************************************* -->
+ <!-- *** POM Relationships *************************************** -->
+ <!-- ************************************************************* -->
+
+ <parent>
+ <groupId>org.chorem</groupId>
+ <artifactId>pollen</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.chorem.pollen</groupId>
+ <artifactId>pollen-persistence</artifactId>
+
+ <dependencies>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>pollen-domain</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-email</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.mail</groupId>
+ <artifactId>mail</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.nuiton</groupId>
+ <artifactId>nuiton-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.nuiton.i18n</groupId>
+ <artifactId>nuiton-i18n</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.opencsv</groupId>
+ <artifactId>opencsv</artifactId>
+ </dependency>
+ <!-- <dependency>
+ <groupId>org.chorem</groupId>
+ <artifactId>chorem-commons</artifactId>
+ </dependency>-->
+ <dependency>
+ <groupId>org.nuiton.topia</groupId>
+ <artifactId>topia-persistence</artifactId>
+ </dependency>
+ <!--dependency>
+ <groupId>org.nuiton.topia</groupId>
+ <artifactId>topia-service-migration</artifactId>
+ </dependency-->
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <!--dependency>
+ <groupId>postgresql</groupId>
+ <artifactId>postgresql</artifactId>
+ </dependency-->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ </dependency>
+ </dependencies>
+
+ <!-- ************************************************************* -->
+ <!-- *** Project Information ************************************* -->
+ <!-- ************************************************************* -->
+
+ <name>Pollen :: Persistence</name>
+ <description>Pollen Persistence Layer</description>
+
+ <build>
+
+ <plugins>
+
+ <!-- Plug in Topia -->
+ <plugin>
+ <groupId>org.nuiton.eugene</groupId>
+ <artifactId>maven-eugene-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>generate-sources</phase>
+ <id>generate-entities</id>
+ <!-- By default, generation from ObjectModel -->
+ <configuration>
+ <!-- Corresponding to extracted package from zargo file -->
+ <fullPackagePath>org.chorem.pollen</fullPackagePath>
+ <!-- DefaultPackage used for DAOHelper generation -->
+ <defaultPackage>org.chorem.pollen</defaultPackage>
+ <templates>
+ org.nuiton.topia.generator.TopiaMetaTransformer,
+ org.nuiton.eugene.java.JavaInterfaceTransformer,
+ org.nuiton.topia.generator.BinderHelperTransformer,
+ org.nuiton.topia.generator.QueryHelperTransformer
+ </templates>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>org.nuiton.topia</groupId>
+ <artifactId>topia-persistence</artifactId>
+ <version>${topiaVersion}</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.nuiton</groupId>
+ <artifactId>nuiton-utils</artifactId>
+ <version>${nuitonUtilsVersion}</version>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+ </plugin>
+ <plugin>
+ <groupId>org.nuiton.i18n</groupId>
+ <artifactId>maven-i18n-plugin</artifactId>
+ <executions>
+ <execution>
+ <configuration>
+ <entries>
+ <entry>
+ <basedir>${maven.gen.dir}/java</basedir>
+ </entry>
+ </entries>
+ </configuration>
+ <goals>
+ <goal>parserJava</goal>
+ <goal>gen</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
+
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence/pom.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-persistence/src/license/THIRD-PARTY.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/src/license/THIRD-PARTY.properties (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/src/license/THIRD-PARTY.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,25 @@
+# Generated by org.nuiton.license.plugin.AddThirdPartyMojo
+#-------------------------------------------------------------------------------
+# Already used licenses in project :
+# - Apache 2
+# - BSD License
+# - COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
+# - Common Development and Distribution License (CDDL) v1.0
+# - Common Public License Version 1.0
+# - GNU Lesser General Public License
+# - Lesser General Public License (LGPL) v 2.1
+# - Lesser General Public License (LGPL) v 3.0
+# - MIT License
+# - The Apache Software License, Version 2.0
+# - The H2 License, Version 1.0
+#-------------------------------------------------------------------------------
+# Please fill the missing licenses for dependencies :
+#
+#
+#Sun Nov 21 23:38:07 CET 2010
+antlr--antlr--2.7.6--jar=BSD License
+commons-primitives--commons-primitives--1.0--jar=The Apache Software License, Version 2.0
+dom4j--dom4j--1.6.1--jar=BSD License
+javassist--javassist--3.8.0.GA--jar=Lesser General Public License (LGPL) v 2.1
+javax.transaction--jta--1.1--jar=COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
+org.jdom--jdom--1.1--jar=Lesser General Public License (LGPL) v 3.0
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence/src/license/THIRD-PARTY.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenBusinessException.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenBusinessException.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenBusinessException.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,123 @@
+/*
+ * #%L
+ * Pollen :: Persistence
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen;
+
+import static org.nuiton.i18n.I18n.n_;
+
+/**
+ * PollenBusinessException
+ * <p/>
+ * Created: 24 févr. 2010
+ *
+ * @author fdesbois
+ * @version $Revision$
+ * <p/>
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+public class PollenBusinessException extends Exception {
+
+ private static final long serialVersionUID = 1L;
+
+ protected PollenExceptionType type;
+
+ protected Object[] args;
+
+ public PollenBusinessException(PollenExceptionType type, Object... args) {
+ super(type.getMessage());
+ this.args = args;
+ this.type = type;
+ }
+
+ public PollenBusinessException(Throwable exception,
+ PollenExceptionType type, Object... args) {
+ super(type.getMessage(), exception);
+ this.args = args;
+ this.type = type;
+ }
+
+ public enum PollenExceptionType {
+
+ /** Exception when poll is not found in data * */
+ POLL_NOT_EXIST(n_("pollen.exception.poll_not_exist")),
+ /** Exception when user login exists in data * */
+ USER_LOGIN_EXIST(n_("pollen.exception.user_login_exist")),
+ /** Exception when user email exists in data * */
+ USER_EMAIL_EXIST(n_("pollen.exception.user_email_exist")),
+ /** Exception when user is not found in data * */
+ USER_NOT_EXIST(n_("pollen.exception.user_not_exist")),
+ /** Exception when password is not valid for some user * */
+ USER_WRONG_PASSWORD(n_("pollen.exception.user_wrong_password")),
+ /** Exception when stmp server is not available * */
+ SMTP_NOT_AVAILABLE(n_("pollen.exception.smtp_not_available")),
+ /** Exception when favorite list name is already defined for user * */
+ FAVORITE_LIST_NAME_EXIST(
+ n_("pollen.exception.favorite_list_name_exist")),
+ /**
+ * Exception when participant name ($2) and email ($3) are already
+ * defined for the current list ($1).
+ */
+ PARTICIPANT_EXIST(n_("pollen.exception.participant_exist")),
+
+ /**
+ * Exception when favorite participant name ($2) with no email is
+ * already defined for the current list ($1).
+ */
+ PARTICIPANT_EXIST_WITHOUT_EMAIL(
+ n_("pollen.exception.participant_exist_without_email")),
+ /** Exception when poll already exist at creation * */
+ POLL_EXIST(n_("pollen.exception.poll_exist")),
+ /**
+ * Exception when doubloons ($2) are found when adding participants in a
+ * list ($1).
+ */
+ PARTICIPANT_DOUBLOONS(n_("pollen.exception.participant_doubloons")),
+ /**
+ * Exception when doubloon are found on vote name ($1)
+ */
+ VOTE_DOUBLOON(n_("pollen.exception.vote_doubloon")),
+ /**
+ * Exception when participant with uid ($1) can't vote
+ */
+ VOTE_NOT_ALLOWED(n_("pollen.exception.vote_not_allowed"));
+
+ private String message;
+
+ PollenExceptionType(String message) {
+ this.message = message;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+ }
+
+ public Object[] getArgs() {
+ return args;
+ }
+
+ public PollenExceptionType getType() {
+ return type;
+ }
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenBusinessException.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenConfiguration.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenConfiguration.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenConfiguration.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,267 @@
+/*
+ * #%L
+ * EchoBase :: Services
+ *
+ * $Id: EchoBaseConfiguration.java 282 2012-01-15 21:30:41Z tchemit $
+ * $HeadURL: http://svn.forge.codelutin.com/svn/echobase/trunk/echobase-entities/src/mai… $
+ * %%
+ * Copyright (C) 2011 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen;
+
+import com.google.common.base.Preconditions;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.util.ApplicationConfig;
+import org.nuiton.util.ArgumentsParserException;
+import org.nuiton.util.FileUtil;
+import org.nuiton.util.Version;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Properties;
+
+/**
+ * EchoBase configuration.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.1
+ */
+public class PollenConfiguration {
+
+ /** Logger. */
+ protected static final Log log =
+ LogFactory.getLog(PollenConfiguration.class);
+
+ /** Delegate application config object containing configuration. */
+ protected ApplicationConfig applicationConfig;
+
+ public PollenConfiguration() {
+ this("pollen.properties");
+ }
+
+ public PollenConfiguration(String file) {
+
+ applicationConfig = new ApplicationConfig();
+ applicationConfig.setConfigFileName(file);
+
+ if (log.isInfoEnabled()) {
+ log.info(this + " is initializing...");
+ }
+ try {
+ applicationConfig.loadDefaultOptions(PollenConfigurationOption.class);
+ applicationConfig.parse();
+ } catch (ArgumentsParserException e) {
+ throw new PollenTechnicalException(
+ "Could not parse configuration", e);
+ }
+
+ createDirectory(PollenConfigurationOption.EMAIL_DIR);
+ createDirectory(PollenConfigurationOption.FEED_DIR);
+ createDirectory(PollenConfigurationOption.IMG_DIR);
+
+ if (log.isDebugEnabled()) {
+ log.debug("parsed options in config file" + applicationConfig.getOptions());
+ }
+ }
+
+ public String getAdminLogin() {
+ String result = applicationConfig.getOption(
+ PollenConfigurationOption.ADMIN_LOGIN.key);
+ return result;
+ }
+
+ public String getAdminPassword() {
+ String result = applicationConfig.getOption(
+ PollenConfigurationOption.ADMIN_PASSWORD.key);
+ return result;
+ }
+
+ public String getAdminEmail() {
+ String result = applicationConfig.getOption(
+ PollenConfigurationOption.ADMIN_EMAIL.key);
+ return result;
+ }
+
+ public String getContactEmail() {
+ String result = applicationConfig.getOption(
+ PollenConfigurationOption.CONTACT_EMAIL.key);
+ return result;
+ }
+
+ public String getEmailHost() {
+ String result = applicationConfig.getOption(
+ PollenConfigurationOption.EMAIL_HOST.key);
+ return result;
+ }
+
+ public int getEmailPort() {
+ int result = applicationConfig.getOptionAsInt(
+ PollenConfigurationOption.EMAIL_PORT.key);
+ return result;
+ }
+
+ public String getEmailFrom() {
+ String result = applicationConfig.getOption(
+ PollenConfigurationOption.EMAIL_FROM.key);
+ return result;
+ }
+
+ public File getEmailDirectory() {
+ File result = applicationConfig.getOptionAsFile(
+ PollenConfigurationOption.EMAIL_DIR.key);
+ return result;
+ }
+
+ public File getFeedDirectory() {
+ File result = applicationConfig.getOptionAsFile(
+ PollenConfigurationOption.FEED_DIR.key);
+ return result;
+ }
+
+ public File getImageDirectory() {
+ File result = applicationConfig.getOptionAsFile(
+ PollenConfigurationOption.IMG_DIR.key);
+ return result;
+ }
+
+ public int getNbVotesPerPage() {
+ int result = applicationConfig.getOptionAsInt(
+ PollenConfigurationOption.NB_VOTES_PER_PAGE.key);
+ return result;
+ }
+
+ public String getCharset() {
+ String result = applicationConfig.getOption(
+ PollenConfigurationOption.CHARSET.key);
+ return result;
+ }
+
+ public Version getVersion() {
+ Version result = applicationConfig.getOptionAsVersion(
+ PollenConfigurationOption.VERSION.key);
+ return result;
+ }
+
+ public void setAdminLogin(String adminLogin) {
+ applicationConfig.setOption(
+ PollenConfigurationOption.ADMIN_LOGIN.key, adminLogin);
+ }
+
+ public void setAdminPassword(String adminPassword) {
+ applicationConfig.setOption(
+ PollenConfigurationOption.ADMIN_PASSWORD.key, adminPassword);
+ }
+
+ public void setAdminEmail(String adminEmail) {
+ applicationConfig.setOption(
+ PollenConfigurationOption.ADMIN_EMAIL.key, adminEmail);
+ }
+
+ public void setContactEmail(String contactEmail) {
+ applicationConfig.setOption(
+ PollenConfigurationOption.CONTACT_EMAIL.key, contactEmail);
+ }
+
+ public void setEmailHost(String emailHost) {
+ applicationConfig.setOption(
+ PollenConfigurationOption.EMAIL_HOST.key, emailHost);
+ }
+
+ public void setEmailPort(int emailPort) {
+ applicationConfig.setOption(
+ PollenConfigurationOption.EMAIL_PORT.key, String.valueOf(emailPort));
+ }
+
+ public void setEmailFrom(String emailFrom) {
+ applicationConfig.setOption(
+ PollenConfigurationOption.EMAIL_FROM.key, emailFrom);
+ }
+
+ public void setEmailDirectory(File emailDirectory) {
+ applicationConfig.setOption(
+ PollenConfigurationOption.EMAIL_DIR.key,
+ emailDirectory.getAbsolutePath());
+ }
+
+ public void setFeedDirectory(File feedDirectory) {
+ applicationConfig.setOption(
+ PollenConfigurationOption.FEED_DIR.key,
+ feedDirectory.getAbsolutePath());
+ }
+
+ public void setImageDirectory(File imageDirectory) {
+ applicationConfig.setOption(
+ PollenConfigurationOption.IMG_DIR.key,
+ imageDirectory.getAbsolutePath());
+ }
+
+ public void setNbVotesPerPage(int nbVotesPerPage) {
+ applicationConfig.setOption(
+ PollenConfigurationOption.NB_VOTES_PER_PAGE.key,
+ String.valueOf(nbVotesPerPage));
+ }
+
+ public void setCharset(String charset) {
+ applicationConfig.setOption(
+ PollenConfigurationOption.CHARSET.key, charset);
+ }
+
+
+ @Override
+ public String toString() {
+ return ReflectionToStringBuilder.toString(this);
+ }
+
+ public Properties getProperties() {
+ Properties result = applicationConfig.getFlatOptions();
+ return result;
+ }
+
+ public boolean getOptionAsBoolean(String propertyName) {
+ Boolean result = applicationConfig.getOptionAsBoolean(propertyName);
+ return result != null && result;
+ }
+
+ /**
+ * Creates a directory given the configuration given key.
+ *
+ * @param key the configuration option key which contains the location of
+ * the directory to create
+ */
+ private void createDirectory(PollenConfigurationOption key) {
+
+ File directory = applicationConfig.getOptionAsFile(key.getKey());
+
+ Preconditions.checkNotNull(
+ directory,
+ "Could not find directory " + directory + " (key " +
+ key +
+ "in your configuration file named echobase.properties)"
+ );
+ if (log.isInfoEnabled()) {
+ log.info(key + " = " + directory);
+ }
+ try {
+ FileUtil.createDirectoryIfNecessary(directory);
+ } catch (IOException e) {
+ throw new PollenTechnicalException(
+ "Could not create directory " + directory, e);
+ }
+ }
+}
Added: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenConfigurationOption.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenConfigurationOption.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenConfigurationOption.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,133 @@
+/*
+ * #%L
+ * EchoBase :: Entities
+ *
+ * $Id: EchoBaseConfigurationOption.java 116 2011-11-24 23:06:43Z tchemit $
+ * $HeadURL: http://svn.forge.codelutin.com/svn/echobase/trunk/echobase-entities/src/mai… $
+ * %%
+ * Copyright (C) 2011 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen;
+
+import org.nuiton.util.ApplicationConfig;
+import org.nuiton.util.Version;
+
+import java.io.File;
+import java.net.URL;
+
+/**
+ * All EchoBase configuration options.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.1
+ */
+public enum PollenConfigurationOption implements ApplicationConfig.OptionDef {
+
+ /** login for default admin. */
+ ADMIN_LOGIN("adminLogin", "login for default admin", "admin", String.class),
+ /** password for default admin. */
+ ADMIN_PASSWORD("adminPassword", "password for default admin", "pollen", String.class),
+ /** email for default admin. */
+ ADMIN_EMAIL("adminEmail", "email for default admin", "admin(a)domain.com", String.class),
+ /** email for contact link. */
+ CONTACT_EMAIL(ADMIN_EMAIL.getKey(), "email for contact link", "", String.class),
+ /** host for email sending configuration. */
+ EMAIL_HOST("email_host", "host for email sending configuration", "smtp", String.class),
+ /** port for email sending configuration. */
+ EMAIL_PORT("email_port", "port for email sending configuration", "25", String.class),
+ /** from for email sending configuration. */
+ EMAIL_FROM("email_from", "from for email sending configuration", "bot(a)pollen.org", String.class),
+ /** directory to store emails before sending them. */
+ EMAIL_DIR("pollen.emails.directory", "directory to store emails before sending them", "${HOME}/.pollen/emails", File.class),
+ /** path for feed directory. */
+ FEED_DIR("feedDir", "path for feed directory", "${HOME}/.pollen/feeds", File.class),
+ /** path for uploaded images directory. */
+ IMG_DIR("upImgDir", "path for uploaded images directory", "${HOME}/.pollen/uploadedImages", File.class),
+ /** nb votes to display per page. */
+ NB_VOTES_PER_PAGE("pollen.ui.nbVotesPerPage", "nb votes to display per page", "25", int.class),
+ /** Charset of Pollen. */
+ CHARSET("pollen.charset", "Charset of Pollen", "UTF-8", String.class),
+ /** Pollen version. */
+ VERSION("pollen.version", "Version de l'application", "", Version.class);
+
+ /** Configuration key. */
+ protected final String key;
+
+ /** I18n key of option description */
+ protected final String description;
+
+ /** Type of option */
+ protected final Class<?> type;
+
+ /** Default value of option. */
+ protected String defaultValue;
+
+ PollenConfigurationOption(String key,
+ String description,
+ String defaultValue,
+ Class<?> type) {
+ this.key = key;
+ this.description = description;
+ this.defaultValue = defaultValue;
+ this.type = type;
+ }
+
+ @Override
+ public String getKey() {
+ return key;
+ }
+
+ @Override
+ public Class<?> getType() {
+ return type;
+ }
+
+ @Override
+ public String getDescription() {
+ return description;
+ }
+
+ @Override
+ public String getDefaultValue() {
+ return defaultValue;
+ }
+
+ @Override
+ public boolean isTransient() {
+ return true;
+ }
+
+ @Override
+ public boolean isFinal() {
+ return true;
+ }
+
+ @Override
+ public void setDefaultValue(String defaultValue) {
+ this.defaultValue = defaultValue;
+ }
+
+ @Override
+ public void setTransient(boolean newValue) {
+ // not used
+ }
+
+ @Override
+ public void setFinal(boolean newValue) {
+ // not used
+ }
+}
Added: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenException.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenException.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenException.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,62 @@
+/*
+ * #%L
+ * Pollen :: Persistence
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen;
+
+
+
+public class PollenException extends RuntimeException {
+
+ protected Object[] args;
+ /**
+ * PollenException :
+ * @param eee
+ * @param message
+ * @param args
+ */
+
+ public PollenException(String message, Throwable eee, Object... args) {
+ super(message, eee);
+ this.args = args;
+ }
+
+ /**
+ * getArgs :
+ * @return Object[]
+ */
+
+ public Object[] getArgs() {
+ return args;
+ }
+
+ /**
+ * hasArgs :
+ * @return boolean
+ */
+
+ public boolean hasArgs() {
+ return args.length > 0;
+ }
+
+
+} //PollenException
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenException.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenTechnicalException.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenTechnicalException.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenTechnicalException.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,48 @@
+/*
+ * #%L
+ * EchoBase :: Entities
+ *
+ * $Id: EchoBaseTechnicalException.java 19 2011-11-08 08:56:23Z tchemit $
+ * $HeadURL: http://svn.forge.codelutin.com/svn/echobase/trunk/echobase-entities/src/mai… $
+ * %%
+ * Copyright (C) 2011 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen;
+
+/**
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.1
+ */
+public class PollenTechnicalException extends RuntimeException {
+
+ private static final long serialVersionUID = 1L;
+
+ public PollenTechnicalException() {
+ }
+
+ public PollenTechnicalException(String message) {
+ super(message);
+ }
+
+ public PollenTechnicalException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public PollenTechnicalException(Throwable cause) {
+ super(cause);
+ }
+}
Added: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenTopiaRootContextSupplierFactory.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenTopiaRootContextSupplierFactory.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/PollenTopiaRootContextSupplierFactory.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,141 @@
+/*
+ * #%L
+ * Extranet NF-Logement :: Entities
+ *
+ * $Id: EchoBaseTopiaRootContextSupplierFactory.java 114 2011-11-24 13:31:55Z sletellier $
+ * $HeadURL: http://svn.forge.codelutin.com/svn/echobase/trunk/echobase-entities/src/mai… $
+ * %%
+ * Copyright (C) 2011 Cerqual
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen;
+
+import com.google.common.base.Supplier;
+import com.google.common.collect.Sets;
+import com.google.common.io.Closeables;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaContextFactory;
+import org.nuiton.topia.TopiaNotFoundException;
+import org.nuiton.topia.TopiaRuntimeException;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+import java.util.Set;
+
+/**
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.1
+ */
+public class PollenTopiaRootContextSupplierFactory {
+
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(PollenTopiaRootContextSupplierFactory.class);
+
+ protected static class PollenTopiaRootContextSupplier implements Supplier<TopiaContext> {
+
+ protected TopiaContext rootContext;
+
+ public PollenTopiaRootContextSupplier(TopiaContext rootContext) {
+ this.rootContext = rootContext;
+ }
+
+ @Override
+ public TopiaContext get() {
+ return rootContext;
+ }
+ }
+
+ public Supplier<TopiaContext> newEmbeddedDatabase(File dir, String configPath) {
+
+ File databaseFile = new File(dir, "db");
+
+ String databaseAbsolutePath = databaseFile.getAbsolutePath();
+
+ // prepare call to topia-context factory
+ Properties properties = new Properties();
+ InputStream input = null;
+ try {
+ input = getClass().getResourceAsStream(configPath);
+ properties.load(input);
+ } catch (IOException e) {
+ throw new PollenTechnicalException(e);
+ } finally {
+ Closeables.closeQuietly(input);
+ }
+ properties.setProperty(
+ TopiaContextFactory.CONFIG_URL,
+ "jdbc:h2:file:" + databaseAbsolutePath + "/pollen");
+
+ // add entities to the context
+ properties.setProperty(
+ TopiaContextFactory.CONFIG_PERSISTENCE_CLASSES,
+ PollenDAOHelper.getImplementationClassesAsString());
+
+ TopiaContext rootContext;
+ try {
+ rootContext = TopiaContextFactory.getContext(properties);
+ } catch (TopiaNotFoundException e) {
+ throw new TopiaRuntimeException(e);
+ }
+
+ if (log.isDebugEnabled()) {
+ log.debug("will output database in " + databaseAbsolutePath);
+ }
+
+ return new PollenTopiaRootContextSupplier(rootContext);
+ }
+
+ public Supplier<TopiaContext> newDatabaseFromConfig(PollenConfiguration config) {
+
+ Properties properties = config.getProperties();
+
+ return newDatabaseFromProperties(properties);
+ }
+
+ public Supplier<TopiaContext> newDatabaseFromProperties(Properties properties) {
+
+ if (log.isDebugEnabled()) {
+ log.debug("Database settings are :");
+ Set<String> keysToDisplay = Sets.newHashSet(
+ "hibernate.dialect",
+ "hibernate.connection.driver_class",
+ "hibernate.connection.url",
+ "hibernate.connection.username");
+ for (String key : keysToDisplay) {
+ log.debug(String.format("%s=%s", key, properties.getProperty(key)));
+ }
+ }
+
+ // add entities to the context
+ String classesKey = TopiaContextFactory.CONFIG_PERSISTENCE_CLASSES;
+ String classesValue = PollenDAOHelper.getImplementationClassesAsString();
+ properties.setProperty(classesKey, classesValue);
+
+ TopiaContext rootContext;
+ try {
+ rootContext = TopiaContextFactory.getContext(properties);
+ } catch (TopiaNotFoundException e) {
+ throw new TopiaRuntimeException(e);
+ }
+
+ return new PollenTopiaRootContextSupplier(rootContext);
+ }
+}
Added: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/ChoiceImpl.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/ChoiceImpl.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/ChoiceImpl.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,60 @@
+/*
+ * #%L
+ * Pollen :: Persistence
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+package org.chorem.pollen.entity;
+
+import org.apache.commons.lang.StringUtils;
+import org.chorem.pollen.votecounting.business.NumberMethod;
+
+/**
+ * ChoiceImpl
+ * <p/>
+ * Created: 26 mars 2010
+ *
+ * @author fdesbois
+ * @version $Revision$
+ * <p/>
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+public class ChoiceImpl extends ChoiceAbstract {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public boolean isHidden() {
+ return StringUtils.isNotEmpty(name) &&
+ name.startsWith(NumberMethod.HIDDEN_PREFIX);
+ }
+
+ @Override
+ public void setHidden(boolean hidden) {
+ boolean previous = isHidden();
+ if (hidden && !previous) {
+ setName(NumberMethod.HIDDEN_PREFIX + name);
+ } else if (!hidden && previous) {
+ name.substring(NumberMethod.HIDDEN_PREFIX.length());
+ }
+ }
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/ChoiceImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/FavoriteListImpl.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/FavoriteListImpl.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/FavoriteListImpl.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,81 @@
+/*
+ * #%L
+ * Pollen :: Persistence
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.entity;
+
+import org.chorem.pollen.PollenBusinessException;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+/**
+ * Created: 12 mai 2010
+ *
+ * @author fdesbois <fdesbois(a)codelutin.com>
+ * @version $Id$
+ */
+public class FavoriteListImpl extends FavoriteListAbstract {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public Collection<Participant> getParticipants() {
+ Collection<Participant> results = new ArrayList<Participant>();
+ for (FavoriteParticipant account : getFavoriteParticipant()) {
+ results.add(account);
+ }
+ return results;
+ }
+
+ @Override
+ public void setParticipants(Collection<Participant> participants)
+ throws PollenBusinessException {
+ setFavoriteParticipant(new ArrayList<FavoriteParticipant>());
+ ParticipantHelper.setParticipants(this, participants);
+ }
+
+ @Override
+ public String addParticipant(Participant participant) {
+ String name = participant.getName();
+ String email = participant.getEmail();
+
+ String error =
+ ParticipantHelper.checkParticipantExist(this, name, email);
+ if (error != null) {
+ return error;
+ }
+
+ FavoriteParticipant favorite = new FavoriteParticipantImpl();
+ favorite.setName(participant.getName());
+ favorite.setEmail(participant.getEmail());
+ favorite.setWeight(participant.getWeight());
+ favorite.setFavoriteList(this);
+ addFavoriteParticipant(favorite);
+ return null;
+ }
+
+ @Override
+ public String getId() {
+ return getTopiaId();
+ }
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/FavoriteListImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/FavoriteParticipantDAOImpl.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/FavoriteParticipantDAOImpl.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/FavoriteParticipantDAOImpl.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,76 @@
+/*
+ * #%L
+ * Pollen :: Persistence
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.entity;
+
+import org.chorem.pollen.PollenQueryHelper;
+import org.nuiton.topia.framework.EntityFilter;
+import org.nuiton.topia.framework.TopiaQuery;
+
+/**
+ * Created: 26 mai 2010
+ *
+ * @author fdesbois <fdesbois(a)codelutin.com>
+ * @version $Id: FavoriteParticipantDAOImpl.java 3014 2010-05-26 09:17:43Z
+ * fdesbois $
+ */
+public class FavoriteParticipantDAOImpl<E extends FavoriteParticipant>
+ extends FavoriteParticipantDAOAbstract<E> {
+
+ @Override
+ public TopiaQuery createQueryFindAllByFavoriteList(EntityFilter filter) {
+
+ filter.checkReference(FavoriteList.class, true);
+
+// // ------------------------- PROPERTIES ----------------------------- //
+//
+// String participantAlias = PollenQueryHelper.ALIAS_FAVORITE_PARTICIPANT;
+// String listAlias = PollenQueryHelper.ALIAS_FAVORITE_LIST;
+// String listParticipantProperty =
+// TopiaQuery.getProperty(listAlias,
+// FavoriteList.PROPERTY_FAVORITE_PARTICIPANT);
+//
+// filter.setReferenceProperty(listAlias);
+//
+// // ----------------------- QUERY ------------------------------------ //
+//
+// TopiaQuery query = context.createQuery(FavoriteList.class, listAlias).
+// setSelect(participantAlias).
+// addJoin(listParticipantProperty, participantAlias, false).
+// addFilter(filter, participantAlias);
+
+ PollenQueryHelper.FavoriteListProperty listProperty =
+ PollenQueryHelper.newFavoriteListProperty();
+ PollenQueryHelper.FavoriteParticipantProperty participantProperty =
+ PollenQueryHelper.newFavoriteParticipantProperty();
+
+ filter.setReferenceProperty(listProperty.$alias());
+
+ TopiaQuery query = PollenQueryHelper.createQuery(listProperty).
+ setSelect(participantProperty.$alias()).
+ addJoin(listProperty.favoriteParticipant(), participantProperty.$alias(), false).
+ addFilter(filter, participantProperty.$alias());
+
+ return query;
+ }
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/FavoriteParticipantDAOImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/FavoriteParticipantImpl.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/FavoriteParticipantImpl.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/FavoriteParticipantImpl.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,40 @@
+/*
+ * #%L
+ * Pollen :: Persistence
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.entity;
+
+/**
+ * Created: 20 mai 2010
+ *
+ * @author fdesbois <fdesbois(a)codelutin.com>
+ * @version $Id$
+ */
+public class FavoriteParticipantImpl extends FavoriteParticipantAbstract {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public String getId() {
+ return getTopiaId();
+ }
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/FavoriteParticipantImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/ParticipantHelper.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/ParticipantHelper.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/ParticipantHelper.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,107 @@
+/*
+ * #%L
+ * Pollen :: Persistence
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.entity;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.chorem.pollen.PollenBusinessException;
+
+import java.util.Collection;
+
+/**
+ * Helper classes for common Participant manipulations.
+ *
+ * @author fdesbois <fdesbois(a)codelutin.com>
+ * @version $Id$
+ * @see Participant
+ * @see ParticipantList
+ */
+public class ParticipantHelper {
+
+ private static final Log log = LogFactory.getLog(ParticipantHelper.class);
+
+ /**
+ * Check the existence of participant from a {@code list}. The existence is
+ * tested on {@code name} and {@code email}. The {@code email} can be null.
+ *
+ * @param list ParticipantList which contains a list of Participant
+ * @param name Name of the participant to check
+ * @param email Email of the participant to check
+ * @return an error code if participant already exist : simply the
+ * concatenation of name and email.
+ */
+ public static String checkParticipantExist(
+ ParticipantList list, String name, String email) {
+ for (Participant participant : list.getParticipants()) {
+ boolean emailNull = email == null && participant.getEmail() == null;
+ boolean emailCheck = emailNull ||
+ email != null && email.equals(participant.getEmail());
+
+ if (name != null && name.equals(participant.getName()) && emailCheck) {
+ if (emailNull) {
+ return name;
+ } else {
+ return name + " (" + email + ")";
+ }
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Set the {@code participants} in the {@code list}. Doubloons can be found
+ * during adding process. An exception will be thrown in case of doubloons.
+ *
+ * @param list where participants will be added
+ * @param participants to add to the list
+ * @throws PollenBusinessException for doubloons case
+ */
+ public static void setParticipants(ParticipantList list,
+ Collection<Participant> participants)
+ throws PollenBusinessException {
+ if (log.isDebugEnabled()) {
+ log.debug("Set participants for list : " + list.getName());
+ }
+ StringBuilder doubloons = new StringBuilder();
+ String separator = ", ";
+ for (Participant participant : participants) {
+ // Add the participant to the list
+ String doubloon = list.addParticipant(participant);
+ // Check error doubloon
+ if (doubloon != null) {
+ doubloons.append(separator).append(doubloon);
+ } else if (log.isDebugEnabled()) {
+ log.debug("Participant added : " + participant.getName() +
+ " _ " + participant.getEmail());
+ }
+ }
+ // If doubloons are found, throw an exception
+ if (!doubloons.toString().isEmpty()) {
+ throw new PollenBusinessException(
+ PollenBusinessException.PollenExceptionType.PARTICIPANT_DOUBLOONS,
+ list.getName(), doubloons.substring(separator.length()));
+ }
+ }
+
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/ParticipantHelper.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/PollAccountDAOImpl.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/PollAccountDAOImpl.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/PollAccountDAOImpl.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,126 @@
+/*
+ * #%L
+ * Pollen :: Persistence
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.entity;
+
+import org.chorem.pollen.PollenQueryHelper;
+import org.nuiton.topia.framework.EntityFilter;
+import org.nuiton.topia.framework.TopiaQuery;
+
+/**
+ * Created: 26 mai 2010
+ *
+ * @author fdesbois <fdesbois(a)codelutin.com>
+ * @version $Id$
+ */
+public class PollAccountDAOImpl<E extends PollAccount> extends PollAccountDAOAbstract<E> {
+
+ @Override
+ public TopiaQuery createQueryFindAllByPoll(EntityFilter filter) {
+
+ filter.checkReference(Poll.class, true);
+
+// // ------------------------- PROPERTIES ----------------------------- //
+//
+// String pollAlias = PollenQueryHelper.ALIAS_POLL;
+// String pollAccountProperty =
+// TopiaQuery.getProperty(pollAlias, Poll.PROPERTY_POLL_ACCOUNT);
+//
+// String participantAlias = PollenQueryHelper.ALIAS_POLL_ACCOUNT;
+// String participantVoteDateProperty =
+// TopiaQuery.getProperty(participantAlias,
+// PollAccount.PROPERTY_VOTE_DATE);
+//
+// filter.setReferenceProperty(pollAlias);
+//
+// // ----------------------- QUERY ------------------------------------ //
+//
+// // Will return lists in case of GROUP poll
+// TopiaQuery query = context.createQuery(Poll.class, pollAlias).
+// setSelect(participantAlias).
+// addJoin(pollAccountProperty, participantAlias, false).
+// addNotNull(participantVoteDateProperty).
+// addFilter(filter, participantAlias);
+
+ PollenQueryHelper.PollProperty pollProperty =
+ PollenQueryHelper.newPollProperty();
+ PollenQueryHelper.PollAccountProperty participantProperty =
+ PollenQueryHelper.newPollAccountProperty();
+
+ filter.setReferenceProperty(pollProperty.$alias());
+
+ TopiaQuery query = PollenQueryHelper.createQuery(pollProperty).
+ setSelect(participantProperty.$alias()).
+ addJoin(pollProperty.pollAccount(), participantProperty.$alias(), false).
+ addNotNull(participantProperty.voteDate()).
+ addFilter(filter, participantProperty.$alias());
+
+ return query;
+ }
+
+ @Override
+ public TopiaQuery createQueryFindAllParticipantsByPoll(Poll poll) {
+
+// String pollAlias = PollenQueryHelper.ALIAS_POLL;
+// String pollAccountProperty =
+// TopiaQuery.getProperty(pollAlias, Poll.PROPERTY_POLL_ACCOUNT);
+//
+// String listAlias = PollenQueryHelper.ALIAS_POLL_ACCOUNT;
+// String listChildProperty =
+// TopiaQuery.getProperty(listAlias, PollAccount.PROPERTY_CHILD);
+//
+// String participantAlias = PollenQueryHelper.ALIAS_POLL_ACCOUNT_CHILD;
+//
+// TopiaQuery query = context.createQuery(Poll.class, pollAlias).
+// setSelect(participantAlias).
+// addEquals(pollAlias, poll);
+//
+// // Manage join depends on pollType
+// if (poll.getPollType().isGroup()) {
+// query.addJoin(pollAccountProperty, listAlias, false).
+// addJoin(listChildProperty, participantAlias, false);
+// } else {
+// query.addJoin(pollAccountProperty, participantAlias, false);
+// }
+ PollenQueryHelper.PollProperty pollProperty =
+ PollenQueryHelper.newPollProperty();
+ PollenQueryHelper.PollAccountProperty listProperty =
+ PollenQueryHelper.newPollAccountProperty();
+ PollenQueryHelper.PollAccountProperty participantProperty =
+ PollenQueryHelper.newPollAccountChildProperty();
+
+ TopiaQuery query = PollenQueryHelper.createQuery(pollProperty).
+ setSelect(participantProperty.$alias()).
+ addEquals(pollProperty.$alias(), poll);
+
+ // Manage join depends on pollType
+ if (poll.getType().isGroup()) {
+ query.addJoin(pollProperty.pollAccount(), listProperty.$alias(), false).
+ addJoin(listProperty.child(), participantProperty.$alias(), false);
+ } else {
+ query.addJoin(pollProperty.pollAccount(), participantProperty.$alias(), false);
+ }
+
+ return query;
+ }
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/PollAccountDAOImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/PollAccountImpl.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/PollAccountImpl.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/PollAccountImpl.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,95 @@
+/*
+ * #%L
+ * Pollen :: Persistence
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.entity;
+
+import org.chorem.pollen.PollenBusinessException;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+/**
+ * Created: 12 mai 2010
+ *
+ * @author fdesbois <fdesbois(a)codelutin.com>
+ * @version $Id$
+ */
+public class PollAccountImpl extends PollAccountAbstract {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public Collection<Participant> getParticipants() {
+ // for a simple account, will return null
+ if (!list) {
+ return null;
+ }
+ Collection<Participant> results = new ArrayList<Participant>();
+ if (getChild() != null) {
+ for (PollAccount account : getChild()) {
+ results.add(account);
+ }
+ }
+ return results;
+ }
+
+ @Override
+ public void setParticipants(Collection<Participant> participants)
+ throws PollenBusinessException {
+ if (!list) {
+ throw new UnsupportedOperationException(
+ "Unable to set participants from a child account");
+ }
+ setChild(new ArrayList<PollAccount>());
+ ParticipantHelper.setParticipants(this, participants);
+ }
+
+ @Override
+ public String addParticipant(Participant participant) {
+ String name = participant.getName();
+ String email = participant.getEmail();
+
+ String error =
+ ParticipantHelper.checkParticipantExist(this, name, email);
+ if (error != null) {
+ return error;
+ }
+
+ PollAccount account = new PollAccountImpl();
+ account.setName(name);
+ account.setEmail(email);
+ account.setWeight(participant.getWeight());
+ addChild(account);
+ return null;
+ }
+
+ @Override
+ public String getId() {
+ return getTopiaId();
+ }
+
+ @Override
+ public boolean getHasVoted() {
+ return voteDate != null;
+ }
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/PollAccountImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/PollDAOImpl.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/PollDAOImpl.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/PollDAOImpl.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,72 @@
+/*
+ * #%L
+ * Pollen :: Persistence
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.entity;
+
+import org.chorem.pollen.PollenQueryHelper;
+import org.chorem.pollen.PollenQueryHelper.PollAccountProperty;
+import org.chorem.pollen.PollenQueryHelper.PollProperty;
+import org.nuiton.topia.framework.EntityFilter;
+import org.nuiton.topia.framework.TopiaQuery;
+
+/**
+ * Created: 3 juin 2010
+ *
+ * @author fdesbois <fdesbois(a)codelutin.com>
+ * @version $Id$
+ */
+public class PollDAOImpl<E extends Poll> extends PollDAOAbstract<E> {
+
+ @Override
+ public TopiaQuery createQueryFindAllByUser(EntityFilter filter)
+ throws IllegalArgumentException {
+
+ // Filter reference is not always necessary but only used on UserAccount
+ filter.checkReference(UserAccount.class, false);
+
+ PollProperty pollProperty =
+ PollenQueryHelper.newPollProperty();
+ PollAccountProperty listProperty =
+ PollenQueryHelper.newPollAccountProperty();
+ PollAccountProperty participantProperty =
+ PollenQueryHelper.newPollAccountChildProperty();
+
+ // participantUser is the reference to filter on if necessary
+ filter.setReferenceProperty(participantProperty.userAccount());
+
+ TopiaQuery query = PollenQueryHelper.createQuery(pollProperty).
+ addDistinct().
+ addLeftJoin(pollProperty.pollAccount(), listProperty.$alias(), false).
+ addFrom(PollAccount.class, participantProperty.$alias()).
+ addWhere(String.format(
+ "%1$s IN (%2$s) OR %1$s IN elements(%3$s) OR %1$s = %4$s",
+ participantProperty.$alias(),
+ listProperty.$alias(),
+ listProperty.child(),
+ pollProperty.creator())
+ ).
+ addFilter(filter);
+
+ return query;
+ }
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/PollDAOImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/PollImpl.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/PollImpl.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/PollImpl.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,75 @@
+/*
+ * #%L
+ * Pollen :: Persistence
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+package org.chorem.pollen.entity;
+
+import java.util.Date;
+
+/**
+ * PollImpl
+ *
+ * Created: 23 mars 2010
+ *
+ * @author fdesbois
+ * @version $Revision$
+ *
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+public class PollImpl extends PollAbstract {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public Choice addNewChoice(String name, String description) {
+ // check exist
+ Choice choice = new ChoiceImpl();
+ choice.setName(name);
+ choice.setDescription(description);
+ choice.setType(getChoiceType());
+ addChoice(choice);
+ return choice;
+ }
+
+ @Override
+ public boolean isStarted() {
+ //FIXME : tc-2012-01-19 See if this does cause problem...
+// Date now = PollenUtils.getCurrentDate();
+ Date now = new Date();
+ return getBeginDate() == null || getBeginDate().before(now);
+ }
+
+ @Override
+ public boolean isFinished() {
+ //FIXME : tc-2012-01-19 See if this does cause problem...
+// Date now = PollenUtils.getCurrentDate();
+ Date now = new Date();
+ return getEndDate() != null && getEndDate().before(now);
+ }
+
+ @Override
+ public boolean isRunning() {
+ return isStarted() && !isFinished() && !isClosed();
+ }
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/PollImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/UserAccountImpl.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/UserAccountImpl.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/UserAccountImpl.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,83 @@
+/*
+ * #%L
+ * Pollen :: Persistence
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+package org.chorem.pollen.entity;
+
+import org.apache.commons.lang.StringUtils;
+
+/**
+ * UserAccountImpl
+ *
+ * Created: 30 mars 2010
+ *
+ * @author fdesbois
+ * @version $Revision$
+ *
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+public class UserAccountImpl extends UserAccountAbstract {
+
+ private static final long serialVersionUID = 1L;
+
+ protected String newPassword;
+
+ /**
+ * Get the value of newPassword
+ *
+ * @return the value of newPassword
+ */
+ @Override
+ public String getNewPassword() {
+ return newPassword;
+ }
+
+ /**
+ * Set the value of newPassword
+ *
+ * @param newPassword new value of newPassword
+ */
+ @Override
+ public void setNewPassword(String newPassword) {
+ this.newPassword = newPassword;
+ }
+
+ @Override
+ public String getDisplayName() {
+ String name = "";
+ String separator = "";
+ if (StringUtils.isNotEmpty(getFirstName())) {
+ name += getFirstName();
+ separator = " ";
+ }
+ if (StringUtils.isNotEmpty(getLastName())) {
+ name += separator + getLastName();
+ }
+ if (StringUtils.isEmpty(name)) {
+ name = getLogin();
+ }
+ return name;
+ }
+
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/UserAccountImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/VoteImpl.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/VoteImpl.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/VoteImpl.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,47 @@
+/*
+ * #%L
+ * Pollen :: Persistence
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+package org.chorem.pollen.entity;
+
+/**
+ * VoteImpl
+ *
+ * Created: 23 mars 2010
+ *
+ * @author fdesbois
+ * @version $Revision$
+ *
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+public class VoteImpl extends VoteAbstract {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public boolean canUpdateVote(PollAccount person) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence/src/main/java/org/chorem/pollen/entity/VoteImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-persistence/src/main/resources/i18n/pollen-persistence_en_GB.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/src/main/resources/i18n/pollen-persistence_en_GB.properties (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/src/main/resources/i18n/pollen-persistence_en_GB.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,13 @@
+pollen.exception.favorite_list_name_exist=
+pollen.exception.participant_doubloons=
+pollen.exception.participant_exist=
+pollen.exception.participant_exist_without_email=
+pollen.exception.poll_exist=
+pollen.exception.poll_not_exist=No such poll exists. Please make sure that you are using the correct link and copy it completely into your browser's address field.
+pollen.exception.smtp_not_available=
+pollen.exception.user_email_exist=
+pollen.exception.user_login_exist=
+pollen.exception.user_not_exist=
+pollen.exception.user_wrong_password=
+pollen.exception.vote_doubloon=
+pollen.exception.vote_not_allowed=
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence/src/main/resources/i18n/pollen-persistence_en_GB.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-persistence/src/main/resources/i18n/pollen-persistence_fr_FR.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/src/main/resources/i18n/pollen-persistence_fr_FR.properties (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/src/main/resources/i18n/pollen-persistence_fr_FR.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,13 @@
+pollen.exception.favorite_list_name_exist=La liste %1$s existe déjà pour l'utilisateur %2$s
+pollen.exception.participant_doubloons=Les doublons de la liste %1$s ont été ignorés \: %2$s
+pollen.exception.participant_exist=La liste %1$s contient déjà un votant nommé %2$s avec un email %3$s
+pollen.exception.participant_exist_without_email=La liste %1$s contient déjà un votant nommé %2$s avec aucun email
+pollen.exception.poll_exist=
+pollen.exception.poll_not_exist=Il n'y a pas de sondage à cette adresse. Veuillez verifier que vous utilisez le lien correcte et copiez-le complètement dans le champ d'adresse de votre navigateur.
+pollen.exception.smtp_not_available=Impossible d'envoyer un email à %1$s. Serveur smtp indisponible pour l'envoi d'email, veuillez contacter un administrateur.
+pollen.exception.user_email_exist=Un utilisateur est déjà enregistré avec cet email.
+pollen.exception.user_login_exist=Un utilisateur est déjà enregistré avec cet identifiant.
+pollen.exception.user_not_exist=L'identifiant '%1$s' ne correspond à aucun utilisateur connu.
+pollen.exception.user_wrong_password=Le mot de passe renseigné est incorrect pour l'utilisateur '%1$s'.
+pollen.exception.vote_doubloon=
+pollen.exception.vote_not_allowed=
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence/src/main/resources/i18n/pollen-persistence_fr_FR.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-persistence/src/main/xmi/pollen.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/src/main/xmi/pollen.properties (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/src/main/xmi/pollen.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,55 @@
+###
+# #%L
+# Pollen :: Persistence
+#
+# $Id$
+# $HeadURL$
+# %%
+# Copyright (C) 2009 - 2012 CodeLutin
+# %%
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# #L%
+###
+# Pr\u00e9cise l'ent\u00eate de l'ensemble des fichiers g\u00e9n\u00e9r\u00e9s
+model.tagvalue.copyright=/* *##%\n Copyright (C) 2009 Pollen\n *##%*/
+# toString are particularly difficult to use because of lazy initialization
+model.tagvalue.notGenerateToString=true
+#model.tagvalue.useLegacyDAO=true
+#model.tagvalue.dbSchema=Pollen
+#
+model.tagvalue.constantPrefix=PROPERTY_
+
+model.tagvalue.java.lang.String=text
+model.tagvalue.exceptionClass=org.chorem.pollen.PollenException
+
+org.chorem.pollen.entity.UserAccount.attribute.login.tagvalue.naturalId=true
+org.chorem.pollen.entity.UserAccount.attribute.email.tagvalue.unique=true
+
+org.chorem.pollen.entity.PollAccount.attribute.uid.tagvalue.naturalId=true
+
+#org.chorem.pollen.entity.Vote.attribute.choice.tagvalue.lazy=false
+
+org.chorem.pollen.entity.FavoriteList.attribute.userAccount.tagvalue.naturalId=true
+org.chorem.pollen.entity.FavoriteList.attribute.name.tagvalue.naturalId=true
+
+org.chorem.pollen.entity.FavoriteParticipant.class.tagvalue.naturalIdMutable=true
+org.chorem.pollen.entity.FavoriteParticipant.attribute.favoriteList.tagvalue.naturalId=true
+org.chorem.pollen.entity.FavoriteParticipant.attribute.name.tagvalue.naturalId=true
+org.chorem.pollen.entity.FavoriteParticipant.attribute.email.tagvalue.naturalId=true
+org.chorem.pollen.entity.FavoriteParticipant.attribute.email.tagvalue.notNull=false
+
+org.chorem.pollen.entity.Poll.attribute.uid.tagvalue.naturalId=true
+org.chorem.pollen.entity.Poll.attribute.creator.tagvalue.lazy=false
+
+org.chorem.pollen.entity.Vote.attribute.choice.tagvalue.lazy=false
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence/src/main/xmi/pollen.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-persistence/src/main/xmi/pollen.zargo
===================================================================
(Binary files differ)
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence/src/main/xmi/pollen.zargo
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: branches/pollen-2.0-beta-1/pollen-persistence/src/test/resources/PollenTest.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/src/test/resources/PollenTest.properties (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/src/test/resources/PollenTest.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,35 @@
+###
+# #%L
+# Pollen :: Persistence
+#
+# $Id$
+# $HeadURL$
+# %%
+# Copyright (C) 2009 - 2012 CodeLutin
+# %%
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# #L%
+###
+hibernate.hbm2ddl.auto=create
+hibernate.show_sql=true
+hibernate.dialect=org.hibernate.dialect.H2Dialect
+hibernate.connection.username=sa
+hibernate.connection.password=
+hibernate.connection.driver_class=org.h2.Driver
+hibernate.connection.url=jdbc:h2:file:target/test-base/pollen
+
+adminLogin=admin
+adminPassword=admin
+
+pollen.emails.directory=target/test-emails
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence/src/test/resources/PollenTest.properties
___________________________________________________________________
Added: svn:executable
+ *
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-persistence/src/test/resources/largemaillist.sh
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/src/test/resources/largemaillist.sh (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/src/test/resources/largemaillist.sh 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,26 @@
+###
+# #%L
+# Pollen :: Business
+#
+# $Id$
+# $HeadURL$
+# %%
+# Copyright (C) 2009 - 2012 CodeLutin
+# %%
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# #L%
+###
+#!/bin/sh
+
+for i in `seq 0 3000`; do echo "\"Test $i\",\"toto+pollen+$i(a)domain.com\",1" >> test3000.csv; done
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence/src/test/resources/largemaillist.sh
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-persistence/src/test/resources/log4j.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-persistence/src/test/resources/log4j.properties (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-persistence/src/test/resources/log4j.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,37 @@
+###
+# #%L
+# Pollen :: Persistence
+#
+# $Id$
+# $HeadURL$
+# %%
+# Copyright (C) 2009 - 2012 CodeLutin
+# %%
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# #L%
+###
+# Default to info level output; this is very handy if you eventually use Hibernate as well.
+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=%d [%p] %c{2} %m%n
+
+log4j.logger.org.chorem.pollen=debug
+
+log4j.logger.org.chorem.pollen.business.PollenContextImpl=warn
+log4j.logger.org.chorem.pollen.business.services.SendMail=warn
Property changes on: branches/pollen-2.0-beta-1/pollen-persistence/src/test/resources/log4j.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-services
___________________________________________________________________
Added: svn:ignore
+ target
*.ipr
*.iws
*.iml
*.log
Added: branches/pollen-2.0-beta-1/pollen-services/LICENSE.txt
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/LICENSE.txt (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/LICENSE.txt 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
Property changes on: branches/pollen-2.0-beta-1/pollen-services/LICENSE.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/README.txt
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/README.txt (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/README.txt 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,5 @@
+POLLEN BUSINESS
+---------------
+
+Pollen Business est le module qui assure la partie m�tier de Pollen.
+Il g�re la persistence des donn�es en base et d�fini des services.
Property changes on: branches/pollen-2.0-beta-1/pollen-services/README.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/changelog.txt
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/changelog.txt (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/changelog.txt 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,4 @@
+ChangeLog
+
+1.0.0
+- initiale release
Property changes on: branches/pollen-2.0-beta-1/pollen-services/changelog.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/pom.xml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/pom.xml (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/pom.xml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+
+ <!-- ************************************************************* -->
+ <!-- *** POM Relationships *************************************** -->
+ <!-- ************************************************************* -->
+
+ <parent>
+ <groupId>org.chorem</groupId>
+ <artifactId>pollen</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.chorem.pollen</groupId>
+ <artifactId>pollen-services</artifactId>
+
+ <dependencies>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>pollen-domain</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>pollen-persistence</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-email</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.mail</groupId>
+ <artifactId>mail</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.nuiton</groupId>
+ <artifactId>nuiton-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.nuiton.i18n</groupId>
+ <artifactId>nuiton-i18n</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.opencsv</groupId>
+ <artifactId>opencsv</artifactId>
+ </dependency>
+ <!-- <dependency>
+ <groupId>org.chorem</groupId>
+ <artifactId>chorem-commons</artifactId>
+ </dependency>-->
+ <dependency>
+ <groupId>org.nuiton.topia</groupId>
+ <artifactId>topia-persistence</artifactId>
+ </dependency>
+ <!--dependency>
+ <groupId>org.nuiton.topia</groupId>
+ <artifactId>topia-service-migration</artifactId>
+ </dependency-->
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <!--dependency>
+ <groupId>postgresql</groupId>
+ <artifactId>postgresql</artifactId>
+ </dependency-->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ </dependency>
+ </dependencies>
+
+ <!-- ************************************************************* -->
+ <!-- *** Project Information ************************************* -->
+ <!-- ************************************************************* -->
+
+ <name>Pollen :: Services</name>
+ <description>Pollen Service Layer</description>
+
+ <build>
+
+ <plugins>
+
+ <plugin>
+ <groupId>org.nuiton.i18n</groupId>
+ <artifactId>maven-i18n-plugin</artifactId>
+ <executions>
+ <execution>
+ <!--configuration>
+ <entries>
+ <entry>
+ <basedir>${maven.gen.dir}/java</basedir>
+ </entry>
+ </entries>
+ </configuration-->
+ <goals>
+ <goal>parserJava</goal>
+ <goal>gen</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
+
Property changes on: branches/pollen-2.0-beta-1/pollen-services/pom.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/license/THIRD-PARTY.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/license/THIRD-PARTY.properties (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/license/THIRD-PARTY.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,25 @@
+# Generated by org.nuiton.license.plugin.AddThirdPartyMojo
+#-------------------------------------------------------------------------------
+# Already used licenses in project :
+# - Apache 2
+# - BSD License
+# - COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
+# - Common Development and Distribution License (CDDL) v1.0
+# - Common Public License Version 1.0
+# - GNU Lesser General Public License
+# - Lesser General Public License (LGPL) v 2.1
+# - Lesser General Public License (LGPL) v 3.0
+# - MIT License
+# - The Apache Software License, Version 2.0
+# - The H2 License, Version 1.0
+#-------------------------------------------------------------------------------
+# Please fill the missing licenses for dependencies :
+#
+#
+#Sun Nov 21 23:38:07 CET 2010
+antlr--antlr--2.7.6--jar=BSD License
+commons-primitives--commons-primitives--1.0--jar=The Apache Software License, Version 2.0
+dom4j--dom4j--1.6.1--jar=BSD License
+javassist--javassist--3.8.0.GA--jar=Lesser General Public License (LGPL) v 2.1
+javax.transaction--jta--1.1--jar=COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
+org.jdom--jdom--1.1--jar=Lesser General Public License (LGPL) v 3.0
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/license/THIRD-PARTY.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/PollenContext.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/PollenContext.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/PollenContext.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,150 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen;
+
+import java.util.Date;
+import org.chorem.pollen.service.legacy.ServiceUser;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.framework.EntityFilter;
+import org.nuiton.util.ApplicationConfig;
+
+
+public interface PollenContext {
+
+ /**
+ * loadConfiguration :
+ * Load the application configuration :
+ * <pre>
+ * - Add entities implementation classes for Topia-persistence
+ * - Add model version for Topia-migration-service
+ * </pre>
+ * @param config ApplicationConfig
+ */
+ void loadConfiguration(ApplicationConfig config);
+
+ /**
+ * start :
+ * Start of the application. The application configuration will be loaded
+ * automatically if needed using {@link #loadDefaultConfiguration}. Also
+ * you can manually load the configuration using
+ * {@link #loadConfiguration(ApplicationConfig)}
+ * This start does :
+ * <pre>
+ * - Initialize i18n for error messages
+ * - Create default admin if needed (this will load the topiaRootContext).
+ * </pre>
+ * @param serviceUser to manage default admin if needed
+ */
+ void start(ServiceUser serviceUser);
+
+ /**
+ * stop :
+ * Stop the application. Close the Topia rootContext.
+ */
+ void stop();
+
+ /**
+ * getProperty :
+ * Get a property from the configuration.
+ * @param property PollenProperty
+ * @return String
+ */
+ String getProperty(PollenProperty property);
+
+ /**
+ * hasProperty :
+ * Test if the property is defined in this context
+ * @param property PollenProperty
+ * @return boolean
+ */
+ boolean hasProperty(PollenProperty property);
+
+ /**
+ * getConfiguration :
+ * Get the configuration of the application. Instantiate the default one
+ * if needed.
+ * @return ApplicationConfig
+ */
+ ApplicationConfig getConfiguration();
+
+ /**
+ * getCurrentDate :
+ * Return the current date from context
+ * @return Date
+ */
+ Date getCurrentDate();
+
+ /**
+ * encodePassword :
+ * @param password
+ * @return String
+ */
+ String encodePassword(String password);
+
+ /**
+ * createPollenUrlId :
+ * Create a unique UId for entities which need it (PollAccount, Poll).
+ * This UId represent the entity in UI module.
+ * @return String
+ */
+ String createPollenUrlId();
+
+ /**
+ * beginTransaction :
+ * @return TopiaContext
+ * @throws TopiaException
+ */
+ TopiaContext beginTransaction() throws TopiaException;
+
+ /**
+ * doCatch :
+ * @param eee
+ * @param message
+ * @param args
+ * @throws PollenException
+ */
+ void treateError(Exception eee, String message, Object... args)
+ throws PollenException;
+
+ /**
+ * doCatch :
+ * @param transaction
+ * @param eee
+ * @param message
+ * @param args
+ * @throws PollenException
+ */
+ void treateError(TopiaContext transaction, Exception eee,
+ String message, Object... args) throws PollenException;
+
+ /**
+ * doFinally :
+ * @param transaction
+ */
+ void closeTransaction(TopiaContext transaction);
+
+ public EntityFilter getNewFilter();
+
+} //PollenContext
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/PollenContext.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/PollenContextImpl.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/PollenContextImpl.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/PollenContextImpl.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,405 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+package org.chorem.pollen;
+
+import java.util.Date;
+import java.util.Properties;
+import java.util.UUID;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.chorem.pollen.entity.UserAccount;
+import org.chorem.pollen.service.legacy.ServiceUser;
+import org.nuiton.i18n.I18n;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaContextFactory;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.framework.EntityFilter;
+import org.nuiton.topia.framework.TopiaFilter;
+import org.nuiton.util.ApplicationConfig;
+import org.nuiton.util.ArgumentsParserException;
+import static org.nuiton.i18n.I18n._;
+import static org.nuiton.i18n.I18n.n_;
+
+import org.nuiton.topia.TopiaNotFoundException;
+import org.nuiton.util.StringUtil;
+
+/**
+ * PollenContext
+ *
+ * Created: 24 févr. 2010
+ *
+ * @author fdesbois
+ * @version $Revision$
+ *
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+public class PollenContextImpl implements PollenContext {
+
+ /** log. */
+ private static final Log log = LogFactory.getLog(PollenContextImpl.class);
+
+ public static final String DEFAULT_FILENAME = "pollen.properties";
+
+ private ApplicationConfig configuration;
+
+ private Date currentDate;
+
+// private SendMail sendMail;
+
+ /** Conversion service for services **/
+// private PollenConverter converter;
+
+ /**
+ * Default configuration file will be loaded using
+ * {@link org.nuiton.util.ApplicationConfig }.
+ * Then the other configuration initialization will be done in
+ * {@link #loadConfiguration(ApplicationConfig)} method.
+ */
+ private void loadDefaultConfiguration() {
+ try {
+ if (log.isInfoEnabled()) {
+ log.info("load default configuration from " +
+ PollenContextImpl.DEFAULT_FILENAME);
+ }
+ ApplicationConfig conf = new ApplicationConfig();
+ conf.setConfigFileName(PollenContextImpl.DEFAULT_FILENAME);
+ conf.parse(new String[]{});
+
+ conf.printConfig();
+
+ loadConfiguration(conf);
+ } catch (ArgumentsParserException eee) {
+ treateError(eee, n_("pollen.error.context.parse"),
+ PollenContextImpl.DEFAULT_FILENAME);
+ }
+ }
+
+ /**
+ * Load the application configuration :
+ * <pre>
+ * - Add entities implementation classes for Topia-persistence
+ * - Add model version for Topia-migration-service
+ * </pre>
+ *
+ * @param conf ApplicationConfig
+ */
+ @Override
+ public void loadConfiguration(ApplicationConfig conf) {
+ configuration = conf;
+ configuration.setOption("topia.persistence.classes",
+ PollenDAOHelper.getImplementationClassesAsString());
+// configuration.setOption("topia.service.migration.version",
+// PollenDAOHelper.getModelVersion());
+ }
+
+ /**
+ * Start of the application. The application configuration will be loaded
+ * automatically if needed using {@link #loadDefaultConfiguration }. Also
+ * you can manually load the configuration using
+ * {@link #loadConfiguration(ApplicationConfig)}
+ * This start does :
+ * <pre>
+ * - Initialize i18n for error messages
+ * - Create default admin if needed (this will load the topiaRootContext).
+ * </pre>
+ *
+ */
+ @Override
+ public void start(ServiceUser serviceUser) {
+ try {
+// I18n.init(new DefaultI18nInitializer("pollen-business"), null);
+ I18n.init(null, null);
+
+ if (log.isInfoEnabled()) {
+ log.info(_("pollen.info.start"));
+ }
+
+ // Set context in PollenProperty enum to use easily method
+ // getValue() on PollenProperty
+ PollenProperty.setContext(this);
+ PollenUtils.setContext(this);
+
+ createSuperAdmin(serviceUser);
+//
+// sendMail = new SendMail(this);
+// sendMail.start();
+
+ if (log.isInfoEnabled()) {
+ log.info(_("pollen.info.started"));
+ }
+
+ } catch (Exception eee) {
+ treateError(eee, n_("pollen.error.context.start"));
+ }
+ }
+
+ /**
+ * Create the super admin if needed using {@code serviceUser}.
+ * The login, password and email are defined from configuration (in
+ * properties file).
+ *
+ * @param serviceUser used to create the admin user
+ * @see PollenProperty#ADMIN_EMAIL
+ * @see PollenProperty#ADMIN_LOGIN
+ * @see PollenProperty#ADMIN_PASSWORD
+ */
+ protected void createSuperAdmin(ServiceUser serviceUser) {
+ UserAccount user = serviceUser.getNewUser();
+ user.setAdmin(true);
+ String login = PollenProperty.ADMIN_LOGIN.getValue();
+ user.setLogin(login);
+ user.setEmail(PollenProperty.ADMIN_EMAIL.getValue());
+ user.setNewPassword(PollenProperty.ADMIN_PASSWORD.getValue());
+ try {
+ serviceUser.createUser(user);
+ if (log.isInfoEnabled()) {
+ log.info(_("pollen.info.admin.created", login));
+ }
+ } catch (PollenBusinessException eee) {
+ if (log.isInfoEnabled()) {
+ log.info(_("pollen.info.admin.exists") + " : " +
+ _(eee.getMessage()));
+ }
+ }
+ }
+
+ /**
+ * Stop the application. Close the Topia rootContext.
+ */
+ @Override
+ public void stop() {
+ try {
+ if (log.isDebugEnabled()) {
+ log.debug(_("pollen.info.stop"));
+ }
+ getTopiaRootContext().closeContext();
+// sendMail.stopExec();
+ } catch (Exception eee) {
+ treateError(eee, n_("pollen.error.context.stop"));
+ }
+ }
+
+// @Override
+// public SendMail getSendMail() {
+// return sendMail;
+// }
+
+ /**
+ * Get a property from the configuration.
+ *
+ * @param property PollenProperty
+ * @return value of this property
+ */
+ @Override
+ public String getProperty(PollenProperty property) {
+ return getConfiguration().getOption(property.getKey());
+ }
+
+ /**
+ * Test if the property is defined in this context
+ *
+ * @param property PollenProperty
+ * @return value of this property
+ */
+ @Override
+ public boolean hasProperty(PollenProperty property) {
+ return !getProperty(property).equals("");
+ }
+
+ /**
+ * Get a property from the configuration.
+ *
+ * @param key of the property
+ * @return value of this property
+ * @throws PollenBusinessException
+ */
+ public String getProperty(String key) {
+ return getConfiguration().getOption(key);
+ }
+
+ /**
+ * Get all properties from the configuration
+ *
+ * @return the Properties of the application
+ * @throws PollenBusinessException
+ */
+ public Properties getProperties() {
+ return getConfiguration().getOptions();
+ }
+
+ /**
+ * Get the configuration of the application.
+ *
+ * @return the ApplicationConfig
+ */
+ @Override
+ public ApplicationConfig getConfiguration() {
+ if (configuration == null) {
+ loadDefaultConfiguration();
+ }
+ return configuration;
+ }
+
+ /**
+ * Get the Topia rootContext.
+ *
+ * @return the main TopiaContext needed to begin new transaction
+ * @throws PollenException
+ * @throws PollenBusinessException
+ */
+ public TopiaContext getTopiaRootContext() {
+ try {
+ return TopiaContextFactory.getContext(getProperties());
+ } catch (TopiaNotFoundException eee) {
+ treateError(eee, n_("pollen.error.context.getRootContext"));
+ }
+ return null;
+ }
+
+ @Override
+ public TopiaContext beginTransaction() throws TopiaException {
+ return getTopiaRootContext().beginTransaction();
+ }
+
+// @Override
+// public PollenConverter getConverter() {
+// if (converter == null) {
+// converter = new PollenConverter();
+// }
+// return converter;
+// }
+
+ /**
+ * Manage exceptions. The {@code exception} will be embedded in a
+ * PollenException with the {@code message} provided.
+ * Used in catch statement in services.
+ *
+ * @param eee the exception to manage
+ * @param message the message to add to the new PollenException
+ * @param args for message
+ * @throws PollenException which contains the exception as the cause
+ */
+ @Override
+ public void treateError(Exception eee, String message, Object... args)
+ throws PollenException {
+ treateError(null, eee, message, args);
+ }
+
+ /**
+ * Manage exceptions. The {@code exception} will be embedded in a
+ * PollenException with the {@code message} provided. Also, the current
+ * {@code transaction} will be rollback.
+ * Used in catch statement in services.
+ *
+ * @param transaction the current TopiaContext
+ * @param eee the exception to manage
+ * @param message the message to add to the new PollenException
+ * @param args for message
+ * @throws PollenException
+ */
+ @Override
+ public void treateError(TopiaContext transaction, Exception eee,
+ String message, Object... args) throws PollenException {
+ if (log.isErrorEnabled()) {
+ log.error(_(message, args), eee);
+ }
+
+ // rollback de la transaction courante
+ if (transaction != null) {
+ try {
+ transaction.rollbackTransaction();
+ } catch (TopiaException ex) {
+ if (log.isErrorEnabled()) {
+ log.error(_("pollen.error.context.rollback"), ex);
+ }
+ }
+ }
+ throw new PollenException(message, eee, args);
+ }
+
+ /**
+ * Close current TopiaContext.
+ * Used in finally statement in services.
+ *
+ * @param transaction current TopiaContext
+ */
+ @Override
+ public void closeTransaction(TopiaContext transaction) {
+ if (transaction != null) {
+ try {
+ transaction.closeContext();
+ //stop();
+ } catch (TopiaException eee) {
+ if (log.isErrorEnabled()) {
+ log.error(_("pollen.error.context.close"), eee);
+ }
+ }
+ }
+ }
+
+ /**
+ * Create an id to easily managed polls using urls.
+ *
+ * @return a fresh generated String
+ */
+ @Override
+ public String createPollenUrlId() {
+ return UUID.randomUUID().toString().replaceAll("-", "");
+ }
+
+ @Override
+ public Date getCurrentDate() {
+ if (currentDate != null) {
+ return currentDate;
+ }
+ return new Date();
+ }
+
+ /**
+ * Set the current date in context. Used for test
+ *
+ * @param currentDate to set in the context
+ */
+ public void setCurrentDate(Date currentDate) {
+ this.currentDate = currentDate;
+ }
+
+ @Override
+ public String encodePassword(String password) {
+// try {
+ return StringUtil.encodeMD5(password);
+// } catch (NoSuchAlgorithmException eee) {
+// treateError(eee, n_("pollen.error.encodePassword"));
+// }
+// return null;
+ }
+
+ @Override
+ public EntityFilter getNewFilter() {
+ return new TopiaFilter();
+ }
+
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/PollenContextImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/PollenProperty.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/PollenProperty.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/PollenProperty.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,96 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+package org.chorem.pollen;
+
+/**
+ * PollenProp
+ *
+ * Created: 25 févr. 2010
+ *
+ * @author fdesbois
+ * @version $Revision$
+ *
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+public enum PollenProperty {
+ /** version of the application **/
+ APP_VERSION("version"),
+ /**
+ * url of the server
+ * @deprecated don't need to use it from properties file. Will be analysing
+ * from url in ui module.
+ */
+ @Deprecated
+ SERVER_URL("siteUrl"),
+ /** login for default admin **/
+ ADMIN_LOGIN("adminLogin"),
+ /** password for default admin **/
+ ADMIN_PASSWORD("adminPassword"),
+ /** email for default admin **/
+ ADMIN_EMAIL("adminEmail"),
+ /** email for contact link **/
+ CONTACT_EMAIL(ADMIN_EMAIL.getKey()),
+ /** host for email sending configuration **/
+ EMAIL_HOST("email_host"),
+ /** port for email sending configuration **/
+ EMAIL_PORT("email_port"),
+ /** from for email sending configuration **/
+ EMAIL_FROM("email_from"),
+ /** directory to store emails before sending them **/
+ EMAIL_DIR("pollen.emails.directory"),
+ /** path for feed directory **/
+ FEED_DIR("feedDir"),
+ /** path for uploaded images directory **/
+ IMG_DIR("upImgDir"),
+ /** nb votes to display per page **/
+ NB_VOTES_PER_PAGE("pollen.ui.nbVotesPerPage"),
+ /** Charset of Pollen **/
+ CHARSET("pollen.charset");
+
+ private String key;
+
+ private static PollenContext context;
+
+ PollenProperty(String key) {
+ this.key = key;
+ }
+
+ public String getKey() {
+ return key;
+ }
+
+ static void setContext(PollenContext cx) {
+ context = cx;
+ }
+
+ public String getValue() {
+ return context.getProperty(this);
+ }
+
+ public boolean hasValue() {
+ return !getValue().equals("");
+ }
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/PollenProperty.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/PollenUtils.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/PollenUtils.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/PollenUtils.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,45 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen;
+
+import java.util.Date;
+
+/**
+ * Created: 21 mai 2010
+ *
+ * @author fdesbois <fdesbois(a)codelutin.com>
+ * @version $Id$
+ */
+public class PollenUtils {
+
+ private static PollenContext context;
+
+ public static void setContext(PollenContext context) {
+ PollenUtils.context = context;
+ }
+
+ public static Date getCurrentDate() {
+ return context.getCurrentDate();
+ }
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/PollenUtils.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/bean/PollenEmail.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/bean/PollenEmail.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/bean/PollenEmail.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,173 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.bean;
+
+import org.apache.commons.lang.builder.ToStringBuilder;
+import org.apache.commons.mail.EmailException;
+import org.apache.commons.mail.SimpleEmail;
+import org.chorem.pollen.PollenProperty;
+
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyChangeSupport;
+import java.io.Serializable;
+
+public class PollenEmail implements Serializable {
+
+ private static final long serialVersionUID = 3761968478348849766L;
+
+ public static final String PROPERTY_HOST = "host";
+
+ public static final String PROPERTY_PORT = "port";
+
+ public static final String PROPERTY_FROM = "from";
+
+ public static final String PROPERTY_TO = "to";
+
+ public static final String PROPERTY_SUBJECT = "subject";
+
+ public static final String PROPERTY_CONTENT = "content";
+
+ protected String host;
+
+ protected Integer port;
+
+ protected String from;
+
+ protected String to;
+
+ protected String subject;
+
+ protected String content;
+
+ protected final PropertyChangeSupport pcs = new PropertyChangeSupport(this);
+
+ public SimpleEmail createSimpleEmail(String charset) throws EmailException {
+ SimpleEmail result = new SimpleEmail();
+ result.setHostName(getHost());
+ result.setSmtpPort(getPort());
+ result.setFrom(getFrom());
+ result.addTo(getTo());
+ result.setSubject(getSubject());
+ result.setMsg(getContent());
+ result.setCharset(charset);
+ return result;
+ }
+
+ @Override
+ public String toString() {
+ String result = new ToStringBuilder(this)
+ .append("host", host)
+ .append("port", port)
+ .append("from", from)
+ .append("to", to)
+ .append("subject", subject).
+ toString();
+ return result;
+ }
+
+ public String getHost() {
+ return host;
+ }
+
+ public void setHost(String host) {
+ String oldValue = getHost();
+ this.host = host;
+ firePropertyChange(PROPERTY_HOST, oldValue, host);
+ }
+
+ public Integer getPort() {
+ return port;
+ }
+
+ public void setPort(Integer port) {
+ Integer oldValue = getPort();
+ this.port = port;
+ firePropertyChange(PROPERTY_PORT, oldValue, port);
+ }
+
+ public String getFrom() {
+ return from;
+ }
+
+ public void setFrom(String from) {
+ String oldValue = getFrom();
+ this.from = from;
+ firePropertyChange(PROPERTY_FROM, oldValue, from);
+ }
+
+ public String getTo() {
+ return to;
+ }
+
+ public void setTo(String to) {
+ String oldValue = getTo();
+ this.to = to;
+ firePropertyChange(PROPERTY_TO, oldValue, to);
+ }
+
+ public String getSubject() {
+ return subject;
+ }
+
+ public void setSubject(String subject) {
+ String oldValue = getSubject();
+ this.subject = subject;
+ firePropertyChange(PROPERTY_SUBJECT, oldValue, subject);
+ }
+
+ public String getContent() {
+ return content;
+ }
+
+ public void setContent(String content) {
+ String oldValue = getContent();
+ this.content = content;
+ firePropertyChange(PROPERTY_CONTENT, oldValue, content);
+ }
+
+ public void addPropertyChangeListener(PropertyChangeListener listener) {
+ pcs.addPropertyChangeListener(listener);
+ }
+
+ public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener) {
+ pcs.addPropertyChangeListener(propertyName, listener);
+ }
+
+ public void removePropertyChangeListener(PropertyChangeListener listener) {
+ pcs.removePropertyChangeListener(listener);
+ }
+
+ public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener) {
+ pcs.removePropertyChangeListener(propertyName, listener);
+ }
+
+ protected void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
+ pcs.firePropertyChange(propertyName, oldValue, newValue);
+ }
+
+ protected void firePropertyChange(String propertyName, Object newValue) {
+ firePropertyChange(propertyName, null, newValue);
+ }
+
+} //PollenEmail
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/bean/PollenEmail.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/bean/UserPoll.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/bean/UserPoll.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/bean/UserPoll.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,126 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.bean;
+
+import org.chorem.pollen.entity.Poll;
+import org.chorem.pollen.entity.PollAccount;
+
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyChangeSupport;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+public class UserPoll implements Serializable {
+
+ private static final long serialVersionUID = 7293352208965578801L;
+
+ public static final String PROPERTY_POLL = "poll";
+
+ public static final String PROPERTY_ACCOUNTS = "accounts";
+
+ public static final String PROPERTY_CREATOR = "creator";
+
+ protected Boolean creator;
+
+ protected Poll poll;
+
+ protected List<PollAccount> accounts;
+
+ protected final PropertyChangeSupport pcs = new PropertyChangeSupport(this);
+
+ public boolean isCreator() {
+ // Lazy initialization of creator boolean
+ if (creator == null) {
+ for (PollAccount account : accounts) {
+ if (account.equals(poll.getCreator())) {
+ creator = true;
+ break;
+ }
+ }
+ if (creator == null) {
+ creator = false;
+ }
+ }
+ return creator;
+ }
+
+ public String getPollUid() {
+ return poll.getUid();
+ }
+
+ public List<PollAccount> getAccounts() {
+ if (accounts == null) {
+ accounts = new ArrayList<PollAccount>();
+ }
+ return accounts;
+ }
+
+ public boolean addAccount(PollAccount account) {
+ boolean result = getAccounts().add(account);
+ return result;
+ }
+
+ public Poll getPoll() {
+ return poll;
+ }
+
+ public void setPoll(Poll poll) {
+ Poll oldValue = getPoll();
+ this.poll = poll;
+ firePropertyChange(PROPERTY_POLL, oldValue, poll);
+ }
+
+
+ public void setAccounts(List<PollAccount> accounts) {
+ List<PollAccount> oldValue = getAccounts();
+ this.accounts = accounts;
+ firePropertyChange(PROPERTY_ACCOUNTS, oldValue, accounts);
+ }
+
+ public void addPropertyChangeListener(PropertyChangeListener listener) {
+ pcs.addPropertyChangeListener(listener);
+ }
+
+ public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener) {
+ pcs.addPropertyChangeListener(propertyName, listener);
+ }
+
+ public void removePropertyChangeListener(PropertyChangeListener listener) {
+ pcs.removePropertyChangeListener(listener);
+ }
+
+ public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener) {
+ pcs.removePropertyChangeListener(propertyName, listener);
+ }
+
+ protected void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
+ pcs.firePropertyChange(propertyName, oldValue, newValue);
+ }
+
+ protected void firePropertyChange(String propertyName, Object newValue) {
+ firePropertyChange(propertyName, null, newValue);
+ }
+
+} //UserPoll
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/bean/UserPoll.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/BackgroundWorker.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/BackgroundWorker.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/BackgroundWorker.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,51 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+/* *##% Pollen
+ * Copyright (C) 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>. ##%*/
+
+package org.chorem.pollen.mail;
+
+/**
+ * Service lancé en parallèle de l'application. Ce service permet d'effectuer
+ * des actions en arrière-plan.
+ *
+ * @author rannou
+ * @version $Id$
+ */
+public interface BackgroundWorker {
+
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/BackgroundWorker.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/BackgroundWorkerImpl.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/BackgroundWorkerImpl.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/BackgroundWorkerImpl.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,192 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+/* *##% Pollen
+ * Copyright (C) 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>. ##%*/
+
+package org.chorem.pollen.mail;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Timer;
+import java.util.TimerTask;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.chorem.pollen.PollenContext;
+import org.chorem.pollen.PollenProperty;
+import org.chorem.pollen.entity.Poll;
+import org.chorem.pollen.service.legacy.ServicePoll;
+
+/**
+ * Implémentation du service BackgroundWorker.
+ *
+ * @author rannou
+ * @version $Id$
+ */
+public class BackgroundWorkerImpl implements BackgroundWorker {
+
+ /** Timer gérant les threads. */
+ private Timer timer;
+
+ /** log. */
+ private static final Log log = LogFactory
+ .getLog(BackgroundWorkerImpl.class);
+
+ /** Messages internationalisés **/
+// private final Messages messages;
+
+ /** Injection du service de gestion de sondages. */
+ private ServicePoll servicePoll;
+
+ private PollenContext context;
+
+ /**
+ * Constructeur exécuté au lancement de l'application.
+ * @param servicePoll
+ * @param context
+ */
+ public BackgroundWorkerImpl(
+ ServicePoll servicePoll, PollenContext context) {
+ this.context = context;
+// this.messages = messages;
+ this.servicePoll = servicePoll;
+
+ timer = new Timer();
+ executeTasks();
+ }
+
+ /**
+ * Lancement des tâches en arrière-plan.
+ */
+ public void executeTasks() {
+ if (!context.hasProperty(PollenProperty.SERVER_URL)) {
+ log.warn("No property siteUrl. Reminder emails would not contain it");
+ }
+
+ // Exécution de la tâche toutes les 10 min
+ timer.schedule(new MailingTask(), 600000, 600000);
+ }
+
+ /**
+ * Tâche gérant l'envoi de mails de rappels.
+ */
+ private class MailingTask extends TimerTask {
+
+ @Override
+ public void run() {
+ if (log.isDebugEnabled()) {
+ log.debug("MailingTask running...");
+ }
+
+ // Récupération des sondages en cours
+ List<Poll> polls = servicePoll.getRunningPolls();
+
+ for (Poll poll : polls) {
+ Date now = new Date();
+
+ // Parcours des preventRules de chaque sondage
+ // envoi d'un email si endDate-nowDate <= preventRuleSensibility
+ if (poll.getEndDate() != null) {
+
+ // timeValue = endDate-nowDate
+ Long timeValue = poll.getEndDate().getTime()
+ - now.getTime();
+
+ if (log.isDebugEnabled()) {
+ log.debug("Now: " + now.getTime() + " End: "
+ + poll.getEndDate().getTime() + " timeValue: "
+ + timeValue + "(" + timeValue / 3600000 + "h)");
+ }
+
+ // envoi des mails avec une sensibilité de l'ordre de l'heure
+ sendMailNotification(poll, timeValue / 3600000);
+ }
+ }
+ }
+ }
+
+ /**
+ * Envoi du mail de notification.
+ *
+ * @param poll sondage concerné
+ */
+ private void sendMailNotification(Poll poll, Long timeValue) {
+ // FIXME : create ServiceMail
+
+// String voteURL = context.getProperty(PollenProperty.SERVER_URL) +
+// "/poll/VoteFor/" + poll.getPollUId();
+// Map<String, String> data = new HashMap<String, String>();
+// data.put("host", context.getProperty(PollenProperty.EMAIL_HOST));
+// data.put("port", context.getProperty(PollenProperty.EMAIL_PORT));
+// data.put("from", context.getProperty(PollenProperty.EMAIL_FROM));
+//
+// // Mails aux votants
+// for (PreventRule rule : poll.getPreventRule()) {
+// if (rule.getActive()) {
+// Boolean hasRun = false;
+// PreventRuleManager manager = new PreventRuleManager(rule);
+// for (VotingListDTO list : poll.getVotingListDTOs()) {
+// for (PollAccountDTO account : list.getPollAccountDTOs()) {
+// if (account.getEmail() != null) {
+// String accountVoteURL = voteURL + ":"
+// + account.getAccountUId();
+//
+// data.put("to", account.getEmail());
+// data.put("title", messages.format(
+// "reminderEmail_subject", poll.getTitle()));
+// data.put("msg", messages.format(
+// "reminderEmail_msg", poll.getTitle(),
+// account.getVotingId(), accountVoteURL));
+//
+// // Exécution de la règle avec une valeur +1
+// // Sensibilité de 2h : 2h05 KO, 1h55 OK
+// hasRun = manager.execute("rappel", timeValue
+// .intValue() + 1, data);
+// }
+// }
+// }
+//
+// // désactivation de la règle de rappel pour éviter qu'elle soit réexécutée
+// if (hasRun) {
+// rule.setActive(false);
+// ServicePreventRule spr = new ServicePreventRuleImpl((PollenContextImplementor)context);
+// spr.updatePreventRule(rule);
+// }
+// }
+// }
+ }
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/BackgroundWorkerImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/MailUtil.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/MailUtil.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/MailUtil.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,99 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+/* *##% Pollen
+ * Copyright (C) 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>. ##%*/
+
+package org.chorem.pollen.mail;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.commons.mail.EmailException;
+import org.apache.commons.mail.SimpleEmail;
+import org.chorem.pollen.service.legacy.ServiceEmail;
+
+/**
+ * Classe permettant d'envoyer des mails. Basée sur {@link SimpleEmail} (commons-email).
+ *
+ * @author rannou
+ * @version $Id$
+ */
+public class MailUtil {
+
+ /** log. */
+ private static final Log log = LogFactory.getLog(MailUtil.class);
+
+ /**
+ * Envoi d'un email.
+ *
+ * @param host Nom du serveur
+ * @param port Port SMTP
+ * @param from Adresse email de l'expéditeur
+ * @param to Adresse email du destinataire
+ * @param subject Sujet
+ * @param msg Message
+ * @deprecated use {@link ServiceEmail#sendEmail(org.chorem.pollen.bean.PollenEmail)}
+ */
+ @Deprecated
+ public static void sendMail(String host, int port, String from, String to,
+ String subject, String msg) {
+ SimpleEmail email = new SimpleEmail();
+ try {
+ email.setHostName(host);
+ email.setSmtpPort(port);
+ email.setFrom(from);
+ email.addTo(to);
+ email.setSubject(subject);
+ email.setMsg(msg);
+ email.setCharset("UTF-8");
+ email.send();
+ } catch (EmailException e) {
+ log.error("Erreur à l'envoi d'email", e);
+ }
+
+ if (log.isInfoEnabled()) {
+ log.info("Mail sent to : " + to);
+
+ if (log.isDebugEnabled()) {
+ log.debug("Détail de l'email : " + "\ndate: " + email.getSentDate()
+ + "\nhostname: " + email.getHostName() + "\nport: "
+ + email.getSmtpPort() + "\nfrom: "
+ + email.getFromAddress().toString() + "\nto: " + to
+ + "\nsubject: " + email.getSubject());
+ }
+ }
+ }
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/MailUtil.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/PreventRuleManager.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/PreventRuleManager.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/PreventRuleManager.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,229 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+/* *##% Pollen
+ * Copyright (C) 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>. ##%*/
+
+package org.chorem.pollen.mail;
+
+import org.chorem.pollen.bean.PollenEmail;
+
+import java.lang.reflect.Method;
+import java.util.Map;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.chorem.pollen.entity.PreventRule;
+
+/**
+ * Classe de gestion des règles de notification. Cette classe exécute des
+ * méthodes en fonction de la règle définie.
+ *
+ * @author rannou
+ * @version $Id$
+ */
+public class PreventRuleManager {
+
+ /** log. */
+ private static final Log log = LogFactory.getLog(PreventRuleManager.class);
+
+ /** Représente l'action qui ne fait rien. */
+ public static final String NULL_ACTION = "nullAction";
+ /** Représente l'action qui écrit sur la sortie standard. */
+ public static final String PRINT_ACTION = "printAction";
+ /** Représente l'action qui envoi un email de notification. */
+ public static final String EMAIL_ACTION = "emailAction";
+
+ private PreventRule preventRule = null;
+
+ /**
+ * Constructeur.
+ *
+ * @param preventRule règle à utiliser
+ */
+ public PreventRuleManager(PreventRule preventRule) {
+ this.preventRule = preventRule;
+ }
+
+ /**
+ * Exécution de la méthode définie par la règle. La méthode s'exécute sans
+ * prise en compte de la sensibilité de la règle.
+ */
+ public boolean execute() {
+ return execute(null, null, null);
+ }
+
+ /**
+ * Exécution de la méthode définie par la règle. La méthode s'exécute si la
+ * valeur correspond à la sensibilité de la règle.
+ *
+ * @param value valeur conditionnant l'exécution de la règle.
+ */
+ public boolean execute(Integer value) {
+ return execute(null, value, null);
+ }
+
+ /**
+ * Exécution de la méthode définie par la règle. La méthode s'exécute si la
+ * portée est égale à la portée de la règle.
+ *
+ * @param scope portée de la règle.
+ */
+ public boolean execute(String scope) {
+ return execute(scope, null, null);
+ }
+
+ /**
+ * Exécution de la méthode définie par la règle. La méthode s'exécute si la
+ * valeur correspond à la sensibilité de la règle et si la portée est égale
+ * à la portée de la règle.
+ *
+ * @param scope portée de la règle.
+ * @param value valeur conditionnant l'exécution de la règle.
+ */
+ public boolean execute(String scope, Integer value) {
+ return execute(scope, value, null);
+ }
+
+ /**
+ * Exécution de la méthode définie par la règle. La méthode s'exécute si la
+ * valeur correspond à la sensibilité de la règle et si la portée est égale
+ * à la portée de la règle.
+ *
+ * @param scope portée de la règle.
+ * @param value valeur conditionnant l'exécution de la règle.
+ * @param data données utiles pour l'exécution de la règle.
+ * @return true si la méthode à été exécutée, false sinon.
+ */
+ public boolean execute(String scope, Integer value, Object data) {
+
+ // Si la règle n'est pas active, on ne fait rien
+ if (!preventRule.getActive()) {
+ log.debug("Règle non active");
+ return false;
+ }
+
+ // Si la règle est à exécution unique, on la désactive
+ if (preventRule.getOneTime()) {
+ log.debug("Règle à exécution unique : désactivation");
+ preventRule.setActive(false);
+ }
+
+ // Si la règle est répétitive (exécution tous les n), on met à jour la valeur
+ if (value != null && preventRule.getRepeated()
+ && preventRule.getSensibility() != 0) {
+ value = value % preventRule.getSensibility()
+ + preventRule.getSensibility();
+ }
+
+ try {
+ if ((value == null || value == preventRule.getSensibility())
+ && (scope == null || scope.equals(preventRule.getScope()))) {
+ if (log.isDebugEnabled()) {
+ log.debug("méthod " + preventRule.getMethod() + "(scope : "
+ + preventRule.getScope() + ", sensibility : "
+ + preventRule.getSensibility() + ")");
+ }
+
+ Method method = this.getClass().getMethod(
+ preventRule.getMethod(), Object.class);
+ method.invoke(this, data);
+ } else {
+ return false;
+ }
+ } catch (Exception e) {
+ log.error("Erreur lors de l'appel de la méthode "
+ + preventRule.getMethod(), e);
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Action qui ne fait rien.
+ *
+ * TODO set this method to protected
+ */
+ public static void nullAction(Object data) {
+ // ne fait rien
+ }
+
+ /**
+ * Action qui écrit sur la sortie standard.
+ *
+ * TODO set this method to protected
+ */
+ public static void printAction(Object data) {
+ String message = "";
+ if (data instanceof String) {
+ message = (String) data;
+ }
+ System.out.println("printAction : " + message);
+ }
+
+ /**
+ * Action qui envoi un email de notification.
+ *
+ * @param data mail data
+ *
+ * TODO set this method to protected
+ */
+ public static void emailAction(Object data) {
+ Map<String, String> fields = null;
+ if (data instanceof Map<?, ?>) {
+ fields = (Map<String, String>) data;
+ MailUtil.sendMail(fields.get("host"), Integer.parseInt(fields
+ .get("port")), fields.get("from"), fields.get("to"), fields
+ .get("title"), fields.get("msg"));
+ }
+ else {
+ if (log.isWarnEnabled()) {
+ log.warn("emailAction data parameter is not instance of Map");
+ }
+ }
+ }
+
+ public static void emailAction(PollenEmail mail) {
+ MailUtil.sendMail(
+ mail.getHost(),
+ mail.getPort(),
+ mail.getFrom(),
+ mail.getTo(),
+ mail.getSubject(),
+ mail.getContent()
+ );
+ }
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/PreventRuleManager.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/SendMail.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/SendMail.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/SendMail.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,281 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+/* *##% Pollen
+ * Copyright (C) 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>. ##%*/
+
+package org.chorem.pollen.mail;
+
+import java.io.BufferedOutputStream;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.io.Reader;
+import java.io.Writer;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.io.FileUtils;
+import org.nuiton.util.FileUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import au.com.bytecode.opencsv.CSVReader;
+import au.com.bytecode.opencsv.CSVWriter;
+import org.apache.commons.io.IOUtils;
+import org.chorem.pollen.PollenContext;
+import org.chorem.pollen.PollenProperty;
+
+/**
+ * Mass mail management class.
+ *
+ * This class store email to send in a csv file, and send it (one per second) in
+ * a second time.
+ * This class can restart to send mail at application restart.
+ *
+ * For a mass mail sending to start, following files must be present:
+ * <ul>
+ * <li>xxx.mail : CSV file ("email", "subject", "body")</li>
+ * <li>xxx.index : next index to manage ( inited at 0)</li>
+ * </ul>
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class SendMail extends Thread {
+
+ /** logger. */
+ private static final Logger log = LoggerFactory.getLogger(SendMail.class);
+
+ protected PollenContext context;
+
+ public static final String EXTENSION_MAIL = ".mail";
+ public static final String EXTENSION_INDEX = ".index";
+
+ /** Mail storage directory. */
+ protected File mailStorageDirectory;
+
+ protected volatile boolean stop;
+
+ public SendMail(PollenContext context) {
+ this.context = context;
+ if (log.isInfoEnabled()) {
+ log.info("P:[ SendMail ] init");
+ }
+ // get email directory in configuration
+ // create it if not exists
+ String filename = context.getProperty(PollenProperty.EMAIL_DIR);
+ mailStorageDirectory = new File(filename);
+ if (!mailStorageDirectory.exists()) {
+ if (mailStorageDirectory.mkdirs()) {
+ if (log.isDebugEnabled()) {
+ log.debug("Email storage directory created in : " + mailStorageDirectory.getAbsolutePath());
+ }
+ }
+ }
+ }
+
+ public synchronized void stopExec() {
+ stop = true;
+ }
+
+ /*
+ * @see java.lang.Runnable#run()
+ */
+ @Override
+ public void run() {
+ if (log.isInfoEnabled()) {
+ log.info("P:[ SendMail ] start");
+ }
+
+ // try to find existing files
+ while (!stop) {
+ try {
+ sendAllMails();
+
+ // bloque thread until next notify
+ sleep();
+ }
+ catch (Exception ex) {
+ if (log.isErrorEnabled()) {
+ log.error("Error during SendMail main loop", ex);
+ }
+ }
+ }
+ }
+
+ protected synchronized void sleep() throws InterruptedException {
+ wait();
+ }
+
+ public synchronized void wakeUp() {
+ notifyAll();
+ }
+
+ /**
+ * Look for all xx.index file, and restart mail sending on
+ * non ending mass mail sending.
+ *
+ * After execution, delete mail and index file.
+ * @throws IOException
+ */
+ protected void sendAllMails() throws IOException {
+
+ // don't do for, allways take the first found
+ // a new one can be created when managing one other
+ List<File> indexFiles = null;
+ do {
+
+ // filter is java valid : .*\\.index
+ indexFiles = FileUtil.find(mailStorageDirectory, ".*\\" + EXTENSION_INDEX, false);
+
+ if (!indexFiles.isEmpty()) {
+ File indexFile = indexFiles.get(0);
+ // convert index content to int
+ String indexContent = FileUtils.readFileToString(indexFile, "UTF-8");
+ int index = Integer.parseInt(indexContent);
+
+ // get mail content file
+ File mailFile = new File(indexFile.getAbsolutePath().replaceAll(EXTENSION_INDEX + "$", EXTENSION_MAIL));
+
+ if (log.isDebugEnabled()) {
+ log.debug("Managing mail file : " + mailFile + " (from index " + indexContent + ")");
+ }
+
+ Reader indexFileReader = new BufferedReader(new FileReader(mailFile));
+ CSVReader cvsReader = new CSVReader(indexFileReader);
+
+ int currentIndex = 0;
+ String[] currentLine = cvsReader.readNext();
+ while (currentLine != null) {
+ String receiver = currentLine[0];
+ String subject = currentLine[1];
+ String body = currentLine[2];
+
+ // index contains next index to treat so == is ok
+ if (currentIndex >= index) {
+ String host =
+ context.getProperty(PollenProperty.EMAIL_HOST);
+ int port = Integer.parseInt(
+ context.getProperty(PollenProperty.EMAIL_PORT));
+ String from =
+ context.getProperty(PollenProperty.EMAIL_FROM);
+ MailUtil.sendMail(host, port, from,
+ receiver, subject, body);
+
+ // index contains next index to treat
+ FileUtils.writeStringToFile(indexFile, String.valueOf(currentIndex + 1));
+
+ // wait 1 second between each mail to not
+ // load smtp server
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException ex) {
+ if (log.isErrorEnabled()) {
+ log.error("Can't wait between mail", ex);
+ }
+ }
+ }
+ else {
+ if (log.isDebugEnabled()) {
+ log.debug("Mail to " + receiver + " already sent in a previous execution, skip.");
+ }
+ }
+
+ currentIndex++;
+ currentLine = cvsReader.readNext();
+ }
+
+ // delete woth index and mail file
+ mailFile.delete();
+ indexFile.delete();
+ }
+ else {
+ if (log.isInfoEnabled()) {
+ log.info("No more index mail index file found, go to sleep a while :)");
+ }
+ }
+ } while (!indexFiles.isEmpty());
+ }
+
+ /**
+ * Prepare mail list.
+ *
+ * TODO : improve configuration reading
+ *
+ * @param id
+ * @param mailData
+ * @throws IOException
+ */
+ public void prepareMails(String id, List<Map<String, String>> mailData) throws IOException {
+
+ Writer fileWriter = null;
+ CSVWriter cvsWriter = null;
+ try {
+
+ // write CSV datas
+ File emailFile = new File(mailStorageDirectory, id + EXTENSION_MAIL);
+ fileWriter = new OutputStreamWriter(new BufferedOutputStream(new FileOutputStream(emailFile)));
+ cvsWriter = new CSVWriter(fileWriter);
+
+ for (Map<String, String> singleMailData : mailData) {
+ String[] nextLine = new String[] {
+ singleMailData.get("receiver"),
+ singleMailData.get("subject"),
+ singleMailData.get("body")
+ };
+ cvsWriter.writeNext(nextLine);
+ }
+
+ // write index (default to 0)
+ File indexFile = new File(mailStorageDirectory, id + EXTENSION_INDEX);
+ FileUtil.writeString(indexFile, "0");
+ }
+ finally {
+ if (cvsWriter != null) {
+ cvsWriter.close();
+ }
+ IOUtils.closeQuietly(fileWriter);
+ }
+
+ }
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/mail/SendMail.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceEmail.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceEmail.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceEmail.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,39 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.service.legacy;
+
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenException;
+import org.chorem.pollen.bean.PollenEmail;
+import org.chorem.pollen.entity.UserAccount;
+
+public interface ServiceEmail {
+
+ PollenEmail createEmail();
+
+ void sendEmail(PollenEmail email) throws PollenException, PollenBusinessException;
+
+ PollenEmail getNewEmail(UserAccount toUser) throws PollenException;
+
+} //ServiceEmail
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceEmail.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceEmailAbstract.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceEmailAbstract.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceEmailAbstract.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,99 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.service.legacy;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenException;
+import org.chorem.pollen.bean.PollenEmail;
+import org.chorem.pollen.entity.UserAccount;
+import org.nuiton.i18n.I18n;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+
+public abstract class ServiceEmailAbstract implements ServiceEmail {
+
+ protected abstract TopiaContext beginTransaction() throws TopiaException;
+
+ protected void commitTransaction(TopiaContext transaction) throws TopiaException {
+ transaction.commitTransaction();
+}
+
+ protected abstract void closeTransaction(TopiaContext transaction) throws TopiaException;
+
+ protected abstract void treateError(TopiaContext transaction, Exception eee, String message, Object... args) throws PollenException;
+
+ protected void treateError(Exception eee, String message, Object... args) throws PollenException {
+ treateError(null, eee, message, args);
+ }
+
+ public abstract void executeSendEmail(PollenEmail pollenEmail) throws Exception;
+
+ protected abstract PollenEmail executeGetNewEmail(UserAccount toUser) throws Exception;
+
+ protected abstract PollenEmail executeCreateEmail();
+
+ @Override
+ public PollenEmail createEmail() {
+
+ try {
+
+ PollenEmail result = executeCreateEmail();
+ return result;
+ } catch (Exception eee) {
+ treateError(eee, I18n.n_("pollen.error.serviceEmail.createEmail"));
+ }
+ return null;
+ }
+
+ @Override
+ public void sendEmail(PollenEmail email) throws PollenException, PollenBusinessException {
+ List<Object> errorArgs = new ArrayList<Object>();
+
+ try {
+
+ executeSendEmail(email);
+
+ } catch (PollenBusinessException eee) {
+ throw eee;
+ } catch (Exception eee) {
+ treateError(eee, I18n.n_("pollen.error.serviceEmail.sendEmail"), errorArgs.toArray());
+ }
+
+ }
+
+ @Override
+ public PollenEmail getNewEmail(UserAccount toUser) throws PollenException {
+ try {
+
+ PollenEmail result = executeGetNewEmail(toUser);
+ return result;
+ } catch (Exception eee) {
+ treateError(eee, I18n.n_("pollen.error.serviceEmail.getNewEmail"));
+ }
+ return null;
+ }
+
+} //ServiceEmailAbstract
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceEmailAbstract.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceEmailImpl.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceEmailImpl.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceEmailImpl.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,123 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+package org.chorem.pollen.service.legacy;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.commons.mail.EmailException;
+import org.apache.commons.mail.SimpleEmail;
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenBusinessException.PollenExceptionType;
+import org.chorem.pollen.PollenContext;
+import org.chorem.pollen.PollenException;
+import org.chorem.pollen.PollenProperty;
+import org.chorem.pollen.bean.PollenEmail;
+import org.chorem.pollen.entity.UserAccount;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+
+/**
+ * ServiceMailImpl
+ * <p/>
+ * Created: 30 mars 2010
+ *
+ * @author fdesbois
+ * @version $Revision$
+ * <p/>
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+public class ServiceEmailImpl extends ServiceEmailAbstract {
+
+ private static final Log log = LogFactory.getLog(ServiceEmailImpl.class);
+
+ private PollenContext context;
+
+ public void setContext(PollenContext context) {
+ this.context = context;
+ }
+
+ @Override
+ protected TopiaContext beginTransaction() throws TopiaException {
+ return context.beginTransaction();
+ }
+
+ @Override
+ protected void treateError(TopiaContext transaction, Exception eee,
+ String message, Object... args) throws PollenException {
+ context.treateError(transaction, eee, message, args);
+ }
+
+ @Override
+ protected void closeTransaction(TopiaContext transaction) {
+ context.closeTransaction(transaction);
+ }
+
+ @Override
+ public void executeSendEmail(PollenEmail pollenEmail) throws PollenBusinessException {
+
+ try {
+ // Create the SimpleEmail to send
+ SimpleEmail email = pollenEmail.createSimpleEmail(PollenProperty.CHARSET.getValue());
+ email.send();
+
+ if (log.isInfoEnabled()) {
+ log.info("Mail sent to : " + pollenEmail.getTo());
+
+ if (log.isDebugEnabled()) {
+ log.debug("Email infos : " +
+ "\ndate: " + email.getSentDate() +
+ "\nhostname: " + email.getHostName() +
+ "\nport: " + email.getSmtpPort() +
+ "\nfrom: " + email.getFromAddress().toString());
+ }
+ }
+ } catch (EmailException eee) {
+ if (log.isErrorEnabled()) {
+ log.error("Error on email send to " + pollenEmail.getTo(), eee);
+ }
+ throw new PollenBusinessException(eee,
+ PollenExceptionType.SMTP_NOT_AVAILABLE,
+ pollenEmail.getTo());
+ }
+ }
+
+ @Override
+ public PollenEmail executeGetNewEmail(UserAccount toUser) {
+ PollenEmail email = executeCreateEmail();
+ email.setTo(toUser.getEmail());
+ return email;
+ }
+
+ @Override
+ protected PollenEmail executeCreateEmail() {
+ PollenEmail result = new PollenEmail();
+ result.setHost(PollenProperty.EMAIL_HOST.getValue());
+ result.setFrom(PollenProperty.EMAIL_FROM.getValue());
+ result.setPort(Integer.parseInt(PollenProperty.EMAIL_PORT.getValue()));
+ return result;
+ }
+
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceEmailImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceFavorite.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceFavorite.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceFavorite.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,59 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.service.legacy;
+
+import java.util.List;
+import java.util.Map;
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenException;
+import org.chorem.pollen.entity.FavoriteList;
+import org.chorem.pollen.entity.FavoriteParticipant;
+import org.chorem.pollen.entity.UserAccount;
+import org.nuiton.topia.framework.EntityFilter;
+
+public interface ServiceFavorite {
+
+ void createFavoriteParticipant(FavoriteParticipant participant) throws PollenException, PollenBusinessException;
+
+ void deleteFavoriteParticipant(String id) throws PollenException;
+
+ FavoriteParticipant getFavoriteParticipant(String id) throws PollenException;
+
+ Map<String, FavoriteParticipant> getFavoriteParticipants(EntityFilter filter) throws PollenException;
+
+ List<FavoriteList> getFavoriteLists(UserAccount user) throws PollenException;
+
+ void deleteFavoriteList(FavoriteList list) throws PollenException;
+
+ void createFavoriteList(FavoriteList list) throws PollenException, PollenBusinessException;
+
+ int getNbFavoriteParticipants(EntityFilter filter) throws PollenException;
+
+ FavoriteParticipant getNewFavoriteParticipant(FavoriteList list) throws PollenException;
+
+ FavoriteList getNewFavoriteList(UserAccount user) throws PollenException;
+
+ void updateFavoriteParticipant(FavoriteParticipant participant) throws PollenException, PollenBusinessException;
+
+} //ServiceFavorite
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceFavorite.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceFavoriteAbstract.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceFavoriteAbstract.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceFavoriteAbstract.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,277 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.service.legacy;
+
+import java.util.List;
+import java.util.Map;
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenException;
+import org.chorem.pollen.entity.FavoriteList;
+import org.chorem.pollen.entity.FavoriteParticipant;
+import org.chorem.pollen.entity.UserAccount;
+import org.nuiton.i18n.I18n;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.framework.EntityFilter;
+
+public abstract class ServiceFavoriteAbstract implements ServiceFavorite {
+
+ protected abstract TopiaContext beginTransaction() throws TopiaException;
+
+ protected void commitTransaction(TopiaContext transaction) throws TopiaException {
+ transaction.commitTransaction();
+}
+
+ protected abstract void closeTransaction(TopiaContext transaction) throws TopiaException;
+
+ protected abstract void treateError(TopiaContext transaction, Exception eee, String message, Object... args) throws PollenException;
+
+ protected void treateError(Exception eee, String message, Object... args) throws PollenException {
+ treateError(null, eee, message, args);
+ }
+
+ protected abstract void executeCreateFavoriteParticipant(TopiaContext transaction, FavoriteParticipant participant) throws Exception;
+
+ protected abstract void executeDeleteFavoriteParticipant(TopiaContext transaction, String id) throws Exception;
+
+ protected abstract FavoriteParticipant executeGetFavoriteParticipant(TopiaContext transaction, String id) throws Exception;
+
+ protected abstract Map<String, FavoriteParticipant> executeGetFavoriteParticipants(TopiaContext transaction, EntityFilter filter) throws Exception;
+
+ protected abstract List<FavoriteList> executeGetFavoriteLists(TopiaContext transaction, UserAccount user) throws Exception;
+
+ protected abstract void executeDeleteFavoriteList(TopiaContext transaction, FavoriteList list) throws Exception;
+
+ protected abstract void executeCreateFavoriteList(TopiaContext transaction, FavoriteList list) throws Exception;
+
+ protected abstract int executeGetNbFavoriteParticipants(TopiaContext transaction, EntityFilter filter) throws Exception;
+
+ protected abstract FavoriteParticipant executeGetNewFavoriteParticipant(FavoriteList list) throws Exception;
+
+ protected abstract FavoriteList executeGetNewFavoriteList(UserAccount user) throws Exception;
+
+ protected abstract void executeUpdateFavoriteParticipant(TopiaContext transaction, FavoriteParticipant participant) throws Exception;
+
+ @Override
+ public void createFavoriteParticipant(FavoriteParticipant participant) throws PollenException, PollenBusinessException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeCreateFavoriteParticipant(transaction, participant);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (PollenBusinessException eee) {
+ throw eee;
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.serviceFavorite.createFavoriteParticipant"));
+ }
+
+ }
+
+ @Override
+ public void deleteFavoriteParticipant(String id) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeDeleteFavoriteParticipant(transaction, id);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.serviceFavorite.deleteFavoriteParticipant"));
+ }
+
+ }
+
+ @Override
+ public FavoriteParticipant getFavoriteParticipant(String id) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ FavoriteParticipant result = executeGetFavoriteParticipant(transaction, id);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.serviceFavorite.getFavoriteParticipant"));
+ }
+ return null;
+ }
+
+ @Override
+ public Map<String, FavoriteParticipant> getFavoriteParticipants(EntityFilter filter) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ Map<String, FavoriteParticipant> result = executeGetFavoriteParticipants(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.serviceFavorite.getFavoriteParticipants"));
+ }
+ return null;
+ }
+
+ @Override
+ public List<FavoriteList> getFavoriteLists(UserAccount user) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<FavoriteList> result = executeGetFavoriteLists(transaction, user);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.serviceFavorite.getFavoriteLists"));
+ }
+ return null;
+ }
+
+ @Override
+ public void deleteFavoriteList(FavoriteList list) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeDeleteFavoriteList(transaction, list);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.serviceFavorite.deleteFavoriteList"));
+ }
+
+ }
+
+ @Override
+ public void createFavoriteList(FavoriteList list) throws PollenException, PollenBusinessException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeCreateFavoriteList(transaction, list);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (PollenBusinessException eee) {
+ throw eee;
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.serviceFavorite.createFavoriteList"));
+ }
+
+ }
+
+ @Override
+ public int getNbFavoriteParticipants(EntityFilter filter) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ int result = executeGetNbFavoriteParticipants(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.serviceFavorite.getNbFavoriteParticipants"));
+ }
+ return 0;
+ }
+
+ @Override
+ public FavoriteParticipant getNewFavoriteParticipant(FavoriteList list) throws PollenException {
+ try {
+
+ FavoriteParticipant result = executeGetNewFavoriteParticipant(list);
+ return result;
+ } catch (Exception eee) {
+ treateError(eee, I18n.n_("pollen.error.serviceFavorite.getNewFavoriteParticipant"));
+ }
+ return null;
+ }
+
+ @Override
+ public FavoriteList getNewFavoriteList(UserAccount user) throws PollenException {
+ try {
+
+ FavoriteList result = executeGetNewFavoriteList(user);
+ return result;
+ } catch (Exception eee) {
+ treateError(eee, I18n.n_("pollen.error.serviceFavorite.getNewFavoriteList"));
+ }
+ return null;
+ }
+
+ @Override
+ public void updateFavoriteParticipant(FavoriteParticipant participant) throws PollenException, PollenBusinessException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeUpdateFavoriteParticipant(transaction, participant);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (PollenBusinessException eee) {
+ throw eee;
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.serviceFavorite.updateFavoriteParticipant"));
+ }
+
+ }
+
+} //ServiceFavoriteAbstract
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceFavoriteAbstract.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceFavoriteImpl.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceFavoriteImpl.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceFavoriteImpl.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,299 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.service.legacy;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenBusinessException.PollenExceptionType;
+import org.chorem.pollen.PollenContext;
+import org.chorem.pollen.PollenDAOHelper;
+import org.chorem.pollen.PollenException;
+import org.chorem.pollen.PollenQueryHelper;
+import org.chorem.pollen.entity.FavoriteList;
+import org.chorem.pollen.entity.FavoriteListDAO;
+import org.chorem.pollen.entity.FavoriteListImpl;
+import org.chorem.pollen.entity.FavoriteParticipant;
+import org.chorem.pollen.entity.FavoriteParticipantDAO;
+import org.chorem.pollen.entity.FavoriteParticipantImpl;
+import org.chorem.pollen.entity.UserAccount;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.framework.EntityFilter;
+import org.nuiton.topia.framework.TopiaQuery;
+import org.nuiton.topia.framework.TopiaQuery.Op;
+import org.nuiton.topia.persistence.TopiaEntity;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * ServiceFavorite
+ * <p/>
+ * Created: 5 mai 2010
+ *
+ * @author fdesbois $Id: ServiceFavoriteImpl.java 2996 2010-05-14 12:06:15Z
+ * fdesbois $
+ */
+public class ServiceFavoriteImpl extends ServiceFavoriteAbstract {
+
+ private Log log = LogFactory.getLog(ServiceUserImpl.class);
+
+ private static final String BINDER_CONTEXT_FAVORITE_LIST = "favoriteList";
+
+ private PollenContext context;
+
+ public void setContext(PollenContext context) {
+ this.context = context;
+ }
+
+ @Override
+ protected TopiaContext beginTransaction() throws TopiaException {
+ return context.beginTransaction();
+ }
+
+ @Override
+ protected void treateError(TopiaContext transaction, Exception eee,
+ String message, Object... args) throws PollenException {
+ context.treateError(transaction, eee, message, args);
+ }
+
+ @Override
+ protected void closeTransaction(TopiaContext transaction) {
+ context.closeTransaction(transaction);
+ }
+
+ @Override
+ public FavoriteList executeGetNewFavoriteList(UserAccount user) {
+ FavoriteList result = new FavoriteListImpl();
+ result.setUserAccount(user);
+ return result;
+ }
+
+ @Override
+ public void executeCreateFavoriteList(TopiaContext transaction,
+ FavoriteList list) throws TopiaException, PollenBusinessException {
+
+ FavoriteListDAO dao = PollenDAOHelper.getFavoriteListDAO(transaction);
+
+ // check favoriteList name exist for user
+ UserAccount user = list.getUserAccount();
+
+ // existing list found
+ if (dao.existByNaturalId(list.getName(), user)) {
+ throw new PollenBusinessException(
+ PollenExceptionType.FAVORITE_LIST_NAME_EXIST,
+ list.getName(), user.getDisplayName());
+ }
+
+ dao.create(list.getName(), list.getUserAccount());
+
+ transaction.commitTransaction();
+ }
+
+ @Override
+ public void executeDeleteFavoriteList(TopiaContext transaction,
+ FavoriteList list) throws TopiaException {
+ FavoriteListDAO dao = PollenDAOHelper.getFavoriteListDAO(transaction);
+
+ FavoriteList listLoaded = dao.findByTopiaId(list.getId());
+ dao.delete(listLoaded);
+
+ transaction.commitTransaction();
+ }
+
+ @Override
+ public List<FavoriteList> executeGetFavoriteLists(
+ TopiaContext transaction, UserAccount user) throws TopiaException {
+
+ FavoriteListDAO dao = PollenDAOHelper.getFavoriteListDAO(transaction);
+
+ List<FavoriteList> results = dao.findAllByUserAccount(user);
+
+ return results;
+ }
+
+ /**
+ * Check if the {@code participant} doesn't already exists with same email,
+ * name and favoriteList.
+ *
+ * @param dao used to verify the existing participant
+ * @param participant FavoriteParticipant to check
+ * @throws PollenBusinessException if FavoriteParticipant already exists
+ * @throws TopiaException for technical errors from ToPIA
+ */
+ protected void checkFavoriteParticipant(FavoriteParticipantDAO dao,
+ FavoriteParticipant participant)
+ throws PollenBusinessException, TopiaException {
+
+ FavoriteList list = participant.getFavoriteList();
+
+ TopiaQuery query = dao.createQuery().
+ addEquals(FavoriteParticipant.PROPERTY_FAVORITE_LIST, list).
+ addEquals(FavoriteParticipant.PROPERTY_NAME, participant.getName()).
+ addEquals(FavoriteParticipant.PROPERTY_EMAIL, participant.getEmail());
+
+ // Check only on entities different from the one in argument
+ if (StringUtils.isNotEmpty(participant.getId())) {
+ query.addWhere(TopiaEntity.TOPIA_ID, Op.NEQ, participant.getId());
+ }
+
+ // existing participant found
+ if (dao.existByQuery(query)) {
+ // The error type (message) depends on email nullity
+ if (participant.getEmail() == null) {
+ throw new PollenBusinessException(
+ PollenExceptionType.PARTICIPANT_EXIST_WITHOUT_EMAIL,
+ list.getName(),
+ participant.getName());
+ } else {
+ throw new PollenBusinessException(
+ PollenExceptionType.PARTICIPANT_EXIST,
+ list.getName(),
+ participant.getName(),
+ participant.getEmail());
+ }
+ }
+ }
+
+ @Override
+ public FavoriteParticipant executeGetNewFavoriteParticipant(
+ FavoriteList list) {
+ FavoriteParticipant result = new FavoriteParticipantImpl();
+ result.setFavoriteList(list);
+ result.setWeight(1.);
+ return result;
+ }
+
+ @Override
+ public void executeCreateFavoriteParticipant(TopiaContext transaction,
+ FavoriteParticipant participant)
+ throws PollenBusinessException, TopiaException {
+
+ FavoriteParticipantDAO dao =
+ PollenDAOHelper.getFavoriteParticipantDAO(transaction);
+
+ checkFavoriteParticipant(dao, participant);
+
+ // Create newParticipant with naturalId
+ FavoriteParticipant newParticipant =
+ dao.create(participant.getName(),
+ participant.getEmail(),
+ participant.getFavoriteList());
+
+ // Set other field
+ newParticipant.setWeight(participant.getWeight());
+
+ transaction.commitTransaction();
+ }
+
+ @Override
+ public void executeDeleteFavoriteParticipant(TopiaContext transaction,
+ String id) throws TopiaException {
+
+ FavoriteParticipantDAO dao =
+ PollenDAOHelper.getFavoriteParticipantDAO(transaction);
+
+ FavoriteParticipant participantLoaded = dao.findByTopiaId(id);
+
+ dao.delete(participantLoaded);
+
+ transaction.commitTransaction();
+ }
+
+ @Override
+ public void executeUpdateFavoriteParticipant(TopiaContext transaction,
+ FavoriteParticipant participant)
+ throws TopiaException, PollenBusinessException {
+
+ FavoriteParticipantDAO dao =
+ PollenDAOHelper.getFavoriteParticipantDAO(transaction);
+
+ checkFavoriteParticipant(dao, participant);
+
+ FavoriteParticipant participantLoaded =
+ dao.findByTopiaId(participant.getId());
+
+ // Set all fields except favoriteList that can't be changed
+ participantLoaded.setName(participant.getName());
+ participantLoaded.setEmail(participant.getEmail());
+ participantLoaded.setWeight(participant.getWeight());
+
+ dao.update(participantLoaded);
+
+ transaction.commitTransaction();
+ }
+
+ @Override
+ public FavoriteParticipant executeGetFavoriteParticipant(
+ TopiaContext transaction, String id) throws TopiaException {
+
+ FavoriteParticipantDAO dao =
+ PollenDAOHelper.getFavoriteParticipantDAO(transaction);
+
+ FavoriteParticipant result = dao.findByTopiaId(id);
+ // Load parent list
+ result.getFavoriteList();
+
+ return result;
+ }
+
+ @Override
+ public Map<String, FavoriteParticipant> executeGetFavoriteParticipants(
+ TopiaContext transaction, EntityFilter filter) throws TopiaException {
+
+ FavoriteParticipantDAO dao =
+ PollenDAOHelper.getFavoriteParticipantDAO(transaction);
+
+ PollenQueryHelper.FavoriteParticipantProperty participantProperty =
+ PollenQueryHelper.newFavoriteParticipantProperty();
+
+ TopiaQuery query = dao.createQueryFindAllByFavoriteList(filter);
+
+ if (log.isDebugEnabled()) {
+ log.debug("Query : " + query);
+ }
+
+ query.addLoad(participantProperty.favoriteList());
+
+ Map<String, FavoriteParticipant> results =
+ dao.findAllMappedByQuery(query);
+
+ return results;
+ }
+
+ @Override
+ public int executeGetNbFavoriteParticipants(TopiaContext transaction,
+ EntityFilter filter) throws TopiaException {
+
+ FavoriteParticipantDAO dao =
+ PollenDAOHelper.getFavoriteParticipantDAO(transaction);
+
+ TopiaQuery query = dao.createQueryFindAllByFavoriteList(filter);
+
+ int result = dao.countByQuery(query);
+ return result;
+ }
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceFavoriteImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServicePoll.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServicePoll.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServicePoll.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,98 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.service.legacy;
+
+import java.util.Collection;
+import java.util.List;
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenException;
+import org.chorem.pollen.bean.UserPoll;
+import org.chorem.pollen.entity.Choice;
+import org.chorem.pollen.entity.Comment;
+import org.chorem.pollen.entity.Participant;
+import org.chorem.pollen.entity.ParticipantList;
+import org.chorem.pollen.entity.Poll;
+import org.chorem.pollen.entity.PollAccount;
+import org.chorem.pollen.entity.UserAccount;
+import org.nuiton.topia.framework.EntityFilter;
+
+public interface ServicePoll {
+
+ /**
+ * Build a new Poll instance with given {@code user} as administrator
+ * @param user Build a new Poll instance with given {@code user} as administrator
+ * @return Build a new Poll instance with given {@code user} as administrator
+ * @throws PollenException
+ */
+ Poll getNewPoll(UserAccount user) throws PollenException;
+
+ /**
+ * Build a new Poll instance based on existing {@code poll} (copy)
+ * @param poll Build a new Poll instance based on existing {@code poll} (copy)
+ * @return Build a new Poll instance based on existing {@code poll} (copy)
+ * @throws PollenException
+ */
+ Poll getNewPoll(Poll poll) throws PollenException;
+
+ Poll createPoll(Poll poll, Collection<ParticipantList> lists) throws PollenException, PollenBusinessException;
+
+ Poll updatePoll(Poll poll) throws PollenException;
+
+ void deletePoll(Poll poll) throws PollenException;
+
+ boolean deleteChoice(Choice choice) throws PollenException;
+
+ List<UserPoll> getPolls(EntityFilter filter) throws PollenException;
+
+ List<Comment> getComments(EntityFilter filter) throws PollenException;
+
+ ParticipantList getNewPollList() throws PollenException;
+
+ Participant getNewPollParticipant() throws PollenException;
+
+ Poll getPoll(String pollUid, String... properties) throws PollenException, PollenBusinessException;
+
+ boolean canAdminPoll(String accountUid, String pollUid) throws PollenException;
+
+ int getNbTotalPolls() throws PollenException;
+
+ int getNbPollsByUser(UserAccount user) throws PollenException;
+
+ List<Poll> getRunningPolls() throws PollenException;
+
+ int getNbComments(Poll poll) throws PollenException;
+
+ Comment createComment(Poll poll, Comment comment) throws PollenException;
+
+ boolean deleteComment(Comment comment) throws PollenException;
+
+ Comment getNewComment(PollAccount account) throws PollenException;
+
+ Choice createChoice(Poll poll, Choice choice) throws PollenException;
+
+ Choice getNewChoice(Poll poll) throws PollenException;
+
+ void setPollClosed(Poll poll, boolean closed) throws PollenException;
+
+} //ServicePoll
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServicePoll.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServicePollAbstract.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServicePollAbstract.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServicePollAbstract.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,486 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.service.legacy;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenException;
+import org.chorem.pollen.bean.UserPoll;
+import org.chorem.pollen.entity.Choice;
+import org.chorem.pollen.entity.Comment;
+import org.chorem.pollen.entity.Participant;
+import org.chorem.pollen.entity.ParticipantList;
+import org.chorem.pollen.entity.Poll;
+import org.chorem.pollen.entity.PollAccount;
+import org.chorem.pollen.entity.UserAccount;
+import org.nuiton.i18n.I18n;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.framework.EntityFilter;
+
+public abstract class ServicePollAbstract implements ServicePoll {
+
+ protected abstract TopiaContext beginTransaction() throws TopiaException;
+
+ protected void commitTransaction(TopiaContext transaction) throws TopiaException {
+ transaction.commitTransaction();
+}
+
+ protected abstract void closeTransaction(TopiaContext transaction) throws TopiaException;
+
+ protected abstract void treateError(TopiaContext transaction, Exception eee, String message, Object... args) throws PollenException;
+
+ protected void treateError(Exception eee, String message, Object... args) throws PollenException {
+ treateError(null, eee, message, args);
+ }
+
+ protected abstract Poll executeGetNewPoll(UserAccount user) throws Exception;
+
+ protected abstract Poll executeGetNewPoll(Poll poll) throws Exception;
+
+ protected abstract Poll executeCreatePoll(TopiaContext transaction, List<Object> errorArgs, Poll poll, Collection<ParticipantList> lists) throws Exception;
+
+ protected abstract Poll executeUpdatePoll(TopiaContext transaction, Poll poll) throws Exception;
+
+ protected abstract void executeDeletePoll(TopiaContext transaction, Poll poll) throws Exception;
+
+ protected abstract boolean executeDeleteChoice(TopiaContext transaction, Choice choice) throws Exception;
+
+ protected abstract List<UserPoll> executeGetPolls(TopiaContext transaction, EntityFilter filter) throws Exception;
+
+ protected abstract List<Comment> executeGetComments(TopiaContext transaction, EntityFilter filter) throws Exception;
+
+ protected abstract ParticipantList executeGetNewPollList() throws Exception;
+
+ protected abstract Participant executeGetNewPollParticipant() throws Exception;
+
+ protected abstract Poll executeGetPoll(TopiaContext transaction, String pollUid, String... properties) throws Exception;
+
+ protected abstract boolean executeCanAdminPoll(TopiaContext transaction, String accountUid, String pollUid) throws Exception;
+
+ protected abstract int executeGetNbTotalPolls(TopiaContext transaction) throws Exception;
+
+ protected abstract int executeGetNbPollsByUser(TopiaContext transaction, UserAccount user) throws Exception;
+
+ protected abstract List<Poll> executeGetRunningPolls(TopiaContext transaction) throws Exception;
+
+ protected abstract int executeGetNbComments(TopiaContext transaction, Poll poll) throws Exception;
+
+ protected abstract Comment executeCreateComment(TopiaContext transaction, Poll poll, Comment comment) throws Exception;
+
+ protected abstract boolean executeDeleteComment(TopiaContext transaction, Comment comment) throws Exception;
+
+ protected abstract Comment executeGetNewComment(PollAccount account) throws Exception;
+
+ protected abstract Choice executeCreateChoice(TopiaContext transaction, Poll poll, Choice choice) throws Exception;
+
+ protected abstract Choice executeGetNewChoice(Poll poll) throws Exception;
+
+ protected abstract void executeSetPollClosed(TopiaContext transaction, Poll poll, boolean closed) throws Exception;
+
+ @Override
+ public Poll getNewPoll(UserAccount user) throws PollenException {
+ try {
+
+ Poll result = executeGetNewPoll(user);
+ return result;
+ } catch (Exception eee) {
+ treateError(eee, I18n.n_("pollen.error.servicePoll.getNewPoll"));
+ }
+ return null;
+ }
+
+ @Override
+ public Poll getNewPoll(Poll poll) throws PollenException {
+ try {
+
+ Poll result = executeGetNewPoll(poll);
+ return result;
+ } catch (Exception eee) {
+ treateError(eee, I18n.n_("pollen.error.servicePoll.getNewPoll"));
+ }
+ return null;
+ }
+
+ @Override
+ public Poll createPoll(Poll poll, Collection<ParticipantList> lists) throws PollenException, PollenBusinessException {
+ List<Object> errorArgs = new ArrayList<Object>();
+
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ Poll result = executeCreatePoll(transaction, errorArgs, poll, lists);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (PollenBusinessException eee) {
+ throw eee;
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.servicePoll.createPoll"), errorArgs.toArray());
+ }
+ return null;
+ }
+
+ @Override
+ public Poll updatePoll(Poll poll) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ Poll result = executeUpdatePoll(transaction, poll);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.servicePoll.updatePoll"));
+ }
+ return null;
+ }
+
+ @Override
+ public void deletePoll(Poll poll) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeDeletePoll(transaction, poll);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.servicePoll.deletePoll"));
+ }
+
+ }
+
+ @Override
+ public boolean deleteChoice(Choice choice) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ boolean result = executeDeleteChoice(transaction, choice);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.servicePoll.deleteChoice"));
+ }
+ return false;
+ }
+
+ @Override
+ public List<UserPoll> getPolls(EntityFilter filter) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<UserPoll> result = executeGetPolls(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.servicePoll.getPolls"));
+ }
+ return null;
+ }
+
+ @Override
+ public List<Comment> getComments(EntityFilter filter) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<Comment> result = executeGetComments(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.servicePoll.getComments"));
+ }
+ return null;
+ }
+
+ @Override
+ public ParticipantList getNewPollList() throws PollenException {
+ try {
+
+ ParticipantList result = executeGetNewPollList();
+ return result;
+ } catch (Exception eee) {
+ treateError(eee, I18n.n_("pollen.error.servicePoll.getNewPollList"));
+ }
+ return null;
+ }
+
+ @Override
+ public Participant getNewPollParticipant() throws PollenException {
+ try {
+
+ Participant result = executeGetNewPollParticipant();
+ return result;
+ } catch (Exception eee) {
+ treateError(eee, I18n.n_("pollen.error.servicePoll.getNewPollParticipant"));
+ }
+ return null;
+ }
+
+ @Override
+ public Poll getPoll(String pollUid, String... properties) throws PollenException, PollenBusinessException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ Poll result = executeGetPoll(transaction, pollUid, properties);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (PollenBusinessException eee) {
+ throw eee;
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.servicePoll.getPoll"));
+ }
+ return null;
+ }
+
+ @Override
+ public boolean canAdminPoll(String accountUid, String pollUid) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ boolean result = executeCanAdminPoll(transaction, accountUid, pollUid);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.servicePoll.canAdminPoll"));
+ }
+ return false;
+ }
+
+ @Override
+ public int getNbTotalPolls() throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ int result = executeGetNbTotalPolls(transaction);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.servicePoll.getNbTotalPolls"));
+ }
+ return 0;
+ }
+
+ @Override
+ public int getNbPollsByUser(UserAccount user) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ int result = executeGetNbPollsByUser(transaction, user);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.servicePoll.getNbPollsByUser"));
+ }
+ return 0;
+ }
+
+ @Override
+ public List<Poll> getRunningPolls() throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<Poll> result = executeGetRunningPolls(transaction);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.servicePoll.getRunningPolls"));
+ }
+ return null;
+ }
+
+ @Override
+ public int getNbComments(Poll poll) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ int result = executeGetNbComments(transaction, poll);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.servicePoll.getNbComments"));
+ }
+ return 0;
+ }
+
+ @Override
+ public Comment createComment(Poll poll, Comment comment) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ Comment result = executeCreateComment(transaction, poll, comment);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.servicePoll.createComment"));
+ }
+ return null;
+ }
+
+ @Override
+ public boolean deleteComment(Comment comment) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ boolean result = executeDeleteComment(transaction, comment);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.servicePoll.deleteComment"));
+ }
+ return false;
+ }
+
+ @Override
+ public Comment getNewComment(PollAccount account) throws PollenException {
+ try {
+
+ Comment result = executeGetNewComment(account);
+ return result;
+ } catch (Exception eee) {
+ treateError(eee, I18n.n_("pollen.error.servicePoll.getNewComment"));
+ }
+ return null;
+ }
+
+ @Override
+ public Choice createChoice(Poll poll, Choice choice) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ Choice result = executeCreateChoice(transaction, poll, choice);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.servicePoll.createChoice"));
+ }
+ return null;
+ }
+
+ @Override
+ public Choice getNewChoice(Poll poll) throws PollenException {
+ try {
+
+ Choice result = executeGetNewChoice(poll);
+ return result;
+ } catch (Exception eee) {
+ treateError(eee, I18n.n_("pollen.error.servicePoll.getNewChoice"));
+ }
+ return null;
+ }
+
+ @Override
+ public void setPollClosed(Poll poll, boolean closed) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeSetPollClosed(transaction, poll, closed);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.servicePoll.setPollClosed"));
+ }
+
+ }
+
+} //ServicePollAbstract
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServicePollAbstract.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServicePollImpl.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServicePollImpl.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServicePollImpl.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,718 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.service.legacy;
+
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.chorem.pollen.PollenBinderHelper;
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenContext;
+import org.chorem.pollen.PollenDAOHelper;
+import org.chorem.pollen.PollenException;
+import org.chorem.pollen.PollenQueryHelper;
+import org.chorem.pollen.bean.UserPoll;
+import org.chorem.pollen.common.ChoiceType;
+import org.chorem.pollen.common.PollType;
+import org.chorem.pollen.common.VoteCountingType;
+import org.chorem.pollen.entity.Choice;
+import org.chorem.pollen.entity.ChoiceDAO;
+import org.chorem.pollen.entity.ChoiceImpl;
+import org.chorem.pollen.entity.Comment;
+import org.chorem.pollen.entity.CommentDAO;
+import org.chorem.pollen.entity.CommentImpl;
+import org.chorem.pollen.entity.Participant;
+import org.chorem.pollen.entity.ParticipantList;
+import org.chorem.pollen.entity.Poll;
+import org.chorem.pollen.entity.PollAccount;
+import org.chorem.pollen.entity.PollAccountDAO;
+import org.chorem.pollen.entity.PollAccountImpl;
+import org.chorem.pollen.entity.PollDAO;
+import org.chorem.pollen.entity.PollImpl;
+import org.chorem.pollen.entity.UserAccount;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.framework.EntityFilter;
+import org.nuiton.topia.framework.TopiaQuery;
+import org.nuiton.topia.persistence.util.TopiaEntityBinder;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * ServicePoll
+ * <p/>
+ * Created: 23 mars 2010
+ *
+ * @author fdesbois
+ * $Id$
+ */
+public class ServicePollImpl extends ServicePollAbstract {
+
+ private static final Log log = LogFactory.getLog(ServicePollImpl.class);
+
+ private PollenContext context;
+
+ public void setContext(PollenContext context) {
+ this.context = context;
+ }
+
+ @Override
+ protected TopiaContext beginTransaction() throws TopiaException {
+ return context.beginTransaction();
+ }
+
+ @Override
+ protected void treateError(TopiaContext transaction, Exception eee,
+ String message, Object... args) throws PollenException {
+ context.treateError(transaction, eee, message, args);
+ }
+
+ @Override
+ protected void closeTransaction(TopiaContext transaction) {
+ context.closeTransaction(transaction);
+ }
+
+ @Override
+ public Poll executeGetNewPoll(UserAccount user) {
+ Poll poll = new PollImpl();
+ poll.setChoiceType(ChoiceType.TEXT);
+ poll.setVoteCounting(VoteCountingType.NORMAL);
+ poll.setType(PollType.FREE);
+ // Initialize creator as an admin for the poll
+ PollAccount creator = new PollAccountImpl();
+ creator.setAdmin(true);
+ if (user != null) {
+ // Link the creator with the user
+ creator.setName(user.getDisplayName());
+ creator.setEmail(user.getEmail());
+ creator.setUserAccount(user);
+ }
+ poll.setCreator(creator);
+ // Generate Uid to have a unique poll. Will avoid multi-submit, existing
+ // poll will be check by its uid.
+ poll.setUid(context.createPollenUrlId());
+ return poll;
+ }
+
+ @Override
+ public Poll executeGetNewPoll(Poll poll) {
+ Poll result = new PollImpl();
+ TopiaEntityBinder<Poll> binder = PollenBinderHelper.getSimpleTopiaBinder(Poll.class);
+ //TODO-fdesbois-2010-07-13 : add test and check if exluding only those properties is realistic
+ binder.copyExcluding(poll, result,
+ Poll.PROPERTY_UID,
+ Poll.PROPERTY_CLOSED,
+ Poll.PROPERTY_RESULT,
+ Poll.PROPERTY_POLL_ACCOUNT
+ );
+ // Copy of participants only for no free poll
+ if (poll.getType().isRestrictedOrGroup()) {
+ result.setPollAccount(poll.getPollAccount());
+ }
+ return result;
+ }
+
+ @Override
+ public Poll executeCreatePoll(TopiaContext transaction,
+ List<Object> errorArgs, Poll poll, Collection<ParticipantList> lists)
+ throws TopiaException,
+ IllegalArgumentException,
+ PollenBusinessException {
+
+ errorArgs.add(poll.getTitle());
+ errorArgs.add(poll.getUid());
+
+ PollDAO dao = PollenDAOHelper.getPollDAO(transaction);
+
+ if (dao.existByNaturalId(poll.getUid())) {
+ throw new PollenBusinessException(
+ PollenBusinessException.PollenExceptionType.POLL_EXIST);
+ }
+
+ // Create newPoll and copy simple properties from poll source
+ Poll newPoll = createBasicPoll(transaction, poll);
+
+ // Create accounts only for non free poll
+ if (!newPoll.getType().isFree()) {
+ // Create accounts depends on pollType and lists argument
+ List<PollAccount> accounts = createPollAccounts(transaction,
+ newPoll.getType(), lists);
+
+ newPoll.setPollAccount(accounts);
+ }
+
+ // Create newPoll choices
+ List<Choice> choices = createPollChoices(transaction, poll.getChoice());
+
+ newPoll.setChoice(choices);
+
+ dao.update(newPoll);
+
+ transaction.commitTransaction();
+
+ return newPoll;
+ }
+
+ @Override
+ public Poll executeUpdatePoll(TopiaContext transaction,
+ Poll poll) throws TopiaException {
+
+ PollDAO dao = PollenDAOHelper.getPollDAO(transaction);
+
+ // Updating a Poll :
+ // - TITLE
+ // - DESCRIPTION
+ // - BEGIN/END DATE
+ // - CHOICE_ADD_ALLOWED
+ // - BEGIN/END ADD CHOICE DATE
+ // - MAX_CHOICE_NB
+ // - CONTINUOUS_RESULTS
+ // - PUBLIC_RESULTS
+ // - ANONYMOUS_VOTE_ALLOWED
+
+ // Anonymous change is not supported (need to manage accounts)
+ // PollType change is not supported (need to manage accounts)
+ // VoteCounting change is not supported (need to manage existing votes)
+
+ // Comments, Results, Choices and Accounts will not be updated here
+
+ // Update only for not started poll :
+ // - VOTE_COUNTING
+ // - CHOICE_TYPE
+ // - CHOICES
+
+ Poll pollToUpdate = dao.findByTopiaId(poll.getTopiaId());
+
+ // Can't update a closed poll
+ if (pollToUpdate.isClosed()) {
+ // TODO-fdesbois-2011-07-13 : throw error
+ }
+
+ TopiaEntityBinder<Poll> binder = PollenBinderHelper.getSimpleTopiaBinder(Poll.class);
+
+ // Idea, if we can use Embeddable object for Hibernate, Options will be a good use case
+ binder.copy(poll, pollToUpdate,
+ Poll.PROPERTY_TITLE,
+ Poll.PROPERTY_DESCRIPTION,
+ Poll.PROPERTY_BEGIN_DATE,
+ Poll.PROPERTY_END_DATE,
+ Poll.PROPERTY_ANONYMOUS_VOTE_ALLOWED,
+ Poll.PROPERTY_CHOICE_ADD_ALLOWED,
+ Poll.PROPERTY_BEGIN_CHOICE_DATE,
+ Poll.PROPERTY_END_CHOICE_DATE,
+ Poll.PROPERTY_CONTINUOUS_RESULTS,
+ Poll.PROPERTY_PUBLIC_RESULTS,
+ Poll.PROPERTY_MAX_CHOICE_NB
+ );
+
+ // if not started
+ if (!pollToUpdate.isStarted()) {
+
+ log.debug("Poll is not started, update voteCounting and choices");
+
+ // Update voteCounting is simple when poll have no vote
+ pollToUpdate.setVoteCounting(poll.getVoteCounting());
+
+ // Override choices if type has changed, otherwise the choice entity will automatically be updated
+ if (!pollToUpdate.getType().equals(poll.getChoiceType())) {
+ pollToUpdate.setChoiceType(poll.getChoiceType());
+
+ ChoiceDAO choiceDAO = PollenDAOHelper.getChoiceDAO(transaction);
+ // Clear previous choices, will properly delete orphans
+ pollToUpdate.getChoice().clear();
+ // Create new choices and add them to the poll
+ for (Choice choice : poll.getChoice()) {
+ Choice newChoice = pollToUpdate.addNewChoice(choice.getName(), choice.getDescription());
+ choiceDAO.create(newChoice);
+ }
+ }
+ }
+
+ // If continuous results is now activated, execute a voteCounting
+ if (!pollToUpdate.isContinuousResults() && poll.isContinuousResults()) {
+ // TODO-fdesbois-2011-07-13 : execute vote counting
+ }
+
+ Poll result = dao.update(pollToUpdate);
+ transaction.commitTransaction();
+ return result;
+ }
+
+ @Override
+ public void executeDeletePoll(TopiaContext transaction, Poll poll)
+ throws TopiaException {
+
+ PollDAO dao = PollenDAOHelper.getPollDAO(transaction);
+
+ dao.delete(poll);
+
+ transaction.commitTransaction();
+ }
+
+ @Override
+ public Choice executeGetNewChoice(Poll poll) {
+ Choice newChoice = new ChoiceImpl();
+ newChoice.setType(poll.getChoiceType());
+ return newChoice;
+ }
+
+ @Override
+ public void executeSetPollClosed(TopiaContext transaction, Poll poll, boolean closed) throws TopiaException {
+
+ PollDAO dao = PollenDAOHelper.getPollDAO(transaction);
+
+ Poll pollToUpdate = dao.findByTopiaId(poll.getTopiaId());
+ pollToUpdate.setClosed(closed);
+
+ dao.update(pollToUpdate);
+ transaction.commitTransaction();
+ }
+
+ @Override
+ public Choice executeCreateChoice(TopiaContext transaction,
+ Poll poll, Choice choice)
+ throws TopiaException {
+
+ ChoiceDAO dao = PollenDAOHelper.getChoiceDAO(transaction);
+
+ Choice choiceCreated = dao.create(
+ Choice.PROPERTY_NAME, choice.getName(),
+ Choice.PROPERTY_DESCRIPTION, choice.getDescription(),
+ Choice.PROPERTY_TYPE, choice.getType()
+ );
+
+ PollDAO pollDAO = PollenDAOHelper.getPollDAO(transaction);
+
+ Poll pollToUpdate = pollDAO.findByTopiaId(poll.getTopiaId());
+
+ pollToUpdate.addChoice(choiceCreated);
+
+ pollDAO.update(pollToUpdate);
+ transaction.commitTransaction();
+
+ return choiceCreated;
+ }
+
+ @Override
+ public boolean executeDeleteChoice(TopiaContext transaction, Choice choice)
+ throws TopiaException {
+ ChoiceDAO dao = PollenDAOHelper.getChoiceDAO(transaction);
+
+ dao.delete(choice);
+
+ transaction.commitTransaction();
+
+ return true;
+ }
+
+ @Override
+ public List<Poll> executeGetRunningPolls(TopiaContext transaction)
+ throws TopiaException {
+
+ PollDAO dao = PollenDAOHelper.getPollDAO(transaction);
+
+ // isRunning : isStarted() && !isFinished() && !isClosed()
+ TopiaQuery query = dao.createQuery();
+
+ Date now = context.getCurrentDate();
+
+ query.addWhere(Poll.PROPERTY_BEGIN_DATE, TopiaQuery.Op.LE, now).
+ addWhere(Poll.PROPERTY_END_DATE, TopiaQuery.Op.GE, now).
+ addEquals(Poll.PROPERTY_CLOSED, Boolean.FALSE).
+ addOrderDesc(Poll.TOPIA_CREATE_DATE);
+
+ List<Poll> results = dao.findAllByQuery(query);
+
+ return results;
+ }
+
+ @Override
+ public List<UserPoll> executeGetPolls(TopiaContext transaction,
+ EntityFilter filter)
+ throws TopiaException {
+
+ PollDAO dao = PollenDAOHelper.getPollDAO(transaction);
+
+ PollenQueryHelper.PollAccountProperty participantProperty =
+ PollenQueryHelper.newPollAccountChildProperty();
+
+ // Filter can be apply on userAccount as reference
+ TopiaQuery query = dao.createQueryFindAllByUser(filter);
+
+ query.addSelect(participantProperty.$alias());
+
+ log.debug("Query : " + query);
+
+ List<UserPoll> results = retrieveUserPolls(transaction, query);
+
+ return results;
+ }
+
+ @Override
+ public int executeGetNbPollsByUser(TopiaContext transaction,
+ UserAccount user)
+ throws TopiaException {
+
+ PollDAO dao = PollenDAOHelper.getPollDAO(transaction);
+
+ EntityFilter filter = context.getNewFilter();
+ filter.setReference(user);
+ TopiaQuery query = dao.createQueryFindAllByUser(filter);
+
+ int result = dao.countByQuery(query);
+
+ return result;
+ }
+
+ @Override
+ public int executeGetNbTotalPolls(TopiaContext transaction)
+ throws TopiaException {
+
+ Long result = PollenDAOHelper.getPollDAO(transaction).count();
+
+ return result.intValue();
+ }
+
+ @Override
+ public List<Comment> executeGetComments(TopiaContext transaction,
+ EntityFilter filter)
+ throws TopiaException {
+
+ CommentDAO dao = PollenDAOHelper.getCommentDAO(transaction);
+
+// String pollAlias = PollenQueryHelper.ALIAS_POLL;
+// String pollCommentProperty =
+// TopiaQuery.getProperty(pollAlias, Poll.PROPERTY_COMMENT);
+// String commentAlias = PollenQueryHelper.ALIAS_COMMENT;
+
+ PollenQueryHelper.PollProperty pollProperty =
+ PollenQueryHelper.newPollProperty();
+ PollenQueryHelper.CommentProperty commentProperty =
+ PollenQueryHelper.newCommentProperty();
+
+ filter.checkReference(Poll.class, true);
+ filter.setReferenceProperty(pollProperty.$alias());
+
+ TopiaQuery query = PollenQueryHelper.createQuery(pollProperty).
+ setSelect(commentProperty.$alias()).
+ addJoin(pollProperty.comment(), commentProperty.$alias(), false).
+ addFilter(filter);
+
+ List<Comment> comments = dao.findAllByQuery(query);
+
+ return comments;
+ }
+
+ @Override
+ public int executeGetNbComments(TopiaContext transaction,
+ Poll poll)
+ throws TopiaException {
+
+ PollDAO dao = PollenDAOHelper.getPollDAO(transaction);
+
+ Poll pollFound = dao.findByTopiaId(poll.getTopiaId());
+
+ int count = pollFound.sizeComment();
+
+ return count;
+ }
+
+ @Override
+ public Comment executeCreateComment(TopiaContext transaction,
+ Poll poll, Comment comment)
+ throws TopiaException {
+
+ CommentDAO dao = PollenDAOHelper.getCommentDAO(transaction);
+
+ Comment commentCreated = dao.create(
+ Comment.PROPERTY_AUTHOR, comment.getAuthor(),
+ Comment.PROPERTY_COMMENT_DATE, context.getCurrentDate(),
+ Comment.PROPERTY_TEXT, comment.getText()
+ );
+
+ PollDAO pollDAO = PollenDAOHelper.getPollDAO(transaction);
+
+ Poll pollToUpdate = pollDAO.findByTopiaId(poll.getTopiaId());
+
+ pollToUpdate.addComment(commentCreated);
+
+ pollDAO.update(pollToUpdate);
+
+ transaction.commitTransaction();
+
+ return commentCreated;
+ }
+
+ @Override
+ public boolean executeDeleteComment(TopiaContext transaction,
+ Comment comment)
+ throws TopiaException {
+
+ CommentDAO dao = PollenDAOHelper.getCommentDAO(transaction);
+
+ dao.delete(comment);
+
+ transaction.commitTransaction();
+
+ return true;
+ }
+
+ @Override
+ public Comment executeGetNewComment(PollAccount account) {
+ Comment newComment = new CommentImpl();
+ if (account != null) {
+ newComment.setAuthor(account.getName());
+ }
+ return newComment;
+ }
+
+ @Override
+ public ParticipantList executeGetNewPollList() {
+ PollAccount list = new PollAccountImpl();
+ list.setList(true);
+ list.setChild(new ArrayList<PollAccount>());
+ return list;
+ }
+
+ @Override
+ public Participant executeGetNewPollParticipant() {
+ PollAccount participant = new PollAccountImpl();
+ participant.setWeight(1.);
+ return participant;
+ }
+
+ @Override
+ public boolean executeCanAdminPoll(TopiaContext transaction,
+ String accountUid, String pollUid)
+ throws TopiaException {
+
+// String creatorUidProperty =
+// TopiaQuery.getProperty(Poll.PROPERTY_CREATOR,
+// PollAccount.PROPERTY_UID);
+//
+// TopiaQuery query = dao.createQuery().
+// addEquals(Poll.PROPERTY_UID, pollUid).
+// addEquals(creatorUidProperty, accountUid);
+
+ PollenQueryHelper.PollProperty pollProperty = PollenQueryHelper.newPollProperty();
+
+ TopiaQuery query = PollenQueryHelper.createQuery(pollProperty).
+ addEquals(pollProperty.uid(), pollUid).
+ addEquals(pollProperty.creatorProperty().uid(), accountUid);
+
+
+ // Note a boolean admin exist in PollAccount, maybe
+ // find the account in lists
+
+ boolean result = PollenDAOHelper.getPollDAO(transaction).existByQuery(query);
+
+ return result;
+ }
+
+ @Override
+ public Poll executeGetPoll(TopiaContext transaction,
+ String pollUid, String... properties)
+ throws TopiaException, PollenBusinessException {
+
+ // Property is used to control the alias and dependencies inside the query
+ PollenQueryHelper.PollProperty pollProperty =
+ PollenQueryHelper.newPollProperty();
+
+ // Need to control the alias for fetching, add it to each property
+ String[] fetchProperties = new String[properties.length];
+ for (int i = 0; i < properties.length; i++) {
+ // This will clean properties for fetching
+ fetchProperties[i] = pollProperty.$property(properties[i]);
+ }
+
+ // Create the query using default alias for Poll
+ TopiaQuery query = PollenQueryHelper.createQuery(pollProperty).
+ addFetch(fetchProperties).
+ addEquals(pollProperty.uid(), pollUid);
+
+ Poll result = PollenDAOHelper.getPollDAO(transaction).findByQuery(query);
+ if (result == null) {
+ throw new PollenBusinessException(
+ PollenBusinessException.PollenExceptionType.POLL_NOT_EXIST);
+ }
+ return result;
+ }
+
+ public Poll createBasicPoll(TopiaContext transaction, Poll source)
+ throws TopiaException {
+ PollDAO dao = PollenDAOHelper.getPollDAO(transaction);
+
+ PollAccountDAO accountDAO =
+ PollenDAOHelper.getPollAccountDAO(transaction);
+
+ // Create newPoll and copy simple properties from poll source
+ Poll newPoll = dao.create(source.getUid());
+
+ // Copy all properties instead of Uid (already set at creation),
+ // Closed (not used in this case) and Creator (managed separately)
+ PollenBinderHelper.getSimpleTopiaBinder(Poll.class).
+ copyExcluding(source, newPoll,
+ Poll.PROPERTY_UID,
+ Poll.PROPERTY_CLOSED,
+ Poll.PROPERTY_CREATOR);
+
+ // Create creator and set him to the poll
+ PollAccount creator = accountDAO.create(context.createPollenUrlId());
+
+ PollenBinderHelper.getSimpleTopiaBinder(PollAccount.class).
+ copy(source.getCreator(), creator,
+ PollAccount.PROPERTY_NAME,
+ PollAccount.PROPERTY_EMAIL,
+// PollAccount.WEIGHT,
+ PollAccount.PROPERTY_ADMIN,
+ PollAccount.PROPERTY_USER_ACCOUNT);
+ accountDAO.update(creator);
+
+ newPoll.setCreator(creator);
+ return newPoll;
+ }
+
+ protected List<PollAccount> createPollAccounts(TopiaContext transaction,
+ PollType type,
+ Collection<ParticipantList> lists)
+ throws TopiaException, IllegalArgumentException {
+
+ List<PollAccount> results = new ArrayList<PollAccount>();
+
+ PollAccountDAO accountDAO =
+ PollenDAOHelper.getPollAccountDAO(transaction);
+
+ switch (type) {
+ case RESTRICTED:
+ if (CollectionUtils.isEmpty(lists)) {
+ throw new IllegalArgumentException("lists can't be empty" +
+ " for restricted poll");
+ }
+ // Create accounts only on first participant list
+ results = createPersonAccounts(accountDAO,
+ lists.iterator().next());
+ break;
+ case GROUP:
+ if (CollectionUtils.isEmpty(lists)) {
+ throw new IllegalArgumentException("lists can't be empty" +
+ " for group poll");
+ }
+
+ for (ParticipantList list : lists) {
+ // Create the accountList
+ PollAccount accountList = accountDAO.create(
+ context.createPollenUrlId());
+ accountList.setList(true);
+ accountList.setName(list.getName());
+
+ // Create account children
+ List<PollAccount> accounts =
+ createPersonAccounts(accountDAO, list);
+ accountList.setChild(accounts);
+
+ // Add the accountList to the results
+ results.add(accountList);
+ }
+ }
+ return results;
+ }
+
+ protected List<PollAccount> createPersonAccounts(PollAccountDAO dao,
+ ParticipantList list)
+ throws TopiaException {
+
+ List<PollAccount> results = new ArrayList<PollAccount>();
+
+ for (Participant participant : list.getParticipants()) {
+ String accountUid = context.createPollenUrlId();
+ PollAccount account = dao.create(accountUid);
+ account.setName(participant.getName());
+ account.setEmail(participant.getEmail());
+ account.setWeight(participant.getWeight());
+ dao.update(account);
+ results.add(account);
+ }
+ return results;
+ }
+
+ protected List<Choice> createPollChoices(TopiaContext transaction,
+ List<Choice> source)
+ throws TopiaException {
+
+ ChoiceDAO dao = PollenDAOHelper.getChoiceDAO(transaction);
+
+ List<Choice> results = new ArrayList<Choice>();
+
+ for (Choice choice : source) {
+ Choice newChoice = dao.create();
+ PollenBinderHelper.getSimpleTopiaBinder(Choice.class).
+ copy(choice, newChoice);
+ results.add(newChoice);
+ }
+ return results;
+ }
+
+ protected List<UserPoll> retrieveUserPolls(TopiaContext transaction,
+ TopiaQuery query)
+ throws TopiaException {
+
+ List<UserPoll> results = new ArrayList<UserPoll>();
+
+ Map<String, UserPoll> pollsCache =
+ new HashMap<String, UserPoll>();
+
+
+ List<Object[]> queryResults = transaction.findByQuery(query);
+ for (Object[] row : queryResults) {
+ Poll poll = (Poll) row[0];
+ PollAccount account = (PollAccount) row[1];
+ if (log.isDebugEnabled()) {
+ log.debug("account : " + account.getUid() + " : " +
+ account.getName() +
+ " list(" + account.isList() + ")" +
+ " admin(" + account.isAdmin() + ")" +
+ " for poll " + poll.getTitle());
+ }
+
+ UserPoll userPoll = pollsCache.get(poll.getTopiaId());
+
+ if (userPoll == null) {
+ userPoll = new UserPoll();
+ userPoll.setPoll(poll);
+ results.add(userPoll);
+ pollsCache.put(poll.getTopiaId(), userPoll);
+ }
+
+ userPoll.addAccount(account);
+ }
+
+ return results;
+ }
+
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServicePollImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceUser.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceUser.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceUser.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,48 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.service.legacy;
+
+import java.util.Map;
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenException;
+import org.chorem.pollen.entity.UserAccount;
+import org.nuiton.topia.framework.EntityFilter;
+
+public interface ServiceUser {
+
+ UserAccount connect(String login, String password) throws PollenException, PollenBusinessException;
+
+ UserAccount getNewUser() throws PollenException;
+
+ void createUser(UserAccount user) throws PollenException, PollenBusinessException;
+
+ void updateUser(UserAccount user, boolean byAdmin) throws PollenException, PollenBusinessException;
+
+ void deleteUser(String login) throws PollenException;
+
+ Map<String, UserAccount> getUsers(EntityFilter filter) throws PollenException;
+
+ int getNbUsers() throws PollenException;
+
+} //ServiceUser
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceUser.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceUserAbstract.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceUserAbstract.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceUserAbstract.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,205 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.service.legacy;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenException;
+import org.chorem.pollen.entity.UserAccount;
+import org.nuiton.i18n.I18n;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.framework.EntityFilter;
+
+public abstract class ServiceUserAbstract implements ServiceUser {
+
+ protected abstract TopiaContext beginTransaction() throws TopiaException;
+
+ protected void commitTransaction(TopiaContext transaction) throws TopiaException {
+ transaction.commitTransaction();
+}
+
+ protected abstract void closeTransaction(TopiaContext transaction) throws TopiaException;
+
+ protected abstract void treateError(TopiaContext transaction, Exception eee, String message, Object... args) throws PollenException;
+
+ protected void treateError(Exception eee, String message, Object... args) throws PollenException {
+ treateError(null, eee, message, args);
+ }
+
+ protected abstract UserAccount executeConnect(TopiaContext transaction, List<Object> errorArgs, String login, String password) throws Exception;
+
+ protected abstract UserAccount executeGetNewUser() throws Exception;
+
+ protected abstract void executeCreateUser(TopiaContext transaction, List<Object> errorArgs, UserAccount user) throws Exception;
+
+ protected abstract void executeUpdateUser(TopiaContext transaction, List<Object> errorArgs, UserAccount user, boolean byAdmin) throws Exception;
+
+ protected abstract void executeDeleteUser(TopiaContext transaction, String login) throws Exception;
+
+ protected abstract Map<String, UserAccount> executeGetUsers(TopiaContext transaction, EntityFilter filter) throws Exception;
+
+ protected abstract int executeGetNbUsers(TopiaContext transaction) throws Exception;
+
+ @Override
+ public UserAccount connect(String login, String password) throws PollenException, PollenBusinessException {
+ List<Object> errorArgs = new ArrayList<Object>();
+
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ UserAccount result = executeConnect(transaction, errorArgs, login, password);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (PollenBusinessException eee) {
+ throw eee;
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.serviceUser.connect"), errorArgs.toArray());
+ }
+ return null;
+ }
+
+ @Override
+ public UserAccount getNewUser() throws PollenException {
+ try {
+
+ UserAccount result = executeGetNewUser();
+ return result;
+ } catch (Exception eee) {
+ treateError(eee, I18n.n_("pollen.error.serviceUser.getNewUser"));
+ }
+ return null;
+ }
+
+ @Override
+ public void createUser(UserAccount user) throws PollenException, PollenBusinessException {
+ List<Object> errorArgs = new ArrayList<Object>();
+
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeCreateUser(transaction, errorArgs, user);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (PollenBusinessException eee) {
+ throw eee;
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.serviceUser.createUser"), errorArgs.toArray());
+ }
+
+ }
+
+ @Override
+ public void updateUser(UserAccount user, boolean byAdmin) throws PollenException, PollenBusinessException {
+ List<Object> errorArgs = new ArrayList<Object>();
+
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeUpdateUser(transaction, errorArgs, user, byAdmin);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (PollenBusinessException eee) {
+ throw eee;
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.serviceUser.updateUser"), errorArgs.toArray());
+ }
+
+ }
+
+ @Override
+ public void deleteUser(String login) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeDeleteUser(transaction, login);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.serviceUser.deleteUser"));
+ }
+
+ }
+
+ @Override
+ public Map<String, UserAccount> getUsers(EntityFilter filter) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ Map<String, UserAccount> result = executeGetUsers(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.serviceUser.getUsers"));
+ }
+ return null;
+ }
+
+ @Override
+ public int getNbUsers() throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ int result = executeGetNbUsers(transaction);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.serviceUser.getNbUsers"));
+ }
+ return 0;
+ }
+
+} //ServiceUserAbstract
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceUserAbstract.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceUserImpl.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceUserImpl.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceUserImpl.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,316 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+package org.chorem.pollen.service.legacy;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.chorem.pollen.PollenBinderHelper;
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenBusinessException.PollenExceptionType;
+import org.chorem.pollen.PollenContext;
+import org.chorem.pollen.PollenDAOHelper;
+import org.chorem.pollen.PollenException;
+import org.chorem.pollen.entity.UserAccount;
+import org.chorem.pollen.entity.UserAccountDAO;
+import org.chorem.pollen.entity.UserAccountImpl;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.framework.EntityFilter;
+import org.nuiton.topia.framework.TopiaQuery;
+import org.nuiton.topia.framework.TopiaQuery.Op;
+import org.nuiton.topia.persistence.util.TopiaEntityBinder;
+import org.nuiton.util.StringUtil;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * ServiceUserImpl
+ * <p/>
+ * Created: 23 mars 2010
+ *
+ * @author fdesbois
+ * @version $Revision$
+ * <p/>
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+public class ServiceUserImpl extends ServiceUserAbstract {
+
+ private Log log = LogFactory.getLog(ServiceUserImpl.class);
+
+ private PollenContext context;
+
+ public void setContext(PollenContext context) {
+ this.context = context;
+ }
+
+ @Override
+ protected TopiaContext beginTransaction() throws TopiaException {
+ return context.beginTransaction();
+ }
+
+ @Override
+ protected void treateError(TopiaContext transaction, Exception eee,
+ String message, Object... args) throws PollenException {
+ context.treateError(transaction, eee, message, args);
+ }
+
+ @Override
+ protected void closeTransaction(TopiaContext transaction) {
+ context.closeTransaction(transaction);
+ }
+
+ /**
+ * Copy {@code source} user account to {@code destination} one.
+ * The email is lower cased in the {@code destination} user account.
+ *
+ * @param source user account to copy
+ * @param destination which receive the copy
+ * @see org.nuiton.util.beans.Binder#copy(Object, Object, String...)
+ */
+ protected void copyUserAccount(UserAccount source, UserAccount destination) {
+ TopiaEntityBinder<UserAccount> binder =
+ PollenBinderHelper.getSimpleTopiaBinder(UserAccount.class);
+
+ binder.copy(source, destination, UserAccount.PROPERTY_ADMIN,
+ UserAccount.PROPERTY_FIRST_NAME,
+ UserAccount.PROPERTY_LAST_NAME);
+ // Don't keep case for email
+ destination.setEmail(StringUtils.lowerCase(source.getEmail()));
+ // Manage new password if needed
+ String password = source.getNewPassword();
+ if (StringUtils.isNotEmpty(password)) {
+// destination.setPassword(context.encodePassword(password));
+ destination.setPassword(encodePassword(password));
+ }
+ }
+
+ public String encodePassword(String password) {
+// try {
+ return StringUtil.encodeMD5(password);
+// } catch (NoSuchAlgorithmException eee) {
+// treateError(eee, n_("pollen.error.encodePassword"));
+// }
+// return null;
+ }
+
+ /**
+ * Check if the {@code login} and {@code password} correspond to an
+ * existing user.
+ *
+ * @param dao used to execute the query
+ * @param login to check
+ * @param password to check
+ * @throws TopiaException for ToPIA errors
+ * @throws PollenBusinessException {@link PollenExceptionType#USER_WRONG_PASSWORD}
+ */
+ protected void checkPassword(UserAccountDAO dao, String login,
+ String password) throws TopiaException, PollenBusinessException {
+// int count = dao.createQuery().
+// add(UserAccount.LOGIN, login).
+// add(UserAccount.PASSWORD, password).
+// executeCount();
+ // no user found
+ if (!dao.existByProperties(UserAccount.PROPERTY_LOGIN, login,
+ UserAccount.PROPERTY_PASSWORD, password)) {
+ throw new PollenBusinessException(
+ PollenExceptionType.USER_WRONG_PASSWORD, login);
+ }
+ }
+
+ /**
+ * Check if the {@code login} doesn't already exist.
+ *
+ * @param dao used to execute the query
+ * @param login to check
+ * @throws TopiaException for ToPIA errors
+ * @throws PollenBusinessException {@link PollenExceptionType#USER_LOGIN_EXIST}
+ */
+ protected void checkLoginNotExist(UserAccountDAO dao, String login)
+ throws PollenBusinessException, TopiaException {
+// int count = dao.createQuery().
+// add(UserAccount.LOGIN, login).
+// executeCount();
+ // existing user found
+ if (dao.existByNaturalId(login)) {
+ throw new PollenBusinessException(
+ PollenExceptionType.USER_LOGIN_EXIST);
+ }
+ }
+
+ /**
+ * Check if the {@code email} doesn't already exist, only if not empty.
+ *
+ * @param dao used to execute the query
+ * @param email to check
+ * @param query existing query to execute. A new one will be created if this
+ * param is null.
+ * @throws TopiaException for ToPIA errors
+ * @throws PollenBusinessException {@link PollenExceptionType#USER_EMAIL_EXIST}
+ */
+ protected void checkEmailNotExist(UserAccountDAO dao, String email,
+ TopiaQuery query) throws PollenBusinessException, TopiaException {
+ // Don't check if email is empty
+ if (StringUtils.isEmpty(email)) {
+ return;
+ }
+ if (query == null) {
+ query = dao.createQuery();
+ }
+ query.addEquals(UserAccount.PROPERTY_EMAIL, StringUtils.lowerCase(email));
+
+ // existing user found
+ if (dao.existByQuery(query)) {
+ throw new PollenBusinessException(
+ PollenExceptionType.USER_EMAIL_EXIST);
+ }
+ }
+
+ @Override
+ public UserAccount executeConnect(TopiaContext transaction,
+ List<Object> errorArgs, String login, String password)
+ throws PollenBusinessException, TopiaException {
+
+// String encodedPassword = context.encodePassword(password);
+ String encodedPassword = encodePassword(password);
+
+ errorArgs.add(login);
+ errorArgs.add(encodedPassword);
+
+ UserAccountDAO dao = PollenDAOHelper.getUserAccountDAO(transaction);
+
+ UserAccount user = dao.findByLogin(login);
+
+ if (user == null) {
+ throw new PollenBusinessException(
+ PollenExceptionType.USER_NOT_EXIST, login);
+ }
+ checkPassword(dao, login, encodedPassword);
+ return user;
+ }
+
+ @Override
+ public UserAccount executeGetNewUser() {
+ UserAccount user = new UserAccountImpl();
+ return user;
+ }
+
+ @Override
+ public void executeCreateUser(TopiaContext transaction,
+ List<Object> errorArgs, UserAccount user)
+ throws TopiaException, PollenBusinessException {
+
+ errorArgs.add(user.getLogin());
+ errorArgs.add(user.getEmail());
+ errorArgs.add(user.getAdmin());
+
+ UserAccountDAO dao = PollenDAOHelper.getUserAccountDAO(transaction);
+
+ // Check login not exist
+ checkLoginNotExist(dao, user.getLogin());
+
+ // Check email not exist
+ checkEmailNotExist(dao, user.getEmail(), null);
+
+ // Execute create
+ UserAccount newUser = dao.create(user.getLogin());
+ copyUserAccount(user, newUser);
+// user.setTopiaId(newUser.getTopiaId());
+
+ transaction.commitTransaction();
+ }
+
+
+ @Override
+ public void executeUpdateUser(TopiaContext transaction,
+ List<Object> errorArgs, UserAccount user, boolean byAdmin)
+ throws TopiaException, PollenBusinessException {
+
+ errorArgs.add(user.getLogin());
+ errorArgs.add(user.getEmail());
+ errorArgs.add(user.getAdmin());
+
+ UserAccountDAO dao = PollenDAOHelper.getUserAccountDAO(transaction);
+
+ // Do not manage password for an admin update
+ if (!byAdmin) {
+ // Check the password
+// String encodedPassword = context.encodePassword(user.getPassword());
+ String encodedPassword = encodePassword(user.getPassword());
+ checkPassword(dao, user.getLogin(), encodedPassword);
+ }
+
+ // In case of email change, check if an other user has not already
+ // the new email
+ // FIXME-fdesbois-20100510 : replace by using id directly
+ TopiaQuery query = dao.createQuery().
+ addWhere(UserAccount.PROPERTY_LOGIN,
+ Op.NEQ, user.getLogin());
+ checkEmailNotExist(dao, user.getEmail(), query);
+
+ // Execute update
+ UserAccount editedUser = dao.findByLogin(user.getLogin());
+ copyUserAccount(user, editedUser);
+ dao.update(editedUser);
+
+ transaction.commitTransaction();
+ }
+
+ @Override
+ public void executeDeleteUser(TopiaContext transaction, String login)
+ throws TopiaException {
+ UserAccountDAO dao = PollenDAOHelper.getUserAccountDAO(transaction);
+ UserAccount user = dao.findByLogin(login);
+ dao.delete(user);
+ transaction.commitTransaction();
+ }
+
+ @Override
+ public Map<String, UserAccount> executeGetUsers(TopiaContext transaction,
+ EntityFilter filter) throws TopiaException {
+
+ UserAccountDAO dao = PollenDAOHelper.getUserAccountDAO(transaction);
+
+ TopiaQuery query = dao.createQuery().addFilter(filter);
+
+ Map<String, UserAccount> results = dao.findAllMappedByQuery(
+ query, UserAccount.PROPERTY_LOGIN, String.class);
+ return results;
+ }
+
+ @Override
+ public int executeGetNbUsers(TopiaContext transaction) throws TopiaException {
+
+ UserAccountDAO dao = PollenDAOHelper.getUserAccountDAO(transaction);
+
+ Long result = dao.count();
+
+ return result.intValue();
+ }
+
+
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceUserImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceVote.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceVote.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceVote.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,56 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.service.legacy;
+
+import java.util.List;
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenException;
+import org.chorem.pollen.entity.Choice;
+import org.chorem.pollen.entity.Poll;
+import org.chorem.pollen.entity.PollAccount;
+import org.chorem.pollen.entity.UserAccount;
+import org.chorem.pollen.entity.Vote;
+import org.nuiton.topia.framework.EntityFilter;
+
+public interface ServiceVote {
+
+ boolean canVote(Poll poll, PollAccount participant) throws PollenException;
+
+ PollAccount getNewPollAccount(UserAccount user) throws PollenException;
+
+ PollAccount getPollAccount(String accountUid) throws PollenException;
+
+ List<PollAccount> getVotes(EntityFilter filter) throws PollenException;
+
+ void deleteVote(Poll poll, PollAccount participant) throws PollenException;
+
+ int getNbVotes(Poll poll) throws PollenException;
+
+ Vote getNewVote(Choice choice) throws PollenException;
+
+ PollAccount saveVote(Poll poll, PollAccount participant) throws PollenException, PollenBusinessException;
+
+ PollAccount findPollAccount(Poll poll, UserAccount user) throws PollenException;
+
+} //ServiceVote
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceVote.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceVoteAbstract.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceVoteAbstract.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceVoteAbstract.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,232 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.service.legacy;
+
+import java.util.List;
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenException;
+import org.chorem.pollen.entity.Choice;
+import org.chorem.pollen.entity.Poll;
+import org.chorem.pollen.entity.PollAccount;
+import org.chorem.pollen.entity.UserAccount;
+import org.chorem.pollen.entity.Vote;
+import org.nuiton.i18n.I18n;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.framework.EntityFilter;
+
+public abstract class ServiceVoteAbstract implements ServiceVote {
+
+ protected abstract TopiaContext beginTransaction() throws TopiaException;
+
+ protected void commitTransaction(TopiaContext transaction) throws TopiaException {
+ transaction.commitTransaction();
+}
+
+ protected abstract void closeTransaction(TopiaContext transaction) throws TopiaException;
+
+ protected abstract void treateError(TopiaContext transaction, Exception eee, String message, Object... args) throws PollenException;
+
+ protected void treateError(Exception eee, String message, Object... args) throws PollenException {
+ treateError(null, eee, message, args);
+ }
+
+ protected abstract boolean executeCanVote(TopiaContext transaction, Poll poll, PollAccount participant) throws Exception;
+
+ protected abstract PollAccount executeGetNewPollAccount(UserAccount user) throws Exception;
+
+ protected abstract PollAccount executeGetPollAccount(TopiaContext transaction, String accountUid) throws Exception;
+
+ protected abstract List<PollAccount> executeGetVotes(TopiaContext transaction, EntityFilter filter) throws Exception;
+
+ protected abstract void executeDeleteVote(TopiaContext transaction, Poll poll, PollAccount participant) throws Exception;
+
+ protected abstract int executeGetNbVotes(TopiaContext transaction, Poll poll) throws Exception;
+
+ protected abstract Vote executeGetNewVote(Choice choice) throws Exception;
+
+ protected abstract PollAccount executeSaveVote(TopiaContext transaction, Poll poll, PollAccount participant) throws Exception;
+
+ protected abstract PollAccount executeFindPollAccount(TopiaContext transaction, Poll poll, UserAccount user) throws Exception;
+
+ @Override
+ public boolean canVote(Poll poll, PollAccount participant) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ boolean result = executeCanVote(transaction, poll, participant);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.serviceVote.canVote"));
+ }
+ return false;
+ }
+
+ @Override
+ public PollAccount getNewPollAccount(UserAccount user) throws PollenException {
+ try {
+
+ PollAccount result = executeGetNewPollAccount(user);
+ return result;
+ } catch (Exception eee) {
+ treateError(eee, I18n.n_("pollen.error.serviceVote.getNewPollAccount"));
+ }
+ return null;
+ }
+
+ @Override
+ public PollAccount getPollAccount(String accountUid) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ PollAccount result = executeGetPollAccount(transaction, accountUid);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.serviceVote.getPollAccount"));
+ }
+ return null;
+ }
+
+ @Override
+ public List<PollAccount> getVotes(EntityFilter filter) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ List<PollAccount> result = executeGetVotes(transaction, filter);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.serviceVote.getVotes"));
+ }
+ return null;
+ }
+
+ @Override
+ public void deleteVote(Poll poll, PollAccount participant) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ executeDeleteVote(transaction, poll, participant);
+
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.serviceVote.deleteVote"));
+ }
+
+ }
+
+ @Override
+ public int getNbVotes(Poll poll) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ int result = executeGetNbVotes(transaction, poll);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.serviceVote.getNbVotes"));
+ }
+ return 0;
+ }
+
+ @Override
+ public Vote getNewVote(Choice choice) throws PollenException {
+ try {
+
+ Vote result = executeGetNewVote(choice);
+ return result;
+ } catch (Exception eee) {
+ treateError(eee, I18n.n_("pollen.error.serviceVote.getNewVote"));
+ }
+ return null;
+ }
+
+ @Override
+ public PollAccount saveVote(Poll poll, PollAccount participant) throws PollenException, PollenBusinessException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ PollAccount result = executeSaveVote(transaction, poll, participant);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (PollenBusinessException eee) {
+ throw eee;
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.serviceVote.saveVote"));
+ }
+ return null;
+ }
+
+ @Override
+ public PollAccount findPollAccount(Poll poll, UserAccount user) throws PollenException {
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+
+ try {
+ PollAccount result = executeFindPollAccount(transaction, poll, user);
+ return result;
+ } finally {
+ closeTransaction(transaction);
+ }
+
+ } catch (Exception eee) {
+ treateError(transaction, eee, I18n.n_("pollen.error.serviceVote.findPollAccount"));
+ }
+ return null;
+ }
+
+} //ServiceVoteAbstract
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceVoteAbstract.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceVoteImpl.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceVoteImpl.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceVoteImpl.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,457 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.service.legacy;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.chorem.pollen.PollenBinderHelper;
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenContext;
+import org.chorem.pollen.PollenDAOHelper;
+import org.chorem.pollen.PollenException;
+import org.chorem.pollen.PollenQueryHelper;
+import org.chorem.pollen.entity.Choice;
+import org.chorem.pollen.entity.Poll;
+import org.chorem.pollen.entity.PollAccount;
+import org.chorem.pollen.entity.PollAccountDAO;
+import org.chorem.pollen.entity.PollAccountImpl;
+import org.chorem.pollen.entity.PollDAO;
+import org.chorem.pollen.entity.UserAccount;
+import org.chorem.pollen.entity.Vote;
+import org.chorem.pollen.entity.VoteDAO;
+import org.chorem.pollen.entity.VoteImpl;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.framework.EntityFilter;
+import org.nuiton.topia.framework.TopiaQuery;
+import org.nuiton.topia.persistence.util.TopiaEntityBinder;
+
+import java.util.List;
+
+/**
+ * Created: 21 mai 2010
+ *
+ * @author fdesbois <fdesbois(a)codelutin.com>
+ * @version $Id$
+ */
+public class ServiceVoteImpl extends ServiceVoteAbstract {
+
+ private static final Log log = LogFactory.getLog(ServiceVoteImpl.class);
+
+ private PollenContext context;
+
+ public void setContext(PollenContext context) {
+ this.context = context;
+ }
+
+ @Override
+ protected TopiaContext beginTransaction() throws TopiaException {
+ return context.beginTransaction();
+ }
+
+ @Override
+ protected void treateError(TopiaContext transaction, Exception eee,
+ String message, Object... args) throws PollenException {
+ context.treateError(transaction, eee, message, args);
+ }
+
+ @Override
+ protected void closeTransaction(TopiaContext transaction) {
+ context.closeTransaction(transaction);
+ }
+
+ /**
+ * Copy from account {@code source} to {@code destination}. The {@code
+ * destination} will be persisted. The anonymous case is manage, properties
+ * that identify the person are excluded from the copy in this case.
+ *
+ * @param source PollAccount to save
+ * @param destination PollAccount with up to date data to persist
+ * @see TopiaEntityBinder#copyExcluding(Object, Object, String...)
+ */
+ protected void copyPollAccount(PollAccount source, PollAccount destination) {
+ // Uid is the naturalId, don't copy it
+ String[] excludes = new String[]{PollAccount.PROPERTY_UID};
+
+ // Exclude properties for anonymous account
+ if (source.isAnonymous()) {
+ if (log.isInfoEnabled()) {
+ log.info("Anonymous vote, doesn't copy participant's data : " +
+ "name, email, userAccount");
+ }
+
+ excludes = new String[]{
+ PollAccount.PROPERTY_UID,
+ PollAccount.PROPERTY_NAME,
+ PollAccount.PROPERTY_EMAIL,
+ PollAccount.PROPERTY_USER_ACCOUNT};
+ }
+
+ TopiaEntityBinder binder =
+ PollenBinderHelper.getSimpleTopiaBinder(PollAccount.class);
+
+ binder.copyExcluding(source, destination, excludes);
+ }
+
+ @Override
+ public boolean executeCanVote(TopiaContext transaction,
+ Poll poll,
+ PollAccount participant)
+ throws TopiaException {
+
+ if (log.isDebugEnabled()) {
+ log.debug("Poll started : " + poll.isStarted());
+ log.debug("Poll finished : " + poll.isFinished());
+ log.debug("Poll closed : " + poll.isClosed());
+ }
+ boolean result = true;
+ if (!poll.isRunning()) {
+ if (log.isInfoEnabled()) {
+ log.info("Poll is no longer running... Participant can't vote");
+ }
+ result = false;
+ // Creator can't vote
+ } else if (poll.getCreator().equals(participant)) {
+ return false;
+ } else if (poll.getType().isRestrictedOrGroup()) {
+ if (log.isInfoEnabled()) {
+ log.info("Poll is restricted... Participant need to be identified");
+ }
+
+ PollAccountDAO dao = PollenDAOHelper.getPollAccountDAO(transaction);
+
+ TopiaQuery query = dao.createQueryFindAllParticipantsByPoll(poll);
+
+ String participantAlias = PollenQueryHelper.ALIAS_POLL_ACCOUNT_CHILD;
+
+ String pollCreatorProperty =
+ TopiaQuery.getProperty(PollenQueryHelper.ALIAS_POLL,
+ Poll.PROPERTY_CREATOR);
+
+ query.addEquals(participantAlias, participant).
+ addWhere(pollCreatorProperty, TopiaQuery.Op.NEQ, participant);
+
+ if (log.isDebugEnabled()) {
+ log.debug("Query : " + query);
+ }
+
+ result = dao.existByQuery(query);
+ }
+ return result;
+ }
+
+ @Override
+ public PollAccount executeGetNewPollAccount(UserAccount user) {
+ PollAccount account = new PollAccountImpl();
+ if (user != null) {
+ account.setName(user.getDisplayName());
+ account.setEmail(user.getEmail());
+ account.setUserAccount(user);
+ }
+ return account;
+ }
+
+ @Override
+ public PollAccount executeGetPollAccount(TopiaContext transaction,
+ String accountUid)
+ throws TopiaException {
+
+ PollenQueryHelper.PollAccountProperty accountProperty =
+ PollenQueryHelper.newPollAccountProperty();
+
+ TopiaQuery query = PollenQueryHelper.createQuery(accountProperty).
+ addEquals(accountProperty.uid(), accountUid).
+ // Need fetching account votes to edit them
+ addFetch(accountProperty.choiceVote());
+
+ PollAccount result = PollenDAOHelper.getPollAccountDAO(transaction).
+ findByQuery(query);
+
+ return result;
+ }
+
+ @Override
+ public List<PollAccount> executeGetVotes(TopiaContext transaction,
+ EntityFilter filter)
+ throws TopiaException {
+
+ PollAccountDAO dao = PollenDAOHelper.getPollAccountDAO(transaction);
+
+// String participantChoiceProperty =
+// TopiaQuery.getProperty(PollenQueryHelper.ALIAS_POLL_ACCOUNT,
+// PollAccount.PROPERTY_CHOICE_VOTE,
+// Vote.PROPERTY_CHOICE);
+//
+// TopiaQuery query = dao.createQueryFindAllByPoll(filter).
+// addDistinct().
+// addFetch(participantChoiceProperty);
+
+ PollenQueryHelper.PollAccountProperty accountProperty =
+ PollenQueryHelper.newPollAccountProperty();
+
+ TopiaQuery query = dao.createQueryFindAllByPoll(filter).
+ addDistinct().
+ addFetch(accountProperty.choiceVoteProperty().choice());
+
+ List<PollAccount> results = dao.findAllByQuery(query);
+
+ if (log.isDebugEnabled()) {
+ log.debug("Query : " + query);
+ }
+
+ return results;
+ }
+
+ @Override
+ public int executeGetNbVotes(TopiaContext transaction, Poll poll)
+ throws TopiaException {
+
+ PollAccountDAO dao = PollenDAOHelper.getPollAccountDAO(transaction);
+
+ EntityFilter filter = context.getNewFilter();
+ filter.setReference(poll);
+ TopiaQuery query = dao.createQueryFindAllByPoll(filter);
+
+ int result = dao.countByQuery(query);
+ return result;
+ }
+
+ @Override
+ public void executeDeleteVote(TopiaContext transaction, Poll poll,
+ PollAccount participant) throws TopiaException {
+
+ // For free poll, delete the participant
+ // For other types, delete all votes and set voteDate to null
+
+ if (poll.getType().isFree()) {
+
+ PollAccountDAO dao = PollenDAOHelper.getPollAccountDAO(transaction);
+
+ PollAccount participantToDelete =
+ dao.findByTopiaId(participant.getTopiaId());
+
+ dao.delete(participantToDelete);
+
+ } else if (poll.getType().isRestrictedOrGroup()) {
+
+ PollAccountDAO dao = PollenDAOHelper.getPollAccountDAO(transaction);
+
+ PollAccount participantToUpdate =
+ dao.findByTopiaId(participant.getTopiaId());
+
+ // Remove all votes deleted by cascade
+ participantToUpdate.clearChoiceVote();
+ // Reset date, the participant is considered like he has not alerady
+ // voted
+ participantToUpdate.setVoteDate(null);
+
+ dao.update(participantToUpdate);
+ }
+
+ transaction.commitTransaction();
+ }
+
+ @Override
+ public Vote executeGetNewVote(Choice choice) {
+ Vote result = new VoteImpl();
+ result.setChoice(choice);
+ return result;
+ }
+
+ @Override
+ public PollAccount executeSaveVote(TopiaContext transaction, Poll poll,
+ PollAccount participant)
+ throws TopiaException, PollenBusinessException {
+
+ // 1- executeCanVote(transaction, poll, participant);
+ // 2- generate uid if needed
+ // 3- update or create participant
+ // 4- add participant in the poll if needed
+ // 5- save only votes with voteValue != 0 : update/create/delete
+ // 6- execute calcul for continuousResults poll
+
+ // NEED test :
+ // need existing poll with choices
+ // getNewPollAccount
+ // set some votes for poll choices
+ // saveVote
+
+ PollAccount result = null;
+ if (executeCanVote(transaction, poll, participant)) {
+
+ PollAccountDAO dao = PollenDAOHelper.getPollAccountDAO(transaction);
+
+ checkParticipantDoubloons(dao, poll, participant);
+
+ PollAccount participantToSave =
+ dao.findByTopiaId(participant.getTopiaId());
+
+ // canVote method check the existence of participant for a
+ // restricted poll, so the create case is only for FREE poll.
+ if (participantToSave == null) {
+ if (log.isInfoEnabled()) {
+ log.info("Create new participant for FREE poll");
+ }
+ participantToSave = createNewParticipant(transaction, poll);
+ }
+
+ // Copy data (care about anonymous case)
+ copyPollAccount(participant, participantToSave);
+
+ // Update vote date
+ participantToSave.setVoteDate(context.getCurrentDate());
+
+ if (log.isDebugEnabled()) {
+ log.debug("Vote " + participantToSave.getName() +
+ " updated : " + participantToSave.getVoteDate());
+ }
+
+ // Save votes
+ saveParticipantVotes(transaction, participant, participantToSave);
+
+ dao.update(participantToSave);
+
+ result = participantToSave;
+
+ // TODO-fdesbois-2010-05-27 : execute vote counting if poll.isContinuousResults()
+
+ transaction.commitTransaction();
+ } else {
+ throw new PollenBusinessException(
+ PollenBusinessException.PollenExceptionType.VOTE_NOT_ALLOWED,
+ participant.getUid());
+ }
+
+ return result;
+ }
+
+ @Override
+ public PollAccount executeFindPollAccount(TopiaContext transaction, Poll poll, UserAccount user) throws Exception {
+ throw new UnsupportedOperationException("unsupported operation findPollAccount");
+ }
+
+ protected void checkParticipantDoubloons(PollAccountDAO dao,
+ Poll poll,
+ PollAccount participant)
+ throws PollenBusinessException, TopiaException {
+
+ TopiaQuery query = dao.createQueryFindAllParticipantsByPoll(poll);
+
+ String participantAlias = PollenQueryHelper.ALIAS_POLL_ACCOUNT_CHILD;
+
+ String participantNameProperty =
+ TopiaQuery.getProperty(participantAlias,
+ PollAccount.PROPERTY_NAME);
+
+ query.addEquals(participantNameProperty, participant.getName());
+
+ if (StringUtils.isNotEmpty(participant.getTopiaId())) {
+ query.addWhere(participantAlias, TopiaQuery.Op.NEQ, participant);
+ }
+
+ if (dao.existByQuery(query)) {
+ throw new PollenBusinessException(
+ PollenBusinessException.PollenExceptionType.VOTE_DOUBLOON,
+ participant.getName());
+ }
+ }
+
+ /**
+ * Create a new participant for a running {@code poll}. The participant uid
+ * will be generated and the new instance of pollAccount will be added to
+ * the {@code poll}.
+ *
+ * @param transaction TopiaContext to retrieve daos
+ * @param poll Poll where the new participant will be added
+ * @return a new PollAccount added to the poll
+ * @throws TopiaException for Topia errors
+ */
+ protected PollAccount createNewParticipant(TopiaContext transaction,
+ Poll poll)
+ throws TopiaException {
+
+ PollAccountDAO dao = PollenDAOHelper.getPollAccountDAO(transaction);
+
+ // Generate new uid
+ String newUid = context.createPollenUrlId();
+ PollAccount newParticipant = dao.create(newUid);
+
+ // Add the new participant in poll
+ PollDAO pollDAO = PollenDAOHelper.getPollDAO(transaction);
+
+ Poll pollFound = pollDAO.findByTopiaId(poll.getTopiaId());
+ pollFound.addPollAccount(newParticipant);
+
+ pollDAO.update(pollFound);
+ return newParticipant;
+ }
+
+ /**
+ * Save all votes from a participant. Votes will be added/updated or deleted
+ * depends on voteValue and existence in database.
+ *
+ * @param transaction TopiaContext to retrieve daos
+ * @param source PollAccount source that contains vote to save
+ * @param destination PollAccount destination where votes will be added to
+ * be persisted
+ * @throws TopiaException for Topia errors
+ */
+ protected void saveParticipantVotes(TopiaContext transaction,
+ PollAccount source,
+ PollAccount destination)
+ throws TopiaException {
+
+ VoteDAO voteDAO = PollenDAOHelper.getVoteDAO(transaction);
+ for (Vote vote : source.getChoiceVote()) {
+
+ Vote voteToSave = voteDAO.findByTopiaId(vote.getTopiaId());
+
+ if (vote.getVoteValue() != 0) {
+ // Create vote
+ if (voteToSave == null) {
+ if (log.isDebugEnabled()) {
+ log.debug("Create vote for " + destination.getUid());
+ }
+ voteToSave = voteDAO.create();
+ voteToSave.setChoice(vote.getChoice());
+ // Add new vote to destination participant
+ destination.addChoiceVote(voteToSave);
+ }
+
+ // Update vote
+ voteToSave.setVoteValue(vote.getVoteValue());
+ voteDAO.update(voteToSave);
+
+ // Delete vote if exist and new value is 0
+ } else if (voteToSave != null) {
+ if (log.isDebugEnabled()) {
+ log.debug("Delete vote for " + destination.getUid());
+ }
+ // Normally the vote will be deleted
+ destination.removeChoiceVote(voteToSave);
+ }
+ }
+ }
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/service/legacy/ServiceVoteImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/EmailService.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/EmailService.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/EmailService.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,54 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.services;
+
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenTechnicalException;
+import org.chorem.pollen.bean.PollenEmail;
+import org.chorem.pollen.entity.UserAccount;
+import org.chorem.pollen.service.legacy.ServiceEmailImpl;
+
+public class EmailService extends PollenServiceSupport {
+
+ public PollenEmail createEmail() {
+ ServiceEmailImpl service = new ServiceEmailImpl();
+ PollenEmail result = service.createEmail();
+ return result;
+ }
+
+ public void sendEmail(PollenEmail email) {
+ ServiceEmailImpl service = new ServiceEmailImpl();
+ try {
+ service.executeSendEmail(email);
+ } catch (PollenBusinessException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public PollenEmail getNewEmail(UserAccount toUser) {
+ ServiceEmailImpl service = new ServiceEmailImpl();
+ return service.executeGetNewEmail(toUser);
+ }
+
+}
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/FavoriteService.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/FavoriteService.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/FavoriteService.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,136 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.services;
+
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenTechnicalException;
+import org.chorem.pollen.entity.FavoriteList;
+import org.chorem.pollen.entity.FavoriteParticipant;
+import org.chorem.pollen.entity.UserAccount;
+import org.chorem.pollen.service.legacy.ServiceFavoriteImpl;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.framework.EntityFilter;
+
+import java.util.List;
+import java.util.Map;
+
+public class FavoriteService extends PollenServiceSupport {
+
+ public void createFavoriteParticipant(FavoriteParticipant participant) throws PollenBusinessException {
+ ServiceFavoriteImpl service = new ServiceFavoriteImpl();
+ try {
+ service.executeCreateFavoriteParticipant(getTransaction(), participant);
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public void deleteFavoriteParticipant(String id) {
+ ServiceFavoriteImpl service = new ServiceFavoriteImpl();
+ try {
+ service.executeDeleteFavoriteParticipant(getTransaction(), id);
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public FavoriteParticipant getFavoriteParticipant(String id) {
+ ServiceFavoriteImpl service = new ServiceFavoriteImpl();
+ try {
+ FavoriteParticipant result = service.executeGetFavoriteParticipant(getTransaction(), id);
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public Map<String, FavoriteParticipant> getFavoriteParticipants(EntityFilter filter) {
+ ServiceFavoriteImpl service = new ServiceFavoriteImpl();
+ try {
+ Map<String, FavoriteParticipant> result = service.executeGetFavoriteParticipants(getTransaction(), filter);
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public List<FavoriteList> getFavoriteLists(UserAccount user) {
+ ServiceFavoriteImpl service = new ServiceFavoriteImpl();
+ try {
+ List<FavoriteList> result = service.executeGetFavoriteLists(getTransaction(), user);
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public void deleteFavoriteList(FavoriteList list) {
+ ServiceFavoriteImpl service = new ServiceFavoriteImpl();
+ try {
+ service.executeDeleteFavoriteList(getTransaction(), list);
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public void createFavoriteList(FavoriteList list) throws PollenBusinessException {
+ ServiceFavoriteImpl service = new ServiceFavoriteImpl();
+ try {
+ service.executeCreateFavoriteList(getTransaction(), list);
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public int getNbFavoriteParticipants(EntityFilter filter) {
+ ServiceFavoriteImpl service = new ServiceFavoriteImpl();
+ try {
+ int result = service.executeGetNbFavoriteParticipants(getTransaction(), filter);
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public FavoriteParticipant getNewFavoriteParticipant(FavoriteList list) {
+ ServiceFavoriteImpl service = new ServiceFavoriteImpl();
+ FavoriteParticipant result = service.executeGetNewFavoriteParticipant(list);
+ return result;
+ }
+
+ public FavoriteList getNewFavoriteList(UserAccount user) {
+ ServiceFavoriteImpl service = new ServiceFavoriteImpl();
+ FavoriteList result = service.executeGetNewFavoriteList(user);
+ return result;
+ }
+
+ public void updateFavoriteParticipant(FavoriteParticipant participant) throws PollenBusinessException {
+ ServiceFavoriteImpl service = new ServiceFavoriteImpl();
+ try {
+ service.executeUpdateFavoriteParticipant(getTransaction(), participant);
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+}
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollService.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollService.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollService.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,267 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.services;
+
+import com.google.common.collect.Lists;
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenException;
+import org.chorem.pollen.PollenTechnicalException;
+import org.chorem.pollen.bean.UserPoll;
+import org.chorem.pollen.entity.Choice;
+import org.chorem.pollen.entity.Comment;
+import org.chorem.pollen.entity.Participant;
+import org.chorem.pollen.entity.ParticipantList;
+import org.chorem.pollen.entity.Poll;
+import org.chorem.pollen.entity.PollAccount;
+import org.chorem.pollen.entity.UserAccount;
+import org.chorem.pollen.service.legacy.ServicePollImpl;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.framework.EntityFilter;
+
+import java.util.Collection;
+import java.util.List;
+
+public class PollService extends PollenServiceSupport {
+
+ /**
+ * Build a new Poll instance with given {@code user} as administrator
+ *
+ * @param user Build a new Poll instance with given {@code user} as administrator
+ * @return Build a new Poll instance with given {@code user} as administrator
+ * @throws PollenException
+ */
+ public Poll getNewPoll(UserAccount user) {
+ ServicePollImpl service = new ServicePollImpl();
+ Poll result = service.executeGetNewPoll(user);
+ return result;
+ }
+
+ /**
+ * Build a new Poll instance based on existing {@code poll} (copy)
+ *
+ * @param poll Build a new Poll instance based on existing {@code poll} (copy)
+ * @return Build a new Poll instance based on existing {@code poll} (copy)
+ * @throws PollenException
+ */
+ public Poll getNewPoll(Poll poll) {
+ ServicePollImpl service = new ServicePollImpl();
+ Poll result = service.executeGetNewPoll(poll);
+ return result;
+ }
+
+ public Poll createPoll(Poll poll, Collection<ParticipantList> lists) throws PollenBusinessException {
+ ServicePollImpl service = new ServicePollImpl();
+ try {
+ Poll result = service.executeCreatePoll(getTransaction(), Lists.newArrayList(), poll, lists);
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public Poll updatePoll(Poll poll) {
+ ServicePollImpl service = new ServicePollImpl();
+ try {
+ Poll result = service.executeUpdatePoll(getTransaction(), poll);
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public void deletePoll(Poll poll) {
+ ServicePollImpl service = new ServicePollImpl();
+ try {
+ service.executeDeletePoll(getTransaction(), poll);
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public boolean deleteChoice(Choice choice) {
+ ServicePollImpl service = new ServicePollImpl();
+ try {
+ boolean result = service.executeDeleteChoice(getTransaction(), choice);
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public List<UserPoll> getPolls(EntityFilter filter) {
+ ServicePollImpl service = new ServicePollImpl();
+ try {
+ List<UserPoll> result = service.executeGetPolls(getTransaction(), filter);
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public List<Comment> getComments(EntityFilter filter) {
+ ServicePollImpl service = new ServicePollImpl();
+ try {
+ List<Comment> result = service.executeGetComments(getTransaction(), filter);
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public ParticipantList getNewPollList() {
+ ServicePollImpl service = new ServicePollImpl();
+ ParticipantList result = service.executeGetNewPollList();
+ return result;
+ }
+
+ public Participant getNewPollParticipant() {
+ ServicePollImpl service = new ServicePollImpl();
+ Participant result = service.executeGetNewPollParticipant();
+ return result;
+ }
+
+ public Poll getPoll(String pollUid, String... properties) throws PollenBusinessException {
+ ServicePollImpl service = new ServicePollImpl();
+ try {
+ Poll result = service.executeGetPoll(getTransaction(), pollUid, properties);
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public boolean canAdminPoll(String accountUid, String pollUid) {
+ ServicePollImpl service = new ServicePollImpl();
+ try {
+ boolean result = service.executeCanAdminPoll(getTransaction(), accountUid, pollUid);
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public int getNbTotalPolls() {
+ ServicePollImpl service = new ServicePollImpl();
+ try {
+ int result = service.executeGetNbTotalPolls(getTransaction());
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public int getNbPollsByUser(UserAccount user) {
+ ServicePollImpl service = new ServicePollImpl();
+ try {
+ int result = service.executeGetNbPollsByUser(getTransaction(), user);
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public List<Poll> getRunningPolls() {
+ ServicePollImpl service = new ServicePollImpl();
+ try {
+ List<Poll> result = service.executeGetRunningPolls(getTransaction());
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public int getNbComments(Poll poll) {
+ ServicePollImpl service = new ServicePollImpl();
+ try {
+ int result = service.executeGetNbComments(getTransaction(), poll);
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public Comment createComment(Poll poll, Comment comment) {
+ ServicePollImpl service = new ServicePollImpl();
+ try {
+ Comment result = service.executeCreateComment(getTransaction(), poll, comment);
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public boolean deleteComment(Comment comment) {
+ ServicePollImpl service = new ServicePollImpl();
+ try {
+ boolean result = service.executeDeleteComment(getTransaction(), comment);
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public Comment getNewComment(PollAccount account) {
+ ServicePollImpl service = new ServicePollImpl();
+ Comment result = service.executeGetNewComment(account);
+ return result;
+ }
+
+ public Choice createChoice(Poll poll, Choice choice) {
+ ServicePollImpl service = new ServicePollImpl();
+ try {
+ Choice result = service.executeCreateChoice(getTransaction(), poll, choice);
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public Choice getNewChoice(Poll poll) {
+ ServicePollImpl service = new ServicePollImpl();
+ Choice result = service.executeGetNewChoice(poll);
+ return result;
+ }
+
+ public void setPollClosed(Poll poll, boolean closed) throws Exception {
+ ServicePollImpl service = new ServicePollImpl();
+ try {
+ service.executeSetPollClosed(getTransaction(), poll, closed);
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public Poll createBasicPoll(Poll source)
+ throws TopiaException {
+ ServicePollImpl service = new ServicePollImpl();
+ try {
+ Poll result = service.createBasicPoll(getTransaction(), source);
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+}
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollenService.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollenService.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollenService.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,39 @@
+/*
+ * #%L
+ * EchoBase :: Services
+ *
+ * $Id: EchoBaseService.java 20 2011-11-08 09:01:17Z tchemit $
+ * $HeadURL: http://svn.forge.codelutin.com/svn/echobase/trunk/echobase-services/src/mai… $
+ * %%
+ * Copyright (C) 2011 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+package org.chorem.pollen.services;
+
+/**
+ * Contract to place on each EchBase service to push the {@code serviceContext}
+ * inside the service.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @see PollenServiceContext
+ * @since 0.1
+ */
+public interface PollenService {
+
+ void setServiceContext(PollenServiceContext serviceContext);
+
+}
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceContext.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceContext.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceContext.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,67 @@
+/*
+ * #%L
+ * EchoBase :: Services
+ *
+ * $Id: EchoBaseServiceContext.java 54 2011-11-13 22:20:37Z tchemit $
+ * $HeadURL: http://svn.forge.codelutin.com/svn/echobase/trunk/echobase-services/src/mai… $
+ * %%
+ * Copyright (C) 2011 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+package org.chorem.pollen.services;
+
+import org.chorem.pollen.PollenConfiguration;
+import org.nuiton.topia.TopiaContext;
+
+import java.util.Date;
+import java.util.Locale;
+
+/**
+ * This contract represents objects you must provide when asking for a service.
+ * Objects provided may be injected in services returned by
+ * {@link PollenServiceFactory#newService(Class, PollenServiceContext)}
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.1
+ */
+public interface PollenServiceContext {
+
+ TopiaContext getTransaction();
+
+ void setTransaction(TopiaContext transaction);
+
+ Locale getLocale();
+
+ PollenConfiguration getConfiguration();
+
+ PollenServiceFactory getServiceFactory();
+
+ <E extends PollenService> E newService(Class<E> clazz);
+
+ /**
+ * createPollenUrlId :
+ * Create a unique UId for entities which need it (PollAccount, Poll).
+ * This UId represent the entity in UI module.
+ *
+ * @return String
+ */
+ String createPollenUrlId();
+
+ /** @return the current date */
+ Date getCurrentTime();
+
+}
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceContextImpl.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceContextImpl.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceContextImpl.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,139 @@
+/*
+ * #%L
+ * EchoBase :: Services
+ *
+ * $Id: EchoBaseServiceContextImpl.java 148 2011-12-05 22:55:34Z tchemit $
+ * $HeadURL: http://svn.forge.codelutin.com/svn/echobase/trunk/echobase-services/src/mai… $
+ * %%
+ * Copyright (C) 2011 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.services;
+
+import com.google.common.base.Preconditions;
+import com.google.common.base.Supplier;
+import org.chorem.pollen.PollenConfiguration;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+
+import java.util.Date;
+import java.util.Locale;
+import java.util.UUID;
+
+/**
+ * Instances of this class will be given to service factory.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.1
+ */
+public class PollenServiceContextImpl implements PollenServiceContext {
+
+ protected TopiaContext transaction;
+
+ protected PollenServiceFactory serviceFactory;
+
+ protected PollenConfiguration configuration;
+
+ protected Locale locale;
+
+ public static PollenServiceContext newContext(
+ PollenServiceContext serviceContext,
+ TopiaContext transaction) {
+ return newContext(serviceContext.getLocale(),
+ transaction,
+ serviceContext.getConfiguration(),
+ serviceContext.getServiceFactory()
+ );
+ }
+
+ public static PollenServiceContext newContext(
+ Locale locale,
+ Supplier<TopiaContext> topiaContextSupplier,
+ PollenConfiguration configuration,
+ PollenServiceFactory serviceFactory) throws TopiaException {
+ return newContext(locale,
+ topiaContextSupplier.get().beginTransaction(),
+ configuration,
+ serviceFactory);
+ }
+
+ public static PollenServiceContext newContext(
+ Locale locale,
+ TopiaContext transaction,
+ PollenConfiguration configuration,
+ PollenServiceFactory serviceFactory) {
+ return new PollenServiceContextImpl(locale,
+ transaction,
+ configuration,
+ serviceFactory);
+ }
+
+ protected PollenServiceContextImpl(Locale locale,
+ TopiaContext transaction,
+ PollenConfiguration configuration,
+ PollenServiceFactory serviceFactory) {
+ this.locale = locale;
+ this.transaction = transaction;
+ this.configuration = configuration;
+ this.serviceFactory = serviceFactory;
+ }
+
+ @Override
+ public TopiaContext getTransaction() {
+ Preconditions.checkNotNull(transaction);
+ return transaction;
+ }
+
+ @Override
+ public void setTransaction(TopiaContext transaction) {
+ this.transaction = transaction;
+ }
+
+ @Override
+ public Locale getLocale() {
+ return locale;
+ }
+
+ @Override
+ public <E extends PollenService> E newService(Class<E> clazz) {
+ return serviceFactory.newService(clazz, this);
+ }
+
+ @Override
+ public PollenConfiguration getConfiguration() {
+ return configuration;
+ }
+
+ @Override
+ public PollenServiceFactory getServiceFactory() {
+ return serviceFactory;
+ }
+
+ /**
+ * Create an id to easily managed polls using urls.
+ *
+ * @return a fresh generated String
+ */
+ @Override
+ public String createPollenUrlId() {
+ return UUID.randomUUID().toString().replaceAll("-", "");
+ }
+
+ @Override
+ public Date getCurrentTime() {
+ return new Date();
+ }
+}
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceFactory.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceFactory.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceFactory.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,58 @@
+/*
+ * #%L
+ * EchoBase :: Services
+ *
+ * $Id: EchoBaseServiceFactory.java 20 2011-11-08 09:01:17Z tchemit $
+ * $HeadURL: http://svn.forge.codelutin.com/svn/echobase/trunk/echobase-services/src/mai… $
+ * %%
+ * Copyright (C) 2011 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.services;
+
+import org.chorem.pollen.PollenTechnicalException;
+
+import java.lang.reflect.InvocationTargetException;
+
+/**
+ * Factory of services.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.1
+ */
+public class PollenServiceFactory {
+
+ public <E extends PollenService> E newService(Class<E> clazz, PollenServiceContext serviceContext) {
+ // instantiate service using empty constructor
+ E service;
+ try {
+ service = clazz.getConstructor().newInstance();
+ } catch (InstantiationException e) {
+ throw new PollenTechnicalException(e);
+ } catch (IllegalAccessException e) {
+ throw new PollenTechnicalException(e);
+ } catch (InvocationTargetException e) {
+ throw new PollenTechnicalException(e);
+ } catch (NoSuchMethodException e) {
+ throw new PollenTechnicalException(e);
+ }
+
+ service.setServiceContext(serviceContext);
+
+ return service;
+ }
+
+}
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceSupport.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceSupport.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceSupport.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,133 @@
+/*
+ * #%L
+ * EchoBase :: Services
+ *
+ * $Id: EchoBaseServiceSupport.java 213 2011-12-26 10:10:04Z tchemit $
+ * $HeadURL: http://svn.forge.codelutin.com/svn/echobase/trunk/echobase-services/src/mai… $
+ * %%
+ * Copyright (C) 2011 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.services;
+
+import com.google.common.base.Preconditions;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.time.DateUtils;
+import org.chorem.pollen.PollenConfiguration;
+import org.chorem.pollen.PollenDAOHelper;
+import org.chorem.pollen.PollenTechnicalException;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.framework.TopiaContextImplementor;
+import org.nuiton.topia.persistence.TopiaDAO;
+import org.nuiton.topia.persistence.TopiaEntity;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Locale;
+
+/**
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.1
+ */
+public class PollenServiceSupport implements PollenService {
+
+ protected PollenServiceContext serviceContext;
+
+ @Override
+ public void setServiceContext(PollenServiceContext serviceContext) {
+ this.serviceContext = serviceContext;
+ }
+
+ public <E extends TopiaEntity> List<E> getEntities(PollenDAOHelper.PollenEntityEnum entityType) {
+ Class<E> contract = (Class<E>) entityType.getContract();
+ return getEntities(contract);
+ }
+
+ public <E extends TopiaEntity> List<E> getEntities(Class<E> entityType) {
+ Preconditions.checkNotNull(entityType);
+ try {
+ List<E> result = getDAO(entityType).findAll();
+ return result;
+ } catch (TopiaException eee) {
+ throw new PollenTechnicalException(
+ "Could not obtain data for type " + entityType, eee);
+ }
+ }
+
+ public <E extends TopiaEntity> E getEntityById(Class<E> entityType, String id) {
+ Preconditions.checkNotNull(entityType);
+ Preconditions.checkArgument(StringUtils.isNotEmpty(id));
+ try {
+ E result = getDAO(entityType).findByTopiaId(id);
+ return result;
+ } catch (TopiaException eee) {
+ throw new PollenTechnicalException(
+ "Could not obtain data of id [" + id + "] for type " +
+ entityType, eee);
+ }
+ }
+
+ protected TopiaContext getTransaction() {
+ return serviceContext.getTransaction();
+ }
+
+ protected Locale getLocale() {
+ return serviceContext.getLocale();
+ }
+
+ protected PollenConfiguration getConfiguration() {
+ return serviceContext.getConfiguration();
+ }
+
+ protected <E extends PollenService> E newService(Class<E> serviceClass) {
+ E service = serviceContext.newService(serviceClass);
+ return service;
+ }
+
+ protected <E extends TopiaEntity> TopiaDAO<E> getDAO(PollenDAOHelper.PollenEntityEnum entityEnum) throws TopiaException {
+ TopiaDAO<E> dao = getDAO((Class<E>) entityEnum.getContract());
+ return dao;
+ }
+
+ protected <E extends TopiaEntity> TopiaDAO<E> getDAO(Class<E> entityType) throws TopiaException {
+ TopiaDAO<E> dao = PollenDAOHelper.<E, TopiaDAO<E>>getDAO(
+ getTransaction(),
+ entityType);
+
+ return dao;
+ }
+
+ protected void commitTransaction(String errorMessage) {
+ try {
+ getTransaction().commitTransaction();
+ } catch (TopiaException eee) {
+ throw new PollenTechnicalException(errorMessage, eee);
+ }
+ }
+
+ protected void flushTransaction() throws TopiaException {
+ TopiaContextImplementor tx = (TopiaContextImplementor) getTransaction();
+ tx.getHibernate().flush();
+ }
+
+ protected Date newDate() {
+ Date result = new Date();
+ DateUtils.setMilliseconds(result, 0);
+ return result;
+ }
+
+}
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/UserService.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/UserService.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/UserService.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,108 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.services;
+
+import com.google.common.collect.Lists;
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenException;
+import org.chorem.pollen.PollenTechnicalException;
+import org.chorem.pollen.entity.UserAccount;
+import org.chorem.pollen.service.legacy.ServiceUserImpl;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.framework.EntityFilter;
+
+import java.util.Map;
+
+public class UserService extends PollenServiceSupport {
+
+ public UserAccount connect(String login, String password) throws PollenBusinessException {
+ ServiceUserImpl service = new ServiceUserImpl();
+ try {
+ UserAccount result = service.executeConnect(getTransaction(), Lists.newArrayList(), login, password);
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public UserAccount getNewUser() throws PollenException {
+ ServiceUserImpl service = new ServiceUserImpl();
+ UserAccount result = service.executeGetNewUser();
+ return result;
+ }
+
+ public void createUser(UserAccount user) throws PollenBusinessException {
+ ServiceUserImpl service = new ServiceUserImpl();
+ try {
+ service.executeCreateUser(getTransaction(), Lists.newArrayList(), user);
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public void updateUser(UserAccount user, boolean byAdmin) throws PollenBusinessException {
+ ServiceUserImpl service = new ServiceUserImpl();
+ try {
+ service.executeUpdateUser(getTransaction(), Lists.newArrayList(), user, byAdmin);
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public void deleteUser(String login) {
+ ServiceUserImpl service = new ServiceUserImpl();
+ try {
+ service.executeDeleteUser(getTransaction(), login);
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public Map<String, UserAccount> getUsers(EntityFilter filter) {
+ ServiceUserImpl service = new ServiceUserImpl();
+ try {
+ Map<String, UserAccount> result = service.executeGetUsers(getTransaction(), filter);
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public int getNbUsers() {
+ ServiceUserImpl service = new ServiceUserImpl();
+ try {
+ int result = service.executeGetNbUsers(getTransaction());
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public String encodePassword(String password) {
+ ServiceUserImpl service = new ServiceUserImpl();
+ String result = service.encodePassword(password);
+ return result;
+ }
+
+} //ServiceUser
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/VoteService.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/VoteService.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/java/org/chorem/pollen/services/VoteService.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,123 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.services;
+
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenException;
+import org.chorem.pollen.PollenTechnicalException;
+import org.chorem.pollen.entity.Choice;
+import org.chorem.pollen.entity.Poll;
+import org.chorem.pollen.entity.PollAccount;
+import org.chorem.pollen.entity.UserAccount;
+import org.chorem.pollen.entity.Vote;
+import org.chorem.pollen.service.legacy.ServiceVoteImpl;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.framework.EntityFilter;
+
+import java.util.List;
+
+public class VoteService extends PollenServiceSupport {
+
+ public boolean canVote(Poll poll, PollAccount participant) {
+ ServiceVoteImpl service = new ServiceVoteImpl();
+ try {
+ boolean result = service.executeCanVote(getTransaction(), poll, participant);
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public PollAccount getNewPollAccount(UserAccount user) {
+ ServiceVoteImpl service = new ServiceVoteImpl();
+ PollAccount result = service.executeGetNewPollAccount(user);
+ return result;
+ }
+
+ public PollAccount getPollAccount(String accountUid) {
+ ServiceVoteImpl service = new ServiceVoteImpl();
+ try {
+ PollAccount result = service.executeGetPollAccount(getTransaction(), accountUid);
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public List<PollAccount> getVotes(EntityFilter filter) {
+ ServiceVoteImpl service = new ServiceVoteImpl();
+ try {
+ List<PollAccount> result = service.executeGetVotes(getTransaction(), filter);
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public void deleteVote(Poll poll, PollAccount participant) {
+ ServiceVoteImpl service = new ServiceVoteImpl();
+ try {
+ service.executeDeleteVote(getTransaction(), poll, participant);
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public int getNbVotes(Poll poll) throws PollenException {
+ ServiceVoteImpl service = new ServiceVoteImpl();
+ try {
+ int result = service.executeGetNbVotes(getTransaction(), poll);
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public Vote getNewVote(Choice choice) {
+ ServiceVoteImpl service = new ServiceVoteImpl();
+ Vote result = service.executeGetNewVote(choice);
+ return result;
+ }
+
+ public PollAccount saveVote(Poll poll, PollAccount participant) throws PollenBusinessException {
+ ServiceVoteImpl service = new ServiceVoteImpl();
+ try {
+ PollAccount result = service.executeSaveVote(getTransaction(), poll, participant);
+ return result;
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ public PollAccount findPollAccount(Poll poll, UserAccount user) {
+ ServiceVoteImpl service = new ServiceVoteImpl();
+ try {
+ PollAccount result = service.executeFindPollAccount(getTransaction(), poll, user);
+ return result;
+ } catch (Exception e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+} //ServiceVote
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/resources/i18n/pollen-services_en_GB.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/resources/i18n/pollen-services_en_GB.properties (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/resources/i18n/pollen-services_en_GB.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,120 @@
+pollen.error.context.close=
+pollen.error.context.getRootContext=
+pollen.error.context.parse=
+pollen.error.context.rollback=
+pollen.error.context.start=
+pollen.error.context.stop=
+pollen.error.encodePassword=
+pollen.error.serviceEmail.createEmail=
+pollen.error.serviceEmail.getNewEmail=
+pollen.error.serviceEmail.sendEmail=
+pollen.error.serviceFavorite.createFavoriteList=
+pollen.error.serviceFavorite.createFavoriteParticipant=
+pollen.error.serviceFavorite.deleteFavoriteList=
+pollen.error.serviceFavorite.deleteFavoriteParticipant=
+pollen.error.serviceFavorite.getFavoriteLists=
+pollen.error.serviceFavorite.getFavoriteParticipant=
+pollen.error.serviceFavorite.getFavoriteParticipants=
+pollen.error.serviceFavorite.getNbFavoriteParticipants=
+pollen.error.serviceFavorite.getNewFavoriteList=
+pollen.error.serviceFavorite.getNewFavoriteParticipant=
+pollen.error.serviceFavorite.updateFavoriteParticipant=
+pollen.error.serviceList.createAccountForPersonList=
+pollen.error.serviceList.deleteAccountFromPersonList=
+pollen.error.serviceMail.sendEmail=
+pollen.error.servicePoll.addComment=
+pollen.error.servicePoll.canAdminPoll=
+pollen.error.servicePoll.createChoice=
+pollen.error.servicePoll.createComment=
+pollen.error.servicePoll.createPoll=
+pollen.error.servicePoll.createUpdateVote=
+pollen.error.servicePoll.delete=
+pollen.error.servicePoll.deleteChoice=
+pollen.error.servicePoll.deleteComment=
+pollen.error.servicePoll.deletePoll=
+pollen.error.servicePoll.deleteVote=
+pollen.error.servicePoll.getAllPolls=
+pollen.error.servicePoll.getComments=
+pollen.error.servicePoll.getNbComments=
+pollen.error.servicePoll.getNbPollsByUser=
+pollen.error.servicePoll.getNbTotalPolls=
+pollen.error.servicePoll.getNewChoice=
+pollen.error.servicePoll.getNewComment=
+pollen.error.servicePoll.getNewPoll=
+pollen.error.servicePoll.getNewPollList=
+pollen.error.servicePoll.getNewPollParticipant=
+pollen.error.servicePoll.getPoll=
+pollen.error.servicePoll.getPollForResults=
+pollen.error.servicePoll.getPollForUpdate=
+pollen.error.servicePoll.getPollForVote=
+pollen.error.servicePoll.getPolls=
+pollen.error.servicePoll.getPollsByUser=
+pollen.error.servicePoll.getRestrictedAccount=Unable to retrieve restricted account with accountUid \= %1$s and poll with uid \= %2$s
+pollen.error.servicePoll.getRunningPolls=
+pollen.error.servicePoll.getVotes=
+pollen.error.servicePoll.savePoll=
+pollen.error.servicePoll.setPollClosed=
+pollen.error.servicePoll.updatePoll=
+pollen.error.serviceResults.importPoll=
+pollen.error.serviceUser.connect=
+pollen.error.serviceUser.createDefaultAdmin=
+pollen.error.serviceUser.createFavoriteList=
+pollen.error.serviceUser.createFavoriteParticipant=
+pollen.error.serviceUser.createList=
+pollen.error.serviceUser.createUpdateList=
+pollen.error.serviceUser.createUpdateUser=
+pollen.error.serviceUser.createUser=
+pollen.error.serviceUser.deleteFavoriteList=
+pollen.error.serviceUser.deleteFavoriteParticipant=
+pollen.error.serviceUser.deleteList=
+pollen.error.serviceUser.deleteUser=
+pollen.error.serviceUser.getAccounts=
+pollen.error.serviceUser.getFavoriteLists=
+pollen.error.serviceUser.getFavoriteParticipants=
+pollen.error.serviceUser.getNbAccounts=
+pollen.error.serviceUser.getNbFavoriteParticipants=
+pollen.error.serviceUser.getNbUsers=
+pollen.error.serviceUser.getNewAccount=
+pollen.error.serviceUser.getNewFavoriteList=
+pollen.error.serviceUser.getNewFavoriteParticipant=
+pollen.error.serviceUser.getNewList=
+pollen.error.serviceUser.getNewPerson=
+pollen.error.serviceUser.getNewUser=
+pollen.error.serviceUser.getPerson=
+pollen.error.serviceUser.getUsers=
+pollen.error.serviceUser.updateFavoriteParticipant=
+pollen.error.serviceUser.updateUser=
+pollen.error.serviceVote.canVote=
+pollen.error.serviceVote.deleteVote=
+pollen.error.serviceVote.findPollAccount=
+pollen.error.serviceVote.getNbVotes=
+pollen.error.serviceVote.getNewPollAccount=
+pollen.error.serviceVote.getNewVote=
+pollen.error.serviceVote.getPollAccount=
+pollen.error.serviceVote.getVote=
+pollen.error.serviceVote.getVotes=
+pollen.error.serviceVote.getVotesByPoll=Unable to load votes from poll with uid \= %1$s
+pollen.error.serviceVote.hasAlreadyVoted=Unable test vote existing for account with votingId \= %1$s and poll with uid \= %2$s
+pollen.error.serviceVote.saveVote=
+pollen.exception.favorite_list_name_exist=
+pollen.exception.favorite_participant_exist=
+pollen.exception.favorite_participant_exist_without_email=
+pollen.exception.load_configuration=
+pollen.exception.participant_doubloons=
+pollen.exception.participant_exist=
+pollen.exception.participant_exist_without_email=
+pollen.exception.poll_exist=
+pollen.exception.poll_not_exist=No such poll exists. Please make sure that you are using the correct link and copy it completely into your browser's address field.
+pollen.exception.smtp_not_available=
+pollen.exception.user_email_exist=
+pollen.exception.user_login_exist=
+pollen.exception.user_not_exist=
+pollen.exception.user_wrong_password=
+pollen.exception.vote_doubloon=
+pollen.exception.vote_not_allowed=
+pollen.info.admin.created=Super admin was created with login %1$s
+pollen.info.admin.exists=Super admin already exists
+pollen.info.start=Start Pollen
+pollen.info.started=Pollen is started \!
+pollen.info.stop=Stop Pollen
+pollen.text.empty=
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/resources/i18n/pollen-services_en_GB.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/resources/i18n/pollen-services_fr_FR.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/resources/i18n/pollen-services_fr_FR.properties (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/resources/i18n/pollen-services_fr_FR.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,116 @@
+pollen.error.context.close=Erreur lors de la fermeture de la transaction
+pollen.error.context.getRootContext=Erreur lors de la récupération du contexte principale
+pollen.error.context.parse=Erreur lors du parse du fichier de configuration %1$s
+pollen.error.context.rollback=Erreur lors de l'annulation de la transaction
+pollen.error.context.start=Erreur lors du démarrage de l'application
+pollen.error.context.stop=Erreur lors de l'arrêt de l'application
+pollen.error.encodePassword=
+pollen.error.serviceEmail.createEmail=
+pollen.error.serviceEmail.getNewEmail=
+pollen.error.serviceEmail.sendEmail=
+pollen.error.serviceFavorite.createFavoriteList=
+pollen.error.serviceFavorite.createFavoriteParticipant=
+pollen.error.serviceFavorite.deleteFavoriteList=
+pollen.error.serviceFavorite.deleteFavoriteParticipant=
+pollen.error.serviceFavorite.getFavoriteLists=
+pollen.error.serviceFavorite.getFavoriteParticipant=
+pollen.error.serviceFavorite.getFavoriteParticipants=
+pollen.error.serviceFavorite.getNbFavoriteParticipants=
+pollen.error.serviceFavorite.getNewFavoriteList=
+pollen.error.serviceFavorite.getNewFavoriteParticipant=
+pollen.error.serviceFavorite.updateFavoriteParticipant=
+pollen.error.serviceList.createAccountForPersonList=
+pollen.error.serviceList.deleteAccountFromPersonList=
+pollen.error.serviceMail.sendEmail=Erreur lors de l'envoi de l'email sur le serveur %1$s\:%2$d pour %3$s de la part de %4$s
+pollen.error.servicePoll.addComment=Impossible d'ajouter un nouveau commentaire créé par %1$s pour le sondage %2$s (%3$s)
+pollen.error.servicePoll.canAdminPoll=
+pollen.error.servicePoll.createChoice=
+pollen.error.servicePoll.createComment=
+pollen.error.servicePoll.createPoll=Impossible d'enregistrer le sondage %1$s créé par %2$s
+pollen.error.servicePoll.createUpdateVote=
+pollen.error.servicePoll.deleteChoice=
+pollen.error.servicePoll.deleteComment=Impossible de supprimer le commentaire ayant pour identifiant "%1$s", appartenenant au sondage %2$s (%3$s)
+pollen.error.servicePoll.deletePoll=Impossible de supprimer le sondage ayant pou identifiant "%1$s"
+pollen.error.servicePoll.deleteVote=
+pollen.error.servicePoll.getAllPolls=
+pollen.error.servicePoll.getComments=
+pollen.error.servicePoll.getNbComments=
+pollen.error.servicePoll.getNbPollsByUser=
+pollen.error.servicePoll.getNbTotalPolls=
+pollen.error.servicePoll.getNewChoice=
+pollen.error.servicePoll.getNewComment=
+pollen.error.servicePoll.getNewPoll=
+pollen.error.servicePoll.getNewPollList=
+pollen.error.servicePoll.getNewPollParticipant=
+pollen.error.servicePoll.getPoll=
+pollen.error.servicePoll.getPollForResults=
+pollen.error.servicePoll.getPollForUpdate=
+pollen.error.servicePoll.getPollForVote=
+pollen.error.servicePoll.getPolls=
+pollen.error.servicePoll.getPollsByUser=
+pollen.error.servicePoll.getRestrictedAccount=Unable to retrieve restricted account with accountUid \= %1$s and poll with uid \= %2$s
+pollen.error.servicePoll.getRunningPolls=
+pollen.error.servicePoll.getVotes=
+pollen.error.servicePoll.savePoll=
+pollen.error.servicePoll.setPollClosed=
+pollen.error.servicePoll.updatePoll=Impossible de mettre à jour le sondage %1$s (%2$s)
+pollen.error.serviceResults.importPoll=
+pollen.error.serviceUser.connect=Impossible d'établir la connexion pour l'identifiant %1$s et le mot de passe encodé %2$s
+pollen.error.serviceUser.createDefaultAdmin=Impossible de créer l'administrateur par défaut \: %1$s (%2$s)
+pollen.error.serviceUser.createFavoriteList=
+pollen.error.serviceUser.createFavoriteParticipant=
+pollen.error.serviceUser.createList=
+pollen.error.serviceUser.createUpdateList=
+pollen.error.serviceUser.createUpdateUser=Impossible de créer l'utilisateur '%1$s' <%2$s> (admin \= %$3b)
+pollen.error.serviceUser.createUser=
+pollen.error.serviceUser.deleteFavoriteList=
+pollen.error.serviceUser.deleteFavoriteParticipant=
+pollen.error.serviceUser.deleteList=
+pollen.error.serviceUser.deleteUser=
+pollen.error.serviceUser.getAccounts=
+pollen.error.serviceUser.getFavoriteLists=
+pollen.error.serviceUser.getFavoriteParticipants=
+pollen.error.serviceUser.getNbAccounts=
+pollen.error.serviceUser.getNbFavoriteParticipants=
+pollen.error.serviceUser.getNbUsers=
+pollen.error.serviceUser.getNewAccount=
+pollen.error.serviceUser.getNewFavoriteList=
+pollen.error.serviceUser.getNewFavoriteParticipant=
+pollen.error.serviceUser.getNewList=
+pollen.error.serviceUser.getNewPerson=
+pollen.error.serviceUser.getNewUser=Impossible d'instancier un nouvel utilisateur.
+pollen.error.serviceUser.getPerson=
+pollen.error.serviceUser.getUsers=
+pollen.error.serviceUser.updateFavoriteParticipant=
+pollen.error.serviceUser.updateUser=
+pollen.error.serviceVote.canVote=
+pollen.error.serviceVote.deleteVote=
+pollen.error.serviceVote.findPollAccount=
+pollen.error.serviceVote.getNbVotes=
+pollen.error.serviceVote.getNewPollAccount=
+pollen.error.serviceVote.getNewVote=
+pollen.error.serviceVote.getPollAccount=
+pollen.error.serviceVote.getVote=
+pollen.error.serviceVote.getVotes=
+pollen.error.serviceVote.getVotesByPoll=
+pollen.error.serviceVote.hasAlreadyVoted=
+pollen.error.serviceVote.saveVote=
+pollen.exception.favorite_list_name_exist=La liste %1$s existe déjà pour l'utilisateur %2$s
+pollen.exception.load_configuration=La configuration n'a pas été chargée correctement \! Veuillez vérifier le démarrage de l'application.
+pollen.exception.participant_doubloons=Les doublons de la liste %1$s ont été ignorés \: %2$s
+pollen.exception.participant_exist=La liste %1$s contient déjà un votant nommé %2$s avec un email %3$s
+pollen.exception.participant_exist_without_email=La liste %1$s contient déjà un votant nommé %2$s avec aucun email
+pollen.exception.poll_exist=
+pollen.exception.poll_not_exist=Il n'y a pas de sondage à cette adresse. Veuillez verifier que vous utilisez le lien correcte et copiez-le complètement dans le champ d'adresse de votre navigateur.
+pollen.exception.smtp_not_available=Impossible d'envoyer un email à %1$s. Serveur smtp indisponible pour l'envoi d'email, veuillez contacter un administrateur.
+pollen.exception.user_email_exist=Un utilisateur est déjà enregistré avec cet email.
+pollen.exception.user_login_exist=Un utilisateur est déjà enregistré avec cet identifiant.
+pollen.exception.user_not_exist=L'identifiant '%1$s' ne correspond à aucun utilisateur connu.
+pollen.exception.user_wrong_password=Le mot de passe renseigné est incorrect pour l'utilisateur '%1$s'.
+pollen.exception.vote_doubloon=
+pollen.exception.vote_not_allowed=
+pollen.info.admin.created=Le super admin a été créé avec l'identifiant %1$s.
+pollen.info.admin.exists=Le super admin existe déjà
+pollen.info.start=Démarrage de Pollen...
+pollen.info.started=Pollen a été démarré avec succès \!
+pollen.info.stop=Arrêt de Pollen
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/resources/i18n/pollen-services_fr_FR.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/main/resources/pollen.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/main/resources/pollen.properties (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/main/resources/pollen.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,83 @@
+###
+# #%L
+# Pollen :: Services
+#
+# $Id$
+# $HeadURL$
+# %%
+# Copyright (C) 2009 - 2012 CodeLutin
+# %%
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# #L%
+###
+## Configuration de la base de donn\u00C3\u00A9es
+#hibernate.hbm2ddl.auto=update
+hibernate.show_sql=false
+hibernate.hbm2ddl.auto=update
+hibernate.dialect=org.hibernate.dialect.H2Dialect
+hibernate.connection.username=sa
+hibernate.connection.password=
+hibernate.connection.driver_class=org.h2.Driver
+hibernate.connection.url=jdbc:h2:file:~/.pollen/pollendb
+
+#hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
+#hibernate.connection.username=pollen
+#hibernate.connection.password=pollen
+#hibernate.connection.driver_class=org.postgresql.Driver
+#hibernate.connection.url=jdbc:postgresql://intranet/pollen
+#hibernate.default_schema=public
+
+## Configuration de topia-migration
+#topia.service.migration=org.nuiton.topia.migration.TopiaMigrationServiceImpl
+#topia.service.migration.callbackhandlers=org.chorem.pollen.business.migration.PollenMigrationCallbackHandler
+#topia.service.migration.mappingsdir=oldmappings
+#topia.service.migration.modelnames=pollen
+
+## Initialisation de la base de donn\u00E9es
+#choiceType=DATE,IMAGE,TEXT
+#pollType=RESTRICTED,FREE,GROUP
+#voteCounting=NORMAL,PERCENTAGE,CONDORCET,NUMBER
+
+## Utilisateur par d\u00C3\u00A9faut
+adminLogin=admin
+adminPassword=pollen
+adminEmail=admin(a)domain.com
+
+## R\u00C3\u00A9pertoire des images transf\u00C3\u00A9r\u00C3\u00A9es
+upImgDir=${HOME}/.pollen/uploadedImages
+
+## Taille maximal des images transf\u00C3\u00A9r\u00C3\u00A9es (en octets)
+upload.filesize-max=1048576
+upload.requestsize-max=10485760
+
+## Configuration de l'envoi d'emails automatiques
+email_host=smtp
+email_port=25
+email_from=bot(a)pollen.org
+
+## R\u00E9pertoire des flux de syndication (Atom)
+feedDir=${HOME}/.pollen/feeds
+
+## Repertoire de stockage des mails a envoyer
+pollen.emails.directory=${HOME}/.pollen/emails
+pollen.charset=UTF-8
+
+## Nombre de votes a afficher par page
+pollen.ui.nbVotesPerPage=25
+
+## Adresse du site (utilis\u00C3\u00A9e pour les emails de rappel)
+##siteUrl=
+
+## Version de l'application
+version=${project.version}
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/main/resources/pollen.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/AbstractServiceTest.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/AbstractServiceTest.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/AbstractServiceTest.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,423 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.service.legacy;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenContext;
+import org.chorem.pollen.PollenContextImpl;
+import org.chorem.pollen.PollenDAOHelper;
+import org.chorem.pollen.common.ChoiceType;
+import org.chorem.pollen.common.PollType;
+import org.chorem.pollen.common.VoteCountingType;
+import org.chorem.pollen.entity.Choice;
+import org.chorem.pollen.entity.ChoiceDAO;
+import org.chorem.pollen.entity.FavoriteList;
+import org.chorem.pollen.entity.FavoriteListDAO;
+import org.chorem.pollen.entity.FavoriteParticipant;
+import org.chorem.pollen.entity.FavoriteParticipantDAO;
+import org.chorem.pollen.entity.Poll;
+import org.chorem.pollen.entity.PollAccount;
+import org.chorem.pollen.entity.PollAccountDAO;
+import org.chorem.pollen.entity.PollDAO;
+import org.chorem.pollen.entity.UserAccount;
+import org.chorem.pollen.entity.UserAccountDAO;
+import org.chorem.pollen.entity.Vote;
+import org.junit.After;
+import org.junit.Ignore;
+import org.junit.Rule;
+import org.junit.rules.TestName;
+import org.junit.runner.Description;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.framework.TopiaQuery;
+import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.util.ApplicationConfig;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Calendar;
+import java.util.GregorianCalendar;
+import java.util.List;
+import java.util.Properties;
+
+/**
+ * TestManager
+ * <p/>
+ * Created: 24 févr. 2010
+ *
+ * @author fdesbois
+ * @version $Id$
+ */
+@Ignore
+public abstract class AbstractServiceTest {
+
+ protected static final String PROPERTY_CHOICE_VOTE =
+ TopiaQuery.getProperty(PollAccount.PROPERTY_CHOICE_VOTE,
+ Vote.PROPERTY_CHOICE);
+
+ private static final Log log = LogFactory.getLog(AbstractServiceTest.class);
+
+ protected PollenContext context;
+
+ protected ServiceUserImpl serviceUser;
+
+ protected ServiceFavoriteImpl serviceFavorite;
+
+ protected ServicePollImpl servicePoll;
+
+ protected ServiceVoteImpl serviceVote;
+
+ @Rule
+ public TestName rule = new TestName() {
+
+ @Override
+ public void starting(Description method) {
+ super.starting(method);
+ try {
+ getTest().start(getMethodName());
+ getTest().init();
+ } catch (Exception eee) {
+ log.error(eee.getClass().getSimpleName(), eee);
+ }
+ }
+
+ public AbstractServiceTest getTest() {
+ return AbstractServiceTest.this;
+ }
+ };
+
+ protected abstract void init() throws Exception;
+
+ public void start(String dbname) throws IOException {
+ log.info("## START ## : " + dbname);
+
+ InputStream input = AbstractServiceTest.class.
+ getResourceAsStream("/PollenTest.properties");
+
+ Properties options = new Properties();
+ options.load(input);
+
+ ApplicationConfig config = new ApplicationConfig();
+ config.setOptions(options);
+ config.setOption(
+ "hibernate.connection.url",
+ "jdbc:h2:file:target/surefire-data/" + dbname
+ );
+
+ getContext().loadConfiguration(config);
+ getContext().start(getServiceUser());
+
+ // Set currentDate to 23/02/2010 for tests
+ Calendar calendar = new GregorianCalendar(2010, 1, 23, 0, 0, 0);
+ ((PollenContextImpl) getContext()).setCurrentDate(calendar.getTime());
+ }
+
+ @After
+ public void stop() throws IOException {
+ getContext().stop();
+ context = null;
+ serviceUser = null;
+ servicePoll = null;
+ serviceFavorite = null;
+ }
+
+ public PollenContext getContext() {
+ if (context == null) {
+ context = new PollenContextImpl();
+ }
+ return context;
+ }
+
+ public ServiceUserImpl getServiceUser() {
+ if (serviceUser == null) {
+ serviceUser = new ServiceUserImpl();
+ serviceUser.setContext(getContext());
+ }
+ return serviceUser;
+ }
+
+ public ServiceFavoriteImpl getServiceFavorite() {
+ if (serviceFavorite == null) {
+ serviceFavorite = new ServiceFavoriteImpl();
+ serviceFavorite.setContext(getContext());
+ }
+ return serviceFavorite;
+ }
+
+ public ServicePollImpl getServicePoll() {
+ if (servicePoll == null) {
+ servicePoll = new ServicePollImpl();
+ servicePoll.setContext(getContext());
+ }
+ return servicePoll;
+ }
+
+ public ServiceVoteImpl getServiceVote() {
+ if (serviceVote == null) {
+ serviceVote = new ServiceVoteImpl();
+ serviceVote.setContext(getContext());
+ }
+ return serviceVote;
+ }
+
+ public TopiaContext beginTransaction() throws TopiaException {
+ return getContext().beginTransaction();
+ }
+
+// public ServiceEmailImpl getServiceEmail() {
+// ServiceEmailImpl instance = new ServiceEmailImpl();
+// instance.setContext(getContext());
+// return instance;
+// }
+//
+// public ServicePollImpl getServicePoll() {
+// ServicePollImpl instance = new ServicePollImpl();
+// instance.setContext(getContext());
+// return instance;
+// }
+
+ /**
+ * Create a user :<br /> <ul> <li>login : homer</li> <li>email :
+ * homer(a)simpson.us</li> <li>password : wouhou</li> </ul> You can decide if
+ * this user is an admin using {@code admin} argument.
+ *
+ * @param admin flag to create the user as an admin
+ * @return the new UserAccount created
+ * @throws TopiaException
+ * @throws PollenBusinessException
+ */
+ public UserAccount createUser(boolean admin)
+ throws TopiaException, PollenBusinessException {
+
+ UserAccount user = getServiceUser().getNewUser();
+ user.setLogin("homer");
+ user.setEmail("homer(a)simpson.us");
+ user.setNewPassword("wouhou");
+ user.setAdmin(admin);
+
+ getServiceUser().createUser(user);
+
+ TopiaContext transaction = getContext().beginTransaction();
+ try {
+ UserAccountDAO dao =
+ PollenDAOHelper.getUserAccountDAO(transaction);
+
+ UserAccount findUser = dao.findByLogin(user.getLogin());
+ return findUser;
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+ public FavoriteList createFavoriteList(String name, UserAccount user)
+ throws TopiaException {
+
+ TopiaContext transaction = beginTransaction();
+ try {
+ FavoriteListDAO dao =
+ PollenDAOHelper.getFavoriteListDAO(transaction);
+
+ FavoriteList list = dao.create(name, user);
+ transaction.commitTransaction();
+ return list;
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+ public FavoriteParticipant createFavoriteParticipant(String name,
+ String email, FavoriteList list) throws TopiaException {
+ TopiaContext transaction = beginTransaction();
+ try {
+ FavoriteParticipantDAO dao =
+ PollenDAOHelper.getFavoriteParticipantDAO(transaction);
+
+ FavoriteParticipant participant = dao.create(name, email, list);
+ transaction.commitTransaction();
+ return participant;
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+ public FavoriteList findFavoriteList(String id, String... propertiesLoad)
+ throws TopiaException {
+ TopiaContext transaction = beginTransaction();
+ try {
+ FavoriteListDAO dao =
+ PollenDAOHelper.getFavoriteListDAO(transaction);
+
+ TopiaQuery query = dao.createQuery().
+ addEquals(TopiaEntity.TOPIA_ID, id).
+ addLoad(propertiesLoad);
+
+ FavoriteList result = dao.findByQuery(query);
+
+ return result;
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+ protected Poll createPoll(TopiaContext transaction,
+ String title, UserAccount user,
+ PollType type, VoteCountingType voteCounting)
+ throws TopiaException {
+
+ PollAccountDAO accountDAO =
+ PollenDAOHelper.getPollAccountDAO(transaction);
+
+ PollAccount creator = accountDAO.create(context.createPollenUrlId());
+ creator.setName(user.getDisplayName());
+ creator.setEmail(user.getEmail());
+ creator.setUserAccount(user);
+ creator.setAdmin(true);
+
+ PollDAO pollDAO = PollenDAOHelper.getPollDAO(transaction);
+
+ Poll poll = pollDAO.create(context.createPollenUrlId());
+ poll.setCreator(creator);
+ poll.setTitle(title);
+ poll.setType(type);
+ if (voteCounting == null) {
+ voteCounting = VoteCountingType.NORMAL;
+ }
+ poll.setVoteCounting(voteCounting);
+
+ return poll;
+ }
+
+ public Poll createFreePoll(String title, UserAccount user, VoteCountingType voteCounting)
+ throws TopiaException {
+ TopiaContext transaction = beginTransaction();
+ try {
+ Poll poll = createPoll(transaction, title, user, PollType.FREE, voteCounting);
+
+ transaction.commitTransaction();
+
+ return poll;
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+ public List<Choice> addChoicesToPoll(Poll poll, ChoiceType choiceType, String... choices)
+ throws TopiaException {
+
+ TopiaContext transaction = beginTransaction();
+ try {
+ ChoiceDAO dao = PollenDAOHelper.getChoiceDAO(transaction);
+
+ poll.setChoiceType(choiceType);
+
+ for (String choice : choices) {
+ Choice newChoice = dao.create();
+ newChoice.setName(choice);
+ newChoice.setType(choiceType);
+ poll.addChoice(newChoice);
+ }
+
+ transaction.commitTransaction();
+
+ return poll.getChoice();
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+ public Poll createGroupPoll(String title,
+ UserAccount user, VoteCountingType voteCounting,
+ int nbParticipantsByGroup,
+ String... groupNames)
+ throws TopiaException {
+
+ TopiaContext transaction = beginTransaction();
+ try {
+
+ Poll poll = createPoll(transaction, title, user, PollType.GROUP, voteCounting);
+
+ PollAccountDAO accountDAO =
+ PollenDAOHelper.getPollAccountDAO(transaction);
+
+ for (String groupName : groupNames) {
+ PollAccount group = accountDAO.create(context.createPollenUrlId());
+ group.setName(groupName);
+ group.setList(true);
+
+ for (int i = 1; i <= nbParticipantsByGroup; i++) {
+ PollAccount participant =
+ accountDAO.create(context.createPollenUrlId());
+ participant.setName(groupName + "_participant" + i);
+ participant.setEmail(groupName + "_email" + i + "@domain.org");
+ participant.setWeight(1.);
+ if (i == 1) {
+ participant.setUserAccount(user);
+ }
+ group.addChild(participant);
+ }
+
+ poll.addPollAccount(group);
+ }
+
+ transaction.commitTransaction();
+
+ return poll;
+
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+ public <E extends TopiaEntity> E loadEntity(E source,
+ String... propertiesToLoad)
+ throws Exception {
+
+ TopiaContext transaction = beginTransaction();
+ try {
+ TopiaQuery query = new TopiaQuery(source.getClass());
+
+ query.addFetch(propertiesToLoad);
+
+ String mainIdProperty =
+ TopiaQuery.getProperty(query.getMainAlias(), TopiaEntity.TOPIA_ID);
+
+ query.addEquals(mainIdProperty, source.getTopiaId()).
+ setMaxResults(1);
+
+ E result = (E)query.executeToEntity(transaction, source.getClass());
+
+ if (result != null) {
+ return result;
+ }
+
+ throw new NullPointerException("nothing to find... from id = " +
+ source.getTopiaId());
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/AbstractServiceTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/ServiceFavoriteImplTest.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/ServiceFavoriteImplTest.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/ServiceFavoriteImplTest.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,134 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+package org.chorem.pollen.service.legacy;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenBusinessException.PollenExceptionType;
+import org.chorem.pollen.PollenDAOHelper;
+import org.chorem.pollen.entity.FavoriteList;
+import org.chorem.pollen.entity.FavoriteParticipant;
+import org.chorem.pollen.entity.FavoriteParticipantDAO;
+import org.chorem.pollen.entity.UserAccount;
+import org.junit.Assert;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+
+/**
+ * ServiceFavoriteImplTest
+ *
+ * Created: 5 mai 2010
+ *
+ * @author fdesbois
+ * $Id$
+ */
+public class ServiceFavoriteImplTest extends AbstractServiceTest {
+
+ private static final Log log = LogFactory.getLog(ServiceUserImplTest.class);
+
+ @Override
+ protected void init() throws Exception {
+ }
+
+ @Test
+ public void testCreateFavoriteParticipant() throws Exception {
+ //start("testCreateFavoriteParticipant");
+
+ UserAccount user = createUser(false);
+
+ final FavoriteList list = createFavoriteList("LIST", user);
+
+ log.info("test 1 : no problem on creation");
+ FavoriteParticipant participant =
+ getServiceFavorite().getNewFavoriteParticipant(list);
+
+ participant.setName("participant");
+ participant.setEmail("email");
+
+ getServiceFavorite().createFavoriteParticipant(participant);
+
+ log.info("test 2 : problem on naturalId : participant already" +
+ " set with same email");
+
+ participant =
+ getServiceFavorite().getNewFavoriteParticipant(list);
+
+ participant.setName("participant");
+ participant.setEmail("email");
+
+ try {
+ getServiceFavorite().createFavoriteParticipant(participant);
+ } catch (PollenBusinessException eee) {
+ Assert.assertEquals(PollenExceptionType.PARTICIPANT_EXIST,
+ eee.getType());
+ }
+
+ log.info("test 3 : email in naturalId can be null");
+
+ participant =
+ getServiceFavorite().getNewFavoriteParticipant(list);
+
+ participant.setName("participant2");
+ participant.setEmail(null);
+
+ getServiceFavorite().createFavoriteParticipant(participant);
+
+ TopiaContext transaction = beginTransaction();
+ try {
+ FavoriteParticipantDAO dao =
+ PollenDAOHelper.getFavoriteParticipantDAO(transaction);
+ String email = null;
+
+ FavoriteParticipant result = dao.findByProperties(
+ FavoriteParticipant.PROPERTY_NAME, "participant2",
+ FavoriteParticipant.PROPERTY_EMAIL, email,
+ FavoriteParticipant.PROPERTY_FAVORITE_LIST, list);
+
+ Assert.assertNotNull(result);
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+ @Test
+ public void testUpdateFavoriteParticipant() throws Exception {
+ //start("testUpdateFavoriteParticipant");
+
+ /** PREPARE DATA **/
+ UserAccount user = createUser(false);
+
+ FavoriteList list = createFavoriteList("LIST", user);
+ FavoriteParticipant participant =
+ createFavoriteParticipant("participant", null, list);
+
+ /** EXEC METHOD **/
+ log.info("test 1 : update ok : add email");
+ participant.setEmail("email");
+ participant.setWeight(1.);
+
+ getServiceFavorite().updateFavoriteParticipant(participant);
+ }
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/ServiceFavoriteImplTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/ServicePollImplTest.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/ServicePollImplTest.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/ServicePollImplTest.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,502 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.service.legacy;
+
+import org.apache.commons.lang.time.DateUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenDAOHelper;
+import org.chorem.pollen.bean.UserPoll;
+import org.chorem.pollen.common.ChoiceType;
+import org.chorem.pollen.common.PollType;
+import org.chorem.pollen.common.VoteCountingType;
+import org.chorem.pollen.entity.Choice;
+import org.chorem.pollen.entity.ChoiceDAO;
+import org.chorem.pollen.entity.FavoriteList;
+import org.chorem.pollen.entity.Participant;
+import org.chorem.pollen.entity.ParticipantList;
+import org.chorem.pollen.entity.Poll;
+import org.chorem.pollen.entity.PollAccount;
+import org.chorem.pollen.entity.PollAccountImpl;
+import org.chorem.pollen.entity.PollDAO;
+import org.chorem.pollen.entity.PollImpl;
+import org.chorem.pollen.entity.UserAccount;
+import org.chorem.pollen.entity.Vote;
+import org.junit.Assert;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.framework.EntityFilter;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Created: 14 mai 2010
+ *
+ * @author fdesbois <fdesbois(a)codelutin.com>
+ * @version $Id$
+ */
+public class ServicePollImplTest extends AbstractServiceTest {
+
+ private static final Log log = LogFactory.getLog(ServicePollImplTest.class);
+
+ private UserAccount user;
+
+ private PollAccount creator;
+
+ private PollAccount list1;
+
+ private FavoriteList list2;
+
+ private Poll poll;
+
+ @Override
+ public void init() throws Exception {
+ // Initialize service and default user
+ getServicePoll();
+ user = createUser(false);
+
+ // Poll creator
+ creator = new PollAccountImpl();
+ creator.setName(user.getDisplayName());
+ creator.setEmail(user.getEmail());
+ creator.setUserAccount(user);
+ creator.setAdmin(true);
+
+ // Poll
+ poll = new PollImpl();
+ poll.setCreator(creator);
+ poll.setTitle("Poll");
+ poll.setUid(context.createPollenUrlId());
+ poll.setChoice(new ArrayList<Choice>());
+
+ // Participant Lists
+ // First list : new list specific for poll restriction
+ list1 = new PollAccountImpl();
+ list1.setName("List1");
+ list1.setList(true);
+
+ Collection<Participant> participants = new ArrayList<Participant>();
+ Participant participant1_1 = new PollAccountImpl();
+ participant1_1.setName("participant1_1");
+ participant1_1.setEmail("email1_1(a)domain.org");
+ participants.add(participant1_1);
+
+ Participant participant1_2 = new PollAccountImpl();
+ participant1_2.setName("participant1_2");
+ participants.add(participant1_2);
+ list1.setParticipants(participants);
+
+ // Second list : existing list from user favorites
+ list2 = createFavoriteList("list2", user);
+ Participant participant2_1 = createFavoriteParticipant(
+ "participant2_1", "email2_1(a)domain.org", list2);
+ Participant participant2_2 = createFavoriteParticipant(
+ "participant2_2", "email2_2(a)domain.org", list2);
+ Participant participant2_3 = createFavoriteParticipant(
+ "participant2_3", null, list2);
+
+ list2 = findFavoriteList(list2.getId(), FavoriteList.PROPERTY_FAVORITE_PARTICIPANT);
+ }
+
+ @Test
+ public void testUpdatePollNotStartedWithChoice() throws PollenBusinessException, TopiaException {
+
+ // ---- PREPARE DATA ---- //
+
+ // Prepare restricted Poll with 3 choices
+ poll.setType(PollType.RESTRICTED);
+ List<ParticipantList> participantLists = new ArrayList<ParticipantList>();
+ participantLists.add(list1);
+ // begin in 3 days
+ Date beginDate = DateUtils.addDays(context.getCurrentDate(), 3);
+ poll.setBeginDate(beginDate);
+ poll.setChoiceType(ChoiceType.TEXT);
+ poll.addNewChoice("choice1", null);
+ poll.addNewChoice("choice2", "desc2");
+ poll.addNewChoice("choice3", "desc3");
+
+ Poll pollCreated = servicePoll.createPoll(poll, participantLists);
+ // Ensure not started and not closed
+ Assert.assertFalse(pollCreated.isStarted());
+ Assert.assertFalse(pollCreated.isClosed());
+
+ // Update Choices
+ pollCreated.setChoiceType(ChoiceType.DATE);
+ // Reset previous List
+ pollCreated.setChoice(null);
+ pollCreated.addNewChoice("choiceDate1", null);
+ pollCreated.addNewChoice("choiceDate2", null);
+ pollCreated.addNewChoice("choiceDate3", null);
+
+ // ---- EXECUTE #1 : override choices ---- //
+
+ Poll result = servicePoll.updatePoll(pollCreated);
+ // Changing type is efficient
+ Assert.assertEquals(ChoiceType.DATE, result.getChoiceType());
+
+ // ---- CHECK RESULT ---- //
+
+ TopiaContext transaction = beginTransaction();
+ try {
+ ChoiceDAO choiceDAO = PollenDAOHelper.getChoiceDAO(transaction);
+
+ // This assume that only 3 choices exist, previous ones have been deleted
+ long nbChoices = choiceDAO.count();
+ Assert.assertEquals(3, nbChoices);
+ } finally {
+ transaction.closeContext();
+ }
+
+ // ---- EXECUTE #2 : update existing choice name ---- //
+
+ Choice choiceDate1 = result.getChoice().get(0);
+ choiceDate1.setName("changeChoice");
+ result = servicePoll.updatePoll(result);
+
+ // ---- CHECK RESULT ---- //
+
+ Assert.assertEquals("changeChoice", result.getChoice().get(0).getName());
+ }
+
+ @Test
+ public void testInternalCreateBasicPoll() throws Exception {
+ //start("testInternalCreateBasicPoll");
+
+ // ---- PREPARE DATA ---- //
+ // done in init() method
+
+ // ---- EXECUTE ---- //
+
+ log.info("test 1 : create poll with creator from existing user");
+
+ TopiaContext transaction = beginTransaction();
+ Poll newPoll = null;
+ try {
+ newPoll = servicePoll.createBasicPoll(transaction, poll);
+ Assert.assertNotNull(newPoll);
+ Assert.assertNotNull(newPoll.getTopiaId());
+ Assert.assertNotNull(newPoll.getUid());
+ Assert.assertEquals("Poll", newPoll.getTitle());
+
+ PollAccount newCreatorAccount = newPoll.getCreator();
+ Assert.assertNotNull(newCreatorAccount);
+ Assert.assertNotNull(newCreatorAccount.getUid());
+ Assert.assertEquals(user, newCreatorAccount.getUserAccount());
+ Assert.assertTrue(newCreatorAccount.getAdmin());
+
+ // Will save the poll and its creator
+ transaction.commitTransaction();
+
+ } finally {
+ transaction.closeContext();
+ }
+
+ // Verification
+ transaction = beginTransaction();
+ try {
+ PollDAO dao = PollenDAOHelper.getPollDAO(transaction);
+
+ Poll pollFound = dao.findByTopiaId(newPoll.getTopiaId());
+ Assert.assertNotNull(pollFound);
+ Assert.assertNotNull(pollFound.getCreator());
+ Assert.assertEquals(user, pollFound.getCreator().getUserAccount());
+
+ } finally {
+ transaction.closeContext();
+ }
+
+ log.info("test 2 : create poll with new creator");
+ poll.getCreator().setUserAccount(null);
+
+ transaction = beginTransaction();
+ newPoll = null;
+ try {
+ newPoll = servicePoll.createBasicPoll(transaction, poll);
+ PollAccount newCreatorAccount = newPoll.getCreator();
+ Assert.assertNull(newCreatorAccount.getUserAccount());
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+ @Test
+ public void testInternalCreatePollAccounts() throws Exception {
+ //start("testInternalCreatePollAccounts");
+
+ // ---- PREPARE DATA ---- //
+ // list initializations in init() method
+
+ Collection<ParticipantList> lists = new ArrayList<ParticipantList>();
+ // First list : new list specific for poll restriction
+ lists.add(list1);
+ // Second list : existing list from user favorites
+ lists.add(list2);
+
+ // ---- EXECUTE ---- //
+
+ log.info("test 1 : createPollAccounts from one new list : RESTRICTED");
+
+
+ TopiaContext transaction = beginTransaction();
+ try {
+ // Only the first list of the collection will be considered : list1
+ // Create only person accounts
+ List<PollAccount> accounts = servicePoll.createPollAccounts(
+ transaction, PollType.RESTRICTED, lists);
+
+ Assert.assertEquals(2, accounts.size());
+ for (PollAccount account : accounts) {
+ Assert.assertFalse(account.getList());
+ Assert.assertNotNull(account.getId());
+ Assert.assertNotNull(account.getUid());
+ // No link with user
+ Assert.assertNull(account.getUserAccount());
+ }
+
+ } finally {
+ transaction.closeContext();
+ }
+
+ log.info("test 2 : createPollAccounts from two lists : GROUP." +
+ " One of the list is an existing favorite one");
+
+ transaction = beginTransaction();
+ try {
+ // Create only list accounts
+ List<PollAccount> accounts = servicePoll.createPollAccounts(
+ transaction, PollType.GROUP, lists);
+
+ Assert.assertEquals(2, accounts.size());
+ for (PollAccount account : accounts) {
+ Assert.assertTrue(account.getList());
+ Assert.assertNotNull(account.getId());
+ Assert.assertNotNull(account.getUid());
+ Assert.assertNotNull(account.getName());
+ // No link with user
+ Assert.assertNull(account.getUserAccount());
+ // Check on list1
+ if (account.getName().equals(list1.getName())) {
+ Assert.assertEquals(2, account.getChild().size());
+ // Check on list2
+ } else if (account.getName().equals(list2.getName())) {
+ Assert.assertEquals(3, account.getChild().size());
+ // Child are person accounts
+ for (PollAccount person : account.getChild()) {
+ Assert.assertFalse(person.getList());
+ Assert.assertNotNull(person.getId());
+ Assert.assertNotNull(person.getUid());
+ // No link with user
+ Assert.assertNull(person.getUserAccount());
+ }
+ }
+ }
+
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+ @Test
+ public void integrationCreatePollFree() throws Exception {
+
+ // ---- PREPARE DATA ---- //
+ user = null;
+ poll = servicePoll.getNewPoll(user);
+ poll.getCreator().setName("homer");
+ poll.setType(PollType.FREE);
+ poll.setChoiceType(ChoiceType.TEXT);
+ poll.addNewChoice("choice1", null);
+ poll.addNewChoice("choice2", "desc2");
+ poll.addNewChoice("choice3", "desc3");
+
+ // ---- EXECUTE ---- //
+ servicePoll.createPoll(poll, null);
+
+ /** VERIFICATION RESULT **/
+ TopiaContext transaction = beginTransaction();
+ try {
+ // No accounts + type = FREE + 3 TEXT choices
+ PollDAO dao = PollenDAOHelper.getPollDAO(transaction);
+ Assert.assertTrue(dao.existByNaturalId(poll.getUid()));
+ Poll pollFound = dao.findByNaturalId(poll.getUid());
+
+ // Check pollType and accounts
+ Assert.assertEquals(PollType.FREE, pollFound.getType());
+ Assert.assertEquals(0, pollFound.getPollAccount().size());
+
+ // Check choices
+ Assert.assertEquals(ChoiceType.TEXT, pollFound.getChoiceType());
+ Assert.assertEquals(3, pollFound.getChoice().size());
+
+ // Check creator
+ Assert.assertNotNull(pollFound.getCreator());
+ Assert.assertNull(pollFound.getCreator().getUserAccount());
+ Assert.assertNotNull(pollFound.getCreator().getName());
+
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+ @Test
+ public void integrationCreatePollRestrictedFromNewList() throws Exception {
+ /** PREPARE DATA **/
+ poll = servicePoll.getNewPoll(user);
+ poll.setType(PollType.RESTRICTED);
+ poll.setChoiceType(ChoiceType.DATE);
+ poll.addNewChoice("date1", null);
+ poll.addNewChoice("date2", "desc2");
+ poll.addNewChoice("date3", "desc3");
+
+ Collection<ParticipantList> lists = new ArrayList<ParticipantList>();
+ ParticipantList list = servicePoll.getNewPollList();
+ lists.add(list);
+
+ Collection<Participant> participants = new ArrayList<Participant>();
+ Participant participant1 = servicePoll.getNewPollParticipant();
+ participant1.setName("participant1");
+ participant1.setEmail("email1");
+ participant1.setWeight(1.);
+ participants.add(participant1);
+
+ Participant participant2 = servicePoll.getNewPollParticipant();
+ participant2.setName("participant2");
+ participant2.setEmail(null);
+ participant2.setWeight(1.);
+ participants.add(participant2);
+ list.setParticipants(participants);
+
+ /** EXEC METHOD **/
+ servicePoll.createPoll(poll, lists);
+
+ /** VERIFICATION RESULT **/
+ TopiaContext transaction = beginTransaction();
+ try {
+ // Two person accounts + type = RESTRICTED + 3 DATE choices
+ PollDAO dao = PollenDAOHelper.getPollDAO(transaction);
+ Assert.assertTrue(dao.existByNaturalId(poll.getUid()));
+ Poll pollFound = dao.findByNaturalId(poll.getUid());
+
+ // Check pollType and accounts
+ Assert.assertEquals(PollType.RESTRICTED, pollFound.getType());
+ Assert.assertEquals(2, pollFound.getPollAccount().size());
+
+ // Check choices
+ Assert.assertEquals(ChoiceType.DATE, pollFound.getChoiceType());
+ Assert.assertEquals(3, pollFound.getChoice().size());
+
+ // Check creator
+ Assert.assertEquals(user, pollFound.getCreator().getUserAccount());
+
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+ @Test
+ public void testGetPollsByUser() throws PollenBusinessException, TopiaException {
+
+ createGroupPoll("POLL", user, null, 3, "group1", "group2");
+
+ Poll freePoll = createFreePoll("POLL2", user, null);
+
+ PollAccount participant = getServiceVote().getNewPollAccount(user);
+ participant.setChoiceVote(new ArrayList<Vote>());
+
+ getServiceVote().saveVote(freePoll, participant);
+
+
+ /** EXEC METHOD **/
+ EntityFilter filter = context.getNewFilter();
+ filter.setReference(user);
+ List<UserPoll> polls = servicePoll.getPolls(filter);
+
+ // POLL 2 : user both creator and participant (+2 accounts)
+ // POLL : user creator + added in each group (+3 accounts)
+
+ Assert.assertEquals(2, polls.size());
+
+ UserPoll userPoll2 = polls.get(0);
+ Assert.assertEquals("POLL2", userPoll2.getPoll().getTitle());
+ Assert.assertTrue(userPoll2.isCreator());
+ Assert.assertEquals(2, userPoll2.getAccounts().size());
+
+ UserPoll userPoll1 = polls.get(1);
+ Assert.assertEquals("POLL", userPoll1.getPoll().getTitle());
+ Assert.assertTrue(userPoll1.isCreator());
+ Assert.assertEquals(3, userPoll1.getAccounts().size());
+ }
+
+ @Test
+ public void testFetchOnGetter() throws Exception, PollenBusinessException {
+
+ poll = createFreePoll("POLL2", user, VoteCountingType.NORMAL);
+ List<Choice> choices =
+ addChoicesToPoll(poll, ChoiceType.TEXT, "choice1", "choice2", "choice3");
+
+ PollAccount participant = getServiceVote().getNewPollAccount(user);
+ Vote voteImpl = getServiceVote().getNewVote(choices.get(0));
+ voteImpl.setVoteValue(1.);
+ participant.addChoiceVote(voteImpl);
+ voteImpl = getServiceVote().getNewVote(choices.get(1));
+ voteImpl.setVoteValue(1.);
+ participant.addChoiceVote(voteImpl);
+ voteImpl = getServiceVote().getNewVote(choices.get(2));
+ voteImpl.setVoteValue(1.);
+ participant.addChoiceVote(voteImpl);
+
+ getServiceVote().saveVote(poll, participant);
+
+ poll = loadEntity(poll);
+
+ /** EXEC METHOD **/
+
+ Poll pollFound = servicePoll.getPoll(poll.getUid(), Poll.PROPERTY_CHOICE);
+
+// Assert.assertEquals(3, pollFound.getChoice().size());
+
+ EntityFilter filter = context.getNewFilter();
+ filter.setReference(pollFound);
+ List<PollAccount> accounts = getServiceVote().getVotes(filter);
+
+ for (PollAccount account : accounts) {
+ log.debug("Account : " + account.getUid());
+ }
+ Assert.assertEquals(1, accounts.size());
+
+ Assert.assertNotNull(accounts.get(0).getChoiceVote());
+ Assert.assertEquals(3, accounts.get(0).getChoiceVote().size());
+
+ for (Vote vote : accounts.get(0).getChoiceVote()) {
+ log.debug("Vote choice : " + vote.getChoice().getName() +
+ " value=" + vote.getVoteValue());
+ }
+
+ }
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/ServicePollImplTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/ServiceUserImplTest.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/ServiceUserImplTest.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/ServiceUserImplTest.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,293 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+package org.chorem.pollen.service.legacy;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenBusinessException.PollenExceptionType;
+import org.chorem.pollen.PollenDAOHelper;
+import org.chorem.pollen.PollenException;
+import org.chorem.pollen.entity.UserAccount;
+import org.chorem.pollen.entity.UserAccountDAO;
+import org.chorem.pollen.entity.UserAccountImpl;
+import org.junit.Assert;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+
+/**
+ *
+ * @author fdesbois
+ */
+public class ServiceUserImplTest extends AbstractServiceTest {
+
+ private static final Log log = LogFactory.getLog(ServiceUserImplTest.class);
+
+ @Override
+ protected void init() throws Exception {
+ }
+
+ @Test
+ public void testCopyUserAccount() throws Exception {
+ //start("testManageNewPassword");
+
+ UserAccount user = getServiceUser().getNewUser();
+ user.setLogin("homer");
+ user.setNewPassword("wouhou");
+
+ log.info("test 1 : Encode new password");
+ UserAccount destination = new UserAccountImpl();
+ getServiceUser().copyUserAccount(user, destination);
+ Assert.assertNotNull(destination.getPassword());
+
+ String expected = getContext().encodePassword("wouhou");
+ Assert.assertEquals(expected, destination.getPassword());
+
+ log.info("test 2 : Do not encode new password -> newPassword empty");
+ user.setPassword(expected);
+ user.setNewPassword(null);
+ getServiceUser().copyUserAccount(user, destination);
+ Assert.assertEquals(expected, destination.getPassword());
+ }
+
+ @Test
+ public void testCheckPassword() throws Exception {
+ //start("testCheckPassword");
+
+ UserAccount user = getServiceUser().getNewUser();
+ user.setLogin("homer");
+ user.setNewPassword("wouhou");
+ getServiceUser().createUser(user);
+
+ String encodedPassword = getContext().encodePassword("wouhou");
+
+ TopiaContext transaction = beginTransaction();
+ try {
+ UserAccountDAO dao = PollenDAOHelper.getUserAccountDAO(transaction);
+
+ log.info("test 1 : Good password");
+ getServiceUser().checkPassword(dao, "homer", encodedPassword);
+
+ log.info("test 2 : Wrong password");
+ try {
+ getServiceUser().checkPassword(dao, "homer", "bad");
+ } catch (PollenBusinessException eee) {
+ log.error("Error : " + eee.getMessage());
+ Assert.assertEquals(PollenExceptionType.USER_WRONG_PASSWORD,
+ eee.getType());
+ }
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+ /**
+ * Test of executeConnect method, of class ServiceUserImpl.
+ */
+ @Test
+ public void testExecuteConnect() throws Exception {
+ //start("testExecuteConnect");
+
+ // The password is wouhou and login is homer
+ UserAccount user = createUser(false);
+
+ log.info("test 1 : Connection OK");
+ UserAccount connected = getServiceUser().connect("homer", "wouhou");
+ Assert.assertEquals(user, connected);
+
+ log.info("test 2 : Connection problem on login -> user not exist");
+ try {
+ getServiceUser().connect("marge", "wouhou");
+ } catch (PollenBusinessException eee) {
+ log.error("Error : " + eee.getMessage());
+ Assert.assertEquals(PollenExceptionType.USER_NOT_EXIST,
+ eee.getType());
+ }
+
+ log.info("test 3 : Connection problem on password -> " +
+ "don't match with login");
+ try {
+ getServiceUser().connect("homer", "coucou");
+ } catch (PollenBusinessException eee) {
+ log.error("Error : " + eee.getMessage());
+ Assert.assertEquals(PollenExceptionType.USER_WRONG_PASSWORD,
+ eee.getType());
+ }
+ }
+
+ /**
+ * Test of executeGetNewUser method, of class ServiceUserImpl.
+ */
+ @Test
+ public void testExecuteGetNewUser() throws Exception {
+ //start("testGetNewUser");
+
+ UserAccount user = getServiceUser().getNewUser();
+ Assert.assertNotNull(user);
+ Assert.assertEquals(false, user.getAdmin());
+ }
+
+ /**
+ * Test of executeCreateUpdateUser method, of class ServiceUserImpl.
+ */
+ @Test
+ public void testExecuteCreateUser() throws Exception {
+ //start("testCreateUser");
+
+ UserAccount user = getServiceUser().getNewUser();
+ user.setLogin("hsimpson");
+ user.setEmail("hsimpson(a)springfield.us");
+ user.setNewPassword("wouhou");
+
+ String encodedPassword = getContext().encodePassword("wouhou");
+
+ log.info("test 1 : Creation OK");
+ getServiceUser().createUser(user);
+ //Assert.assertNotNull(user.getTopiaId());
+ Assert.assertNotSame(encodedPassword, user.getPassword());
+
+ log.info("test 2 : Creation problem on login -> user exist");
+ UserAccount user2 = getServiceUser().getNewUser();
+ user2.setLogin("hsimpson");
+ // Not the same email
+ user2.setEmail("hsimpson(a)springfield.com");
+ user2.setNewPassword("troubidou");
+
+ try {
+ getServiceUser().createUser(user2);
+ } catch (PollenBusinessException eee) {
+ log.error("Error : " + eee.getMessage());
+ Assert.assertEquals(PollenExceptionType.USER_LOGIN_EXIST,
+ eee.getType());
+ }
+
+ log.info("test 3 : Creation problem on email -> user exist");
+ UserAccount user3 = getServiceUser().getNewUser();
+ user3.setLogin("homer");
+ user3.setEmail("hsimpson(a)springfield.us");
+ user3.setNewPassword("troubidou");
+
+ try {
+ getServiceUser().createUser(user3);
+ } catch (PollenBusinessException eee) {
+ log.error("Error : " + eee.getMessage());
+ Assert.assertEquals(PollenExceptionType.USER_EMAIL_EXIST,
+ eee.getType());
+ }
+
+ log.info("test 4 : Creation OK with no email");
+ UserAccount user4 = getServiceUser().getNewUser();
+ user4.setLogin("marge");
+ user4.setNewPassword("troubidou");
+
+ getServiceUser().createUser(user4);
+ Assert.assertNull(user4.getEmail());
+ }
+
+ /**
+ * Test of executeDeleteUser method, of class ServiceUserImpl.
+ */
+ @Test
+ public void testExecuteUpdateUser() throws Exception {
+ //start("testUpdateUser");
+
+ UserAccount user1 = getServiceUser().getNewUser();
+ user1.setLogin("hsimpson");
+ user1.setEmail("hsimpson(a)springfield.us");
+ user1.setNewPassword("wouhou");
+ getServiceUser().createUser(user1);
+
+ UserAccount user2 = getServiceUser().getNewUser();
+ String user2Password = "wouhou";
+ user2.setLogin("homer");
+ user2.setEmail("hsimpson(a)springfield.fr");
+ user2.setNewPassword(user2Password);
+ getServiceUser().createUser(user2);
+
+ log.info("test 1 : Can't change login -> don't match with password");
+ user2.setLogin("homersimpson");
+ user2.setPassword(user2Password);
+ try {
+ getServiceUser().updateUser(user2, false);
+ } catch (PollenBusinessException eee) {
+ log.error("Error : " + eee.getMessage());
+ Assert.assertEquals(PollenExceptionType.USER_WRONG_PASSWORD,
+ eee.getType());
+ }
+ user2.setLogin("homer");
+
+ log.info("test 2 : Change email OK");
+ user2.setEmail("homersimpson(a)springield.fr");
+ user2.setPassword(user2Password);
+ getServiceUser().updateUser(user2, false);
+
+ log.info("test 3 : Change email problem -> user exist");
+ user2.setEmail(user1.getEmail());
+ user2.setPassword(user2Password);
+ try {
+ getServiceUser().updateUser(user2, false);
+ } catch (PollenBusinessException eee) {
+ log.error("Error : " + eee.getMessage());
+ Assert.assertEquals(PollenExceptionType.USER_EMAIL_EXIST,
+ eee.getType());
+ }
+
+ // TODO test 4 with byAdmin = true
+ }
+
+ /**
+ * Test of executeDeleteUser method, of class ServiceUserImpl.
+ * @throws Exception
+ */
+ @Test
+ public void testExecuteDeleteUser() throws Exception {
+ //start("testUpdateUser");
+
+ try {
+ getServiceUser().deleteUser("test");
+ } catch (PollenException eee) {
+ log.error(eee);
+ Assert.assertEquals(IllegalArgumentException.class,
+ eee.getCause().getClass());
+ }
+
+ UserAccount user = getServiceUser().getNewUser();
+ user.setLogin("user");
+ getServiceUser().createUser(user);
+
+ getServiceUser().deleteUser("user");
+
+ TopiaContext transaction = null;
+ try {
+ transaction = beginTransaction();
+ UserAccountDAO dao = PollenDAOHelper.getUserAccountDAO(transaction);
+ UserAccount userFound = dao.findByLogin("user");
+ Assert.assertNull(userFound);
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/ServiceUserImplTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/ServiceVoteImplTest.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/ServiceVoteImplTest.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/ServiceVoteImplTest.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,349 @@
+/*
+ * #%L
+ * Pollen :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.service.legacy;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenDAOHelper;
+import org.chorem.pollen.common.ChoiceType;
+import org.chorem.pollen.common.VoteCountingType;
+import org.chorem.pollen.entity.Choice;
+import org.chorem.pollen.entity.Poll;
+import org.chorem.pollen.entity.PollAccount;
+import org.chorem.pollen.entity.PollAccountDAO;
+import org.chorem.pollen.entity.PollAccountImpl;
+import org.chorem.pollen.entity.PollDAO;
+import org.chorem.pollen.entity.UserAccount;
+import org.chorem.pollen.entity.Vote;
+import org.chorem.pollen.entity.VoteDAO;
+import org.chorem.pollen.entity.VoteImpl;
+import org.junit.Assert;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created: 27 mai 2010
+ *
+ * @author fdesbois <fdesbois(a)codelutin.com>
+ * @version $Id$
+ */
+public class ServiceVoteImplTest extends AbstractServiceTest {
+
+ private static final Log log = LogFactory.getLog(ServiceVoteImplTest.class);
+
+
+ protected UserAccount user;
+
+ @Override
+ protected void init() throws Exception {
+ getServiceVote();
+
+ user = createUser(false);
+ }
+
+ @Test
+ public void testCanVoteForGroupPoll()
+ throws Exception, TopiaException {
+
+ /** PREPARE DATA **/
+
+ Poll pollCreated = createGroupPoll("Poll", user, null, 3, "Group1", "Group2");
+
+ PollAccount group1 = pollCreated.getPollAccount().iterator().next();
+ PollAccount existingParticipant = group1.getChild().iterator().next();
+
+ // Reload the poll to really be unconnected (no loading of PollAccount)
+ Poll poll = loadEntity(pollCreated);
+
+ /** EXEC METHOD **/
+ log.info("test 1 : participant found and can vote");
+ boolean result = serviceVote.canVote(poll, existingParticipant);
+ Assert.assertTrue(result);
+
+ log.info("test 2 : poll creator can't vote");
+ result = serviceVote.canVote(poll, poll.getCreator());
+ Assert.assertFalse(result);
+
+ log.info("test 3 : existingParticipant can't vote, poll is closed");
+ poll.setClosed(true);
+
+ TopiaContext transaction = beginTransaction();
+ try {
+ PollenDAOHelper.getPollDAO(transaction).update(poll);
+ transaction.commitTransaction();
+ } finally {
+ transaction.closeContext();
+ }
+
+ result = serviceVote.canVote(poll, existingParticipant);
+ Assert.assertFalse(result);
+ }
+
+ @Test
+ public void testSaveVoteForFreePoll() throws Exception, TopiaException {
+ /** PREPARE DATA **/
+ Poll pollCreated = createFreePoll("Poll", user, VoteCountingType.NORMAL);
+ List<Choice> choices =
+ addChoicesToPoll(pollCreated, ChoiceType.TEXT,
+ "choice1", "choice2", "choice3");
+
+ Poll poll = loadEntity(pollCreated);
+
+ // Instantiate new participant with votes
+ PollAccount participant = new PollAccountImpl();
+ participant.setName("participant");
+ participant.setEmail("participant(a)domain.org");
+ participant.setUserAccount(user);
+
+ Vote vote1 = new VoteImpl();
+ vote1.setChoice(choices.get(0)); // choice1
+ vote1.setVoteValue(1); // TRUE
+ participant.addChoiceVote(vote1);
+
+ Vote vote2 = new VoteImpl();
+ vote2.setChoice(choices.get(1)); // choice2
+ vote2.setVoteValue(0); // FALSE
+ participant.addChoiceVote(vote2);
+
+ Vote vote3 = new VoteImpl();
+ vote3.setChoice(choices.get(2)); // choice3
+ vote3.setVoteValue(1); // TRUE
+ participant.addChoiceVote(vote3);
+
+ /** EXEC METHOD **/
+
+ log.info("test 1 : new participant with 2 votes with value to 1");
+
+ PollAccount accountSaved = serviceVote.saveVote(poll, participant);
+
+// TopiaContext transaction = beginTransaction();
+// try {
+//
+// PollAccountDAO dao = PollenDAOHelper.getPollAccountDAO(transaction);
+//
+// PollAccount accountFound = dao.findByNaturalId(accountSaved.getUid());
+//
+// Assert.assertNotNull(accountFound);
+// Assert.assertEquals(context.getCurrentDate(), accountFound.getVoteDate());
+// Assert.assertEquals(2, accountFound.getChoiceVote().size());
+// List<String> choicesExist = new ArrayList<String>();
+// for (Vote curr : accountFound.getChoiceVote()) {
+// Assert.assertEquals(1, curr.getVoteValue(), 0);
+// choicesExist.add(curr.getChoice().getName());
+// }
+//
+// Assert.assertTrue(choicesExist.contains("choice1"));
+// Assert.assertTrue(choicesExist.contains("choice3"));
+//
+// } finally {
+// transaction.closeContext();
+// }
+
+ PollAccount accountFound = loadEntity(accountSaved, PROPERTY_CHOICE_VOTE);
+
+ Assert.assertNotNull(accountFound);
+ Assert.assertEquals(context.getCurrentDate(), accountFound.getVoteDate());
+ Assert.assertEquals(2, accountFound.getChoiceVote().size());
+ List<String> choicesExist = new ArrayList<String>();
+ for (Vote curr : accountFound.getChoiceVote()) {
+ Assert.assertEquals(1, curr.getVoteValue(), 0);
+ choicesExist.add(curr.getChoice().getName());
+ }
+
+ Assert.assertTrue(choicesExist.contains("choice1"));
+ Assert.assertTrue(choicesExist.contains("choice3"));
+
+ log.info("test 2 : anonymous participant");
+ participant.setAnonymous(true);
+ participant.setName("participant2");
+
+ accountSaved = serviceVote.saveVote(poll, participant);
+
+ // Check
+ accountFound = loadEntity(accountSaved); // Need USER_ACCOUNT ?
+
+ Assert.assertTrue(accountFound.isAnonymous());
+ Assert.assertNull(accountFound.getName());
+ Assert.assertNull(accountFound.getUserAccount());
+ Assert.assertNull(accountFound.getEmail());
+
+ // Update topiaId for next test
+ participant.setTopiaId(accountFound.getTopiaId());
+
+ log.info("test 3 : update participant votes");
+
+ PollAccount participantExist =
+ loadEntity(participant, PROPERTY_CHOICE_VOTE);
+
+ for (Vote vote : participantExist.getChoiceVote()) {
+ // Update choice 1 with value 0 -> will be deleted
+ if (vote.getChoice().equals(choices.get(0))) {
+ vote.setVoteValue(0);
+ }
+ }
+ // Add choice2
+ vote2 = new VoteImpl();
+ vote2.setChoice(choices.get(1));
+ vote2.setVoteValue(1); // TRUE
+ participantExist.addChoiceVote(vote2);
+
+ accountSaved = serviceVote.saveVote(poll, participantExist);
+
+ // Check
+ accountFound = loadEntity(accountSaved, PROPERTY_CHOICE_VOTE);
+
+ Assert.assertEquals(context.getCurrentDate(), accountFound.getVoteDate());
+ Assert.assertEquals(2, accountFound.getChoiceVote().size());
+ choicesExist.clear();
+ for (Vote curr : accountFound.getChoiceVote()) {
+ choicesExist.add(curr.getChoice().getName());
+ }
+
+ Assert.assertTrue(choicesExist.contains("choice2"));
+ Assert.assertTrue(choicesExist.contains("choice3"));
+ }
+
+ @Test
+ public void testDeleteVoteForFreePoll()
+ throws Exception, PollenBusinessException {
+
+ /** PREPARE DATA */
+ Poll pollCreated = createFreePoll("Poll", user, VoteCountingType.NORMAL);
+
+ List<Choice> choices =
+ addChoicesToPoll(pollCreated, ChoiceType.TEXT,
+ "choice1", "choice2", "choice3");
+
+ PollAccount participant = new PollAccountImpl();
+ participant.setName("participant");
+ participant.setEmail("participant(a)domain.org");
+ participant.setUserAccount(user);
+
+ for (Choice choice : choices) {
+ Vote vote = new VoteImpl();
+ vote.setChoice(choices.get(0)); // choice1
+ vote.setVoteValue(1); // TRUE
+ participant.addChoiceVote(vote);
+ }
+
+ PollAccount account = serviceVote.saveVote(pollCreated, participant);
+
+ account = loadEntity(account, PROPERTY_CHOICE_VOTE);
+
+ Poll poll = loadEntity(pollCreated);
+
+ /** EXEC METHOD */
+
+ serviceVote.deleteVote(poll, account);
+
+ TopiaContext transaction = beginTransaction();
+ try {
+ PollAccountDAO dao = PollenDAOHelper.getPollAccountDAO(transaction);
+
+ // Check account are correctly deleted
+ PollAccount accountFound = dao.findByNaturalId(account.getUid());
+ Assert.assertNull(accountFound);
+
+ VoteDAO voteDAO = PollenDAOHelper.getVoteDAO(transaction);
+ // Check all votes are not in database anymore
+ for (Vote vote : account.getChoiceVote()) {
+ Vote voteFound = voteDAO.findByTopiaId(vote.getTopiaId());
+ Assert.assertNull(voteFound);
+ }
+
+ PollDAO pollDAO = PollenDAOHelper.getPollDAO(transaction);
+
+ Poll pollFound = pollDAO.findByTopiaId(poll.getTopiaId());
+ Assert.assertEquals(0, pollFound.getPollAccount().size());
+ Assert.assertNotNull(pollFound.getCreator());
+
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+ @Test
+ public void testDeleteVoteForGroupPoll()
+ throws Exception, PollenBusinessException {
+
+ /** PREPARE DATA */
+ Poll pollCreated = createGroupPoll("Poll", user,
+ VoteCountingType.NORMAL, 3, "group1", "group2");
+
+ PollAccount group1 = pollCreated.getPollAccount().iterator().next();
+ PollAccount existingParticipant = group1.getChild().iterator().next();
+
+ List<Choice> choices =
+ addChoicesToPoll(pollCreated, ChoiceType.TEXT,
+ "choice1", "choice2", "choice3");
+
+ for (Choice choice : choices) {
+ Vote vote = new VoteImpl();
+ vote.setChoice(choices.get(0)); // choice1
+ vote.setVoteValue(1); // TRUE
+ existingParticipant.addChoiceVote(vote);
+ }
+
+ PollAccount account =
+ serviceVote.saveVote(pollCreated, existingParticipant);
+
+ account = loadEntity(account, PROPERTY_CHOICE_VOTE);
+
+ Poll poll = loadEntity(pollCreated);
+
+ /** EXEC METHOD */
+
+ serviceVote.deleteVote(poll, account);
+
+ TopiaContext transaction = beginTransaction();
+ try {
+ PollAccountDAO dao = PollenDAOHelper.getPollAccountDAO(transaction);
+
+ // Check account are correctly deleted
+ account = dao.findByNaturalId(account.getUid());
+ Assert.assertFalse(account.isList());
+ Assert.assertNotNull(account);
+ Assert.assertNull(account.getVoteDate());
+
+ VoteDAO voteDAO = PollenDAOHelper.getVoteDAO(transaction);
+ // Check all votes are not in database anymore
+ for (Vote vote : account.getChoiceVote()) {
+ Vote voteFound = voteDAO.findByTopiaId(vote.getTopiaId());
+ Assert.assertNull(voteFound);
+ }
+
+ } finally {
+ transaction.closeContext();
+ }
+
+
+ }
+
+
+}
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/service/legacy/ServiceVoteImplTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/AbstractPollenServiceTest.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/AbstractPollenServiceTest.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/AbstractPollenServiceTest.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,272 @@
+package org.chorem.pollen.services;
+
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenDAOHelper;
+import org.chorem.pollen.common.ChoiceType;
+import org.chorem.pollen.common.PollType;
+import org.chorem.pollen.common.VoteCountingType;
+import org.chorem.pollen.entity.Choice;
+import org.chorem.pollen.entity.ChoiceDAO;
+import org.chorem.pollen.entity.FavoriteList;
+import org.chorem.pollen.entity.FavoriteListDAO;
+import org.chorem.pollen.entity.FavoriteParticipant;
+import org.chorem.pollen.entity.FavoriteParticipantDAO;
+import org.chorem.pollen.entity.Poll;
+import org.chorem.pollen.entity.PollAccount;
+import org.chorem.pollen.entity.PollAccountDAO;
+import org.chorem.pollen.entity.PollDAO;
+import org.chorem.pollen.entity.UserAccount;
+import org.chorem.pollen.entity.UserAccountDAO;
+import org.junit.Before;
+import org.junit.Rule;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.framework.TopiaQuery;
+import org.nuiton.topia.persistence.TopiaEntity;
+
+import java.util.List;
+
+/**
+ * For each test, create an isolated transaction context, in a H2 database.
+ * The H2 file is stored in a directory depending on the test class name, the
+ * test method name, and a timestamp (allowing you to run tests multiple times
+ * to see how database changed between each test run).
+ * <p/>
+ * Any unit test of a service should subclass this class and use the
+ * {@link #newService(Class)} to get a service ready to be used.
+ */
+public abstract class AbstractPollenServiceTest extends PollenServiceSupport {
+
+ @Rule
+ public FakeServiceContext serviceContext = new FakeServiceContext();
+
+ @Before
+ public void setUp() throws Exception {
+ serviceContext.setServiceFactory(new PollenServiceFactory());
+ setServiceContext(serviceContext);
+ }
+
+
+ /**
+ * Create a user :<br /> <ul> <li>login : homer</li> <li>email :
+ * homer(a)simpson.us</li> <li>password : wouhou</li> </ul> You can decide if
+ * this user is an admin using {@code admin} argument.
+ *
+ * @param admin flag to create the user as an admin
+ * @return the new UserAccount created
+ * @throws TopiaException
+ * @throws PollenBusinessException
+ */
+ public UserAccount createUser(boolean admin) throws TopiaException, PollenBusinessException {
+
+ UserService userService = newService(UserService.class);
+
+ UserAccount user = userService.getNewUser();
+ user.setLogin("homer");
+ user.setEmail("homer(a)simpson.us");
+ user.setNewPassword("wouhou");
+ user.setAdmin(admin);
+
+ userService.createUser(user);
+
+ TopiaContext transaction = serviceContext.newTransaction();
+ try {
+ UserAccountDAO dao =
+ PollenDAOHelper.getUserAccountDAO(transaction);
+
+ UserAccount findUser = dao.findByLogin(user.getLogin());
+ return findUser;
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+ public FavoriteList createFavoriteList(String name, UserAccount user)
+ throws TopiaException {
+
+ TopiaContext transaction = serviceContext.newTransaction();
+ try {
+ FavoriteListDAO dao =
+ PollenDAOHelper.getFavoriteListDAO(transaction);
+
+ FavoriteList list = dao.create(name, user);
+ transaction.commitTransaction();
+ return list;
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+ public FavoriteParticipant createFavoriteParticipant(String name,
+ String email, FavoriteList list) throws TopiaException {
+ TopiaContext transaction = serviceContext.newTransaction();
+ try {
+ FavoriteParticipantDAO dao =
+ PollenDAOHelper.getFavoriteParticipantDAO(transaction);
+
+ FavoriteParticipant participant = dao.create(name, email, list);
+ transaction.commitTransaction();
+ return participant;
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+ public FavoriteList findFavoriteList(String id, String... propertiesLoad)
+ throws TopiaException {
+ TopiaContext transaction = serviceContext.newTransaction();
+ try {
+ FavoriteListDAO dao =
+ PollenDAOHelper.getFavoriteListDAO(transaction);
+
+ TopiaQuery query = dao.createQuery().
+ addEquals(TopiaEntity.TOPIA_ID, id).
+ addLoad(propertiesLoad);
+
+ FavoriteList result = dao.findByQuery(query);
+
+ return result;
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+ protected Poll createPoll(TopiaContext transaction,
+ String title, UserAccount user,
+ PollType type, VoteCountingType voteCounting)
+ throws TopiaException {
+
+ PollAccountDAO accountDAO =
+ PollenDAOHelper.getPollAccountDAO(transaction);
+
+ PollAccount creator = accountDAO.create(serviceContext.createPollenUrlId());
+ creator.setName(user.getDisplayName());
+ creator.setEmail(user.getEmail());
+ creator.setUserAccount(user);
+ creator.setAdmin(true);
+
+ PollDAO pollDAO = PollenDAOHelper.getPollDAO(transaction);
+
+ Poll poll = pollDAO.create(serviceContext.createPollenUrlId());
+ poll.setCreator(creator);
+ poll.setTitle(title);
+ poll.setType(type);
+ if (voteCounting == null) {
+ voteCounting = VoteCountingType.NORMAL;
+ }
+ poll.setVoteCounting(voteCounting);
+
+ return poll;
+ }
+
+ public Poll createFreePoll(String title, UserAccount user, VoteCountingType voteCounting)
+ throws TopiaException {
+ TopiaContext transaction = serviceContext.newTransaction();
+ try {
+ Poll poll = createPoll(transaction, title, user, PollType.FREE, voteCounting);
+
+ transaction.commitTransaction();
+
+ return poll;
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+ public List<Choice> addChoicesToPoll(Poll poll, ChoiceType choiceType, String... choices)
+ throws TopiaException {
+
+ TopiaContext transaction = serviceContext.newTransaction();
+ try {
+ ChoiceDAO dao = PollenDAOHelper.getChoiceDAO(transaction);
+
+ poll.setChoiceType(choiceType);
+
+ for (String choice : choices) {
+ Choice newChoice = dao.create();
+ newChoice.setName(choice);
+ newChoice.setType(choiceType);
+ poll.addChoice(newChoice);
+ }
+
+ transaction.commitTransaction();
+
+ return poll.getChoice();
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+ public Poll createGroupPoll(String title,
+ UserAccount user, VoteCountingType voteCounting,
+ int nbParticipantsByGroup,
+ String... groupNames)
+ throws TopiaException {
+
+ TopiaContext transaction = serviceContext.newTransaction();
+ try {
+
+ Poll poll = createPoll(transaction, title, user, PollType.GROUP, voteCounting);
+
+ PollAccountDAO accountDAO =
+ PollenDAOHelper.getPollAccountDAO(transaction);
+
+ for (String groupName : groupNames) {
+ PollAccount group = accountDAO.create(serviceContext.createPollenUrlId());
+ group.setName(groupName);
+ group.setList(true);
+
+ for (int i = 1; i <= nbParticipantsByGroup; i++) {
+ PollAccount participant =
+ accountDAO.create(serviceContext.createPollenUrlId());
+ participant.setName(groupName + "_participant" + i);
+ participant.setEmail(groupName + "_email" + i + "@domain.org");
+ participant.setWeight(1.);
+ if (i == 1) {
+ participant.setUserAccount(user);
+ }
+ group.addChild(participant);
+ }
+
+ poll.addPollAccount(group);
+ }
+
+ transaction.commitTransaction();
+
+ return poll;
+
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+ public <E extends TopiaEntity> E loadEntity(E source,
+ String... propertiesToLoad)
+ throws Exception {
+
+ TopiaContext transaction = serviceContext.newTransaction();
+ try {
+ TopiaQuery query = new TopiaQuery(source.getClass());
+
+ query.addFetch(propertiesToLoad);
+
+ String mainIdProperty =
+ TopiaQuery.getProperty(query.getMainAlias(), TopiaEntity.TOPIA_ID);
+
+ query.addEquals(mainIdProperty, source.getTopiaId()).
+ setMaxResults(1);
+
+ E result = (E) query.executeToEntity(transaction, source.getClass());
+
+ if (result != null) {
+ return result;
+ }
+
+ throw new NullPointerException("nothing to find... from id = " +
+ source.getTopiaId());
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+}
Added: branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/EmailServiceTest.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/EmailServiceTest.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/EmailServiceTest.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,37 @@
+package org.chorem.pollen.services;
+
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Test {@link EmailService}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.0
+ */
+public class EmailServiceTest extends AbstractPollenServiceTest {
+
+ @Override
+ @Before
+ public void setUp() throws Exception {
+
+ serviceContext.setCurrentTime(5, 10, 2011);
+
+ super.setUp();
+ }
+
+ @Test
+ public void testCreateEmail() throws Exception {
+
+ }
+
+ @Test
+ public void testSendEmail() throws Exception {
+
+ }
+
+ @Test
+ public void testGetNewEmail() throws Exception {
+
+ }
+}
Added: branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/FakeServiceContext.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/FakeServiceContext.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/FakeServiceContext.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,175 @@
+package org.chorem.pollen.services;
+
+
+import com.google.common.base.Supplier;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.chorem.pollen.PollenConfiguration;
+import org.chorem.pollen.PollenTopiaRootContextSupplierFactory;
+import org.junit.rules.TestWatcher;
+import org.junit.runner.Description;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.TopiaRuntimeException;
+import org.nuiton.util.DateUtil;
+
+import java.io.File;
+import java.util.Date;
+import java.util.Locale;
+import java.util.UUID;
+
+/**
+ * Provide an implementation of {@link PollenServiceContext} suitable for repeatable,
+ * isolated tests requiring a database.
+ */
+public class FakeServiceContext extends TestWatcher implements PollenServiceContext {
+
+ public static final String CONFIGURATION_PATH = "pollen-fake.properties";
+
+ protected Supplier<TopiaContext> rootContextSupplier;
+
+ private static final Log log = LogFactory.getLog(FakeServiceContext.class);
+
+ /** A time-stamp, allow to make multiple build and keep the tests data. */
+ protected static final String TIMESTAMP = String.valueOf(System.nanoTime());
+
+ protected PollenServiceFactory serviceFactory;
+
+ protected TopiaContext rootContext;
+
+ protected TopiaContext transaction;
+
+ protected Date fakeCurrentTime;
+
+ protected File getTestSpecificDirectory(Description description) {
+ // Trying to look for the temporary folder to store data for the test
+ String tempDirPath = System.getProperty("java.io.tmpdir");
+ if (tempDirPath == null) {
+ // can this really occur ?
+ tempDirPath = "";
+ if (log.isWarnEnabled()) {
+ log.warn("'\"java.io.tmpdir\" not defined");
+ }
+ }
+ File tempDirFile = new File(tempDirPath);
+
+ // create the directory to store database data
+ String dataBasePath = description.getClassName()
+ + File.separator // a directory with the test class name
+ + description.getMethodName()// a sub-directory with the method name
+ + '_'
+ + TIMESTAMP; // and a timestamp
+ File databaseFile = new File(tempDirFile, dataBasePath);
+ return databaseFile;
+ }
+
+ public Supplier<TopiaContext> getRootContextSupplier() {
+ return rootContextSupplier;
+ }
+
+ @Override
+ protected void starting(Description description) {
+ super.starting(description);
+ description.getMethodName();
+ PollenTopiaRootContextSupplierFactory factory =
+ new PollenTopiaRootContextSupplierFactory();
+ File testDir = getTestSpecificDirectory(description);
+ if (log.isInfoEnabled()) {
+ log.info("Test dir = " + testDir);
+ }
+ rootContextSupplier = factory.newEmbeddedDatabase(
+ testDir, "/" + CONFIGURATION_PATH);
+ rootContext = rootContextSupplier.get();
+ }
+
+ @Override
+ protected void finished(Description description) {
+ super.finished(description);
+ if (!rootContext.isClosed()) {
+ try {
+ rootContext.closeContext();
+ } catch (TopiaException e) {
+ throw new TopiaRuntimeException(e);
+ }
+ }
+ }
+
+ /** May be used in test to get a fresh transaction. */
+ @Override
+ public TopiaContext getTransaction() {
+ if (transaction == null) {
+ try {
+ transaction = rootContext.beginTransaction();
+ } catch (TopiaException e) {
+ throw new TopiaRuntimeException(e);
+ }
+ }
+ return transaction;
+ }
+
+ public TopiaContext newTransaction() throws TopiaException {
+ return rootContext.beginTransaction();
+ }
+
+ @Override
+ public Date getCurrentTime() {
+ if (fakeCurrentTime == null) {
+ throw new IllegalStateException("le service testé a besoin de " +
+ "connaître la date, il faudrait en préciser une de test via les"
+ + " méthodes serviceContext#setCurrentTime(...)");
+ } else {
+ log.trace("injecting fake date in service : " + fakeCurrentTime);
+ }
+ return fakeCurrentTime;
+ }
+
+ public void setCurrentTime(Date fakeCurrentTime) {
+ this.fakeCurrentTime = fakeCurrentTime;
+ }
+
+ public void setCurrentTime(int day, int month, int year) {
+ Date date = DateUtil.createDate(day, month, year);
+ setCurrentTime(date);
+ }
+
+ @Override
+ public void setTransaction(TopiaContext transaction) {
+ }
+
+ @Override
+ public Locale getLocale() {
+ return Locale.getDefault();
+ }
+
+ /**
+ * Create an id to easily managed polls using urls.
+ *
+ * @return a fresh generated String
+ */
+ @Override
+ public String createPollenUrlId() {
+ return UUID.randomUUID().toString().replaceAll("-", "");
+ }
+
+ @Override
+ public PollenConfiguration getConfiguration() {
+ PollenConfiguration configuration
+ = new PollenConfiguration(CONFIGURATION_PATH);
+ return configuration;
+ }
+
+ @Override
+ public PollenServiceFactory getServiceFactory() {
+ return serviceFactory;
+ }
+
+ @Override
+ public <E extends PollenService> E newService(Class<E> clazz) {
+ return serviceFactory.newService(clazz, this);
+ }
+
+ public void setServiceFactory(PollenServiceFactory serviceFactory) {
+ this.serviceFactory = serviceFactory;
+ }
+
+}
Added: branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/FavoriteServiceTest.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/FavoriteServiceTest.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/FavoriteServiceTest.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,174 @@
+package org.chorem.pollen.services;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenDAOHelper;
+import org.chorem.pollen.entity.FavoriteList;
+import org.chorem.pollen.entity.FavoriteParticipant;
+import org.chorem.pollen.entity.FavoriteParticipantDAO;
+import org.chorem.pollen.entity.UserAccount;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+
+/**
+ * Tests the {@link FavoriteService}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.0
+ */
+public class FavoriteServiceTest extends AbstractPollenServiceTest {
+
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(FavoriteServiceTest.class);
+
+ @Override
+ @Before
+ public void setUp() throws Exception {
+
+ serviceContext.setCurrentTime(5, 10, 2011);
+
+ super.setUp();
+ }
+
+ @Test
+ public void testCreateFavoriteParticipant() throws Exception {
+ //start("testCreateFavoriteParticipant");
+
+ FavoriteService service = newService(FavoriteService.class);
+
+ UserAccount user = createUser(false);
+
+ final FavoriteList list = createFavoriteList("LIST", user);
+
+ log.info("test 1 : no problem on creation");
+ FavoriteParticipant participant =
+ service.getNewFavoriteParticipant(list);
+
+ participant.setName("participant");
+ participant.setEmail("email");
+
+ service.createFavoriteParticipant(participant);
+
+ log.info("test 2 : problem on naturalId : participant already" +
+ " set with same email");
+
+ participant =
+ service.getNewFavoriteParticipant(list);
+
+ participant.setName("participant");
+ participant.setEmail("email");
+
+ try {
+ service.createFavoriteParticipant(participant);
+ } catch (PollenBusinessException eee) {
+ Assert.assertEquals(PollenBusinessException.PollenExceptionType.PARTICIPANT_EXIST,
+ eee.getType());
+ }
+
+ log.info("test 3 : email in naturalId can be null");
+
+ participant =
+ service.getNewFavoriteParticipant(list);
+
+ participant.setName("participant2");
+ participant.setEmail(null);
+
+ service.createFavoriteParticipant(participant);
+
+ TopiaContext transaction = serviceContext.newTransaction();
+ try {
+ FavoriteParticipantDAO dao =
+ PollenDAOHelper.getFavoriteParticipantDAO(transaction);
+ String email = null;
+
+ FavoriteParticipant result = dao.findByProperties(
+ FavoriteParticipant.PROPERTY_NAME, "participant2",
+ FavoriteParticipant.PROPERTY_EMAIL, email,
+ FavoriteParticipant.PROPERTY_FAVORITE_LIST, list);
+
+ Assert.assertNotNull(result);
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+ @Test
+ public void testUpdateFavoriteParticipant() throws Exception {
+ //start("testUpdateFavoriteParticipant");
+
+ FavoriteService service = newService(FavoriteService.class);
+
+ /** PREPARE DATA **/
+ UserAccount user = createUser(false);
+
+ FavoriteList list = createFavoriteList("LIST", user);
+ FavoriteParticipant participant =
+ createFavoriteParticipant("participant", null, list);
+
+ /** EXEC METHOD **/
+ log.info("test 1 : update ok : add email");
+ participant.setEmail("email");
+ participant.setWeight(1.);
+
+ service.updateFavoriteParticipant(participant);
+ }
+
+ @Test
+ @Ignore
+ public void testDeleteFavoriteParticipant() throws Exception {
+
+ }
+
+ @Test
+ @Ignore
+ public void testGetFavoriteParticipant() throws Exception {
+
+ }
+
+ @Test
+ @Ignore
+ public void testGetFavoriteParticipants() throws Exception {
+
+ }
+
+ @Test
+ @Ignore
+ public void testGetFavoriteLists() throws Exception {
+
+ }
+
+ @Test
+ @Ignore
+ public void testDeleteFavoriteList() throws Exception {
+
+ }
+
+ @Test
+ @Ignore
+ public void testCreateFavoriteList() throws Exception {
+
+ }
+
+ @Test
+ @Ignore
+ public void testGetNbFavoriteParticipants() throws Exception {
+
+ }
+
+ @Test
+ @Ignore
+ public void testGetNewFavoriteParticipant() throws Exception {
+
+ }
+
+ @Test
+ @Ignore
+ public void testGetNewFavoriteList() throws Exception {
+
+ }
+
+}
Added: branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/PollServiceTest.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/PollServiceTest.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/PollServiceTest.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,602 @@
+package org.chorem.pollen.services;
+
+import org.apache.commons.lang.time.DateUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenDAOHelper;
+import org.chorem.pollen.bean.UserPoll;
+import org.chorem.pollen.common.ChoiceType;
+import org.chorem.pollen.common.PollType;
+import org.chorem.pollen.common.VoteCountingType;
+import org.chorem.pollen.entity.Choice;
+import org.chorem.pollen.entity.ChoiceDAO;
+import org.chorem.pollen.entity.FavoriteList;
+import org.chorem.pollen.entity.Participant;
+import org.chorem.pollen.entity.ParticipantList;
+import org.chorem.pollen.entity.Poll;
+import org.chorem.pollen.entity.PollAccount;
+import org.chorem.pollen.entity.PollAccountImpl;
+import org.chorem.pollen.entity.PollDAO;
+import org.chorem.pollen.entity.PollImpl;
+import org.chorem.pollen.entity.UserAccount;
+import org.chorem.pollen.entity.Vote;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.framework.EntityFilter;
+import org.nuiton.topia.framework.TopiaFilter;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Tests the {@link PollService}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.0
+ */
+@Ignore
+public class PollServiceTest extends AbstractPollenServiceTest {
+
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(PollServiceTest.class);
+
+ private UserAccount user;
+
+ private PollAccount creator;
+
+ private PollAccount list1;
+
+ private FavoriteList list2;
+
+ private Poll poll;
+
+ @Override
+ @Before
+ public void setUp() throws Exception {
+
+ serviceContext.setCurrentTime(5, 10, 2011);
+
+ super.setUp();
+
+ user = createUser(false);
+
+ // Poll creator
+ creator = new PollAccountImpl();
+ creator.setName(user.getDisplayName());
+ creator.setEmail(user.getEmail());
+ creator.setUserAccount(user);
+ creator.setAdmin(true);
+
+ // Poll
+ poll = new PollImpl();
+ poll.setCreator(creator);
+ poll.setTitle("Poll");
+ poll.setUid(serviceContext.createPollenUrlId());
+ poll.setChoice(new ArrayList<Choice>());
+
+ // Participant Lists
+ // First list : new list specific for poll restriction
+ list1 = new PollAccountImpl();
+ list1.setName("List1");
+ list1.setList(true);
+
+ Collection<Participant> participants = new ArrayList<Participant>();
+ Participant participant1_1 = new PollAccountImpl();
+ participant1_1.setName("participant1_1");
+ participant1_1.setEmail("email1_1(a)domain.org");
+ participants.add(participant1_1);
+
+ Participant participant1_2 = new PollAccountImpl();
+ participant1_2.setName("participant1_2");
+ participants.add(participant1_2);
+ list1.setParticipants(participants);
+
+ // Second list : existing list from user favorites
+ list2 = createFavoriteList("list2", user);
+ Participant participant2_1 = createFavoriteParticipant(
+ "participant2_1", "email2_1(a)domain.org", list2);
+ Participant participant2_2 = createFavoriteParticipant(
+ "participant2_2", "email2_2(a)domain.org", list2);
+ Participant participant2_3 = createFavoriteParticipant(
+ "participant2_3", null, list2);
+
+ list2 = findFavoriteList(list2.getId(), FavoriteList.PROPERTY_FAVORITE_PARTICIPANT);
+
+ }
+
+ @Test
+ public void testUpdatePollNotStartedWithChoice() throws PollenBusinessException, TopiaException {
+
+ // ---- PREPARE DATA ---- //
+
+ PollService servicePoll = newService(PollService.class);
+
+ // Prepare restricted Poll with 3 choices
+ poll.setType(PollType.RESTRICTED);
+ List<ParticipantList> participantLists = new ArrayList<ParticipantList>();
+ participantLists.add(list1);
+ // begin in 3 days
+ Date beginDate = DateUtils.addDays(serviceContext.getCurrentTime(), 3);
+ poll.setBeginDate(beginDate);
+ poll.setChoiceType(ChoiceType.TEXT);
+ poll.addNewChoice("choice1", null);
+ poll.addNewChoice("choice2", "desc2");
+ poll.addNewChoice("choice3", "desc3");
+
+ Poll pollCreated = servicePoll.createPoll(poll, participantLists);
+ // Ensure not started and not closed
+ Assert.assertFalse(pollCreated.isStarted());
+ Assert.assertFalse(pollCreated.isClosed());
+
+ // Update Choices
+ pollCreated.setChoiceType(ChoiceType.DATE);
+ // Reset previous List
+ pollCreated.setChoice(null);
+ pollCreated.addNewChoice("choiceDate1", null);
+ pollCreated.addNewChoice("choiceDate2", null);
+ pollCreated.addNewChoice("choiceDate3", null);
+
+ // ---- EXECUTE #1 : override choices ---- //
+
+ Poll result = servicePoll.updatePoll(pollCreated);
+ // Changing type is efficient
+ Assert.assertEquals(ChoiceType.DATE, result.getChoiceType());
+
+ // ---- CHECK RESULT ---- //
+
+ TopiaContext transaction = serviceContext.newTransaction();
+ try {
+ ChoiceDAO choiceDAO = PollenDAOHelper.getChoiceDAO(transaction);
+
+ // This assume that only 3 choices exist, previous ones have been deleted
+ long nbChoices = choiceDAO.count();
+ Assert.assertEquals(3, nbChoices);
+ } finally {
+ transaction.closeContext();
+ }
+
+ // ---- EXECUTE #2 : update existing choice name ---- //
+
+ Choice choiceDate1 = result.getChoice().get(0);
+ choiceDate1.setName("changeChoice");
+ result = servicePoll.updatePoll(result);
+
+ // ---- CHECK RESULT ---- //
+
+ Assert.assertEquals("changeChoice", result.getChoice().get(0).getName());
+ }
+
+ @Test
+ public void testInternalCreateBasicPoll() throws Exception {
+ //start("testInternalCreateBasicPoll");
+
+ PollService servicePoll = newService(PollService.class);
+
+ // ---- PREPARE DATA ---- //
+ // done in init() method
+
+ // ---- EXECUTE ---- //
+
+ log.info("test 1 : create poll with creator from existing user");
+
+
+ Poll newPoll;
+ {
+ newPoll = servicePoll.createBasicPoll(poll);
+ Assert.assertNotNull(newPoll);
+ Assert.assertNotNull(newPoll.getTopiaId());
+ Assert.assertNotNull(newPoll.getUid());
+ Assert.assertEquals("Poll", newPoll.getTitle());
+
+ PollAccount newCreatorAccount = newPoll.getCreator();
+ Assert.assertNotNull(newCreatorAccount);
+ Assert.assertNotNull(newCreatorAccount.getUid());
+ Assert.assertEquals(user, newCreatorAccount.getUserAccount());
+ Assert.assertTrue(newCreatorAccount.getAdmin());
+
+ // Will save the poll and its creator
+ getTransaction().commitTransaction();
+ }
+
+ // Verification
+ TopiaContext transaction = serviceContext.newTransaction();
+ try {
+ PollDAO dao = PollenDAOHelper.getPollDAO(transaction);
+
+ Poll pollFound = dao.findByTopiaId(newPoll.getTopiaId());
+ Assert.assertNotNull(pollFound);
+ Assert.assertNotNull(pollFound.getCreator());
+ Assert.assertEquals(user, pollFound.getCreator().getUserAccount());
+
+ } finally {
+ transaction.closeContext();
+ }
+
+ log.info("test 2 : create poll with new creator");
+ poll.getCreator().setUserAccount(null);
+
+ newPoll = servicePoll.createBasicPoll(poll);
+ PollAccount newCreatorAccount = newPoll.getCreator();
+ Assert.assertNull(newCreatorAccount.getUserAccount());
+
+ }
+
+// @Test
+// public void testInternalCreatePollAccounts() throws Exception {
+// //start("testInternalCreatePollAccounts");
+//
+// // ---- PREPARE DATA ---- //
+// PollService servicePoll = newService(PollService.class);
+// // list initializations in init() method
+//
+// Collection<ParticipantList> lists = new ArrayList<ParticipantList>();
+// // First list : new list specific for poll restriction
+// lists.add(list1);
+// // Second list : existing list from user favorites
+// lists.add(list2);
+//
+// // ---- EXECUTE ---- //
+//
+// log.info("test 1 : createPollAccounts from one new list : RESTRICTED");
+//
+//
+// TopiaContext transaction = serviceContext.newTransaction();
+// try {
+// // Only the first list of the collection will be considered : list1
+// // Create only person accounts
+// List<PollAccount> accounts = servicePoll.createPollAccounts(
+// transaction, PollType.RESTRICTED, lists);
+//
+// Assert.assertEquals(2, accounts.size());
+// for (PollAccount account : accounts) {
+// Assert.assertFalse(account.getList());
+// Assert.assertNotNull(account.getId());
+// Assert.assertNotNull(account.getUid());
+// // No link with user
+// Assert.assertNull(account.getUserAccount());
+// }
+//
+// } finally {
+// transaction.closeContext();
+// }
+//
+// log.info("test 2 : createPollAccounts from two lists : GROUP." +
+// " One of the list is an existing favorite one");
+//
+// transaction = serviceContext.newTransaction();
+// try {
+// // Create only list accounts
+// List<PollAccount> accounts = servicePoll.createPollAccounts(
+// transaction, PollType.GROUP, lists);
+//
+// Assert.assertEquals(2, accounts.size());
+// for (PollAccount account : accounts) {
+// Assert.assertTrue(account.getList());
+// Assert.assertNotNull(account.getId());
+// Assert.assertNotNull(account.getUid());
+// Assert.assertNotNull(account.getName());
+// // No link with user
+// Assert.assertNull(account.getUserAccount());
+// // Check on list1
+// if (account.getName().equals(list1.getName())) {
+// Assert.assertEquals(2, account.getChild().size());
+// // Check on list2
+// } else if (account.getName().equals(list2.getName())) {
+// Assert.assertEquals(3, account.getChild().size());
+// // Child are person accounts
+// for (PollAccount person : account.getChild()) {
+// Assert.assertFalse(person.getList());
+// Assert.assertNotNull(person.getId());
+// Assert.assertNotNull(person.getUid());
+// // No link with user
+// Assert.assertNull(person.getUserAccount());
+// }
+// }
+// }
+//
+// } finally {
+// transaction.closeContext();
+// }
+// }
+
+ @Test
+ public void integrationCreatePollFree() throws Exception {
+
+ // ---- PREPARE DATA ---- //
+ PollService servicePoll = newService(PollService.class);
+
+ user = null;
+ poll = servicePoll.getNewPoll(user);
+ poll.getCreator().setName("homer");
+ poll.setType(PollType.FREE);
+ poll.setChoiceType(ChoiceType.TEXT);
+ poll.addNewChoice("choice1", null);
+ poll.addNewChoice("choice2", "desc2");
+ poll.addNewChoice("choice3", "desc3");
+
+ // ---- EXECUTE ---- //
+ servicePoll.createPoll(poll, null);
+
+ /** VERIFICATION RESULT **/
+ TopiaContext transaction = serviceContext.newTransaction();
+ try {
+ // No accounts + type = FREE + 3 TEXT choices
+ PollDAO dao = PollenDAOHelper.getPollDAO(transaction);
+ Assert.assertTrue(dao.existByNaturalId(poll.getUid()));
+ Poll pollFound = dao.findByNaturalId(poll.getUid());
+
+ // Check pollType and accounts
+ Assert.assertEquals(PollType.FREE, pollFound.getType());
+ Assert.assertEquals(0, pollFound.getPollAccount().size());
+
+ // Check choices
+ Assert.assertEquals(ChoiceType.TEXT, pollFound.getChoiceType());
+ Assert.assertEquals(3, pollFound.getChoice().size());
+
+ // Check creator
+ Assert.assertNotNull(pollFound.getCreator());
+ Assert.assertNull(pollFound.getCreator().getUserAccount());
+ Assert.assertNotNull(pollFound.getCreator().getName());
+
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+ @Test
+ public void integrationCreatePollRestrictedFromNewList() throws Exception {
+ /** PREPARE DATA **/
+ PollService servicePoll = newService(PollService.class);
+ poll = servicePoll.getNewPoll(user);
+ poll.setType(PollType.RESTRICTED);
+ poll.setChoiceType(ChoiceType.DATE);
+ poll.addNewChoice("date1", null);
+ poll.addNewChoice("date2", "desc2");
+ poll.addNewChoice("date3", "desc3");
+
+ Collection<ParticipantList> lists = new ArrayList<ParticipantList>();
+ ParticipantList list = servicePoll.getNewPollList();
+ lists.add(list);
+
+ Collection<Participant> participants = new ArrayList<Participant>();
+ Participant participant1 = servicePoll.getNewPollParticipant();
+ participant1.setName("participant1");
+ participant1.setEmail("email1");
+ participant1.setWeight(1.);
+ participants.add(participant1);
+
+ Participant participant2 = servicePoll.getNewPollParticipant();
+ participant2.setName("participant2");
+ participant2.setEmail(null);
+ participant2.setWeight(1.);
+ participants.add(participant2);
+ list.setParticipants(participants);
+
+ /** EXEC METHOD **/
+ servicePoll.createPoll(poll, lists);
+
+ /** VERIFICATION RESULT **/
+ TopiaContext transaction = serviceContext.newTransaction();
+ try {
+ // Two person accounts + type = RESTRICTED + 3 DATE choices
+ PollDAO dao = PollenDAOHelper.getPollDAO(transaction);
+ Assert.assertTrue(dao.existByNaturalId(poll.getUid()));
+ Poll pollFound = dao.findByNaturalId(poll.getUid());
+
+ // Check pollType and accounts
+ Assert.assertEquals(PollType.RESTRICTED, pollFound.getType());
+ Assert.assertEquals(2, pollFound.getPollAccount().size());
+
+ // Check choices
+ Assert.assertEquals(ChoiceType.DATE, pollFound.getChoiceType());
+ Assert.assertEquals(3, pollFound.getChoice().size());
+
+ // Check creator
+ Assert.assertEquals(user, pollFound.getCreator().getUserAccount());
+
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+ @Test
+ public void testGetPollsByUser() throws PollenBusinessException, TopiaException {
+
+ PollService servicePoll = newService(PollService.class);
+ VoteService voteService = newService(VoteService.class);
+
+ createGroupPoll("POLL", user, null, 3, "group1", "group2");
+
+ Poll freePoll = createFreePoll("POLL2", user, null);
+
+ PollAccount participant = voteService.getNewPollAccount(user);
+ participant.setChoiceVote(new ArrayList<Vote>());
+
+ voteService.saveVote(freePoll, participant);
+
+
+ /** EXEC METHOD **/
+// EntityFilter filter = context.getNewFilter();
+ EntityFilter filter = new TopiaFilter();
+ filter.setReference(user);
+ List<UserPoll> polls = servicePoll.getPolls(filter);
+
+ // POLL 2 : user both creator and participant (+2 accounts)
+ // POLL : user creator + added in each group (+3 accounts)
+
+ Assert.assertEquals(2, polls.size());
+
+ UserPoll userPoll2 = polls.get(0);
+ Assert.assertEquals("POLL2", userPoll2.getPoll().getTitle());
+ Assert.assertTrue(userPoll2.isCreator());
+ Assert.assertEquals(2, userPoll2.getAccounts().size());
+
+ UserPoll userPoll1 = polls.get(1);
+ Assert.assertEquals("POLL", userPoll1.getPoll().getTitle());
+ Assert.assertTrue(userPoll1.isCreator());
+ Assert.assertEquals(3, userPoll1.getAccounts().size());
+ }
+
+ @Test
+ public void testFetchOnGetter() throws Exception, PollenBusinessException {
+
+ PollService servicePoll = newService(PollService.class);
+ VoteService voteService = newService(VoteService.class);
+
+ poll = createFreePoll("POLL2", user, VoteCountingType.NORMAL);
+ List<Choice> choices =
+ addChoicesToPoll(poll, ChoiceType.TEXT, "choice1", "choice2", "choice3");
+
+ PollAccount participant = voteService.getNewPollAccount(user);
+ Vote voteImpl = voteService.getNewVote(choices.get(0));
+ voteImpl.setVoteValue(1.);
+ participant.addChoiceVote(voteImpl);
+ voteImpl = voteService.getNewVote(choices.get(1));
+ voteImpl.setVoteValue(1.);
+ participant.addChoiceVote(voteImpl);
+ voteImpl = voteService.getNewVote(choices.get(2));
+ voteImpl.setVoteValue(1.);
+ participant.addChoiceVote(voteImpl);
+
+ voteService.saveVote(poll, participant);
+
+ poll = loadEntity(poll);
+
+ /** EXEC METHOD **/
+
+ Poll pollFound = servicePoll.getPoll(poll.getUid(), Poll.PROPERTY_CHOICE);
+
+// Assert.assertEquals(3, pollFound.getChoice().size());
+
+// EntityFilter filter = context.getNewFilter();
+ EntityFilter filter = new TopiaFilter();
+ filter.setReference(pollFound);
+ List<PollAccount> accounts = voteService.getVotes(filter);
+
+ for (PollAccount account : accounts) {
+ log.debug("Account : " + account.getUid());
+ }
+ Assert.assertEquals(1, accounts.size());
+
+ Assert.assertNotNull(accounts.get(0).getChoiceVote());
+ Assert.assertEquals(3, accounts.get(0).getChoiceVote().size());
+
+ for (Vote vote : accounts.get(0).getChoiceVote()) {
+ log.debug("Vote choice : " + vote.getChoice().getName() +
+ " value=" + vote.getVoteValue());
+ }
+
+ }
+
+ @Test
+ public void testGetNewPoll() throws Exception {
+
+ }
+
+ @Test
+ public void testCreatePoll() throws Exception {
+
+ }
+
+ @Test
+ public void testUpdatePoll() throws Exception {
+
+ }
+
+ @Test
+ public void testDeletePoll() throws Exception {
+
+ }
+
+ @Test
+ public void testDeleteChoice() throws Exception {
+
+ }
+
+ @Test
+ public void testGetPolls() throws Exception {
+
+ }
+
+ @Test
+ public void testGetComments() throws Exception {
+
+ }
+
+ @Test
+ public void testGetNewPollList() throws Exception {
+
+ }
+
+ @Test
+ public void testGetNewPollParticipant() throws Exception {
+
+ }
+
+ @Test
+ public void testGetPoll() throws Exception {
+
+ }
+
+ @Test
+ public void testCanAdminPoll() throws Exception {
+
+ }
+
+ @Test
+ public void testGetNbTotalPolls() throws Exception {
+
+ }
+
+ @Test
+ public void testGetNbPollsByUser() throws Exception {
+
+ }
+
+ @Test
+ public void testGetRunningPolls() throws Exception {
+
+ }
+
+ @Test
+ public void testGetNbComments() throws Exception {
+
+ }
+
+ @Test
+ public void testCreateComment() throws Exception {
+
+ }
+
+ @Test
+ public void testDeleteComment() throws Exception {
+
+ }
+
+ @Test
+ public void testGetNewComment() throws Exception {
+
+ }
+
+ @Test
+ public void testCreateChoice() throws Exception {
+
+ }
+
+ @Test
+ public void testGetNewChoice() throws Exception {
+
+ }
+
+ @Test
+ public void testSetPollClosed() throws Exception {
+
+ }
+}
Added: branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/UserServiceTest.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/UserServiceTest.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/UserServiceTest.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,283 @@
+package org.chorem.pollen.services;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.chorem.pollen.PollenBusinessException;
+import org.chorem.pollen.PollenDAOHelper;
+import org.chorem.pollen.entity.UserAccount;
+import org.chorem.pollen.entity.UserAccountDAO;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+
+/**
+ * Tests the {@link UserService}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.0
+ */
+public class UserServiceTest extends AbstractPollenServiceTest {
+
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(UserServiceTest.class);
+
+// @Test
+// public void testCopyUserAccount() throws Exception {
+// //start("testManageNewPassword");
+//
+// UserService service = newService(UserService.class);
+//
+// UserAccount user = service.getNewUser();
+// user.setLogin("homer");
+// user.setNewPassword("wouhou");
+//
+// log.info("test 1 : Encode new password");
+// UserAccount destination = new UserAccountImpl();
+// service.copyUserAccount(user, destination);
+// Assert.assertNotNull(destination.getPassword());
+//
+// String expected = service.encodePassword("wouhou");
+// Assert.assertEquals(expected, destination.getPassword());
+//
+// log.info("test 2 : Do not encode new password -> newPassword empty");
+// user.setPassword(expected);
+// user.setNewPassword(null);
+// service.copyUserAccount(user, destination);
+// Assert.assertEquals(expected, destination.getPassword());
+// }
+//
+// @Test
+// public void testCheckPassword() throws Exception {
+// //start("testCheckPassword");
+//
+// UserService service = newService(UserService.class);
+//
+// UserAccount user = service.getNewUser();
+// user.setLogin("homer");
+// user.setNewPassword("wouhou");
+// service.createUser(user);
+//
+// String encodedPassword = service.encodePassword("wouhou");
+//
+// TopiaContext transaction = beginTransaction();
+// try {
+// UserAccountDAO dao = PollenDAOHelper.getUserAccountDAO(transaction);
+//
+// log.info("test 1 : Good password");
+// service.checkPassword(dao, "homer", encodedPassword);
+//
+// log.info("test 2 : Wrong password");
+// try {
+// service.checkPassword(dao, "homer", "bad");
+// } catch (PollenBusinessException eee) {
+// log.error("Error : " + eee.getMessage());
+// Assert.assertEquals(PollenBusinessException.PollenExceptionType.USER_WRONG_PASSWORD,
+// eee.getType());
+// }
+// } finally {
+// transaction.closeContext();
+// }
+// }
+
+ @Override
+ @Before
+ public void setUp() throws Exception {
+
+ serviceContext.setCurrentTime(5, 10, 2011);
+
+ super.setUp();
+ }
+
+ @Test
+ public void testConnect() throws Exception {
+ //start("testExecuteConnect");
+
+ UserService service = newService(UserService.class);
+
+ // The password is wouhou and login is homer
+ UserAccount user = createUser(false);
+
+ log.info("test 1 : Connection OK");
+ UserAccount connected = service.connect("homer", "wouhou");
+ Assert.assertEquals(user, connected);
+
+ log.info("test 2 : Connection problem on login -> user not exist");
+ try {
+ service.connect("marge", "wouhou");
+ } catch (PollenBusinessException eee) {
+ log.error("Error : " + eee.getMessage());
+ Assert.assertEquals(PollenBusinessException.PollenExceptionType.USER_NOT_EXIST,
+ eee.getType());
+ }
+
+ log.info("test 3 : Connection problem on password -> " +
+ "don't match with login");
+ try {
+ service.connect("homer", "coucou");
+ } catch (PollenBusinessException eee) {
+ log.error("Error : " + eee.getMessage());
+ Assert.assertEquals(PollenBusinessException.PollenExceptionType.USER_WRONG_PASSWORD,
+ eee.getType());
+ }
+ }
+
+ @Test
+ public void testGetNewUser() throws Exception {
+ //start("testGetNewUser");
+
+ UserService service = newService(UserService.class);
+
+ UserAccount user = service.getNewUser();
+ Assert.assertNotNull(user);
+ Assert.assertEquals(false, user.getAdmin());
+ }
+
+ @Test
+ public void testCreateUser() throws Exception {
+ //start("testCreateUser");
+
+ UserService service = newService(UserService.class);
+
+ UserAccount user = service.getNewUser();
+ user.setLogin("hsimpson");
+ user.setEmail("hsimpson(a)springfield.us");
+ user.setNewPassword("wouhou");
+
+ String encodedPassword = service.encodePassword("wouhou");
+
+ log.info("test 1 : Creation OK");
+ service.createUser(user);
+ //Assert.assertNotNull(user.getTopiaId());
+ Assert.assertNotSame(encodedPassword, user.getPassword());
+
+ log.info("test 2 : Creation problem on login -> user exist");
+ UserAccount user2 = service.getNewUser();
+ user2.setLogin("hsimpson");
+ // Not the same email
+ user2.setEmail("hsimpson(a)springfield.com");
+ user2.setNewPassword("troubidou");
+
+ try {
+ service.createUser(user2);
+ } catch (PollenBusinessException eee) {
+ log.error("Error : " + eee.getMessage());
+ Assert.assertEquals(PollenBusinessException.PollenExceptionType.USER_LOGIN_EXIST,
+ eee.getType());
+ }
+
+ log.info("test 3 : Creation problem on email -> user exist");
+ UserAccount user3 = service.getNewUser();
+ user3.setLogin("homer");
+ user3.setEmail("hsimpson(a)springfield.us");
+ user3.setNewPassword("troubidou");
+
+ try {
+ service.createUser(user3);
+ } catch (PollenBusinessException eee) {
+ log.error("Error : " + eee.getMessage());
+ Assert.assertEquals(PollenBusinessException.PollenExceptionType.USER_EMAIL_EXIST,
+ eee.getType());
+ }
+
+ log.info("test 4 : Creation OK with no email");
+ UserAccount user4 = service.getNewUser();
+ user4.setLogin("marge");
+ user4.setNewPassword("troubidou");
+
+ service.createUser(user4);
+ Assert.assertNull(user4.getEmail());
+ }
+
+ @Test
+ public void testUpdateUser() throws Exception {
+ //start("testUpdateUser");
+
+ UserService service = newService(UserService.class);
+
+ UserAccount user1 = service.getNewUser();
+ user1.setLogin("hsimpson");
+ user1.setEmail("hsimpson(a)springfield.us");
+ user1.setNewPassword("wouhou");
+ service.createUser(user1);
+
+ UserAccount user2 = service.getNewUser();
+ String user2Password = "wouhou";
+ user2.setLogin("homer");
+ user2.setEmail("hsimpson(a)springfield.fr");
+ user2.setNewPassword(user2Password);
+ service.createUser(user2);
+
+ log.info("test 1 : Can't change login -> don't match with password");
+ user2.setLogin("homersimpson");
+ user2.setPassword(user2Password);
+ try {
+ service.updateUser(user2, false);
+ } catch (PollenBusinessException eee) {
+ log.error("Error : " + eee.getMessage());
+ Assert.assertEquals(PollenBusinessException.PollenExceptionType.USER_WRONG_PASSWORD,
+ eee.getType());
+ }
+ user2.setLogin("homer");
+
+ log.info("test 2 : Change email OK");
+ user2.setEmail("homersimpson(a)springield.fr");
+ user2.setPassword(user2Password);
+ service.updateUser(user2, false);
+
+ log.info("test 3 : Change email problem -> user exist");
+ user2.setEmail(user1.getEmail());
+ user2.setPassword(user2Password);
+ try {
+ service.updateUser(user2, false);
+ } catch (PollenBusinessException eee) {
+ log.error("Error : " + eee.getMessage());
+ Assert.assertEquals(PollenBusinessException.PollenExceptionType.USER_EMAIL_EXIST,
+ eee.getType());
+ }
+
+ // TODO test 4 with byAdmin = true
+ }
+
+ @Test
+ public void testDeleteUser() throws Exception {
+
+ UserService service = newService(UserService.class);
+
+ try {
+ service.deleteUser("test");
+ } catch (Exception eee) {
+ log.error(eee);
+ Assert.assertEquals(IllegalArgumentException.class,
+ eee.getClass());
+ }
+
+ UserAccount user = service.getNewUser();
+ user.setLogin("user");
+ service.createUser(user);
+
+ service.deleteUser("user");
+
+ TopiaContext transaction = serviceContext.newTransaction();
+ try {
+ UserAccountDAO dao = PollenDAOHelper.getUserAccountDAO(transaction);
+ UserAccount userFound = dao.findByLogin("user");
+ Assert.assertNull(userFound);
+ } finally {
+ transaction.closeContext();
+ }
+ }
+
+ @Ignore
+ @Test
+ public void testGetUsers() throws Exception {
+
+ }
+
+ @Ignore
+ @Test
+ public void testGetNbUsers() throws Exception {
+
+ }
+}
Added: branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/VoteServiceTest.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/VoteServiceTest.java (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/test/java/org/chorem/pollen/services/VoteServiceTest.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,67 @@
+package org.chorem.pollen.services;
+
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Tests the {@link VoteService}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.0
+ */
+public class VoteServiceTest extends AbstractPollenServiceTest {
+
+ @Override
+ @Before
+ public void setUp() throws Exception {
+
+ serviceContext.setCurrentTime(5, 10, 2011);
+
+ super.setUp();
+ }
+
+ @Test
+ public void testCanVote() throws Exception {
+
+ }
+
+ @Test
+ public void testGetNewPollAccount() throws Exception {
+
+ }
+
+ @Test
+ public void testGetPollAccount() throws Exception {
+
+ }
+
+ @Test
+ public void testGetVotes() throws Exception {
+
+ }
+
+ @Test
+ public void testDeleteVote() throws Exception {
+
+ }
+
+ @Test
+ public void testGetNbVotes() throws Exception {
+
+ }
+
+ @Test
+ public void testGetNewVote() throws Exception {
+
+ }
+
+ @Test
+ public void testSaveVote() throws Exception {
+
+ }
+
+ @Test
+ public void testFindPollAccount() throws Exception {
+
+ }
+}
Added: branches/pollen-2.0-beta-1/pollen-services/src/test/resources/PollenTest.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/test/resources/PollenTest.properties (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/test/resources/PollenTest.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,35 @@
+###
+# #%L
+# Pollen :: Services
+#
+# $Id$
+# $HeadURL$
+# %%
+# Copyright (C) 2009 - 2012 CodeLutin
+# %%
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# #L%
+###
+hibernate.hbm2ddl.auto=create
+hibernate.show_sql=true
+hibernate.dialect=org.hibernate.dialect.H2Dialect
+hibernate.connection.username=sa
+hibernate.connection.password=
+hibernate.connection.driver_class=org.h2.Driver
+hibernate.connection.url=jdbc:h2:file:target/test-base/pollen
+
+adminLogin=admin
+adminPassword=admin
+
+pollen.emails.directory=target/test-emails
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/test/resources/PollenTest.properties
___________________________________________________________________
Added: svn:executable
+ *
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/test/resources/largemaillist.sh
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/test/resources/largemaillist.sh (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/test/resources/largemaillist.sh 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,26 @@
+###
+# #%L
+# Pollen :: Business
+#
+# $Id$
+# $HeadURL$
+# %%
+# Copyright (C) 2009 - 2010 CodeLutin
+# %%
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# #L%
+###
+#!/bin/sh
+
+for i in `seq 0 3000`; do echo "\"Test $i\",\"toto+pollen+$i(a)domain.com\",1" >> test3000.csv; done
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/test/resources/largemaillist.sh
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/test/resources/log4j.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/test/resources/log4j.properties (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/test/resources/log4j.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,37 @@
+###
+# #%L
+# Pollen :: Services
+#
+# $Id$
+# $HeadURL$
+# %%
+# Copyright (C) 2009 - 2012 CodeLutin
+# %%
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# #L%
+###
+# Default to info level output; this is very handy if you eventually use Hibernate as well.
+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=%d [%p] %c{2} %m%n
+
+log4j.logger.org.chorem.pollen=debug
+
+log4j.logger.org.chorem.pollen.business.PollenContextImpl=warn
+log4j.logger.org.chorem.pollen.business.services.SendMail=warn
Property changes on: branches/pollen-2.0-beta-1/pollen-services/src/test/resources/log4j.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: branches/pollen-2.0-beta-1/pollen-services/src/test/resources/pollen-fake.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-services/src/test/resources/pollen-fake.properties (rev 0)
+++ branches/pollen-2.0-beta-1/pollen-services/src/test/resources/pollen-fake.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -0,0 +1,11 @@
+
+hibernate.show_sql=false
+hibernate.hbm2ddl.auto=update
+hibernate.dialect=org.hibernate.dialect.H2Dialect
+hibernate.connection.username=sa
+hibernate.connection.password=
+hibernate.connection.driver_class=org.h2.Driver
+
+upImgDir=${testDirectory}/.pollen/uploadedImages
+feedDir=${testDirectory}/.pollen/feeds
+pollen.emails.directory=${testDirectory}/.pollen/emails
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/LICENSE.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/README.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/changelog.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/doc/UIOs.zargo
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: branches/pollen-2.0-beta-1/pollen-ui/pom.xml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/pom.xml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/pom.xml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -21,14 +21,19 @@
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
- <artifactId>pollen-business</artifactId>
+ <artifactId>pollen-domain</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
- <artifactId>pollen-votecounting</artifactId>
+ <artifactId>pollen-persistence</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>pollen-services</artifactId>
+ <version>${project.version}</version>
+ </dependency>
<dependency>
<groupId>org.nuiton.topia</groupId>
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/pom.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/license/THIRD-PARTY.properties
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/AbstractPollenPage.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/AbstractPollenPage.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/AbstractPollenPage.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/AbstractPollenPage.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/AbstractPollsPage.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/AbstractPollsPage.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/AbstractPollsPage.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -51,7 +51,7 @@
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.services.BeanModelSource;
import org.chorem.pollen.entity.Poll;
-import org.chorem.pollen.service.ServicePoll;
+import org.chorem.pollen.service.legacy.ServicePoll;
import org.chorem.pollen.ui.data.EvenOdd;
import org.chorem.pollen.ui.data.AddressBarItem;
import org.chorem.pollen.ui.data.PollAction;
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/AbstractPollsPage.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/AbstractUploadPage.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/AbstractUploadPage.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/AbstractUploadPage.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/AbstractUploadPage.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/ContextLink.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/ContextLink.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/ContextLink.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/ContextLink.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/PollenPage.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/PollenPage.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/PollenPage.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/PollenPage.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/package-info.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/package-info.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/package-info.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/base/package-info.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Border.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Border.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Border.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -60,7 +60,7 @@
import org.chorem.pollen.ui.base.ContextLink;
import org.chorem.pollen.ui.data.AddressBarItem;
import org.chorem.pollen.PollenBusinessException;
-import org.chorem.pollen.service.ServiceUser;
+import org.chorem.pollen.service.legacy.ServiceUser;
import org.chorem.pollen.ui.data.AddressBar;
import org.chorem.pollen.ui.pages.Index;
import org.chorem.pollen.ui.services.PollenManager;
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Border.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Chart.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Chart.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Chart.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Chart.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/ChoiceDateForm.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/ChoiceDateForm.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/ChoiceDateForm.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/ChoiceDateForm.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/ChoiceImage.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/ChoiceImage.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/ChoiceImage.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/ChoiceImage.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/ChoiceImageForm.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/ChoiceImageForm.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/ChoiceImageForm.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/ChoiceImageForm.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/ChoiceTextForm.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/ChoiceTextForm.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/ChoiceTextForm.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/ChoiceTextForm.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/FeedContextLink.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/FeedContextLink.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/FeedContextLink.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/FeedContextLink.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/FileLink.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/FileLink.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/FileLink.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/FileLink.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/HeadLink.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/HeadLink.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/HeadLink.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/HeadLink.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Pager.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Pager.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Pager.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Pager.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/SubForm.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/SubForm.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/SubForm.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/SubForm.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/UserListsCreate.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/UserListsCreate.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/UserListsCreate.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -36,7 +36,7 @@
import org.chorem.pollen.entity.FavoriteList;
import org.chorem.pollen.entity.FavoriteParticipant;
import org.chorem.pollen.entity.UserAccount;
-import org.chorem.pollen.service.ServiceFavorite;
+import org.chorem.pollen.service.legacy.ServiceFavorite;
import org.chorem.pollen.ui.base.PollenPage;
import org.chorem.pollen.ui.services.PollenManager;
import org.slf4j.Logger;
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/UserListsCreate.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/UserListsUpdate.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/UserListsUpdate.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/UserListsUpdate.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -34,7 +34,7 @@
import org.chorem.pollen.PollenBusinessException;
import org.chorem.pollen.entity.FavoriteList;
import org.chorem.pollen.entity.FavoriteParticipant;
-import org.chorem.pollen.service.ServiceFavorite;
+import org.chorem.pollen.service.legacy.ServiceFavorite;
import org.chorem.pollen.ui.data.EvenOdd;
import org.chorem.pollen.ui.models.FavoriteParticipantDataSource;
import org.chorem.pollen.ui.services.PollenManager;
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/UserListsUpdate.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/package-info.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/package-info.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/package-info.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/components/package-info.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/AddressBar.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/AddressBar.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/AddressBar.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/AddressBar.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/AddressBarItem.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/AddressBarItem.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/AddressBarItem.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/AddressBarItem.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/ChoiceField.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/ChoiceField.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/ChoiceField.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/ChoiceField.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/ErrorReport.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/ErrorReport.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/ErrorReport.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/ErrorReport.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/EvenOdd.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/EvenOdd.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/EvenOdd.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/EvenOdd.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/FieldValidationException.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/FieldValidationException.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/FieldValidationException.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/FieldValidationException.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/GenericEncoder.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/GenericEncoder.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/GenericEncoder.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/GenericEncoder.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/ParticipantsListener.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/ParticipantsListener.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/ParticipantsListener.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/ParticipantsListener.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/PollAction.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/PollAction.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/PollAction.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/PollAction.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/PollHelper.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/PollHelper.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/PollHelper.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/PollHelper.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/PollUri.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/PollUri.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/PollUri.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/PollUri.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/PollenRequiresAuthentication.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/PollenRequiresAuthentication.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/PollenRequiresAuthentication.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/PollenRequiresAuthentication.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/package-info.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/package-info.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/package-info.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/data/package-info.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/filters/PollenExceptionsFilter.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/filters/PollenExceptionsFilter.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/filters/PollenExceptionsFilter.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/filters/PollenExceptionsFilter.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/filters/package-info.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/filters/package-info.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/filters/package-info.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/filters/package-info.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/models/FavoriteParticipantDataSource.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/models/FavoriteParticipantDataSource.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/models/FavoriteParticipantDataSource.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -26,7 +26,7 @@
import org.apache.tapestry5.grid.SortConstraint;
import org.chorem.pollen.PollenException;
import org.chorem.pollen.entity.FavoriteParticipant;
-import org.chorem.pollen.service.ServiceFavorite;
+import org.chorem.pollen.service.legacy.ServiceFavorite;
import org.nuiton.topia.framework.EntityFilter;
import org.nuiton.web.tapestry5.data.AbstractMappedGridDataSource;
import org.slf4j.Logger;
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/models/FavoriteParticipantDataSource.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/models/GenericSelectModel.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/models/GenericSelectModel.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/models/GenericSelectModel.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/models/GenericSelectModel.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/models/ParticipantListModel.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/models/ParticipantListModel.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/models/ParticipantListModel.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -27,7 +27,7 @@
import org.chorem.pollen.PollenBusinessException;
import org.chorem.pollen.entity.Participant;
import org.chorem.pollen.entity.ParticipantList;
-import org.chorem.pollen.service.ServicePoll;
+import org.chorem.pollen.service.legacy.ServicePoll;
import org.chorem.pollen.ui.services.PollenManager;
import org.nuiton.topia.persistence.TopiaEntity;
import org.slf4j.Logger;
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/models/ParticipantListModel.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/models/PollFormModel.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/models/PollFormModel.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/models/PollFormModel.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -33,7 +33,7 @@
import org.chorem.pollen.entity.ParticipantList;
import org.chorem.pollen.entity.Poll;
import org.chorem.pollen.entity.UserAccount;
-import org.chorem.pollen.service.ServicePoll;
+import org.chorem.pollen.service.legacy.ServicePoll;
import org.chorem.pollen.ui.data.ChoiceField;
import org.chorem.pollen.ui.data.ErrorReport;
import org.chorem.pollen.ui.pages.poll.PollForm;
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/models/PollFormModel.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/models/UserAccountDataSource.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/models/UserAccountDataSource.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/models/UserAccountDataSource.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -26,7 +26,7 @@
import org.apache.tapestry5.grid.SortConstraint;
import org.chorem.pollen.PollenException;
import org.chorem.pollen.entity.UserAccount;
-import org.chorem.pollen.service.ServiceUser;
+import org.chorem.pollen.service.legacy.ServiceUser;
import org.nuiton.topia.framework.EntityFilter;
import org.nuiton.web.tapestry5.data.AbstractMappedGridDataSource;
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/models/UserAccountDataSource.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/Connection.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/Connection.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/Connection.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -33,7 +33,7 @@
import org.apache.tapestry5.services.PageRenderLinkSource;
import org.chorem.pollen.PollenBusinessException;
import org.chorem.pollen.entity.UserAccount;
-import org.chorem.pollen.service.ServiceUser;
+import org.chorem.pollen.service.legacy.ServiceUser;
import org.chorem.pollen.ui.base.AbstractPollenPage;
import org.chorem.pollen.ui.components.Border;
import org.chorem.pollen.ui.data.AddressBar;
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/Connection.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/ErrorPage.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/ErrorPage.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/ErrorPage.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/ErrorPage.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/Index.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/Index.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/Index.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/Index.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/LocalMessages.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/LocalMessages.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/LocalMessages.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/LocalMessages.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/admin/AdminPolls.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/admin/AdminPolls.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/admin/AdminPolls.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -48,7 +48,7 @@
import org.apache.tapestry5.ioc.Messages;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.chorem.pollen.entity.Poll;
-import org.chorem.pollen.service.ServicePoll;
+import org.chorem.pollen.service.legacy.ServicePoll;
import org.chorem.pollen.ui.base.AbstractPollsPage;
import org.chorem.pollen.ui.components.Border;
import org.nuiton.web.tapestry5.components.FeedBack;
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/admin/AdminPolls.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/admin/AdminUsers.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/admin/AdminUsers.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/admin/AdminUsers.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -56,8 +56,8 @@
import org.chorem.pollen.PollenBusinessException;
import org.chorem.pollen.bean.PollenEmail;
import org.chorem.pollen.entity.UserAccount;
-import org.chorem.pollen.service.ServiceEmail;
-import org.chorem.pollen.service.ServiceUser;
+import org.chorem.pollen.service.legacy.ServiceEmail;
+import org.chorem.pollen.service.legacy.ServiceUser;
import org.chorem.pollen.ui.base.AbstractPollenPage;
import org.chorem.pollen.ui.components.Border;
import org.chorem.pollen.ui.data.AddressBar;
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/admin/AdminUsers.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/package-info.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/package-info.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/package-info.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/package-info.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/CloseValidation.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/CloseValidation.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/CloseValidation.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -50,8 +50,8 @@
import org.apache.tapestry5.ioc.annotations.Inject;
import org.chorem.pollen.entity.Poll;
import org.chorem.pollen.entity.PollAccount;
-import org.chorem.pollen.service.ServicePoll;
-import org.chorem.pollen.service.ServiceUser;
+import org.chorem.pollen.service.legacy.ServicePoll;
+import org.chorem.pollen.service.legacy.ServiceUser;
import org.chorem.pollen.ui.base.AbstractPollenPage;
import org.chorem.pollen.ui.components.Border;
import org.chorem.pollen.ui.data.AddressBarItem;
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/CloseValidation.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/ConfirmPoll.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/ConfirmPoll.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/ConfirmPoll.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -50,7 +50,7 @@
import org.apache.tapestry5.ioc.Messages;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.chorem.pollen.entity.Poll;
-import org.chorem.pollen.service.ServicePoll;
+import org.chorem.pollen.service.legacy.ServicePoll;
import org.chorem.pollen.ui.base.AbstractPollenPage;
import org.chorem.pollen.ui.components.Border;
import org.chorem.pollen.ui.data.AddressBarItem;
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/ConfirmPoll.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/CreationValidation.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/CreationValidation.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/CreationValidation.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/CreationValidation.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/ModificationValidation.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/ModificationValidation.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/ModificationValidation.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/ModificationValidation.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/PollForm.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/PollForm.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/PollForm.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -23,7 +23,6 @@
*/
package org.chorem.pollen.ui.pages.poll;
-import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.lang.StringUtils;
import org.apache.tapestry5.Block;
import org.apache.tapestry5.ComponentResources;
@@ -38,16 +37,13 @@
import org.apache.tapestry5.annotations.Persist;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.corelib.components.Form;
-import org.apache.tapestry5.corelib.components.Select;
import org.apache.tapestry5.corelib.components.Zone;
import org.apache.tapestry5.ioc.Messages;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.json.JSONObject;
import org.apache.tapestry5.services.ComponentSource;
-import org.apache.tapestry5.services.PageRenderLinkSource;
import org.chorem.pollen.PollenBusinessException;
import org.chorem.pollen.bean.PollenEmail;
-import org.chorem.pollen.bean.PollenEmailImpl;
import org.chorem.pollen.common.ChoiceType;
import org.chorem.pollen.common.PollType;
import org.chorem.pollen.common.VoteCountingType;
@@ -58,14 +54,13 @@
import org.chorem.pollen.entity.PreventRule;
import org.chorem.pollen.entity.PreventRuleImpl;
import org.chorem.pollen.mail.PreventRuleManager;
-import org.chorem.pollen.service.ServiceEmail;
-import org.chorem.pollen.service.ServicePoll;
+import org.chorem.pollen.service.legacy.ServiceEmail;
+import org.chorem.pollen.service.legacy.ServicePoll;
import org.chorem.pollen.ui.base.AbstractPollenPage;
import org.chorem.pollen.ui.components.Border;
import org.chorem.pollen.ui.data.AddressBar;
import org.chorem.pollen.ui.data.ChoiceField;
import org.chorem.pollen.ui.data.ErrorReport;
-import org.chorem.pollen.ui.data.FieldValidationException;
import org.chorem.pollen.ui.data.PollUri;
import org.chorem.pollen.ui.models.ParticipantListModel;
import org.chorem.pollen.ui.models.PollFormModel;
@@ -79,7 +74,6 @@
import java.text.SimpleDateFormat;
import java.util.Collection;
import java.util.Date;
-import java.util.List;
/**
* PollForm : Creation and Modification.
@@ -760,7 +754,7 @@
protected void sendCreatorEmail(PollAccount creator, PollUri uri)
throws PollenBusinessException {
- PollenEmail email = new PollenEmailImpl();
+ PollenEmail email = serviceEmail.createEmail();
email.setTo(creator.getEmail());
email.setSubject(messages.format(
"pollen.email.createPoll.subject",
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/PollForm.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/PollLinks.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/PollLinks.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/PollLinks.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -29,7 +29,7 @@
import org.apache.tapestry5.services.PageRenderLinkSource;
import org.chorem.pollen.PollenBusinessException;
import org.chorem.pollen.entity.Poll;
-import org.chorem.pollen.service.ServicePoll;
+import org.chorem.pollen.service.legacy.ServicePoll;
import org.chorem.pollen.ui.base.AbstractPollenPage;
import org.chorem.pollen.ui.components.Border;
import org.chorem.pollen.ui.data.AddressBar;
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/PollLinks.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/Results.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/Results.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/Results.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -67,7 +67,7 @@
import org.chorem.pollen.entity.Poll;
import org.chorem.pollen.entity.PollAccount;
import org.chorem.pollen.entity.Result;
-import org.chorem.pollen.service.ServicePoll;
+import org.chorem.pollen.service.legacy.ServicePoll;
import org.chorem.pollen.ui.base.AbstractPollenPage;
import org.chorem.pollen.ui.components.Border;
import org.chorem.pollen.ui.components.Chart;
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/Results.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/VoteForPoll.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/VoteForPoll.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/VoteForPoll.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -63,16 +63,15 @@
import org.chorem.pollen.PollenBusinessException;
import org.chorem.pollen.PollenProperty;
import org.chorem.pollen.bean.PollenEmail;
-import org.chorem.pollen.bean.PollenEmailImpl;
import org.chorem.pollen.entity.Choice;
import org.chorem.pollen.entity.Poll;
import org.chorem.pollen.entity.PollAccount;
import org.chorem.pollen.entity.UserAccount;
import org.chorem.pollen.entity.Vote;
-import org.chorem.pollen.service.ServiceEmail;
-import org.chorem.pollen.service.ServicePoll;
-import org.chorem.pollen.service.ServiceUser;
-import org.chorem.pollen.service.ServiceVote;
+import org.chorem.pollen.service.legacy.ServiceEmail;
+import org.chorem.pollen.service.legacy.ServicePoll;
+import org.chorem.pollen.service.legacy.ServiceUser;
+import org.chorem.pollen.service.legacy.ServiceVote;
import org.chorem.pollen.ui.base.AbstractUploadPage;
import org.chorem.pollen.ui.components.Border;
import org.chorem.pollen.ui.components.Pager;
@@ -740,7 +739,7 @@
updateUrl);
}
- PollenEmail pollenEmail = new PollenEmailImpl();
+ PollenEmail pollenEmail = serviceEmail.createEmail();
pollenEmail.setTo(email);
pollenEmail.setSubject("Vote OK");
pollenEmail.setContent("Url de modification de votre vote : " +
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/VoteForPoll.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserLists.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserLists.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserLists.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -49,7 +49,7 @@
import org.apache.tapestry5.ioc.services.PropertyAccess;
import org.chorem.pollen.entity.FavoriteList;
import org.chorem.pollen.entity.UserAccount;
-import org.chorem.pollen.service.ServiceFavorite;
+import org.chorem.pollen.service.legacy.ServiceFavorite;
import org.chorem.pollen.ui.base.AbstractPollenPage;
import org.chorem.pollen.ui.components.Border;
import org.chorem.pollen.ui.components.UserListsCreate;
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserLists.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserPollsCreated.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserPollsCreated.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserPollsCreated.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -49,7 +49,7 @@
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.upload.services.UploadedFile;
import org.chorem.pollen.entity.Poll;
-import org.chorem.pollen.service.ServicePoll;
+import org.chorem.pollen.service.legacy.ServicePoll;
import org.chorem.pollen.ui.base.AbstractPollsPage;
import org.chorem.pollen.ui.components.Border;
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserPollsCreated.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserPollsParticipated.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserPollsParticipated.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserPollsParticipated.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -46,7 +46,7 @@
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.chorem.pollen.entity.Poll;
-import org.chorem.pollen.service.ServicePoll;
+import org.chorem.pollen.service.legacy.ServicePoll;
import org.chorem.pollen.ui.base.AbstractPollsPage;
import org.chorem.pollen.ui.components.Border;
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserPollsParticipated.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserProfile.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserProfile.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserProfile.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -57,7 +57,7 @@
import org.apache.tapestry5.ioc.annotations.Inject;
import org.chorem.pollen.PollenBusinessException;
import org.chorem.pollen.entity.UserAccount;
-import org.chorem.pollen.service.ServiceUser;
+import org.chorem.pollen.service.legacy.ServiceUser;
import org.chorem.pollen.ui.base.AbstractPollenPage;
import org.chorem.pollen.ui.components.Border;
import org.chorem.pollen.ui.data.AddressBar;
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserProfile.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserRegister.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserRegister.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserRegister.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -55,8 +55,8 @@
import org.chorem.pollen.PollenBusinessException;
import org.chorem.pollen.bean.PollenEmail;
import org.chorem.pollen.entity.UserAccount;
-import org.chorem.pollen.service.ServiceEmail;
-import org.chorem.pollen.service.ServiceUser;
+import org.chorem.pollen.service.legacy.ServiceEmail;
+import org.chorem.pollen.service.legacy.ServiceUser;
import org.chorem.pollen.ui.base.AbstractPollenPage;
import org.chorem.pollen.ui.components.Border;
import org.chorem.pollen.ui.data.AddressBar;
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserRegister.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/AppModule.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/AppModule.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/AppModule.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -56,16 +56,16 @@
import org.apache.tapestry5.upload.services.UploadSymbols;
import org.chorem.pollen.PollenContextImpl;
import org.chorem.pollen.entity.UserAccount;
-import org.chorem.pollen.service.ServiceEmail;
-import org.chorem.pollen.service.ServiceEmailImpl;
-import org.chorem.pollen.service.ServiceFavorite;
-import org.chorem.pollen.service.ServiceFavoriteImpl;
-import org.chorem.pollen.service.ServicePoll;
-import org.chorem.pollen.service.ServicePollImpl;
-import org.chorem.pollen.service.ServiceUser;
-import org.chorem.pollen.service.ServiceUserImpl;
-import org.chorem.pollen.service.ServiceVote;
-import org.chorem.pollen.service.ServiceVoteImpl;
+import org.chorem.pollen.service.legacy.ServiceEmail;
+import org.chorem.pollen.service.legacy.ServiceEmailImpl;
+import org.chorem.pollen.service.legacy.ServiceFavorite;
+import org.chorem.pollen.service.legacy.ServiceFavoriteImpl;
+import org.chorem.pollen.service.legacy.ServicePoll;
+import org.chorem.pollen.service.legacy.ServicePollImpl;
+import org.chorem.pollen.service.legacy.ServiceUser;
+import org.chorem.pollen.service.legacy.ServiceUserImpl;
+import org.chorem.pollen.service.legacy.ServiceVote;
+import org.chorem.pollen.service.legacy.ServiceVoteImpl;
import org.chorem.pollen.ui.data.PollUri;
import org.nuiton.web.tapestry5.services.ServiceAuthentication;
import org.slf4j.Logger;
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/AppModule.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/PollenAuthentication.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/PollenAuthentication.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/PollenAuthentication.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/PollenAuthentication.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/PollenAuthenticationFilter.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/PollenAuthenticationFilter.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/PollenAuthenticationFilter.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/PollenAuthenticationFilter.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/PollenManager.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/PollenManager.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/PollenManager.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -57,7 +57,7 @@
import org.chorem.pollen.PollenBusinessException;
import org.chorem.pollen.PollenContext;
import org.chorem.pollen.PollenProperty;
-import org.chorem.pollen.service.ServiceUser;
+import org.chorem.pollen.service.legacy.ServiceUser;
import org.chorem.pollen.ui.data.ErrorReport;
import org.nuiton.topia.framework.EntityFilter;
import org.nuiton.util.ApplicationConfig;
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/PollenManager.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/ServiceImage.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/ServiceImage.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/ServiceImage.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/ServiceImage.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/ServiceImageImpl.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/ServiceImageImpl.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/ServiceImageImpl.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/ServiceImageImpl.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/ServicePollUri.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/ServicePollUri.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/ServicePollUri.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/ServicePollUri.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/ServicePollUriImpl.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/ServicePollUriImpl.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/ServicePollUriImpl.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/ServicePollUriImpl.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/package-info.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/package-info.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/package-info.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/services/package-info.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/CSVAccountUtil.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/CSVAccountUtil.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/CSVAccountUtil.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/CSVAccountUtil.java
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision Rev Id
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/FeedUtil.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/FeedUtil.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/FeedUtil.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/FeedUtil.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/LDAPAccountUtil.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/LDAPAccountUtil.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/LDAPAccountUtil.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/LDAPAccountUtil.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/UnitConverter.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/UnitConverter.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/UnitConverter.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/UnitConverter.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/package-info.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/package-info.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/package-info.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/java/org/chorem/pollen/ui/utils/package-info.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Rev Revision"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/i18n/pollen-ui-en_GB.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/i18n/pollen-ui-fr_FR.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/log4j.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/log4j.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/log4j.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/log4j.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/apache/tapestry5/corelib/components/Errors_fr.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/apache/tapestry5/corelib/components/Errors_fr.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/apache/tapestry5/corelib/components/Errors_fr.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/apache/tapestry5/corelib/components/Errors_fr.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/apache/tapestry5/internal/ValidationMessages_fr.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/apache/tapestry5/internal/ValidationMessages_fr.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/apache/tapestry5/internal/ValidationMessages_fr.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/apache/tapestry5/internal/ValidationMessages_fr.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/base/Polls_en.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/base/Polls_en.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/base/Polls_en.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/base/Polls_en.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/base/Polls_fr.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/base/Polls_fr.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/base/Polls_fr.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/base/Polls_fr.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Border.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Border.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Border.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Border.tml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Border_en.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Border_en.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Border_en.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Border_en.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Border_fr.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Border_fr.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Border_fr.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Border_fr.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/ChoiceDateForm.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/ChoiceDateForm.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/ChoiceDateForm.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/ChoiceDateForm.tml
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/ChoiceImageForm.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/ChoiceImageForm.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/ChoiceImageForm.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/ChoiceImageForm.tml
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/ChoiceTextForm.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/ChoiceTextForm.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/ChoiceTextForm.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/ChoiceTextForm.tml
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Image.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Image.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Image.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Image.tml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Pager_en.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Pager_en.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Pager_en.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Pager_en.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Pager_fr.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Pager_fr.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Pager_fr.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/Pager_fr.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/SubForm.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/SubForm.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/SubForm.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/SubForm.tml
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/UserListsCreate.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/UserListsCreate.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/UserListsCreate.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/UserListsCreate.tml
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/UserListsUpdate.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/UserListsUpdate.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/UserListsUpdate.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/components/UserListsUpdate.tml
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/admin/AdminPolls_en.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/admin/AdminPolls_en.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/admin/AdminPolls_en.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/admin/AdminPolls_en.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/admin/AdminPolls_fr.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/admin/AdminPolls_fr.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/admin/AdminPolls_fr.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/admin/AdminPolls_fr.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/admin/AdminUsers_en.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/admin/AdminUsers_en.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/admin/AdminUsers_en.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/admin/AdminUsers_en.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/admin/AdminUsers_fr.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/admin/AdminUsers_fr.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/admin/AdminUsers_fr.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/admin/AdminUsers_fr.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/CloseValidation_en.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/CloseValidation_en.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/CloseValidation_en.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/CloseValidation_en.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/CloseValidation_fr.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/CloseValidation_fr.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/CloseValidation_fr.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/CloseValidation_fr.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ConfirmPoll_en.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ConfirmPoll_en.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ConfirmPoll_en.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ConfirmPoll_en.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ConfirmPoll_fr.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ConfirmPoll_fr.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ConfirmPoll_fr.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ConfirmPoll_fr.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/CreationValidation_en.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/CreationValidation_en.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/CreationValidation_en.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/CreationValidation_en.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/CreationValidation_fr.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/CreationValidation_fr.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/CreationValidation_fr.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/CreationValidation_fr.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ImageDisplay_en.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ImageDisplay_en.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ImageDisplay_en.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ImageDisplay_en.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ImageDisplay_fr.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ImageDisplay_fr.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ImageDisplay_fr.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ImageDisplay_fr.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ModificationValidation_en.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ModificationValidation_en.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ModificationValidation_en.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ModificationValidation_en.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ModificationValidation_fr.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ModificationValidation_fr.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ModificationValidation_fr.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/ModificationValidation_fr.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollCreation_en.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollCreation_en.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollCreation_en.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollCreation_en.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollCreation_fr.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollCreation_fr.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollCreation_fr.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollCreation_fr.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollForm.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollForm.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollForm.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollForm.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollForm_en.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollForm_en.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollForm_en.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollForm_en.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollForm_fr.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollForm_fr.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollForm_fr.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollForm_fr.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollModification_en.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollModification_en.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollModification_en.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollModification_en.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollModification_fr.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollModification_fr.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollModification_fr.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/PollModification_fr.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/Results_en.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/Results_en.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/Results_en.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/Results_en.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/Results_fr.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/Results_fr.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/Results_fr.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/Results_fr.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/VoteForPoll_en.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/VoteForPoll_en.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/VoteForPoll_en.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/VoteForPoll_en.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/VoteForPoll_fr.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/VoteForPoll_fr.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/VoteForPoll_fr.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/poll/VoteForPoll_fr.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserLists_en.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserLists_en.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserLists_en.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserLists_en.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserLists_fr.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserLists_fr.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserLists_fr.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserLists_fr.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserPollsCreated_en.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserPollsCreated_en.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserPollsCreated_en.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserPollsCreated_en.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserPollsCreated_fr.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserPollsCreated_fr.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserPollsCreated_fr.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserPollsCreated_fr.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserPollsParticipated_en.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserPollsParticipated_en.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserPollsParticipated_en.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserPollsParticipated_en.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserPollsParticipated_fr.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserPollsParticipated_fr.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserPollsParticipated_fr.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserPollsParticipated_fr.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserProfile_en.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserProfile_en.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserProfile_en.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserProfile_en.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserProfile_fr.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserProfile_fr.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserProfile_fr.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserProfile_fr.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserRegister_en.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserRegister_en.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserRegister_en.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserRegister_en.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserRegister_fr.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserRegister_fr.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserRegister_fr.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/resources/org/chorem/pollen/ui/pages/user/UserRegister_fr.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/Connection.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/Connection.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/Connection.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/Connection.tml
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/ErrorPage.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/ErrorPage.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/ErrorPage.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/ErrorPage.tml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/Index.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/Index.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/Index.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/Index.tml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/WEB-INF/app.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/WEB-INF/app.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/WEB-INF/app.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 CodeLutin
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/WEB-INF/app.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/WEB-INF/web.xml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/WEB-INF/web.xml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/WEB-INF/web.xml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -6,7 +6,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/WEB-INF/web.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/admin/AdminPolls.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/admin/AdminPolls.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/admin/AdminPolls.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/admin/AdminPolls.tml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/admin/AdminUsers.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/admin/AdminUsers.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/admin/AdminUsers.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/admin/AdminUsers.tml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/account.css
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/account.css 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/account.css 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/account.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/common.css
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/common.css 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/common.css 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/common.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/grid.css
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/grid.css 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/grid.css 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/grid.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/lightbox.css
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/lightbox.css 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/lightbox.css 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/lightbox.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/main.css
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/main.css 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/main.css 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/main.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/poll.css
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/poll.css 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/poll.css 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/poll.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/pollCreation.css
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/pollCreation.css 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/pollCreation.css 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/pollCreation.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/pollsAdmin.css
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/pollsAdmin.css 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/pollsAdmin.css 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/pollsAdmin.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/pollsCreated.css
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/pollsCreated.css 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/pollsCreated.css 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/pollsCreated.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/pollsParticipated.css
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/pollsParticipated.css 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/pollsParticipated.css 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/pollsParticipated.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/register.css
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/register.css 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/register.css 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/register.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/results.css
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/results.css 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/results.css 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/results.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/users.css
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/users.css 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/users.css 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/users.css
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/usersAdmin.css
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/usersAdmin.css 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/usersAdmin.css 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/usersAdmin.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/vote.css
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/vote.css 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/vote.css 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/css/vote.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/favicon.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/1downarrow.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/1leftarrow.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/1rightarrow.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/1uparrow.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/2leftarrow.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/2rightarrow.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/7ter.jpg
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/bigCreation.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/bigVote.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/bigVoteCounting.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/close.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/contact.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/copy.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/count.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/delete.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/edit.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/editSmall.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/en.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/export.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/feed.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/feed2.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/fr.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/gplv3.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/help.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/import.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/lightbox/closelabel.gif
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/lightbox/loading.gif
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/lightbox/nextlabel.gif
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/lightbox/prevlabel.gif
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/lutin.gif
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/pollen.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/pollenCreation_en.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/pollenCreation_fr.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/pollenIndex_en.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/pollenIndex_fr.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/pollenVoteCounting_en.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/pollenVoteCounting_fr.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/pollenVote_en.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/pollenVote_fr.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/pollen_en.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/pollen_fr.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/refresh-22px.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/rep1.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/rep2.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/rep3.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/save.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/smallCreation.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/smallCreation_en.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/smallCreation_fr.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/smallVote.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/smallVoteCounting.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/smallVoteCounting_en.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/smallVoteCounting_fr.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/smallVote_en.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/smallVote_fr.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/topleft_menu.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/topleft_menuCreation.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/topleft_menuIndex.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/topleft_menuVote.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/topleft_menuVoteCounting.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/topright_menu.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/topright_menuCreation.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/topright_menuIndex.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/topright_menuVote.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/topright_menuVoteCounting.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/undo.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/img/vote.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/js/jquery-1.4.2.min.js
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/js/jquery-1.4.2.min.js 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/js/jquery-1.4.2.min.js 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,3 +1,26 @@
+/*
+ * #%L
+ * Pollen :: Web Interface
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
/*!
* jQuery JavaScript Library v1.4.2
* http://jquery.com/
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/js/jquery-1.4.2.min.js
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/js/lightbox.js
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/js/lightbox.js 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/js/lightbox.js 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,3 +1,26 @@
+/*
+ * #%L
+ * Pollen :: Web Interface
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
// -----------------------------------------------------------------------------------
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/js/lightbox.js
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/js/pollForm.js
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/js/pollForm.js 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/js/pollForm.js 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,3 +1,26 @@
+/*
+ * #%L
+ * Pollen :: Web Interface
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
var PollForm = Class.create();
PollForm.prototype = {
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/js/pollForm.js
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/js/pollen.js
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/js/pollen.js 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/js/pollen.js 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,3 +1,26 @@
+/*
+ * #%L
+ * Pollen :: Web Interface
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
/*
* pollen.js
* fonctions utiles pour Pollen UI
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/js/pollen.js
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/CloseValidation.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/CloseValidation.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/CloseValidation.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/CloseValidation.tml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/ConfirmPoll.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/ConfirmPoll.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/ConfirmPoll.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/ConfirmPoll.tml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/CreationValidation.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/CreationValidation.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/CreationValidation.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/CreationValidation.tml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/ImageDisplay.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/ImageDisplay.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/ImageDisplay.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/ImageDisplay.tml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/ModificationValidation.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/ModificationValidation.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/ModificationValidation.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/ModificationValidation.tml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/PollCreation.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/PollCreation.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/PollCreation.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/PollCreation.tml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/PollForm.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/PollForm.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/PollForm.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/PollForm.tml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/PollLinks.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/PollLinks.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/PollLinks.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/PollLinks.tml
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/PollModification.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/PollModification.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/PollModification.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/PollModification.tml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/Results.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/Results.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/Results.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/Results.tml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/VoteForPoll.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/VoteForPoll.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/VoteForPoll.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/poll/VoteForPoll.tml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/user/UserLists.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/user/UserLists.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/user/UserLists.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/user/UserLists.tml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/user/UserPollsCreated.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/user/UserPollsCreated.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/user/UserPollsCreated.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/user/UserPollsCreated.tml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/user/UserPollsParticipated.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/user/UserPollsParticipated.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/user/UserPollsParticipated.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/user/UserPollsParticipated.tml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/user/UserProfile.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/user/UserProfile.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/user/UserProfile.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/user/UserProfile.tml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/user/UserRegister.tml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/user/UserRegister.tml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/user/UserRegister.tml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/main/webapp/user/UserRegister.tml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-ui/src/test/java/org/chorem/pollen/ui/utils/CSVAccountUtilTest.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-ui/src/test/java/org/chorem/pollen/ui/utils/CSVAccountUtilTest.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-ui/src/test/java/org/chorem/pollen/ui/utils/CSVAccountUtilTest.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin
+ * Copyright (C) 2009 - 2012 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/test/java/org/chorem/pollen/ui/utils/CSVAccountUtilTest.java
___________________________________________________________________
Modified: svn:keywords
- "Author Date Id Revision HeadURL"
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-ui/src/test/resources/import.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/LICENSE.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/README.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/changelog.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-wm/pom.xml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-wm/pom.xml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-wm/pom.xml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -21,14 +21,19 @@
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
- <artifactId>pollen-business</artifactId>
+ <artifactId>pollen-domain</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
- <artifactId>pollen-votecounting</artifactId>
+ <artifactId>pollen-persistence</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>pollen-services</artifactId>
+ <version>${project.version}</version>
+ </dependency>
<dependency>
<groupId>org.debux</groupId>
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/pom.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-wm/src/main/java/org/chorem/pollen/web/PollenAction.java
===================================================================
--- branches/pollen-2.0-beta-1/pollen-wm/src/main/java/org/chorem/pollen/web/PollenAction.java 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-wm/src/main/java/org/chorem/pollen/web/PollenAction.java 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,3 +1,26 @@
+/*
+ * #%L
+ * Pollen :: Web Motion Interface
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
package org.chorem.pollen.web;
import org.apache.commons.logging.Log;
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/java/org/chorem/pollen/web/PollenAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-wm/src/main/resources/log4j.properties
===================================================================
--- branches/pollen-2.0-beta-1/pollen-wm/src/main/resources/log4j.properties 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-wm/src/main/resources/log4j.properties 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2011 CodeLutin, Chatellier Eric
+# Copyright (C) 2009 - 2012 CodeLutin
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/resources/log4j.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/resources/mapping
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/footer.jsp
===================================================================
--- branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/footer.jsp 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/footer.jsp 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,3 +1,26 @@
+<%--
+ #%L
+ Pollen :: Web Motion Interface
+
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2009 - 2012 CodeLutin
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #L%
+ --%>
<!-- Pied de page -->
<div id="po-footer">
<a href="">Pollen</a>
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/footer.jsp
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/head.jsp
===================================================================
--- branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/head.jsp 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/head.jsp 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,2 +1,25 @@
+<%--
+ #%L
+ Pollen :: Web Motion Interface
+
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2009 - 2012 CodeLutin
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #L%
+ --%>
<link rel=stylesheet type="text/css" href="css/pollen.css">
<script type="text/javascript" lang="javascript" src="js/jquery-1.7.1.min.js"></script>
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/head.jsp
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/header.jsp
===================================================================
--- branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/header.jsp 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/header.jsp 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,3 +1,26 @@
+<%--
+ #%L
+ Pollen :: Web Motion Interface
+
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2009 - 2012 CodeLutin
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #L%
+ --%>
<div class="po-header">
<!-- Langue -->
@@ -17,7 +40,7 @@
</a>
</div>
- <!-- Ent�te de la page -->
+ <!-- Ent�te de la page -->
<div id="po-header-logo">
<a href="index" class="po-homelink">
Pollen
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/header.jsp
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/index.jsp
===================================================================
--- branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/index.jsp 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/index.jsp 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,3 +1,26 @@
+<%--
+ #%L
+ Pollen :: Web Motion Interface
+
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2009 - 2012 CodeLutin
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #L%
+ --%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
<head>
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/index.jsp
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/login.jsp
===================================================================
--- branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/login.jsp 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/login.jsp 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,3 +1,26 @@
+<%--
+ #%L
+ Pollen :: Web Motion Interface
+
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2009 - 2012 CodeLutin
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #L%
+ --%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
<head>
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/login.jsp
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/register.jsp
===================================================================
--- branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/register.jsp 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/register.jsp 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,3 +1,26 @@
+<%--
+ #%L
+ Pollen :: Web Motion Interface
+
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2009 - 2012 CodeLutin
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #L%
+ --%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
<head>
@@ -49,7 +72,7 @@
<input type="text" id="lastname" name="lastname">
<div>
<div class="registerfield">
- <label for="firstname">Pr�nom:</label>
+ <label for="firstname">Pr�nom:</label>
<input type="text" id="firstname" name="firstname">
<div>
</fieldset>
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/register.jsp
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/web.xml
===================================================================
--- branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/web.xml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/web.xml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,3 +1,26 @@
+<!--
+ #%L
+ Pollen :: Web Motion Interface
+
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2009 - 2012 CodeLutin
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #L%
+ -->
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/WEB-INF/web.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/css/pollen.css
===================================================================
--- branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/css/pollen.css 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/css/pollen.css 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,135 +1,135 @@
-/* global */
-body {
- font-family: "Trebuchet MS",Arial,sans-serif;
- width: 1000px;
- margin: auto;
- font-size: small;
-}
-
-/* header */
-#po-header-localization{
- text-align:right;
- margin-top: 10px;
-}
-#po-header-localization .po-contactlink {
- width:20px;
- background:url("../img/contact.png") no-repeat center;
-}
-#po-header-localization .po-localelink {
- width:20px;
- background:url("../img/en.png") no-repeat center;
-}
-#po-header-localization .po-localelink:lang(fr){
- background-image:url("../img/fr.png")
-}
-
-#po-header-logo{
- float: left;
- margin-right: 10px;
- margin-top: -100px;
- width:350px;
- height:153px;
- background:url("../img/pollenIndex_en.png") no-repeat;
-}
-html:lang(fr) #po-header-logo {
- background-image:url("../img/pollenIndex_fr.png")
-}
-
-#po-header-menu{
- padding: 7px;
- background-color: #FFFF00;
-}
-#po-header-menu #po-header-connection {
- float:right;
-}
-#po-header-menu #po-header-connection #po-header-login-box{
- display:none;
-}
-#po-header-menu #po-header-connection-menu{
- margin:0;
- padding:0;
-}
-#po-header-menu #po-header-connection-menu li{
- display:inline
-}
-#po-header-menu #po-header-connection span{
- cursor:pointer;
- padding: 1px 5px;
-}
-#po-header-menu #po-header-connection span:hover{
- background-color: #000000;
- border-radius: 10px 10px 10px 10px;
- color: white;
-}
-#po-header-menu #po-header-connection a{
- color: black;
- text-decoration:none;
-}
-#po-header-menu #po-header-connection a:hover{
- color: white;
-}
-
-/* footer */
-#po-footer {
- background-color: #FFFF00;
- font-size: small;
- margin-top: 20px;
- padding: 5px;
- text-align: center;
- color: #727A7E;
-}
-#po-footer a{
- color: #727A7E;
-}
-
-/* page content */
-.page #po-placebar {
- background-color: #FFFFAA;
- margin-left: 350px;
- padding: 5px;
-}
-.page #po-placebar .pbitem {
- font-weight:bold;
-}
-.page #po-placebar .pbitem:before{
- content:"> ";
-}
-.page .content {
- padding: 15px;
-}
-
-/* page : home page */
-#po-homelogo {
- width:20px;
- background:url("../img/pollen.png") no-repeat center;
- margin:auto;
- width:260px;
- height:200px;
-}
-#po-homeactions {
- text-align:center;
-}
-#po-homeactions .createpoll{
- background:url("../img/smallCreation_en.png") no-repeat center;
- width:250px;
- height:100px;
-}
-html:lang(fr) #po-homeactions .createpoll {
- background-image:url("../img/smallCreation_fr.png")
-}
-#po-homeactions .mypoll{
- background:url("../img/smallVote_en.png") no-repeat center;
- width:200px;
- height:100px;
-}
-html:lang(fr) #po-homeactions .mypoll {
- background-image:url("../img/smallVote_fr.png")
-}
-#po-homeactions .votecounting{
- background:url("../img/smallVoteCounting_en.png") no-repeat center;
- width:250px;
- height:100px;
-}
-html:lang(fr) #po-homeactions .votecounting {
- background-image:url("../img/smallVoteCounting_fr.png")
+/* global */
+body {
+ font-family: "Trebuchet MS",Arial,sans-serif;
+ width: 1000px;
+ margin: auto;
+ font-size: small;
+}
+
+/* header */
+#po-header-localization{
+ text-align:right;
+ margin-top: 10px;
+}
+#po-header-localization .po-contactlink {
+ width:20px;
+ background:url("../img/contact.png") no-repeat center;
+}
+#po-header-localization .po-localelink {
+ width:20px;
+ background:url("../img/en.png") no-repeat center;
+}
+#po-header-localization .po-localelink:lang(fr){
+ background-image:url("../img/fr.png")
+}
+
+#po-header-logo{
+ float: left;
+ margin-right: 10px;
+ margin-top: -100px;
+ width:350px;
+ height:153px;
+ background:url("../img/pollenIndex_en.png") no-repeat;
+}
+html:lang(fr) #po-header-logo {
+ background-image:url("../img/pollenIndex_fr.png")
+}
+
+#po-header-menu{
+ padding: 7px;
+ background-color: #FFFF00;
+}
+#po-header-menu #po-header-connection {
+ float:right;
+}
+#po-header-menu #po-header-connection #po-header-login-box{
+ display:none;
+}
+#po-header-menu #po-header-connection-menu{
+ margin:0;
+ padding:0;
+}
+#po-header-menu #po-header-connection-menu li{
+ display:inline
+}
+#po-header-menu #po-header-connection span{
+ cursor:pointer;
+ padding: 1px 5px;
+}
+#po-header-menu #po-header-connection span:hover{
+ background-color: #000000;
+ border-radius: 10px 10px 10px 10px;
+ color: white;
+}
+#po-header-menu #po-header-connection a{
+ color: black;
+ text-decoration:none;
+}
+#po-header-menu #po-header-connection a:hover{
+ color: white;
+}
+
+/* footer */
+#po-footer {
+ background-color: #FFFF00;
+ font-size: small;
+ margin-top: 20px;
+ padding: 5px;
+ text-align: center;
+ color: #727A7E;
+}
+#po-footer a{
+ color: #727A7E;
+}
+
+/* page content */
+.page #po-placebar {
+ background-color: #FFFFAA;
+ margin-left: 350px;
+ padding: 5px;
+}
+.page #po-placebar .pbitem {
+ font-weight:bold;
+}
+.page #po-placebar .pbitem:before{
+ content:"> ";
+}
+.page .content {
+ padding: 15px;
+}
+
+/* page : home page */
+#po-homelogo {
+ width:20px;
+ background:url("../img/pollen.png") no-repeat center;
+ margin:auto;
+ width:260px;
+ height:200px;
+}
+#po-homeactions {
+ text-align:center;
+}
+#po-homeactions .createpoll{
+ background:url("../img/smallCreation_en.png") no-repeat center;
+ width:250px;
+ height:100px;
+}
+html:lang(fr) #po-homeactions .createpoll {
+ background-image:url("../img/smallCreation_fr.png")
+}
+#po-homeactions .mypoll{
+ background:url("../img/smallVote_en.png") no-repeat center;
+ width:200px;
+ height:100px;
+}
+html:lang(fr) #po-homeactions .mypoll {
+ background-image:url("../img/smallVote_fr.png")
+}
+#po-homeactions .votecounting{
+ background:url("../img/smallVoteCounting_en.png") no-repeat center;
+ width:250px;
+ height:100px;
+}
+html:lang(fr) #po-homeactions .votecounting {
+ background-image:url("../img/smallVoteCounting_fr.png")
}
\ No newline at end of file
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/css/pollen.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/bigCreation.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/bigVote.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/bigVoteCounting.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/contact.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/en.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/fr.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/pollen.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/pollenIndex_en.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/pollenIndex_fr.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/smallCreation_en.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/smallCreation_fr.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/smallVoteCounting_en.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/smallVoteCounting_fr.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/smallVote_en.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/img/smallVote_fr.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/js/jquery-1.7.1.min.js
===================================================================
--- branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/js/jquery-1.7.1.min.js 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/js/jquery-1.7.1.min.js 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,3 +1,26 @@
+/*
+ * #%L
+ * Pollen :: Web Motion Interface
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
/*! jQuery v1.7.1 jquery.com | jquery.org/license */
(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function cb(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function ca(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bE.test(a)?d(a,e):ca(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)ca(a+"["+e+"]",b[e],c,d);else d(a,b)}function b_(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function b$(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bT,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=b$(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=b$(a,c,d,e,"*",g));return l}function bZ(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bP),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bC(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bx:by,g=0,h=e.length;if(d>0){if(c!=="border")for(;g<h;g++)c||(d-=parseFloat(f.css(a,"padding"+e[g]))||0),c==="margin"?d+=parseFloat(f.css(a,c+e[g]))||0:d-=parseFloat(f.css(a,"border"+e[g]+"Width"))||0;return d+"px"}d=bz(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0;if(c)for(;g<h;g++)d+=parseFloat(f.css(a,"padding"+e[g]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+e[g]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+e[g]))||0);return d+"px"}function bp(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c+(i[c][d].namespace?".":"")+i[c][d].namespace,i[c][d],i[c][d].data)}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?m(g):h==="function"&&(!a.unique||!o.has(g))&&c.push(g)},n=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,l=j||0,j=0,k=c.length;for(;c&&l<k;l++)if(c[l].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}i=!1,c&&(a.once?e===!0?o.disable():c=[]:d&&d.length&&(e=d.shift(),o.fireWith(e[0],e[1])))},o={add:function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){i&&f<=k&&(k--,f<=l&&l--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&o.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(i?a.once||d.push([b,c]):(!a.once||!e)&&n(b,c));return this},fire:function(){o.fireWith(this,arguments);return this},fired:function(){return!!e}};return o};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p,q=c.createElement("div"),r=c.documentElement;q.setAttribute("className","t"),q.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="<div "+n+"><div></div></div>"+"<table "+n+" cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="<div style='width:4px;'></div>",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h=null;if(typeof a=="undefined"){if(this.length){h=f.data(this[0]);if(this[0].nodeType===1&&!f._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var i=0,j=e.length;i<j;i++)g=e[i].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),l(this[0],g,h[g]));f._data(this[0],"parsedAttrs",!0)}}return h}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split("."),d[1]=d[1]?"."+d[1]:"";if(c===b){h=this.triggerHandler("getData"+d[1]+"!",[d[0]]),h===b&&this.length&&(h=f.data(this[0],a),h=l(this[0],a,h));return h===b&&d[1]?this.data(d[0]):h}return this.each(function(){var b=f(this),e=[d[0],c];b.triggerHandler("setData"+d[1]+"!",e),f.data(this,a,c),b.triggerHandler("changeData"+d[1]+"!",e)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise()}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h<g;h++)e=d[h],e&&(c=f.propFix[e]||e,f.attr(a,e,""),a.removeAttribute(v?e:c),u.test(e)&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(r.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2){h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]}},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})}),f.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,c)}}),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};
f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=[],j,k,l,m,n,o,p,q,r,s,t;g[0]=c,c.delegateTarget=this;if(e&&!c.target.disabled&&(!c.button||c.type!=="click")){m=f(this),m.context=this.ownerDocument||this;for(l=c.target;l!=this;l=l.parentNode||this){o={},q=[],m[0]=l;for(j=0;j<e;j++)r=d[j],s=r.selector,o[s]===b&&(o[s]=r.quick?H(l,r.quick):m.is(s)),o[s]&&q.push(r);q.length&&i.push({elem:l,matches:q})}}d.length>e&&i.push({elem:this,matches:d.slice(e)});for(j=0;j<i.length&&!c.isPropagationStopped();j++){p=i[j],c.currentTarget=p.elem;for(k=0;k<p.matches.length&&!c.isImmediatePropagationStopped();k++){r=p.matches[k];if(h||!c.namespace&&!r.namespace||c.namespace_re&&c.namespace_re.test(r.namespace))c.data=r.data,c.handleObj=r,n=((f.event.special[r.origType]||{}).handle||r.handler).apply(p.elem,g),n!==b&&(c.result=n,n===!1&&(c.preventDefault(),c.stopPropagation()))}}return c.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0)}),d._submit_attached=!0)})},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on.call(this,a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.type+"."+e.namespace:e.type,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i,j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h<i;h++)m(a,g[h],e,c);return m.filter(f,e)};m.attr=f.attr,m.selectors.attrMap={},f.find=m,f.expr=m.selectors,f.expr[":"]=f.expr.filters,f.unique=m.uniqueSort,f.text=m.getText,f.isXMLDoc=m.isXML,f.contains=m.contains}();var L=/Until$/,M=/^(?:parents|prevUntil|prevAll)/,N=/,/,O=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,Q=f.expr.match.POS,R={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(T(this,a,!1),"not",a)},filter:function(a){return this.pushStack(T(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?Q.test(a)?f(a,this.context).index(this[0])>=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=Q.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(i?i.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|style)/i,bb=/<(?:script|object|embed|option|style)/i,bc=new RegExp("<(?:"+V+")","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function()
Property changes on: branches/pollen-2.0-beta-1/pollen-wm/src/main/webapp/js/jquery-1.7.1.min.js
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/pom.xml
===================================================================
--- branches/pollen-2.0-beta-1/pom.xml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/pom.xml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -18,8 +18,11 @@
<version>2.0-SNAPSHOT</version>
<modules>
- <module>pollen-business</module>
- <module>pollen-votecounting</module>
+ <module>pollen-domain</module>
+ <module>pollen-persistence</module>
+ <module>pollen-services</module>
+ <!--<module>pollen-business</module>-->
+ <!--<module>pollen-votecounting</module>-->
<module>pollen-ui</module>
<module>pollen-wm</module>
</modules>
@@ -28,6 +31,12 @@
<dependencies>
<dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <version>11.0.1</version>
+ </dependency>
+
+ <dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-email</artifactId>
<version>1.2</version>
Property changes on: branches/pollen-2.0-beta-1/pom.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/license/project.xml
===================================================================
--- branches/pollen-2.0-beta-1/src/license/project.xml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/license/project.xml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -6,7 +6,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 CodeLutin
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/src/license/project.xml
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/createVotingList.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/pollen.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/CreerSondage.jpg
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/CreerSondage2.jpg
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/DC_Pollen.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/DC_PreventRules.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/DET_PollState.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/Depouiller.jpg
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/Depouiller_1a.jpg
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/UC_Gestiondesvotes.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/Voter.jpg
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/business/DC_BusinessDTOs.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/business/DC_DBUtil.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/business/DC_ServicePoll.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/business/DC_ServiceResults.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/business/DC_ServiceUser.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/business/DC_ServiceVote.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/business/DS_Conception_CreerSondage.jpg
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/composants.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/packages.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/pollen_logo.jpg
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/schema-architecture.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/ui/DC_UIOs.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/ui/chart.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/ui/dateTimeField.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/ui/feedBack.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/ui/topCount.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/ui/topCreation.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/ui/topIndex.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/ui/topVote.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/votecounting/DC_ServiceExport.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/votecounting/DC_ServiceExportImpl.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/votecounting/DC_ServiceExportXML.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/votecounting/DC_ServiceVoteCounting.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/votecounting/DC_ServiceVoteCountingImpl.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/votecounting/DC_VoteCountingDTOs.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/schemas/votecounting/Seq-executeVoteCounting.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Capture-1.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Capture-2.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Capture-3.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Capture-4.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Capture-5.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Capture-6.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Capture.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Creation-links.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Creation-step1.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Creation-step2.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Creation-step3.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Creation-step4.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Results.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/tutoriel/Vote.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/resources/votingList.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: branches/pollen-2.0-beta-1/src/site/fr/rst/analyse.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/fr/rst/analyse.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/fr/rst/analyse.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
@@ -26,8 +26,8 @@
:Author: Erwan NEMA <nemawan(a)hotmail.com>
:Author: Nolwenn Rannou <rannou(a)codelutin.com>
-:Revision: $Revision: 2738 $
-:Date: $Date: 2009-08-20 17:12:21 +0200 (jeu 20 aoû 2009) $
+:Revision: $Revision$
+:Date: $Date$
Les besoins
~~~~~~~~~~~
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/rst/analyse.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/fr/rst/architecture.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/fr/rst/architecture.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/fr/rst/architecture.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
@@ -25,8 +25,8 @@
====================================
:Author: Florian DESBOIS <florian.desbois(a)gmail.com>
-:Revision: $Revision: 2613 $
-:Date: $Date: 2009-06-30 15:32:57 +0200 (mar 30 jun 2009) $
+:Revision: $Revision$
+:Date: $Date$
.. image:: schemas/schema-architecture.png
:alt: Architecture global
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/rst/architecture.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/fr/rst/assentiment.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/fr/rst/assentiment.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/fr/rst/assentiment.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/rst/assentiment.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/fr/rst/business-rules.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/fr/rst/business-rules.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/fr/rst/business-rules.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -1,3 +1,26 @@
+.. -
+.. * #%L
+.. * Pollen
+.. *
+.. * $Id$
+.. * $HeadURL$
+.. * %%
+.. * Copyright (C) 2009 - 2012 CodeLutin
+.. * %%
+.. * This program is free software: you can redistribute it and/or modify
+.. * it under the terms of the GNU Affero General Public License as published by
+.. * the Free Software Foundation, either version 3 of the License, or
+.. * (at your option) any later version.
+.. *
+.. * This program is distributed in the hope that it will be useful,
+.. * but WITHOUT ANY WARRANTY; without even the implied warranty of
+.. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.. * GNU General Public License for more details.
+.. *
+.. * You should have received a copy of the GNU Affero General Public License
+.. * along with this program. If not, see <http://www.gnu.org/licenses/>.
+.. * #L%
+.. -
Règles métiers
==============
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/rst/business-rules.rst
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/fr/rst/business.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/fr/rst/business.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/fr/rst/business.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
@@ -25,8 +25,8 @@
========
:Author:
-:Revision: $Revision: 2613 $
-:Date: $Date: 2009-06-30 15:32:57 +0200 (mar 30 jun 2009) $
+:Revision: $Revision$
+:Date: $Date$
DTO
---
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/rst/business.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/fr/rst/condorcet.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/fr/rst/condorcet.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/fr/rst/condorcet.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/rst/condorcet.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/fr/rst/depouillement.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/fr/rst/depouillement.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/fr/rst/depouillement.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/rst/depouillement.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/fr/rst/developer.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/fr/rst/developer.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/fr/rst/developer.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/rst/developer.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/fr/rst/historique.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/fr/rst/historique.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/fr/rst/historique.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/rst/historique.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/fr/rst/importVotersList.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/fr/rst/importVotersList.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/fr/rst/importVotersList.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
@@ -27,8 +27,8 @@
:Author: Jean Couteau
:Contact:
-:Revision: $Revision: 2738 $
-:Date: $Date: 2009-08-20 17:12:21 +0200 (jeu 20 aoû 2009) $
+:Revision: $Revision$
+:Date: $Date$
Créer des listes de votants à la main
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/rst/importVotersList.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/fr/rst/index.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/fr/rst/index.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/fr/rst/index.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/rst/index.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/fr/rst/install.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/fr/rst/install.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/fr/rst/install.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
@@ -25,8 +25,8 @@
============
.. Author: Nolwenn Rannou <rannou(a)codelutin.com>
-.. Revision: $Revision: 2760 $
-.. Date: $Date: 2009-08-27 17:10:53 +0200 (jeu 27 aoû 2009) $
+.. Revision: $Revision$
+.. Date: $Date$
Conteneur Web
-------------
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/rst/install.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/fr/rst/nombre.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/fr/rst/nombre.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/fr/rst/nombre.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/rst/nombre.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/fr/rst/pourcentage.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/fr/rst/pourcentage.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/fr/rst/pourcentage.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/rst/pourcentage.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/fr/rst/tutoriel.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/fr/rst/tutoriel.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/fr/rst/tutoriel.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
@@ -25,8 +25,8 @@
========
:Author: Nolwenn Rannou <rannou(a)codelutin.com>
-:Revision: $Revision: 2759 $
-:Date: $Date: 2009-08-27 17:01:18 +0200 (jeu 27 aoû 2009) $
+:Revision: $Revision$
+:Date: $Date$
Nous allons voir à travers un exemple comment créer un sondage avec Pollen. Les trois étapes nécessaires sont les suivantes : la création, le vote et la visualisation des résultats.
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/rst/tutoriel.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/fr/rst/ui.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/fr/rst/ui.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/fr/rst/ui.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
@@ -25,8 +25,8 @@
==
:Author: Nolwenn Rannou <rannou(a)codelutin.com>
-:Revision: $Revision: 2613 $
-:Date: $Date: 2009-06-30 15:32:57 +0200 (mar 30 jun 2009) $
+:Revision: $Revision$
+:Date: $Date$
L'interface web de l'application a été créée grâce au framework Tapestry de la fondation Apache.
Tapestry est un framework de développement pour applications Web J2EE dont l'architecture est à base de composants.
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/rst/ui.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/fr/rst/user.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/fr/rst/user.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/fr/rst/user.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/rst/user.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/fr/rst/votecounting.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/fr/rst/votecounting.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/fr/rst/votecounting.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
@@ -25,8 +25,8 @@
============
:Author: Nolwenn Rannou <rannou(a)codelutin.com>
-:Revision: $Revision: 2613 $
-:Date: $Date: 2009-06-30 15:32:57 +0200 (mar 30 jun 2009) $
+:Revision: $Revision$
+:Date: $Date$
Cette partie décrit l'implémentation du module VoteCounting.
Property changes on: branches/pollen-2.0-beta-1/src/site/fr/rst/votecounting.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/createVotingList.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/pollen.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/CreerSondage.jpg
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/CreerSondage2.jpg
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/DC_Pollen.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/DC_PreventRules.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/DET_PollState.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/Depouiller.jpg
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/Depouiller_1a.jpg
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/UC_Gestiondesvotes.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/Voter.jpg
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/business/DC_BusinessDTOs.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/business/DC_DBUtil.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/business/DC_ServicePoll.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/business/DC_ServiceResults.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/business/DC_ServiceUser.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/business/DC_ServiceVote.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/business/DS_Conception_CreerSondage.jpg
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/composants.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/packages.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/pollen_logo.jpg
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/schema-architecture.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/ui/DC_UIOs.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/ui/chart.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/ui/dateTimeField.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/ui/feedBack.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/ui/topCount.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/ui/topCreation.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/ui/topIndex.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/ui/topVote.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/votecounting/DC_ServiceExport.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/votecounting/DC_ServiceExportImpl.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/votecounting/DC_ServiceExportXML.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/votecounting/DC_ServiceVoteCounting.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/votecounting/DC_ServiceVoteCountingImpl.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/votecounting/DC_VoteCountingDTOs.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/schemas/votecounting/Seq-executeVoteCounting.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Capture-1.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Capture-2.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Capture-3.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Capture-4.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Capture-5.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Capture-6.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Capture.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Creation-links.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Creation-step1.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Creation-step2.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Creation-step3.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Creation-step4.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Results.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/tutoriel/Vote.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: branches/pollen-2.0-beta-1/src/site/resources/votingList.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: branches/pollen-2.0-beta-1/src/site/rst/analyse.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/rst/analyse.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/rst/analyse.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
@@ -26,8 +26,8 @@
:Author: Erwan NEMA <nemawan(a)hotmail.com>
:Author: Nolwenn Rannou <rannou(a)codelutin.com>
-:Revision: $Revision: 2773 $
-:Date: $Date: 2009-09-09 12:05:20 +0200 (mer., 09 sept. 2009) $
+:Revision: $Revision$
+:Date: $Date$
The needs
~~~~~~~~~
Property changes on: branches/pollen-2.0-beta-1/src/site/rst/analyse.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/rst/approval.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/rst/approval.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/rst/approval.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/src/site/rst/approval.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/rst/architecture.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/rst/architecture.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/rst/architecture.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
@@ -25,8 +25,8 @@
===================
:Author: Florian DESBOIS <florian.desbois(a)gmail.com>
-:Revision: $Revision: 2773 $
-:Date: $Date: 2009-09-09 12:05:20 +0200 (mer., 09 sept. 2009) $
+:Revision: $Revision$
+:Date: $Date$
.. image:: schemas/schema-architecture.png
:alt: Global architecture
Property changes on: branches/pollen-2.0-beta-1/src/site/rst/architecture.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/rst/business.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/rst/business.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/rst/business.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
@@ -25,8 +25,8 @@
========
:Author:
-:Revision: $Revision: 2773 $
-:Date: $Date: 2009-09-09 12:05:20 +0200 (mer., 09 sept. 2009) $
+:Revision: $Revision$
+:Date: $Date$
DTO
---
Property changes on: branches/pollen-2.0-beta-1/src/site/rst/business.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/rst/condorcet.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/rst/condorcet.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/rst/condorcet.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/src/site/rst/condorcet.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/rst/developer.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/rst/developer.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/rst/developer.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/src/site/rst/developer.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/rst/historical.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/rst/historical.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/rst/historical.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/src/site/rst/historical.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/rst/importVotersList.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/rst/importVotersList.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/rst/importVotersList.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
@@ -27,8 +27,8 @@
:Author: Jean Couteau
:Contact:
-:Revision: $Revision: 2738 $
-:Date: $Date: 2009-08-20 17:12:21 +0200 (jeu 20 aoû 2009) $
+:Revision: $Revision$
+:Date: $Date$
Create voting lists by hand
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Property changes on: branches/pollen-2.0-beta-1/src/site/rst/importVotersList.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/rst/index.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/rst/index.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/rst/index.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/src/site/rst/index.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/rst/install.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/rst/install.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/rst/install.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
@@ -25,8 +25,8 @@
==================
.. Author: Nolwenn Rannou <rannou(a)codelutin.com>
-.. Revision: $Revision: 2779 $
-.. Date: $Date: 2009-10-12 14:29:43 +0200 (lun., 12 oct. 2009) $
+.. Revision: $Revision$
+.. Date: $Date$
.. contents::
Property changes on: branches/pollen-2.0-beta-1/src/site/rst/install.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/rst/methods.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/rst/methods.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/rst/methods.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/src/site/rst/methods.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/rst/number.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/rst/number.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/rst/number.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/src/site/rst/number.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/rst/percentage.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/rst/percentage.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/rst/percentage.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/src/site/rst/percentage.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/rst/tutoriel.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/rst/tutoriel.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/rst/tutoriel.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
@@ -25,8 +25,8 @@
========
:Author: Nolwenn Rannou <rannou(a)codelutin.com>
-:Revision: $Revision: 2773 $
-:Date: $Date: 2009-09-09 12:05:20 +0200 (mer., 09 sept. 2009) $
+:Revision: $Revision$
+:Date: $Date$
We will see through an example, how to create a poll with Pollen. The three
necessary steps are:
Property changes on: branches/pollen-2.0-beta-1/src/site/rst/tutoriel.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/rst/ui.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/rst/ui.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/rst/ui.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
@@ -25,8 +25,8 @@
==
:Author: Nolwenn Rannou <rannou(a)codelutin.com>
-:Revision: $Revision: 2773 $
-:Date: $Date: 2009-09-09 12:05:20 +0200 (mer., 09 sept. 2009) $
+:Revision: $Revision$
+:Date: $Date$
The application web interface has been created with Tapestry framework from
Apache foundation. Tapestry is a development framework for Web J2EE applications
Property changes on: branches/pollen-2.0-beta-1/src/site/rst/ui.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/rst/user.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/rst/user.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/rst/user.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/src/site/rst/user.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/rst/votecounting.rst
===================================================================
--- branches/pollen-2.0-beta-1/src/site/rst/votecounting.rst 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/rst/votecounting.rst 2012-01-19 23:57:08 UTC (rev 3096)
@@ -5,7 +5,7 @@
.. * $Id$
.. * $HeadURL$
.. * %%
-.. * Copyright (C) 2009 - 2010 CodeLutin
+.. * Copyright (C) 2009 - 2012 CodeLutin
.. * %%
.. * This program is free software: you can redistribute it and/or modify
.. * it under the terms of the GNU Affero General Public License as published by
@@ -25,8 +25,8 @@
============
:Author: Nolwenn Rannou <rannou(a)codelutin.com>
-:Revision: $Revision: 2773 $
-:Date: $Date: 2009-09-09 12:05:20 +0200 (mer., 09 sept. 2009) $
+:Revision: $Revision$
+:Date: $Date$
This part describe the VoteCounting module implementation.
Property changes on: branches/pollen-2.0-beta-1/src/site/rst/votecounting.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/site_en.xml
===================================================================
--- branches/pollen-2.0-beta-1/src/site/site_en.xml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/site_en.xml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -6,7 +6,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2011 CodeLutin, Chatellier Eric
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/src/site/site_en.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: branches/pollen-2.0-beta-1/src/site/site_fr.xml
===================================================================
--- branches/pollen-2.0-beta-1/src/site/site_fr.xml 2012-01-19 16:00:08 UTC (rev 3095)
+++ branches/pollen-2.0-beta-1/src/site/site_fr.xml 2012-01-19 23:57:08 UTC (rev 3096)
@@ -6,7 +6,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2011 CodeLutin, Chatellier Eric
+ Copyright (C) 2009 - 2012 CodeLutin
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
Property changes on: branches/pollen-2.0-beta-1/src/site/site_fr.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/todo.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: branches/pollen-2.0-beta-1/v2
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
1
0
Author: tchemit
Date: 2012-01-19 17:00:08 +0100 (Thu, 19 Jan 2012)
New Revision: 3095
Url: http://chorem.org/repositories/revision/pollen/3095
Log:
yet another branch for version 2.0-beta-1 (introduce struts 2 + better module layout)
Added:
branches/pollen-2.0-beta-1/
Property changes on: branches/pollen-2.0-beta-1
___________________________________________________________________
Added: svn:ignore
+ *.ipr
*.iws
*.iml
.classpath
.project
target
.pollen
.settings
nbactions.xml
Added: svn:mergeinfo
+
1
0
Author: maven-release
Date: 2012-01-04 18:21:30 +0100 (Wed, 04 Jan 2012)
New Revision: 3094
Url: http://chorem.org/repositories/revision/pollen/3094
Log:
Update mavenpom4redmine to 3.0.7.
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-11-29 17:49:53 UTC (rev 3093)
+++ trunk/pom.xml 2012-01-04 17:21:30 UTC (rev 3094)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4redmine</artifactId>
- <version>3.0.6</version>
+ <version>3.0.7</version>
</parent>
<groupId>org.chorem</groupId>
1
0