r1964 - in trunk: wao-persistence/src/main/java/fr/ifremer/wao/entity wao-services/src/main/java/fr/ifremer/wao/services/service
Author: bleny Date: 2014-05-19 14:56:03 +0200 (Mon, 19 May 2014) New Revision: 1964 Url: http://forge.codelutin.com/projects/wao/repository/revisions/1964 Log: refs #4487 move datareliability validation rule Modified: trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/DataReliability.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerContactsService.java Modified: trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/DataReliability.java =================================================================== --- trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/DataReliability.java 2014-05-19 12:53:26 UTC (rev 1963) +++ trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/DataReliability.java 2014-05-19 12:56:03 UTC (rev 1964) @@ -20,6 +20,8 @@ */ package fr.ifremer.wao.entity; +import com.google.common.collect.ImmutableSet; + import static org.nuiton.i18n.I18n.n; /** @@ -51,6 +53,9 @@ /** Information has not been provided */ NOT_PROVIDED(n("DataReliability.NOT_PROVIDED")); + protected static final ImmutableSet<DataReliability> DATA_RELIABILITIES_THAT_REQUIRE_COMMENT = + ImmutableSet.of(DOUBTFUL, NOT_RELIABLE, CORRECTION_ASKED, NOT_PROVIDED); + /** An i18n key to make enumeration printable in logs and UI. */ protected String i18nKey; @@ -67,6 +72,9 @@ return null; } + public boolean isCommentRequired() { + return DATA_RELIABILITIES_THAT_REQUIRE_COMMENT.contains(this); + } @Override public String getI18nKey() { Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerContactsService.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerContactsService.java 2014-05-19 12:53:26 UTC (rev 1963) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerContactsService.java 2014-05-19 12:56:03 UTC (rev 1964) @@ -644,6 +644,12 @@ } } + DataReliability dataReliability = contact.getDataReliability(); + + if (dataReliability != null && dataReliability.isCommentRequired() && StringUtils.isBlank(contact.getCommentAdmin())) { + throw new MissingContactCommentAdminException(contact); + } + if (BooleanUtils.isTrue(contact.getValidationProgram())) { //--- @@ -652,13 +658,8 @@ // it's an admin validation, data-reliability field must be filled - DataReliability dataReliability = contact.getDataReliability(); - if (dataReliability == null || DataReliability.UNKNOWN == dataReliability) { throw new MissingContactDataReliabilityException(contact); - } else if (DataReliability.RELIABLE != dataReliability - && StringUtils.isEmpty(contact.getCommentAdmin())) { - throw new MissingContactCommentAdminException(contact); } } }
participants (1)
-
bleny@users.forge.codelutin.com