Author: bleny Date: 2014-06-25 16:50:28 +0200 (Wed, 25 Jun 2014) New Revision: 2104 Url: http://forge.codelutin.com/projects/wao/repository/revisions/2104 Log: refs #5320 move sample row validation from ui to services Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactValidationException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingDcf5CodesException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingFishingZonesException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingPeriodBeginException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingPeriodEndException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingProfessionSpeciesException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingProgramNameException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingSampleRowLogCommentException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SampleMonthWithIllegalExpectedTidesValueException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SampleRowValidationException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WaoValidationException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WrongSampleRowCodeFormatException.java Removed: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WaoContactValidationException.java Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactDataInputDateAfterTodayException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactDataInputDateBeforeObservationEndDateException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactObservationEndDateAfterTodayException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactObservationEndDateBeforeBeginDateException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactRestitutionDateBeforeDataInputDateException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactWithObservedDataControlToCorrectionAskedException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/DuplicatedContactMainObserverInSecondaryObserversException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/IllegalAcceptationException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/InvalidContactObservationBeginDateException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MismatchContactMainObserverCompanyException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MismatchContactSecondaryObserverCompanyException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactCommentAdminException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactCommentException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactDataInputDateException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactDataReliabilityException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactMainObserverException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactMammalsInfoException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactNbObservantsException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactObservationBeginDateException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactObservationEndDateException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactObservedDataControlException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactRestitutionException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactStateMotifException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactTerrestrialLocationException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SamplingPlanService.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/UnwantedContactContactStateMotifException.java trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/EditSampleRowAction.java Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactDataInputDateAfterTodayException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactDataInputDateAfterTodayException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactDataInputDateAfterTodayException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -10,7 +10,7 @@ * @author Tony Chemit <chemit@codelutin.com> * @since 4.0 */ -public class ContactDataInputDateAfterTodayException extends WaoContactValidationException { +public class ContactDataInputDateAfterTodayException extends ContactValidationException { private static final long serialVersionUID = 1L; Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactDataInputDateBeforeObservationEndDateException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactDataInputDateBeforeObservationEndDateException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactDataInputDateBeforeObservationEndDateException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -8,7 +8,7 @@ * @author Tony Chemit <chemit@codelutin.com> * @since 4.0 */ -public class ContactDataInputDateBeforeObservationEndDateException extends WaoContactValidationException { +public class ContactDataInputDateBeforeObservationEndDateException extends ContactValidationException { private static final long serialVersionUID = 1L; Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactObservationEndDateAfterTodayException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactObservationEndDateAfterTodayException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactObservationEndDateAfterTodayException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -10,7 +10,7 @@ * @author Tony Chemit <chemit@codelutin.com> * @since 4.0 */ -public class ContactObservationEndDateAfterTodayException extends WaoContactValidationException { +public class ContactObservationEndDateAfterTodayException extends ContactValidationException { private static final long serialVersionUID = 1L; Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactObservationEndDateBeforeBeginDateException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactObservationEndDateBeforeBeginDateException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactObservationEndDateBeforeBeginDateException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -8,7 +8,7 @@ * @author Tony Chemit <chemit@codelutin.com> * @since 4.0 */ -public class ContactObservationEndDateBeforeBeginDateException extends WaoContactValidationException { +public class ContactObservationEndDateBeforeBeginDateException extends ContactValidationException { private static final long serialVersionUID = 1L; Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactRestitutionDateBeforeDataInputDateException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactRestitutionDateBeforeDataInputDateException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactRestitutionDateBeforeDataInputDateException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -29,7 +29,7 @@ * @author Tony Chemit <chemit@codelutin.com> * @since 4.0 */ -public class ContactRestitutionDateBeforeDataInputDateException extends WaoContactValidationException { +public class ContactRestitutionDateBeforeDataInputDateException extends ContactValidationException { private static final long serialVersionUID = 1L; Copied: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactValidationException.java (from rev 2100, trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WaoContactValidationException.java) =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactValidationException.java (rev 0) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactValidationException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -0,0 +1,47 @@ +package fr.ifremer.wao.services.service; + +/* + * #%L + * Wao :: Services + * %% + * Copyright (C) 2009 - 2014 Ifremer + * %% + * This program 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% + */ + +import fr.ifremer.wao.entity.Contact; + +/** + * Exception de base pour la validation d'une création - mise à jour ou import d'un contact. + * <p/> + * Created on 4/4/14. + * + * @author Tony Chemit <chemit@codelutin.com> + * @since 4.0 + */ +public abstract class ContactValidationException extends WaoValidationException { + + private static final long serialVersionUID = 1L; + + protected Contact contact; + + public ContactValidationException(Contact contact) { + this.contact = contact; + } + + public Contact getContact() { + return contact; + } +} Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactWithObservedDataControlToCorrectionAskedException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactWithObservedDataControlToCorrectionAskedException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactWithObservedDataControlToCorrectionAskedException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -5,7 +5,7 @@ /** * Un contact en correction demandée ne peut pas être accepté par la société. */ -public class ContactWithObservedDataControlToCorrectionAskedException extends WaoContactValidationException { +public class ContactWithObservedDataControlToCorrectionAskedException extends ContactValidationException { private static final long serialVersionUID = 1L; Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/DuplicatedContactMainObserverInSecondaryObserversException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/DuplicatedContactMainObserverInSecondaryObserversException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/DuplicatedContactMainObserverInSecondaryObserversException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -8,7 +8,7 @@ * @author Tony Chemit <chemit@codelutin.com> * @since 4.0 */ -public class DuplicatedContactMainObserverInSecondaryObserversException extends WaoContactValidationException { +public class DuplicatedContactMainObserverInSecondaryObserversException extends ContactValidationException { private static final long serialVersionUID = 1L; Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/IllegalAcceptationException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/IllegalAcceptationException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/IllegalAcceptationException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -2,7 +2,7 @@ import fr.ifremer.wao.entity.Contact; -public class IllegalAcceptationException extends WaoContactValidationException { +public class IllegalAcceptationException extends ContactValidationException { public IllegalAcceptationException(Contact contact) { super(contact); Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/InvalidContactObservationBeginDateException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/InvalidContactObservationBeginDateException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/InvalidContactObservationBeginDateException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -8,7 +8,7 @@ * @author Tony Chemit <chemit@codelutin.com> * @since 4.0 */ -public class InvalidContactObservationBeginDateException extends WaoContactValidationException { +public class InvalidContactObservationBeginDateException extends ContactValidationException { private static final long serialVersionUID = 1L; Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MismatchContactMainObserverCompanyException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MismatchContactMainObserverCompanyException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MismatchContactMainObserverCompanyException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -10,7 +10,7 @@ * @author Tony Chemit <chemit@codelutin.com> * @since 4.0 */ -public class MismatchContactMainObserverCompanyException extends WaoContactValidationException { +public class MismatchContactMainObserverCompanyException extends ContactValidationException { private static final long serialVersionUID = 1L; Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MismatchContactSecondaryObserverCompanyException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MismatchContactSecondaryObserverCompanyException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MismatchContactSecondaryObserverCompanyException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -10,7 +10,7 @@ * @author Tony Chemit <chemit@codelutin.com> * @since 4.0 */ -public class MismatchContactSecondaryObserverCompanyException extends WaoContactValidationException { +public class MismatchContactSecondaryObserverCompanyException extends ContactValidationException { private static final long serialVersionUID = 1L; Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactCommentAdminException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactCommentAdminException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactCommentAdminException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -8,7 +8,7 @@ * @author Tony Chemit <chemit@codelutin.com> * @since 4.0 */ -public class MissingContactCommentAdminException extends WaoContactValidationException { +public class MissingContactCommentAdminException extends ContactValidationException { private static final long serialVersionUID = 1L; Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactCommentException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactCommentException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactCommentException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -29,7 +29,7 @@ * @author Tony Chemit <chemit@codelutin.com> * @since 4.0 */ -public class MissingContactCommentException extends WaoContactValidationException { +public class MissingContactCommentException extends ContactValidationException { private static final long serialVersionUID = 1L; Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactDataInputDateException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactDataInputDateException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactDataInputDateException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -29,7 +29,7 @@ * @author Tony Chemit <chemit@codelutin.com> * @since 4.0 */ -public class MissingContactDataInputDateException extends WaoContactValidationException { +public class MissingContactDataInputDateException extends ContactValidationException { private static final long serialVersionUID = 1L; Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactDataReliabilityException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactDataReliabilityException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactDataReliabilityException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -8,7 +8,7 @@ * @author Tony Chemit <chemit@codelutin.com> * @since 4.0 */ -public class MissingContactDataReliabilityException extends WaoContactValidationException { +public class MissingContactDataReliabilityException extends ContactValidationException { private static final long serialVersionUID = 1L; Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactMainObserverException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactMainObserverException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactMainObserverException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -8,7 +8,7 @@ * @author Tony Chemit <chemit@codelutin.com> * @since 4.0 */ -public class MissingContactMainObserverException extends WaoContactValidationException { +public class MissingContactMainObserverException extends ContactValidationException { private static final long serialVersionUID = 1L; Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactMammalsInfoException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactMammalsInfoException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactMammalsInfoException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -2,7 +2,7 @@ import fr.ifremer.wao.entity.Contact; -public class MissingContactMammalsInfoException extends WaoContactValidationException { +public class MissingContactMammalsInfoException extends ContactValidationException { public MissingContactMammalsInfoException(Contact contact) { super(contact); Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactNbObservantsException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactNbObservantsException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactNbObservantsException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -29,7 +29,7 @@ * @author Tony Chemit <chemit@codelutin.com> * @since 4.0 */ -public class MissingContactNbObservantsException extends WaoContactValidationException { +public class MissingContactNbObservantsException extends ContactValidationException { private static final long serialVersionUID = 1L; Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactObservationBeginDateException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactObservationBeginDateException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactObservationBeginDateException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -29,7 +29,7 @@ * @author Tony Chemit <chemit@codelutin.com> * @since 4.0 */ -public class MissingContactObservationBeginDateException extends WaoContactValidationException { +public class MissingContactObservationBeginDateException extends ContactValidationException { private static final long serialVersionUID = 1L; Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactObservationEndDateException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactObservationEndDateException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactObservationEndDateException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -29,7 +29,7 @@ * @author Tony Chemit <chemit@codelutin.com> * @since 4.0 */ -public class MissingContactObservationEndDateException extends WaoContactValidationException { +public class MissingContactObservationEndDateException extends ContactValidationException { private static final long serialVersionUID = 1L; Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactObservedDataControlException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactObservedDataControlException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactObservedDataControlException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -8,7 +8,7 @@ * @author Tony Chemit <chemit@codelutin.com> * @since 4.0 */ -public class MissingContactObservedDataControlException extends WaoContactValidationException { +public class MissingContactObservedDataControlException extends ContactValidationException { private static final long serialVersionUID = 1L; Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactRestitutionException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactRestitutionException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactRestitutionException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -29,7 +29,7 @@ * @author Tony Chemit <chemit@codelutin.com> * @since 4.0 */ -public class MissingContactRestitutionException extends WaoContactValidationException { +public class MissingContactRestitutionException extends ContactValidationException { private static final long serialVersionUID = 1L; Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactStateMotifException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactStateMotifException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactStateMotifException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -29,7 +29,7 @@ * @author Tony Chemit <chemit@codelutin.com> * @since 4.0 */ -public class MissingContactStateMotifException extends WaoContactValidationException { +public class MissingContactStateMotifException extends ContactValidationException { private static final long serialVersionUID = 1L; Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactTerrestrialLocationException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactTerrestrialLocationException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactTerrestrialLocationException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -2,7 +2,7 @@ import fr.ifremer.wao.entity.Contact; -public class MissingContactTerrestrialLocationException extends WaoContactValidationException { +public class MissingContactTerrestrialLocationException extends ContactValidationException { public MissingContactTerrestrialLocationException(Contact contact) { super(contact); Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingDcf5CodesException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingDcf5CodesException.java (rev 0) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingDcf5CodesException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -0,0 +1,10 @@ +package fr.ifremer.wao.services.service; + +import fr.ifremer.wao.entity.SampleRow; + +public class MissingDcf5CodesException extends SampleRowValidationException { + + public MissingDcf5CodesException(SampleRow sampleRow) { + super(sampleRow); + } +} Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingFishingZonesException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingFishingZonesException.java (rev 0) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingFishingZonesException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -0,0 +1,10 @@ +package fr.ifremer.wao.services.service; + +import fr.ifremer.wao.entity.SampleRow; + +public class MissingFishingZonesException extends SampleRowValidationException { + + public MissingFishingZonesException(SampleRow sampleRow) { + super(sampleRow); + } +} Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingPeriodBeginException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingPeriodBeginException.java (rev 0) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingPeriodBeginException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -0,0 +1,10 @@ +package fr.ifremer.wao.services.service; + +import fr.ifremer.wao.entity.SampleRow; + +public class MissingPeriodBeginException extends SampleRowValidationException { + + public MissingPeriodBeginException(SampleRow sampleRow) { + super(sampleRow); + } +} Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingPeriodEndException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingPeriodEndException.java (rev 0) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingPeriodEndException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -0,0 +1,10 @@ +package fr.ifremer.wao.services.service; + +import fr.ifremer.wao.entity.SampleRow; + +public class MissingPeriodEndException extends SampleRowValidationException { + + public MissingPeriodEndException(SampleRow sampleRow) { + super(sampleRow); + } +} Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingProfessionSpeciesException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingProfessionSpeciesException.java (rev 0) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingProfessionSpeciesException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -0,0 +1,10 @@ +package fr.ifremer.wao.services.service; + +import fr.ifremer.wao.entity.SampleRow; + +public class MissingProfessionSpeciesException extends SampleRowValidationException { + + public MissingProfessionSpeciesException(SampleRow sampleRow) { + super(sampleRow); + } +} Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingProgramNameException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingProgramNameException.java (rev 0) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingProgramNameException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -0,0 +1,10 @@ +package fr.ifremer.wao.services.service; + +import fr.ifremer.wao.entity.SampleRow; + +public class MissingProgramNameException extends SampleRowValidationException { + + public MissingProgramNameException(SampleRow sampleRow) { + super(sampleRow); + } +} Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingSampleRowLogCommentException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingSampleRowLogCommentException.java (rev 0) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingSampleRowLogCommentException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -0,0 +1,10 @@ +package fr.ifremer.wao.services.service; + +import fr.ifremer.wao.entity.SampleRow; + +public class MissingSampleRowLogCommentException extends SampleRowValidationException { + + public MissingSampleRowLogCommentException(SampleRow sampleRow) { + super(sampleRow); + } +} Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SampleMonthWithIllegalExpectedTidesValueException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SampleMonthWithIllegalExpectedTidesValueException.java (rev 0) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SampleMonthWithIllegalExpectedTidesValueException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -0,0 +1,18 @@ +package fr.ifremer.wao.services.service; + +import fr.ifremer.wao.entity.SampleMonth; +import fr.ifremer.wao.entity.SampleRow; + +public class SampleMonthWithIllegalExpectedTidesValueException extends SampleRowValidationException { + + protected SampleMonth sampleMonth; + + public SampleMonthWithIllegalExpectedTidesValueException(SampleRow sampleRow, SampleMonth sampleMonth) { + super(sampleRow); + this.sampleMonth = sampleMonth; + } + + public SampleMonth getSampleMonth() { + return sampleMonth; + } +} Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SampleRowValidationException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SampleRowValidationException.java (rev 0) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SampleRowValidationException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -0,0 +1,16 @@ +package fr.ifremer.wao.services.service; + +import fr.ifremer.wao.entity.SampleRow; + +public abstract class SampleRowValidationException extends WaoValidationException { + + protected SampleRow sampleRow; + + public SampleRowValidationException(SampleRow sampleRow) { + this.sampleRow = sampleRow; + } + + public SampleRow getSampleRow() { + return sampleRow; + } +} Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SamplingPlanService.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SamplingPlanService.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SamplingPlanService.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -11,6 +11,7 @@ import fr.ifremer.wao.ContactsFilter; import fr.ifremer.wao.SampleRowsFilter; import fr.ifremer.wao.WaoTechnicalException; +import fr.ifremer.wao.WaoUtils; import fr.ifremer.wao.entity.Boat; import fr.ifremer.wao.entity.Boats; import fr.ifremer.wao.entity.Company; @@ -44,6 +45,7 @@ import fr.ifremer.wao.services.service.administration.ReferentialService; import fr.ifremer.wao.services.service.administration.UnknownBoatImmatriculationsException; import fr.ifremer.wao.services.service.csv.ObsMerObsVenteSamplingPlanImportExportModel; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.StringUtils; @@ -340,18 +342,10 @@ } public void preValidate(AuthenticatedWaoUser authenticatedWaoUser, UpdateSampleRowCommand updateSampleRowCommand) - throws UnknownBoatImmatriculationsException, SampleRowCodeMustBeUniqueException { + throws UnknownBoatImmatriculationsException { SampleRow sampleRow = updateSampleRowCommand.getSampleRow(); - SampleRowTopiaDao dao = getSampleRowDao(); - List<SampleRow> existingSampleRowsForTheSameCode = dao.forCodeEquals(sampleRow.getCode()).findAll(); - if (existingSampleRowsForTheSameCode.size() > 1) { - throw new SampleRowCodeMustBeUniqueException(); - } else if (existingSampleRowsForTheSameCode.size() == 1 && !Iterables.getOnlyElement(existingSampleRowsForTheSameCode).equals(sampleRow)) { - throw new SampleRowCodeMustBeUniqueException(); - } - String elligibleBoatImmatriculations = updateSampleRowCommand.getElligibleBoatImmatriculations(); List<Boat> elligibleBoats = getReferentialService().getBoatsFromImmatriculations(elligibleBoatImmatriculations); @@ -620,4 +614,67 @@ } + public void validate(AuthenticatedWaoUser authenticatedWaoUser, UpdateSampleRowCommand updateSampleRowCommand) throws + WrongSampleRowCodeFormatException, + MissingSampleRowLogCommentException, + MissingProgramNameException, + MissingPeriodBeginException, + MissingPeriodEndException, + MissingFishingZonesException, + MissingProfessionSpeciesException, + SampleMonthWithIllegalExpectedTidesValueException, + MissingDcf5CodesException, + SampleRowCodeMustBeUniqueException { + + SampleRow sampleRow = updateSampleRowCommand.getSampleRow(); + + SampleRowTopiaDao dao = getSampleRowDao(); + List<SampleRow> existingSampleRowsForTheSameCode = dao.forCodeEquals(sampleRow.getCode()).findAll(); + if (existingSampleRowsForTheSameCode.size() > 1) { + throw new SampleRowCodeMustBeUniqueException(); + } else if (existingSampleRowsForTheSameCode.size() == 1 && !Iterables.getOnlyElement(existingSampleRowsForTheSameCode).equals(sampleRow)) { + throw new SampleRowCodeMustBeUniqueException(); + } + + if (updateSampleRowCommand.isCreation()) { + if ( ! WaoUtils.getSampleRowCodePattern(sampleRow.getObsProgram()).matcher(sampleRow.getCode()).matches()) { + throw new WrongSampleRowCodeFormatException(sampleRow); + } + } else { + if (StringUtils.isBlank(updateSampleRowCommand.getSampleRowLog().getComment())) { + throw new MissingSampleRowLogCommentException(sampleRow); + } + } + + if (StringUtils.isBlank(sampleRow.getProgramName())) { + throw new MissingProgramNameException(sampleRow); + } + + if (sampleRow.getPeriodBegin() == null) { + throw new MissingPeriodBeginException(sampleRow); + } + + if (sampleRow.getPeriodEnd() == null) { + throw new MissingPeriodEndException(sampleRow); + } + + if (CollectionUtils.isEmpty(sampleRow.getFishingZone())) { + throw new MissingFishingZonesException(sampleRow); + } + + if (sampleRow.getSamplingStrategy().isSpecificStock() && StringUtils.isEmpty(sampleRow.getProfession().getSpecies())) { + throw new MissingProfessionSpeciesException(sampleRow); + } + + for (SampleMonth sampleMonth : sampleRow.getSampleMonth()) { + if (sampleMonth.getExpectedTidesValue() < 0) { + throw new SampleMonthWithIllegalExpectedTidesValueException(sampleRow, sampleMonth); + } + } + + if (CollectionUtils.isEmpty(sampleRow.getdCF5Code())) { + throw new MissingDcf5CodesException(sampleRow); + } + + } } Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/UnwantedContactContactStateMotifException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/UnwantedContactContactStateMotifException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/UnwantedContactContactStateMotifException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -8,7 +8,7 @@ * @author Tony Chemit <chemit@codelutin.com> * @since 4.0 */ -public class UnwantedContactContactStateMotifException extends WaoContactValidationException { +public class UnwantedContactContactStateMotifException extends ContactValidationException { private static final long serialVersionUID = 1L; Deleted: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WaoContactValidationException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WaoContactValidationException.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WaoContactValidationException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -1,48 +0,0 @@ -package fr.ifremer.wao.services.service; - -/* - * #%L - * Wao :: Services - * %% - * Copyright (C) 2009 - 2014 Ifremer - * %% - * This program 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% - */ - -import fr.ifremer.wao.WaoException; -import fr.ifremer.wao.entity.Contact; - -/** - * Exception de base pour la validation d'une création - mise à jour ou import d'un contact. - * <p/> - * Created on 4/4/14. - * - * @author Tony Chemit <chemit@codelutin.com> - * @since 4.0 - */ -public class WaoContactValidationException extends WaoException { - - private static final long serialVersionUID = 1L; - - protected Contact contact; - - public WaoContactValidationException(Contact contact) { - this.contact = contact; - } - - public Contact getContact() { - return contact; - } -} Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WaoValidationException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WaoValidationException.java (rev 0) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WaoValidationException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -0,0 +1,21 @@ +package fr.ifremer.wao.services.service; + +import fr.ifremer.wao.WaoException; + +public abstract class WaoValidationException extends WaoException { + + public WaoValidationException() { + } + + public WaoValidationException(String message) { + super(message); + } + + public WaoValidationException(String message, Throwable cause) { + super(message, cause); + } + + public WaoValidationException(Throwable cause) { + super(cause); + } +} Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WrongSampleRowCodeFormatException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WrongSampleRowCodeFormatException.java (rev 0) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WrongSampleRowCodeFormatException.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -0,0 +1,10 @@ +package fr.ifremer.wao.services.service; + +import fr.ifremer.wao.entity.SampleRow; + +public class WrongSampleRowCodeFormatException extends SampleRowValidationException { + + public WrongSampleRowCodeFormatException(SampleRow sampleRow) { + super(sampleRow); + } +} Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/EditSampleRowAction.java =================================================================== --- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/EditSampleRowAction.java 2014-06-25 13:56:42 UTC (rev 2103) +++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/EditSampleRowAction.java 2014-06-25 14:50:28 UTC (rev 2104) @@ -25,17 +25,24 @@ import com.google.common.base.Optional; import com.google.common.base.Strings; import com.opensymphony.xwork2.Preparable; -import fr.ifremer.wao.WaoUtils; import fr.ifremer.wao.entity.SampleMonth; import fr.ifremer.wao.entity.SampleRow; +import fr.ifremer.wao.services.service.MissingDcf5CodesException; +import fr.ifremer.wao.services.service.MissingFishingZonesException; +import fr.ifremer.wao.services.service.MissingPeriodBeginException; +import fr.ifremer.wao.services.service.MissingPeriodEndException; +import fr.ifremer.wao.services.service.MissingProfessionSpeciesException; +import fr.ifremer.wao.services.service.MissingProgramNameException; +import fr.ifremer.wao.services.service.MissingSampleRowLogCommentException; import fr.ifremer.wao.services.service.ObsMerSamplingPlanService; +import fr.ifremer.wao.services.service.SampleMonthWithIllegalExpectedTidesValueException; import fr.ifremer.wao.services.service.SampleRowCodeMustBeUniqueException; import fr.ifremer.wao.services.service.SamplingPlanService; import fr.ifremer.wao.services.service.UpdateSampleRowCommand; +import fr.ifremer.wao.services.service.WrongSampleRowCodeFormatException; import fr.ifremer.wao.services.service.administration.UnknownBoatImmatriculationsException; import fr.ifremer.wao.web.WaoJspActionSupport; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.struts2.convention.annotation.Result; @@ -86,6 +93,8 @@ service.preValidate(getAuthenticatedWaoUser(), updateSampleRowCommand); + service.validate(getAuthenticatedWaoUser(), updateSampleRowCommand); + if (CollectionUtils.isEmpty(sampleRow.getdCF5Code())) { addFieldError("updateSampleRowCommand.dcf5Codes", t("wao.ui.form.SampleRow.error.missingDcf5Codes")); } @@ -94,45 +103,27 @@ addFieldError("updateSampleRowCommand.elligibleBoatImmatriculations", t("wao.ui.unknownBoatImmatriculations", Joiner.on(", ").join(e.getImmatriculations()))); } catch (SampleRowCodeMustBeUniqueException e) { addFieldError("updateSampleRowCommand.code", t("wao.ui.form.SampleRow.error.codeMustBeUnique")); - } - - if (updateSampleRowCommand.isCreation()) { - if ( ! WaoUtils.getSampleRowCodePattern(sampleRow.getObsProgram()).matcher(sampleRow.getCode()).matches()) { - addFieldError("updateSampleRowCommand.code", t("wao.import.sampleRow.failure.wrongSampleRowCodeFormat", sampleRow.getCode())); - } - } else { - if (StringUtils.isBlank(updateSampleRowCommand.getSampleRowLog().getComment())) { - addFieldError("updateSampleRowCommand.sampleRowLog.comment", t("wao.ui.form.SampleRow.error.missingLogComment")); - } - } - - if (StringUtils.isBlank(sampleRow.getProgramName())) { - addFieldError("updateSampleRowCommand.sampleRow.programName", t("wao.ui.form.SampleRow.error.missingProgramName")); - } - - if (sampleRow.getPeriodBegin() == null) { - addFieldError("updateSampleRowCommand.sampleRow.periodBegin", t("wao.ui.form.SampleRow.error.missingPeriodBegin")); - } - - if (sampleRow.getPeriodEnd() == null) { + } catch (MissingPeriodEndException e) { addFieldError("updateSampleRowCommand.sampleRow.periodEnd", t("wao.ui.form.SampleRow.error.missingPeriodEnd")); - } - - if (CollectionUtils.isEmpty(sampleRow.getFishingZone())) { + } catch (MissingPeriodBeginException e) { + addFieldError("updateSampleRowCommand.sampleRow.periodBegin", t("wao.ui.form.SampleRow.error.missingPeriodBegin")); + } catch (MissingFishingZonesException e) { addFieldError("updateSampleRowCommand.fishingZones", t("wao.ui.form.SampleRow.error.missingFishingZones")); - } - - if (sampleRow.getSamplingStrategy().isSpecificStock() && StringUtils.isEmpty(sampleRow.getProfession().getSpecies())) { + } catch (WrongSampleRowCodeFormatException e) { + addFieldError("updateSampleRowCommand.code", t("wao.import.sampleRow.failure.wrongSampleRowCodeFormat", sampleRow.getCode())); + } catch (MissingSampleRowLogCommentException e) { + addFieldError("updateSampleRowCommand.sampleRowLog.comment", t("wao.ui.form.SampleRow.error.missingLogComment")); + } catch (MissingProfessionSpeciesException e) { addFieldError("updateSampleRowCommand.sampleRow.samplingStrategy", t("wao.ui.form.SampleRow.error.missingProfessionSpecies")); + } catch (SampleMonthWithIllegalExpectedTidesValueException e) { + SampleMonth sampleMonth = e.getSampleMonth(); + addActionError(t("wao.ui.form.SampleRow.error.sampleMonthWithIllegalExpectedTidesValue", formatMonth(sampleMonth.getPeriodDate()))); + } catch (MissingProgramNameException e) { + addFieldError("updateSampleRowCommand.sampleRow.programName", t("wao.ui.form.SampleRow.error.missingProgramName")); + } catch (MissingDcf5CodesException e) { + addFieldError("updateSampleRowCommand.dcf5Codes", t("wao.ui.form.SampleRow.error.missingDcf5Codes")); } - for (SampleMonth sampleMonth : sampleRow.getSampleMonth()) { - if (sampleMonth.getExpectedTidesValue() < 0) { - addActionError(t("wao.ui.form.SampleRow.error.sampleMonthWithIllegalExpectedTidesValue", - formatMonth(sampleMonth.getPeriodDate()))); - } - } - } @Override