Wao-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
April 2014
- 5 participants
- 162 discussions
r1871 - in trunk: wao-persistence/src/main/resources/i18n wao-services/src/main/java/fr/ifremer/wao/services wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer wao-web/src/main/resources/i18n wao-web/src/main/webapp/WEB-INF/content/obsmer
by tchemit@users.forge.codelutin.com 09 Apr '14
by tchemit@users.forge.codelutin.com 09 Apr '14
09 Apr '14
Author: tchemit
Date: 2014-04-09 11:38:33 +0200 (Wed, 09 Apr 2014)
New Revision: 1871
Url: http://forge.codelutin.com/projects/wao/repository/revisions/1871
Log:
refs #4487 edit contact (security)
Modified:
trunk/wao-persistence/src/main/resources/i18n/wao-persistence_en_GB.properties
trunk/wao-services/src/main/java/fr/ifremer/wao/services/AuthenticatedWaoUser.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/EditContactAction.java
trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties
trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties
trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/contacts.jsp
trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/edit-contact-input.jsp
Modified: trunk/wao-persistence/src/main/resources/i18n/wao-persistence_en_GB.properties
===================================================================
--- trunk/wao-persistence/src/main/resources/i18n/wao-persistence_en_GB.properties 2014-04-09 06:59:21 UTC (rev 1870)
+++ trunk/wao-persistence/src/main/resources/i18n/wao-persistence_en_GB.properties 2014-04-09 09:38:33 UTC (rev 1871)
@@ -138,8 +138,8 @@
fr.ifremer.wao.entity.TerrestrialDivision=Terrestrial divisions
fr.ifremer.wao.entity.TerrestrialLocation=Terrestrial locations
wao.business.other=
-wao.date.formatter=%1$td-%1$tm/%1$tY
-wao.datetime.formatter=%1$td-%1$tm/%1$tY %1$tH\:%1$tM
+wao.date.formatter=%1$td-%1$tm-%1$tY
+wao.datetime.formatter=%1$td-%1$tm-%1$tY %1$tH\:%1$tM
wao.month.formatter=%1$tm-%1$tY
wao.month.pattern=MM-yyyy
wao.time.formatter=%1$tH\:%1$tM
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/AuthenticatedWaoUser.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/AuthenticatedWaoUser.java 2014-04-09 06:59:21 UTC (rev 1870)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/AuthenticatedWaoUser.java 2014-04-09 09:38:33 UTC (rev 1871)
@@ -215,6 +215,10 @@
return authorizedToViewBoatDetails;
}
+ public boolean isAuthorizedToEditOrDeleteContact(Contact contact) {
+ return isAuthorizedToEditContact(contact) || isAuthorizedToDeleteContact(contact);
+ }
+
public boolean isAuthorizedToEditContact(Contact contact) {
boolean canEdit = getCanWrite() &&
@@ -281,5 +285,33 @@
}
}
+ public boolean isAuthorizedToDisplayContactSecondaryObservers(Contact contact) {
+ boolean showSecondaryObservers = true;
+ if (contact.getSampleRow().isPhoneCall()) {
+ // when phoning, we are always single
+ showSecondaryObservers = false;
+ }
+ return showSecondaryObservers;
+ }
+ public boolean isAuthorizedToDisplayContactDataReliability() {
+ return isAdmin() || isCoordinator();
+ }
+
+ public boolean isAuthorizedToEditContactDataReliability(Contact contact) {
+ boolean result = isAdmin() // coordinator can see the value
+ && BooleanUtils.isTrue(contact.getValidationCompany())
+ && contact.getValidationProgram() == null;
+ return result;
+ }
+
+ public boolean isAuthorizedToEditContactObservers(Contact contact) {
+ return isCoordinatorOrObserver() &&
+ contact.getValidationProgram() == null;
+ }
+
+ public boolean isAuthorizedToEditObservationReport(Contact contact) {
+ return isCoordinatorOrObserver() &&
+ contact.getValidationCompany() == null;
+ }
}
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/EditContactAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/EditContactAction.java 2014-04-09 06:59:21 UTC (rev 1870)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/EditContactAction.java 2014-04-09 09:38:33 UTC (rev 1871)
@@ -25,7 +25,6 @@
import com.google.common.base.Strings;
import com.opensymphony.xwork2.Preparable;
import fr.ifremer.wao.WaoUtils;
-import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.ContactState;
import fr.ifremer.wao.entity.ContactStateMotif;
import fr.ifremer.wao.entity.DataReliability;
@@ -59,7 +58,6 @@
import fr.ifremer.wao.services.service.administration.ReferentialService;
import fr.ifremer.wao.services.service.administration.WaoUsersService;
import fr.ifremer.wao.web.WaoJspActionSupport;
-import org.apache.commons.lang3.BooleanUtils;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
@@ -289,37 +287,6 @@
}
}
- public boolean isDisplaySecondaryObservers() {
- boolean showSecondaryObservers = true;
- if (updateContactCommand.getContact().getSampleRow().isPhoneCall()) {
- // when phoning, we are always single
- showSecondaryObservers = false;
- }
- return showSecondaryObservers;
- }
-
- public boolean isDisplayDataReliability() {
- return getAuthenticatedWaoUser().isAdmin() || getAuthenticatedWaoUser().isCoordinator();
- }
-
- public boolean canEditDataReliability() {
- Contact contact = updateContactCommand.getContact();
- boolean result = getAuthenticatedWaoUser().isAdmin() // coordinator can see the value
- && BooleanUtils.isTrue(contact.getValidationCompany())
- && contact.getValidationProgram() == null;
- return result;
- }
-
- public boolean canEditObservers() {
- return getAuthenticatedWaoUser().isCoordinatorOrObserver() &&
- updateContactCommand.getContact().getValidationProgram() == null;
- }
-
- public boolean canEditObservationReport() {
- return getAuthenticatedWaoUser().isCoordinatorOrObserver() &&
- updateContactCommand.getContact().getValidationCompany() == null;
- }
-
@Override
public String execute() throws Exception {
Modified: trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties
===================================================================
--- trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties 2014-04-09 06:59:21 UTC (rev 1870)
+++ trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties 2014-04-09 09:38:33 UTC (rev 1871)
@@ -116,7 +116,7 @@
wao.ui.chart.numberOfBoatsWithBoardings=Number of boats with x observations
wao.ui.chooseUserProfile=Choose your user profile
wao.ui.contact.creation=Creation of a contact
-wao.ui.contact.edition=Edtion of contact %s
+wao.ui.contact.edition=Edtion of contact
wao.ui.contact.lastContact=Last observation with this boat for your company
wao.ui.contacts.FishingZone.facadeName=Fishing zone Facade
wao.ui.contacts.FishingZone.sectorName=Fishing zone Sector
Modified: trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties
===================================================================
--- trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties 2014-04-09 06:59:21 UTC (rev 1870)
+++ trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties 2014-04-09 09:38:33 UTC (rev 1871)
@@ -116,7 +116,7 @@
wao.ui.chart.numberOfBoatsWithBoardings=Nombre de navires avec x embarquements
wao.ui.chooseUserProfile=Choisissez votre rôle
wao.ui.contact.creation=Création d'u contact
-wao.ui.contact.edition=Modification du contact %s
+wao.ui.contact.edition=Modification du contact
wao.ui.contact.lastContact=Dernière observation concernant ce navire pour votre société (tous programmes confondus)
wao.ui.contacts.FishingZone.facadeName=Façade
wao.ui.contacts.FishingZone.sectorName=Zone
Modified: trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/contacts.jsp
===================================================================
--- trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/contacts.jsp 2014-04-09 06:59:21 UTC (rev 1870)
+++ trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/contacts.jsp 2014-04-09 09:38:33 UTC (rev 1871)
@@ -524,7 +524,7 @@
<b class="caret"></b>
</a>
<ul class="dropdown-menu">
- <s:if test="authenticatedWaoUser.isAuthorizedToEditContact(#contact) || authenticatedWaoUser.isAuthorizedToDeleteContact(#contact)">
+ <s:if test="authenticatedWaoUser.isAuthorizedToEditOrDeleteContact(#contact)">
<li>
<s:if test="authenticatedWaoUser.admin">
<s:set name="focusAnchor">adminFocus</s:set>
Modified: trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/edit-contact-input.jsp
===================================================================
--- trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/edit-contact-input.jsp 2014-04-09 06:59:21 UTC (rev 1870)
+++ trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/edit-contact-input.jsp 2014-04-09 09:38:33 UTC (rev 1871)
@@ -25,12 +25,10 @@
<head>
<title>
<s:if test="updateContactCommand.creation">
- <s:text name="wao.ui.sampleRow.creation"/>
+ <s:text name="wao.ui.contact.creation"/>
</s:if>
<s:else>
- <s:text name="wao.ui.contact.edition">
- <s:param value="updateContactCommand.contact.mainObserver.fullName"/>
- </s:text>
+ <s:text name="wao.ui.contact.edition"/>
</s:else>
</title>
<script>
@@ -42,15 +40,12 @@
</script>
</head>
-
<h1>
<s:if test="updateContactCommand.creation">
<s:text name="wao.ui.contact.creation"/>
</s:if>
<s:else>
- <s:text name="wao.ui.contact.edition">
- <s:param value="updateContactCommand.contact.mainObserver.fullName"/>
- </s:text>
+ <s:text name="wao.ui.contact.edition"/>
</s:else>
</h1>
@@ -60,7 +55,7 @@
<fieldset>
- <legend><s:text name="wao.ui.form.contact.boat.information"/></legend>
+ <legend><s:text name="wao.ui.misc.information"/></legend>
<s:textfield name="updateContactCommand.contact.boat.name"
label="%{getText('wao.ui.field.Boat.name')}"
@@ -79,12 +74,9 @@
value="%{'' + updateContactCommand.contact.boat.buildYear}"
label="%{getText('wao.ui.field.Boat.buildYear')}"
readonly="true"/>
- </fieldset>
- <fieldset>
+ <hr/>
- <legend><s:text name="wao.ui.form.contact.sampleRow.information"/></legend>
-
<s:textfield name="updateContactCommand.contact.sampleRow.professionDescription"
label="%{getText('wao.ui.field.SampleRow.profession')}"
readonly="true"/>
@@ -94,22 +86,23 @@
<s:textfield name="updateContactCommand.contact.sampleRow.periodBegin"
label="%{getText('wao.ui.field.SampleRow.periodBegin')}"
value="%{formatMonth(updateContactCommand.contact.sampleRow.periodBegin)}"
- readonly="true"
- cssClass="input-small"/>
+ cssClass="input-small"
+ readonly="true"/>
<s:textfield name="updateContactCommand.contact.sampleRow.periodEnd"
label="%{getText('wao.ui.field.SampleRow.periodEnd')}"
value="%{formatMonth(updateContactCommand.contact.sampleRow.periodEnd)}"
- readonly="true"
- cssClass="input-small"/>
- </fieldset>
+ cssClass="input-small"
+ readonly="true"/>
- <s:textfield name="updateContactCommand.contact.creationDate"
- label="%{getText('wao.ui.field.Contact.creationDate')}"
- value="%{formatDateTime(updateContactCommand.contact.sampleRow.periodEnd)}"
- readonly="true"/>
+ <hr/>
+ <s:textfield name="updateContactCommand.contact.creationDate"
+ label="%{getText('wao.ui.field.Contact.creationDate')}"
+ value="%{formatDate(updateContactCommand.contact.creationDate)}"
+ readonly="true"/>
+ </fieldset>
- <%--TODO Editable if canEditObservers()--%>
+ <%--TODO Editable (cssClass edit-observers) if authenticatedWaoUser.isAuthorizedToEditContactObservers(updateContactCommand.contact)--%>
<fieldset>
<legend><s:text name="wao.ui.misc.observers"/></legend>
@@ -117,49 +110,56 @@
value="%{updateContactCommand.contact.mainObserver.topiaId}"
label="%{getText('wao.ui.field.Contact.mainObserver')}"
list="observers"
- emptyOption="true"/>
+ emptyOption="true"
+ cssClass="edit-observers"/>
- <s:if test="displaySecondaryObservers">
+ <s:if test="authenticatedWaoUser.isAuthorizedToDisplayContactSecondaryObservers(updateContactCommand.contact)">
<s:select name="updateContactCommand.contact.secondaryObservers"
value="%{updateContactCommand.contact.secondaryObserversTopiaIds}"
label="%{getText('wao.ui.field.Contact.secondaryObservers')}"
list="observers"
- multiple="true"/>
+ multiple="true"
+ cssClass="edit-observers"/>
</s:if>
</fieldset>
- <%--TODO Editable if canEditObservationReport()--%>
+ <%--TODO Editable (cssClass edit-observationReport) if authenticatedWaoUser.authorizedToEditObservationReport(updateContactCommand.contactcontact)--%>
<fieldset id="coordinatorFocus">
<legend><s:text name="wao.ui.misc.observationReport"/></legend>
<s:textfield name="updateContactCommand.contact.observationBeginDate"
label="%{getText('wao.ui.field.Contact.beginDate')}"
value="%{formatDateTime(updateContactCommand.contact.observationBeginDate)}"
- placeholder="%{getDateTimePlaceholder()}"/>
+ placeholder="%{getDateTimePlaceholder()}"
+ cssClass="edit-observationReport"/>
<s:textfield name="updateContactCommand.contact.observationEndDate"
label="%{getText('wao.ui.field.Contact.endDate')}"
value="%{formatDateTime(updateContactCommand.contact.observationEndDate)}"
- placeholder="%{getDateTimePlaceholder()}"/>
+ placeholder="%{getDateTimePlaceholder()}"
+ cssClass="observationReport"/>
<s:select name="updateContactCommand.contact.contactState"
label="%{getText('wao.ui.field.Contact.contactState')}"
requiredLabel="true"
list="contactStates"
- emptyOption="true"/>
+ cssClass="edit-observationReport"/>
<s:select name="updateContactCommand.contact.contactStateMotif"
value="%{updateContactCommand.contact.contactState.topiaId}"
label="%{getText('wao.ui.field.Contact.contactStateMotif')}"
list="contactStateMotives"
- emptyOption="true"/>
+ emptyOption="true"
+ cssClass="edit-observationReport"/>
<s:checkbox name="updateContactCommand.contact.mammalsObservation"
- label="%{getText('wao.ui.field.Contact.mammalsObservation')}"/>
+ label="%{getText('wao.ui.field.Contact.mammalsObservation')}"
+ cssClass="edit-observationReport"/>
<s:checkbox name="updateContactCommand.contact.mammalsCapture"
- label="%{getText('wao.ui.field.Contact.mammalsCapture')}"/>
+ label="%{getText('wao.ui.field.Contact.mammalsCapture')}"
+ cssClass="edit-observationReport"/>
<%--TODO onclick="updateMammalsInfoBox(this);" />--%>
<%--<span style="color: red;">--%>
@@ -167,48 +167,54 @@
<%--</span>--%>
<s:textarea name="updateContactCommand.contact.mammalsInfo"
- label="%{getText('wao.ui.field.Contact.mammalsInfo')}"/>
+ label="%{getText('wao.ui.field.Contact.mammalsInfo')}"
+ cssClass="edit-observationReport"/>
<s:textfield name="updateContactCommand.contact.dataInputDate"
label="%{getText('wao.ui.field.Contact.dataInputDate')}"
value="%{formatDate(updateContactCommand.contact.dataInputDate)}"
- placeholder="%{getDatePlaceholder()}"/>
+ placeholder="%{getDatePlaceholder()}"
+ cssClass="edit-observationReport"/>
<%--TODO Editable for authenticatedWaoUser.coordinator--%>
<s:select name="updateContactCommand.contact.observedDataControl"
label="%{getText('wao.ui.field.Contact.observedDataControl')}"
list="observedDataControls"
- emptyOption="true"/>
+ emptyOption="true"
+ cssClass="edit-observationReport"/>
<s:textfield name="updateContactCommand.contact.restitution"
label="%{getText('wao.ui.field.Contact.restitution')}"
value="%{formatDate(updateContactCommand.contact.restitution)}"
- placeholder="%{getDatePlaceholder()}"/>
+ placeholder="%{getDatePlaceholder()}"
+ cssClass="edit-observationReport"/>
- <%--TODO Editable for authenticatedWaoUser.coordinatorOrObserver--%>
<s:textarea name="updateContactCommand.contact.comment"
- label="%{getText('wao.ui.field.Contact.comment')}"/>
+ label="%{getText('wao.ui.field.Contact.comment')}"
+ readonly="%{!authenticatedWaoUser.coordinatorOrObserver}"
+ cssClass="edit-observationReport"/>
- <%--TODO Editable for authenticatedWaoUser.coordinator--%>
<s:textarea name="updateContactCommand.contact.commentCoordinator"
- label="%{getText('wao.ui.field.Contact.commentCoordinator')}"/>
+ label="%{getText('wao.ui.field.Contact.commentCoordinator')}"
+ readonly="%{!authenticatedWaoUser.coordinator}"
+ cssClass="edit-observationReport"/>
</fieldset>
<fieldset name="adminFocus">
<legend><s:text name="wao.ui.form.programEvaluation"/></legend>
- <%--TODO Editable for canEditDataReliability()--%>
- <s:if test="displayDataReliability">
+ <s:if test="authenticatedWaoUser.authorizedToDisplayContactDataReliability">
+ <%--TODO Editable for authenticatedWaoUser.isAuthorizedToEditContactDataReliability(updateContactCommand.contact)--%>
<s:select name="updateContactCommand.contact.dataReliability"
label="%{getText('wao.ui.field.Contact.dataReliability')}"
list="dataReliabilities"
emptyOption="true"/>
</s:if>
- <%--TODO Editable for authenticatedWaoUser.admin--%>
<s:textarea name="updateContactCommand.contact.commentAdmin"
- label="%{getText('wao.ui.field.Contact.commentAdmin')}"/>
+ label="%{getText('wao.ui.field.Contact.commentAdmin')}"
+ readonly="%{!authenticatedWaoUser.admin}"/>
</fieldset>
<div class="form-actions">
1
0
09 Apr '14
See <http://ci.codelutin.com/jenkins/job/wao-nightly/28/changes>
Changes:
[Tony CHEMIT] refs #4487 recompute sample rows tides when contact is modified or created
[Tony CHEMIT] refs #4487 fix some exception names and api
[Tony CHEMIT] refs #4487 remove bad link
[Tony CHEMIT] refs #4487 validation of a contact + improve import i18n message in exception
[Tony CHEMIT] add method to translate I18nAble
[Tony CHEMIT] fix serializable on exceptions
[Tony CHEMIT] use new topia api
[bleny] refs #4490 fix query generation for boats registration code filter
[bleny] refs #4490 add boat infos form
[Tony CHEMIT] refs #4487 fix filterValues for observedDataControl
[Tony CHEMIT] refs #4487 fix filterValues for completeSampling + contactStateMotif
[bleny] refs #4483 add link to contacts for each sample row in sampling-plan
[bleny] review filters (obsProgram) criteria, introduce isFilled and abstract classes for Filter and FilterValues
[bleny] in layout deal with active menu items
------------------------------------------
[...truncated 472 lines...]
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/ta…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/ta…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/ta…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/ta…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/ta…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/ta…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/ta…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/ta…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/ta…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/ta…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/ta…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/ta…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/sr…>
[INFO] Scan 243 files header done in 241.371ms.
[INFO]
* uptodate header on 69 files.
* add header on 174 files.
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ wao-persistence ---
[INFO] Compiling 209 source files to <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/ta…>
[WARNING] <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/sr…>:[43,82] formatMonth(java.util.Date) in fr.ifremer.wao.WaoUtils has been deprecated
[WARNING] <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/sr…>:[43,47] formatMonth(java.util.Date) in fr.ifremer.wao.WaoUtils has been deprecated
[WARNING] <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/sr…>:[49,90] formatMonth(java.util.Date) in fr.ifremer.wao.WaoUtils has been deprecated
[WARNING] <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/sr…>:[397,48] formatDate(java.util.Date) in fr.ifremer.wao.WaoUtils has been deprecated
[WARNING] <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/sr…>:[400,70] formatDate(java.util.Date) in fr.ifremer.wao.WaoUtils has been deprecated
[WARNING] <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/sr…>:[401,70] formatDate(java.util.Date) in fr.ifremer.wao.WaoUtils has been deprecated
[WARNING] <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/ta…>: Some input files use unchecked or unsafe operations.
[WARNING] <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/ta…>: Recompile with -Xlint:unchecked for details.
[INFO]
[INFO] --- animal-sniffer-maven-plugin:1.10:check (default) @ wao-persistence ---
[INFO] Checking unresolved references to org.codehaus.mojo.signature:java17:1.0
[INFO]
[INFO] --- jredmine-maven-plugin:1.6:generate-changes (jredmine-generate-changes) @ wao-persistence ---
[INFO] Skipping goal (skipGenerateChanges flag is on).
[INFO]
[INFO] --- maven-antrun-plugin:1.7:run (generate-surefire-workdir) @ wao-persistence ---
[INFO] Executing tasks
main:
[mkdir] Created dir: <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/ta…>
[INFO] Executed tasks
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ wao-persistence ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ wao-persistence ---
[INFO] Compiling 1 source file to <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/ta…>
[INFO]
[INFO] --- maven-surefire-plugin:2.17:test (default-test) @ wao-persistence ---
[INFO] Surefire report directory: <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/ta…>
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running fr.ifremer.wao.entity.SampleRowLogImplTest
2014/04/08 12:08:25 DEBUG (SampleRowLogImplTest.java:78) testNewSampleRowLog Le nombre d'observateurs est de 0
Le durée moyenne d'une marée est de 0.0
La ligne est sur la période du 03/2011 au 06/2011
Le métier de la ligne est
2014/04/08 12:08:26 DEBUG (SampleRowLogImplTest.java:94) testCompareSampleRowToItself
2014/04/08 12:08:26 DEBUG (SampleRowLogImplTest.java:118) testModifySampleRow La durée moyenne d'une marée est passé de 0.0 jours à 1.0
La ligne est désormais associée au programme programName
La date de fin est passée de 06/2011 à 07/2011
Les zones de pêches suivantes ont été ajoutées : null - null - IV
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.138 sec - in fr.ifremer.wao.entity.SampleRowLogImplTest
Results :
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0
[JENKINS] Recording test results
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ wao-persistence ---
[INFO] Building jar: <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/ta…>
[INFO]
[INFO] >>> maven-source-plugin:2.2.1:jar (attach-sources) @ wao-persistence >>>
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (ensure-no-container-api) @ wao-persistence ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (check-project-files) @ wao-persistence ---
[INFO]
[INFO] --- helper-maven-plugin:2.1:share-server-secret (get-redmine-login) @ wao-persistence ---
[INFO] Skipping goal (runOnce flag is on and goal was already executed).
[INFO]
[INFO] --- eugene-maven-plugin:2.7.3:generate (generate-entities) @ wao-persistence ---
[INFO] Process phase [zargo] for one entry.
[INFO] Expanding 1 xmi file(s) from <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/sr…>
[INFO] Copy file <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/sr…> to <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/ta…>
[INFO] No file generated.
[INFO] Process phase [xmi] for one entry.
[INFO] Processing XSL tranformation on <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/ta…> for 1 file(s).
[INFO] No file generated.
[INFO] Process phase [model] for one entry.
WARN [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:126) beforeReadFile - No properties provider filled, will instanciate a new default one
WARN [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:577) getObjectElements - Invalid tagvalue [fr.ifremer.wao.entity.Boat.attribute.boatDistrict.tagValue.lazy] : Element 'boatDistrict' of type 'attribute' on classifier 'fr.ifremer.wao.entity.Boat' is null.
WARN [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:577) getObjectElements - Invalid tagvalue [fr.ifremer.wao.entity.WaoUser.attribute.SampleRow.tagValue.inverse] : Element 'SampleRow' of type 'attribute' on classifier 'fr.ifremer.wao.entity.WaoUser' is null.
WARN [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:459) loadTagValue - Invalid tag value [fr.ifremer.wao.entity.WaoUser.attribute.allegroWallet.tagValue.unique] : this tagvalue 'unique' is unkown.
WARN [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:294) loadModelTagValue - Invalid model tag value [model.tagValue.copyright] : the tagvalue 'copyright' is unkown.
WARN [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:294) loadModelTagValue - Invalid model tag value [model.tagValue.exceptionClass] : the tagvalue 'exceptionClass' is unkown.
WARN [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:294) loadModelTagValue - Invalid model tag value [model.tagValue.java.lang.String] : the tagvalue 'java.lang.String' is unkown.
WARN [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:303) loadModelTagValue - Invalid model tag value [model.tagValue.useEnumerationName] : this tagvalue 'useEnumerationName' can not be apply on the model.
INFO [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:270) loadModelProperties - 32 tag values were succesfull imported from <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/ta…>
[INFO] No file generated.
[INFO] Apply generator TopiaMetaTransformer
WARN [pool-1-thread-1 for channel] (TopiaMetaTransformer.java:110) validateModel - [VALIDATION] [getUserProfile([fr.ifremer.wao.entity.ObsProgram obsProgram<<[]>> tagvalue: {}])<<[]>> throws [] tagvalue: {}] Operation name getUserProfile is already reserved for a getter/setter of an entity attribute
WARN [pool-1-thread-1 for channel] (TopiaMetaTransformer.java:110) validateModel - [VALIDATION] [setDCF5Code([java.lang.String codes<<[]>> tagvalue: {}, java.lang.String separatorRegex<<[]>> tagvalue: {}])<<[]>> throws [] tagvalue: {}] Operation name setDCF5Code is already reserved for a getter/setter of an entity attribute
WARN [pool-1-thread-1 for channel] (TopiaMetaTransformer.java:110) validateModel - [VALIDATION] [getSampleMonth([java.util.Date date<<[]>> tagvalue: {}])<<[]>> throws [] tagvalue: {}] Operation name getSampleMonth is already reserved for a getter/setter of an entity attribute
WARN [pool-1-thread-1 for channel] (TopiaMetaTransformer.java:110) validateModel - [VALIDATION] [setLogText([fr.ifremer.wao.entity.SampleRow oldSampleRow<<[]>> tagvalue: {}, fr.ifremer.wao.entity.SampleRow newSampleRow<<[]>> tagvalue: {}])<<[]>> throws [] tagvalue: {}] Operation name setLogText is already reserved for a getter/setter of an entity attribute
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.WaoUserImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.FishingGearDCFImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.TerrestrialDivisionImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.DCF5CodeImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.SampleRowImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.BoatImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.ContactImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.IndicatorImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.ContactStateMotifImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.TerrestrialLocationImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.BoatGroupImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.CompanyImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.IndicatorLevelImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.FishingZoneImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.SampleMonthImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.FleetImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.UserProfileImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.TargetSpeciesDCFImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.ObsDebCodeImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.SampleRowLogImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.NewsImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.WaoUserTopiaDao], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.TerrestrialDivisionTopiaDao], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.SampleRowTopiaDao], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.BoatTopiaDao], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.ContactTopiaDao], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.TerrestrialLocationTopiaDao], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.ElligibleBoatTopiaDao], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.SampleMonthTopiaDao], already found in class-path.
[WARNING] Failed to getClass for org.apache.maven.plugin.source.SourceJarMojo
[INFO]
[INFO] <<< maven-source-plugin:2.2.1:jar (attach-sources) @ wao-persistence <<<
[INFO]
[INFO] --- maven-source-plugin:2.2.1:jar (attach-sources) @ wao-persistence ---
[INFO] Building jar: <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/ta…>
[INFO]
[INFO] --- maven-javadoc-plugin:2.9.1:jar (attach-javadocs) @ wao-persistence ---
[INFO] Building jar: <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/wao-persistence/ta…>
[INFO]
[INFO] --- maven-site-plugin:3.3:attach-descriptor (attach-descriptor) @ wao-persistence ---
[INFO]
[INFO] --- helper-maven-plugin:2.1:share-server-secret (get-pgp-passphrase) @ wao-persistence ---
[INFO] Exporting server [gpg-signer] username in ${gpg.keyname}
[INFO] Exporting server [gpg-signer] password in ${gpg.passphrase}
[INFO]
[INFO] --- helper-maven-plugin:2.1:collect-files (collect-build-artifacts) @ wao-persistence ---
[INFO] Loaded <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/target/collect-art…>
[INFO] Copying wao-persistence-4.0-SNAPSHOT.jar to <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/target/collect/fr.…>
[INFO] Copying THIRD-PARTY.properties to <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/target/collect/fr.…>
[INFO] Copying wao-persistence-4.0-SNAPSHOT-sources.jar to <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/target/collect/fr.…>
[INFO] Copying wao-persistence-4.0-SNAPSHOT-javadoc.jar to <http://ci.codelutin.com/jenkins/job/wao-nightly/ws/trunk/target/collect/fr.…>
[INFO]
[INFO] --- helper-maven-plugin:2.1:collect-files (collect-build-attachements) @ wao-persistence ---
[WARNING] Skipping goal (No file to collect).
[INFO]
[INFO] --- maven-gpg-plugin:1.5:sign (sign-artifacts) @ wao-persistence ---
[INFO]
[INFO] --- maven-dependency-plugin:2.8:analyze-only (analyze) @ wao-persistence ---
[INFO] Used declared dependencies found:
[INFO] org.nuiton.topia:topia-persistence:jar:3.0-SNAPSHOT:compile
[INFO] org.hibernate:hibernate-core:jar:4.3.5.Final:compile
[INFO] org.nuiton:nuiton-utils:jar:3.0-SNAPSHOT:compile
[INFO] org.nuiton:nuiton-config:jar:3.0-alpha-2:compile
[INFO] org.nuiton.i18n:nuiton-i18n:jar:3.0:compile
[INFO] org.apache.commons:commons-lang3:jar:3.3:compile
[INFO] commons-logging:commons-logging:jar:1.1.3:compile
[INFO] org.apache.commons:commons-collections4:jar:4.0:compile
[INFO] com.google.guava:guava:jar:16.0.1:compile
[INFO] junit:junit:jar:4.11:test
[WARNING] Used undeclared dependencies found:
[WARNING] commons-collections:commons-collections:jar:3.2.1:compile
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Wao ............................................... SUCCESS [ 8.459 s]
[INFO] Wao :: Persistence ................................ FAILURE [ 25.722 s]
[INFO] Wao :: Services ................................... SKIPPED
[INFO] Wao :: Web ........................................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 36.088 s
[INFO] Finished at: 2014-04-08T00:08:35+01:00
[INFO] Final Memory: 60M/690M
[INFO] ------------------------------------------------------------------------
Waiting for Jenkins to finish collecting data
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.8:analyze-only (analyze) on project wao-persistence: Dependency problems found -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.8:analyze-only (analyze) on project wao-persistence: Dependency problems found
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
at org.jvnet.hudson.maven3.launcher.Maven31Launcher.main(Maven31Launcher.java:132)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:330)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:238)
at jenkins.maven3.agent.Maven31Main.launch(Maven31Main.java:181)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:134)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:69)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:328)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: org.apache.maven.plugin.MojoExecutionException: Dependency problems found
at org.apache.maven.plugin.dependency.analyze.AbstractAnalyzeMojo.execute(AbstractAnalyzeMojo.java:188)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 30 more
[ERROR]
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :wao-persistence
Sending e-mails to: wao-commits(a)list.forge.codelutin.com leny(a)codelutin.com chemit+codelutin-ci(a)codelutin.com
channel stopped
Skipping sonar analysis due to bad build status FAILURE
1
2
Build failed in Jenkins: wao-nightly » Wao :: Persistence #28
by admin+ci-codelutin.com@codelutin.com 09 Apr '14
by admin+ci-codelutin.com@codelutin.com 09 Apr '14
09 Apr '14
See <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
Changes:
[Tony CHEMIT] add method to translate I18nAble
[Tony CHEMIT] fix serializable on exceptions
[Tony CHEMIT] use new topia api
[bleny] refs #4490 fix query generation for boats registration code filter
[bleny] review filters (obsProgram) criteria, introduce isFilled and abstract classes for Filter and FilterValues
------------------------------------------
[...truncated 232 lines...]
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] - adding license header on file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] Scan 243 files header done in 241.371ms.
[INFO]
* uptodate header on 69 files.
* add header on 174 files.
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ wao-persistence ---
[INFO] Compiling 209 source files to <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[WARNING] <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>:[43,82] formatMonth(java.util.Date) in fr.ifremer.wao.WaoUtils has been deprecated
[WARNING] <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>:[43,47] formatMonth(java.util.Date) in fr.ifremer.wao.WaoUtils has been deprecated
[WARNING] <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>:[49,90] formatMonth(java.util.Date) in fr.ifremer.wao.WaoUtils has been deprecated
[WARNING] <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>:[397,48] formatDate(java.util.Date) in fr.ifremer.wao.WaoUtils has been deprecated
[WARNING] <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>:[400,70] formatDate(java.util.Date) in fr.ifremer.wao.WaoUtils has been deprecated
[WARNING] <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>:[401,70] formatDate(java.util.Date) in fr.ifremer.wao.WaoUtils has been deprecated
[WARNING] <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>: Some input files use unchecked or unsafe operations.
[WARNING] <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>: Recompile with -Xlint:unchecked for details.
[INFO]
[INFO] --- animal-sniffer-maven-plugin:1.10:check (default) @ wao-persistence ---
[INFO] Checking unresolved references to org.codehaus.mojo.signature:java17:1.0
[INFO]
[INFO] --- jredmine-maven-plugin:1.6:generate-changes (jredmine-generate-changes) @ wao-persistence ---
[INFO] Skipping goal (skipGenerateChanges flag is on).
[INFO]
[INFO] --- maven-antrun-plugin:1.7:run (generate-surefire-workdir) @ wao-persistence ---
[INFO] Executing tasks
main:
[mkdir] Created dir: <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] Executed tasks
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ wao-persistence ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ wao-persistence ---
[INFO] Compiling 1 source file to <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO]
[INFO] --- maven-surefire-plugin:2.17:test (default-test) @ wao-persistence ---
[INFO] Surefire report directory: <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running fr.ifremer.wao.entity.SampleRowLogImplTest
2014/04/08 12:08:25 DEBUG (SampleRowLogImplTest.java:78) testNewSampleRowLog Le nombre d'observateurs est de 0
Le durée moyenne d'une marée est de 0.0
La ligne est sur la période du 03/2011 au 06/2011
Le métier de la ligne est
2014/04/08 12:08:26 DEBUG (SampleRowLogImplTest.java:94) testCompareSampleRowToItself
2014/04/08 12:08:26 DEBUG (SampleRowLogImplTest.java:118) testModifySampleRow La durée moyenne d'une marée est passé de 0.0 jours à 1.0
La ligne est désormais associée au programme programName
La date de fin est passée de 06/2011 à 07/2011
Les zones de pêches suivantes ont été ajoutées : null - null - IV
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.138 sec - in fr.ifremer.wao.entity.SampleRowLogImplTest
Results :
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0
[JENKINS] Recording test results
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ wao-persistence ---
[INFO] Building jar: <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO]
[INFO] >>> maven-source-plugin:2.2.1:jar (attach-sources) @ wao-persistence >>>
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (ensure-no-container-api) @ wao-persistence ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (check-project-files) @ wao-persistence ---
[INFO]
[INFO] --- helper-maven-plugin:2.1:share-server-secret (get-redmine-login) @ wao-persistence ---
[INFO] Skipping goal (runOnce flag is on and goal was already executed).
[INFO]
[INFO] --- eugene-maven-plugin:2.7.3:generate (generate-entities) @ wao-persistence ---
[INFO] Process phase [zargo] for one entry.
[INFO] Expanding 1 xmi file(s) from <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] Copy file <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…> to <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] No file generated.
[INFO] Process phase [xmi] for one entry.
[INFO] Processing XSL tranformation on <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…> for 1 file(s).
[INFO] No file generated.
[INFO] Process phase [model] for one entry.
WARN [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:126) beforeReadFile - No properties provider filled, will instanciate a new default one
WARN [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:577) getObjectElements - Invalid tagvalue [fr.ifremer.wao.entity.Boat.attribute.boatDistrict.tagValue.lazy] : Element 'boatDistrict' of type 'attribute' on classifier 'fr.ifremer.wao.entity.Boat' is null.
WARN [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:577) getObjectElements - Invalid tagvalue [fr.ifremer.wao.entity.WaoUser.attribute.SampleRow.tagValue.inverse] : Element 'SampleRow' of type 'attribute' on classifier 'fr.ifremer.wao.entity.WaoUser' is null.
WARN [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:459) loadTagValue - Invalid tag value [fr.ifremer.wao.entity.WaoUser.attribute.allegroWallet.tagValue.unique] : this tagvalue 'unique' is unkown.
WARN [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:294) loadModelTagValue - Invalid model tag value [model.tagValue.copyright] : the tagvalue 'copyright' is unkown.
WARN [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:294) loadModelTagValue - Invalid model tag value [model.tagValue.exceptionClass] : the tagvalue 'exceptionClass' is unkown.
WARN [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:294) loadModelTagValue - Invalid model tag value [model.tagValue.java.lang.String] : the tagvalue 'java.lang.String' is unkown.
WARN [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:303) loadModelTagValue - Invalid model tag value [model.tagValue.useEnumerationName] : this tagvalue 'useEnumerationName' can not be apply on the model.
INFO [pool-1-thread-1 for channel] (AbstractObjectModelReader.java:270) loadModelProperties - 32 tag values were succesfull imported from <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO] No file generated.
[INFO] Apply generator TopiaMetaTransformer
WARN [pool-1-thread-1 for channel] (TopiaMetaTransformer.java:110) validateModel - [VALIDATION] [getUserProfile([fr.ifremer.wao.entity.ObsProgram obsProgram<<[]>> tagvalue: {}])<<[]>> throws [] tagvalue: {}] Operation name getUserProfile is already reserved for a getter/setter of an entity attribute
WARN [pool-1-thread-1 for channel] (TopiaMetaTransformer.java:110) validateModel - [VALIDATION] [setDCF5Code([java.lang.String codes<<[]>> tagvalue: {}, java.lang.String separatorRegex<<[]>> tagvalue: {}])<<[]>> throws [] tagvalue: {}] Operation name setDCF5Code is already reserved for a getter/setter of an entity attribute
WARN [pool-1-thread-1 for channel] (TopiaMetaTransformer.java:110) validateModel - [VALIDATION] [getSampleMonth([java.util.Date date<<[]>> tagvalue: {}])<<[]>> throws [] tagvalue: {}] Operation name getSampleMonth is already reserved for a getter/setter of an entity attribute
WARN [pool-1-thread-1 for channel] (TopiaMetaTransformer.java:110) validateModel - [VALIDATION] [setLogText([fr.ifremer.wao.entity.SampleRow oldSampleRow<<[]>> tagvalue: {}, fr.ifremer.wao.entity.SampleRow newSampleRow<<[]>> tagvalue: {}])<<[]>> throws [] tagvalue: {}] Operation name setLogText is already reserved for a getter/setter of an entity attribute
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.WaoUserImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.FishingGearDCFImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.TerrestrialDivisionImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.DCF5CodeImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.SampleRowImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.BoatImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.ContactImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.IndicatorImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.ContactStateMotifImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.TerrestrialLocationImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.BoatGroupImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.CompanyImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.IndicatorLevelImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.FishingZoneImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.SampleMonthImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.FleetImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.UserProfileImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.TargetSpeciesDCFImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.ObsDebCodeImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.SampleRowLogImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.NewsImpl], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.WaoUserTopiaDao], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.TerrestrialDivisionTopiaDao], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.SampleRowTopiaDao], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.BoatTopiaDao], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.ContactTopiaDao], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.TerrestrialLocationTopiaDao], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.ElligibleBoatTopiaDao], already found in class-path.
INFO [pool-1-thread-1 for channel] (ObjectModelTransformerToJava.java:998) isInClassPath - Will not generate [fr.ifremer.wao.entity.SampleMonthTopiaDao], already found in class-path.
[WARNING] Failed to getClass for org.apache.maven.plugin.source.SourceJarMojo
[INFO]
[INFO] <<< maven-source-plugin:2.2.1:jar (attach-sources) @ wao-persistence <<<
[INFO]
[INFO] --- maven-source-plugin:2.2.1:jar (attach-sources) @ wao-persistence ---
[INFO] Building jar: <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO]
[INFO] --- maven-javadoc-plugin:2.9.1:jar (attach-javadocs) @ wao-persistence ---
[INFO] Building jar: <http://ci.codelutin.com/jenkins/job/wao-nightly/fr.ifremer$wao-persistence/…>
[INFO]
[INFO] --- maven-site-plugin:3.3:attach-descriptor (attach-descriptor) @ wao-persistence ---
[INFO]
[INFO] --- helper-maven-plugin:2.1:share-server-secret (get-pgp-passphrase) @ wao-persistence ---
[INFO] Exporting server [gpg-signer] username in ${gpg.keyname}
[INFO] Exporting server [gpg-signer] password in ${gpg.passphrase}
[INFO]
[INFO] --- helper-maven-plugin:2.1:collect-files (collect-build-artifacts) @ wao-persistence ---
[INFO] Loaded /var/local/forge/data/codelutin.com/jenkins/workspace/wao-nightly/trunk/target/collect-artifacts.txt
[INFO] Copying wao-persistence-4.0-SNAPSHOT.jar to /var/local/forge/data/codelutin.com/jenkins/workspace/wao-nightly/trunk/target/collect/fr.ifremer--wao-persistence/wao-persistence-4.0-SNAPSHOT.jar
[INFO] Copying THIRD-PARTY.properties to /var/local/forge/data/codelutin.com/jenkins/workspace/wao-nightly/trunk/target/collect/fr.ifremer--wao-persistence/THIRD-PARTY.properties
[INFO] Copying wao-persistence-4.0-SNAPSHOT-sources.jar to /var/local/forge/data/codelutin.com/jenkins/workspace/wao-nightly/trunk/target/collect/fr.ifremer--wao-persistence/wao-persistence-4.0-SNAPSHOT-sources.jar
[INFO] Copying wao-persistence-4.0-SNAPSHOT-javadoc.jar to /var/local/forge/data/codelutin.com/jenkins/workspace/wao-nightly/trunk/target/collect/fr.ifremer--wao-persistence/wao-persistence-4.0-SNAPSHOT-javadoc.jar
[INFO]
[INFO] --- helper-maven-plugin:2.1:collect-files (collect-build-attachements) @ wao-persistence ---
[WARNING] Skipping goal (No file to collect).
[INFO]
[INFO] --- maven-gpg-plugin:1.5:sign (sign-artifacts) @ wao-persistence ---
[INFO]
[INFO] --- maven-dependency-plugin:2.8:analyze-only (analyze) @ wao-persistence ---
[INFO] Used declared dependencies found:
[INFO] org.nuiton.topia:topia-persistence:jar:3.0-SNAPSHOT:compile
[INFO] org.hibernate:hibernate-core:jar:4.3.5.Final:compile
[INFO] org.nuiton:nuiton-utils:jar:3.0-SNAPSHOT:compile
[INFO] org.nuiton:nuiton-config:jar:3.0-alpha-2:compile
[INFO] org.nuiton.i18n:nuiton-i18n:jar:3.0:compile
[INFO] org.apache.commons:commons-lang3:jar:3.3:compile
[INFO] commons-logging:commons-logging:jar:1.1.3:compile
[INFO] org.apache.commons:commons-collections4:jar:4.0:compile
[INFO] com.google.guava:guava:jar:16.0.1:compile
[INFO] junit:junit:jar:4.11:test
[WARNING] Used undeclared dependencies found:
[WARNING] commons-collections:commons-collections:jar:3.2.1:compile
[JENKINS] Archiving disabled
1
2
r1870 - trunk/wao-persistence/src/main/java/fr/ifremer/wao
by tchemit@users.forge.codelutin.com 09 Apr '14
by tchemit@users.forge.codelutin.com 09 Apr '14
09 Apr '14
Author: tchemit
Date: 2014-04-09 08:59:21 +0200 (Wed, 09 Apr 2014)
New Revision: 1870
Url: http://forge.codelutin.com/projects/wao/repository/revisions/1870
Log:
use collections4
Modified:
trunk/wao-persistence/src/main/java/fr/ifremer/wao/BoatsFilter.java
trunk/wao-persistence/src/main/java/fr/ifremer/wao/ContactsFilter.java
Modified: trunk/wao-persistence/src/main/java/fr/ifremer/wao/BoatsFilter.java
===================================================================
--- trunk/wao-persistence/src/main/java/fr/ifremer/wao/BoatsFilter.java 2014-04-08 17:20:53 UTC (rev 1869)
+++ trunk/wao-persistence/src/main/java/fr/ifremer/wao/BoatsFilter.java 2014-04-09 06:59:21 UTC (rev 1870)
@@ -22,7 +22,7 @@
*/
import fr.ifremer.wao.entity.ObsProgram;
-import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import java.util.Objects;
Modified: trunk/wao-persistence/src/main/java/fr/ifremer/wao/ContactsFilter.java
===================================================================
--- trunk/wao-persistence/src/main/java/fr/ifremer/wao/ContactsFilter.java 2014-04-08 17:20:53 UTC (rev 1869)
+++ trunk/wao-persistence/src/main/java/fr/ifremer/wao/ContactsFilter.java 2014-04-09 06:59:21 UTC (rev 1870)
@@ -27,7 +27,7 @@
import fr.ifremer.wao.entity.ObservationType;
import fr.ifremer.wao.entity.ObservedDataControl;
import fr.ifremer.wao.entity.SamplingStrategy;
-import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections4.CollectionUtils;
import java.util.Date;
import java.util.Objects;
1
0
r1869 - in trunk: wao-services/src/main/java/fr/ifremer/wao/services/service/administration wao-services/src/main/resources/i18n wao-web/src/main/java/fr/ifremer/wao/web wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer wao-web/src/main/resources/i18n wao-web/src/main/webapp/WEB-INF/content/obsmer
by tchemit@users.forge.codelutin.com 08 Apr '14
by tchemit@users.forge.codelutin.com 08 Apr '14
08 Apr '14
Author: tchemit
Date: 2014-04-08 19:20:53 +0200 (Tue, 08 Apr 2014)
New Revision: 1869
Url: http://forge.codelutin.com/projects/wao/repository/revisions/1869
Log:
ref #4487 edit contact
Modified:
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/ReferentialService.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/WaoUsersService.java
trunk/wao-services/src/main/resources/i18n/wao-services_en_GB.properties
trunk/wao-services/src/main/resources/i18n/wao-services_fr_FR.properties
trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoJspActionSupport.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/EditContactAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/ValidateContactJsonAction.java
trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties
trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties
trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/contacts.jsp
trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/edit-contact-input.jsp
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/ReferentialService.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/ReferentialService.java 2014-04-08 16:28:52 UTC (rev 1868)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/ReferentialService.java 2014-04-08 17:20:53 UTC (rev 1869)
@@ -430,7 +430,7 @@
/**
* @param contactState if null, return motifs for all contact states
*/
- public List<ContactStateMotif> getAllContactStateMotifs(ContactState contactState) throws Exception {
+ public List<ContactStateMotif> getAllContactStateMotifs(ContactState contactState) {
ContactStateMotifTopiaDao dao = getPersistenceContext().getContactStateMotifDao();
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/WaoUsersService.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/WaoUsersService.java 2014-04-08 16:28:52 UTC (rev 1868)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/WaoUsersService.java 2014-04-08 17:20:53 UTC (rev 1869)
@@ -71,6 +71,25 @@
}
+ public List<WaoUser> getActiveWaoUsers(Optional<String> optionalCompanyId) {
+
+ WaoUserTopiaDao dao = getWaoUserDao();
+
+ TopiaQueryBuilderAddCriteriaOrRunQueryStep<WaoUser> query = dao.newQueryBuilder();
+
+ if (optionalCompanyId.isPresent()) {
+ query.addTopiaIdEquals(WaoUser.PROPERTY_COMPANY, optionalCompanyId.get());
+ }
+ query.addEquals(WaoUser.PROPERTY_ACTIVE, true);
+
+ query.setOrderByArguments(WaoUser.PROPERTY_LOGIN);
+
+ List<WaoUser> waoUsers = query.findAll();
+
+ return waoUsers;
+
+ }
+
public WaoUser getWaoUser(String waoUserId) {
WaoUserTopiaDao dao = getWaoUserDao();
Modified: trunk/wao-services/src/main/resources/i18n/wao-services_en_GB.properties
===================================================================
--- trunk/wao-services/src/main/resources/i18n/wao-services_en_GB.properties 2014-04-08 16:28:52 UTC (rev 1868)
+++ trunk/wao-services/src/main/resources/i18n/wao-services_en_GB.properties 2014-04-08 17:20:53 UTC (rev 1869)
@@ -32,6 +32,8 @@
wao.import.boat.failure.missing.port=The port is required
wao.import.contact.failure.boatMissing=You need to precise the plate number of the boat associated to the contact
wao.import.contact.failure.dataInputDateAfterObservationEndDate=La date de saisie des données doit être postérieure à la date de fin d'observation
+wao.import.contact.failure.dataInputDateAfterToday=
+wao.import.contact.failure.dataInputDateBeforeObservationEndDate=
wao.import.contact.failure.dataInputDateBeforeToday=La date de saisie des données doit être antérieur à la date du jour
wao.import.contact.failure.districtMissing=You need to precise the boat district
wao.import.contact.failure.duplicatedMainObserverInSecondaryObservers=Main observer can not be also a secondary observer
@@ -45,7 +47,6 @@
wao.import.contact.failure.missingDataReliability=You must provide data reliability before validating
wao.import.contact.failure.missingHoursOfBeginEndObservation=You must provide accurate time for the beginning and the end of observation
wao.import.contact.failure.missingMainObserver=Il faut au moins un observateur référant
-wao.import.failure.wrongValue=Unable to parse value '%S'. Possible values are %s
wao.import.contact.failure.missingObservationArea=Il faut préciser un lieu d'observation
wao.import.contact.failure.missingObservationBeginDate=La date de début de marée est obligatoire pour l'état '%s'
wao.import.contact.failure.missingObservationEndDate=La date de fin d'observation est obligatoire pour l'état '%s'
@@ -71,6 +72,7 @@
wao.import.failure.wrongLocationType='%s' is not a valid location type, allowed values are %s
wao.import.failure.wrongObsDebCode=There is no profession code having code '%s'
wao.import.failure.wrongUser=There is no user with login '%s'
+wao.import.failure.wrongValue=Unable to parse value '%S'. Possible values are %s
wao.import.invalid.latitude=a latitude must be contained in range %s. ('%s' argument given)
wao.import.invalid.longitude=a longitude must be contained in range %s. ('%s' argument given)
wao.import.sampleRow.failure.fishingZoneMissing=You must precise at least one fishing zone
Modified: trunk/wao-services/src/main/resources/i18n/wao-services_fr_FR.properties
===================================================================
--- trunk/wao-services/src/main/resources/i18n/wao-services_fr_FR.properties 2014-04-08 16:28:52 UTC (rev 1868)
+++ trunk/wao-services/src/main/resources/i18n/wao-services_fr_FR.properties 2014-04-08 17:20:53 UTC (rev 1869)
@@ -30,35 +30,34 @@
wao.import.boat.failure.invalid.locationCode=Le code '%s' n'est pas un code de lieu valide
wao.import.boat.failure.missing.port=Il faut préciser un port
wao.import.contact.failure.boatMissing=Il faut préciser l'immatriculation du navire associé au contact
+wao.import.contact.failure.dataInputDateAfterToday=La date de saisie des données doit être antérieure à la date du jour
wao.import.contact.failure.dataInputDateBeforeObservationEndDate=La date de saisie des données doit être postérieure à la date de fin d'observation
-wao.import.contact.failure.dataInputDateAfterToday=La date de saisie des données doit être antérieure à la date du jour
wao.import.contact.failure.districtMissing=Il faut préciser le code d'un quartier maritime
wao.import.contact.failure.duplicatedMainObserverInSecondaryObservers=L'utilisateur référant ne doit pas se trouver aussi parmi les observateurs secondaires
-wao.import.contact.failure.invalidObservationBeginDate=Ligne %s : La date de début de la marée doit correspondre à un mois valide (non vide) de la ligne
+wao.import.contact.failure.invalidObservationBeginDate=Ligne %s \: La date de début de la marée doit correspondre à un mois valide (non vide) de la ligne
wao.import.contact.failure.locationTypeMissing=Le type du lieu doit être renseigné
-wao.import.contact.failure.mismatchCompanyForObserver=Ligne %s : L'observateur %s n'est pas membre de la société %s
-wao.import.contact.failure.missingComment=Ligne %s : Il faut préciser un commentaire pour l'état '%s'
-wao.import.contact.failure.missingCommentAdmin=Ligne %s : Il faut préciser dans le commentaire administrateur pourquoi la donnée est '%s'
-wao.import.contact.failure.missingContactStateMotif=Ligne %s : Il faut préciser un motif de refus
-wao.import.contact.failure.missingDataInputDate=Ligne %s : Il faut préciser une date de saisie des données en plus de la date de transmission de la restitution
-wao.import.contact.failure.missingDataReliability=Ligne %s : Il faut préciser la qualité de la donnée avant de valider
+wao.import.contact.failure.mismatchCompanyForObserver=Ligne %s \: L'observateur %s n'est pas membre de la société %s
+wao.import.contact.failure.missingComment=Ligne %s \: Il faut préciser un commentaire pour l'état '%s'
+wao.import.contact.failure.missingCommentAdmin=Ligne %s \: Il faut préciser dans le commentaire administrateur pourquoi la donnée est '%s'
+wao.import.contact.failure.missingContactStateMotif=Ligne %s \: Il faut préciser un motif de refus
+wao.import.contact.failure.missingDataInputDate=Ligne %s \: Il faut préciser une date de saisie des données en plus de la date de transmission de la restitution
+wao.import.contact.failure.missingDataReliability=Ligne %s \: Il faut préciser la qualité de la donnée avant de valider
wao.import.contact.failure.missingHoursOfBeginEndObservation=Il faut préciser les heures exactes de début et de fin d'observation
-wao.import.contact.failure.missingMainObserver=Ligne %s : Il faut au moins un observateur référant
-wao.import.failure.wrongValue=Valeur '%s' non reconnue. Valeurs possibles : %s
+wao.import.contact.failure.missingMainObserver=Ligne %s \: Il faut au moins un observateur référant
wao.import.contact.failure.missingObservationArea=Il faut préciser un lieu d'observation
-wao.import.contact.failure.missingObservationBeginDate=Ligne %s : La date de début de marée est obligatoire pour l'état '%s'
-wao.import.contact.failure.missingObservationEndDate=Ligne %s : La date de fin d'observation est obligatoire pour l'état '%s'
-wao.import.contact.failure.missingObservedDataControl=Ligne %s : Il faut préciser une valeur pour le contrôle des données observées
-wao.import.contact.failure.missingObserver=Ligne %s : Il ne peut y avoir aucun observateur pour l'état '%s'
-wao.import.contact.failure.missingRestitution=Ligne %s : Il faut préciser une date de transmission de la restitution de la donnée avant de valider
-wao.import.contact.failure.not.updatable=Ligne %s : Vous n'avez pas les droits suffisants pour modifier le contact
-wao.import.contact.failure.observationEndDateAfterToday=Ligne %s : La date de fin de la marée ne peut pas être postérieure à la date du jour
-wao.import.contact.failure.observationEndDateBeforeBeginDate=Ligne %s : La date de fin d'observation ne peut pas être antérieure à celle du début
+wao.import.contact.failure.missingObservationBeginDate=Ligne %s \: La date de début de marée est obligatoire pour l'état '%s'
+wao.import.contact.failure.missingObservationEndDate=Ligne %s \: La date de fin d'observation est obligatoire pour l'état '%s'
+wao.import.contact.failure.missingObservedDataControl=Ligne %s \: Il faut préciser une valeur pour le contrôle des données observées
+wao.import.contact.failure.missingObserver=Ligne %s \: Il ne peut y avoir aucun observateur pour l'état '%s'
+wao.import.contact.failure.missingRestitution=Ligne %s \: Il faut préciser une date de transmission de la restitution de la donnée avant de valider
+wao.import.contact.failure.not.updatable=Ligne %s \: Vous n'avez pas les droits suffisants pour modifier le contact
+wao.import.contact.failure.observationEndDateAfterToday=Ligne %s \: La date de fin de la marée doit être antérieure à la date du jour
+wao.import.contact.failure.observationEndDateBeforeBeginDate=Ligne %s \: La date de fin d'observation doit être postérieure à celle du début
wao.import.contact.failure.sampleRowCodeMissing=Il manque le code de la ligne de plan associée
wao.import.contact.failure.terrestrialLocationMissing=Il manque le code du lieu
-wao.import.contact.failure.transmissionDateBeforeDataInputDate=Ligne %s : Il faut que la date de transmission de la restitution soit après la date de saisie des données
+wao.import.contact.failure.transmissionDateBeforeDataInputDate=Ligne %s \: La date de transmission de la restitution doit être postérieure à la date de saisie des données
wao.import.contact.failure.unkwonCompany=Il n'y a pas de société ayant pour nom '%s'
-wao.import.contact.failure.unwantedContactStateMotif=Ligne %s : Il ne faut pas préciser de motif de refus
+wao.import.contact.failure.unwantedContactStateMotif=Ligne %s \: Il ne faut pas préciser de motif de refus
wao.import.contact.failure.wrongBoat=Il n'y a pas de navire avec l'immatriculation '%s'
wao.import.contact.failure.wrongColor=Le code couleur '%s' n'est pas valide, il doit être composé de six caractères sans dièze voir http\://fr.wikipedia.org/wiki/Couleurs_du_Web
wao.import.contact.failure.wrongContactStateMotifCode=Le code '%s' n'est pas un code de motif de refus valide
@@ -70,6 +69,7 @@
wao.import.failure.wrongLocationType='%s' n'est pas un type de lieu valide, les valeurs admises sont %s
wao.import.failure.wrongObsDebCode=Il n'y a pas de code métier ayant pour code '%s'
wao.import.failure.wrongUser=Il n'y a pas d'utilisateur ayant pour identifiant '%s'
+wao.import.failure.wrongValue=Valeur '%s' non reconnue. Valeurs possibles \: %s
wao.import.invalid.latitude=La latitude doit être dans l'intervalle %s (valeur actuelle %s)
wao.import.invalid.longitude=La longitude doit être dans l'intervalle %s (valeur actuelle %s)
wao.import.sampleRow.failure.fishingZoneMissing=Il faut préciser au moins une zone de pêche
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoJspActionSupport.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoJspActionSupport.java 2014-04-08 16:28:52 UTC (rev 1868)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoJspActionSupport.java 2014-04-08 17:20:53 UTC (rev 1869)
@@ -64,15 +64,15 @@
}
public String formatMonth(Date date) {
- return WaoUtils.formatMonth(getLocale(), date);
+ return date == null ? "" : WaoUtils.formatMonth(getLocale(), date);
}
public String formatDate(Date date) {
- return WaoUtils.formatDate(getLocale(), date);
+ return date == null ? "" : WaoUtils.formatDate(getLocale(), date);
}
public String formatDateTime(Date date) {
- return WaoUtils.formatDateTime(getLocale(), date);
+ return date == null ? "" : WaoUtils.formatDateTime(getLocale(), date);
}
public boolean isGoogleAnalyticsEnabled() {
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/EditContactAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/EditContactAction.java 2014-04-08 16:28:52 UTC (rev 1868)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/EditContactAction.java 2014-04-08 17:20:53 UTC (rev 1869)
@@ -25,9 +25,15 @@
import com.google.common.base.Strings;
import com.opensymphony.xwork2.Preparable;
import fr.ifremer.wao.WaoUtils;
+import fr.ifremer.wao.entity.Contact;
+import fr.ifremer.wao.entity.ContactState;
+import fr.ifremer.wao.entity.ContactStateMotif;
+import fr.ifremer.wao.entity.DataReliability;
+import fr.ifremer.wao.entity.ObservedDataControl;
+import fr.ifremer.wao.entity.WaoUser;
import fr.ifremer.wao.services.AuthenticatedWaoUser;
+import fr.ifremer.wao.services.service.ContactDataInputDateAfterTodayException;
import fr.ifremer.wao.services.service.ContactDataInputDateBeforeObservationEndDateException;
-import fr.ifremer.wao.services.service.ContactDataInputDateAfterTodayException;
import fr.ifremer.wao.services.service.ContactNotUpdatableException;
import fr.ifremer.wao.services.service.ContactObservationEndDateAfterTodayException;
import fr.ifremer.wao.services.service.ContactObservationEndDateBeforeBeginDateException;
@@ -50,10 +56,19 @@
import fr.ifremer.wao.services.service.ObsMerContactsService;
import fr.ifremer.wao.services.service.UnwantedContactContactStateMotifException;
import fr.ifremer.wao.services.service.UpdateContactCommand;
+import fr.ifremer.wao.services.service.administration.ReferentialService;
+import fr.ifremer.wao.services.service.administration.WaoUsersService;
import fr.ifremer.wao.web.WaoJspActionSupport;
+import org.apache.commons.lang3.BooleanUtils;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
+import java.util.Date;
+import java.util.EnumMap;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
/**
* Created on 4/6/14.
*
@@ -70,14 +85,36 @@
*/
protected Optional<String> optionalContactId = Optional.absent();
+ protected Map<String, String> observers;
+
+ protected Map<ContactState, String> contactStates;
+
+ protected Map<String, String> contactStateMotives;
+
+ protected Map<ObservedDataControl, String> observedDataControls;
+
+ protected Map<DataReliability, String> dataReliabilities;
+
protected transient ObsMerContactsService service;
+ protected transient WaoUsersService waoUsersService;
+
+ protected transient ReferentialService referentialService;
+
protected UpdateContactCommand updateContactCommand;
public void setService(ObsMerContactsService service) {
this.service = service;
}
+ public void setWaoUsersService(WaoUsersService waoUsersService) {
+ this.waoUsersService = waoUsersService;
+ }
+
+ public void setReferentialService(ReferentialService referentialService) {
+ this.referentialService = referentialService;
+ }
+
public void setContactId(String contactId) {
this.optionalContactId = Optional.fromNullable(Strings.emptyToNull(contactId));
}
@@ -93,10 +130,78 @@
return updateContactCommand;
}
+ public Map<String, String> getObservers() {
+ if (observers == null) {
+ prepare();
+ }
+ return observers;
+ }
+
+ public Map<ContactState, String> getContactStates() {
+ if (contactStates == null) {
+ prepare();
+ }
+ return contactStates;
+ }
+
+ public Map<String, String> getContactStateMotives() {
+ if (contactStateMotives == null) {
+ prepare();
+ }
+ return contactStateMotives;
+ }
+
+ public Map<ObservedDataControl, String> getObservedDataControls() {
+ if (observedDataControls == null) {
+ prepare();
+ }
+ return observedDataControls;
+ }
+
+ public Map<DataReliability, String> getDataReliabilities() {
+ if (dataReliabilities == null) {
+ prepare();
+ }
+ return dataReliabilities;
+ }
+
+ public String getDateTimePlaceholder() {
+ return formatDateTime(new Date());
+ }
+
+ public String getDatePlaceholder() {
+ return formatDate(new Date());
+ }
+
@Override
public void prepare() {
updateContactCommand = service.newUpdateContactCommand(getAuthenticatedWaoUser(), optionalContactId);
+
+ observers = new TreeMap<>();
+ List<WaoUser> waoUsers = waoUsersService.getActiveWaoUsers(Optional.of(getAuthenticatedWaoUser().getCompany().getTopiaId()));
+ for (WaoUser waoUser : waoUsers) {
+ observers.put(waoUser.getTopiaId(), waoUser.getFullName());
+ }
+ contactStates = new EnumMap<>(ContactState.class);
+ for (ContactState contactState : ContactState.getAllowedStates(getAuthenticatedWaoUser().getObsProgram())) {
+ contactStates.put(contactState, WaoUtils.l(getLocale(), contactState));
+ }
+
+ contactStateMotives = new TreeMap<>();
+ for (ContactStateMotif contactStateMotif : referentialService.getAllContactStateMotifs(null)) {
+ contactStateMotives.put(contactStateMotif.getTopiaId(), contactStateMotif.getName());
+ }
+
+ observedDataControls = new EnumMap<>(ObservedDataControl.class);
+ for (ObservedDataControl observedDataControl : ObservedDataControl.values()) {
+ observedDataControls.put(observedDataControl, WaoUtils.l(getLocale(), observedDataControl));
+ }
+
+ dataReliabilities = new EnumMap<>(DataReliability.class);
+ for (DataReliability dataReliability : DataReliability.values()) {
+ dataReliabilities.put(dataReliability, WaoUtils.l(getLocale(), dataReliability));
+ }
}
@Override
@@ -110,101 +215,111 @@
session.addErrorMessages(t("wao.ui.contacts.validation.failure.not.updatable"));
} catch (UnwantedContactContactStateMotifException e) {
- //TODO fix field
- addFieldError("updateContactCommand.contact.", t("wao.ui.form.Contact.error.unwantedContactStateMotif"));
+ addFieldError("updateContactCommand.contact.contactStateMotif", t("wao.ui.form.Contact.error.unwantedContactStateMotif"));
} catch (MissingContactNbObservantsException e) {
String state = WaoUtils.l(getLocale(), e.getContact().getContactState());
- //TODO fix field
- addFieldError("updateContactCommand.contact.", t("wao.ui.form.Contact.error.missingObserver", state));
+ addFieldError("updateContactCommand.contact.nbObservants", t("wao.ui.form.Contact.error.missingObserver", state));
} catch (MissingContactObservationEndDateException e) {
String state = WaoUtils.l(getLocale(), e.getContact().getContactState());
- //TODO fix field
- addFieldError("updateContactCommand.contact.", t("wao.ui.form.Contact.error.missingObservationEndDate", state));
+ addFieldError("updateContactCommand.contact.observationEndDate", t("wao.ui.form.Contact.error.missingObservationEndDate", state));
} catch (ContactDataInputDateBeforeObservationEndDateException e) {
- //TODO fix field
- addFieldError("updateContactCommand.contact.", t("wao.ui.form.Contact.error.dataInputDateBeforeObservationEndDate"));
+ addFieldError("updateContactCommand.contact.dataInputDate", t("wao.ui.form.Contact.error.dataInputDateBeforeObservationEndDate"));
} catch (InvalidContactObservationBeginDateException e) {
- //TODO fix field
- addFieldError("updateContactCommand.contact.", t("wao.ui.form.Contact.error.invalidObservationBeginDate"));
+ addFieldError("updateContactCommand.contact.observationBeginDate", t("wao.ui.form.Contact.error.invalidObservationBeginDate"));
} catch (MissingContactRestitutionException e) {
- //TODO fix field
- addFieldError("updateContactCommand.contact.", t("wao.ui.form.Contact.error.missingRestitution"));
+ addFieldError("updateContactCommand.contact.restitution", t("wao.ui.form.Contact.error.missingRestitution"));
} catch (ContactDataInputDateAfterTodayException e) {
- //TODO fix field
- addFieldError("updateContactCommand.contact.", t("wao.ui.form.Contact.error.dataInputDateAfterToday"));
+ addFieldError("updateContactCommand.contact.dataInputDate", t("wao.ui.form.Contact.error.dataInputDateAfterToday"));
} catch (MissingContactCommentException e) {
String state = WaoUtils.l(getLocale(), e.getContact().getContactState());
- //TODO fix field
- addFieldError("updateContactCommand.contact.", t("wao.ui.form.Contact.error.missingComment", state));
+ addFieldError("updateContactCommand.contact.comment", t("wao.ui.form.Contact.error.missingComment", state));
} catch (MismatchContactMainObserverCompanyException e) {
String companyName = e.getCompany().getName();
String observerLogin = e.getObserver().getLogin();
- //TODO fix field
- addFieldError("updateContactCommand.contact.", t("wao.ui.form.Contact.error.mismatchCompanyForObserver", observerLogin, companyName));
+ addFieldError("updateContactCommand.contact.mainObserver", t("wao.ui.form.Contact.error.mismatchCompanyForObserver", observerLogin, companyName));
} catch (ContactRestitutionDateBeforeDataInputDateException e) {
- //TODO fix field
- addFieldError("updateContactCommand.contact.", t("wao.ui.form.Contact.error.transmissionDateBeforeDataInputDate"));
+ addFieldError("updateContactCommand.contact.restitution", t("wao.ui.form.Contact.error.transmissionDateBeforeDataInputDate"));
} catch (ContactObservationEndDateBeforeBeginDateException e) {
- //TODO fix field
- addFieldError("updateContactCommand.contact.", t("wao.ui.form.Contact.error.observationEndDateBeforeBeginDate"));
+ addFieldError("updateContactCommand.contact.observationEndDate", t("wao.ui.form.Contact.error.observationEndDateBeforeBeginDate"));
} catch (DuplicatedContactMainObserverInSecondaryObserversException e) {
- //TODO fix field
- addFieldError("updateContactCommand.contact.", t("wao.ui.form.Contact.error.duplicatedMainObserverInSecondaryObservers"));
+ addFieldError("updateContactCommand.contact.secondaryObservers", t("wao.ui.form.Contact.error.duplicatedMainObserverInSecondaryObservers"));
} catch (MissingContactDataReliabilityException e) {
- //TODO fix field
- addFieldError("updateContactCommand.contact.", t("wao.ui.form.Contact.error.missingDataReliability"));
+ addFieldError("updateContactCommand.contact.dataReliability", t("wao.ui.form.Contact.error.missingDataReliability"));
} catch (MismatchContactSecondaryObserverCompanyException e) {
String companyName = e.getCompany().getName();
String observerLogin = e.getObserver().getLogin();
- //TODO fix field
- addFieldError("updateContactCommand.contact.", t("wao.ui.form.Contact.error.mismatchCompanyForObserver", observerLogin, companyName));
+ addFieldError("updateContactCommand.contact.secondaryObservers", t("wao.ui.form.Contact.error.mismatchCompanyForObserver", observerLogin, companyName));
} catch (MissingContactObservedDataControlException e) {
- //TODO fix field
- addFieldError("updateContactCommand.contact.", t("wao.ui.form.Contact.error.missingObservedDataControl"));
+ addFieldError("updateContactCommand.contact.observedDataControl", t("wao.ui.form.Contact.error.missingObservedDataControl"));
} catch (MissingContactStateMotifException e) {
- //TODO fix field
- addFieldError("updateContactCommand.contact.", t("wao.ui.form.Contact.error.missingContactStateMotif"));
+ addFieldError("updateContactCommand.contact.contactStateMotif", t("wao.ui.form.Contact.error.missingContactStateMotif"));
} catch (MissingContactDataInputDateException e) {
- //TODO fix field
- addFieldError("updateContactCommand.contact.", t("wao.ui.form.Contact.error.missingDataInputDate"));
+ addFieldError("updateContactCommand.contact.dataInputDate", t("wao.ui.form.Contact.error.missingDataInputDate"));
} catch (MissingContactMainObserverException e) {
- //TODO fix field
- addFieldError("updateContactCommand.contact.", t("wao.ui.form.Contact.error.missingMainObserver"));
+ addFieldError("updateContactCommand.contact.mainObserver", t("wao.ui.form.Contact.error.missingMainObserver"));
} catch (MissingContactCommentAdminException e) {
String dataReliability = WaoUtils.l(getLocale(), e.getContact().getDataReliability());
- //TODO fix field
- addFieldError("updateContactCommand.contact.", t("wao.ui.form.Contact.error.missingCommentAdmin", dataReliability));
+ addFieldError("updateContactCommand.contact.commentAdmin", t("wao.ui.form.Contact.error.missingCommentAdmin", dataReliability));
} catch (ContactObservationEndDateAfterTodayException e) {
- //TODO fix field
- addFieldError("updateContactCommand.contact.", t("wao.ui.form.Contact.error.observationEndDateAfterToday"));
+ addFieldError("updateContactCommand.contact.observationEndDate", t("wao.ui.form.Contact.error.observationEndDateAfterToday"));
} catch (MissingContactObservationBeginDateException e) {
String state = WaoUtils.l(getLocale(), e.getContact().getContactState());
- //TODO fix field
- addFieldError("updateContactCommand.contact.", t("wao.ui.form.Contact.error.missingObservationBeginDate", state));
+ addFieldError("updateContactCommand.contact.observationBeginDate", t("wao.ui.form.Contact.error.missingObservationBeginDate", state));
}
}
+ public boolean isDisplaySecondaryObservers() {
+ boolean showSecondaryObservers = true;
+ if (updateContactCommand.getContact().getSampleRow().isPhoneCall()) {
+ // when phoning, we are always single
+ showSecondaryObservers = false;
+ }
+ return showSecondaryObservers;
+ }
+
+ public boolean isDisplayDataReliability() {
+ return getAuthenticatedWaoUser().isAdmin() || getAuthenticatedWaoUser().isCoordinator();
+ }
+
+ public boolean canEditDataReliability() {
+ Contact contact = updateContactCommand.getContact();
+ boolean result = getAuthenticatedWaoUser().isAdmin() // coordinator can see the value
+ && BooleanUtils.isTrue(contact.getValidationCompany())
+ && contact.getValidationProgram() == null;
+ return result;
+ }
+
+ public boolean canEditObservers() {
+ return getAuthenticatedWaoUser().isCoordinatorOrObserver() &&
+ updateContactCommand.getContact().getValidationProgram() == null;
+ }
+
+ public boolean canEditObservationReport() {
+ return getAuthenticatedWaoUser().isCoordinatorOrObserver() &&
+ updateContactCommand.getContact().getValidationCompany() == null;
+ }
+
@Override
public String execute() throws Exception {
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/ValidateContactJsonAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/ValidateContactJsonAction.java 2014-04-08 16:28:52 UTC (rev 1868)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/ValidateContactJsonAction.java 2014-04-08 17:20:53 UTC (rev 1869)
@@ -168,78 +168,79 @@
try {
service.preValidate(authenticatedWaoUser, updateContactCommand, true);
} catch (ContactNotUpdatableException e) {
- errorMessage = t("wao.ui.contacts.validation.failure.not.updatable");
+ session.addErrorMessages(t("wao.ui.contacts.validation.failure.not.updatable"));
+
} catch (UnwantedContactContactStateMotifException e) {
- errorMessage = t("wao.import.contact.failure.unwantedContactStateMotif");
+ errorMessage = t("wao.ui.form.Contact.error.unwantedContactStateMotif");
} catch (MissingContactNbObservantsException e) {
String state = WaoUtils.l(getLocale(), e.getContact().getContactState());
- errorMessage = t("wao.import.contact.failure.missingObserver", state);
+ errorMessage = t("wao.ui.form.Contact.error.missingObserver", state);
} catch (MissingContactObservationEndDateException e) {
String state = WaoUtils.l(getLocale(), e.getContact().getContactState());
- errorMessage = t("wao.import.contact.failure.missingObservationEndDate", state);
+ errorMessage = t("wao.ui.form.Contact.error.missingObservationEndDate", state);
} catch (ContactDataInputDateBeforeObservationEndDateException e) {
- errorMessage = t("wao.import.contact.failure.dataInputDateAfterObservationEndDate");
+ errorMessage = t("wao.ui.form.Contact.error.dataInputDateBeforeObservationEndDate");
} catch (InvalidContactObservationBeginDateException e) {
- errorMessage = t("wao.import.contact.failure.invalidObservationBeginDate");
+ errorMessage = t("wao.ui.form.Contact.error.invalidObservationBeginDate");
} catch (MissingContactRestitutionException e) {
- errorMessage = t("wao.import.contact.failure.missingRestitution");
+ errorMessage = t("wao.ui.form.Contact.error.missingRestitution");
} catch (ContactDataInputDateAfterTodayException e) {
- errorMessage = t("wao.import.contact.failure.dataInputDateAfterObservationEndDate");
+ errorMessage = t("wao.ui.form.Contact.error.dataInputDateAfterToday");
} catch (MissingContactCommentException e) {
String state = WaoUtils.l(getLocale(), e.getContact().getContactState());
- errorMessage = t("wao.import.contact.failure.missingComment", state);
+ errorMessage = t("wao.ui.form.Contact.error.missingComment", state);
} catch (MismatchContactMainObserverCompanyException e) {
String companyName = e.getCompany().getName();
String observerLogin = e.getObserver().getLogin();
- errorMessage = t("wao.import.contact.failure.mismatchCompanyForObserver", observerLogin, companyName);
+ errorMessage = t("wao.ui.form.Contact.error.mismatchCompanyForObserver", observerLogin, companyName);
} catch (ContactRestitutionDateBeforeDataInputDateException e) {
- errorMessage = t("wao.import.contact.failure.transmissionDateBeforeDataInputDate");
+ errorMessage = t("wao.ui.form.Contact.error.transmissionDateBeforeDataInputDate");
} catch (ContactObservationEndDateBeforeBeginDateException e) {
- errorMessage = t("wao.import.contact.failure.observationEndDateBeforeBeginDate");
+ errorMessage = t("wao.ui.form.Contact.error.observationEndDateBeforeBeginDate");
} catch (DuplicatedContactMainObserverInSecondaryObserversException e) {
- errorMessage = t("wao.import.contact.failure.duplicatedMainObserverInSecondaryObservers");
+ errorMessage = t("wao.ui.form.Contact.error.duplicatedMainObserverInSecondaryObservers");
} catch (MissingContactDataReliabilityException e) {
- errorMessage = t("wao.import.contact.failure.missingDataReliability");
+ errorMessage = t("wao.ui.form.Contact.error.missingDataReliability");
} catch (MismatchContactSecondaryObserverCompanyException e) {
String companyName = e.getCompany().getName();
String observerLogin = e.getObserver().getLogin();
- errorMessage = t("wao.import.contact.failure.mismatchCompanyForObserver", observerLogin, companyName);
+ errorMessage = t("wao.ui.form.Contact.error.mismatchCompanyForObserver", observerLogin, companyName);
} catch (MissingContactObservedDataControlException e) {
- errorMessage = t("wao.import.contact.failure.missingObservedDataControl");
+ errorMessage = t("wao.ui.form.Contact.error.missingObservedDataControl");
} catch (MissingContactStateMotifException e) {
- errorMessage = t("wao.import.contact.failure.missingContactStateMotif");
+ errorMessage = t("wao.ui.form.Contact.error.missingContactStateMotif");
} catch (MissingContactDataInputDateException e) {
- errorMessage = t("wao.import.contact.failure.missingDataInputDate");
+ errorMessage = t("wao.ui.form.Contact.error.missingDataInputDate");
} catch (MissingContactMainObserverException e) {
- errorMessage = t("wao.import.contact.failure.missingMainObserver");
+ errorMessage = t("wao.ui.form.Contact.error.missingMainObserver");
} catch (MissingContactCommentAdminException e) {
String dataReliability = WaoUtils.l(getLocale(), e.getContact().getDataReliability());
- errorMessage = t("wao.import.contact.failure.missingCommentAdmin", dataReliability);
+ errorMessage = t("wao.ui.form.Contact.error.missingCommentAdmin", dataReliability);
} catch (ContactObservationEndDateAfterTodayException e) {
- errorMessage = t("wao.import.contact.failure.observationEndDateAfterToday");
+ errorMessage = t("wao.ui.form.Contact.error.observationEndDateAfterToday");
} catch (MissingContactObservationBeginDateException e) {
String state = WaoUtils.l(getLocale(), e.getContact().getContactState());
- errorMessage = t("wao.import.contact.failure.missingObservationBeginDate", state);
+ errorMessage = t("wao.ui.form.Contact.error.missingObservationBeginDate", state);
} catch (Exception e) {
if (log.isErrorEnabled()) {
Modified: trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties
===================================================================
--- trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties 2014-04-08 16:28:52 UTC (rev 1868)
+++ trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties 2014-04-08 17:20:53 UTC (rev 1869)
@@ -5,25 +5,6 @@
wao.import.boatGroups.success=Import boats successful
wao.import.boats.prompt=Import boat groups
wao.import.boats.success=Import boat groups successful
-wao.import.contact.failure.dataInputDateAfterObservationEndDate=
-wao.import.contact.failure.duplicatedMainObserverInSecondaryObservers=
-wao.import.contact.failure.invalidObservationBeginDate=
-wao.import.contact.failure.mismatchCompanyForObserver=
-wao.import.contact.failure.missingComment=
-wao.import.contact.failure.missingCommentAdmin=
-wao.import.contact.failure.missingContactStateMotif=
-wao.import.contact.failure.missingDataInputDate=
-wao.import.contact.failure.missingDataReliability=
-wao.import.contact.failure.missingMainObserver=
-wao.import.contact.failure.missingObservationBeginDate=
-wao.import.contact.failure.missingObservationEndDate=
-wao.import.contact.failure.missingObservedDataControl=
-wao.import.contact.failure.missingObserver=
-wao.import.contact.failure.missingRestitution=
-wao.import.contact.failure.observationEndDateAfterToday=
-wao.import.contact.failure.observationEndDateBeforeBeginDate=
-wao.import.contact.failure.transmissionDateBeforeDataInputDate=
-wao.import.contact.failure.unwantedContactStateMotif=
wao.import.contactStateMotives.prompt=Import contact state motives
wao.import.contactStateMotives.success=Import contact state motives successful
wao.import.fishingZones.prompt=Import fishing zones
@@ -289,6 +270,26 @@
wao.ui.form.Company.error.nameMustBeUnique=Company name must be unique
wao.ui.form.Company.title.creation=Create a new company
wao.ui.form.Company.title.edition=Edit company %s
+wao.ui.form.Contact.error.dataInputDateAfterToday=
+wao.ui.form.Contact.error.dataInputDateBeforeObservationEndDate=
+wao.ui.form.Contact.error.duplicatedMainObserverInSecondaryObservers=
+wao.ui.form.Contact.error.invalidObservationBeginDate=
+wao.ui.form.Contact.error.mismatchCompanyForObserver=
+wao.ui.form.Contact.error.missingComment=
+wao.ui.form.Contact.error.missingCommentAdmin=
+wao.ui.form.Contact.error.missingContactStateMotif=
+wao.ui.form.Contact.error.missingDataInputDate=
+wao.ui.form.Contact.error.missingDataReliability=
+wao.ui.form.Contact.error.missingMainObserver=
+wao.ui.form.Contact.error.missingObservationBeginDate=
+wao.ui.form.Contact.error.missingObservationEndDate=
+wao.ui.form.Contact.error.missingObservedDataControl=
+wao.ui.form.Contact.error.missingObserver=
+wao.ui.form.Contact.error.missingRestitution=
+wao.ui.form.Contact.error.observationEndDateAfterToday=
+wao.ui.form.Contact.error.observationEndDateBeforeBeginDate=
+wao.ui.form.Contact.error.transmissionDateBeforeDataInputDate=
+wao.ui.form.Contact.error.unwantedContactStateMotif=
wao.ui.form.SampleRow.boatsDescription=This field contains registration numbers of the ships that areeligible for this ligne. You can use any separator to separate numbers (space, dot, line-return, comma)
wao.ui.form.SampleRow.error.codeMustBeUnique=Sample row code must be unique
wao.ui.form.SampleRow.error.missingDcf5Codes=You must provide at least one DCF5 code
@@ -321,6 +322,8 @@
wao.ui.form.authentication.title=WAO authentication
wao.ui.form.boardingFrom=Boardings since
wao.ui.form.boatName.placeholder=Name of boat
+wao.ui.form.contact.boat.information=Informations sur le bateau
+wao.ui.form.contact.sampleRow.information=Informations sur la ligne du plan d'échantillonage
wao.ui.form.contactsFile=Contacts file
wao.ui.form.definePasswordManually=Define password manually
wao.ui.form.editComment=Edit comment
Modified: trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties
===================================================================
--- trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties 2014-04-08 16:28:52 UTC (rev 1868)
+++ trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties 2014-04-08 17:20:53 UTC (rev 1869)
@@ -139,26 +139,6 @@
wao.ui.contacts.validation.to.accept.state.success=Le contact a été accepté avec succès
wao.ui.contacts.validation.to.reject.state.success=Le contact a été rejeté avec succès
wao.ui.contacts.validation.to.unvalidate.state.success=Le contact a été invalidé avec succès
-wao.ui.form.Contact.error.dataInputDateBeforeObservationEndDate=La date de saisie des données doit être postérieure à la date de fin d'observation
-wao.ui.form.Contact.error.dataInputDateAfterToday=La date de saisie des données doit être antérieure à la date du jour
-wao.ui.form.Contact.error.duplicatedMainObserverInSecondaryObservers=L'utilisateur référant ne doit pas se trouver aussi parmi les observateurs secondaires
-wao.ui.form.Contact.error.invalidObservationBeginDate=La date de début de la marée doit correspondre à un mois valide (non vide) de la ligne
-wao.ui.form.Contact.error.mismatchCompanyForObserver=L'observateur %s n'est pas membre de la société %s
-wao.ui.form.Contact.error.missingComment=Il faut préciser un commentaire pour l'état '%s'
-wao.ui.form.Contact.error.missingCommentAdmin=Il faut préciser dans le commentaire administrateur pourquoi la donnée est '%s'
-wao.ui.form.Contact.error.missingContactStateMotif=Il faut préciser un motif de refus
-wao.ui.form.Contact.error.missingDataInputDate=Il faut préciser une date de saisie des données en plus de la date de transmission de la restitution
-wao.ui.form.Contact.error.missingDataReliability=Il faut préciser la qualité de la donnée avant de valider
-wao.ui.form.Contact.error.missingMainObserver=Il faut au moins un observateur référant
-wao.ui.form.Contact.error.missingObservationBeginDate=La date de début de marée est obligatoire pour l'état '%s'
-wao.ui.form.Contact.error.missingObservationEndDate=La date de fin d'observation est obligatoire pour l'état '%s'
-wao.ui.form.Contact.error.missingObservedDataControl=Il faut préciser une valeur pour le contrôle des données observées
-wao.ui.form.Contact.error.missingObserver=Il ne peut y avoir aucun observateur pour l'état '%s'
-wao.ui.form.Contact.error.missingRestitution=Il faut préciser une date de transmission de la restitution de la donnée avant de valider
-wao.ui.form.Contact.error.observationEndDateAfterToday=La date de fin de la marée ne peut pas être postérieure à la date du jour
-wao.ui.form.Contact.error.observationEndDateBeforeBeginDate=La date de fin d'observation ne peut pas être antérieure à celle du début
-wao.ui.form.Contact.error.transmissionDateBeforeDataInputDate=Il faut que la date de transmission de la restitution soit après la date de saisie des données
-wao.ui.form.Contact.error.unwantedContactStateMotif=Il ne faut pas préciser de motif de refus
wao.ui.disclaimer=Le site de « SUIVI DU REALISE DU PLAN D'ECHANTILLONNAGE DES OBSERVATIONS A LA MER » a fait l'objet d'une déclaration à la CNIL sous le numéro suivant \: 1414476
wao.ui.disclaimer.boats=Les données saisies dans cette page sont la propriété exclusive de la société. En dehors de la société, seul l'administrateur peut les consulter pour des questions de maintenance sur le site. L'administrateur est une personne de l'Ifremer.
wao.ui.email=Adresse e-mail
@@ -290,6 +270,26 @@
wao.ui.form.Company.error.nameMustBeUnique=Le nom de la société doit être unique
wao.ui.form.Company.title.creation=Création d'une société
wao.ui.form.Company.title.edition=Modification de la société %s
+wao.ui.form.Contact.error.dataInputDateAfterToday=La date de saisie des données doit être antérieure à la date du jour
+wao.ui.form.Contact.error.dataInputDateBeforeObservationEndDate=La date de saisie des données doit être postérieure à la date de fin d'observation
+wao.ui.form.Contact.error.duplicatedMainObserverInSecondaryObservers=L'utilisateur référant ne doit pas se trouver aussi parmi les observateurs secondaires
+wao.ui.form.Contact.error.invalidObservationBeginDate=La date de début de la marée doit correspondre à un mois valide (non vide) de la ligne
+wao.ui.form.Contact.error.mismatchCompanyForObserver=L'observateur %s n'est pas membre de la société %s
+wao.ui.form.Contact.error.missingComment=Il faut préciser un commentaire pour l'état '%s'
+wao.ui.form.Contact.error.missingCommentAdmin=Il faut préciser dans le commentaire administrateur pourquoi la donnée est '%s'
+wao.ui.form.Contact.error.missingContactStateMotif=Il faut préciser un motif de refus
+wao.ui.form.Contact.error.missingDataInputDate=Il faut préciser une date de saisie des données en plus de la date de transmission de la restitution
+wao.ui.form.Contact.error.missingDataReliability=Il faut préciser la qualité de la donnée avant de valider
+wao.ui.form.Contact.error.missingMainObserver=Il faut au moins un observateur référant
+wao.ui.form.Contact.error.missingObservationBeginDate=La date de début de marée est obligatoire pour l'état '%s'
+wao.ui.form.Contact.error.missingObservationEndDate=La date de fin d'observation est obligatoire pour l'état '%s'
+wao.ui.form.Contact.error.missingObservedDataControl=Il faut préciser une valeur pour le contrôle des données observées
+wao.ui.form.Contact.error.missingObserver=Il ne peut y avoir aucun observateur pour l'état '%s'
+wao.ui.form.Contact.error.missingRestitution=Il faut préciser une date de transmission de la restitution de la donnée avant de valider
+wao.ui.form.Contact.error.observationEndDateAfterToday=La date de fin de la marée ne peut pas être postérieure à la date du jour
+wao.ui.form.Contact.error.observationEndDateBeforeBeginDate=La date de fin d'observation ne peut pas être antérieure à celle du début
+wao.ui.form.Contact.error.transmissionDateBeforeDataInputDate=Il faut que la date de transmission de la restitution soit après la date de saisie des données
+wao.ui.form.Contact.error.unwantedContactStateMotif=Il ne faut pas préciser de motif de refus
wao.ui.form.SampleRow.boatsDescription=Ce champs correspond aux immatriculations des navires qui sont éligibles pour cette ligne. Vous pouvez utiliser n'importe quel séparateur pour séparer les immatriculations (virgule, point, espace ou saut de ligne)
wao.ui.form.SampleRow.error.codeMustBeUnique=Le code de la ligne doit être unique
wao.ui.form.SampleRow.error.missingDcf5Codes=Il faut préciser au moins un code DCF5
@@ -322,6 +322,8 @@
wao.ui.form.authentication.title=Identification WAO
wao.ui.form.boardingFrom=Sollicitations du navire depuis le
wao.ui.form.boatName.placeholder=Nom du bateau
+wao.ui.form.contact.boat.information=Informations sur le bateau
+wao.ui.form.contact.sampleRow.information=Informations sur la ligne du plan d'échantillonage
wao.ui.form.contactsFile=Fichier des contacts
wao.ui.form.definePasswordManually=définir manuellement
wao.ui.form.editComment=Commentaire sur la modification
Modified: trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/contacts.jsp
===================================================================
--- trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/contacts.jsp 2014-04-08 16:28:52 UTC (rev 1868)
+++ trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/contacts.jsp 2014-04-08 17:20:53 UTC (rev 1869)
@@ -526,8 +526,15 @@
<ul class="dropdown-menu">
<s:if test="authenticatedWaoUser.isAuthorizedToEditContact(#contact) || authenticatedWaoUser.isAuthorizedToDeleteContact(#contact)">
<li>
- <s:url action="edit-contact!input" id="editContactUrl">
+ <s:if test="authenticatedWaoUser.admin">
+ <s:set name="focusAnchor">adminFocus</s:set>
+ </s:if>
+ <s:else>
+ <s:set name="focusAnchor">coordinatorFocus</s:set>
+ </s:else>
+ <s:url action="edit-contact!input" id="editContactUrl" anchor='%{focusAnchor}'>
<s:param name="contactId" value="topiaId"/>
+
</s:url>
<s:a href="%{editContactUrl}">
<i class="icon-edit"></i> <s:text name="wao.ui.action.editOrDeleteContact"/>
Modified: trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/edit-contact-input.jsp
===================================================================
--- trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/edit-contact-input.jsp 2014-04-08 16:28:52 UTC (rev 1868)
+++ trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/edit-contact-input.jsp 2014-04-08 17:20:53 UTC (rev 1869)
@@ -18,14 +18,14 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
#L%
--%>
-<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
+<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%@taglib uri="/struts-tags" prefix="s" %>
<html>
<head>
<title>
<s:if test="updateContactCommand.creation">
- <s:text name="wao.ui.sampleRow.creation" />
+ <s:text name="wao.ui.sampleRow.creation"/>
</s:if>
<s:else>
<s:text name="wao.ui.contact.edition">
@@ -35,7 +35,7 @@
</title>
<script>
- $(document).ready(function() {
+ $(document).ready(function () {
});
@@ -45,7 +45,7 @@
<h1>
<s:if test="updateContactCommand.creation">
- <s:text name="wao.ui.contact.creation" />
+ <s:text name="wao.ui.contact.creation"/>
</s:if>
<s:else>
<s:text name="wao.ui.contact.edition">
@@ -54,54 +54,181 @@
</s:else>
</h1>
-<s:if test="updateContactCommand.observationAlreadyStarted">
- <div class="alert">
- <s:text name="wao.ui.form.SampleRow.warn.observationAlreadyStarted" />
- </div>
-</s:if>
-
<s:form>
- <s:hidden name="sampleRowId" value="%{sampleRowId}" />
+ <s:hidden name="contactId" value="%{contactId}"/>
<fieldset>
- <legend><s:text name="wao.ui.field.SampleRow.profession" /></legend>
+ <legend><s:text name="wao.ui.form.contact.boat.information"/></legend>
+ <s:textfield name="updateContactCommand.contact.boat.name"
+ label="%{getText('wao.ui.field.Boat.name')}"
+ readonly="true"/>
+ <s:textfield name="updateContactCommand.contact.boat.immatriculation"
+ value="%{'' + updateContactCommand.contact.boat.immatriculation}"
+ label="%{getText('wao.ui.field.Boat.immatriculation')}"
+ readonly="true"/>
+ <s:textfield name="updateContactCommand.contact.boat.districtCode"
+ label="%{getText('wao.ui.field.Boat.districtCode')}"
+ readonly="true"/>
+ <s:textfield name="updateContactCommand.contact.boat.boatLength"
+ label="%{getText('wao.ui.field.Boat.boatLength')}"
+ readonly="true"/>
+ <s:textfield name="updateContactCommand.contact.boat.buildYear"
+ value="%{'' + updateContactCommand.contact.boat.buildYear}"
+ label="%{getText('wao.ui.field.Boat.buildYear')}"
+ readonly="true"/>
+ </fieldset>
+ <fieldset>
+
+ <legend><s:text name="wao.ui.form.contact.sampleRow.information"/></legend>
+
+ <s:textfield name="updateContactCommand.contact.sampleRow.professionDescription"
+ label="%{getText('wao.ui.field.SampleRow.profession')}"
+ readonly="true"/>
+ <s:textfield name="updateContactCommand.contact.sampleRow.programName"
+ label="%{getText('wao.ui.field.SampleRow.programName')}"
+ readonly="true"/>
+ <s:textfield name="updateContactCommand.contact.sampleRow.periodBegin"
+ label="%{getText('wao.ui.field.SampleRow.periodBegin')}"
+ value="%{formatMonth(updateContactCommand.contact.sampleRow.periodBegin)}"
+ readonly="true"
+ cssClass="input-small"/>
+ <s:textfield name="updateContactCommand.contact.sampleRow.periodEnd"
+ label="%{getText('wao.ui.field.SampleRow.periodEnd')}"
+ value="%{formatMonth(updateContactCommand.contact.sampleRow.periodEnd)}"
+ readonly="true"
+ cssClass="input-small"/>
</fieldset>
- <s:if test=" ! updateContactCommand.creation">
+ <s:textfield name="updateContactCommand.contact.creationDate"
+ label="%{getText('wao.ui.field.Contact.creationDate')}"
+ value="%{formatDateTime(updateContactCommand.contact.sampleRow.periodEnd)}"
+ readonly="true"/>
- <fieldset>
- <legend><s:text name="wao.ui.form.editComment" /></legend>
+ <%--TODO Editable if canEditObservers()--%>
+ <fieldset>
+ <legend><s:text name="wao.ui.misc.observers"/></legend>
- <s:text name="wao.ui.form.editionAuthor" /> <s:property value="updateContactCommand.sampleRowLog.author.fullName" />
+ <s:select name="updateContactCommand.contact.mainObserver"
+ value="%{updateContactCommand.contact.mainObserver.topiaId}"
+ label="%{getText('wao.ui.field.Contact.mainObserver')}"
+ list="observers"
+ emptyOption="true"/>
- <s:textarea name="updateContactCommand.contact.comment" label="%{getText('wao.ui.form.editComment')}" requiredLabel="true" />
+ <s:if test="displaySecondaryObservers">
+ <s:select name="updateContactCommand.contact.secondaryObservers"
+ value="%{updateContactCommand.contact.secondaryObserversTopiaIds}"
+ label="%{getText('wao.ui.field.Contact.secondaryObservers')}"
+ list="observers"
+ multiple="true"/>
+ </s:if>
- </fieldset>
+ </fieldset>
- </s:if>
+ <%--TODO Editable if canEditObservationReport()--%>
+ <fieldset id="coordinatorFocus">
+ <legend><s:text name="wao.ui.misc.observationReport"/></legend>
+ <s:textfield name="updateContactCommand.contact.observationBeginDate"
+ label="%{getText('wao.ui.field.Contact.beginDate')}"
+ value="%{formatDateTime(updateContactCommand.contact.observationBeginDate)}"
+ placeholder="%{getDateTimePlaceholder()}"/>
+
+ <s:textfield name="updateContactCommand.contact.observationEndDate"
+ label="%{getText('wao.ui.field.Contact.endDate')}"
+ value="%{formatDateTime(updateContactCommand.contact.observationEndDate)}"
+ placeholder="%{getDateTimePlaceholder()}"/>
+
+ <s:select name="updateContactCommand.contact.contactState"
+ label="%{getText('wao.ui.field.Contact.contactState')}"
+ requiredLabel="true"
+ list="contactStates"
+ emptyOption="true"/>
+
+ <s:select name="updateContactCommand.contact.contactStateMotif"
+ value="%{updateContactCommand.contact.contactState.topiaId}"
+ label="%{getText('wao.ui.field.Contact.contactStateMotif')}"
+ list="contactStateMotives"
+ emptyOption="true"/>
+
+ <s:checkbox name="updateContactCommand.contact.mammalsObservation"
+ label="%{getText('wao.ui.field.Contact.mammalsObservation')}"/>
+
+ <s:checkbox name="updateContactCommand.contact.mammalsCapture"
+ label="%{getText('wao.ui.field.Contact.mammalsCapture')}"/>
+ <%--TODO onclick="updateMammalsInfoBox(this);" />--%>
+
+ <%--<span style="color: red;">--%>
+ <%--<s:text name="wao.ui.page.ContactForm.mammalsInfo.disclaimer"/>--%>
+ <%--</span>--%>
+
+ <s:textarea name="updateContactCommand.contact.mammalsInfo"
+ label="%{getText('wao.ui.field.Contact.mammalsInfo')}"/>
+
+ <s:textfield name="updateContactCommand.contact.dataInputDate"
+ label="%{getText('wao.ui.field.Contact.dataInputDate')}"
+ value="%{formatDate(updateContactCommand.contact.dataInputDate)}"
+ placeholder="%{getDatePlaceholder()}"/>
+
+ <%--TODO Editable for authenticatedWaoUser.coordinator--%>
+ <s:select name="updateContactCommand.contact.observedDataControl"
+ label="%{getText('wao.ui.field.Contact.observedDataControl')}"
+ list="observedDataControls"
+ emptyOption="true"/>
+
+ <s:textfield name="updateContactCommand.contact.restitution"
+ label="%{getText('wao.ui.field.Contact.restitution')}"
+ value="%{formatDate(updateContactCommand.contact.restitution)}"
+ placeholder="%{getDatePlaceholder()}"/>
+
+ <%--TODO Editable for authenticatedWaoUser.coordinatorOrObserver--%>
+ <s:textarea name="updateContactCommand.contact.comment"
+ label="%{getText('wao.ui.field.Contact.comment')}"/>
+
+ <%--TODO Editable for authenticatedWaoUser.coordinator--%>
+ <s:textarea name="updateContactCommand.contact.commentCoordinator"
+ label="%{getText('wao.ui.field.Contact.commentCoordinator')}"/>
+
+ </fieldset>
+
+ <fieldset name="adminFocus">
+ <legend><s:text name="wao.ui.form.programEvaluation"/></legend>
+
+ <%--TODO Editable for canEditDataReliability()--%>
+ <s:if test="displayDataReliability">
+ <s:select name="updateContactCommand.contact.dataReliability"
+ label="%{getText('wao.ui.field.Contact.dataReliability')}"
+ list="dataReliabilities"
+ emptyOption="true"/>
+ </s:if>
+
+ <%--TODO Editable for authenticatedWaoUser.admin--%>
+ <s:textarea name="updateContactCommand.contact.commentAdmin"
+ label="%{getText('wao.ui.field.Contact.commentAdmin')}"/>
+ </fieldset>
+
<div class="form-actions">
- <s:url action="contacts" id="contactsUrl" />
+ <s:url action="contacts" id="contactsUrl"/>
<s:a href="%{contactsUrl}" cssClass="btn">
- <i class="icon-chevron-left"></i> <s:text name="wao.ui.action.cancel" />
+ <i class="icon-chevron-left"></i> <s:text name="wao.ui.action.cancel"/>
</s:a>
- <s:if test=" authenticatedWaoUser.isAuthorizedToEditContact(updateContactCommand.contact)">
+ <s:if test="authenticatedWaoUser.isAuthorizedToEditContact(updateContactCommand.contact)">
<s:submit type="button" cssClass="btn">
- <i class="icon-hdd"></i> <s:text name="wao.ui.action.save" />
+ <i class="icon-hdd"></i> <s:text name="wao.ui.action.save"/>
</s:submit>
</s:if>
- <s:if test=" ! updateContactCommand.creation && authenticatedWaoUser.isAuthorizedToDeleteContact(updateContactCommand.contact)">
+ <s:if
+ test=" ! updateContactCommand.creation && authenticatedWaoUser.isAuthorizedToDeleteContact(updateContactCommand.contact)">
<s:url action="delete-contact" id="deleteContactUrl">
- <s:param name="contactId" value="contactId" />
+ <s:param name="contactId" value="contactId"/>
</s:url>
<s:a href="%{deleteContactUrl}" cssClass="btn pull-right">
- <i class="icon-trash"></i> <s:text name="wao.ui.action.deleteContact" />
+ <i class="icon-trash"></i> <s:text name="wao.ui.action.deleteContact"/>
</s:a>
</s:if>
</div>
1
0
08 Apr '14
Jenkins build became unstable: wao-ci » Wao :: Services #123
by admin+ci-codelutin.com@codelutin.com 08 Apr '14
by admin+ci-codelutin.com@codelutin.com 08 Apr '14
08 Apr '14
r1868 - in trunk/wao-services/src: main/java/fr/ifremer/wao/services test/java/fr/ifremer/wao/services/service test/resources/import
by tchemit@users.forge.codelutin.com 08 Apr '14
by tchemit@users.forge.codelutin.com 08 Apr '14
08 Apr '14
Author: tchemit
Date: 2014-04-08 18:28:52 +0200 (Tue, 08 Apr 2014)
New Revision: 1868
Url: http://forge.codelutin.com/projects/wao/repository/revisions/1868
Log:
refs #4487 fix contacts import tests
Modified:
trunk/wao-services/src/main/java/fr/ifremer/wao/services/ObsMerFixtures.java
trunk/wao-services/src/test/java/fr/ifremer/wao/services/service/ObsMerContactsServiceTest.java
trunk/wao-services/src/test/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanServiceTest.java
trunk/wao-services/src/test/resources/import/contacts.csv
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/ObsMerFixtures.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/ObsMerFixtures.java 2014-04-08 16:24:07 UTC (rev 1867)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/ObsMerFixtures.java 2014-04-08 16:28:52 UTC (rev 1868)
@@ -140,20 +140,8 @@
}
public AuthenticatedWaoUser admin() {
-// WaoUserTopiaDao waoUserDao = serviceContext.getPersistenceContext().getWaoUserDao();
WaoUser admin = getWaoUser("admin");
UserProfile userProfile = getUserProfile("admin");
-// admin.setCompany(ifremer());
-// admin.setLogin("admin");
-// admin.setActive(true);
-// UserProfileTopiaDao userProfileDao = serviceContext.getPersistenceContext().getUserProfileDao();
-// UserProfile userProfile = new UserProfileImpl();
-// userProfile.setUserRole(UserRole.ADMIN);
-// userProfile.setObsProgram(ObsProgram.OBSMER);
-// userProfile.setCanWrite(true);
-// userProfileDao.create(userProfile);
-// admin.addUserProfile(userProfile);
-// waoUserDao.create(admin);
AuthenticatedWaoUser authenticatedWaoUser = new AuthenticatedWaoUser(admin, userProfile);
return authenticatedWaoUser;
}
@@ -161,19 +149,6 @@
public AuthenticatedWaoUser jmichmuche() {
WaoUser jmichmuche = getWaoUser("jmichmuche");
UserProfile userProfile = getUserProfile("jmichmuche");
-// WaoUserTopiaDao waoUserDao = serviceContext.getPersistenceContext().getWaoUserDao();
-// WaoUser jmichmuche = new WaoUserImpl();
-// jmichmuche.setCompany(ifremer());
-// jmichmuche.setLogin("jmichmuche");
-// jmichmuche.setActive(true);
-// UserProfileTopiaDao userProfileDao = serviceContext.getPersistenceContext().getUserProfileDao();
-// UserProfile userProfile = new UserProfileImpl();
-// userProfile.setUserRole(UserRole.COORDINATOR);
-// userProfile.setObsProgram(ObsProgram.OBSMER);
-// userProfile.setCanWrite(true);
-// userProfileDao.create(userProfile);
-// jmichmuche.addUserProfile(userProfile);
-// waoUserDao.create(jmichmuche);
AuthenticatedWaoUser authenticatedWaoUser = new AuthenticatedWaoUser(jmichmuche, userProfile);
return authenticatedWaoUser;
}
Modified: trunk/wao-services/src/test/java/fr/ifremer/wao/services/service/ObsMerContactsServiceTest.java
===================================================================
--- trunk/wao-services/src/test/java/fr/ifremer/wao/services/service/ObsMerContactsServiceTest.java 2014-04-08 16:24:07 UTC (rev 1867)
+++ trunk/wao-services/src/test/java/fr/ifremer/wao/services/service/ObsMerContactsServiceTest.java 2014-04-08 16:28:52 UTC (rev 1868)
@@ -29,9 +29,9 @@
import org.apache.commons.logging.LogFactory;
import org.junit.Assert;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.nuiton.topia.persistence.pager.TopiaPagerBean;
+import org.nuiton.util.DateUtil;
import java.io.InputStream;
@@ -72,16 +72,18 @@
ObsMerContactsList contactsList = service.getContactsList(filter, pager);
}
- //FIXME finish to code samplingPlan import to make this works
- @Ignore
@Test
public void testImportContacts() {
fixtures.samplingPlan();
fixtures.jmichmuche();
fixtures.navires();
+ // today must be after the observation end date
+ serviceContext.setDate(DateUtil.createDate(1, 2, 2011));
+
InputStream input = null;
try {
+
Assert.assertEquals(0, service.getContactDao().count());
input = getClass().getResourceAsStream("/import/contacts.csv");
service.importContacts(fixtures.admin(), input);
Modified: trunk/wao-services/src/test/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanServiceTest.java
===================================================================
--- trunk/wao-services/src/test/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanServiceTest.java 2014-04-08 16:24:07 UTC (rev 1867)
+++ trunk/wao-services/src/test/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanServiceTest.java 2014-04-08 16:28:52 UTC (rev 1868)
@@ -26,6 +26,7 @@
import fr.ifremer.wao.entity.SampleMonth;
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.services.AbstractWaoServiceTest;
+import fr.ifremer.wao.services.FakeWaoServiceContext;
import fr.ifremer.wao.services.ObsMerFixtures;
import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
@@ -160,6 +161,12 @@
@Test
public void testRecomputeSampleRowEstimatedAndRealTides() throws Exception {
+ FakeWaoServiceContext serviceContext = newServiceContext();
+
+ // today must be after the observation end date (for contacts import)
+ serviceContext.setDate(DateUtil.createDate(1, 2, 2011));
+ fixtures = new ObsMerFixtures(serviceContext);
+
fixtures.contacts();
SampleRow sampleRow = serviceContext.getPersistenceContext().getSampleRowDao().forCodeEquals("2010_M0011").findUnique();
Modified: trunk/wao-services/src/test/resources/import/contacts.csv
===================================================================
--- trunk/wao-services/src/test/resources/import/contacts.csv 2014-04-08 16:24:07 UTC (rev 1867)
+++ trunk/wao-services/src/test/resources/import/contacts.csv 2014-04-08 16:28:52 UTC (rev 1868)
@@ -1,2 +1,3 @@
CONTACT_ID;CONTACT_DATE_CREATION;CONTACT_OBSERVATEUR_PRINCIPAL;CONTACT_OBSERVATEURS_SECONDAIRES;CONTACT_ETAT;CONTACT_DEBUT_OBSERVATION;CONTACT_FIN_OBSERVATION;CONTACT_SAISIE_DONNEES;CONTACT_COMMENTAIRE_OBSERVATEUR;CONTACT_COMMENTAIRE_COORDINATEUR;CONTACT_COMMENTAIRE_PROGRAMME;PLAN_CODE;NAVIRE_IMMATRICULATION;CONTACT_VALIDATION_SOCIETE;CONTACT_VALIDATION_PROGRAMME;CONTACT_QUALITE_DONNEE;CONTACT_OBSERVATION_MAMMIFERE;CONTACT_CAPTURE_ACCIDENTELLE;CONTACT_ETAT_MOTIF_CODE;CONTACT_ETAT_MOTIF_NOM;CONTACT_TRANSMISSION_RESTITUTION;CONTACT_DONNEES_ALLEGRO_VALIDEES
-;01/03/2011 10:24;jmichmuche;;CONTACT_DEFINITELY_REFUSED;;;;ne veut plus collaborer;;;2010_M0001;174258;?;?;UNKNOWN;N;N;REFUS_PROFESSION;;;
+;01/03/2011 10:24;jmichmuche;;Refus définitif;;;;ne veut plus collaborer;;;2010_M0001;174258;?;?;Inconnue;N;N;REFUS_PROFESSION;;;
+;01/03/2011 10:24;jmichmuche;;Observation réalisée;01/11/2010 10:24;02/11/2010 10:24;;ne veut plus collaborer;;;2010_M0001;174258;?;?;Inconnue;N;N;;;;
1
0
r1867 - trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations
by tchemit@users.forge.codelutin.com 08 Apr '14
by tchemit@users.forge.codelutin.com 08 Apr '14
08 Apr '14
Author: tchemit
Date: 2014-04-08 18:24:07 +0200 (Tue, 08 Apr 2014)
New Revision: 1867
Url: http://forge.codelutin.com/projects/wao/repository/revisions/1867
Log:
improve import I18nAble parserFormatter
Added:
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/I18nAbleParserFormatter.java
Copied: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/I18nAbleParserFormatter.java (from rev 1864, trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/LocalizedToStringParserFormatter.java)
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/I18nAbleParserFormatter.java (rev 0)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/I18nAbleParserFormatter.java 2014-04-08 16:24:07 UTC (rev 1867)
@@ -0,0 +1,71 @@
+package fr.ifremer.wao.services.service.csv.operations;
+
+import com.google.common.collect.Sets;
+import fr.ifremer.wao.WaoUtils;
+import fr.ifremer.wao.entity.I18nAble;
+import org.nuiton.csv.ValueParserFormatter;
+
+import java.text.ParseException;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+
+import static org.nuiton.i18n.I18n.l;
+
+/**
+ * Created on 4/8/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 4.0
+ */
+public class I18nAbleParserFormatter<E extends I18nAble> implements ValueParserFormatter<E> {
+
+ protected Map<E, String> toStrings = new HashMap<>();
+
+ protected Map<String, E> fromString = new HashMap<>();
+
+ protected final Locale locale;
+
+ /**
+ * To parse null values (the formatted value will then be an empty string).
+ */
+ protected boolean acceptNullValues;
+
+ public void setAcceptNullValues(boolean acceptNullValues) {
+ this.acceptNullValues = acceptNullValues;
+ }
+
+ @SafeVarargs
+ public I18nAbleParserFormatter(Locale locale, E... values) {
+ this(locale, Sets.newHashSet(values));
+ }
+
+ public I18nAbleParserFormatter(Locale locale, Collection<E> values) {
+ this.locale = locale;
+ for (E value : values) {
+ String valueToString = value == null ? "" : WaoUtils.l(locale, value);
+ toStrings.put(value, valueToString);
+ fromString.put(valueToString, value);
+ }
+ }
+
+ @Override
+ public String format(E value) {
+ String valueAsString = toStrings.get(value);
+ if (!acceptNullValues && valueAsString == null) {
+ throw new IllegalArgumentException();
+ }
+ return valueAsString;
+ }
+
+ @Override
+ public E parse(String valueAsString) throws ParseException {
+ E value = fromString.get(valueAsString);
+ if (!acceptNullValues && value == null) {
+ String message = l(locale, "wao.import.failure.wrongValue", valueAsString, fromString.keySet().toString());
+ throw new IllegalArgumentException(message);
+ }
+ return value;
+ }
+}
1
0
r1866 - in trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv: . operations
by tchemit@users.forge.codelutin.com 08 Apr '14
by tchemit@users.forge.codelutin.com 08 Apr '14
08 Apr '14
Author: tchemit
Date: 2014-04-08 18:23:14 +0200 (Tue, 08 Apr 2014)
New Revision: 1866
Url: http://forge.codelutin.com/projects/wao/repository/revisions/1866
Log:
improve import I18nAble parserFormatter
Removed:
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/LocalizedToStringParserFormatter.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/ObservedDataControlParserFormatter.java
Modified:
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ContactImportExportModel.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ObsMerContactImportExportModel.java
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ContactImportExportModel.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ContactImportExportModel.java 2014-04-08 12:03:05 UTC (rev 1865)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ContactImportExportModel.java 2014-04-08 16:23:14 UTC (rev 1866)
@@ -34,16 +34,16 @@
import fr.ifremer.wao.entity.ObsDebCode;
import fr.ifremer.wao.entity.ObsProgram;
import fr.ifremer.wao.entity.ObservationType;
+import fr.ifremer.wao.entity.ObservedDataControl;
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.entity.TerrestrialLocation;
import fr.ifremer.wao.entity.WaoUser;
import fr.ifremer.wao.services.service.csv.operations.BoatParserFormatter;
import fr.ifremer.wao.services.service.csv.operations.CompanyParserFormatter;
import fr.ifremer.wao.services.service.csv.operations.ContactStateMotivesParserFormatter;
-import fr.ifremer.wao.services.service.csv.operations.LocalizedToStringParserFormatter;
+import fr.ifremer.wao.services.service.csv.operations.I18nAbleParserFormatter;
import fr.ifremer.wao.services.service.csv.operations.LocationTypeParserFormatter;
import fr.ifremer.wao.services.service.csv.operations.ObsDebCodeParserFormatter;
-import fr.ifremer.wao.services.service.csv.operations.ObservedDataControlParserFormatter;
import fr.ifremer.wao.services.service.csv.operations.SampleRowParserFormatter;
import fr.ifremer.wao.services.service.csv.operations.UserParserFormatter;
import fr.ifremer.wao.services.service.csv.operations.UsersParserFormatter;
@@ -60,6 +60,7 @@
import org.nuiton.i18n.I18n;
import java.text.ParseException;
+import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
@@ -213,7 +214,7 @@
},
new CompanyParserFormatter(locale, null)
);
- modelBuilder.newColumnForImportExport("CONTACT_ETAT", "contactState", new LocalizedToStringParserFormatter<>(locale, ContactState.getAllowedStates(obsProgram)));
+ modelBuilder.newColumnForImportExport("CONTACT_ETAT", "contactState", new I18nAbleParserFormatter<>(locale, ContactState.getAllowedStates(obsProgram)));
modelBuilder.newColumnForImportExport("CONTACT_DEBUT_OBSERVATION", Contact.PROPERTY_OBSERVATION_BEGIN_DATE, Common.DAY_TIME);
modelBuilder.newColumnForImportExport("CONTACT_FIN_OBSERVATION", Contact.PROPERTY_OBSERVATION_END_DATE, Common.DAY_TIME);
modelBuilder.newColumnForImportExport("CONTACT_SAISIE_DONNEES", Contact.PROPERTY_DATA_INPUT_DATE, Common.DAY);
@@ -236,7 +237,7 @@
if (obsProgram == ObsProgram.OBSMER) {
modelBuilder.newColumnForImportExport("CONTACT_QUALITE_DONNEE", "dataReliability",
- new LocalizedToStringParserFormatter<>(locale, DataReliability.values()));
+ new I18nAbleParserFormatter<>(locale, DataReliability.values()));
modelBuilder.newColumnForImportExport("CONTACT_OBSERVATION_MAMMIFERE", Contact.PROPERTY_MAMMALS_OBSERVATION, Common.BOOLEAN);
modelBuilder.newColumnForImportExport("CONTACT_CAPTURE_ACCIDENTELLE", Contact.PROPERTY_MAMMALS_CAPTURE, Common.BOOLEAN);
modelBuilder.newIgnoredColumn("CONTACT_CAPTURE_ACCIDENTELLE_DETAILS");
@@ -254,7 +255,13 @@
}
});
modelBuilder.newColumnForImportExport("CONTACT_TRANSMISSION_RESTITUTION", Contact.PROPERTY_RESTITUTION, Common.DAY);
- modelBuilder.newColumnForImportExport("CONTACT_DONNEES_ALLEGRO_VALIDEES", Contact.PROPERTY_OBSERVED_DATA_CONTROL, new ObservedDataControlParserFormatter(locale));
+
+ List<ObservedDataControl> observedDataControlsValues = new LinkedList<>();
+ Collections.addAll(observedDataControlsValues, ObservedDataControl.values());
+ observedDataControlsValues.add(null);
+ I18nAbleParserFormatter<ObservedDataControl> valueParserFormatter = new I18nAbleParserFormatter<>(locale, observedDataControlsValues);
+ valueParserFormatter.setAcceptNullValues(true);
+ modelBuilder.newColumnForImportExport("CONTACT_DONNEES_ALLEGRO_VALIDEES", Contact.PROPERTY_OBSERVED_DATA_CONTROL, valueParserFormatter);
} else {
// FIXME 20110606 bleny contact.getTerrestrialLocation() may be null, export will fail
@@ -305,7 +312,7 @@
if (obsProgram == ObsProgram.OBSDEB) {
modelBuilder.newColumnForImportExport("CONTACT_DATE_DEBARQUEMENT", Contact.PROPERTY_LANDING_DATE, Common.DAY_TIME);
- modelBuilder.newColumnForImportExport("CONTACT_TYPE_OBSERVATION", "observationType", new LocalizedToStringParserFormatter<>(locale, ObservationType.values()));
+ modelBuilder.newColumnForImportExport("CONTACT_TYPE_OBSERVATION", "observationType", new I18nAbleParserFormatter<>(locale, ObservationType.values()));
modelBuilder.newColumnForImportExport("CONTACT_METIER", Contact.PROPERTY_OBS_DEB_CODE, new ObsDebCodeParserFormatter(locale, obsDebCodes));
}
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ObsMerContactImportExportModel.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ObsMerContactImportExportModel.java 2014-04-08 12:03:05 UTC (rev 1865)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ObsMerContactImportExportModel.java 2014-04-08 16:23:14 UTC (rev 1866)
@@ -32,13 +32,13 @@
import fr.ifremer.wao.entity.ContactStateMotif;
import fr.ifremer.wao.entity.DataReliability;
import fr.ifremer.wao.entity.ObsProgram;
+import fr.ifremer.wao.entity.ObservedDataControl;
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.entity.WaoUser;
import fr.ifremer.wao.services.service.csv.operations.BoatParserFormatter;
import fr.ifremer.wao.services.service.csv.operations.CompanyParserFormatter;
import fr.ifremer.wao.services.service.csv.operations.ContactStateMotivesParserFormatter;
-import fr.ifremer.wao.services.service.csv.operations.LocalizedToStringParserFormatter;
-import fr.ifremer.wao.services.service.csv.operations.ObservedDataControlParserFormatter;
+import fr.ifremer.wao.services.service.csv.operations.I18nAbleParserFormatter;
import fr.ifremer.wao.services.service.csv.operations.SampleRowParserFormatter;
import fr.ifremer.wao.services.service.csv.operations.UserParserFormatter;
import fr.ifremer.wao.services.service.csv.operations.UsersParserFormatter;
@@ -51,6 +51,7 @@
import org.nuiton.csv.ValueFormatter;
import org.nuiton.csv.ValueGetter;
+import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import java.util.Locale;
@@ -154,7 +155,7 @@
},
new CompanyParserFormatter(locale, null)
);
- modelBuilder.newColumnForImportExport("CONTACT_ETAT", "contactState", new LocalizedToStringParserFormatter<>(locale, ContactState.getAllowedStates(obsProgram)));
+ modelBuilder.newColumnForImportExport("CONTACT_ETAT", "contactState", new I18nAbleParserFormatter<>(locale, ContactState.getAllowedStates(obsProgram)));
modelBuilder.newColumnForImportExport("CONTACT_DEBUT_OBSERVATION", Contact.PROPERTY_OBSERVATION_BEGIN_DATE, Common.DAY_TIME);
modelBuilder.newColumnForImportExport("CONTACT_FIN_OBSERVATION", Contact.PROPERTY_OBSERVATION_END_DATE, Common.DAY_TIME);
modelBuilder.newColumnForImportExport("CONTACT_SAISIE_DONNEES", Contact.PROPERTY_DATA_INPUT_DATE, Common.DAY);
@@ -180,7 +181,7 @@
}
modelBuilder.newColumnForImportExport("CONTACT_QUALITE_DONNEE", "dataReliability",
- new LocalizedToStringParserFormatter<>(locale, DataReliability.values()));
+ new I18nAbleParserFormatter<>(locale, DataReliability.values()));
modelBuilder.newColumnForImportExport("CONTACT_OBSERVATION_MAMMIFERE", Contact.PROPERTY_MAMMALS_OBSERVATION, Common.BOOLEAN);
modelBuilder.newColumnForImportExport("CONTACT_CAPTURE_ACCIDENTELLE", Contact.PROPERTY_MAMMALS_CAPTURE, Common.BOOLEAN);
modelBuilder.newIgnoredColumn("CONTACT_CAPTURE_ACCIDENTELLE_DETAILS");
@@ -200,8 +201,14 @@
}
});
modelBuilder.newColumnForImportExport("CONTACT_TRANSMISSION_RESTITUTION", Contact.PROPERTY_RESTITUTION, Common.DAY);
- modelBuilder.newColumnForImportExport("CONTACT_DONNEES_ALLEGRO_VALIDEES", Contact.PROPERTY_OBSERVED_DATA_CONTROL, new ObservedDataControlParserFormatter(locale));
+ List<ObservedDataControl> observedDataControlsValues = new LinkedList<>();
+ Collections.addAll(observedDataControlsValues, ObservedDataControl.values());
+ observedDataControlsValues.add(null);
+ I18nAbleParserFormatter<ObservedDataControl> valueParserFormatter = new I18nAbleParserFormatter<>(locale, observedDataControlsValues);
+ valueParserFormatter.setAcceptNullValues(true);
+ modelBuilder.newColumnForImportExport("CONTACT_DONNEES_ALLEGRO_VALIDEES", Contact.PROPERTY_OBSERVED_DATA_CONTROL, valueParserFormatter);
+
return modelBuilder;
}
Deleted: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/LocalizedToStringParserFormatter.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/LocalizedToStringParserFormatter.java 2014-04-08 12:03:05 UTC (rev 1865)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/LocalizedToStringParserFormatter.java 2014-04-08 16:23:14 UTC (rev 1866)
@@ -1,72 +0,0 @@
-package fr.ifremer.wao.services.service.csv.operations;
-
-import com.google.common.collect.Sets;
-import org.nuiton.csv.ValueParserFormatter;
-import org.nuiton.util.StringUtil;
-
-import java.text.ParseException;
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-
-import static org.nuiton.i18n.I18n.l;
-
-/**
- * Created on 4/8/14.
- *
- * @author Tony Chemit <chemit(a)codelutin.com>
- * @since 4.0
- */
-public class LocalizedToStringParserFormatter<E> implements ValueParserFormatter<E> {
-
- protected Map<E, String> toStrings = new HashMap<>();
-
- protected Map<String, E> fromString = new HashMap<>();
-
- protected Locale locale;
-
- @SafeVarargs
- public LocalizedToStringParserFormatter(Locale locale, E... values) {
- this(locale, Sets.newHashSet(values), null);
- }
-
- public LocalizedToStringParserFormatter(Locale locale,
- Iterable<E> values) {
- this(locale, values, null);
- }
-
- public LocalizedToStringParserFormatter(Locale locale,
- Iterable<E> values,
- StringUtil.ToString<E> toString) {
- this.locale = locale;
- for (E value : values) {
- String valueToString;
- if (toString == null) {
- valueToString = value.toString();
- } else {
- valueToString = toString.toString(value);
- }
- toStrings.put(value, valueToString);
- fromString.put(valueToString, value);
- }
- }
-
- @Override
- public String format(E value) {
- String valueAsString = toStrings.get(value);
- if (valueAsString == null) {
- throw new IllegalArgumentException();
- }
- return valueAsString;
- }
-
- @Override
- public E parse(String valueAsString) throws ParseException {
- E value = fromString.get(valueAsString);
- if (value == null) {
- String message = l(locale, "wao.import.failure.wrongValue", valueAsString, fromString.keySet().toString());
- throw new IllegalArgumentException(message);
- }
- return value;
- }
-}
Deleted: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/ObservedDataControlParserFormatter.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/ObservedDataControlParserFormatter.java 2014-04-08 12:03:05 UTC (rev 1865)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/ObservedDataControlParserFormatter.java 2014-04-08 16:23:14 UTC (rev 1866)
@@ -1,82 +0,0 @@
-/*
- * #%L
- * Wao :: Business
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2012 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%
- */
-package fr.ifremer.wao.services.service.csv.operations;
-
-import fr.ifremer.wao.entity.ObservedDataControl;
-import org.apache.commons.lang3.StringUtils;
-import org.nuiton.csv.ValueParserFormatter;
-import org.nuiton.util.StringUtil;
-
-import java.text.ParseException;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Locale;
-
-/**
- * Basé sur un ToStringParserFormatter (comme toutes les énums) mais il faut
- * gérer le cas null.
- */
-public class ObservedDataControlParserFormatter implements ValueParserFormatter<ObservedDataControl> {
-
- // FIXME brendan 01/04/14 what the f...
-
- protected ValueParserFormatter<ObservedDataControl> nonNullObservedDataControlParserFormatter;
-
- public ObservedDataControlParserFormatter(Locale locale) {
- List<ObservedDataControl> observedDataControlsValues = new LinkedList<>();
- Collections.addAll(observedDataControlsValues, ObservedDataControl.values());
- observedDataControlsValues.add(null);
- StringUtil.ToString<ObservedDataControl> nullableObservedDataControlToString = new StringUtil.ToString<ObservedDataControl>() {
- @Override
- public String toString(ObservedDataControl observedDataControl) {
- String toString = "";
- if (observedDataControl != null) {
- toString = observedDataControl.toString();
- }
- return toString;
- }
- };
- nonNullObservedDataControlParserFormatter = new LocalizedToStringParserFormatter<>(locale, observedDataControlsValues, nullableObservedDataControlToString);
- }
-
- @Override
- public String format(ObservedDataControl observedDataControl) {
- String value = "";
- if (observedDataControl != null) {
- value = nonNullObservedDataControlParserFormatter.format(observedDataControl);
- }
- return value;
- }
-
- @Override
- public ObservedDataControl parse(String value) throws ParseException {
- ObservedDataControl observedDataControl = null;
- if (StringUtils.isNotBlank(value)) {
- observedDataControl = nonNullObservedDataControlParserFormatter.parse(value);
- }
- return observedDataControl;
-
- }
-}
1
0