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
- 2352 discussions
[Suiviobsmer-commits] r763 - in trunk: wao-business/src/main/java/fr/ifremer/wao/entity wao-business/src/main/xmi wao-ui/src/main/java/fr/ifremer/wao/ui/pages wao-ui/src/main/webapp
by bleny@users.labs.libre-entreprise.org 12 Nov '10
by bleny@users.labs.libre-entreprise.org 12 Nov '10
12 Nov '10
Author: bleny
Date: 2010-11-12 13:17:23 +0000 (Fri, 12 Nov 2010)
New Revision: 763
Log:
add codes descriptions in multiple places
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/DCFFiveCodeImpl.java
trunk/wao-business/src/main/xmi/wao.zargo
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java
trunk/wao-ui/src/main/webapp/SampleRowForm.tml
trunk/wao-ui/src/main/webapp/SamplingPlan.tml
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/DCFFiveCodeImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/DCFFiveCodeImpl.java 2010-11-12 12:48:18 UTC (rev 762)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/DCFFiveCodeImpl.java 2010-11-12 13:17:23 UTC (rev 763)
@@ -1,8 +1,21 @@
package fr.ifremer.wao.entity;
+import static org.nuiton.i18n.I18n._;
+
public class DCFFiveCodeImpl extends DCFFiveCodeAbstract {
+
@Override
+ public String getFishingGearDCFDescription() {
+ return _("DCF.gear." + getFishingGearDCF());
+ }
+
+ @Override
+ public String getTargetSpeciesDCFDescription() {
+ return _("DCF.species." + getTargetSpeciesDCF());
+ }
+
+ @Override
public String toString() {
String toString = getFishingGearDCF();
if (getTargetSpeciesDCF() != null) {
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java 2010-11-12 12:48:18 UTC (rev 762)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java 2010-11-12 13:17:23 UTC (rev 763)
@@ -30,6 +30,7 @@
import fr.ifremer.wao.bean.FacadeRow;
import fr.ifremer.wao.bean.SamplingFilter;
import fr.ifremer.wao.bean.SamplingFilterImpl;
+import fr.ifremer.wao.entity.DCFFiveCode;
import fr.ifremer.wao.entity.FishingZone;
import fr.ifremer.wao.entity.SampleMonth;
import fr.ifremer.wao.entity.SampleRow;
@@ -329,6 +330,10 @@
@Property
private Date month;
+ /* variable used in template */
+ @Property
+ private DCFFiveCode dcf5code;
+
/**
* Current SampleRow from loop
*/
@@ -360,10 +365,6 @@
return data;
}
- public String getDcf5code() {
- return StringUtil.join(row.getProfession().getDcf5code(), ", ", true);
- }
-
public List<Date> getMonths() {
if (months == null) {
months = getPeriod().getMonths();
Modified: trunk/wao-ui/src/main/webapp/SampleRowForm.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/SampleRowForm.tml 2010-11-12 12:48:18 UTC (rev 762)
+++ trunk/wao-ui/src/main/webapp/SampleRowForm.tml 2010-11-12 13:17:23 UTC (rev 763)
@@ -72,7 +72,9 @@
</a>
<ul>
<li t:type="loop" t:source="rowDCF5codes" t:value="dcf5Code" t:index="dcf5CodeIndex" t:volatile="true">
- ${dcf5Code.fishingGearDCF}_${dcf5Code.targetSpeciesDCF}
+ <span t:type="ck/Tooltip" t:value="${dcf5Code.fishingGearDCF} - ${dcf5Code.fishingGearDCFDescription} ; ${dcf5Code.targetSpeciesDCF} - ${dcf5Code.targetSpeciesDCFDescription}" t:effect="appear">
+ ${dcf5Code.fishingGearDCF}_${dcf5Code.targetSpeciesDCF}
+ </span>
<a t:type="actionlink" t:id="removeDcf5Code" t:context="dcf5CodeIndex" title="Supprimer ce code DCF5" t:zone="so-sampleRowForm-dcf5CodeZone">
<img src="${asset:context:img/remove-22px.png}" />
</a>
Modified: trunk/wao-ui/src/main/webapp/SamplingPlan.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/SamplingPlan.tml 2010-11-12 12:48:18 UTC (rev 762)
+++ trunk/wao-ui/src/main/webapp/SamplingPlan.tml 2010-11-12 13:17:23 UTC (rev 763)
@@ -244,7 +244,13 @@
<t:if t:test="fullView">
<td>${fishingZones}</td>
<td>${row.fishingZonesInfos}</td>
- <td>${row.profession.codeDCF5} ; ${dcf5code}</td>
+ <td>${row.profession.codeDCF5} ;
+ <t:loop source="row.profession.dcf5code" value="dcf5code">
+ <span t:type="ck/Tooltip" t:value="${dcf5Code.fishingGearDCF} - ${dcf5Code.fishingGearDCFDescription} ; ${dcf5Code.targetSpeciesDCF} - ${dcf5Code.targetSpeciesDCFDescription}" t:effect="appear">
+ ${dcf5Code.fishingGearDCF}_${dcf5Code.targetSpeciesDCF}
+ </span>
+ </t:loop>
+ </td>
<td>${row.profession.meshSize}</td>
<td>${row.profession.size}</td>
<td>${row.profession.other}</td>
1
0
[Suiviobsmer-commits] r762 - in trunk: wao-business/src/main/java/fr/ifremer/wao/service wao-ui/src/main/java/fr/ifremer/wao/ui/pages wao-ui/src/main/webapp
by bleny@users.labs.libre-entreprise.org 12 Nov '10
by bleny@users.labs.libre-entreprise.org 12 Nov '10
12 Nov '10
Author: bleny
Date: 2010-11-12 12:48:18 +0000 (Fri, 12 Nov 2010)
New Revision: 762
Log:
impact migration of DCF5Code in sample row form
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java
trunk/wao-ui/src/main/webapp/SampleRowForm.tml
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2010-11-12 08:57:59 UTC (rev 761)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2010-11-12 12:48:18 UTC (rev 762)
@@ -46,6 +46,7 @@
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.ContactDAO;
import fr.ifremer.wao.entity.DCFFiveCode;
+import fr.ifremer.wao.entity.DCFFiveCodeDAO;
import fr.ifremer.wao.entity.ElligibleBoat;
import fr.ifremer.wao.entity.ElligibleBoatDAO;
import fr.ifremer.wao.entity.FishingZone;
@@ -92,10 +93,12 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
+import java.util.Collection;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -138,6 +141,61 @@
// prepareBinderForProfession();
// }
+ /** given a collection of DCFCode (mixing some taken from DB and some
+ * other insciated), return the same collection but assure that all elements
+ * are now in the database.
+ *
+ * The method, insert all new codes in database, the others are already
+ * inserted so we reference them, so they will be used as foreign key.
+ */
+ protected Collection<DCFFiveCode> insertOrSelect(TopiaContext transaction,
+ Collection<DCFFiveCode> codes) throws TopiaException {
+ Collection<DCFFiveCode> result = new LinkedList<DCFFiveCode>();
+
+ for (DCFFiveCode code : codes) {
+
+ // try do find code in stored entities
+ DCFFiveCodeDAO dao = WaoDAOHelper.getDCFFiveCodeDAO(transaction);
+
+ // both fishingGear and targetSpecies code have to be equals for
+ // DCF5 code to be considered equals. targetSpecies as to be null
+ // if asked
+ Map<String, Object> properties = new HashMap<String, Object>();
+ properties.put(DCFFiveCode.FISHING_GEAR_DCF, code.getFishingGearDCF());
+
+ // next line may result in a "IS NULL", exactly what we want
+ properties.put(DCFFiveCode.TARGET_SPECIES_DCF, code.getTargetSpeciesDCF());
+
+ DCFFiveCode foundCode = dao.findByProperties(properties);
+
+ if (log.isDebugEnabled()) {
+ log.debug("foundCode = " + foundCode);
+ }
+
+ if (foundCode == null) {
+ if (log.isDebugEnabled()) {
+ log.debug(code + " is not already in DB, inserting");
+ }
+
+ // not found, let's insert a new row in database for this code
+ dao.create(code);
+ // add this new row in the result
+ result.add(code);
+ } else {
+ if (log.isDebugEnabled()) {
+ log.debug(code + " is already in DB, using");
+ }
+ // found : a row for code is already present, so we don't
+ // insert anything and just use this row by adding it in the
+ // result
+ result.add(foundCode);
+ }
+
+ }
+
+ return result;
+ }
+
@Override
public void executeCreateUpdateSampleRow(TopiaContext transaction,
SampleRow row, List<Boat> boats, SampleRowLog rowLog)
@@ -202,6 +260,11 @@
PeriodDates newPeriod = new PeriodDates(row.getPeriodBegin(), row.getPeriodEnd());
rowLog.addChangePeriod(oldPeriod, newPeriod, pattern);
+ // before saving profession
+ row.getProfession().setDcf5code(
+ insertOrSelect(transaction,
+ row.getProfession().getDcf5code()));
+
// Save Profession
ProfessionDAO professionDAO = WaoDAOHelper.getProfessionDAO(transaction);
context.prepareTopiaId(Profession.class, row.getProfession());
@@ -502,6 +565,14 @@
result.sizeSampleMonth();
result.sizeElligibleBoat();
+
+
+ // XXX bleny 20101110 browse code to force load it from BD
+ // "lazy" directive doesn't seem to work
+ for (DCFFiveCode code : result.getProfession().getDcf5code()) {
+ log.debug("row " + result.getCode() + " has DCF5 code " + code.toString());
+ }
+
return result;
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java 2010-11-12 08:57:59 UTC (rev 761)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java 2010-11-12 12:48:18 UTC (rev 762)
@@ -30,6 +30,8 @@
import fr.ifremer.wao.bean.UserRole;
import fr.ifremer.wao.entity.Boat;
import fr.ifremer.wao.entity.Company;
+import fr.ifremer.wao.entity.DCFFiveCode;
+import fr.ifremer.wao.entity.DCFFiveCodeImpl;
import fr.ifremer.wao.entity.FishingZone;
import fr.ifremer.wao.entity.Profession;
import fr.ifremer.wao.entity.ProfessionImpl;
@@ -58,6 +60,7 @@
import org.apache.tapestry5.annotations.SessionState;
import org.apache.tapestry5.beaneditor.BeanModel;
import org.apache.tapestry5.corelib.components.Form;
+import org.apache.tapestry5.corelib.components.Zone;
import org.apache.tapestry5.internal.OptionModelImpl;
import org.apache.tapestry5.internal.SelectModelImpl;
import org.apache.tapestry5.ioc.annotations.Inject;
@@ -69,6 +72,7 @@
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Date;
import java.util.List;
@@ -214,6 +218,95 @@
edited = true;
}
+
+
+ @Property
+ private boolean refreshDcf5CodeZone;
+
+ @Property
+ private int dcf5CodeIndex;
+
+ @Persist
+ private DCFFiveCode currentDcf5Code;
+
+ @Property
+ private String currentDCFGear;
+
+ @Property
+ private String currentDCFSpecies;
+
+ @Property
+ private DCFFiveCode dcf5Code;
+
+ @InjectComponent
+ private Zone dcf5CodeZone;
+
+ private List<DCFFiveCode> rowDCF5codes;
+
+ public DCFFiveCode getCurrentDcf5Code() {
+ if (currentDcf5Code == null) {
+ currentDcf5Code = new DCFFiveCodeImpl();
+ }
+ return currentDcf5Code;
+ }
+
+ public void setCurrentDcf5Code(DCFFiveCode currentDcf5Code) {
+ this.currentDcf5Code = currentDcf5Code;
+ }
+
+ public List<DCFFiveCode> getRowDCF5codes() {
+ if (rowDCF5codes == null) {
+ Collection<DCFFiveCode> codes = getSampleRow().getProfession().getDcf5code();
+ if (codes == null) {
+ rowDCF5codes = new ArrayList<DCFFiveCode>();
+ } else {
+ rowDCF5codes = new ArrayList<DCFFiveCode>(codes);
+ }
+ getSampleRow().getProfession().setDcf5code(rowDCF5codes);
+ }
+ return rowDCF5codes;
+ }
+
+ public void onChangeFromCurrentDCFGear(String currentDCFGear) {
+ getCurrentDcf5Code().setFishingGearDCF(currentDCFGear);
+ }
+
+ public void onChangeFromCurrentDCFSpecies(String currentDCFSpecies) {
+ getCurrentDcf5Code().setTargetSpeciesDCF(currentDCFSpecies);
+ }
+
+ public Object onActionFromAddCurrentDcf5Code() {
+ getRowDCF5codes().add(currentDcf5Code);
+
+ log.debug("added " + currentDcf5Code.getFishingGearDCF() + "_" +
+ currentDcf5Code.getTargetSpeciesDCF());
+
+ getSampleRow().getProfession().setDcf5code(rowDCF5codes);
+
+ currentDcf5Code = null;
+
+ refreshDcf5CodeZone = true;
+ return dcf5CodeZone;
+ }
+
+ public Object onActionFromRemoveDcf5Code(int dcf5CodeIndex) {
+
+ if (log.isDebugEnabled()) {
+ log.debug("dcf5codes before removing " + dcf5CodeIndex + " : " +
+ getSampleRow().getProfession().getDcf5code());
+ }
+
+ getRowDCF5codes().remove(dcf5CodeIndex);
+ getSampleRow().getProfession().setDcf5code(rowDCF5codes);
+
+ if (log.isDebugEnabled()) {
+ log.debug("dcf5codes after removing " + getSampleRow().getProfession().getDcf5code());
+ }
+
+ refreshDcf5CodeZone = true;
+ return dcf5CodeZone;
+ }
+
/*************************** FISHING ZONE *********************************/
/** Select model for the FishingZone list **/
Modified: trunk/wao-ui/src/main/webapp/SampleRowForm.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/SampleRowForm.tml 2010-11-12 08:57:59 UTC (rev 761)
+++ trunk/wao-ui/src/main/webapp/SampleRowForm.tml 2010-11-12 12:48:18 UTC (rev 762)
@@ -60,6 +60,27 @@
<t:beaneditor t:id="professionEditor" t:object="sampleRow.profession"
t:include="codeDCF5, meshSize, size, other, libelle, species" />
</div>
+ <div class="t-beaneditor">
+ <t:zone id="so-sampleRowForm-dcf5CodeZone" t:id="dcf5CodeZone" t:update="show">
+ <t:nuiton.subForm t:visible="refreshDcf5CodeZone">
+ <!--<t:label t:for="selectedDcf5Code" />:
+ <select t:type="select" t:id="selectedSampleRow" t:value="selectedSampleRow" t:model="sampleRowSelectModel"
+ t:mixins="ck/onEvent" t:event="change"/-->
+ <input t:type="textfield" t:value="currentDCFGear" size="3" t:id="currentDCFGear" t:mixins="ck/onEvent" t:event="change" />_<input t:type="textfield" t:value="currentDCFSpecies" size="3" t:id="currentDCFSpecies" t:mixins="ck/onEvent" t:event="change" />
+ <a t:type="actionlink" t:id="addCurrentDcf5Code" title="Ajouter ce code DCF5" t:zone="so-sampleRowForm-dcf5CodeZone">
+ <img src="${asset:context:img/add-16px.png}" />
+ </a>
+ <ul>
+ <li t:type="loop" t:source="rowDCF5codes" t:value="dcf5Code" t:index="dcf5CodeIndex" t:volatile="true">
+ ${dcf5Code.fishingGearDCF}_${dcf5Code.targetSpeciesDCF}
+ <a t:type="actionlink" t:id="removeDcf5Code" t:context="dcf5CodeIndex" title="Supprimer ce code DCF5" t:zone="so-sampleRowForm-dcf5CodeZone">
+ <img src="${asset:context:img/remove-22px.png}" />
+ </a>
+ </li>
+ </ul>
+ </t:nuiton.subForm>
+ </t:zone>
+ </div>
</p:else>
</t:if>
</fieldset>
1
0
[Suiviobsmer-commits] r761 - trunk/wao-business/src/main/java/fr/ifremer/wao/service
by bleny@users.labs.libre-entreprise.org 12 Nov '10
by bleny@users.labs.libre-entreprise.org 12 Nov '10
12 Nov '10
Author: bleny
Date: 2010-11-12 08:57:59 +0000 (Fri, 12 Nov 2010)
New Revision: 761
Log:
fix NPE while testing ServiceSampling
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2010-11-10 20:04:41 UTC (rev 760)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2010-11-12 08:57:59 UTC (rev 761)
@@ -423,8 +423,10 @@
// XXX bleny 20101110 browse code to force load it from BD
// "lazy" directive doesn't seem to work
- for (DCFFiveCode code : row.getProfession().getDcf5code()) {
- log.debug("row " + row.getCode() + " has DCF5 code " + code.toString());
+ if (row.getProfession() != null) {
+ for (DCFFiveCode code : row.getProfession().getDcf5code()) {
+ log.debug("row " + row.getCode() + " has DCF5 code " + code.toString());
+ }
}
}
return result;
1
0
[Suiviobsmer-commits] r760 - in trunk: wao-business/src/main/java/fr/ifremer/wao wao-business/src/main/java/fr/ifremer/wao/service wao-business/src/main/resources/i18n wao-business/src/main/xmi wao-ui/src/main/java/fr/ifremer/wao/ui/base wao-ui/src/main/resources/fr/ifremer/wao/ui/pages wao-ui/src/main/webapp
by bleny@users.labs.libre-entreprise.org 10 Nov '10
by bleny@users.labs.libre-entreprise.org 10 Nov '10
10 Nov '10
Author: bleny
Date: 2010-11-10 20:04:41 +0000 (Wed, 10 Nov 2010)
New Revision: 760
Log:
add filter on target species
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
trunk/wao-business/src/main/resources/i18n/wao-business-en_GB.properties
trunk/wao-business/src/main/resources/i18n/wao-business-fr_FR.properties
trunk/wao-business/src/main/xmi/wao.zargo
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java
trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/SamplingPlan.properties
trunk/wao-ui/src/main/webapp/SamplingPlan.tml
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2010-11-10 19:44:47 UTC (rev 759)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2010-11-10 20:04:41 UTC (rev 760)
@@ -337,12 +337,17 @@
calendar.add(Calendar.MONTH, nbMonthsFinishedFromToday);
query.addWhere(sampleRowProperty.periodEnd(), TopiaQuery.Op.GE, calendar.getTime());
}
-
+
if (filter.getFishingGearDCF() != null) {
query.addEquals(WaoQueryHelper.newDCFFiveCodeProperty().fishingGearDCF(),
filter.getFishingGearDCF());
}
+ if (filter.getTargetSpeciesDCF() != null) {
+ query.addEquals(WaoQueryHelper.newDCFFiveCodeProperty().targetSpeciesDCF(),
+ filter.getTargetSpeciesDCF());
+ }
+
if(logger.isDebugEnabled()) {
logger.debug("sampling filter query " + query);
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2010-11-10 19:44:47 UTC (rev 759)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2010-11-10 20:04:41 UTC (rev 760)
@@ -392,32 +392,23 @@
// builder.setFishingZoneProperty(fishingZoneProperty);
// builder.applySamplingFilter(filter);
+ WaoQueryHelper.DCFFiveCodeProperty dcf5CodeProperty = WaoQueryHelper.newDCFFiveCodeProperty();
+
// Add join for FishingZone
TopiaQuery query = builder.applySamplingFilter(filter).
addDistinct().
+ setSelect(sampleRowProperty.$alias(),
+ fishingZoneProperty.facadeName(),
+ fishingZoneProperty.sectorName(),
+ fishingZoneProperty.districtCode()).
addLeftJoin(sampleRowProperty.fishingZone(), fishingZoneProperty.$alias(), false).
+ addLeftJoin(sampleRowProperty.professionProperty().dcf5code(), dcf5CodeProperty.$alias(), false).
// Order By facade, sector, districtCode, sampleRowCode
addOrder(fishingZoneProperty.facadeName(),
fishingZoneProperty.sectorName(),
fishingZoneProperty.districtCode(),
sampleRowProperty.code());
-
- // Need fishingZone properties in Select to use them in orderBy
-// addSelect(queryBuilder.getFacadeNameProperty(),
-// queryBuilder.getSectorNameProperty(),
-// queryBuilder.getFishingZoneDistrictProperty());
-
- WaoQueryHelper.DCFFiveCodeProperty dcf5CodeProperty = WaoQueryHelper.newDCFFiveCodeProperty();
- query.addLeftJoin(sampleRowProperty.professionProperty().dcf5code(),
- dcf5CodeProperty.$alias(), false);
-
- query.setSelect(sampleRowProperty.$alias(),
- fishingZoneProperty.facadeName(),
- fishingZoneProperty.sectorName(),
- fishingZoneProperty.districtCode());
- query.addDistinct();
-
if (log.isDebugEnabled()) {
log.debug("Query : " + query);
}
@@ -481,8 +472,14 @@
WaoQueryHelper.SampleRowProperty sampleRowProperty =
builder.initializeForSampleRow(false);
+ WaoQueryHelper.DCFFiveCodeProperty dcf5CodeProperty =
+ WaoQueryHelper.newDCFFiveCodeProperty();
+
TopiaQuery query = builder.applySamplingFilter(filter).
addDistinct().
+ setSelect(sampleRowProperty.$alias()).
+ addLeftJoin(sampleRowProperty.professionProperty().dcf5code(),
+ dcf5CodeProperty.$alias(), false).
addOrder(sampleRowProperty.code());
List<SampleRow> rows = dao.findAllByQuery(query);
@@ -1094,4 +1091,15 @@
Set<String> result = new HashSet<String>(dcfGears);
return result;
}
+
+ @Override
+ protected Set<String> executeGetDCFSpecies(TopiaContext transaction, SamplingFilter filter) throws Exception {
+ TopiaQuery query = WaoDAOHelper.getDCFFiveCodeDAO(transaction).createQuery();
+ query.setSelect(DCFFiveCode.TARGET_SPECIES_DCF)
+ .addNotNull(DCFFiveCode.TARGET_SPECIES_DCF)
+ .addDistinct();
+ List<String> dcfGears = transaction.findByQuery(query);
+ Set<String> result = new HashSet<String>(dcfGears);
+ return result;
+ }
}
Modified: trunk/wao-business/src/main/resources/i18n/wao-business-en_GB.properties
===================================================================
--- trunk/wao-business/src/main/resources/i18n/wao-business-en_GB.properties 2010-11-10 19:44:47 UTC (rev 759)
+++ trunk/wao-business/src/main/resources/i18n/wao-business-en_GB.properties 2010-11-10 20:04:41 UTC (rev 760)
@@ -1,88 +1,64 @@
-# SURROUNDING NETS
-DCF.gear.PS=With purse lines (purse seines)
-DCF.gear.PS1=One boat operated purse seines
-DCF.gear.PS2=Tow boats operated purse seines
-DCF.gear.LA=Wihtout purse lines (lampara)
-
-# SEINE NETS
-DCF.gear.SB=Beach seines
-DCF.gear.SV=Boat or vessel seines
-DCF.gear.SDN=Danish seines
-DCF.gear.SSC=Scottish seines
-DCF.gear.SPR=Pair seines
-DCF.gear.SW=Seine nets (not specified)
-
-# TRAWLS
-DCF.gear.TBB=Beam trawls
-DCF.gear.OTB=Otter trawls
-DCF.gear.OTM=Otter trawls
-DCF.gear.OTT=Other twin trawls
-DCF.gear.PT=Pair trawls (not specified)
-DCF.gear.OT=Otter trawls (not specified)
-DCF.gear.PTM=Pair trawls
-DCF.gear.PTB=Pair trawls
-DCF.gear.TBN=Nephrops trawls
-DCF.gear.TBS=Shrimp trawls
-DCF.gear.TMS=Shrimp trawls
-DCF.gear.TB=Bottom trawls (not specified)
-DCF.gear.TM=Midwater trawls (not specified)
-DCF.gear.TX=Other trawls (not specified)
-
-# DREDGES
DCF.gear.DRB=Boat dredges
DCF.gear.DRH=Hand dredges
-
-# LIFT NETS
-DCF.gear.LNP=Portable lift nets
-DCF.gear.LNB=Boat-operated lift nets
-DCF.gear.LNS=Shore-operated stationary lift nets
-DCF.gear.LN=Lift nets (not specified)
-
-# FALLING GEAR
+DCF.gear.FAR=Aerial traps
DCF.gear.FCN=Cast nets
DCF.gear.FG=Falling gear (not specified)
-
-# GILLNETS AND ENTANGLING NETS
-DCF.gear.GNS=Set gillnets (anchored)
-DCF.gear.GND=Driftnets
-DCF.gear.GNC=Encircling gillnets
-DCF.gear.GNF=Fixed gillnets
-DCF.gear.GTR=Trammel nets
-DCF.gear.GTN=Combined gillnets-trammel nets
-DCF.gear.GEN=Gillnets and entangling nets (not specified)
-DCF.gear.GN=Gillnets (not specified)
-
-# TRAPS
+DCF.gear.FIX=Traps (not specified)
DCF.gear.FPN=Stationary uncovered pound nets
DCF.gear.FPO=Pots
-DCF.gear.FYK=Fyke nets
DCF.gear.FSN=Stow nets
DCF.gear.FWR=Barriers, fences, weirs, etc.
-DCF.gear.FAR=Aerial traps
-DCF.gear.FIX=Traps (not specified)
-
-# LIGNES ET HAME\u00c7ONS
-DCF.gear.LHP=Handlines and pole-lines (hand-operated)
+DCF.gear.FYK=Fyke nets
+DCF.gear.GEN=Gillnets and entangling nets (not specified)
+DCF.gear.GN=Gillnets (not specified)
+DCF.gear.GNC=Encircling gillnets
+DCF.gear.GND=Driftnets
+DCF.gear.GNF=Fixed gillnets
+DCF.gear.GNS=Set gillnets (anchored)
+DCF.gear.GTN=Combined gillnets-trammel nets
+DCF.gear.GTR=Trammel nets
+DCF.gear.HAR=Harpoons
+DCF.gear.HMD=Mechanized dredges
+DCF.gear.HMP=Pumps
+DCF.gear.HMX=Harvesting machines (not specified)
+DCF.gear.LA=Wihtout purse lines (lampara)
DCF.gear.LHM=Handlines and pole-lines (mechanized)
-DCF.gear.LLS=Set longlines
-DCF.gear.LLD=Drifting longlines
+DCF.gear.LHP=Handlines and pole-lines (hand-operated)
DCF.gear.LL=Longlines (not specified)
+DCF.gear.LLD=Drifting longlines
+DCF.gear.LLS=Set longlines
+DCF.gear.LN=Lift nets (not specified)
+DCF.gear.LNB=Boat-operated lift nets
+DCF.gear.LNP=Portable lift nets
+DCF.gear.LNS=Shore-operated stationary lift nets
DCF.gear.LTL=Trolling lines
DCF.gear.LX=Hooks and lines (not specified)
-
-# GRAPPLING AND WOUNDING
-DCF.gear.HAR=Harpoons
-
-# HARVESTING MACHINES
-DCF.gear.HMP=Pumps
-DCF.gear.HMD=Mechanized dredges
-DCF.gear.HMX=Harvesting machines (not specified)
-
-# DIVERS
DCF.gear.MIS=Miscellaneous
-DCF.gear.RG=Recreational fishing gear
DCF.gear.NK=Gear not know or not specified
-
+DCF.gear.OT=Otter trawls (not specified)
+DCF.gear.OTB=Otter trawls
+DCF.gear.OTM=Otter trawls
+DCF.gear.OTT=Other twin trawls
+DCF.gear.PS=With purse lines (purse seines)
+DCF.gear.PS1=One boat operated purse seines
+DCF.gear.PS2=Tow boats operated purse seines
+DCF.gear.PT=Pair trawls (not specified)
+DCF.gear.PTB=Pair trawls
+DCF.gear.PTM=Pair trawls
+DCF.gear.RG=Recreational fishing gear
+DCF.gear.SB=Beach seines
+DCF.gear.SDN=Danish seines
+DCF.gear.SPR=Pair seines
+DCF.gear.SSC=Scottish seines
+DCF.gear.SV=Boat or vessel seines
+DCF.gear.SW=Seine nets (not specified)
+DCF.gear.TB=Bottom trawls (not specified)
+DCF.gear.TBB=Beam trawls
+DCF.gear.TBN=Nephrops trawls
+DCF.gear.TBS=Shrimp trawls
+DCF.gear.TM=Midwater trawls (not specified)
+DCF.gear.TMS=Shrimp trawls
+DCF.gear.TX=Other trawls (not specified)
wao.business.bean.DataReliability.doubtful=doubtful
wao.business.bean.DataReliability.not_reliable=not reliable
wao.business.bean.DataReliability.reliable=reliable
Modified: trunk/wao-business/src/main/resources/i18n/wao-business-fr_FR.properties
===================================================================
--- trunk/wao-business/src/main/resources/i18n/wao-business-fr_FR.properties 2010-11-10 19:44:47 UTC (rev 759)
+++ trunk/wao-business/src/main/resources/i18n/wao-business-fr_FR.properties 2010-11-10 20:04:41 UTC (rev 760)
@@ -1,147 +1,123 @@
-# FILETS TOURNANTS
-DCF.gear.PS=Filets tournants avec coulisse (sennes coulissantes)
-DCF.gear.PS1=Filets tournants, sennes coulissantes man\u0153uvr\u00e9es par un bateau
-DCF.gear.PS2=Filets tournants, sennes coulissantes man\u0153uvr\u00e9es par deux bateaux
-DCF.gear.LA=Filets tournants sans coulisse (filet lamparo)
-
-# SENNES
-DCF.gear.SB=Sennes de plages
-DCF.gear.SV=Sennes hal\u00e9es \u00e0 bord
-DCF.gear.SDN=Sennes danoises
-DCF.gear.SSC=Sennes \u00e9cossaises
-DCF.gear.SPR=Sennes man\u0153uvr\u00e9es par deux bateaux
-DCF.gear.SW=Sennes (non sp\u00e9cifi\u00e9es)
-
-# CHALUTS
-DCF.gear.OTB=Chalut de fond \u00e0 panneaux
-DCF.gear.OTM=Chaluts p\u00e9lagiques \u00e0 panneaux
-DCF.gear.OTT=Chaluts jumeaux \u00e0 panneaux
-DCF.gear.OT=Chaluts \u00e0 panneaux (non sp\u00e9cifi\u00e9)
-DCF.gear.PT=Chalut-b\u0153ufs (non sp\u00e9cifi\u00e9)
-DCF.gear.TBB=Chaluts \u00e0 perche
-DCF.gear.PTM=Chalut-b\u0153ufs p\u00e9lagiques
-DCF.gear.PTB=Chalut-b\u0153ufs de fond
-DCF.gear.TBN=Chalut \u00e0 langoustines
-DCF.gear.TBS=Chalut \u00e0 crevettes
-DCF.gear.TMS=Chalut \u00e0 crevettes
-DCF.gear.TB=Chalut de fond (non sp\u00e9cifi\u00e9)
-DCF.gear.TM=Chalut p\u00e9lagique (non sp\u00e9cifi\u00e9)
-DCF.gear.TX=Autre chalut (non sp\u00e9cifi\u00e9)
-
-# DRAGUES
-DCF.gear.DRB=Dragues remorqu\u00e9es par bateau
-DCF.gear.DRH=Dragues \u00e0 main
-
-# FILETS SOULEV\u00c9S
-DCF.gear.LNP=Filets soulev\u00e9s portatifs
-DCF.gear.LNB=Filets soulev\u00e9s man\u0153uvr\u00e9es du bateau
-DCF.gear.LNS=Filets soulev\u00e9s fixes man\u0153uvr\u00e9es du rivage
-DCF.gear.LN=Filets soulev\u00e9s (non sp\u00e9cifi\u00e9s)
-
-# ENGINS RETOMBANTS
-DCF.gear.FCN=\u00c9perviers
-DCF.gear.FG=Autres engins retombants (non-sp\u00e9cifi\u00e9s)
-
-# FILETS MAILLANTS ET FILETS EMMELANTS
-DCF.gear.GNS=Filets maillants cal\u00e9s (ancr\u00e9s)
-DCF.gear.GND=Filets maillants d\u00e9rivants (filets d\u00e9rivants)
-DCF.gear.GNC=Filets maillants encerclants
-DCF.gear.GNF=Filets maillants fixes (sur perches)
-DCF.gear.GTR=Tr\u00e9mails
-DCF.gear.GTN=Tr\u00e9mails et filets maillants combin\u00e9s
-DCF.gear.GEN=Filets maillants et filets emm\u00e9lants (non sp\u00e9cifi\u00e9s)
-DCF.gear.GN=Filets maillants (non sp\u00e9cifi\u00e9s)
-
-# PI\u00c8GES
-DCF.gear.FPN=Filets-pi\u00e8ges fixes non couverts
+DCF.gear.DRB=Dragues remorqu\u00E9es par bateau
+DCF.gear.DRH=Dragues \u00E0 main
+DCF.gear.FAR=Pi\u00E8ges a\u00E9riens
+DCF.gear.FCN=\u00C9perviers
+DCF.gear.FG=Autres engins retombants (non-sp\u00E9cifi\u00E9s)
+DCF.gear.FIX=Pi\u00E8ges (non-sp\u00E9cifi\u00E9s)
+DCF.gear.FPN=Filets-pi\u00E8ges fixes non couverts
DCF.gear.FPO=Nasses (casiers)
-DCF.gear.FYK=Verveux
-DCF.gear.FSN=Filets \u00e0 l'\u00e9talage (diables)
+DCF.gear.FSN=Filets \u00E0 l'\u00E9talage (diables)
DCF.gear.FWR=Barrages, parcs, bordigues, etc.
-DCF.gear.FAR=Pi\u00e8ges a\u00e9riens
-DCF.gear.FIX=Pi\u00e8ges (non-sp\u00e9cifi\u00e9s)
-
-# LIGNES ET HAME\u00c7ONS
-DCF.gear.LHP=Lignes \u00e0 main et lignes \u00e0 cannes
-DCF.gear.LHM=Lignes \u00e0 main et lignes avec cannes
-DCF.gear.LLS=Palangres cal\u00e9es ou semi-flottantes
-DCF.gear.LLD=Palangres d\u00e9rivantes
-DCF.gear.LL=Palangres (non sp\u00e9cifi\u00e9es)
-DCF.gear.LTL=lignes de tra\u00eene
-DCF.gear.LX=Hame\u00e7ons et lignes (non sp\u00e9cifi\u00e9s)
-
-# ENGINS DE P\u00caCHE PAR ACCROCHAGE OU PAR BLESSURE
+DCF.gear.FYK=Verveux
+DCF.gear.GEN=Filets maillants et filets emm\u00E9lants (non sp\u00E9cifi\u00E9s)
+DCF.gear.GES=Tamis \u00E0 civelles
+DCF.gear.GN=Filets maillants (non sp\u00E9cifi\u00E9s)
+DCF.gear.GNC=Filets maillants encerclants
+DCF.gear.GND=Filets maillants d\u00E9rivants (filets d\u00E9rivants)
+DCF.gear.GNF=Filets maillants fixes (sur perches)
+DCF.gear.GNS=Filets maillants cal\u00E9s (ancr\u00E9s)
+DCF.gear.GTN=Tr\u00E9mails et filets maillants combin\u00E9s
+DCF.gear.GTR=Tr\u00E9mails
DCF.gear.HAR=Harpons
-
-# ENGINS DE R\u00c9COLTE
+DCF.gear.HMD=Dragues m\u00E9canis\u00E9es
DCF.gear.HMP=Pompes
-DCF.gear.HMD=Dragues m\u00e9canis\u00e9es
-DCF.gear.HMX=Engins de r\u00e9colte (non sp\u00e9cifi\u00e9s)
-
-# DIVERS
+DCF.gear.HMX=Engins de r\u00E9colte (non sp\u00E9cifi\u00E9s)
+DCF.gear.LA=Filets tournants sans coulisse (filet lamparo)
+DCF.gear.LHM=Lignes \u00E0 main et lignes avec cannes
+DCF.gear.LHP=Lignes \u00E0 main et lignes \u00E0 cannes
+DCF.gear.LL=Palangres (non sp\u00E9cifi\u00E9es)
+DCF.gear.LLD=Palangres d\u00E9rivantes
+DCF.gear.LLS=Palangres cal\u00E9es ou semi-flottantes
+DCF.gear.LN=Filets soulev\u00E9s (non sp\u00E9cifi\u00E9s)
+DCF.gear.LNB=Filets soulev\u00E9s man\u0153uvr\u00E9es du bateau
+DCF.gear.LNP=Filets soulev\u00E9s portatifs
+DCF.gear.LNS=Filets soulev\u00E9s fixes man\u0153uvr\u00E9es du rivage
+DCF.gear.LTL=lignes de tra\u00EEne
+DCF.gear.LX=Hame\u00E7ons et lignes (non sp\u00E9cifi\u00E9s)
DCF.gear.MIS=Divers
-DCF.gear.RG=Engins de p\u00eache r\u00e9vr\u00e9ative
-DCF.gear.NK=Engins inconnus ou non sp\u00e9cifi\u00e9s
-DCF.gear.GES=Tamis \u00e0 civelles
-
-DCF.species.DEF=Esp\u00e8ces d\u00e9mersales
-DCF.species.MOL=Mollusques
-DCF.species.SPF=Petits p\u00e9lagiques
-DCF.species.LPF=Grands p\u00e9lagiques
-DCF.species.CRU=Crustac\u00e9s
-DCF.species.CAT=Esp\u00e8ces catadromes
-DCF.species.DWS=Esp\u00e8ces d'eaux profondes
-DCF.species.FIN=Poisson plats
+DCF.gear.NK=Engins inconnus ou non sp\u00E9cifi\u00E9s
+DCF.gear.OT=Chaluts \u00E0 panneaux (non sp\u00E9cifi\u00E9)
+DCF.gear.OTB=Chalut de fond \u00E0 panneaux
+DCF.gear.OTM=Chaluts p\u00E9lagiques \u00E0 panneaux
+DCF.gear.OTT=Chaluts jumeaux \u00E0 panneaux
+DCF.gear.PS=Filets tournants avec coulisse (sennes coulissantes)
+DCF.gear.PS1=Filets tournants, sennes coulissantes man\u0153uvr\u00E9es par un bateau
+DCF.gear.PS2=Filets tournants, sennes coulissantes man\u0153uvr\u00E9es par deux bateaux
+DCF.gear.PT=Chalut-b\u0153ufs (non sp\u00E9cifi\u00E9)
+DCF.gear.PTB=Chalut-b\u0153ufs de fond
+DCF.gear.PTM=Chalut-b\u0153ufs p\u00E9lagiques
+DCF.gear.RG=Engins de p\u00EAche r\u00E9vr\u00E9ative
+DCF.gear.SB=Sennes de plages
+DCF.gear.SDN=Sennes danoises
+DCF.gear.SPR=Sennes man\u0153uvr\u00E9es par deux bateaux
+DCF.gear.SSC=Sennes \u00E9cossaises
+DCF.gear.SV=Sennes hal\u00E9es \u00E0 bord
+DCF.gear.SW=Sennes (non sp\u00E9cifi\u00E9es)
+DCF.gear.TB=Chalut de fond (non sp\u00E9cifi\u00E9)
+DCF.gear.TBB=Chaluts \u00E0 perche
+DCF.gear.TBN=Chalut \u00E0 langoustines
+DCF.gear.TBS=Chalut \u00E0 crevettes
+DCF.gear.TM=Chalut p\u00E9lagique (non sp\u00E9cifi\u00E9)
+DCF.gear.TMS=Chalut \u00E0 crevettes
+DCF.gear.TX=Autre chalut (non sp\u00E9cifi\u00E9)
DCF.species.ALG=Algues
+DCF.species.CAT=Esp\u00E8ces catadromes
+DCF.species.CRU=Crustac\u00E9s
+DCF.species.DEF=Esp\u00E8ces d\u00E9mersales
+DCF.species.DWS=Esp\u00E8ces d'eaux profondes
+DCF.species.FIN=Poisson plats
+DCF.species.LPF=Grands p\u00E9lagiques
+DCF.species.MOL=Mollusques
+DCF.species.SPF=Petits p\u00E9lagiques
wao.business.bean.DataReliability.doubtful=douteuse
wao.business.bean.DataReliability.not_reliable=non exploitable
wao.business.bean.DataReliability.reliable=exploitable
-wao.business.bean.DataReliability.unknown=non renseign\u00e9e
-wao.business.bean.GlobalIndicatorValue.bad=P\u00e9nalit\u00e9 de niveau 1
+wao.business.bean.DataReliability.unknown=non renseign\u00E9e
+wao.business.bean.GlobalIndicatorValue.bad=P\u00E9nalit\u00E9 de niveau 1
wao.business.bean.GlobalIndicatorValue.good=Bonus de niveau 1
wao.business.bean.GlobalIndicatorValue.neutral=Conforme au cahier des charges
-wao.business.bean.GlobalIndicatorValue.very_bad=P\u00e9nalit\u00e9 de niveau 2
+wao.business.bean.GlobalIndicatorValue.very_bad=P\u00E9nalit\u00E9 de niveau 2
wao.business.bean.GlobalIndicatorValue.very_good=Bonus de niveau 2
-wao.business.bean.SynthesisId.allegro_reactivity=D\u00e9lais de transmission des donn\u00e9es
-wao.business.bean.SynthesisId.compliance_boarding=Respect du nombre d'observateurs embarqu\u00e9s
-wao.business.bean.SynthesisId.contact_state=\u00c9tats des contacts
-wao.business.bean.SynthesisId.data_reliability=Qualit\u00e9 de la donn\u00e9e
-wao.business.bean.SynthesisId.graph_boarding=Taux d'embarquement sur un m\u00eame navire conforme aux exigences
-wao.business.bean.SynthesisId.graph_sampling=Taux de r\u00e9alisation du plan d'\u00e9chantillonage
-wao.business.bean.SynthesisId.non_compliance_boarding=Non-respect du nombre d'observateurs embarqu\u00e9s
-wao.error.boat.canCreateContact=Impossible de cr\u00e9er un nouveau contact pour la soci\u00e9t\u00e9 %1$s et le navire %2$s (%3$d)
-wao.error.boat.getNbBoarding=Impossible de r\u00e9cup\u00e9rer le nombre d'embarquements r\u00e9els depuis le %1$s
-wao.error.boatInfos.getNbBoardingForCompany=Impossible de r\u00e9cup\u00e9rer le nombre d'embarquements r\u00e9els depuis le %1$s pour la soci\u00e9t\u00e9 %2$s
+wao.business.bean.SynthesisId.allegro_reactivity=D\u00E9lais de transmission des donn\u00E9es
+wao.business.bean.SynthesisId.compliance_boarding=Respect du nombre d'observateurs embarqu\u00E9s
+wao.business.bean.SynthesisId.contact_state=\u00C9tats des contacts
+wao.business.bean.SynthesisId.data_reliability=Qualit\u00E9 de la donn\u00E9e
+wao.business.bean.SynthesisId.graph_boarding=Taux d'embarquement sur un m\u00EAme navire conforme aux exigences
+wao.business.bean.SynthesisId.graph_sampling=Taux de r\u00E9alisation du plan d'\u00E9chantillonage
+wao.business.bean.SynthesisId.non_compliance_boarding=Non-respect du nombre d'observateurs embarqu\u00E9s
+wao.error.boat.canCreateContact=Impossible de cr\u00E9er un nouveau contact pour la soci\u00E9t\u00E9 %1$s et le navire %2$s (%3$d)
+wao.error.boat.getNbBoarding=Impossible de r\u00E9cup\u00E9rer le nombre d'embarquements r\u00E9els depuis le %1$s
+wao.error.boatInfos.getNbBoardingForCompany=Impossible de r\u00E9cup\u00E9rer le nombre d'embarquements r\u00E9els depuis le %1$s pour la soci\u00E9t\u00E9 %2$s
wao.error.context.close=Une erreur est survenue pendant la fermeture du contexte principale de ToPIA
wao.error.context.encodeString=
-wao.error.context.getRootContext=Une erreur est survenue pour la r\u00e9cup\u00e9ration du contexte principale de ToPIA
+wao.error.context.getRootContext=Une erreur est survenue pour la r\u00E9cup\u00E9ration du contexte principale de ToPIA
wao.error.context.parse=Une erreur est survenue pendant le chargement de la configuration du fichier %1$s
wao.error.context.rollback=Une erreur est survenue pendant l'annulation de la transaction courante
-wao.error.context.start=Une erreur est survenue pendant le d\u00e9marrage de l'application
+wao.error.context.start=Une erreur est survenue pendant le d\u00E9marrage de l'application
wao.error.context.stop=Une erreur est survenue pendant la fermeture de l'application
-wao.error.sampleMonth.addRealTideTime=Impossible d'enregistrer le nombre de mar\u00e9es r\u00e9els pour le mois de %1$s [ligne \: %2$s]
-wao.error.sampleRow.saveSampleRowLog=Impossible d'enregistrer le commentaire \u00e9crit par %1$s
-wao.error.serviceBoat.createUpdateCompanyBoatInfos=Impossible de cr\u00e9er ou modifier les informations li\u00e9s au navire %1$d pour la soci\u00e9t\u00e9 %2$s
-wao.error.serviceBoat.exportBoatCsv=Impossible d'exporter les navires s\u00e9lectionn\u00e9s
+wao.error.sampleMonth.addRealTideTime=Impossible d'enregistrer le nombre de mar\u00E9es r\u00E9els pour le mois de %1$s [ligne \: %2$s]
+wao.error.sampleRow.saveSampleRowLog=Impossible d'enregistrer le commentaire \u00E9crit par %1$s
+wao.error.serviceBoat.createUpdateCompanyBoatInfos=Impossible de cr\u00E9er ou modifier les informations li\u00E9s au navire %1$d pour la soci\u00E9t\u00E9 %2$s
+wao.error.serviceBoat.exportBoatCsv=Impossible d'exporter les navires s\u00E9lectionn\u00E9s
wao.error.serviceBoat.getActivityCalendarLogAccessFile=
wao.error.serviceBoat.getActivityCalendarLogFile=
wao.error.serviceBoat.getBoat=Impossible de charger le navire
-wao.error.serviceBoat.getBoatNamesStartWith=Impossible de r\u00e9cup\u00e9rer les navires avec un nom commencant par '%1$s'
+wao.error.serviceBoat.getBoatNamesStartWith=Impossible de r\u00E9cup\u00E9rer les navires avec un nom commencant par '%1$s'
wao.error.serviceBoat.getBoatsByFilter=Impossible de filtrer la liste des navires
-wao.error.serviceBoat.getBoatsByImmatriculations=La cha\u00eene d'immatriculations est incorrect \! Chaque immatriculation doit poss\u00e9der 6 chiffres
-wao.error.serviceBoat.getCompanyBoatInfos=Impossible de r\u00e9cup\u00e9rer les informations du navire immatricul\u00e9 %1$d pour la soci\u00e9t\u00e9 %2$s
-wao.error.serviceBoat.getLastActivityCalendar=Impossible de charger le dernier calendrier d'activit\u00e9 du navire %1$s (%2$d)
+wao.error.serviceBoat.getBoatsByImmatriculations=La cha\u00EEne d'immatriculations est incorrect \! Chaque immatriculation doit poss\u00E9der 6 chiffres
+wao.error.serviceBoat.getCompanyBoatInfos=Impossible de r\u00E9cup\u00E9rer les informations du navire immatricul\u00E9 %1$d pour la soci\u00E9t\u00E9 %2$s
+wao.error.serviceBoat.getLastActivityCalendar=Impossible de charger le dernier calendrier d'activit\u00E9 du navire %1$s (%2$d)
wao.error.serviceBoat.getNbBoatsByFilter=Impossible de filtrer la liste des navires
wao.error.serviceBoat.getShipOwnerNamesContains=
-wao.error.serviceBoat.importActivityCalendarCsv=Probl\u00e8me d'import du fichier CSV des calendriers d'activit\u00e9
-wao.error.serviceBoat.importBoatCsv=Probl\u00e8me d'import du fichier CSV. V\u00e9rifiez l'en-t\u00eate du fichier \: [ NAVS_COD,CARN_NOM,CARN_LONGUEUR_HT,CARN_ANNEE,QUARTIER_IMMA,PER_COD,PER_NOM,PER_PRENOM,NAVS_ACTIVE ]. Voir documentation pour plus de d\u00e9tails.
+wao.error.serviceBoat.importActivityCalendarCsv=Probl\u00E8me d'import du fichier CSV des calendriers d'activit\u00E9
+wao.error.serviceBoat.importBoatCsv=Probl\u00E8me d'import du fichier CSV. V\u00E9rifiez l'en-t\u00EAte du fichier \: [ NAVS_COD,CARN_NOM,CARN_LONGUEUR_HT,CARN_ANNEE,QUARTIER_IMMA,PER_COD,PER_NOM,PER_PRENOM,NAVS_ACTIVE ]. Voir documentation pour plus de d\u00E9tails.
wao.error.serviceCartography.exportContactStatisticsKml=
-wao.error.serviceCartography.importBoatDistrictKml=Impossible d'importer les coordonn\u00e9es des quartiers des navires. V\u00e9rifiez la documentation pour le bon format du fichier Kml.
+wao.error.serviceCartography.importBoatDistrictKml=Impossible d'importer les coordonn\u00E9es des quartiers des navires. V\u00E9rifiez la documentation pour le bon format du fichier Kml.
wao.error.serviceChart.getContactPieChartData=
wao.error.serviceChart.getContactPieChartUrl=
wao.error.serviceContact.exportContactCsv=Impossible d'exporter les contacts
wao.error.serviceContact.getContacts=Impossible de filtrer la liste des contacts
-wao.error.serviceContact.getNbContacts=Impossible de compter le nombre de contacts filtr\u00e9s
+wao.error.serviceContact.getNbContacts=Impossible de compter le nombre de contacts filtr\u00E9s
wao.error.serviceContact.getNewContact=Impossible d'instancier un nouveau contact
wao.error.serviceContact.importContactCsv=Impossible d'importer les contacts
wao.error.serviceContact.saveComment=
@@ -149,54 +125,54 @@
wao.error.serviceContact.sendContactDoneEmail=
wao.error.serviceContact.updateSampleMonthTidesValue=
wao.error.serviceNews.getNewNews=
-wao.error.serviceNews.getNews=Impossible de r\u00e9cup\u00e9rer l'ensemble des news
+wao.error.serviceNews.getNews=Impossible de r\u00E9cup\u00E9rer l'ensemble des news
wao.error.serviceNews.saveNews=Impossible d'enregistrer la news ayant pour titre '%1$s'
wao.error.serviceReferential.getCodesDCF5Contains=
wao.error.serviceReferential.getFacades=Impossible de charger la liste des facades
-wao.error.serviceReferential.getFishingZones=Impossible de charger la liste des secteurs de p\u00eache
-wao.error.serviceReferential.getProfessions=Impossible de charger la liste des m\u00e9tiers
-wao.error.serviceReferential.getSectors=Impossible de charger la liste des zones de p\u00eache
-wao.error.serviceReferential.importFishingZoneCsv=Probl\u00e8me d'import du fichier CSV. V\u00e9rifiez l'en-t\u00eate du fichier \: [ PECHE_DIVISION,PECHE_ZONE,PECHE_FACADE ]. Voir documentation pour plus de d\u00e9tails.
+wao.error.serviceReferential.getFishingZones=Impossible de charger la liste des secteurs de p\u00EAche
+wao.error.serviceReferential.getProfessions=Impossible de charger la liste des m\u00E9tiers
+wao.error.serviceReferential.getSectors=Impossible de charger la liste des zones de p\u00EAche
+wao.error.serviceReferential.importFishingZoneCsv=Probl\u00E8me d'import du fichier CSV. V\u00E9rifiez l'en-t\u00EAte du fichier \: [ PECHE_DIVISION,PECHE_ZONE,PECHE_FACADE ]. Voir documentation pour plus de d\u00E9tails.
wao.error.serviceSampling.createSampleRowLog=
-wao.error.serviceSampling.createUpdateSampleRow=Impossible de sauvegarder la ligne d'\u00e9chantillon
-wao.error.serviceSampling.deleteSampleRow=Impossible de supprimer la ligne d'\u00e9chantillon \: %1$s
-wao.error.serviceSampling.exportSamplingPlanCsv=Impossible d'exporter le plan d'\u00e9chantillonnage sur la p\u00e9riode du %1$s au %2$s
+wao.error.serviceSampling.createUpdateSampleRow=Impossible de sauvegarder la ligne d'\u00E9chantillon
+wao.error.serviceSampling.deleteSampleRow=Impossible de supprimer la ligne d'\u00E9chantillon \: %1$s
+wao.error.serviceSampling.exportSamplingPlanCsv=Impossible d'exporter le plan d'\u00E9chantillonnage sur la p\u00E9riode du %1$s au %2$s
wao.error.serviceSampling.getDCFGears=
wao.error.serviceSampling.getDCFSpecies=
wao.error.serviceSampling.getNewProfession=
wao.error.serviceSampling.getNewSampleMonth=
wao.error.serviceSampling.getNewSampleRow=
-wao.error.serviceSampling.getNewSampleRowCode=Impossible de r\u00e9cup\u00e9rer un nouveau code pour une ligne d'\u00e9chantillonnage
+wao.error.serviceSampling.getNewSampleRowCode=Impossible de r\u00E9cup\u00E9rer un nouveau code pour une ligne d'\u00E9chantillonnage
wao.error.serviceSampling.getNewSampleRowLog=
wao.error.serviceSampling.getPrograms=Impossible de charger la liste des programmes
-wao.error.serviceSampling.getSampleRow=Impossible de charger la ligne d'\u00e9chantillon ayant pour identifiant \: %1$s
-wao.error.serviceSampling.getSampleRowByCode=Impossible de charger la ligne d'\u00e9chantillon ayant pour code %1$s
-wao.error.serviceSampling.getSampleRowsByFilter=Impossible de r\u00e9cup\u00e9rer la liste des lignes du plan d'\u00e9chantillonnage
-wao.error.serviceSampling.getSampleRowsOrderedByFishingZone=Impossible de r\u00e9cup\u00e9rer la liste des lignes du plan d'\u00e9chantillonnage
-wao.error.serviceSampling.importSamplingPlanCsv=Erreur \u00e0 la ligne %1$d [CODE \= %2$s]
+wao.error.serviceSampling.getSampleRow=Impossible de charger la ligne d'\u00E9chantillon ayant pour identifiant \: %1$s
+wao.error.serviceSampling.getSampleRowByCode=Impossible de charger la ligne d'\u00E9chantillon ayant pour code %1$s
+wao.error.serviceSampling.getSampleRowsByFilter=Impossible de r\u00E9cup\u00E9rer la liste des lignes du plan d'\u00E9chantillonnage
+wao.error.serviceSampling.getSampleRowsOrderedByFishingZone=Impossible de r\u00E9cup\u00E9rer la liste des lignes du plan d'\u00E9chantillonnage
+wao.error.serviceSampling.importSamplingPlanCsv=Erreur \u00E0 la ligne %1$d [CODE \= %2$s]
wao.error.serviceSynthesis.getAllIndicatorLogs=
-wao.error.serviceSynthesis.getBoardingBoats=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es du graphique concernant les embarquements sur les navires
+wao.error.serviceSynthesis.getBoardingBoats=Impossible de r\u00E9cup\u00E9rer les donn\u00E9es du graphique concernant les embarquements sur les navires
wao.error.serviceSynthesis.getComplianceBoardingIndicator=
-wao.error.serviceSynthesis.getContactDataInputDateReactivity=Impossible de r\u00e9cup\u00e9rer l'indicateur de r\u00e9activit\u00e9 sur les dates de saisies dans Allegro
+wao.error.serviceSynthesis.getContactDataInputDateReactivity=Impossible de r\u00E9cup\u00E9rer l'indicateur de r\u00E9activit\u00E9 sur les dates de saisies dans Allegro
wao.error.serviceSynthesis.getContactPieChartData=
wao.error.serviceSynthesis.getContactPieChartDataByBoatDistrict=
-wao.error.serviceSynthesis.getContactStateStatistics=Impossible de r\u00e9cup\u00e9rer les statistiques sur les \u00e9tats des contacts
+wao.error.serviceSynthesis.getContactStateStatistics=Impossible de r\u00E9cup\u00E9rer les statistiques sur les \u00E9tats des contacts
wao.error.serviceSynthesis.getDataReliability=
-wao.error.serviceSynthesis.getDataSampling=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es pour le graphique dynamique des efforts de mar\u00e9es
-wao.error.serviceSynthesis.getGlobalSynthesisParameters=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es concernant les indicateurs pour la synth\u00e8se globale
+wao.error.serviceSynthesis.getDataSampling=Impossible de r\u00E9cup\u00E9rer les donn\u00E9es pour le graphique dynamique des efforts de mar\u00E9es
+wao.error.serviceSynthesis.getGlobalSynthesisParameters=Impossible de r\u00E9cup\u00E9rer les donn\u00E9es concernant les indicateurs pour la synth\u00E8se globale
wao.error.serviceSynthesis.getGlobalSynthesisResult=
-wao.error.serviceSynthesis.getNonComplianceBoardingIndicator=Impossible de r\u00e9cup\u00e9rer l'indicateur de non respect du nombre d'observateurs embarqu\u00e9s
-wao.error.serviceSynthesis.updateGlobalSynthesisParameters=Impossible de mettre \u00e0 jour les param\u00e8tres de la synth\u00e8se globale
+wao.error.serviceSynthesis.getNonComplianceBoardingIndicator=Impossible de r\u00E9cup\u00E9rer l'indicateur de non respect du nombre d'observateurs embarqu\u00E9s
+wao.error.serviceSynthesis.updateGlobalSynthesisParameters=Impossible de mettre \u00E0 jour les param\u00E8tres de la synth\u00E8se globale
wao.error.serviceUser.connect=Une erreur est survenue lors de la demande de connexion
-wao.error.serviceUser.createDefaultAdmin=Impossible de cr\u00e9er l'administrateur par d\u00e9faut
-wao.error.serviceUser.createUpdateCompany=Impossible de cr\u00e9er ou de mettre \u00e0 jour la soci\u00e9t\u00e9
-wao.error.serviceUser.createUpdateUser=Impossible de cr\u00e9er ou de mettre \u00e0 jour l'utilisateur
+wao.error.serviceUser.createDefaultAdmin=Impossible de cr\u00E9er l'administrateur par d\u00E9faut
+wao.error.serviceUser.createUpdateCompany=Impossible de cr\u00E9er ou de mettre \u00E0 jour la soci\u00E9t\u00E9
+wao.error.serviceUser.createUpdateUser=Impossible de cr\u00E9er ou de mettre \u00E0 jour l'utilisateur
wao.error.serviceUser.deleteUser=Impossible de supprimer l'utilisateur
wao.error.serviceUser.existLogin=
wao.error.serviceUser.forgetPassword=Impossible d'envoyer le mail d'oubli de mot de passe
-wao.error.serviceUser.getCompanies=Impossible de r\u00e9cup\u00e9rer la liste des soci\u00e9t\u00e9s
+wao.error.serviceUser.getCompanies=Impossible de r\u00E9cup\u00E9rer la liste des soci\u00E9t\u00E9s
wao.error.serviceUser.getCompany=
wao.error.serviceUser.getNewUser=Impossible d'instancier un nouvel utilisateur
-wao.error.serviceUser.getObservers=Impossible de r\u00e9cup\u00e9rer la liste des observateurs
+wao.error.serviceUser.getObservers=Impossible de r\u00E9cup\u00E9rer la liste des observateurs
wao.error.serviceUser.getUserRolesByLogin=
-wao.error.serviceUser.getUsersByCompany=Impossible de r\u00e9cup\u00e9rer la liste des utilisateurs de la soci\u00e9t\u00e9 %1$s
+wao.error.serviceUser.getUsersByCompany=Impossible de r\u00E9cup\u00E9rer la liste des utilisateurs de la soci\u00E9t\u00E9 %1$s
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java 2010-11-10 19:44:47 UTC (rev 759)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java 2010-11-10 20:04:41 UTC (rev 760)
@@ -50,6 +50,8 @@
import java.util.ArrayList;
import java.util.List;
+import static org.nuiton.i18n.I18n._;
+
/**
* AbstractFilteredPage
*
@@ -355,13 +357,28 @@
if (dcfGearSelectModel == null) {
List<OptionModel> options = new ArrayList<OptionModel>();
for (String dcfGear : serviceSampling.getDCFGears(getFilter())) {
- options.add(new OptionModelImpl(dcfGear + " description", dcfGear));
+ options.add(new OptionModelImpl(dcfGear + " - " +
+ _("DCF.gear." + dcfGear), dcfGear));
}
dcfGearSelectModel = new SelectModelImpl(null, options);
}
return dcfGearSelectModel;
}
+ private SelectModel dcfSpeciesSelectModel;
+
+ public SelectModel getDcfSpeciesSelectModel() throws WaoException {
+ if (dcfSpeciesSelectModel == null) {
+ List<OptionModel> options = new ArrayList<OptionModel>();
+ for (String dcfSpecies : serviceSampling.getDCFSpecies(getFilter())) {
+ options.add(new OptionModelImpl(dcfSpecies + " - " +
+ _("DCF.species." + dcfSpecies), dcfSpecies));
+ }
+ dcfSpeciesSelectModel = new SelectModelImpl(null, options);
+ }
+ return dcfSpeciesSelectModel;
+ }
+
protected abstract SamplingFilter getFilter() throws WaoException;
/**
Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/SamplingPlan.properties
===================================================================
--- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/SamplingPlan.properties 2010-11-10 19:44:47 UTC (rev 759)
+++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/SamplingPlan.properties 2010-11-10 20:04:41 UTC (rev 760)
@@ -31,5 +31,7 @@
facadeName-label: Fa\u00e7ade
sectorName-label: Zone
selectedSampleRow-label: Code ligne
+fishingGearDCF-label: Engins code DCF
+targetSpeciesDCF-label: Ensembles d\'esp\u00e8ces-cible code DCF
sampleRow-delete-confirmMessage: \u00cates-vous s\u00fbr de vouloir supprimer d\u00e9finitivement la ligne %1$s du plan d\'\u00e9chantillonnage ?
Modified: trunk/wao-ui/src/main/webapp/SamplingPlan.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/SamplingPlan.tml 2010-11-10 19:44:47 UTC (rev 759)
+++ trunk/wao-ui/src/main/webapp/SamplingPlan.tml 2010-11-10 20:04:41 UTC (rev 760)
@@ -116,11 +116,6 @@
</t:if>
<t:label t:for="programName" /> :
<select t:type="select" t:id="programName" t:model="programSelectModel" t:value="filter.programName" />
- <t:label t:for="codeDCF5" /> :
- <input t:type="textfield" t:id="codeDCF5" value="filter.codeDCF5" t:mixins="Autocomplete"/>
-
- <t:label t:for="fishingGearDCF" /> :
- <input t:type="select" t:id="fishingGearDCF" t:model="dcfGearSelectModel" value="filter.fishingGearDCF"/>
</div>
<div>
<t:label t:for="facadeName" /> :
@@ -140,7 +135,7 @@
<img src="${asset:context:img/add-16px.png}" />
</a>
<ul>
- <li t:type="loop" t:source="filter.sampleRows" t:value="row" t:index="sampleRowCodeIndex" t:volatile="true">
+ <li style="display: inline;" t:type="loop" t:source="filter.sampleRows" t:value="row" t:index="sampleRowCodeIndex" t:volatile="true">
${row.code}
<a t:type="actionlink" t:id="removeSampleRowCode" t:context="sampleRowCodeIndex" title="Supprimer ce code de ligne" t:zone="so-sampling-sampleRowZone">
<img src="${asset:context:img/remove-22px.png}" />
@@ -150,6 +145,12 @@
</t:nuiton.subForm>
</t:zone>
</div>
+ <div>
+ <t:label t:for="fishingGearDCF" /> :
+ <input t:type="select" t:id="fishingGearDCF" t:model="dcfGearSelectModel" value="filter.fishingGearDCF"/>
+ <t:label t:for="targetSpeciesDCF" /> :
+ <input t:type="select" t:id="targetSpeciesDCF" t:model="dcfSpeciesSelectModel" value="filter.targetSpeciesDCF"/>
+ </div>
<div class="t-beaneditor-row aright">
<input t:type="submit" class="ico search-32px" t:id="search" value="Search" title="Rechercher les lignes du plan correspondants aux filtres saisies" />
<input t:type="submit" class="ico undo" t:id="reset" value="Reset" title="Remettre les filtres par défaut" />
1
0
[Suiviobsmer-commits] r759 - trunk/wao-business/src/main/java/fr/ifremer/wao/bean
by bleny@users.labs.libre-entreprise.org 10 Nov '10
by bleny@users.labs.libre-entreprise.org 10 Nov '10
10 Nov '10
Author: bleny
Date: 2010-11-10 19:44:47 +0000 (Wed, 10 Nov 2010)
New Revision: 759
Log:
making indicators viewable only by admin and oordinators roles
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ConnectedUserImpl.java
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ConnectedUserImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ConnectedUserImpl.java 2010-11-10 19:43:42 UTC (rev 758)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ConnectedUserImpl.java 2010-11-10 19:44:47 UTC (rev 759)
@@ -22,6 +22,7 @@
import fr.ifremer.wao.WaoProperty;
import fr.ifremer.wao.entity.Company;
+import org.apache.commons.lang.BooleanUtils;
/**
* Created: 11 juin 2010
@@ -72,7 +73,14 @@
@Override
public boolean isIndicatorsViewer() {
- Boolean test = Boolean.parseBoolean(WaoProperty.SHOW_INDICATORS.getValue());
+ boolean test = false;
+
+ Boolean indicatorsAreActivated = Boolean.parseBoolean(WaoProperty.SHOW_INDICATORS.getValue());
+
+ if (BooleanUtils.isTrue(indicatorsAreActivated)) {
+ test = isAdmin() || isCoordinator();
+ }
+
return test;
}
}
1
0
[Suiviobsmer-commits] r758 - trunk/wao-business/src/main/resources/i18n
by bleny@users.labs.libre-entreprise.org 10 Nov '10
by bleny@users.labs.libre-entreprise.org 10 Nov '10
10 Nov '10
Author: bleny
Date: 2010-11-10 19:43:42 +0000 (Wed, 10 Nov 2010)
New Revision: 758
Log:
Descriptions of DCF codes for gears and species in i18n
Modified:
trunk/wao-business/src/main/resources/i18n/wao-business-en_GB.properties
trunk/wao-business/src/main/resources/i18n/wao-business-fr_FR.properties
Modified: trunk/wao-business/src/main/resources/i18n/wao-business-en_GB.properties
===================================================================
--- trunk/wao-business/src/main/resources/i18n/wao-business-en_GB.properties 2010-11-10 17:06:24 UTC (rev 757)
+++ trunk/wao-business/src/main/resources/i18n/wao-business-en_GB.properties 2010-11-10 19:43:42 UTC (rev 758)
@@ -1,3 +1,88 @@
+# SURROUNDING NETS
+DCF.gear.PS=With purse lines (purse seines)
+DCF.gear.PS1=One boat operated purse seines
+DCF.gear.PS2=Tow boats operated purse seines
+DCF.gear.LA=Wihtout purse lines (lampara)
+
+# SEINE NETS
+DCF.gear.SB=Beach seines
+DCF.gear.SV=Boat or vessel seines
+DCF.gear.SDN=Danish seines
+DCF.gear.SSC=Scottish seines
+DCF.gear.SPR=Pair seines
+DCF.gear.SW=Seine nets (not specified)
+
+# TRAWLS
+DCF.gear.TBB=Beam trawls
+DCF.gear.OTB=Otter trawls
+DCF.gear.OTM=Otter trawls
+DCF.gear.OTT=Other twin trawls
+DCF.gear.PT=Pair trawls (not specified)
+DCF.gear.OT=Otter trawls (not specified)
+DCF.gear.PTM=Pair trawls
+DCF.gear.PTB=Pair trawls
+DCF.gear.TBN=Nephrops trawls
+DCF.gear.TBS=Shrimp trawls
+DCF.gear.TMS=Shrimp trawls
+DCF.gear.TB=Bottom trawls (not specified)
+DCF.gear.TM=Midwater trawls (not specified)
+DCF.gear.TX=Other trawls (not specified)
+
+# DREDGES
+DCF.gear.DRB=Boat dredges
+DCF.gear.DRH=Hand dredges
+
+# LIFT NETS
+DCF.gear.LNP=Portable lift nets
+DCF.gear.LNB=Boat-operated lift nets
+DCF.gear.LNS=Shore-operated stationary lift nets
+DCF.gear.LN=Lift nets (not specified)
+
+# FALLING GEAR
+DCF.gear.FCN=Cast nets
+DCF.gear.FG=Falling gear (not specified)
+
+# GILLNETS AND ENTANGLING NETS
+DCF.gear.GNS=Set gillnets (anchored)
+DCF.gear.GND=Driftnets
+DCF.gear.GNC=Encircling gillnets
+DCF.gear.GNF=Fixed gillnets
+DCF.gear.GTR=Trammel nets
+DCF.gear.GTN=Combined gillnets-trammel nets
+DCF.gear.GEN=Gillnets and entangling nets (not specified)
+DCF.gear.GN=Gillnets (not specified)
+
+# TRAPS
+DCF.gear.FPN=Stationary uncovered pound nets
+DCF.gear.FPO=Pots
+DCF.gear.FYK=Fyke nets
+DCF.gear.FSN=Stow nets
+DCF.gear.FWR=Barriers, fences, weirs, etc.
+DCF.gear.FAR=Aerial traps
+DCF.gear.FIX=Traps (not specified)
+
+# LIGNES ET HAME\u00c7ONS
+DCF.gear.LHP=Handlines and pole-lines (hand-operated)
+DCF.gear.LHM=Handlines and pole-lines (mechanized)
+DCF.gear.LLS=Set longlines
+DCF.gear.LLD=Drifting longlines
+DCF.gear.LL=Longlines (not specified)
+DCF.gear.LTL=Trolling lines
+DCF.gear.LX=Hooks and lines (not specified)
+
+# GRAPPLING AND WOUNDING
+DCF.gear.HAR=Harpoons
+
+# HARVESTING MACHINES
+DCF.gear.HMP=Pumps
+DCF.gear.HMD=Mechanized dredges
+DCF.gear.HMX=Harvesting machines (not specified)
+
+# DIVERS
+DCF.gear.MIS=Miscellaneous
+DCF.gear.RG=Recreational fishing gear
+DCF.gear.NK=Gear not know or not specified
+
wao.business.bean.DataReliability.doubtful=doubtful
wao.business.bean.DataReliability.not_reliable=not reliable
wao.business.bean.DataReliability.reliable=reliable
@@ -68,6 +153,7 @@
wao.error.serviceSampling.deleteSampleRow=
wao.error.serviceSampling.exportSamplingPlanCsv=
wao.error.serviceSampling.getDCFGears=
+wao.error.serviceSampling.getDCFSpecies=
wao.error.serviceSampling.getNewProfession=
wao.error.serviceSampling.getNewSampleMonth=
wao.error.serviceSampling.getNewSampleRow=
Modified: trunk/wao-business/src/main/resources/i18n/wao-business-fr_FR.properties
===================================================================
--- trunk/wao-business/src/main/resources/i18n/wao-business-fr_FR.properties 2010-11-10 17:06:24 UTC (rev 757)
+++ trunk/wao-business/src/main/resources/i18n/wao-business-fr_FR.properties 2010-11-10 19:43:42 UTC (rev 758)
@@ -1,52 +1,147 @@
+# FILETS TOURNANTS
+DCF.gear.PS=Filets tournants avec coulisse (sennes coulissantes)
+DCF.gear.PS1=Filets tournants, sennes coulissantes man\u0153uvr\u00e9es par un bateau
+DCF.gear.PS2=Filets tournants, sennes coulissantes man\u0153uvr\u00e9es par deux bateaux
+DCF.gear.LA=Filets tournants sans coulisse (filet lamparo)
+
+# SENNES
+DCF.gear.SB=Sennes de plages
+DCF.gear.SV=Sennes hal\u00e9es \u00e0 bord
+DCF.gear.SDN=Sennes danoises
+DCF.gear.SSC=Sennes \u00e9cossaises
+DCF.gear.SPR=Sennes man\u0153uvr\u00e9es par deux bateaux
+DCF.gear.SW=Sennes (non sp\u00e9cifi\u00e9es)
+
+# CHALUTS
+DCF.gear.OTB=Chalut de fond \u00e0 panneaux
+DCF.gear.OTM=Chaluts p\u00e9lagiques \u00e0 panneaux
+DCF.gear.OTT=Chaluts jumeaux \u00e0 panneaux
+DCF.gear.OT=Chaluts \u00e0 panneaux (non sp\u00e9cifi\u00e9)
+DCF.gear.PT=Chalut-b\u0153ufs (non sp\u00e9cifi\u00e9)
+DCF.gear.TBB=Chaluts \u00e0 perche
+DCF.gear.PTM=Chalut-b\u0153ufs p\u00e9lagiques
+DCF.gear.PTB=Chalut-b\u0153ufs de fond
+DCF.gear.TBN=Chalut \u00e0 langoustines
+DCF.gear.TBS=Chalut \u00e0 crevettes
+DCF.gear.TMS=Chalut \u00e0 crevettes
+DCF.gear.TB=Chalut de fond (non sp\u00e9cifi\u00e9)
+DCF.gear.TM=Chalut p\u00e9lagique (non sp\u00e9cifi\u00e9)
+DCF.gear.TX=Autre chalut (non sp\u00e9cifi\u00e9)
+
+# DRAGUES
+DCF.gear.DRB=Dragues remorqu\u00e9es par bateau
+DCF.gear.DRH=Dragues \u00e0 main
+
+# FILETS SOULEV\u00c9S
+DCF.gear.LNP=Filets soulev\u00e9s portatifs
+DCF.gear.LNB=Filets soulev\u00e9s man\u0153uvr\u00e9es du bateau
+DCF.gear.LNS=Filets soulev\u00e9s fixes man\u0153uvr\u00e9es du rivage
+DCF.gear.LN=Filets soulev\u00e9s (non sp\u00e9cifi\u00e9s)
+
+# ENGINS RETOMBANTS
+DCF.gear.FCN=\u00c9perviers
+DCF.gear.FG=Autres engins retombants (non-sp\u00e9cifi\u00e9s)
+
+# FILETS MAILLANTS ET FILETS EMMELANTS
+DCF.gear.GNS=Filets maillants cal\u00e9s (ancr\u00e9s)
+DCF.gear.GND=Filets maillants d\u00e9rivants (filets d\u00e9rivants)
+DCF.gear.GNC=Filets maillants encerclants
+DCF.gear.GNF=Filets maillants fixes (sur perches)
+DCF.gear.GTR=Tr\u00e9mails
+DCF.gear.GTN=Tr\u00e9mails et filets maillants combin\u00e9s
+DCF.gear.GEN=Filets maillants et filets emm\u00e9lants (non sp\u00e9cifi\u00e9s)
+DCF.gear.GN=Filets maillants (non sp\u00e9cifi\u00e9s)
+
+# PI\u00c8GES
+DCF.gear.FPN=Filets-pi\u00e8ges fixes non couverts
+DCF.gear.FPO=Nasses (casiers)
+DCF.gear.FYK=Verveux
+DCF.gear.FSN=Filets \u00e0 l'\u00e9talage (diables)
+DCF.gear.FWR=Barrages, parcs, bordigues, etc.
+DCF.gear.FAR=Pi\u00e8ges a\u00e9riens
+DCF.gear.FIX=Pi\u00e8ges (non-sp\u00e9cifi\u00e9s)
+
+# LIGNES ET HAME\u00c7ONS
+DCF.gear.LHP=Lignes \u00e0 main et lignes \u00e0 cannes
+DCF.gear.LHM=Lignes \u00e0 main et lignes avec cannes
+DCF.gear.LLS=Palangres cal\u00e9es ou semi-flottantes
+DCF.gear.LLD=Palangres d\u00e9rivantes
+DCF.gear.LL=Palangres (non sp\u00e9cifi\u00e9es)
+DCF.gear.LTL=lignes de tra\u00eene
+DCF.gear.LX=Hame\u00e7ons et lignes (non sp\u00e9cifi\u00e9s)
+
+# ENGINS DE P\u00caCHE PAR ACCROCHAGE OU PAR BLESSURE
+DCF.gear.HAR=Harpons
+
+# ENGINS DE R\u00c9COLTE
+DCF.gear.HMP=Pompes
+DCF.gear.HMD=Dragues m\u00e9canis\u00e9es
+DCF.gear.HMX=Engins de r\u00e9colte (non sp\u00e9cifi\u00e9s)
+
+# DIVERS
+DCF.gear.MIS=Divers
+DCF.gear.RG=Engins de p\u00eache r\u00e9vr\u00e9ative
+DCF.gear.NK=Engins inconnus ou non sp\u00e9cifi\u00e9s
+DCF.gear.GES=Tamis \u00e0 civelles
+
+DCF.species.DEF=Esp\u00e8ces d\u00e9mersales
+DCF.species.MOL=Mollusques
+DCF.species.SPF=Petits p\u00e9lagiques
+DCF.species.LPF=Grands p\u00e9lagiques
+DCF.species.CRU=Crustac\u00e9s
+DCF.species.CAT=Esp\u00e8ces catadromes
+DCF.species.DWS=Esp\u00e8ces d'eaux profondes
+DCF.species.FIN=Poisson plats
+DCF.species.ALG=Algues
wao.business.bean.DataReliability.doubtful=douteuse
wao.business.bean.DataReliability.not_reliable=non exploitable
wao.business.bean.DataReliability.reliable=exploitable
-wao.business.bean.DataReliability.unknown=non renseign\u00E9e
-wao.business.bean.GlobalIndicatorValue.bad=P\u00E9nalit\u00E9 de niveau 1
+wao.business.bean.DataReliability.unknown=non renseign\u00e9e
+wao.business.bean.GlobalIndicatorValue.bad=P\u00e9nalit\u00e9 de niveau 1
wao.business.bean.GlobalIndicatorValue.good=Bonus de niveau 1
wao.business.bean.GlobalIndicatorValue.neutral=Conforme au cahier des charges
-wao.business.bean.GlobalIndicatorValue.very_bad=P\u00E9nalit\u00E9 de niveau 2
+wao.business.bean.GlobalIndicatorValue.very_bad=P\u00e9nalit\u00e9 de niveau 2
wao.business.bean.GlobalIndicatorValue.very_good=Bonus de niveau 2
-wao.business.bean.SynthesisId.allegro_reactivity=D\u00E9lais de transmission des donn\u00E9es
-wao.business.bean.SynthesisId.compliance_boarding=Respect du nombre d'observateurs embarqu\u00E9s
-wao.business.bean.SynthesisId.contact_state=\u00C9tats des contacts
-wao.business.bean.SynthesisId.data_reliability=Qualit\u00E9 de la donn\u00E9e
-wao.business.bean.SynthesisId.graph_boarding=Taux d'embarquement sur un m\u00EAme navire conforme aux exigences
-wao.business.bean.SynthesisId.graph_sampling=Taux de r\u00E9alisation du plan d'\u00E9chantillonage
-wao.business.bean.SynthesisId.non_compliance_boarding=Non-respect du nombre d'observateurs embarqu\u00E9s
-wao.error.boat.canCreateContact=Impossible de cr\u00E9er un nouveau contact pour la soci\u00E9t\u00E9 %1$s et le navire %2$s (%3$d)
-wao.error.boat.getNbBoarding=Impossible de r\u00E9cup\u00E9rer le nombre d'embarquements r\u00E9els depuis le %1$s
-wao.error.boatInfos.getNbBoardingForCompany=Impossible de r\u00E9cup\u00E9rer le nombre d'embarquements r\u00E9els depuis le %1$s pour la soci\u00E9t\u00E9 %2$s
+wao.business.bean.SynthesisId.allegro_reactivity=D\u00e9lais de transmission des donn\u00e9es
+wao.business.bean.SynthesisId.compliance_boarding=Respect du nombre d'observateurs embarqu\u00e9s
+wao.business.bean.SynthesisId.contact_state=\u00c9tats des contacts
+wao.business.bean.SynthesisId.data_reliability=Qualit\u00e9 de la donn\u00e9e
+wao.business.bean.SynthesisId.graph_boarding=Taux d'embarquement sur un m\u00eame navire conforme aux exigences
+wao.business.bean.SynthesisId.graph_sampling=Taux de r\u00e9alisation du plan d'\u00e9chantillonage
+wao.business.bean.SynthesisId.non_compliance_boarding=Non-respect du nombre d'observateurs embarqu\u00e9s
+wao.error.boat.canCreateContact=Impossible de cr\u00e9er un nouveau contact pour la soci\u00e9t\u00e9 %1$s et le navire %2$s (%3$d)
+wao.error.boat.getNbBoarding=Impossible de r\u00e9cup\u00e9rer le nombre d'embarquements r\u00e9els depuis le %1$s
+wao.error.boatInfos.getNbBoardingForCompany=Impossible de r\u00e9cup\u00e9rer le nombre d'embarquements r\u00e9els depuis le %1$s pour la soci\u00e9t\u00e9 %2$s
wao.error.context.close=Une erreur est survenue pendant la fermeture du contexte principale de ToPIA
wao.error.context.encodeString=
-wao.error.context.getRootContext=Une erreur est survenue pour la r\u00E9cup\u00E9ration du contexte principale de ToPIA
+wao.error.context.getRootContext=Une erreur est survenue pour la r\u00e9cup\u00e9ration du contexte principale de ToPIA
wao.error.context.parse=Une erreur est survenue pendant le chargement de la configuration du fichier %1$s
wao.error.context.rollback=Une erreur est survenue pendant l'annulation de la transaction courante
-wao.error.context.start=Une erreur est survenue pendant le d\u00E9marrage de l'application
+wao.error.context.start=Une erreur est survenue pendant le d\u00e9marrage de l'application
wao.error.context.stop=Une erreur est survenue pendant la fermeture de l'application
-wao.error.sampleMonth.addRealTideTime=Impossible d'enregistrer le nombre de mar\u00E9es r\u00E9els pour le mois de %1$s [ligne \: %2$s]
-wao.error.sampleRow.saveSampleRowLog=Impossible d'enregistrer le commentaire \u00E9crit par %1$s
-wao.error.serviceBoat.createUpdateCompanyBoatInfos=Impossible de cr\u00E9er ou modifier les informations li\u00E9s au navire %1$d pour la soci\u00E9t\u00E9 %2$s
-wao.error.serviceBoat.exportBoatCsv=Impossible d'exporter les navires s\u00E9lectionn\u00E9s
+wao.error.sampleMonth.addRealTideTime=Impossible d'enregistrer le nombre de mar\u00e9es r\u00e9els pour le mois de %1$s [ligne \: %2$s]
+wao.error.sampleRow.saveSampleRowLog=Impossible d'enregistrer le commentaire \u00e9crit par %1$s
+wao.error.serviceBoat.createUpdateCompanyBoatInfos=Impossible de cr\u00e9er ou modifier les informations li\u00e9s au navire %1$d pour la soci\u00e9t\u00e9 %2$s
+wao.error.serviceBoat.exportBoatCsv=Impossible d'exporter les navires s\u00e9lectionn\u00e9s
wao.error.serviceBoat.getActivityCalendarLogAccessFile=
wao.error.serviceBoat.getActivityCalendarLogFile=
wao.error.serviceBoat.getBoat=Impossible de charger le navire
-wao.error.serviceBoat.getBoatNamesStartWith=Impossible de r\u00E9cup\u00E9rer les navires avec un nom commencant par '%1$s'
+wao.error.serviceBoat.getBoatNamesStartWith=Impossible de r\u00e9cup\u00e9rer les navires avec un nom commencant par '%1$s'
wao.error.serviceBoat.getBoatsByFilter=Impossible de filtrer la liste des navires
-wao.error.serviceBoat.getBoatsByImmatriculations=La cha\u00EEne d'immatriculations est incorrect \! Chaque immatriculation doit poss\u00E9der 6 chiffres
-wao.error.serviceBoat.getCompanyBoatInfos=Impossible de r\u00E9cup\u00E9rer les informations du navire immatricul\u00E9 %1$d pour la soci\u00E9t\u00E9 %2$s
-wao.error.serviceBoat.getLastActivityCalendar=Impossible de charger le dernier calendrier d'activit\u00E9 du navire %1$s (%2$d)
+wao.error.serviceBoat.getBoatsByImmatriculations=La cha\u00eene d'immatriculations est incorrect \! Chaque immatriculation doit poss\u00e9der 6 chiffres
+wao.error.serviceBoat.getCompanyBoatInfos=Impossible de r\u00e9cup\u00e9rer les informations du navire immatricul\u00e9 %1$d pour la soci\u00e9t\u00e9 %2$s
+wao.error.serviceBoat.getLastActivityCalendar=Impossible de charger le dernier calendrier d'activit\u00e9 du navire %1$s (%2$d)
wao.error.serviceBoat.getNbBoatsByFilter=Impossible de filtrer la liste des navires
wao.error.serviceBoat.getShipOwnerNamesContains=
-wao.error.serviceBoat.importActivityCalendarCsv=Probl\u00E8me d'import du fichier CSV des calendriers d'activit\u00E9
-wao.error.serviceBoat.importBoatCsv=Probl\u00E8me d'import du fichier CSV. V\u00E9rifiez l'en-t\u00EAte du fichier \: [ NAVS_COD,CARN_NOM,CARN_LONGUEUR_HT,CARN_ANNEE,QUARTIER_IMMA,PER_COD,PER_NOM,PER_PRENOM,NAVS_ACTIVE ]. Voir documentation pour plus de d\u00E9tails.
+wao.error.serviceBoat.importActivityCalendarCsv=Probl\u00e8me d'import du fichier CSV des calendriers d'activit\u00e9
+wao.error.serviceBoat.importBoatCsv=Probl\u00e8me d'import du fichier CSV. V\u00e9rifiez l'en-t\u00eate du fichier \: [ NAVS_COD,CARN_NOM,CARN_LONGUEUR_HT,CARN_ANNEE,QUARTIER_IMMA,PER_COD,PER_NOM,PER_PRENOM,NAVS_ACTIVE ]. Voir documentation pour plus de d\u00e9tails.
wao.error.serviceCartography.exportContactStatisticsKml=
-wao.error.serviceCartography.importBoatDistrictKml=Impossible d'importer les coordonn\u00E9es des quartiers des navires. V\u00E9rifiez la documentation pour le bon format du fichier Kml.
+wao.error.serviceCartography.importBoatDistrictKml=Impossible d'importer les coordonn\u00e9es des quartiers des navires. V\u00e9rifiez la documentation pour le bon format du fichier Kml.
wao.error.serviceChart.getContactPieChartData=
wao.error.serviceChart.getContactPieChartUrl=
wao.error.serviceContact.exportContactCsv=Impossible d'exporter les contacts
wao.error.serviceContact.getContacts=Impossible de filtrer la liste des contacts
-wao.error.serviceContact.getNbContacts=Impossible de compter le nombre de contacts filtr\u00E9s
+wao.error.serviceContact.getNbContacts=Impossible de compter le nombre de contacts filtr\u00e9s
wao.error.serviceContact.getNewContact=Impossible d'instancier un nouveau contact
wao.error.serviceContact.importContactCsv=Impossible d'importer les contacts
wao.error.serviceContact.saveComment=
@@ -54,53 +149,54 @@
wao.error.serviceContact.sendContactDoneEmail=
wao.error.serviceContact.updateSampleMonthTidesValue=
wao.error.serviceNews.getNewNews=
-wao.error.serviceNews.getNews=Impossible de r\u00E9cup\u00E9rer l'ensemble des news
+wao.error.serviceNews.getNews=Impossible de r\u00e9cup\u00e9rer l'ensemble des news
wao.error.serviceNews.saveNews=Impossible d'enregistrer la news ayant pour titre '%1$s'
wao.error.serviceReferential.getCodesDCF5Contains=
wao.error.serviceReferential.getFacades=Impossible de charger la liste des facades
-wao.error.serviceReferential.getFishingZones=Impossible de charger la liste des secteurs de p\u00EAche
-wao.error.serviceReferential.getProfessions=Impossible de charger la liste des m\u00E9tiers
-wao.error.serviceReferential.getSectors=Impossible de charger la liste des zones de p\u00EAche
-wao.error.serviceReferential.importFishingZoneCsv=Probl\u00E8me d'import du fichier CSV. V\u00E9rifiez l'en-t\u00EAte du fichier \: [ PECHE_DIVISION,PECHE_ZONE,PECHE_FACADE ]. Voir documentation pour plus de d\u00E9tails.
+wao.error.serviceReferential.getFishingZones=Impossible de charger la liste des secteurs de p\u00eache
+wao.error.serviceReferential.getProfessions=Impossible de charger la liste des m\u00e9tiers
+wao.error.serviceReferential.getSectors=Impossible de charger la liste des zones de p\u00eache
+wao.error.serviceReferential.importFishingZoneCsv=Probl\u00e8me d'import du fichier CSV. V\u00e9rifiez l'en-t\u00eate du fichier \: [ PECHE_DIVISION,PECHE_ZONE,PECHE_FACADE ]. Voir documentation pour plus de d\u00e9tails.
wao.error.serviceSampling.createSampleRowLog=
-wao.error.serviceSampling.createUpdateSampleRow=Impossible de sauvegarder la ligne d'\u00E9chantillon
-wao.error.serviceSampling.deleteSampleRow=Impossible de supprimer la ligne d'\u00E9chantillon \: %1$s
-wao.error.serviceSampling.exportSamplingPlanCsv=Impossible d'exporter le plan d'\u00E9chantillonnage sur la p\u00E9riode du %1$s au %2$s
+wao.error.serviceSampling.createUpdateSampleRow=Impossible de sauvegarder la ligne d'\u00e9chantillon
+wao.error.serviceSampling.deleteSampleRow=Impossible de supprimer la ligne d'\u00e9chantillon \: %1$s
+wao.error.serviceSampling.exportSamplingPlanCsv=Impossible d'exporter le plan d'\u00e9chantillonnage sur la p\u00e9riode du %1$s au %2$s
wao.error.serviceSampling.getDCFGears=
+wao.error.serviceSampling.getDCFSpecies=
wao.error.serviceSampling.getNewProfession=
wao.error.serviceSampling.getNewSampleMonth=
wao.error.serviceSampling.getNewSampleRow=
-wao.error.serviceSampling.getNewSampleRowCode=Impossible de r\u00E9cup\u00E9rer un nouveau code pour une ligne d'\u00E9chantillonnage
+wao.error.serviceSampling.getNewSampleRowCode=Impossible de r\u00e9cup\u00e9rer un nouveau code pour une ligne d'\u00e9chantillonnage
wao.error.serviceSampling.getNewSampleRowLog=
wao.error.serviceSampling.getPrograms=Impossible de charger la liste des programmes
-wao.error.serviceSampling.getSampleRow=Impossible de charger la ligne d'\u00E9chantillon ayant pour identifiant \: %1$s
-wao.error.serviceSampling.getSampleRowByCode=Impossible de charger la ligne d'\u00E9chantillon ayant pour code %1$s
-wao.error.serviceSampling.getSampleRowsByFilter=Impossible de r\u00E9cup\u00E9rer la liste des lignes du plan d'\u00E9chantillonnage
-wao.error.serviceSampling.getSampleRowsOrderedByFishingZone=Impossible de r\u00E9cup\u00E9rer la liste des lignes du plan d'\u00E9chantillonnage
-wao.error.serviceSampling.importSamplingPlanCsv=Erreur \u00E0 la ligne %1$d [CODE \= %2$s]
+wao.error.serviceSampling.getSampleRow=Impossible de charger la ligne d'\u00e9chantillon ayant pour identifiant \: %1$s
+wao.error.serviceSampling.getSampleRowByCode=Impossible de charger la ligne d'\u00e9chantillon ayant pour code %1$s
+wao.error.serviceSampling.getSampleRowsByFilter=Impossible de r\u00e9cup\u00e9rer la liste des lignes du plan d'\u00e9chantillonnage
+wao.error.serviceSampling.getSampleRowsOrderedByFishingZone=Impossible de r\u00e9cup\u00e9rer la liste des lignes du plan d'\u00e9chantillonnage
+wao.error.serviceSampling.importSamplingPlanCsv=Erreur \u00e0 la ligne %1$d [CODE \= %2$s]
wao.error.serviceSynthesis.getAllIndicatorLogs=
-wao.error.serviceSynthesis.getBoardingBoats=Impossible de r\u00E9cup\u00E9rer les donn\u00E9es du graphique concernant les embarquements sur les navires
+wao.error.serviceSynthesis.getBoardingBoats=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es du graphique concernant les embarquements sur les navires
wao.error.serviceSynthesis.getComplianceBoardingIndicator=
-wao.error.serviceSynthesis.getContactDataInputDateReactivity=Impossible de r\u00E9cup\u00E9rer l'indicateur de r\u00E9activit\u00E9 sur les dates de saisies dans Allegro
+wao.error.serviceSynthesis.getContactDataInputDateReactivity=Impossible de r\u00e9cup\u00e9rer l'indicateur de r\u00e9activit\u00e9 sur les dates de saisies dans Allegro
wao.error.serviceSynthesis.getContactPieChartData=
wao.error.serviceSynthesis.getContactPieChartDataByBoatDistrict=
-wao.error.serviceSynthesis.getContactStateStatistics=Impossible de r\u00E9cup\u00E9rer les statistiques sur les \u00E9tats des contacts
+wao.error.serviceSynthesis.getContactStateStatistics=Impossible de r\u00e9cup\u00e9rer les statistiques sur les \u00e9tats des contacts
wao.error.serviceSynthesis.getDataReliability=
-wao.error.serviceSynthesis.getDataSampling=Impossible de r\u00E9cup\u00E9rer les donn\u00E9es pour le graphique dynamique des efforts de mar\u00E9es
-wao.error.serviceSynthesis.getGlobalSynthesisParameters=Impossible de r\u00E9cup\u00E9rer les donn\u00E9es concernant les indicateurs pour la synth\u00E8se globale
+wao.error.serviceSynthesis.getDataSampling=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es pour le graphique dynamique des efforts de mar\u00e9es
+wao.error.serviceSynthesis.getGlobalSynthesisParameters=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es concernant les indicateurs pour la synth\u00e8se globale
wao.error.serviceSynthesis.getGlobalSynthesisResult=
-wao.error.serviceSynthesis.getNonComplianceBoardingIndicator=Impossible de r\u00E9cup\u00E9rer l'indicateur de non respect du nombre d'observateurs embarqu\u00E9s
-wao.error.serviceSynthesis.updateGlobalSynthesisParameters=Impossible de mettre \u00E0 jour les param\u00E8tres de la synth\u00E8se globale
+wao.error.serviceSynthesis.getNonComplianceBoardingIndicator=Impossible de r\u00e9cup\u00e9rer l'indicateur de non respect du nombre d'observateurs embarqu\u00e9s
+wao.error.serviceSynthesis.updateGlobalSynthesisParameters=Impossible de mettre \u00e0 jour les param\u00e8tres de la synth\u00e8se globale
wao.error.serviceUser.connect=Une erreur est survenue lors de la demande de connexion
-wao.error.serviceUser.createDefaultAdmin=Impossible de cr\u00E9er l'administrateur par d\u00E9faut
-wao.error.serviceUser.createUpdateCompany=Impossible de cr\u00E9er ou de mettre \u00E0 jour la soci\u00E9t\u00E9
-wao.error.serviceUser.createUpdateUser=Impossible de cr\u00E9er ou de mettre \u00E0 jour l'utilisateur
+wao.error.serviceUser.createDefaultAdmin=Impossible de cr\u00e9er l'administrateur par d\u00e9faut
+wao.error.serviceUser.createUpdateCompany=Impossible de cr\u00e9er ou de mettre \u00e0 jour la soci\u00e9t\u00e9
+wao.error.serviceUser.createUpdateUser=Impossible de cr\u00e9er ou de mettre \u00e0 jour l'utilisateur
wao.error.serviceUser.deleteUser=Impossible de supprimer l'utilisateur
wao.error.serviceUser.existLogin=
wao.error.serviceUser.forgetPassword=Impossible d'envoyer le mail d'oubli de mot de passe
-wao.error.serviceUser.getCompanies=Impossible de r\u00E9cup\u00E9rer la liste des soci\u00E9t\u00E9s
+wao.error.serviceUser.getCompanies=Impossible de r\u00e9cup\u00e9rer la liste des soci\u00e9t\u00e9s
wao.error.serviceUser.getCompany=
wao.error.serviceUser.getNewUser=Impossible d'instancier un nouvel utilisateur
-wao.error.serviceUser.getObservers=Impossible de r\u00E9cup\u00E9rer la liste des observateurs
+wao.error.serviceUser.getObservers=Impossible de r\u00e9cup\u00e9rer la liste des observateurs
wao.error.serviceUser.getUserRolesByLogin=
-wao.error.serviceUser.getUsersByCompany=Impossible de r\u00E9cup\u00E9rer la liste des utilisateurs de la soci\u00E9t\u00E9 %1$s
+wao.error.serviceUser.getUsersByCompany=Impossible de r\u00e9cup\u00e9rer la liste des utilisateurs de la soci\u00e9t\u00e9 %1$s
1
0
[Suiviobsmer-commits] r757 - in trunk: src/site/rst wao-business/src/main/java/fr/ifremer/wao wao-business/src/main/java/fr/ifremer/wao/entity wao-business/src/main/java/fr/ifremer/wao/service wao-business/src/main/resources/i18n wao-business/src/main/xmi wao-business/src/test/java/fr/ifremer/wao wao-ui/src/main/java/fr/ifremer/wao/ui/base wao-ui/src/main/java/fr/ifremer/wao/ui/pages wao-ui/src/main/webapp
by bleny@users.labs.libre-entreprise.org 10 Nov '10
by bleny@users.labs.libre-entreprise.org 10 Nov '10
10 Nov '10
Author: bleny
Date: 2010-11-10 17:06:24 +0000 (Wed, 10 Nov 2010)
New Revision: 757
Log:
migrate Profession#codeDCF5 to its own entity (DB migration), added filter in sampling plan
Added:
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/DCFFiveCodeImpl.java
trunk/wao-business/src/test/java/fr/ifremer/wao/WaoMigrationCallBackTest.java
Modified:
trunk/src/site/rst/business-rules.rst
trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
trunk/wao-business/src/main/resources/i18n/wao-business-en_GB.properties
trunk/wao-business/src/main/resources/i18n/wao-business-fr_FR.properties
trunk/wao-business/src/main/xmi/wao.properties
trunk/wao-business/src/main/xmi/wao.zargo
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java
trunk/wao-ui/src/main/webapp/SamplingPlan.tml
Modified: trunk/src/site/rst/business-rules.rst
===================================================================
--- trunk/src/site/rst/business-rules.rst 2010-11-10 09:25:14 UTC (rev 756)
+++ trunk/src/site/rst/business-rules.rst 2010-11-10 17:06:24 UTC (rev 757)
@@ -1,3 +1,4 @@
+=====================================================
Documentation des règles métiers de l'application WAO
=====================================================
@@ -26,7 +27,7 @@
.. -
Ligne du plan d'échantillonnage (ADMIN)
----------------------------------------
+=======================================
Pré-requis : Import des zones de pêche
@@ -58,7 +59,7 @@
- Unicité : code de la ligne
Navires (OBSERVER/USER)
------------------------
+=======================
- Filtres :
@@ -73,7 +74,7 @@
- Unicité : immatriculation du navire
Contact (OBSERVER/USER)
------------------------
+=======================
Pré-requis : La création n'est possible que sur un navire elligible lié à une ligne du plan
@@ -133,8 +134,20 @@
- Unicité : code de la ligne du plan + immatriculation du navire + société + date de création (avec temps)
+Indicateurs
+===========
+
+Principe
+--------
+
+Indicateur 1
+------------
+
+Bilan
+-----
+
Administration
---------------
+==============
- Accessible par un administrateur ou un coordinateur
- Le coordinateur ne peut modifier que les composantes de sa société (tel, adresse, observateurs, ...)
@@ -142,4 +155,3 @@
- Aucune création d'utilisateur possible pour une société inactive
-
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2010-11-10 09:25:14 UTC (rev 756)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2010-11-10 17:06:24 UTC (rev 757)
@@ -26,6 +26,7 @@
import fr.ifremer.wao.bean.ContactState;
import fr.ifremer.wao.bean.SynthesisId;
+import fr.ifremer.wao.entity.DCFFiveCode;
import org.hibernate.SQLQuery;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.framework.TopiaContextImplementor;
@@ -439,4 +440,74 @@
protected void addDataReliability_1_6(List<String> queries) {
queries.add("ALTER TABLE Contact ADD dataReliabilityOrdinal SMALLINT NOT NULL DEFAULT 0;");
}
+
+ @Override
+ protected void createTablesForDCF5Code_1_6(List<String> queries) {
+ // create table IndicatorLog with author FK
+ queries.add("CREATE TABLE DCFFiveCode (" +
+ "topiaId CHARACTER VARYING(255) PRIMARY KEY," +
+ "topiaVersion BIGINT NOT NULL," +
+ "topiaCreateDate TIMESTAMP WITHOUT TIME ZONE NOT NULL," +
+ "fishingGearDCF CHARACTER VARYING(10) NOT NULL," +
+ "targetSpeciesDCF CHARACTER VARYING(10)," +
+ "UNIQUE (fishingGearDCF, targetSpeciesDCF));");
+
+ // *..* relation need an intermediate table
+ queries.add("CREATE TABLE dcf5code_profession (" +
+ "dcf5code character varying(255) NOT NULL," +
+ "Profession character varying(255) NOT NULL," +
+ "CONSTRAINT profession_fkey FOREIGN KEY (profession) " +
+ "REFERENCES Profession (topiaid) MATCH SIMPLE " +
+ "ON UPDATE NO ACTION ON DELETE NO ACTION," +
+ "CONSTRAINT dcffivecode_fkey FOREIGN KEY (dcf5code) " +
+ "REFERENCES DCFFiveCode (topiaid) MATCH SIMPLE " +
+ "ON UPDATE NO ACTION ON DELETE NO ACTION);");
+ }
+
+ /** get Data to migrate. key is the topiaId of the profession (to be
+ * used as a foreign key) and value is the value of the field to split)
+ */
+ protected Map<String, String> getCodeDCF5ForMigration_1_6(TopiaContextImplementor tx) throws TopiaException {
+
+ final Map<String, String> result = new HashMap<String, String>();
+
+ SQLQuery query = tx.getHibernate().
+ createSQLQuery("SELECT topiaid, codedcf5 FROM Profession;");
+
+ List<Object[]> results = query.list();
+
+ for (Object[] row : results) {
+ String topiaId = (String) row[0];
+ String code = (String) row[1];
+
+ result.put(topiaId, code);
+ }
+
+ return result;
+ }
+
+ @Override
+ protected void insertDCFFiveCode_1_6(String codeTopiaId, DCFFiveCode code, List<String> queries) {
+ int topiaVersion = 0;
+ String topiaCreateDateValue = "DATE '2010-11-09'";
+
+ String sql = String.format("INSERT INTO DCFFiveCode (topiaId, topiaVersion, topiaCreateDate, fishingGearDCF, targetSpeciesDCF) " +
+ "VALUES ('%s', %s, %s, '%s', %s);",
+ codeTopiaId,
+ topiaVersion,
+ topiaCreateDateValue,
+ code.getFishingGearDCF(),
+ code.getTargetSpeciesDCF() == null ? "NULL" : "'" + code.getTargetSpeciesDCF() + "'");
+ queries.add(sql);
+ }
+
+ @Override
+ protected void insertSplitCodes_1_6(String professionTopiaId,
+ String codeTopiaId,
+ List<String> queries) {
+ String sql = String.format("INSERT INTO dcf5code_profession (Profession, dcf5code) " +
+ "VALUES ('%s', '%s');",
+ professionTopiaId, codeTopiaId);
+ queries.add(sql);
+ }
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2010-11-10 09:25:14 UTC (rev 756)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2010-11-10 17:06:24 UTC (rev 757)
@@ -24,6 +24,8 @@
package fr.ifremer.wao;
+import fr.ifremer.wao.entity.DCFFiveCode;
+import fr.ifremer.wao.entity.DCFFiveCodeImpl;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.TopiaException;
@@ -33,8 +35,10 @@
import org.nuiton.util.VersionUtil;
import java.util.ArrayList;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Set;
/**
*
@@ -84,6 +88,14 @@
protected abstract void addDataReliability_1_6(List<String> queries);
+ protected abstract void createTablesForDCF5Code_1_6(List<String> queries);
+
+ protected abstract Map<String, String> getCodeDCF5ForMigration_1_6(TopiaContextImplementor tx) throws TopiaException;
+
+ protected abstract void insertDCFFiveCode_1_6(String codeTopiaId, DCFFiveCode code, List<String> queries);
+
+ protected abstract void insertSplitCodes_1_6(String professionTopiaId, String codeTopiaId, List<String> queries);
+
protected static final Version[] VERSIONS = new Version[] {
VersionUtil.valueOf("1.0"),
VersionUtil.valueOf("1.1"),
@@ -242,6 +254,31 @@
addDataReliability_1_6(queries);
+ createTablesForDCF5Code_1_6(queries);
+
+ Map<String, String> codesDCF5ForMigration = getCodeDCF5ForMigration_1_6(tx);
+
+ Set<String> insertedDCFFiveCode = new HashSet<String>();
+
+ for (Map.Entry<String, String> codeToMigrate : codesDCF5ForMigration.entrySet()) {
+ // split the code String in multiple codes
+ List<DCFFiveCode> codes = splitCodeDCF5_1_6(codeToMigrate.getValue());
+
+ // first, do the insert if needed
+ for (DCFFiveCode code : codes) {
+ String codeTopiaId = "fr.ifremer.wao.entities.DCFFiveCode#1289320029000#798260963"
+ + code.getFishingGearDCF() + code.getTargetSpeciesDCF();
+ if ( ! insertedDCFFiveCode.contains(codeTopiaId)) {
+ insertDCFFiveCode_1_6(codeTopiaId, code, queries);
+ insertedDCFFiveCode.add(codeTopiaId);
+ }
+
+ insertSplitCodes_1_6(codeToMigrate.getKey(), codeTopiaId, queries);
+ }
+ }
+
+ // remove obsolete column ?
+
if (log.isDebugEnabled()) {
log.debug("queries for migration to version 1.6 are \n" + queries);
}
@@ -250,4 +287,29 @@
executeSQL(tx, true, true, strings);
}
+ /** given "XXX_YYY et ZZZ_", will split with " et " and with "_" to extract
+ * some DCFFiveCode entities
+ */
+ protected List<DCFFiveCode> splitCodeDCF5_1_6(String dcf5Code) {
+
+ String codes[] = dcf5Code.split(" et ");
+ List<DCFFiveCode> result = new ArrayList<DCFFiveCode>();
+
+ for (String code : codes) {
+ String codeParts[] = code.split("_");
+ DCFFiveCode dcfFiveCode = new DCFFiveCodeImpl();
+ dcfFiveCode.setFishingGearDCF(codeParts[0]);
+ if (codeParts.length == 2 && ! codeParts[1].isEmpty()) {
+ dcfFiveCode.setTargetSpeciesDCF(codeParts[1]);
+ }
+ result.add(dcfFiveCode);
+ }
+
+ if (log.isInfoEnabled()) {
+ log.info(String.format("line %s will be migrated to",
+ dcf5Code, result));
+ }
+ return result;
+ }
+
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2010-11-10 09:25:14 UTC (rev 756)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2010-11-10 17:06:24 UTC (rev 757)
@@ -337,6 +337,11 @@
calendar.add(Calendar.MONTH, nbMonthsFinishedFromToday);
query.addWhere(sampleRowProperty.periodEnd(), TopiaQuery.Op.GE, calendar.getTime());
}
+
+ if (filter.getFishingGearDCF() != null) {
+ query.addEquals(WaoQueryHelper.newDCFFiveCodeProperty().fishingGearDCF(),
+ filter.getFishingGearDCF());
+ }
if(logger.isDebugEnabled()) {
logger.debug("sampling filter query " + query);
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/DCFFiveCodeImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/DCFFiveCodeImpl.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/DCFFiveCodeImpl.java 2010-11-10 17:06:24 UTC (rev 757)
@@ -0,0 +1,13 @@
+package fr.ifremer.wao.entity;
+
+public class DCFFiveCodeImpl extends DCFFiveCodeAbstract {
+
+ @Override
+ public String toString() {
+ String toString = getFishingGearDCF();
+ if (getTargetSpeciesDCF() != null) {
+ toString += "_" + getTargetSpeciesDCF();
+ }
+ return toString;
+ }
+}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2010-11-10 09:25:14 UTC (rev 756)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2010-11-10 17:06:24 UTC (rev 757)
@@ -45,6 +45,7 @@
import fr.ifremer.wao.entity.CompanyDAO;
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.ContactDAO;
+import fr.ifremer.wao.entity.DCFFiveCode;
import fr.ifremer.wao.entity.ElligibleBoat;
import fr.ifremer.wao.entity.ElligibleBoatDAO;
import fr.ifremer.wao.entity.FishingZone;
@@ -94,8 +95,10 @@
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Set;
/**
* ServiceSamplingImpl
@@ -399,11 +402,22 @@
fishingZoneProperty.districtCode(),
sampleRowProperty.code());
+
// Need fishingZone properties in Select to use them in orderBy
// addSelect(queryBuilder.getFacadeNameProperty(),
// queryBuilder.getSectorNameProperty(),
// queryBuilder.getFishingZoneDistrictProperty());
+ WaoQueryHelper.DCFFiveCodeProperty dcf5CodeProperty = WaoQueryHelper.newDCFFiveCodeProperty();
+ query.addLeftJoin(sampleRowProperty.professionProperty().dcf5code(),
+ dcf5CodeProperty.$alias(), false);
+
+ query.setSelect(sampleRowProperty.$alias(),
+ fishingZoneProperty.facadeName(),
+ fishingZoneProperty.sectorName(),
+ fishingZoneProperty.districtCode());
+ query.addDistinct();
+
if (log.isDebugEnabled()) {
log.debug("Query : " + query);
}
@@ -415,6 +429,12 @@
for (SampleRow row : results) {
// use FacadeRow to complete ordering using maps
result.addRow(row);
+
+ // XXX bleny 20101110 browse code to force load it from BD
+ // "lazy" directive doesn't seem to work
+ for (DCFFiveCode code : row.getProfession().getDcf5code()) {
+ log.debug("row " + row.getCode() + " has DCF5 code " + code.toString());
+ }
}
return result;
}
@@ -1065,4 +1085,13 @@
}
}
+ @Override
+ protected Set<String> executeGetDCFGears(TopiaContext transaction, SamplingFilter filter) throws Exception {
+ TopiaQuery query = WaoDAOHelper.getDCFFiveCodeDAO(transaction).createQuery();
+ query.setSelect(DCFFiveCode.FISHING_GEAR_DCF);
+ query.addDistinct();
+ List<String> dcfGears = transaction.findByQuery(query);
+ Set<String> result = new HashSet<String>(dcfGears);
+ return result;
+ }
}
Modified: trunk/wao-business/src/main/resources/i18n/wao-business-en_GB.properties
===================================================================
--- trunk/wao-business/src/main/resources/i18n/wao-business-en_GB.properties 2010-11-10 09:25:14 UTC (rev 756)
+++ trunk/wao-business/src/main/resources/i18n/wao-business-en_GB.properties 2010-11-10 17:06:24 UTC (rev 757)
@@ -67,6 +67,7 @@
wao.error.serviceSampling.createUpdateSampleRow=
wao.error.serviceSampling.deleteSampleRow=
wao.error.serviceSampling.exportSamplingPlanCsv=
+wao.error.serviceSampling.getDCFGears=
wao.error.serviceSampling.getNewProfession=
wao.error.serviceSampling.getNewSampleMonth=
wao.error.serviceSampling.getNewSampleRow=
Modified: trunk/wao-business/src/main/resources/i18n/wao-business-fr_FR.properties
===================================================================
--- trunk/wao-business/src/main/resources/i18n/wao-business-fr_FR.properties 2010-11-10 09:25:14 UTC (rev 756)
+++ trunk/wao-business/src/main/resources/i18n/wao-business-fr_FR.properties 2010-11-10 17:06:24 UTC (rev 757)
@@ -66,6 +66,7 @@
wao.error.serviceSampling.createUpdateSampleRow=Impossible de sauvegarder la ligne d'\u00E9chantillon
wao.error.serviceSampling.deleteSampleRow=Impossible de supprimer la ligne d'\u00E9chantillon \: %1$s
wao.error.serviceSampling.exportSamplingPlanCsv=Impossible d'exporter le plan d'\u00E9chantillonnage sur la p\u00E9riode du %1$s au %2$s
+wao.error.serviceSampling.getDCFGears=
wao.error.serviceSampling.getNewProfession=
wao.error.serviceSampling.getNewSampleMonth=
wao.error.serviceSampling.getNewSampleRow=
Modified: trunk/wao-business/src/main/xmi/wao.properties
===================================================================
--- trunk/wao-business/src/main/xmi/wao.properties 2010-11-10 09:25:14 UTC (rev 756)
+++ trunk/wao-business/src/main/xmi/wao.properties 2010-11-10 17:06:24 UTC (rev 757)
@@ -12,8 +12,9 @@
fr.ifremer.wao.entity.SampleRow.attribute.sampleMonth.tagvalue.orderBy=periodDate
fr.ifremer.wao.entity.SampleRow.attribute.fishingZone.tagvalue.lazy=false
fr.ifremer.wao.entity.SampleRow.attribute.fishingZone.tagvalue.orderBy=facadeName,sectorName,districtCode
+fr.ifremer.wao.entity.SampleRow.attribute.company.tagvalue.lazy=false
fr.ifremer.wao.entity.SampleRow.attribute.profession.tagvalue.lazy=false
-fr.ifremer.wao.entity.SampleRow.attribute.company.tagvalue.lazy=false
+fr.ifremer.wao.entity.Profession.attribute.dcf5Code.tagvalue.lazy=false
#fr.ifremer.wao.entity.SampleRow.attribute.elligibleBoat.tagvalue.lazy=false
fr.ifremer.wao.entity.SampleRow.attribute.elligibleBoat.tagvalue.orderBy=companyActive
#fr.ifremer.wao.entity.SampleRow.attribute.sampleRowLog.tagvalue.lazy=false
@@ -34,3 +35,4 @@
fr.ifremer.wao.entity.Indicator.attribute.indicatorLevel.tagvalue.lazy=false
fr.ifremer.wao.entity.IndicatorLog.attribute.author.tagvalue.lazy=false
+fr.ifremer.wao.entity.Indicator.attribute.indicatorLevel.tagvalue.orderBy=level
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Added: trunk/wao-business/src/test/java/fr/ifremer/wao/WaoMigrationCallBackTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/WaoMigrationCallBackTest.java (rev 0)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/WaoMigrationCallBackTest.java 2010-11-10 17:06:24 UTC (rev 757)
@@ -0,0 +1,153 @@
+package fr.ifremer.wao;
+
+import fr.ifremer.wao.entity.DCFFiveCode;
+import org.junit.Test;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.framework.TopiaContextImplementor;
+
+import java.util.List;
+import java.util.Map;
+
+import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.assertNull;
+
+public class WaoMigrationCallBackTest {
+
+ /** A dummy implementation of WaoMigrationCallBack to make it instanciable. */
+ public class ConcreteWaoMigrationCallBack extends WaoMigrationCallBack {
+ @Override
+ protected void createUserRoleColumn_1_1a(List<String> queries) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected void changeContactStateColumn_1_1b(List<String> queries) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected void changeSampleRowLogAdminColumn_1_1c(List<String> queries) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected void createBoatInfosNewColumns_1_2a(List<String> queries) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected void createSampleMonthEstimatedTidesColumn_1_2b(List<String> queries) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected void updateWaoUserRoleColumns_1_3a(List<String> queries) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected void createSampleRowLogFromAdminColumn_1_3b(List<String> queries) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected void createNewsCompanyColumn_1_4a(List<String> queries) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected void createContactCommentColumns_1_4b(List<String> queries) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected Map<String, List<String>> retrieveBoatDistrictCodes_1_5a(TopiaContextImplementor tx) throws TopiaException {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected void createBoatDistrictTable_1_5b(List<String> queries) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected Map<String, String> insertBoatDistricts_1_5c(List<String> queries, Map<String, List<String>> boatDistrictCodes) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected void updateBoatWithBoatDistrict_1_5d(List<String> queries, Map<String, String> boats) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected void createContactEmailSentColumn_1_5e(List<String> queries) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected void createTablesForIndicatorsAdministration_1_6(List<String> queries) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected void insertIndicatorLevelInitialValues_1_6(List<String> queries) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected void addDataReliability_1_6(List<String> queries) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected void createTablesForDCF5Code_1_6(List<String> queries) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected Map<String, String> getCodeDCF5ForMigration_1_6(TopiaContextImplementor tx) throws TopiaException {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected void insertDCFFiveCode_1_6(String codeTopiaId, DCFFiveCode code, List<String> queries) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ protected void insertSplitCodes_1_6(String professionTopiaId, String codeTopiaId, List<String> queries) {
+ throw new UnsupportedOperationException();
+ }
+ }
+
+ @Test
+ public void testSplitCodeDCF5_1_6() {
+ ConcreteWaoMigrationCallBack migration = new ConcreteWaoMigrationCallBack();
+
+ // code to split. 4 codes should be found as result of the split
+ String code = "AAA_BBB et CCC_DDD et EEE_ et FFF";
+
+ // now, the split
+ List<DCFFiveCode> codes = migration.splitCodeDCF5_1_6(code);
+
+ // first code
+ assertEquals("AAA", codes.get(0).getFishingGearDCF());
+ assertEquals("BBB", codes.get(0).getTargetSpeciesDCF());
+
+ // second code
+ assertEquals("CCC", codes.get(1).getFishingGearDCF());
+ assertEquals("DDD", codes.get(1).getTargetSpeciesDCF());
+
+ // third code
+ assertEquals("EEE", codes.get(2).getFishingGearDCF());
+ assertNull(codes.get(2).getTargetSpeciesDCF());
+
+ // last code
+ assertEquals("FFF", codes.get(3).getFishingGearDCF());
+ assertNull(codes.get(3).getTargetSpeciesDCF());
+
+ }
+
+
+}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java 2010-11-10 09:25:14 UTC (rev 756)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java 2010-11-10 17:06:24 UTC (rev 757)
@@ -349,6 +349,19 @@
return programSelectModel;
}
+ private SelectModel dcfGearSelectModel;
+
+ public SelectModel getDcfGearSelectModel() throws WaoException {
+ if (dcfGearSelectModel == null) {
+ List<OptionModel> options = new ArrayList<OptionModel>();
+ for (String dcfGear : serviceSampling.getDCFGears(getFilter())) {
+ options.add(new OptionModelImpl(dcfGear + " description", dcfGear));
+ }
+ dcfGearSelectModel = new SelectModelImpl(null, options);
+ }
+ return dcfGearSelectModel;
+ }
+
protected abstract SamplingFilter getFilter() throws WaoException;
/**
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java 2010-11-10 09:25:14 UTC (rev 756)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java 2010-11-10 17:06:24 UTC (rev 757)
@@ -360,6 +360,10 @@
return data;
}
+ public String getDcf5code() {
+ return StringUtil.join(row.getProfession().getDcf5code(), ", ", true);
+ }
+
public List<Date> getMonths() {
if (months == null) {
months = getPeriod().getMonths();
Modified: trunk/wao-ui/src/main/webapp/SamplingPlan.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/SamplingPlan.tml 2010-11-10 09:25:14 UTC (rev 756)
+++ trunk/wao-ui/src/main/webapp/SamplingPlan.tml 2010-11-10 17:06:24 UTC (rev 757)
@@ -109,50 +109,46 @@
<div class="t-beaneditor">
<div>
<t:if t:test="user.admin">
- <t:label t:for="company" />:
+ <t:label t:for="company" /> :
<input t:type="select" t:id="company" t:model="companySelectModel" value="companyId"/>
<input t:type="submit" class="ico22px refresh" t:id="refreshByCompany" value="Refresh"
title="Rafraîchir les filtres en fonction de la société sélectionnée"/>
</t:if>
- <t:label t:for="programName" />:
+ <t:label t:for="programName" /> :
<select t:type="select" t:id="programName" t:model="programSelectModel" t:value="filter.programName" />
- <t:label t:for="codeDCF5" />:
+ <t:label t:for="codeDCF5" /> :
<input t:type="textfield" t:id="codeDCF5" value="filter.codeDCF5" t:mixins="Autocomplete"/>
+
+ <t:label t:for="fishingGearDCF" /> :
+ <input t:type="select" t:id="fishingGearDCF" t:model="dcfGearSelectModel" value="filter.fishingGearDCF"/>
</div>
<div>
- <t:label t:for="facadeName" />:
+ <t:label t:for="facadeName" /> :
<select t:type="select" t:id="facadeName" t:model="facadeSelectModel" t:value="filter.facadeName" />
<input t:type="submit" class="ico22px refresh" t:id="refreshByFacade" value="Refresh"
title="Rafraîchir les zones et les métiers en fonction de la façade sélectionnée"/>
- <t:label t:for="sectorName" />:
+ <t:label t:for="sectorName" /> :
<select t:type="select" t:id="sectorName" t:model="sectorSelectModel" t:value="filter.sectorName" />
<input t:type="submit" class="ico22px refresh" t:id="refreshBySector" value="Refresh"
title="Rafraîchir les métiers en fonction de la zone sélectionnée"/>
- <!--t:label t:for="sampleRow" />:
- <input t:type="select" t:id="sampleRow" t:model="sampleRowSelectModel" value="sampleRowId" /-->
-
-
- <t:zone id="so-sampling-sampleRowZone" t:id="sampleRowZone" t:update="show">
- <t:nuiton.subForm t:visible="refreshSampleRowCodeZone">
- <t:label t:for="selectedSampleRow" />:
- <select t:type="select" t:id="selectedSampleRow" t:value="selectedSampleRow" t:model="sampleRowSelectModel"
- t:mixins="ck/onEvent" t:event="change"/>
- <a t:type="actionlink" t:id="addSampleRowCode" title="Ajouter un code de ligne" t:zone="so-sampling-sampleRowZone">
- <img src="${asset:context:img/add-16px.png}" />
- </a>
- <ul>
- <li t:type="loop" t:source="filter.sampleRows" t:value="row" t:index="sampleRowCodeIndex" t:volatile="true">
- ${row.code}
- <a t:type="actionlink" t:id="removeSampleRowCode" t:context="sampleRowCodeIndex" title="Supprimer ce code de ligne" t:zone="so-sampling-sampleRowZone">
- <img src="${asset:context:img/remove-22px.png}" />
- </a>
- </li>
- </ul>
- </t:nuiton.subForm>
- </t:zone>
-
-
-
+ <t:zone id="so-sampling-sampleRowZone" t:id="sampleRowZone" t:update="show">
+ <t:nuiton.subForm t:visible="refreshSampleRowCodeZone">
+ <t:label t:for="selectedSampleRow" />:
+ <select t:type="select" t:id="selectedSampleRow" t:value="selectedSampleRow" t:model="sampleRowSelectModel"
+ t:mixins="ck/onEvent" t:event="change"/>
+ <a t:type="actionlink" t:id="addSampleRowCode" title="Ajouter un code de ligne" t:zone="so-sampling-sampleRowZone">
+ <img src="${asset:context:img/add-16px.png}" />
+ </a>
+ <ul>
+ <li t:type="loop" t:source="filter.sampleRows" t:value="row" t:index="sampleRowCodeIndex" t:volatile="true">
+ ${row.code}
+ <a t:type="actionlink" t:id="removeSampleRowCode" t:context="sampleRowCodeIndex" title="Supprimer ce code de ligne" t:zone="so-sampling-sampleRowZone">
+ <img src="${asset:context:img/remove-22px.png}" />
+ </a>
+ </li>
+ </ul>
+ </t:nuiton.subForm>
+ </t:zone>
</div>
<div class="t-beaneditor-row aright">
<input t:type="submit" class="ico search-32px" t:id="search" value="Search" title="Rechercher les lignes du plan correspondants aux filtres saisies" />
@@ -247,7 +243,7 @@
<t:if t:test="fullView">
<td>${fishingZones}</td>
<td>${row.fishingZonesInfos}</td>
- <td>${row.profession.codeDCF5}</td>
+ <td>${row.profession.codeDCF5} ; ${dcf5code}</td>
<td>${row.profession.meshSize}</td>
<td>${row.profession.size}</td>
<td>${row.profession.other}</td>
1
0
[Suiviobsmer-commits] r756 - trunk/wao-business/src/main/java/fr/ifremer/wao/service
by bleny@users.labs.libre-entreprise.org 10 Nov '10
by bleny@users.labs.libre-entreprise.org 10 Nov '10
10 Nov '10
Author: bleny
Date: 2010-11-10 09:25:14 +0000 (Wed, 10 Nov 2010)
New Revision: 756
Log:
indicators history ordered through time
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java 2010-11-09 14:05:19 UTC (rev 755)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java 2010-11-10 09:25:14 UTC (rev 756)
@@ -1034,7 +1034,7 @@
@Override
protected List<IndicatorLog> executeGetAllIndicatorLogs(TopiaContext transaction) throws Exception {
List<IndicatorLog> allIndicatorLogs =
- WaoDAOHelper.getIndicatorLogDAO(transaction).findAll();
+ WaoDAOHelper.getIndicatorLogDAO(transaction).findAllWithOrder("modificationDate");
return allIndicatorLogs;
}
1
0
[Suiviobsmer-commits] r755 - in trunk/wao-business/src: main/java/fr/ifremer/wao/service test/java/fr/ifremer/wao/service
by bleny@users.labs.libre-entreprise.org 09 Nov '10
by bleny@users.labs.libre-entreprise.org 09 Nov '10
09 Nov '10
Author: bleny
Date: 2010-11-09 14:05:19 +0000 (Tue, 09 Nov 2010)
New Revision: 755
Log:
fix estimatedTides criteria on filters in service synthesis (was breaking the build)
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java 2010-11-08 23:37:55 UTC (rev 754)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java 2010-11-09 14:05:19 UTC (rev 755)
@@ -280,12 +280,12 @@
ContactProperty contactProperty = builder.initializeForContact();
TopiaQuery query = builder.applySamplingFilter(filter).
addEquals(contactProperty.state(), ContactState.BOARDING_DONE.ordinal()).
- addEquals(contactProperty.validationCompany(), Boolean.TRUE);
+ addNullOr(contactProperty.validationProgram(), Op.EQ, Boolean.TRUE);
if (filter.getEstimatedTides()) {
- query.addNullOr(contactProperty.validationProgram(), Op.EQ, Boolean.TRUE);
+ query.addNullOr(contactProperty.validationCompany(), Op.EQ, Boolean.TRUE);
} else {
- query.addEquals(contactProperty.validationProgram(), Boolean.TRUE);
+ query.addEquals(contactProperty.validationCompany(), Boolean.TRUE);
}
// Only for done contacts with no constraint
@@ -399,12 +399,13 @@
WaoQueryBuilder builder = context.newQueryBuilder();
ContactProperty contactProperty = builder.initializeForContact();
- TopiaQuery query = builder.applySamplingFilter(filter);
+ TopiaQuery query = builder.applySamplingFilter(filter).
+ addNullOr(contactProperty.validationProgram(), Op.EQ, Boolean.TRUE);
if (filter.getEstimatedTides()) {
- query.addNullOr(contactProperty.validationProgram(), Op.EQ, Boolean.TRUE);
+ query.addNullOr(contactProperty.validationCompany(), Op.EQ, Boolean.TRUE);
} else {
- query.addEquals(contactProperty.validationProgram(), Boolean.TRUE);
+ query.addEquals(contactProperty.validationCompany(), Boolean.TRUE);
}
WaoQueryHelper.CompanyProperty companyProperty =
@@ -471,15 +472,14 @@
ContactProperty contactProperty = builder.initializeForContact();
TopiaQuery query = builder.applySamplingFilter(filter).
addEquals(contactProperty.state(), ContactState.BOARDING_DONE.ordinal()).
- addEquals(contactProperty.validationCompany(), Boolean.TRUE);
+ addNullOr(contactProperty.validationProgram(), Op.EQ, Boolean.TRUE);
if (filter.getEstimatedTides()) {
- query.addNullOr(contactProperty.validationProgram(), Op.EQ, Boolean.TRUE);
+ query.addNullOr(contactProperty.validationCompany(), Op.EQ, Boolean.TRUE);
} else {
- query.addEquals(contactProperty.validationProgram(), Boolean.TRUE);
+ query.addEquals(contactProperty.validationCompany(), Boolean.TRUE);
}
-
// Carefull with results, the company may not be present in the map :
// only if there is no unfinished sampleRow or no contact done
@@ -558,7 +558,7 @@
TopiaQuery query = builder.applySamplingFilter(filter).
addEquals(contactProperty.state(), ContactState.BOARDING_DONE.ordinal()).
- addEquals(contactProperty.validationCompany(), Boolean.TRUE).
+ addEquals(contactProperty.validationProgram(), Boolean.TRUE).
// Set the results wanted : by company, by reliability,
// get number of each realiability level
@@ -566,9 +566,9 @@
addGroup(companyProperty.name(), contactProperty.dataReliabilityOrdinal());
if (filter.getEstimatedTides()) {
- query.addNullOr(contactProperty.validationProgram(), Op.EQ, Boolean.TRUE);
+ query.addNullOr(contactProperty.validationCompany(), Op.EQ, Boolean.TRUE);
} else {
- query.addEquals(contactProperty.validationProgram(), Boolean.TRUE);
+ query.addEquals(contactProperty.validationCompany(), Boolean.TRUE);
}
if (log.isDebugEnabled()) {
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java 2010-11-08 23:37:55 UTC (rev 754)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java 2010-11-09 14:05:19 UTC (rev 755)
@@ -284,7 +284,7 @@
SamplingFilter filter = new SamplingFilterImpl();
filter.setCompany(company);
Map<String, Double> results =
- service.getComplianceBoardingIndicator(filter);
+ service.getComplianceBoardingIndicator(filter);
assertEquals(1, results.size());
@@ -421,6 +421,7 @@
// result for company TARTANPION with no period
SamplingFilter filter = new SamplingFilterImpl();
+ filter.setEstimatedTides(true);
filter.setCompany(company);
Collection<ContactStateStatistics> results =
service.getContactStateStatistics(filter);
@@ -437,6 +438,7 @@
// result for company BIS using admin mode
filter = new SamplingFilterImpl();
+ filter.setEstimatedTides(true);
results = service.getContactStateStatistics(filter);
assertEquals(2, results.size());
@@ -459,6 +461,7 @@
PeriodDates period = new PeriodDates(begin, end);
filter = new SamplingFilterImpl();
+ filter.setEstimatedTides(true);
filter.setCompany(company2);
filter.setPeriod(period);
results = service.getContactStateStatistics(filter);
1
0
[Suiviobsmer-commits] r754 - in trunk: wao-business/src/main/java/fr/ifremer/wao wao-business/src/main/xmi wao-ui/src/main/resources/fr/ifremer/wao/ui/pages wao-ui/src/main/webapp
by bleny@users.labs.libre-entreprise.org 08 Nov '10
by bleny@users.labs.libre-entreprise.org 08 Nov '10
08 Nov '10
Author: bleny
Date: 2010-11-08 23:37:55 +0000 (Mon, 08 Nov 2010)
New Revision: 754
Log:
on contacts page, add data reliability criteria in filters
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java
trunk/wao-business/src/main/xmi/wao.zargo
trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts.properties
trunk/wao-ui/src/main/webapp/Contacts.tml
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2010-11-08 23:05:03 UTC (rev 753)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2010-11-08 23:37:55 UTC (rev 754)
@@ -23,6 +23,7 @@
import fr.ifremer.wao.bean.BoatFilter;
import fr.ifremer.wao.bean.ContactFilter;
import fr.ifremer.wao.bean.ContactState;
+import fr.ifremer.wao.bean.DataReliability;
import fr.ifremer.wao.bean.SamplingFilter;
import fr.ifremer.wao.bean.UserFilter;
import fr.ifremer.wao.entity.Company;
@@ -464,6 +465,7 @@
boolean comment = filter.isComment();
boolean commentAdmin = filter.isCommentAdmin();
boolean commentCompany = filter.isCommentCompany();
+ DataReliability dataReliability = filter.getDataReliability();
// OBSERVER
if (observer != null) {
@@ -531,6 +533,11 @@
query.addEquals(contactProperty.state(), contactState.ordinal());
}
+ // DATA RELIABILITY
+ if (dataReliability != null) {
+ query.addEquals(contactProperty.dataReliabilityOrdinal(), dataReliability.ordinal());
+ }
+
// COMMENTS
if (comment) {
addNotEmpty(contactProperty.comment());
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts.properties
===================================================================
--- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts.properties 2010-11-08 23:05:03 UTC (rev 753)
+++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts.properties 2010-11-08 23:37:55 UTC (rev 754)
@@ -28,6 +28,7 @@
observer-label: Observateur
contactsCsvFile-label: Fichier des contacts
fromDate-label: Depuis le
+reliabilityFilter-label: Qualit\u00e9
# Grid labels
createdBy-label: Observateur
@@ -57,6 +58,7 @@
validation-label: Validations
commentAdmin-label: Commentaire programme
commentCoordinator-label: Commentaire soci\u00e9t\u00e9
+dataReliability-label: Qualit\u00e9 de la donn\u00e9e
# Form labels
contactsForm-errors-banner: Le contact n'a pas \u00e9t\u00e9 sauvegard\u00e9 \u00e0 cause des erreurs suivantes :
Modified: trunk/wao-ui/src/main/webapp/Contacts.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/Contacts.tml 2010-11-08 23:05:03 UTC (rev 753)
+++ trunk/wao-ui/src/main/webapp/Contacts.tml 2010-11-08 23:37:55 UTC (rev 754)
@@ -138,7 +138,9 @@
<t:label t:for="programUndefined">
<img src="${asset:context:img/help-22px.png}" title="Non validé par le programme" />
</t:label>
- <span>Commentaires: </span>
+ <t:label t:for="reliabilityFilter" />:
+ <select t:type="select" t:id="reliabilityFilter" value="contactFilter.dataReliability"/>
+ <span>Commentaires : </span>
<input t:type="checkbox" t:id="commentFilter" value="contactFilter.comment" />
<label for="commentFilter">observateur</label>
<t:if t:test="canFilterExtraComments()">
1
0