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
30 May '11
Author: bleny
Date: 2011-05-30 16:17:33 +0000 (Mon, 30 May 2011)
New Revision: 1305
Log:
in terrestrial locations, add region in database too, refactor terrestrial location to make it associated to a region
Added:
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/RegionValueParserFormatter.java
Modified:
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/bean/LocationType.java
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterValuesImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialDivisionImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialLocationImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/SamplingPlanImportExportModel.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/TerrestrialDivisionImportModel.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.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/components/SamplingFilterComponent.java
trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/SamplingFilterComponent.tml
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2011-05-30 13:31:37 UTC (rev 1304)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2011-05-30 16:17:33 UTC (rev 1305)
@@ -26,6 +26,7 @@
import fr.ifremer.wao.bean.ContactState;
import fr.ifremer.wao.bean.DataReliability;
+import fr.ifremer.wao.bean.LocationType;
import fr.ifremer.wao.bean.ObsProgram;
import fr.ifremer.wao.bean.SynthesisId;
import fr.ifremer.wao.bean.UserRole;
@@ -931,4 +932,39 @@
queries.add("ALTER TABLE Boat ADD boatGroup CHARACTER VARYING(255);");
queries.add("ALTER TABLE Boat ADD CONSTRAINT boatGroup_fkey FOREIGN KEY (boatGroup) REFERENCES BoatGroup(topiaId);");
}
+
+ @Override
+ protected void addLocationTypeToAllTerrestrialLocations(List<String> queries) {
+ // Before this version, district was found by having locationTypeOrdinal
+ // null. Now that region are added, types are now explicit so we must
+ // take that in consideration
+ // 2 is for LocationType.DISTRICT.ordinal()
+ queries.add("UPDATE TerrestrialLocation"
+ + " SET locationTypeOrdinal=2"
+ + " WHERE locationTypeOrdinal IS NULL;");
+ }
+
+ @Override
+ protected void migrateTerrestrialDivisions(List<String> queries) {
+ // add the new column
+ queries.add("ALTER TABLE TerrestrialDivision"
+ + " ADD regionIfremer CHARACTER VARYING(255);");
+ queries.add("ALTER TABLE TerrestrialDivision"
+ + " ADD CONSTRAINT regionIfremer_fkey"
+ + " FOREIGN KEY (regionIfremer_fkey) "
+ + " REFERENCES TerrestrialLocation(topiaId);");
+
+// // migrate from old column to new column
+// // 3 is for LocationType.REGION.ordinal()
+// queries.add("UPDATE TerrestrialDivision td"
+// + " SET td.regionIfremer ="
+// + " (SELECT topiaId"
+// + " FROM TerrestrialLocation tl"
+// + " WHERE tl.regionIfremerCode = td.regionIfremerCode"
+// + " AND td.locationTypeOrdinal=3);");
+//
+
+ // drop old column
+ queries.add("ALTER TABLE TerrestrialDivision DROP regionIfremerCode;");
+ }
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2011-05-30 13:31:37 UTC (rev 1304)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2011-05-30 16:17:33 UTC (rev 1305)
@@ -155,6 +155,10 @@
protected abstract void addObsDebCodes_3_0(List<String> queries);
+ protected abstract void addLocationTypeToAllTerrestrialLocations(List<String> queries);
+
+ protected abstract void migrateTerrestrialDivisions(List<String> queries);
+
protected static final Version[] VERSIONS = new Version[] {
VersionUtil.valueOf("1.0"),
VersionUtil.valueOf("1.1"),
@@ -529,6 +533,10 @@
addFleetToBoats_3_0(queries);
+ addLocationTypeToAllTerrestrialLocations(queries);
+
+ migrateTerrestrialDivisions(queries);
+
String[] strings = queries.toArray(new String[queries.size()]);
executeSQL(tx, showSql, showProgression, strings);
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2011-05-30 13:31:37 UTC (rev 1304)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2011-05-30 16:17:33 UTC (rev 1305)
@@ -390,8 +390,8 @@
query.addEquals(sampleRowProperty.observationUnitProperty().subPopulationCode(), filter.getSubPopulationCode());
}
- if (filter.getRegionIfremerCode() != null) {
- query.addEquals(sampleRowProperty.observationUnitProperty().regionIfremerCode(), filter.getRegionIfremerCode());
+ if (filter.getRegionIfremer() != null) {
+ query.addEquals(sampleRowProperty.observationUnitProperty().regionIfremer(), filter.getRegionIfremer());
}
// XXX 2011 04 12 using UserFilter#observer for both samplingfilter and
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/LocationType.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/LocationType.java 2011-05-30 13:31:37 UTC (rev 1304)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/LocationType.java 2011-05-30 16:17:33 UTC (rev 1305)
@@ -27,7 +27,9 @@
public enum LocationType {
PORT(n_("LocationType.PORT")),
- AUCTION(n_("LocationType.AUCTION"));
+ AUCTION(n_("LocationType.AUCTION")),
+ DISTRICT(n_("LocationType.DISTRICT")),
+ REGION(n_("LocationType.REGION"));
protected String i18nKey;
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterValuesImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterValuesImpl.java 2011-05-30 13:31:37 UTC (rev 1304)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterValuesImpl.java 2011-05-30 16:17:33 UTC (rev 1305)
@@ -94,6 +94,11 @@
return getAsList(getObservationUnits());
}
+ @Override
+ public List<TerrestrialLocation> getRegionIfremersAsList() {
+ return getAsList(getRegionIfremers());
+ }
+
protected <E> List<E> getAsList(Collection<E> collection) {
if (collection == null) {
return new ArrayList<E>();
@@ -121,15 +126,6 @@
observationUnit.getSubPopulationName());
}
- protected void addRegionIfremer(TerrestrialDivision observationUnit) {
- Map<String, String> regionIfremers = getRegionIfremers();
- if (regionIfremers == null) {
- regionIfremers = new TreeMap<String, String>();
- setRegionIfremers(regionIfremers);
- }
- regionIfremers.put(observationUnit.getRegionIfremerCode(), observationUnit.getRegionIfremerCode());
- }
-
protected void fillSampleRow(SampleRow sampleRow) {
ObsProgram obsProgram = sampleRow.getObsProgram();
addCompanies(sampleRow.getCompany());
@@ -140,7 +136,7 @@
addObservationUnits(observationUnit);
addSkillZone(observationUnit);
addSubPopulation(observationUnit);
- addRegionIfremer(observationUnit);
+ addRegionIfremers(observationUnit.getRegionIfremer());
}
} else {
// for both ObsMer and ObsVente
@@ -174,6 +170,7 @@
setSampleRows(new HashSet<SampleRow>());
setObservers(new HashSet<WaoUser>());
setObservationUnits(new HashSet<TerrestrialDivision>());
+ setRegionIfremers(new HashSet<TerrestrialLocation>());
}
protected void removeNullValues() {
@@ -186,6 +183,7 @@
getTerrestrialDistricts().remove(null);
getObservers().remove(null);
getObservationUnits().remove(null);
+ getRegionIfremers().remove(null);
}
@Override
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialDivisionImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialDivisionImpl.java 2011-05-30 13:31:37 UTC (rev 1304)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialDivisionImpl.java 2011-05-30 16:17:33 UTC (rev 1305)
@@ -34,8 +34,8 @@
public String getDescription() {
String description;
if (isObservationUnit()) {
- description = getRegionIfremerCode() + "-" + getObservationUnitCode()
- + " " + getObservationUnitName();
+ description = getRegionIfremer().getRegionIfremerCode() + "-" +
+ getObservationUnitCode() + " " + getObservationUnitName();
} else {
description = getPort().getPortName();
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialLocationImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialLocationImpl.java 2011-05-30 13:31:37 UTC (rev 1304)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialLocationImpl.java 2011-05-30 16:17:33 UTC (rev 1305)
@@ -22,6 +22,7 @@
import fr.ifremer.wao.WaoUtils;
import fr.ifremer.wao.bean.LocationType;
+import org.apache.commons.lang.builder.ToStringBuilder;
import static org.nuiton.i18n.I18n.n_;
@@ -52,7 +53,7 @@
@Override
public boolean isDistrict() {
- boolean isDistrict = getLocationType() == null;
+ boolean isDistrict = getLocationType() == LocationType.DISTRICT;
return isDistrict;
}
@@ -82,4 +83,10 @@
description.append(")");
return description.toString();
}
+
+ @Override
+ public String toString() {
+ String toString = ToStringBuilder.reflectionToString(this);
+ return toString;
+ }
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/SamplingPlanImportExportModel.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/SamplingPlanImportExportModel.java 2011-05-30 13:31:37 UTC (rev 1304)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/SamplingPlanImportExportModel.java 2011-05-30 16:17:33 UTC (rev 1305)
@@ -59,6 +59,7 @@
static class ObservationUnitParserFormatter implements ValueParserFormatter<TerrestrialDivision> {
+ /** Index Region code -> UO Code -> Terrestrial division. */
protected Map<String, Map<String, TerrestrialDivision>> indexedObservationUnits;
protected List<TerrestrialDivision> observationUnits;
@@ -72,7 +73,7 @@
protected void indexObservationUnits(List<TerrestrialDivision> observationUnits) {
indexedObservationUnits = new HashMap<String, Map<String, TerrestrialDivision>>();
for (TerrestrialDivision terrestrialDivision : observationUnits) {
- String regionCode = terrestrialDivision.getRegionIfremerCode();
+ String regionCode = terrestrialDivision.getRegionIfremer().getRegionIfremerCode();
Map<String, TerrestrialDivision> unitCodesToDivision = indexedObservationUnits.get(regionCode);
if (unitCodesToDivision == null) {
unitCodesToDivision = new HashMap<String, TerrestrialDivision>();
@@ -134,7 +135,8 @@
if (sampleRow.getObservationUnit() == null) {
regionCode = "";
} else {
- regionCode = sampleRow.getObservationUnit().getRegionIfremerCode();
+ regionCode = sampleRow.getObservationUnit().getRegionIfremer()
+ .getRegionIfremerCode();
}
return regionCode;
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/TerrestrialDivisionImportModel.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/TerrestrialDivisionImportModel.java 2011-05-30 13:31:37 UTC (rev 1304)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/TerrestrialDivisionImportModel.java 2011-05-30 16:17:33 UTC (rev 1305)
@@ -31,6 +31,7 @@
import fr.ifremer.wao.io.csv2.ModelBuilder;
import fr.ifremer.wao.io.csv2.ValueParser;
import fr.ifremer.wao.io.csv2.models.operations.PortParserFormatter;
+import fr.ifremer.wao.io.csv2.models.operations.RegionValueParserFormatter;
import org.apache.commons.lang.StringUtils;
import java.util.Collection;
@@ -42,13 +43,14 @@
/** all valid {@link fr.ifremer.wao.entity.TerrestrialLocation#getRegionIfremerCode()} values.
* for validation purpose only */
- protected Set<String> regionCodes;
+ protected List<TerrestrialLocation> regions;
protected List<TerrestrialLocation> ports;
- public TerrestrialDivisionImportModel(List<TerrestrialLocation> ports, Set<String> regionCodes) {
+ public TerrestrialDivisionImportModel(List<TerrestrialLocation> ports,
+ List<TerrestrialLocation> regions) {
this.ports = ports;
- this.regionCodes = regionCodes;
+ this.regions = regions;
}
@Override
@@ -85,17 +87,8 @@
TerrestrialDivision.PROPERTY_CODE);
modelBuilder.newMandatoryColumn(
"REGION_IFREMER_COD",
- new ValueParser<String>() {
- /** validate region code */
- @Override
- public String parse(String regionCode) {
- if (!regionCodes.contains(regionCode)) {
- throw new IllegalArgumentException("Le code '" + regionCode + "' n'est pas un code de région valide");
- }
- return regionCode;
- }
- },
- TerrestrialDivision.PROPERTY_REGION_IFREMER_CODE);
+ new RegionValueParserFormatter(regions),
+ TerrestrialDivision.PROPERTY_REGION_IFREMER);
modelBuilder.newIgnoredColumn("REGION_IFREMER_LIB");
modelBuilder.newMandatoryColumn("ZONE_COMPETENCE_COD", TerrestrialDivision.PROPERTY_SKILL_ZONE_CODE);
modelBuilder.newMandatoryColumn("ZONE_COMPETENCE_LIB", TerrestrialDivision.PROPERTY_SKILL_ZONE_NAME);
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/RegionValueParserFormatter.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/RegionValueParserFormatter.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/RegionValueParserFormatter.java 2011-05-30 16:17:33 UTC (rev 1305)
@@ -0,0 +1,45 @@
+package fr.ifremer.wao.io.csv2.models.operations;
+
+import fr.ifremer.wao.WaoUtils;
+import fr.ifremer.wao.entity.TerrestrialLocation;
+import fr.ifremer.wao.io.csv2.ValueParserFormatter;
+
+import java.text.ParseException;
+import java.util.List;
+import java.util.Map;
+
+public class RegionValueParserFormatter implements ValueParserFormatter<TerrestrialLocation> {
+
+ protected List<TerrestrialLocation> regions;
+
+ protected Map<String, TerrestrialLocation> indexedRegions;
+
+ public RegionValueParserFormatter(List<TerrestrialLocation> regions) {
+ this.regions = regions;
+ }
+
+ @Override
+ public String format(TerrestrialLocation terrestrialDivision) {
+ String value = "";
+ if (terrestrialDivision.getRegionIfremerCode() != null) {
+ value = terrestrialDivision.getRegionIfremerCode();
+ }
+ return value;
+ }
+
+ @Override
+ public TerrestrialLocation parse(String regionCode) throws ParseException {
+ if (indexedRegions == null) {
+ indexedRegions = WaoUtils.projectPropertyUnique(
+ regions, TerrestrialLocation.PROPERTY_REGION_IFREMER_CODE);
+ }
+
+ TerrestrialLocation terrestrialLocation =
+ indexedRegions.get(regionCode.trim());
+ if (terrestrialLocation == null) {
+ throw new IllegalArgumentException("Le code '" + regionCode +
+ "' n'est pas un code de région valide");
+ }
+ return terrestrialLocation;
+ }
+}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-05-30 13:31:37 UTC (rev 1304)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-05-30 16:17:33 UTC (rev 1305)
@@ -35,6 +35,7 @@
import fr.ifremer.wao.bean.ContactFilter;
import fr.ifremer.wao.bean.ContactState;
import fr.ifremer.wao.bean.LocationType;
+import fr.ifremer.wao.bean.ObservationType;
import fr.ifremer.wao.bean.SamplingFilter;
import fr.ifremer.wao.entity.ContactStateMotif;
import fr.ifremer.wao.entity.ContactStateMotifDAO;
@@ -304,7 +305,7 @@
BinderFactory.newBinder(TerrestrialLocation.class);
// counts for logging
int districtAdded = 0, districtUpdated = 0;
-// int regionAdded = 0, regionUpdated = 0;
+ int regionAdded = 0, regionUpdated = 0;
for (String districtCode : districtCodes) { // for each district code found
@@ -318,7 +319,7 @@
TerrestrialLocation.PROPERTY_PORT_NAME, TerrestrialLocation.PROPERTY_LOCATION_TYPE_ORDINAL,
TerrestrialLocation.TOPIA_ID, TerrestrialLocation.TOPIA_CREATE_DATE,
TerrestrialLocation.TOPIA_VERSION);
- district.setLocationType(null);
+ district.setLocationType(LocationType.DISTRICT);
// A particular case, some location (not in France) has no
// district (district code null), so we must add a district
@@ -341,7 +342,7 @@
// database. Now let's add it if not already in or update
// it already in
TerrestrialLocation existingDistrict = dao.findByProperties(TerrestrialLocation.PROPERTY_DISTRICT_CODE, district.getDistrictCode(),
- TerrestrialLocation.PROPERTY_LOCATION_TYPE_ORDINAL, null);
+ TerrestrialLocation.PROPERTY_LOCATION_TYPE_ORDINAL, LocationType.DISTRICT.ordinal());
if (existingDistrict == null) {
existingDistrict = dao.create(district);
districtAdded += 1;
@@ -352,39 +353,40 @@
districtUpdated += 1;
}
-// // creating a region object for this district
-// TerrestrialLocation region = dao.newInstance();
-// locationBinder.copyExcluding(district, region, TerrestrialLocation.TOPIA_ID,
-// TerrestrialLocation.TOPIA_CREATE_DATE, TerrestrialLocation.TOPIA_VERSION,
-// TerrestrialLocation.PROPERTY_DEPARTMENT_CODE, TerrestrialLocation.PROPERTY_DEPARTMENT_NAME,
-// TerrestrialLocation.PROPERTY_SUB_REGION_IFREMER_CODE, TerrestrialLocation.PROPERTY_SUB_REGION_IFREMER_NAME);
-//
-// // prevent to deal with case "Hors France"
-// if (region.getRegionIfremerCode() != null) {
-//
-// // try to find it if it's already in DB
-// TerrestrialLocation existingRegion = dao.findByProperties(
-// TerrestrialLocation.PROPERTY_REGION_IFREMER_CODE, region.getRegionIfremerCode(),
-// TerrestrialLocation.PROPERTY_DISTRICT_CODE, null,
-// TerrestrialLocation.PROPERTY_LOCATION_TYPE_ORDINAL, null);
-//
-// // create or update
-// if (existingRegion == null) {
-// dao.create(region);
-// regionAdded += 1;
-// } else {
-// locationBinder.copyExcluding(region, existingRegion, TerrestrialLocation.TOPIA_ID,
-// TerrestrialLocation.TOPIA_CREATE_DATE, TerrestrialLocation.TOPIA_VERSION);
-// dao.update(existingRegion);
-// regionUpdated += 1;
-// }
-// }
+ // creating a region object for this district
+ TerrestrialLocation region = dao.newInstance();
+ locationBinder.copyExcluding(district, region, TerrestrialLocation.TOPIA_ID,
+ TerrestrialLocation.TOPIA_CREATE_DATE, TerrestrialLocation.TOPIA_VERSION,
+ TerrestrialLocation.PROPERTY_DISTRICT_CODE, TerrestrialLocation.PROPERTY_DISTRICT_NAME,
+ TerrestrialLocation.PROPERTY_DEPARTMENT_CODE, TerrestrialLocation.PROPERTY_DEPARTMENT_NAME,
+ TerrestrialLocation.PROPERTY_SUB_REGION_IFREMER_CODE, TerrestrialLocation.PROPERTY_SUB_REGION_IFREMER_NAME);
+ region.setLocationType(LocationType.REGION);
+
+ // prevent to deal with case "Hors France"
+ if (region.getRegionIfremerCode() != null) {
+
+ // try to find it if it's already in DB
+ TerrestrialLocation existingRegion = dao.findByProperties(
+ TerrestrialLocation.PROPERTY_REGION_IFREMER_CODE, region.getRegionIfremerCode(),
+ TerrestrialLocation.PROPERTY_LOCATION_TYPE_ORDINAL, LocationType.REGION.ordinal());
+
+ // create or update
+ if (existingRegion == null) {
+ dao.create(region);
+ regionAdded += 1;
+ } else {
+ locationBinder.copyExcluding(region, existingRegion, TerrestrialLocation.TOPIA_ID,
+ TerrestrialLocation.TOPIA_CREATE_DATE, TerrestrialLocation.TOPIA_VERSION);
+ dao.update(existingRegion);
+ regionUpdated += 1;
+ }
+ }
}
if (log.isInfoEnabled()) {
log.info(locationAdded + " terrestrial locations added, " + locationUpdated + " updated");
log.info(districtAdded + " terrestrial district added, " + districtUpdated + " updated");
-// log.info(regionAdded + " terrestrial region added, " + regionUpdated + " updated");
+ log.info(regionAdded + " terrestrial region added, " + regionUpdated + " updated");
}
transaction.commitTransaction();
@@ -420,7 +422,7 @@
protected TerrestrialLocation executeGetTerrestrialDistrict(TopiaContext transaction, String districtCode) throws Exception {
TerrestrialLocationDAO dao = WaoDAOHelper.getTerrestrialLocationDAO(transaction);
Map<String, Object> properties = new HashMap<String, Object>();
- properties.put(TerrestrialLocation.PROPERTY_LOCATION_TYPE_ORDINAL, null);
+ properties.put(TerrestrialLocation.PROPERTY_LOCATION_TYPE_ORDINAL, LocationType.DISTRICT.ordinal());
properties.put(TerrestrialLocation.PROPERTY_DISTRICT_CODE, districtCode);
TerrestrialLocation result = dao.findByProperties(properties);
return result;
@@ -521,18 +523,17 @@
TerrestrialLocationDAO terrestrialLocationDAO = WaoDAOHelper.getTerrestrialLocationDAO(transaction);
// let's find all ports in terrestrial location reference
- List<TerrestrialLocation> ports = terrestrialLocationDAO.findAllByLocationTypeOrdinal(LocationType.PORT.ordinal());
+ List<TerrestrialLocation> ports = terrestrialLocationDAO.
+ findAllByLocationTypeOrdinal(LocationType.PORT.ordinal());
+ List<TerrestrialLocation> regions = terrestrialLocationDAO.
+ findAllByLocationTypeOrdinal(LocationType.REGION.ordinal());
- // from that, deduce a map terrestrial location code -> entity and the set of region codes
- Set<String> regionCodes = WaoUtils.projectProperty(String.class, ports, TerrestrialLocation.PROPERTY_REGION_IFREMER_CODE).keySet();
-
if (log.isDebugEnabled()) {
- log.debug(ports.size() + " ports, " + regionCodes.size() + " regions");
- log.debug("regionCodes = " + regionCodes);
+ log.debug(ports.size() + " ports, " + regions.size() + " regions");
}
// the import itself
- ImportModel<TerrestrialDivision> importModel = new TerrestrialDivisionImportModel(ports, regionCodes);
+ ImportModel<TerrestrialDivision> importModel = new TerrestrialDivisionImportModel(ports, regions);
Import<TerrestrialDivision> terrestrialDivisionImport = new Import<TerrestrialDivision>(importModel, input);
TerrestrialDivisionDAO dao = WaoDAOHelper.getTerrestrialDivisionDAO(transaction);
@@ -631,7 +632,7 @@
Map<String, Object> properties = new HashMap<String, Object>();
properties.put(TerrestrialDivision.PROPERTY_OBSERVATION_UNIT_CODE, observationUnit.getObservationUnitCode());
- properties.put(TerrestrialDivision.PROPERTY_REGION_IFREMER_CODE, observationUnit.getRegionIfremerCode());
+ properties.put(TerrestrialDivision.PROPERTY_REGION_IFREMER, observationUnit.getRegionIfremer());
List<TerrestrialDivision> terrestrialDivisions = terrestrialDivisionDAO.findAllByProperties(properties);
ports = new LinkedList<TerrestrialLocation>();
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 2011-05-30 13:31:37 UTC (rev 1304)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-05-30 16:17:33 UTC (rev 1305)
@@ -20,7 +20,9 @@
GlobalIndicatorValue.VERY_BAD=Level 2 penalty
GlobalIndicatorValue.VERY_GOOD=Level 2 bonus
LocationType.AUCTION=Auction
+LocationType.DISTRICT=District
LocationType.PORT=Port
+LocationType.REGION=Region
ObsProgram.OBSDEB=ObsDeb
ObsProgram.OBSMER=ObsMer
ObsProgram.OBSVENTE=ObsVente
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 2011-05-30 13:31:37 UTC (rev 1304)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-05-30 16:17:33 UTC (rev 1305)
@@ -1,177 +1,179 @@
ContactPieChartConstant.OTHER=Autres
-ContactPieChartConstant.REALIZED=Réalisés
-ContactPieChartConstant.REFUSED=Refusés
-ContactState.CONTACT_DEFINITELY_REFUSED=Refus définitif
+ContactPieChartConstant.REALIZED=R\u00e9alis\u00e9s
+ContactPieChartConstant.REFUSED=Refus\u00e9s
+ContactState.CONTACT_DEFINITELY_REFUSED=Refus d\u00e9finitif
ContactState.CONTACT_REFUSED=Refus
ContactState.CONTACT_START=Contact pris
-ContactState.OBSERVATION_CANCELLED=Annulée
-ContactState.OBSERVATION_DONE=Observation réalisée
-ContactState.OBSERVATION_EXPECTED=Observation programmée
-ContactState.OBSERVATION_NOT_DONE=Non observé
-DataReliability.CORRECTION_ASKED=Correction demandée
+ContactState.OBSERVATION_CANCELLED=Annul\u00e9e
+ContactState.OBSERVATION_DONE=Observation r\u00e9alis\u00e9e
+ContactState.OBSERVATION_EXPECTED=Observation programm\u00e9e
+ContactState.OBSERVATION_NOT_DONE=Non observ\u00e9
+DataReliability.CORRECTION_ASKED=Correction demand\u00e9e
DataReliability.DOUBTFUL=Douteuse
-DataReliability.NOT_PROVIDED=Non contrôlée
+DataReliability.NOT_PROVIDED=Non contr\u00f4l\u00e9e
DataReliability.NOT_RELIABLE=Non exploitable
DataReliability.RELIABLE=Exploitable
DataReliability.UNKNOWN=Inconnue
-GlobalIndicatorValue.BAD=Pénalité de niveau 1
+GlobalIndicatorValue.BAD=P\u00e9nalit\u00e9 de niveau 1
GlobalIndicatorValue.GOOD=Bonus de niveau 1
GlobalIndicatorValue.NEUTRAL=Conforme au cahier des charges
-GlobalIndicatorValue.VERY_BAD=Pénalité de niveau 2
+GlobalIndicatorValue.VERY_BAD=P\u00e9nalit\u00e9 de niveau 2
GlobalIndicatorValue.VERY_GOOD=Bonus de niveau 2
-LocationType.AUCTION=Criée
+LocationType.AUCTION=Cri\u00e9e
+LocationType.DISTRICT=Quartier maritime
LocationType.PORT=Port
+LocationType.REGION=R\u00e9gion Ifremer
ObsProgram.OBSDEB=ObsDeb
ObsProgram.OBSMER=ObsMer
ObsProgram.OBSVENTE=ObsVente
ObservationType.FIELD_WORK_OBSERVATION=Observation de terrain
-ObservationType.FIELD_WORK_SURVEY=Enquête de terrain
-ObservationType.PHONE_CALL=Enquête téléphonique
-SamplingStrategy.SIMULTANEOUS_ALL_SPECIES=Simultané \: Toutes espèces commerciales
-SamplingStrategy.SIMULTANEOUS_G1_G2_SPECIES=Simultané \: espèces G1+G2
-SamplingStrategy.SIMULTANEOUS_G1_SPECIES=Simultané \: espèces G1
-SamplingStrategy.SPECIFIC_STOCK=Stock spécifique
-SynthesisId.DISTINCT_BOATS_COUNTS=Nombres de navires distincts observés
-SynthesisId.GRAPH_BOARDING=Taux d'embarquement sur un même navire conforme aux exigences
-SynthesisId.GRAPH_SAMPLING=Taux de réalisation du plan d'échantillonage
-SynthesisId.IND_ALLEGRO_REACTIVITY=Délais de transmission des données
-SynthesisId.IND_COMPLIANCE_BOARDING=Respect du nombre d'observateurs embarqués
-SynthesisId.IND_CONTACT_STATE=États des contacts
-SynthesisId.IND_DATA_RELIABILITY=Qualité de la donnée
-SynthesisId.OBSERVATION_HOUR=Heures d'observation dans la journée
+ObservationType.FIELD_WORK_SURVEY=Enqu\u00eate de terrain
+ObservationType.PHONE_CALL=Enqu\u00eate t\u00e9l\u00e9phonique
+SamplingStrategy.SIMULTANEOUS_ALL_SPECIES=Simultan\u00e9 \: Toutes esp\u00e8ces commerciales
+SamplingStrategy.SIMULTANEOUS_G1_G2_SPECIES=Simultan\u00e9 \: esp\u00e8ces G1+G2
+SamplingStrategy.SIMULTANEOUS_G1_SPECIES=Simultan\u00e9 \: esp\u00e8ces G1
+SamplingStrategy.SPECIFIC_STOCK=Stock sp\u00e9cifique
+SynthesisId.DISTINCT_BOATS_COUNTS=Nombres de navires distincts observ\u00e9s
+SynthesisId.GRAPH_BOARDING=Taux d'embarquement sur un m\u00eame navire conforme aux exigences
+SynthesisId.GRAPH_SAMPLING=Taux de r\u00e9alisation du plan d'\u00e9chantillonage
+SynthesisId.IND_ALLEGRO_REACTIVITY=D\u00e9lais de transmission des donn\u00e9es
+SynthesisId.IND_COMPLIANCE_BOARDING=Respect du nombre d'observateurs embarqu\u00e9s
+SynthesisId.IND_CONTACT_STATE=\u00c9tats des contacts
+SynthesisId.IND_DATA_RELIABILITY=Qualit\u00e9 de la donn\u00e9e
+SynthesisId.OBSERVATION_HOUR=Heures d'observation dans la journ\u00e9e
UserRole.ADMIN=Administrateur
UserRole.COORDINATOR=Coordinateur
-UserRole.GUEST=Invité
+UserRole.GUEST=Invit\u00e9
UserRole.OBSERVER=Observateur
UserRole.PROFESSIONAL=Professionnel
csv.import.error.missingMandatoryHeaders=Les champs obligatoires %s sont manquants
-csv.import.error.unableToParseValue=Erreur lors de l'interprétation de la valeur '%s' (colonne '%s', ligne %s)
-csv.import.error.unableToReadField=Impossible de lire la colonne '%s' à la ligne %s
+csv.import.error.unableToParseValue=Erreur lors de l'interpr\u00e9tation de la valeur '%s' (colonne '%s', ligne %s)
+csv.import.error.unableToReadField=Impossible de lire la colonne '%s' \u00e0 la ligne %s
csv.import.error.unableToReadLine=Impossible de lire la ligne %s
-csv.import.error.unableToSetValue=Impossible d'enregistrer la valeur '%s' (entité '%s', ligne %s, column '%s')
+csv.import.error.unableToSetValue=Impossible d'enregistrer la valeur '%s' (entit\u00e9 '%s', ligne %s, column '%s')
csv.import.error.unrecognizedHeaders=Les champs %s ne sont pas reconnus. Les champs possibles sont %s.
csv.import.logComment=Modification depuis import
-fr.ifremer.wao.entity.FishingGearDCF.=Non spécifié
-fr.ifremer.wao.entity.FishingGearDCF.DRB=Dragues remorquées par bateau
-fr.ifremer.wao.entity.FishingGearDCF.DRH=Dragues à main
-fr.ifremer.wao.entity.FishingGearDCF.FAR=Pièges aériens
-fr.ifremer.wao.entity.FishingGearDCF.FCN=Éperviers
-fr.ifremer.wao.entity.FishingGearDCF.FG=Autres engins retombants (non-spécifiés)
-fr.ifremer.wao.entity.FishingGearDCF.FIX=Pièges (non-spécifiés)
-fr.ifremer.wao.entity.FishingGearDCF.FPN=Filets-pièges fixes non couverts
+fr.ifremer.wao.entity.FishingGearDCF.=Non sp\u00e9cifi\u00e9
+fr.ifremer.wao.entity.FishingGearDCF.DRB=Dragues remorqu\u00e9es par bateau
+fr.ifremer.wao.entity.FishingGearDCF.DRH=Dragues \u00e0 main
+fr.ifremer.wao.entity.FishingGearDCF.FAR=Pi\u00e8ges a\u00e9riens
+fr.ifremer.wao.entity.FishingGearDCF.FCN=\u00c9perviers
+fr.ifremer.wao.entity.FishingGearDCF.FG=Autres engins retombants (non-sp\u00e9cifi\u00e9s)
+fr.ifremer.wao.entity.FishingGearDCF.FIX=Pi\u00e8ges (non-sp\u00e9cifi\u00e9s)
+fr.ifremer.wao.entity.FishingGearDCF.FPN=Filets-pi\u00e8ges fixes non couverts
fr.ifremer.wao.entity.FishingGearDCF.FPO=Nasses (casiers)
-fr.ifremer.wao.entity.FishingGearDCF.FSN=Filets à l'étalage (diables)
+fr.ifremer.wao.entity.FishingGearDCF.FSN=Filets \u00e0 l'\u00e9talage (diables)
fr.ifremer.wao.entity.FishingGearDCF.FWR=Barrages, parcs, bordigues, etc.
fr.ifremer.wao.entity.FishingGearDCF.FYK=Verveux
-fr.ifremer.wao.entity.FishingGearDCF.GEN=Filets maillants et filets emmélants (non spécifiés)
-fr.ifremer.wao.entity.FishingGearDCF.GES=Tamis à civelles
-fr.ifremer.wao.entity.FishingGearDCF.GN=Filets maillants (non spécifiés)
+fr.ifremer.wao.entity.FishingGearDCF.GEN=Filets maillants et filets emm\u00e9lants (non sp\u00e9cifi\u00e9s)
+fr.ifremer.wao.entity.FishingGearDCF.GES=Tamis \u00e0 civelles
+fr.ifremer.wao.entity.FishingGearDCF.GN=Filets maillants (non sp\u00e9cifi\u00e9s)
fr.ifremer.wao.entity.FishingGearDCF.GNC=Filets maillants encerclants
-fr.ifremer.wao.entity.FishingGearDCF.GND=Filets maillants dérivants (filets dérivants)
+fr.ifremer.wao.entity.FishingGearDCF.GND=Filets maillants d\u00e9rivants (filets d\u00e9rivants)
fr.ifremer.wao.entity.FishingGearDCF.GNF=Filets maillants fixes (sur perches)
-fr.ifremer.wao.entity.FishingGearDCF.GNS=Filets maillants calés (ancrés)
-fr.ifremer.wao.entity.FishingGearDCF.GT=Trémailleurs
-fr.ifremer.wao.entity.FishingGearDCF.GTN=Trémails et filets maillants combinés
-fr.ifremer.wao.entity.FishingGearDCF.GTR=Trémails
+fr.ifremer.wao.entity.FishingGearDCF.GNS=Filets maillants cal\u00e9s (ancr\u00e9s)
+fr.ifremer.wao.entity.FishingGearDCF.GT=Tr\u00e9mailleurs
+fr.ifremer.wao.entity.FishingGearDCF.GTN=Tr\u00e9mails et filets maillants combin\u00e9s
+fr.ifremer.wao.entity.FishingGearDCF.GTR=Tr\u00e9mails
fr.ifremer.wao.entity.FishingGearDCF.HAR=Harpons
-fr.ifremer.wao.entity.FishingGearDCF.HMD=Dragues mécanisées
+fr.ifremer.wao.entity.FishingGearDCF.HMD=Dragues m\u00e9canis\u00e9es
fr.ifremer.wao.entity.FishingGearDCF.HMP=Pompes
-fr.ifremer.wao.entity.FishingGearDCF.HMX=Engins de récolte (non spécifiés)
+fr.ifremer.wao.entity.FishingGearDCF.HMX=Engins de r\u00e9colte (non sp\u00e9cifi\u00e9s)
fr.ifremer.wao.entity.FishingGearDCF.LA=Filets tournants sans coulisse (filet lamparo)
-fr.ifremer.wao.entity.FishingGearDCF.LHM=Lignes à main et lignes avec cannes
-fr.ifremer.wao.entity.FishingGearDCF.LHP=Lignes à main et lignes à cannes
-fr.ifremer.wao.entity.FishingGearDCF.LL=Palangres (non spécifiées)
-fr.ifremer.wao.entity.FishingGearDCF.LLD=Palangres dérivantes
-fr.ifremer.wao.entity.FishingGearDCF.LLS=Palangres calées ou semi-flottantes
-fr.ifremer.wao.entity.FishingGearDCF.LN=Filets soulevés (non spécifiés)
-fr.ifremer.wao.entity.FishingGearDCF.LNB=Filets soulevés manœuvrées du bateau
-fr.ifremer.wao.entity.FishingGearDCF.LNP=Filets soulevés portatifs
-fr.ifremer.wao.entity.FishingGearDCF.LNS=Filets soulevés fixes manœuvrées du rivage
-fr.ifremer.wao.entity.FishingGearDCF.LTL=lignes de traîne
-fr.ifremer.wao.entity.FishingGearDCF.LX=Hameçons et lignes (non spécifiés)
+fr.ifremer.wao.entity.FishingGearDCF.LHM=Lignes \u00e0 main et lignes avec cannes
+fr.ifremer.wao.entity.FishingGearDCF.LHP=Lignes \u00e0 main et lignes \u00e0 cannes
+fr.ifremer.wao.entity.FishingGearDCF.LL=Palangres (non sp\u00e9cifi\u00e9es)
+fr.ifremer.wao.entity.FishingGearDCF.LLD=Palangres d\u00e9rivantes
+fr.ifremer.wao.entity.FishingGearDCF.LLS=Palangres cal\u00e9es ou semi-flottantes
+fr.ifremer.wao.entity.FishingGearDCF.LN=Filets soulev\u00e9s (non sp\u00e9cifi\u00e9s)
+fr.ifremer.wao.entity.FishingGearDCF.LNB=Filets soulev\u00e9s man\u0153uvr\u00e9es du bateau
+fr.ifremer.wao.entity.FishingGearDCF.LNP=Filets soulev\u00e9s portatifs
+fr.ifremer.wao.entity.FishingGearDCF.LNS=Filets soulev\u00e9s fixes man\u0153uvr\u00e9es du rivage
+fr.ifremer.wao.entity.FishingGearDCF.LTL=lignes de tra\u00eene
+fr.ifremer.wao.entity.FishingGearDCF.LX=Hame\u00e7ons et lignes (non sp\u00e9cifi\u00e9s)
fr.ifremer.wao.entity.FishingGearDCF.MIS=Divers
-fr.ifremer.wao.entity.FishingGearDCF.NK=Engins inconnus ou non spécifiés
-fr.ifremer.wao.entity.FishingGearDCF.OT=Chaluts à panneaux (non spécifié)
-fr.ifremer.wao.entity.FishingGearDCF.OTB=Chalut de fond à panneaux
-fr.ifremer.wao.entity.FishingGearDCF.OTM=Chaluts pélagiques à panneaux
-fr.ifremer.wao.entity.FishingGearDCF.OTT=Chaluts jumeaux à panneaux
+fr.ifremer.wao.entity.FishingGearDCF.NK=Engins inconnus ou non sp\u00e9cifi\u00e9s
+fr.ifremer.wao.entity.FishingGearDCF.OT=Chaluts \u00e0 panneaux (non sp\u00e9cifi\u00e9)
+fr.ifremer.wao.entity.FishingGearDCF.OTB=Chalut de fond \u00e0 panneaux
+fr.ifremer.wao.entity.FishingGearDCF.OTM=Chaluts p\u00e9lagiques \u00e0 panneaux
+fr.ifremer.wao.entity.FishingGearDCF.OTT=Chaluts jumeaux \u00e0 panneaux
fr.ifremer.wao.entity.FishingGearDCF.PS=Filets tournants avec coulisse (sennes coulissantes)
-fr.ifremer.wao.entity.FishingGearDCF.PS1=Filets tournants, sennes coulissantes manœuvrées par un bateau
-fr.ifremer.wao.entity.FishingGearDCF.PS2=Filets tournants, sennes coulissantes manœuvrées par deux bateaux
-fr.ifremer.wao.entity.FishingGearDCF.PT=Chalut-bœufs (non spécifié)
-fr.ifremer.wao.entity.FishingGearDCF.PTB=Chalut-bœufs de fond
-fr.ifremer.wao.entity.FishingGearDCF.PTM=Chalut-bœufs pélagiques
-fr.ifremer.wao.entity.FishingGearDCF.RG=Engins de pêche révréative
+fr.ifremer.wao.entity.FishingGearDCF.PS1=Filets tournants, sennes coulissantes man\u0153uvr\u00e9es par un bateau
+fr.ifremer.wao.entity.FishingGearDCF.PS2=Filets tournants, sennes coulissantes man\u0153uvr\u00e9es par deux bateaux
+fr.ifremer.wao.entity.FishingGearDCF.PT=Chalut-b\u0153ufs (non sp\u00e9cifi\u00e9)
+fr.ifremer.wao.entity.FishingGearDCF.PTB=Chalut-b\u0153ufs de fond
+fr.ifremer.wao.entity.FishingGearDCF.PTM=Chalut-b\u0153ufs p\u00e9lagiques
+fr.ifremer.wao.entity.FishingGearDCF.RG=Engins de p\u00eache r\u00e9vr\u00e9ative
fr.ifremer.wao.entity.FishingGearDCF.SB=Sennes de plages
fr.ifremer.wao.entity.FishingGearDCF.SDN=Sennes danoises
-fr.ifremer.wao.entity.FishingGearDCF.SPR=Sennes manœuvrées par deux bateaux
-fr.ifremer.wao.entity.FishingGearDCF.SSC=Sennes écossaises
-fr.ifremer.wao.entity.FishingGearDCF.SV=Sennes halées à bord
-fr.ifremer.wao.entity.FishingGearDCF.SW=Sennes (non spécifiées)
-fr.ifremer.wao.entity.FishingGearDCF.TB=Chalut de fond (non spécifié)
-fr.ifremer.wao.entity.FishingGearDCF.TBB=Chaluts à perche
-fr.ifremer.wao.entity.FishingGearDCF.TBN=Chalut à langoustines
-fr.ifremer.wao.entity.FishingGearDCF.TBS=Chalut à crevettes
-fr.ifremer.wao.entity.FishingGearDCF.TM=Chalut pélagique (non spécifié)
-fr.ifremer.wao.entity.FishingGearDCF.TMS=Chalut à crevettes
-fr.ifremer.wao.entity.FishingGearDCF.TX=Autre chalut (non spécifié)
-fr.ifremer.wao.entity.TargetSpeciesDCF.=Non spécifié
+fr.ifremer.wao.entity.FishingGearDCF.SPR=Sennes man\u0153uvr\u00e9es par deux bateaux
+fr.ifremer.wao.entity.FishingGearDCF.SSC=Sennes \u00e9cossaises
+fr.ifremer.wao.entity.FishingGearDCF.SV=Sennes hal\u00e9es \u00e0 bord
+fr.ifremer.wao.entity.FishingGearDCF.SW=Sennes (non sp\u00e9cifi\u00e9es)
+fr.ifremer.wao.entity.FishingGearDCF.TB=Chalut de fond (non sp\u00e9cifi\u00e9)
+fr.ifremer.wao.entity.FishingGearDCF.TBB=Chaluts \u00e0 perche
+fr.ifremer.wao.entity.FishingGearDCF.TBN=Chalut \u00e0 langoustines
+fr.ifremer.wao.entity.FishingGearDCF.TBS=Chalut \u00e0 crevettes
+fr.ifremer.wao.entity.FishingGearDCF.TM=Chalut p\u00e9lagique (non sp\u00e9cifi\u00e9)
+fr.ifremer.wao.entity.FishingGearDCF.TMS=Chalut \u00e0 crevettes
+fr.ifremer.wao.entity.FishingGearDCF.TX=Autre chalut (non sp\u00e9cifi\u00e9)
+fr.ifremer.wao.entity.TargetSpeciesDCF.=Non sp\u00e9cifi\u00e9
fr.ifremer.wao.entity.TargetSpeciesDCF.ALG=Algues
-fr.ifremer.wao.entity.TargetSpeciesDCF.CAT=Espèces catadromes
-fr.ifremer.wao.entity.TargetSpeciesDCF.CRU=Crustacés
+fr.ifremer.wao.entity.TargetSpeciesDCF.CAT=Esp\u00e8ces catadromes
+fr.ifremer.wao.entity.TargetSpeciesDCF.CRU=Crustac\u00e9s
fr.ifremer.wao.entity.TargetSpeciesDCF.CSJ=Coquilles Saint-Jacques
-fr.ifremer.wao.entity.TargetSpeciesDCF.DEF=Espèces démersales
-fr.ifremer.wao.entity.TargetSpeciesDCF.DWS=Espèces d'eaux profondes
+fr.ifremer.wao.entity.TargetSpeciesDCF.DEF=Esp\u00e8ces d\u00e9mersales
+fr.ifremer.wao.entity.TargetSpeciesDCF.DWS=Esp\u00e8ces d'eaux profondes
fr.ifremer.wao.entity.TargetSpeciesDCF.FIN=Poisson plats
-fr.ifremer.wao.entity.TargetSpeciesDCF.LPF=Grands pélagiques
+fr.ifremer.wao.entity.TargetSpeciesDCF.LPF=Grands p\u00e9lagiques
fr.ifremer.wao.entity.TargetSpeciesDCF.MOL=Mollusques
-fr.ifremer.wao.entity.TargetSpeciesDCF.SPF=Petits pélagiques
-wao.business.boat.validation.immatriculation.wrongFormat=L'immatriculation du navire doit être formée de 6 chiffres
-wao.business.contact.validation.commentAdminNecessaryForDataReliability=Il faut préciser dans le commentaire administrateur pourquoi la donnée est '%s'
-wao.business.contact.validation.dataReliabilityMissingForValidation=Il faut préciser la qualité de la donnée avant de valider
+fr.ifremer.wao.entity.TargetSpeciesDCF.SPF=Petits p\u00e9lagiques
+wao.business.boat.validation.immatriculation.wrongFormat=L'immatriculation du navire doit \u00eatre form\u00e9e de 6 chiffres
+wao.business.contact.validation.commentAdminNecessaryForDataReliability=Il faut pr\u00e9ciser dans le commentaire administrateur pourquoi la donn\u00e9e est '%s'
+wao.business.contact.validation.dataReliabilityMissingForValidation=Il faut pr\u00e9ciser la qualit\u00e9 de la donn\u00e9e avant de valider
wao.business.entity.UserProfile.description=%s sur %s%s
-wao.business.mammalsCapture.mail.message=Bonjour,\n\nUn observateur du programme Obsmer a renseigné dans WAO l'information suivante \:\n\nMarée \: %s\nMétier \: %s\n\nCapture accidentelle \:\n%s\n\nCordialement,\n\nLe programme Obsmer\nhttp\://www.ifremer.fr/wao
+wao.business.mammalsCapture.mail.message=Bonjour,\n\nUn observateur du programme Obsmer a renseign\u00e9 dans WAO l'information suivante \:\n\nMar\u00e9e \: %s\nM\u00e9tier \: %s\n\nCapture accidentelle \:\n%s\n\nCordialement,\n\nLe programme Obsmer\nhttp\://www.ifremer.fr/wao
wao.business.mammalsCapture.mail.subject=Obsmer WAO\: Information sur capture accidentelle
wao.business.other=Autre
wao.business.readOnly=(lecture seule)
-wao.error.boat.canCreateContact=Impossible de créer un nouveau contact pour la société %1$s et le navire %2$s (%3$d)
-wao.error.boat.getNbBoarding=Impossible de récupérer le nombre d'embarquements réels depuis le %1$s
-wao.error.boatInfos.getNbBoardingForCompany=Impossible de récupérer le nombre d'embarquements réels depuis le %1$s pour la société %2$s
+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écupération 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émarrage 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ées réels pour le mois de %1$s [ligne \: %2$s]
-wao.error.sampleRow.saveSampleRowLog=Impossible d'enregistrer le commentaire écrit par %1$s
-wao.error.serviceBoat.createUpdateCompanyBoatInfos=Impossible de créer ou modifier les informations liés au navire %1$d pour la société %2$s
-wao.error.serviceBoat.exportBoatCsv=Impossible d'exporter les navires sélectionnés
+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.getAllActiveBoats=
wao.error.serviceBoat.getBoat=Impossible de charger le navire
-wao.error.serviceBoat.getBoatNamesStartWith=Impossible de récupérer 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îne d'immatriculations est incorrect \! Chaque immatriculation doit posséder 6 chiffres
-wao.error.serviceBoat.getCompanyBoatInfos=Impossible de récupérer les informations du navire immatriculé %1$d pour la société %2$s
-wao.error.serviceBoat.getLastActivityCalendar=Impossible de charger le dernier calendrier d'activité 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.getPossibleValuesForFilter=
wao.error.serviceBoat.getShipOwnerNamesContains=
-wao.error.serviceBoat.importActivityCalendarCsv=Problème d'import du fichier CSV des calendriers d'activité
-wao.error.serviceBoat.importBoatCsv=Problème d'import du fichier CSV. Vérifiez l'en-tête du fichier.
+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.
wao.error.serviceBoat.newBoatFilter=
wao.error.serviceCartography.exportContactMotifsStatisticsKml=
wao.error.serviceCartography.exportContactStatisticsKml=
-wao.error.serviceCartography.importBoatDistrictKml=Impossible d'importer les coordonnées des quartiers des navires. Vérifiez 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.getContact=Impossible de trouver le contact
wao.error.serviceContact.getContacts=Impossible de filtrer la liste des contacts
-wao.error.serviceContact.getNbContacts=Impossible de compter le nombre de contacts filtrés
+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.getPossibleValuesForFilter=
wao.error.serviceContact.getSubstitutesForBoat=
@@ -183,7 +185,7 @@
wao.error.serviceContact.updateSampleMonthTidesValue=
wao.error.serviceContact.validateContact=
wao.error.serviceNews.getNewNews=
-wao.error.serviceNews.getNews=Impossible de récupérer 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.getAllContactStateMotifs=
wao.error.serviceReferential.getAllObsDebCodes=
@@ -193,13 +195,13 @@
wao.error.serviceReferential.getAllTerrestrialLocations=
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êche
-wao.error.serviceReferential.getProfessions=Impossible de charger la liste des métiers
-wao.error.serviceReferential.getSectors=Impossible de charger la liste des zones de pêche
+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.getTerrestrialDistrict=
wao.error.serviceReferential.importContactStateMotifs=
-wao.error.serviceReferential.importDCFcodes=Impossible de créer le référentiel des codes DCF
-wao.error.serviceReferential.importFishingZoneCsv=Problème d'import du fichier CSV. Vérifiez l'en-tête du fichier \: [ PECHE_DIVISION,PECHE_ZONE,PECHE_FACADE ]. Voir documentation pour plus de détails.
+wao.error.serviceReferential.importDCFcodes=Impossible de cr\u00e9er le r\u00e9f\u00e9rentiel des codes DCF
+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.importInitialContactStateMotifs=
wao.error.serviceReferential.importObsDebCodes=
wao.error.serviceReferential.importTerrestrialDivisions=
@@ -208,72 +210,72 @@
wao.error.serviceReferential.updateAllContactStatesMotifs=
wao.error.serviceSampling.countSampleRows=
wao.error.serviceSampling.createSampleRowLog=
-wao.error.serviceSampling.createUpdateSampleRow=Impossible de sauvegarder la ligne d'échantillon
-wao.error.serviceSampling.deleteSampleRow=Impossible de supprimer la ligne d'échantillon \: %1$s
-wao.error.serviceSampling.exportSamplingPlanCsv=Impossible d'exporter le plan d'échantillonnage sur la période 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.exportSamplingPlanICalendar=
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écupérer un nouveau code pour une ligne d'échantillonnage
+wao.error.serviceSampling.getNewSampleRowCode=Impossible de r\u00e9cup\u00e9rer un nouveau code pour une ligne d'\u00e9chantillonnage
wao.error.serviceSampling.getNewSampleRowLog=
wao.error.serviceSampling.getPossibleValuesForFilter=
wao.error.serviceSampling.getPrograms=Impossible de charger la liste des programmes
-wao.error.serviceSampling.getSampleRow=Impossible de charger la ligne d'échantillon ayant pour identifiant \: %1$s
-wao.error.serviceSampling.getSampleRowByCode=Impossible de charger la ligne d'échantillon ayant pour code %1$s
-wao.error.serviceSampling.getSampleRowsByFilter=Impossible de récupérer la liste des lignes du plan d'échantillonnage
+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.getSampleRowsForEligibility=
-wao.error.serviceSampling.getSampleRowsOrderedByFishingZone=Impossible de récupérer la liste des lignes du plan d'échantillonnage
+wao.error.serviceSampling.getSampleRowsOrderedByFishingZone=Impossible de r\u00e9cup\u00e9rer la liste des lignes du plan d'\u00e9chantillonnage
wao.error.serviceSampling.importSamplingPlanCsv=Erreur lors de l'import du plan
wao.error.serviceSampling.newOperation=
wao.error.serviceSampling.newSampleRow=
wao.error.serviceSampling.newSamplingFilter=
wao.error.serviceSampling.validateSampleRow=
wao.error.serviceSynthesis.getAllIndicatorLogs=
-wao.error.serviceSynthesis.getBoardingBoats=Impossible de récupérer les données 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.getBoatsCount=
wao.error.serviceSynthesis.getComplianceBoardingIndicator=
-wao.error.serviceSynthesis.getContactDataInputDateReactivity=Impossible de récupérer l'indicateur de réactivité 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.getContactStateMotifsPieChartDataByBoatDistrict=
-wao.error.serviceSynthesis.getContactStateStatistics=Impossible de récupérer les statistiques sur les états 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écupérer les données pour le graphique dynamique des efforts de marées
+wao.error.serviceSynthesis.getDataSampling=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es pour le graphique dynamique des efforts de mar\u00e9es
wao.error.serviceSynthesis.getDistinctBoatsCounts=
-wao.error.serviceSynthesis.getGlobalSynthesisParameters=Impossible de récupérer les données concernant les indicateurs pour la synthèse globale
+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écupérer l'indicateur de non respect du nombre d'observateurs embarqués
+wao.error.serviceSynthesis.getNonComplianceBoardingIndicator=Impossible de r\u00e9cup\u00e9rer l'indicateur de non respect du nombre d'observateurs embarqu\u00e9s
wao.error.serviceSynthesis.getObservationHours=
-wao.error.serviceSynthesis.updateGlobalSynthesisParameters=Impossible de mettre à jour les paramètres de la synthèse globale
+wao.error.serviceSynthesis.updateGlobalSynthesisParameters=Impossible de mettre \u00e0 jour les param\u00e8tres de la synth\u00e8se globale
wao.error.serviceUser.addTokensToAllProfiles=
wao.error.serviceUser.connect=Une erreur est survenue lors de la demande de connexion
-wao.error.serviceUser.createDefaultAdmin=Impossible de créer l'administrateur par défaut
-wao.error.serviceUser.createUpdateCompany=Impossible de créer ou de mettre à jour la société
-wao.error.serviceUser.createUpdateUser=Impossible de créer ou de mettre à jour l'utilisateur
-wao.error.serviceUser.deleteCompany=Impossible de supprimer la société ou de vérifier les contraintes de suppression
+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.deleteCompany=Impossible de supprimer la soci\u00e9t\u00e9 ou de v\u00e9rifier les contraintes de suppression
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écupérer la liste des sociétés
+wao.error.serviceUser.getCompanies=Impossible de r\u00e9cup\u00e9rer la liste des soci\u00e9t\u00e9s
wao.error.serviceUser.getCompany=
wao.error.serviceUser.getConnectedUserByToken=
wao.error.serviceUser.getNewUser=Impossible d'instancier un nouvel utilisateur
-wao.error.serviceUser.getObservers=Impossible de récupérer la liste des observateurs
+wao.error.serviceUser.getObservers=Impossible de r\u00e9cup\u00e9rer la liste des observateurs
wao.error.serviceUser.getUserByToken=
wao.error.serviceUser.getUserRolesByLogin=
-wao.error.serviceUser.getUsersByCompany=Impossible de récupérer la liste des utilisateurs de la société %1$s
+wao.error.serviceUser.getUsersByCompany=Impossible de r\u00e9cup\u00e9rer la liste des utilisateurs de la soci\u00e9t\u00e9 %1$s
wao.export.ical.desc=avec %s
wao.export.ical.title=Observation ObsDeb
-wao.import.contact.failure.boatMissing=Il faut préciser l'immatriculation du navire associé au contact
-wao.import.contact.failure.locationTypeMissing=Le type du lieu doit être renseigné
-wao.import.contact.failure.sampleRowCodeMissing=Il manque le code de la ligne de plan associée
+wao.import.contact.failure.boatMissing=Il faut pr\u00e9ciser l'immatriculation du navire associ\u00e9 au contact
+wao.import.contact.failure.locationTypeMissing=Le type du lieu doit \u00eatre renseign\u00e9
+wao.import.contact.failure.sampleRowCodeMissing=Il manque le code de la ligne de plan associ\u00e9e
wao.import.contact.failure.terrestrialLocationMissing=Il manque le code du lieu
wao.import.contact.failure.wrongBoat=Il n'y a pas de navire avec l'immatriculation '%s'
wao.import.contact.failure.wrongSampleRowCode=Il n'y a pas de ligne du plan avec le code '%s'
wao.import.contact.failure.wrongTerrestrialLocation=Il n'y a pas de lieu de type '%s' ayant pour code '%s'
-wao.import.failure.wrongObsDebCode=Il n'y a pas de code métier ayant pour code '%s'
+wao.import.failure.wrongObsDebCode=Il n'y a pas de code m\u00e9tier ayant pour code '%s'
wao.import.failure.wrongUser=Il n'y a pas d'utilisateur ayant pour identifiant '%s'
-wao.validation.sampleRow.conflictOnObserver=L'observateur %s ne peut être associé à la ligne %s car il doit observer, le même jour, pour la ligne %s
+wao.validation.sampleRow.conflictOnObserver=L'observateur %s ne peut \u00eatre associ\u00e9 \u00e0 la ligne %s car il doit observer, le m\u00eame jour, pour la ligne %s
Modified: trunk/wao-business/src/main/xmi/wao.properties
===================================================================
--- trunk/wao-business/src/main/xmi/wao.properties 2011-05-30 13:31:37 UTC (rev 1304)
+++ trunk/wao-business/src/main/xmi/wao.properties 2011-05-30 16:17:33 UTC (rev 1305)
@@ -57,6 +57,8 @@
fr.ifremer.wao.entity.Contact.attribute.sampleRow.tagvalue.lazy=false
fr.ifremer.wao.entity.Contact.attribute.boat.tagvalue.lazy=false
+fr.ifremer.wao.entity.TerrestrialDivision.attribute.regionIfremer.tagvalue.lazy=false
+
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)
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/SamplingFilterComponent.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/SamplingFilterComponent.java 2011-05-30 13:31:37 UTC (rev 1304)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/SamplingFilterComponent.java 2011-05-30 16:17:33 UTC (rev 1305)
@@ -194,22 +194,6 @@
return subPopulationSelectModel;
}
- private SelectModel regionIfremerSelectModel;
-
- public SelectModel getRegionIfremerSelectModel() {
- if (regionIfremerSelectModel == null) {
- List<OptionModel> options = new ArrayList<OptionModel>();
- Map<String, String> regionIfremers = getPossibleValuesForFilter().getRegionIfremers();
- if (regionIfremers != null) {
- for (Map.Entry<String, String> skillZone : regionIfremers.entrySet()) {
- options.add(new OptionModelImpl(skillZone.getValue(), skillZone.getKey()));
- }
- }
- regionIfremerSelectModel = new SelectModelImpl(null, options);
- }
- return regionIfremerSelectModel;
- }
-
public SelectModel getObservationTypeSelectModel() {
ObservationType[] allowedObservationTypes = {
ObservationType.FIELD_WORK_OBSERVATION,
Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/SamplingFilterComponent.tml
===================================================================
--- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/SamplingFilterComponent.tml 2011-05-30 13:31:37 UTC (rev 1304)
+++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/SamplingFilterComponent.tml 2011-05-30 16:17:33 UTC (rev 1305)
@@ -81,10 +81,12 @@
t:model="observationTypeSelectModel" />
</t:if>
<label for="regionIfremer">${message:wao.ui.field.TerrestrialDivision.regionIfremer}</label>
- <t:select t:id="regionIfremer"
- t:model="regionIfremerSelectModel"
- t:value="filter.regionIfremerCode" />
- <t:if test="filter.regionIfremerCode">
+ <t:topiaEntitySelector t:id="regionIfremer"
+ t:clazzName="TerrestrialLocation"
+ t:labelPropertyName="description"
+ t:values="possibleValuesForFilter.regionIfremersAsList"
+ t:selectedValue="filter.regionIfremer" />
+ <t:if test="filter.regionIfremer">
<label for="skillZone">${message:wao.ui.field.TerrestrialDivision.skillZone}</label>
<t:select t:id="skillZone"
t:model="skillZoneSelectModel"
1
0
[Suiviobsmer-commits] r1304 - in trunk: wao-business/src/main/java/fr/ifremer/wao/service wao-business/src/test/java/fr/ifremer/wao/service wao-ui/src/main/resources/i18n
by bleny@users.labs.libre-entreprise.org 30 May '11
by bleny@users.labs.libre-entreprise.org 30 May '11
30 May '11
Author: bleny
Date: 2011-05-30 13:31:37 +0000 (Mon, 30 May 2011)
New Revision: 1304
Log:
removing dead code (import/export contacts)
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactInternalTest.java
trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-05-30 09:07:51 UTC (rev 1303)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-05-30 13:31:37 UTC (rev 1304)
@@ -850,6 +850,7 @@
* @throws NullSampleMonthException if sampleMonth not found to update tides
* value
* @see #updateSampleMonthTidesValue(TopiaContext, Contact, Contact, boolean)
+ * @deprecated use other implementation below
*/
@Deprecated
protected void createOrUpdateContact(TopiaContext transaction,
@@ -906,8 +907,23 @@
dao.update(contactFound);
}
- protected boolean createOrUpdateContact(TopiaContext transaction, ConnectedUser connectedUser, Contact contact)
- throws TopiaException, WaoBusinessException {
+ /** The goal of this method is to put in common code that will be executed
+ * while updating a single contact (from UI) and while updating multiple
+ * contacts (from import).
+ *
+ * @param transaction transaction to use to retrieve/insert/update data
+ * @param connectedUser user who is modifying the contact
+ * @param contact the contact to save or create
+ * @return true if the contact was successfully updated, false if contact
+ * was not updated due to insufficient right (modifying data as
+ * observer after a validation by administrator)
+ * @throws TopiaException if database accesses fail
+ * @throws WaoBusinessException if the given contact fail at validation
+ * see {@link #validateContact(fr.ifremer.wao.entity.Contact)}
+ */
+ protected boolean createOrUpdateContact(TopiaContext transaction,
+ ConnectedUser connectedUser, Contact contact)
+ throws TopiaException, WaoBusinessException {
long contactUpdateWithValidationStartTime = timeLog.getTime();
@@ -1004,204 +1020,91 @@
}
@Override
- public ImportResults executeImportContactCsv(TopiaContext transaction,
- ConnectedUser user,
- InputStream input)
- throws TopiaException,
- IOException,
- WaoBusinessException,
- ParseException {
+ public ImportResults executeImportContactCsv(
+ TopiaContext transaction, ConnectedUser user, InputStream input)
+ throws TopiaException, IOException, WaoBusinessException {
ImportResults result = new ImportResultsImpl();
- boolean useNewMethod = true;
- if (useNewMethod) {
+ long initImportStart = timeLog.getTime();
- long initImportStart = timeLog.getTime();
+ // Some DAO
+ WaoUserDAO waoUserDAO = WaoDAOHelper.getWaoUserDAO(transaction);
+ TerrestrialLocationDAO terrestrialLocationDAO =
+ WaoDAOHelper.getTerrestrialLocationDAO(transaction);
+ SampleRowDAO sampleRowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
+ BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction);
+ ObsDebCodeDAO obsDebCodeDAO =
+ WaoDAOHelper.getObsDebCodeDAO(transaction);
- // Some DAO
- WaoUserDAO waoUserDAO = WaoDAOHelper.getWaoUserDAO(transaction);
- TerrestrialLocationDAO terrestrialLocationDAO = WaoDAOHelper.getTerrestrialLocationDAO(transaction);
- SampleRowDAO sampleRowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction);
- ObsDebCodeDAO obsDebCodeDAO = WaoDAOHelper.getObsDebCodeDAO(transaction);
+ // prepare selection of sample-rows, those are restrained
+ // by ObsProgram and by company
+ Map<String, Object> sampleRowProperties = new HashMap<String, Object>();
+ sampleRowProperties.put(SampleRow.PROPERTY_OBS_PROGRAM_ORDINAL, user.getProfile().getObsProgramOrdinal());
- // prepare selection of sample-rows, those are restrained
- // by ObsProgram and by company
- Map<String, Object> sampleRowProperties = new HashMap<String, Object>();
- sampleRowProperties.put(SampleRow.PROPERTY_OBS_PROGRAM_ORDINAL, user.getProfile().getObsProgramOrdinal());
+ // filling collection needed by model
+ List<SampleRow> sampleRows =
+ sampleRowDAO.findAllByProperties(sampleRowProperties);
+ List<WaoUser> waoUsers = waoUserDAO.findAll();
+ List<Boat> boats = boatDAO.findAll();
+ List<TerrestrialLocation> terrestrialLocations =
+ terrestrialLocationDAO.findAll();
+ List<ObsDebCode> obsDebCodes = obsDebCodeDAO.findAll();
- // filling collection needed by model
- List<SampleRow> sampleRows = sampleRowDAO.findAllByProperties(sampleRowProperties);
- List<WaoUser> waoUsers = waoUserDAO.findAll();
- List<Boat> boats = boatDAO.findAll();
- List<TerrestrialLocation> terrestrialLocations = terrestrialLocationDAO.findAll();
- List<ObsDebCode> obsDebCodes = obsDebCodeDAO.findAll();
+ // model creation, and import starting
+ ImportModel<Contact> contactImportModel = new ContactImportExportModel(
+ user.getProfile().getObsProgram(),
+ waoUsers, terrestrialLocations, sampleRows, boats, obsDebCodes);
- // model creation, and import starting
- ImportModel<Contact> contactImportModel = new ContactImportExportModel(user.getProfile().getObsProgram(),
- waoUsers, terrestrialLocations, sampleRows, boats, obsDebCodes);
- Import<Contact> contactImport = new Import<Contact>(contactImportModel, input);
+ Import<Contact> contactImport =
+ new Import<Contact>(contactImportModel, input);
- try {
- Iterator<Contact> contactIterator = contactImport.startImport();
+ try {
+ Iterator<Contact> contactIterator = contactImport.startImport();
- long importStart = timeLog.log(initImportStart, "init contact import");
+ long importStart = timeLog.log(initImportStart, "init contact import");
- while (contactIterator.hasNext()) {
- Contact contact;
+ while (contactIterator.hasNext()) {
+ Contact contact;
- long contactStart = timeLog.getTime();
+ long contactStart = timeLog.getTime();
- long contactRead;
- try {
- contact = contactIterator.next();
- contactRead = timeLog.log(contactStart, "contact read");
- } catch (RuntimeException e) {
- throw new WaoBusinessException(e.getMessage() + " " + e.getCause().getMessage());
- }
-
- boolean contactUpdated = createOrUpdateContact(transaction, user, contact);
- timeLog.log(contactRead, "contact database update");
-
- if (contactUpdated) {
- result.incNbImported();
- } else {
- result.incNbRefused();
- }
+ long contactRead;
+ try {
+ contact = contactIterator.next();
+ contactRead = timeLog.log(contactStart, "contact read");
+ } catch (RuntimeException e) {
+ String message = e.getMessage() + " " +
+ e.getCause().getMessage();
+ throw new WaoBusinessException(message);
}
- timeLog.log(importStart, "contact import");
+ boolean contactUpdated = createOrUpdateContact(transaction, user, contact);
+ timeLog.log(contactRead, "contact database update");
- if (log.isTraceEnabled()) {
- log.trace("times for import contacts " + timeLog.getCallCount().toString());
+ if (contactUpdated) {
+ result.incNbImported();
+ } else {
+ result.incNbRefused();
}
+ }
- transaction.commitTransaction();
+ timeLog.log(importStart, "contact import");
- } catch (WaoBusinessException e) {
- transaction.rollbackTransaction();
- throw e;
- } finally {
- contactImport.stopImport();
+ if (log.isTraceEnabled()) {
+ log.trace("times for import contacts " +
+ timeLog.getCallCount());
}
+ transaction.commitTransaction();
- } else {
- int currRow = 1;
-
- CsvReader reader = new CsvReader(input, context.getCsvCharset());
- try {
- reader.readHeaders();
-
- ImportHelper.checkKeyHeader(reader, CONTACT.CONT_CREATION);
-
- ContactDAO dao = WaoDAOHelper.getContactDAO(transaction);
-
- long tic;
- tic = System.currentTimeMillis();
- DateFormat dateFormat = new SimpleDateFormat("MM/yyyy");
- while(reader.readRecord()) {
- try {
- currRow++;
-
- boolean updateValidation = user.isAdmin() &&
- user.getLogin().equals("admin");
-
- // Load ContactInput using CsvReader
- ContactInput contactCsv = new ContactInput();
- contactCsv.initialize(transaction, user, currRow);
- loadContactCsv(reader, contactCsv, updateValidation);
-
- if (log.isDebugEnabled()) {
- log.debug("Ligne " + currRow + " : " +
- "Create date : " +
- contactCsv.getTopiaCreateDate());
- }
-
- // Retrieve the existing contact
- String companyProperty =
- TopiaQuery.getProperty(Contact.PROPERTY_MAIN_OBSERVER,
- WaoUser.PROPERTY_COMPANY);
-
- Contact contact = dao.findByProperties(
- TopiaEntity.TOPIA_CREATE_DATE,
- contactCsv.getTopiaCreateDate(),
- companyProperty, contactCsv.getCompany(),
- Contact.PROPERTY_BOAT, contactCsv.getBoat(),
- Contact.PROPERTY_SAMPLE_ROW, contactCsv.getSampleRow());
-
- // Seems to have a problem with companyProperty ?!? using
- // DAOLegacy (criteria)
- // TopiaQuery query = dao.createQuery().
- // addEquals(TopiaEntity.TOPIA_CREATE_DATE,
- // contactCsv.getTopiaCreateDate()).
- // addEquals(companyProperty, contactCsv.getCompany()).
- // addEquals(Contact.PROPERTY_BOAT, contactCsv.getBoat()).
- // addEquals(Contact.SAMPLE_ROW,
- // contactCsv.getSampleRow());
- // Contact contact = dao.findByQuery(query);
-
- // Check validation for existing Contact
- if (!updateValidation && contact != null &&
- contact.getValidationCompany() != null) {
- throw new ImportRefusedException("Le contact est" +
- " déjà validé dans l'application" +
- " et ne peut pas être importé", currRow,
- Contact.PROPERTY_VALIDATION_COMPANY);
- }
-
- // Create elligibleBoat if needed before saving the contact
- updateElligibleBoatForContact(transaction, contactCsv);
-
- try {
- // Execute createOrUpdateContact
- // Will calculate data for SampleMonth and maybe
- // throw a NullSampleMonthException if there is
- // an error during the calcul of sampleMonthTidesValue
- createOrUpdateContact(transaction, contact, contactCsv,
- updateValidation);
-
- } catch (NullSampleMonthException eee) {
- log.debug("exception", eee);
- log.debug("contact : " + contact);
- if (contact != null) {
- log.debug("tideBeginDate : " + contact.getObservationBeginDate());
- }
- // The row will be refused in this case
- throw new ImportRefusedException("Impossible de " +
- "mettre à jour le nombre de marée réels, " +
- "vérifiez le mois de " +
- dateFormat.format(contact.getObservationBeginDate()) +
- " pour la ligne du plan " +
- contactCsv.getSampleRow().getCode(), currRow,
- Contact.PROPERTY_OBSERVATION_BEGIN_DATE, eee);
- }
-
- result.incNbImported();
-
- if (result.getNbRowsImported() % 1000 == 0) {
- transaction.commitTransaction();
- tic = ImportHelper.logTimeAndMemory(log, tic,
- "contacts ligne " + currRow);
- }
-
- } catch(ImportRefusedException eee) {
- if (log.isWarnEnabled()) {
- log.warn("Error during contact import row : " +
- eee.getRowNumber(), eee);
- }
- result.addError(eee.getRowNumber(), eee.getMessage());
- result.incNbRefused();
- }
- }
-
- // Commit for last rows imported
- transaction.commitTransaction();
- } finally {
- reader.close();
- }
+ } catch (WaoBusinessException e) {
+ transaction.rollbackTransaction();
+ throw e;
+ } finally {
+ contactImport.stopImport();
}
+
return result;
}
@@ -1209,213 +1112,21 @@
public InputStream executeExportContactCsv(TopiaContext transaction,
ContactFilter filter) throws Exception {
- boolean useNewMethod = true;
- if (useNewMethod) {
+ // when exporting, we must not consider pagination
+ filter.setStartIndex(null);
+ filter.setEndIndex(null);
- // when exporting, we must not consider pagination
- filter.setStartIndex(null);
- filter.setEndIndex(null);
+ Map<String, Contact> contacts = executeGetContacts(transaction, filter);
- Map<String, Contact> contacts = executeGetContacts(transaction, filter);
+ if (log.isDebugEnabled()) {
+ log.debug("export with filter " + filter.toString() + " will include "
+ + contacts.size() + " lines");
+ }
- if (log.isDebugEnabled()) {
- log.debug("export with filter " + filter.toString() + " will include "
- + contacts.size() + " lines");
- }
+ ExportModel<Contact> contactExportModel = new ContactImportExportModel(filter.getObsProgram());
+ Export<Contact> export = new Export<Contact>(contactExportModel, contacts.values());
+ return export.startExport();
- ExportModel<Contact> contactExportModel = new ContactImportExportModel(filter.getObsProgram());
- Export<Contact> export = new Export<Contact>(contactExportModel, contacts.values());
- return export.startExport();
-
- } else {
-
- CsvWriter writer = null;
- try {
-
- File file = File.createTempFile("wao-contacts-", ".csv");
- file.deleteOnExit();
-
- if (log.isDebugEnabled()) {
- log.debug("Export contacts into : " + file.getAbsolutePath());
- }
-
- OutputStream output = new FileOutputStream(file);
- writer = new CsvWriter(output, ',', context.getCsvCharset());
-
- ExportHelper<ContactHeader> export =
- new ExportHelper<ContactHeader>(writer,
- CONTACT.getTotalHeaders()) {
-
- @Override
- public void record(ContactHeader header, String value) {
- record(header.forContactCsv(), value);
- }
-
- @Override
- protected String getHeaderValue(int index)
- throws IOException {
- if (log.isDebugEnabled()) {
- log.debug("record header : " + index + " = " +
- WaoCsvHeader.getHeaderForContactCsv(index));
- }
- return WaoCsvHeader.getHeaderForContactCsv(index);
- }
- };
-
- export.writeHeaders();
-
- DateFormat dateFormat = CONTACT.DATE_FORMAT;
-
- // Get contacts from database
- ContactDAO dao = WaoDAOHelper.getContactDAO(transaction);
- // TopiaQuery query = dao.createQuery("C");
- // query.addOrderDesc("C." + TopiaEntity.TOPIA_CREATE_DATE);
- //
- // // No page limit in this case
- // query = filter.prepareQueryForContact(query).resetLimit();
-
- WaoQueryBuilder builder = context.newQueryBuilder();
- builder.initializeForContact();
-
- filter.setOrderBy(TopiaEntity.TOPIA_CREATE_DATE + " desc");
-
- TopiaQuery query = builder.applyContactFilter(filter);
-
- // No page limit in this case
- query.resetLimit();
-
- if (log.isDebugEnabled()) {
- log.debug("Query : " + query);
- }
-
- List<Contact> contacts = dao.findAllByQuery(query);
-
- DateFormat timeFormat = CONTACT.TIME_FORMAT;
-
- for (Contact contact : contacts) {
- export.newRecord();
-
- // Contact part
- export.record(CONTACT.CONT_CODE,
- timeFormat.format(contact.getTopiaCreateDate()));
- export.record(CONTACT.CONT_CREATION,
- dateFormat.format(contact.getTopiaCreateDate()));
- export.record(CONTACT.CONT_ETAT,
- contact.getContactState().name());
- if (contact.getObservationBeginDate() != null) {
- export.record(CONTACT.CONT_DEBUT_MAREE,
- CONTACT.CONT_DEBUT_MAREE.format(contact.getObservationBeginDate()));
- }
- if (contact.getObservationEndDate() != null) {
- export.record(CONTACT.CONT_FIN_MAREE,
- CONTACT.CONT_FIN_MAREE.format(contact.getObservationEndDate()));
- }
- export.record(CONTACT.CONT_NB_OBSERV,
- String.valueOf(contact.getNbObservants()));
- export.record(CONTACT.CONT_MAM_CAPT,
- CONTACT.formatMammals(contact.getMammalsCapture()));
- export.record(CONTACT.CONT_MAM_OBS,
- CONTACT.formatMammals(contact.getMammalsObservation()));
- export.record(CONTACT.CONT_COMMENT,
- contact.getComment());
- if (contact.getDataInputDate() != null) {
- export.record(CONTACT.CONT_ALLEGRO,
- dateFormat.format(contact.getDataInputDate()));
- }
- export.record(CONTACT.CONT_SOCIETE_VALID,
- CONTACT.formatValidation(contact.getValidationCompany()));
- export.record(CONTACT.CONT_PROGRAM_VALID,
- CONTACT.formatValidation(contact.getValidationProgram()));
- export.record(CONTACT.CONT_DATA_RELIABILITY,
- contact.getDataReliability().name());
-
- if (contact.getSamplingStrategy() != null) {
- export.record(CONTACT.CONT_SAMPLING_STRATEGY,
- contact.getSamplingStrategy().name());
- }
-
- if (contact.getCompleteSampling() != null) {
- export.record(CONTACT.CONT_COMPLETE_SAMPLING,
- CONTACT.formatBoolean(contact.getCompleteSampling()));
- }
-
- // Observer part
- WaoUser mainObserver = contact.getMainObserver();
-
- StringBuilder observersLogin = new StringBuilder();
- observersLogin.append(mainObserver.getLogin());
- StringBuilder observersNames = new StringBuilder();
- observersNames.append(mainObserver.getFullName());
- if (contact.getSecondaryObservers() != null) {
- for (WaoUser secondaryObserver : contact.getSecondaryObservers()) {
- observersLogin.append(", ");
- observersLogin.append(secondaryObserver.getLogin());
- observersNames.append(", ");
- observersNames.append(secondaryObserver.getFullName());
- }
- }
-
- export.record(CONTACT.OBSERV_ID, observersLogin.toString());
- // export.record(CONTACT.OBSERV_PRENOM, mainObserver.getFirstName());
- export.record(CONTACT.OBSERV_NOM, observersNames.toString());
-
- Company company = mainObserver.getCompany();
- export.record(SAMPLING.SOCIETE_NOM, company.getName());
-
- // SampleRow part
- SampleRow row = contact.getSampleRow();
- export.record(SAMPLING.PLAN_CODE, row.getCode());
- export.record(SAMPLING.PROGRAMME_CODE, row.getProgramName());
- export.record(SAMPLING.PROGRAMME_DEBUT,
- dateFormat.format(row.getPeriodBegin()));
- export.record(SAMPLING.PROGRAMME_FIN,
- dateFormat.format(row.getPeriodEnd()));
- export.record(SAMPLING.PECHE_AUTRE,
- row.getFishingZonesInfos());
-
- // FishingZone part
- String divisions = "";
- String separator = " - ";
- for (FishingZone zone : row.getFishingZone()) {
- divisions += separator + zone.getDistrictCode();
- }
- export.record(FISHING_ZONE.PECHE_DIVISION,
- divisions.substring(separator.length()));
- export.record(FISHING_ZONE.PECHE_FACADE, row.getFacade());
- export.record(FISHING_ZONE.PECHE_ZONE, row.getSectors());
-
- // Profession part
- Profession profession = row.getProfession();
-
- // export.record(SAMPLING.METIER_CODE_DCF5, profession.getCodeDCF5());
- export.record(SAMPLING.METIER_CODE_DCF5, StringUtil.join(row.getDCF5Code(), " et ", true));
-
- export.record(SAMPLING.METIER_MAILLAGE,
- profession.getMeshSize());
- export.record(SAMPLING.METIER_TAILLE, profession.getSize());
- export.record(SAMPLING.METIER_AUTRE, profession.getOther());
- export.record(SAMPLING.METIER_LIBELLE, profession.getLibelle());
- export.record(SAMPLING.METIER_ESPECES, profession.getSpecies());
-
- // Boat part
- Boat boat = contact.getBoat();
- export.record(BOAT.NAVS_COD,
- String.valueOf(boat.getImmatriculation()));
- export.record(BOAT.CARN_NOM, boat.getName());
- export.record(BOAT.QUARTIER_IMMA, boat.getDistrictCode());
-
- export.writeRecord();
- }
- return new FileInputStream(file);
-
- } catch (Exception eee) {
- throw eee;
- } finally {
- if (writer != null) {
- writer.close();
- }
- }
- }
}
/**
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactImplTest.java 2011-05-30 09:07:51 UTC (rev 1303)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactImplTest.java 2011-05-30 13:31:37 UTC (rev 1304)
@@ -22,7 +22,6 @@
package fr.ifremer.wao.service;
import fr.ifremer.wao.AbstractServiceTest;
-import fr.ifremer.wao.WaoException;
import fr.ifremer.wao.bean.ConnectedUser;
import fr.ifremer.wao.bean.ContactFilter;
import fr.ifremer.wao.bean.ContactFilterImpl;
@@ -30,7 +29,6 @@
import fr.ifremer.wao.bean.UserRole;
import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.entity.Contact;
-import fr.ifremer.wao.entity.ContactImpl;
import fr.ifremer.wao.entity.WaoUser;
import org.junit.Assert;
import org.junit.Before;
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactInternalTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactInternalTest.java 2011-05-30 09:07:51 UTC (rev 1303)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactInternalTest.java 2011-05-30 13:31:37 UTC (rev 1304)
@@ -51,7 +51,6 @@
import fr.ifremer.wao.io.csv.WaoCsvHeader.BOAT;
import fr.ifremer.wao.io.csv.WaoCsvHeader.CONTACT;
import fr.ifremer.wao.io.csv.WaoCsvHeader.SAMPLING;
-import org.apache.commons.collections.CollectionUtils;
import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass;
Modified: trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties
===================================================================
--- trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-05-30 09:07:51 UTC (rev 1303)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-05-30 13:31:37 UTC (rev 1304)
@@ -8,80 +8,80 @@
SynthesisId.OBSERVATION_HOUR=
wao.ui.action.acceptContact=Valider le contact
wao.ui.action.add=Ajouter
-wao.ui.action.addNewContactFromBoat=Cr\u00e9er un nouveau contact pour ce navire et la ligne s\u00e9lectionn\u00e9e dans les filtres
-wao.ui.action.back=Revenier \u00e0 l'\u00e9cran pr\u00e9c\u00e9dent
+wao.ui.action.addNewContactFromBoat=Créer un nouveau contact pour ce navire et la ligne sélectionnée dans les filtres
+wao.ui.action.back=Revenier à l'écran précédent
wao.ui.action.cancel=Annuler
wao.ui.action.changeLocale=Changer de langue
wao.ui.action.contactAdmin=Contacter un responsable ObsMer
-wao.ui.action.create=Cr\u00e9er
-wao.ui.action.createCompany=Cr\u00e9er une soci\u00e9t\u00e9
-wao.ui.action.createUser=Cr\u00e9er un utilisateur
+wao.ui.action.create=Créer
+wao.ui.action.createCompany=Créer une société
+wao.ui.action.createUser=Créer un utilisateur
wao.ui.action.delete=Supprimer
-wao.ui.action.deleteCompany=Supprimer la soci\u00e9t\u00e9
-wao.ui.action.deleteCompany.confirm=\u00cates-vous s\u00fbr de vouloir supprimer la soci\u00e9t\u00e9 ?
+wao.ui.action.deleteCompany=Supprimer la société
+wao.ui.action.deleteCompany.confirm=Êtes-vous sûr de vouloir supprimer la société ?
wao.ui.action.deleteContact=Supprimer le contact
-wao.ui.action.deleteContact.confirm=\u00cates-vous s\u00fbr de vouloir supprimer d\u00e9finitivement ce contact ?
+wao.ui.action.deleteContact.confirm=Êtes-vous sûr de vouloir supprimer définitivement ce contact ?
wao.ui.action.deleteNews=Supprimer la nouvelle
-wao.ui.action.deleteNews.confirm=\u00cates-vous s\u00fbr de vouloir supprimer d\u00e9finitivement cette nouvelle ?
+wao.ui.action.deleteNews.confirm=Êtes-vous sûr de vouloir supprimer définitivement cette nouvelle ?
wao.ui.action.deleteSampleRow=Supprimer la ligne du plan
-wao.ui.action.deleteSampleRow.confirm=\u00cates-vous s\u00fbr de vouloir supprimer la ligne %s du plan ?
+wao.ui.action.deleteSampleRow.confirm=Êtes-vous sûr de vouloir supprimer la ligne %s du plan ?
wao.ui.action.deleteUser=Supprimer l'utilisateur
-wao.ui.action.deleteUser.confirm=\u00cates-vous s\u00fbr de vouloir supprimer l'utilisateur ?
+wao.ui.action.deleteUser.confirm=Êtes-vous sûr de vouloir supprimer l'utilisateur ?
wao.ui.action.edit=Modifier
wao.ui.action.enlargeView=Agrandir la vue
-wao.ui.action.exportBoats=Exporter les $s navires avec leurs informations priv\u00e9es
+wao.ui.action.exportBoats=Exporter les $s navires avec leurs informations privées
wao.ui.action.filter=Filtrer
wao.ui.action.hideFilters=Masquer les filtres
wao.ui.action.login=Connexion
-wao.ui.action.logout=D\u00e9connexion
-wao.ui.action.reduceView=R\u00e9duire la vue
-wao.ui.action.refresh=Rafra\u00eechir
+wao.ui.action.logout=Déconnexion
+wao.ui.action.reduceView=Réduire la vue
+wao.ui.action.refresh=Rafraîchir
wao.ui.action.refuseContact=Refuser le contact
wao.ui.action.remove=Retirer
-wao.ui.action.resetFields=Remettre le formulaire \u00e0 z\u00e9ro
+wao.ui.action.resetFields=Remettre le formulaire à zéro
wao.ui.action.revert=Annuler
wao.ui.action.runExport=Lancer l'export
wao.ui.action.runImport=Lancer l'import
wao.ui.action.runSearch=Lancer la recherche
wao.ui.action.save=Enregistrer
-wao.ui.action.showDetails=Voir les d\u00e9tails
+wao.ui.action.showDetails=Voir les détails
wao.ui.action.showFilters=Afficher les filtres
wao.ui.action.unvalidateContact=Invalider le contact
wao.ui.action.viewIndicatorsHistory=Voir l'historique des modifications des indicateurs
wao.ui.boatList=Liste de %s navires
wao.ui.boatinfo.title=Informations sur %s
-wao.ui.boats.associatedLine=Ligne(s) du plan associ\u00e9e(s) \u00e0 ce navire
-wao.ui.boats.nbObservations=%s observation(s) dont %s avec votre soci\u00e9t\u00e9
+wao.ui.boats.associatedLine=Ligne(s) du plan associée(s) à ce navire
+wao.ui.boats.nbObservations=%s observation(s) dont %s avec votre société
wao.ui.boats.portOfRegistry.description=Il s'agit du port d'exploitation principal du navire
wao.ui.boats.portOfRegistry.header=Port
-wao.ui.boats.selecting=Vous \u00eates en cours de s\u00e9lection d'un navire pour la ligne du plan %s
+wao.ui.boats.selecting=Vous êtes en cours de sélection d'un navire pour la ligne du plan %s
wao.ui.boats.substitutes=Substituts du navire
-wao.ui.cartography.help=Cliquez sur les graphiques pour avoir le d\u00e9tail.
-wao.ui.cartography.title=R\u00e9partition des contacts par quartier des navires
-wao.ui.cartography.title.company=R\u00e9partition des contacts par quartier des navires pour la soci\u00e9t\u00e9 %s
+wao.ui.cartography.help=Cliquez sur les graphiques pour avoir le détail.
+wao.ui.cartography.title=Répartition des contacts par quartier des navires
+wao.ui.cartography.title.company=Répartition des contacts par quartier des navires pour la société %s
wao.ui.chart.boardingsSince=Nombre de sollicitations depuis le %s
wao.ui.chart.numberBoats=Nb navires
wao.ui.chart.numberObservations=Nb observations
wao.ui.chart.numberOfBoatsWithBoardings=Nombre de navires avec x embarquements
-wao.ui.contact.lastContact=Derni\u00e8re observation concernant ce navire pour votre soci\u00e9t\u00e9 (tous programmes confondus)
-wao.ui.contacts.createFromBoat=Cr\u00e9er un nouveau contact pour ce navire et cette ligne du plan
-wao.ui.contacts.createFromBoat.fail=Cr\u00e9ation d'un nouveau contact impossible
-wao.ui.contacts.createFromBoat.warn=Attention \: cette ligne du plan est arriv\u00e9e \u00e0 \u00e9ch\u00e9ance, \u00eates-vous s\u00fbr de vouloir cr\u00e9er un nouveau contact ?
-wao.ui.disclaimer=Le site de \u00ab SUIVI DU REALISE DU PLAN D'ECHANTILLONNAGE DES OBSERVATIONS A LA MER \u00bb a fait l'objet d'une d\u00e9claration \u00e0 la CNIL sous le num\u00e9ro suivant \: 1414476
-wao.ui.disclaimer.boats=Les donn\u00e9es saisies dans cette page sont la propri\u00e9t\u00e9 exclusive de la soci\u00e9t\u00e9. En dehors de la soci\u00e9t\u00e9, seul l'administrateur peut les consulter pour des questions de maintenance sur le site. L'administrateur est une personne de l'Ifremer.
+wao.ui.contact.lastContact=Dernière observation concernant ce navire pour votre société (tous programmes confondus)
+wao.ui.contacts.createFromBoat=Créer un nouveau contact pour ce navire et cette ligne du plan
+wao.ui.contacts.createFromBoat.fail=Création d'un nouveau contact impossible
+wao.ui.contacts.createFromBoat.warn=Attention \: cette ligne du plan est arrivée à échéance, êtes-vous sûr de vouloir créer un nouveau contact ?
+wao.ui.disclaimer=Le site de « SUIVI DU REALISE DU PLAN D'ECHANTILLONNAGE DES OBSERVATIONS A LA MER » a fait l'objet d'une déclaration à la CNIL sous le numéro suivant \: 1414476
+wao.ui.disclaimer.boats=Les données saisies dans cette page sont la propriété exclusive de la société. En dehors de la société, seul l'administrateur peut les consulter pour des questions de maintenance sur le site. L'administrateur est une personne de l'Ifremer.
wao.ui.email=Adresse e-mail
wao.ui.entity.Boat=Navire
wao.ui.entity.Boats=Navires
-wao.ui.entity.Company=Soci\u00e9t\u00e9
+wao.ui.entity.Company=Société
wao.ui.entity.Contact=Contact
-wao.ui.entity.FishingZone=Zones de p\u00eache
-wao.ui.entity.SampleRow=Ligne du plan d'\u00e9chantillonnage
+wao.ui.entity.FishingZone=Zones de pêche
+wao.ui.entity.SampleRow=Ligne du plan d'échantillonnage
wao.ui.entity.TerrestrialLocation=Lieu
wao.ui.entity.fishingGearDCF=Engin code DCF
-wao.ui.entity.targetSpeciesDCF=Ensembles d'esp\u00e8ces-cible code DCF
+wao.ui.entity.targetSpeciesDCF=Ensembles d'espèces-cible code DCF
wao.ui.field.Boat.boatGroup=Strate
wao.ui.field.Boat.boatLength=Longueur
-wao.ui.field.Boat.buildYear=Ann\u00e9e de construction
+wao.ui.field.Boat.buildYear=Année de construction
wao.ui.field.Boat.districtCode=Quartier
wao.ui.field.Boat.fleet=Flotille
wao.ui.field.Boat.immatriculation=Immatriculation
@@ -89,142 +89,142 @@
wao.ui.field.Boat.portOfRegistry=Port d'attache
wao.ui.field.Boat.shipOwner=Armateur
wao.ui.field.BoatDistrict.code=Code quartier
-wao.ui.field.BoatInfos.dup=Capacit\u00e9 d'accueil du navire en personnels sp\u00e9cialis\u00e9s
+wao.ui.field.BoatInfos.dup=Capacité d'accueil du navire en personnels spécialisés
wao.ui.field.Company.active=Active
wao.ui.field.Company.name=Nom
-wao.ui.field.Contact.beginDate=D\u00e9but d'observation
+wao.ui.field.Contact.beginDate=Début d'observation
wao.ui.field.Contact.comment=Commentaire observateur
wao.ui.field.Contact.commentAdmin=Commentaire programme
wao.ui.field.Contact.commentCoordinator=Commentaire coordinateur
-wao.ui.field.Contact.completeSampling=\u00c9chantillonnage complet
-wao.ui.field.Contact.contactState=\u00c9tat du contact
+wao.ui.field.Contact.completeSampling=Échantillonnage complet
+wao.ui.field.Contact.contactState=État du contact
wao.ui.field.Contact.contactStateMotif=Motif du refus
wao.ui.field.Contact.contactStateMotifs=Motifs de refus
-wao.ui.field.Contact.creationDate=Date de cr\u00e9ation du contact
-wao.ui.field.Contact.dataInputDate=Saisie des donn\u00e9es
-wao.ui.field.Contact.dataReliability=Qualit\u00e9 des donn\u00e9es
+wao.ui.field.Contact.creationDate=Date de création du contact
+wao.ui.field.Contact.dataInputDate=Saisie des données
+wao.ui.field.Contact.dataReliability=Qualité des données
wao.ui.field.Contact.endDate=Fin d'observation
-wao.ui.field.Contact.landingDate=Date de d\u00e9barquement
-wao.ui.field.Contact.mainObserver=Observateur r\u00e9f\u00e9rent
+wao.ui.field.Contact.landingDate=Date de débarquement
+wao.ui.field.Contact.mainObserver=Observateur référent
wao.ui.field.Contact.mammalsCapture=Capture accidentelle
-wao.ui.field.Contact.mammalsInfo=Noms scientifiques et nombres d'individus des esp\u00e8ces captur\u00e9es
+wao.ui.field.Contact.mammalsInfo=Noms scientifiques et nombres d'individus des espèces capturées
wao.ui.field.Contact.mammalsObservation=Observation exceptionnelle
wao.ui.field.Contact.nbObservants=Nombre d'observateurs
-wao.ui.field.Contact.obsDebCode=M\u00e9tier
+wao.ui.field.Contact.obsDebCode=Métier
wao.ui.field.Contact.observationType=Type d'observation
-wao.ui.field.Contact.samplingStrategy=Strat\u00e9gie d'\u00e9chantillonnage suivie
+wao.ui.field.Contact.samplingStrategy=Stratégie d'échantillonnage suivie
wao.ui.field.Contact.secondaryObservers=Observateurs
wao.ui.field.Contact.terrestrialLocation=Lieu d'observation
-wao.ui.field.Contact.validationCompany=Validation soci\u00e9t\u00e9
+wao.ui.field.Contact.validationCompany=Validation société
wao.ui.field.Contact.validationProgram=Validation programme
-wao.ui.field.FishingZone.facadeName=Fa\u00e7ade
+wao.ui.field.FishingZone.facadeName=Façade
wao.ui.field.FishingZone.sectorName=Zone
wao.ui.field.SampleRow.boat=Navire
wao.ui.field.SampleRow.code=Code ligne
wao.ui.field.SampleRow.comment=Commentaire
-wao.ui.field.SampleRow.company=Soci\u00e9t\u00e9
+wao.ui.field.SampleRow.company=Société
wao.ui.field.SampleRow.dCF5Code=Codes
wao.ui.field.SampleRow.day=Jour
wao.ui.field.SampleRow.dcf5Code=Code DCF Niv. 5
wao.ui.field.SampleRow.expectedDate=Date
-wao.ui.field.SampleRow.fishingZones=Zone(s) de p\u00eache
-wao.ui.field.SampleRow.libelle=Libell\u00e9
+wao.ui.field.SampleRow.fishingZones=Zone(s) de pêche
+wao.ui.field.SampleRow.libelle=Libellé
wao.ui.field.SampleRow.meshSize=Maillage
wao.ui.field.SampleRow.observationType=Type d'observation
-wao.ui.field.SampleRow.observationUnit=Unit\u00e9 d'observation
+wao.ui.field.SampleRow.observationUnit=Unité d'observation
wao.ui.field.SampleRow.observers=Observateurs
wao.ui.field.SampleRow.other=Autre
-wao.ui.field.SampleRow.periodBegin=D\u00e9but
+wao.ui.field.SampleRow.periodBegin=Début
wao.ui.field.SampleRow.periodEnd=Fin
-wao.ui.field.SampleRow.profession=M\u00e9tier
-wao.ui.field.SampleRow.professionCode=Code m\u00e9tier
+wao.ui.field.SampleRow.profession=Métier
+wao.ui.field.SampleRow.professionCode=Code métier
wao.ui.field.SampleRow.programName=Programme
-wao.ui.field.SampleRow.samplingStrategy=Strat\u00e9gie d'\u00e9chantillonnage
+wao.ui.field.SampleRow.samplingStrategy=Stratégie d'échantillonnage
wao.ui.field.SampleRow.size=Taille du navire
-wao.ui.field.SampleRow.species=Esp\u00e8ces cibles
+wao.ui.field.SampleRow.species=Espèces cibles
wao.ui.field.SampleRow.terrestrialLocation=Quartier maritime
wao.ui.field.SampleRow.terrestrialLocationInfos=Autre(s) info(s)
-wao.ui.field.TerrestrialDivision.regionIfremer=R\u00e9gion Ifremer
-wao.ui.field.TerrestrialDivision.skillZone=Zone de comp\u00e9tence
+wao.ui.field.TerrestrialDivision.regionIfremer=Région Ifremer
+wao.ui.field.TerrestrialDivision.skillZone=Zone de compétence
wao.ui.field.TerrestrialDivision.subPopulation=Sous-population
-wao.ui.field.User.firstName=Pr\u00e9nom
+wao.ui.field.User.firstName=Prénom
wao.ui.field.User.lastName=Nom
wao.ui.field.User.login=Identifiant
-wao.ui.field.UserProfile.userRole=R\u00f4le
+wao.ui.field.UserProfile.userRole=Rôle
wao.ui.field.WaoUser.login=Identifiant
wao.ui.field.WaoUser.mammalsNotifications=Recevoir les notifications de captures accidentelles
wao.ui.field.WaoUser.password=Mot de passe
wao.ui.filters.filters=Filtres de recherche
-wao.ui.filters.refresh=Rafra\u00eechir les champs du filtre
-wao.ui.forgotPassword=Mot de passe oubli\u00e9 ?
-wao.ui.form.SampleRow.boatsDescription=Ce champs correspond aux immatriculations des navires qui sont \u00e9ligibles pour cette ligne. Vous pouvez utiliser n'importe quel s\u00e9parateur pour s\u00e9parer les immatriculations (virgule, point, espace ou saut de ligne)
-wao.ui.form.SampleRow.error.missingLogComment=Vous devez pr\u00e9ciser la raison de vos modifications
-wao.ui.form.SampleRow.missingBeginDate=Date de d\u00e9but manquante pour g\u00e9n\u00e9rer le code de la ligne \!
-wao.ui.form.SampleRow.others=Autres donn\u00e9es de la ligne d'\u00e9chantillonnage
+wao.ui.filters.refresh=Rafraîchir les champs du filtre
+wao.ui.forgotPassword=Mot de passe oublié ?
+wao.ui.form.SampleRow.boatsDescription=Ce champs correspond aux immatriculations des navires qui sont éligibles pour cette ligne. Vous pouvez utiliser n'importe quel séparateur pour séparer les immatriculations (virgule, point, espace ou saut de ligne)
+wao.ui.form.SampleRow.error.missingLogComment=Vous devez préciser la raison de vos modifications
+wao.ui.form.SampleRow.missingBeginDate=Date de début manquante pour générer le code de la ligne \!
+wao.ui.form.SampleRow.others=Autres données de la ligne d'échantillonnage
wao.ui.form.SampleRow.program=Programme de rattachement et effort d'observation par mois
wao.ui.form.addComment=Ajouter un commentaire
-wao.ui.form.addRole=Ajouter ce r\u00f4le
+wao.ui.form.addRole=Ajouter ce rôle
wao.ui.form.boardingFrom=Sollicitations du navire depuis le
wao.ui.form.contactsFile=Fichier des contacts
-wao.ui.form.definePasswordManually=d\u00e9finir manuellement
+wao.ui.form.definePasswordManually=définir manuellement
wao.ui.form.editComment=Commentaire sur la modification
wao.ui.form.editionAuthor=Auteur de la modification
-wao.ui.form.estimatedTides=Voir l'effort d'observations estim\u00e9
-wao.ui.form.estimatedTides.description=L'effort d'observations estim\u00e9 \u00e9quivaut au nombre de contacts valid\u00e9s ou non par la soci\u00e9t\u00e9. Les contacts refus\u00e9s par le programme ne sont pas pris en compte.
-wao.ui.form.generatePassword=G\u00e9n\u00e9rer le mot de passe
+wao.ui.form.estimatedTides=Voir l'effort d'observations estimé
+wao.ui.form.estimatedTides.description=L'effort d'observations estimé équivaut au nombre de contacts validés ou non par la société. Les contacts refusés par le programme ne sont pas pris en compte.
+wao.ui.form.generatePassword=Générer le mot de passe
wao.ui.form.otherBoatInfos=Autres informations sur le navire
-wao.ui.form.period=P\u00e9riode
+wao.ui.form.period=Période
wao.ui.form.period.from=du
wao.ui.form.period.to=au
-wao.ui.form.periodFrom=P\u00e9riode du
-wao.ui.form.periodFromTo=P\u00e9riode du %s au %s
+wao.ui.form.periodFrom=Période du
+wao.ui.form.periodFromTo=Période du %s au %s
wao.ui.form.program=Programme
-wao.ui.form.programEvaluation=\u00c9valuation programme
+wao.ui.form.programEvaluation=Évaluation programme
wao.ui.form.readOnly=lecture seule
wao.ui.form.removeRole=retirer ce role
-wao.ui.form.repeatPassword=R\u00e9p\u00e9ter le mot de passe
-wao.ui.form.roles=R\u00f4les
-wao.ui.form.sortByTideBegin=Trier par date de d\u00e9but d'observation (du plus r\u00e9cent au plus ancien)
-wao.ui.import.activityCalendarImportLabel=de l'import des calendriers d'activit\u00e9
-wao.ui.import.activityCalendarImportRunning=Import des calendriers d'activit\u00e9 en cours. Vous pouvez continuer \u00e0 naviguer sur le site en attendant la fin du chargement.
-wao.ui.import.activityCalendarLabel=des calendriers d'activit\u00e9
-wao.ui.import.activityCalendarUserAccessesLabel=des acc\u00e8s utilisateurs aux calendriers d'activit\u00e9
-wao.ui.import.boatDistrictLabel=des coordonn\u00e9es des quartiers des navires
+wao.ui.form.repeatPassword=Répéter le mot de passe
+wao.ui.form.roles=Rôles
+wao.ui.form.sortByTideBegin=Trier par date de début d'observation (du plus récent au plus ancien)
+wao.ui.import.activityCalendarImportLabel=de l'import des calendriers d'activité
+wao.ui.import.activityCalendarImportRunning=Import des calendriers d'activité en cours. Vous pouvez continuer à naviguer sur le site en attendant la fin du chargement.
+wao.ui.import.activityCalendarLabel=des calendriers d'activité
+wao.ui.import.activityCalendarUserAccessesLabel=des accès utilisateurs aux calendriers d'activité
+wao.ui.import.boatDistrictLabel=des coordonnées des quartiers des navires
wao.ui.import.boatsLabel=des navires
wao.ui.import.description=Fichier %s %s \:
-wao.ui.import.fishingZoneLabel=des zones de p\u00eaches
+wao.ui.import.fishingZoneLabel=des zones de pêches
wao.ui.import.fullDescription=Import %s (format %s avec encodage UTF-8)
wao.ui.import.longTitle=Import/Export CSV (UTF-8)
-wao.ui.import.obsDebCodesLabel=des codes m\u00e9tiers ObsDeb
-wao.ui.import.samplingPlanLabel=du plan d'\u00e9chantillonnage
-wao.ui.import.terrestrialDivisionsLabel=du r\u00e9f\u00e9rentiel de stratification spatiale (ObsDeb)
+wao.ui.import.obsDebCodesLabel=des codes métiers ObsDeb
+wao.ui.import.samplingPlanLabel=du plan d'échantillonnage
+wao.ui.import.terrestrialDivisionsLabel=du référentiel de stratification spatiale (ObsDeb)
wao.ui.import.terrestrialLocationsLabel=des lieux terrestres
wao.ui.import.title=Import %s
wao.ui.indicator.andMore=%s et plus
wao.ui.indicator.bounds=Bornes
-wao.ui.indicator.coefficient=Pond\u00e9ration
+wao.ui.indicator.coefficient=Pondération
wao.ui.indicator.editions=Modifications
wao.ui.indicator.indicator=Indicateur
-wao.ui.indicator.legend=En jaune, la position actuelle de la soci\u00e9t\u00e9 selon cet indicateur.
+wao.ui.indicator.legend=En jaune, la position actuelle de la société selon cet indicateur.
wao.ui.indicator.levels=Niveaux
-wao.ui.indicator.useRightDecimalSymbol=Attention \u00e0 bien utiliser ',' et non '.' pour les d\u00e9cimales
+wao.ui.indicator.useRightDecimalSymbol=Attention à bien utiliser ',' et non '.' pour les décimales
wao.ui.indicators.coefficientsSum=Total coefficient
-wao.ui.indicators.title=Indicateurs qualit\u00e9s prestataires
+wao.ui.indicators.title=Indicateurs qualités prestataires
wao.ui.invalidLogin=Identifiant invalide
-wao.ui.layout.userDescription=Vous \u00eates %s de la soci\u00e9t\u00e9 %s (%s)
+wao.ui.layout.userDescription=Vous êtes %s de la société %s (%s)
wao.ui.message.chooseProfile=Choisissez dans la liste votre profil de connexion \:
-wao.ui.misc.METIER=M\u00c9TIER
-wao.ui.misc.N/A=non renseign\u00e9e
-wao.ui.misc.accepted=Accept\u00e9
-wao.ui.misc.advancedSearch=Recherche avanc\u00e9e
+wao.ui.misc.METIER=MÉTIER
+wao.ui.misc.N/A=non renseignée
+wao.ui.misc.accepted=Accepté
+wao.ui.misc.advancedSearch=Recherche avancée
wao.ui.misc.by=par
wao.ui.misc.changeOn=Modification du
wao.ui.misc.comment=Commentaire
-wao.ui.misc.commentAddedOn=Commentaire ajout\u00e9 le
+wao.ui.misc.commentAddedOn=Commentaire ajouté le
wao.ui.misc.comments=Commentaires
-wao.ui.misc.companies=Soci\u00e9t\u00e9s
-wao.ui.misc.createdOnF=Cr\u00e9\u00e9e le
-wao.ui.misc.creating=En cours de cr\u00e9ation
+wao.ui.misc.companies=Sociétés
+wao.ui.misc.createdOnF=Créée le
+wao.ui.misc.creating=En cours de création
wao.ui.misc.dayOfWeek=Jour
wao.ui.misc.export=Export
wao.ui.misc.export.longTitle=Export CSV
@@ -237,7 +237,7 @@
wao.ui.misc.logFile.description=Afficher le fichier de log de %s
wao.ui.misc.no=Non
wao.ui.misc.noComment=aucun commentaire
-wao.ui.misc.notValidated=Non valid\u00e9
+wao.ui.misc.notValidated=Non validé
wao.ui.misc.observationReport=Compte-rendu d'observation
wao.ui.misc.observations=Observations
wao.ui.misc.observer=Observateur
@@ -247,83 +247,83 @@
wao.ui.misc.other=Autre
wao.ui.misc.otherInfos=Autre information
wao.ui.misc.others=Autres
-wao.ui.misc.refused=R\u00e9fus\u00e9
+wao.ui.misc.refused=Réfusé
wao.ui.misc.since=depuis le
wao.ui.misc.total=Total
-wao.ui.misc.undefined=Non-d\u00e9fini
-wao.ui.misc.validated=Valid\u00e9
+wao.ui.misc.undefined=Non-défini
+wao.ui.misc.validated=Validé
wao.ui.misc.week=Semaine
-wao.ui.misc.year=Ann\u00e9e
+wao.ui.misc.year=Année
wao.ui.misc.yes=Oui
-wao.ui.nContactsFound=%s contacts trouv\u00e9s
+wao.ui.nContactsFound=%s contacts trouvés
wao.ui.news.content=Texte
wao.ui.news.title=Titre
wao.ui.page.Administration.title=Administration
wao.ui.page.Boats.title=Navires
wao.ui.page.Cartography.title=Cartographie
-wao.ui.page.ContactForm.mammalsInfo.disclaimer=Attention, toutes les informations saisies seront transmises \u00e0 des personnels ext\u00e9rieurs, soyez riguoureux dans la description de la capture accidentelle
+wao.ui.page.ContactForm.mammalsInfo.disclaimer=Attention, toutes les informations saisies seront transmises à des personnels extérieurs, soyez riguoureux dans la description de la capture accidentelle
wao.ui.page.ContactForm.title=Modification d'un contact
wao.ui.page.Contacts.title=Contacts
wao.ui.page.Index.title=Accueil
-wao.ui.page.SamplingPlan.title=Plan d'\u00e9chantillonnage
-wao.ui.page.Synthesis.title=Synth\u00e8se
+wao.ui.page.SamplingPlan.title=Plan d'échantillonnage
+wao.ui.page.Synthesis.title=Synthèse
wao.ui.page.UserProfileForm.title=Gestion du profil
-wao.ui.publishedByProgram=Publi\u00e9e par le programme
-wao.ui.publishedByYourCompany=Publi\u00e9e par la soci\u00e9t\u00e9
-wao.ui.sampleRow.creation=Cr\u00e9ation d'une ligne du plan d'\u00e9chantillonnage
+wao.ui.publishedByProgram=Publiée par le programme
+wao.ui.publishedByYourCompany=Publiée par la société
+wao.ui.sampleRow.creation=Création d'une ligne du plan d'échantillonnage
wao.ui.sampleRow.edition=Modification de la ligne %s
wao.ui.sampleRowLog.title=Historique de la ligne %s
wao.ui.samplingPlan.actions=Actions
-wao.ui.samplingPlan.actual=r\u00e9alis\u00e9
-wao.ui.samplingPlan.addSampleRow=Ajouter une ligne au plan d'\u00e9chantillonnage
-wao.ui.samplingPlan.averageTideTime=Dur\u00e9e moyenne d'une mar\u00e9e (J.)
-wao.ui.samplingPlan.effort=Effort d'observation en nombre de mar\u00e9es
-wao.ui.samplingPlan.estimated=estim\u00e9
-wao.ui.samplingPlan.expected=planifi\u00e9
-wao.ui.samplingPlan.export=Exporter le plan d'\u00e9chantillonnage du %s au %s
-wao.ui.samplingPlan.fieldWork.see=Voir le plan d'\u00e9chantillonnage de terrain
-wao.ui.samplingPlan.fieldWork.title=Plan d'\u00e9chantillonnage de terrain
+wao.ui.samplingPlan.actual=réalisé
+wao.ui.samplingPlan.addSampleRow=Ajouter une ligne au plan d'échantillonnage
+wao.ui.samplingPlan.averageTideTime=Durée moyenne d'une marée (J.)
+wao.ui.samplingPlan.effort=Effort d'observation en nombre de marées
+wao.ui.samplingPlan.estimated=estimé
+wao.ui.samplingPlan.expected=planifié
+wao.ui.samplingPlan.export=Exporter le plan d'échantillonnage du %s au %s
+wao.ui.samplingPlan.fieldWork.see=Voir le plan d'échantillonnage de terrain
+wao.ui.samplingPlan.fieldWork.title=Plan d'échantillonnage de terrain
wao.ui.samplingPlan.fishingZoneInfo=Zone autre(s) info(s)
wao.ui.samplingPlan.months=Mois
wao.ui.samplingPlan.nbObservants=Nb. d'observateurs
-wao.ui.samplingPlan.phoneCall.see=Voir le plan d'\u00e9chantillonnage t\u00e9l\u00e9phonique
-wao.ui.samplingPlan.phoneCall.title=Plan d'\u00e9chantillonnage t\u00e9l\u00e9phonique
-wao.ui.samplingPlan.program=Programme ou r\u00e8glement rattachement
-wao.ui.samplingPlan.sampledProfessions=M\u00e9tiers \u00e9chantillonn\u00e9s
-wao.ui.samplingPlan.showActual=Afficher l'effort d'observations r\u00e9alis\u00e9 pour les contacts valid\u00e9s seulement
-wao.ui.samplingPlan.showExpected=Afficher l'effort d'observations estim\u00e9 pour les contacts valid\u00e9s ou non par la soci\u00e9t\u00e9
-wao.ui.samplingPlan.title=Plan d'\u00e9chantillonnage
-wao.ui.synthesis.allegroReactivity.description=Ce r\u00e9sultat est une moyenne du nombre de jours entre la date de saisie des donn\u00e9es et la date de fin d'observation.
-wao.ui.synthesis.allegroReactivity.title=R\u00e9activit\u00e9 quant \u00e0 la saisie des donn\u00e9es
+wao.ui.samplingPlan.phoneCall.see=Voir le plan d'échantillonnage téléphonique
+wao.ui.samplingPlan.phoneCall.title=Plan d'échantillonnage téléphonique
+wao.ui.samplingPlan.program=Programme ou règlement rattachement
+wao.ui.samplingPlan.sampledProfessions=Métiers échantillonnés
+wao.ui.samplingPlan.showActual=Afficher l'effort d'observations réalisé pour les contacts validés seulement
+wao.ui.samplingPlan.showExpected=Afficher l'effort d'observations estimé pour les contacts validés ou non par la société
+wao.ui.samplingPlan.title=Plan d'échantillonnage
+wao.ui.synthesis.allegroReactivity.description=Ce résultat est une moyenne du nombre de jours entre la date de saisie des données et la date de fin d'observation.
+wao.ui.synthesis.allegroReactivity.title=Réactivité quant à la saisie des données
wao.ui.synthesis.boarding.boardingCount=Au total, %s observations invalides sur %s observations.
-wao.ui.synthesis.boarding.description=Ces r\u00e9sultats ne concernent que les lignes du plan d'\u00e9chantillonnage ayant une dur\u00e9e moyenne de mar\u00e9es inf\u00e9rieure ou \u00e9gale \u00e0 48h.
-wao.ui.synthesis.boarding.mostUsedBoat=Navire le plus sollicit\u00e9 avec %s observations (tous programmes confondus) \: %s (%s)
+wao.ui.synthesis.boarding.description=Ces résultats ne concernent que les lignes du plan d'échantillonnage ayant une durée moyenne de marées inférieure ou égale à 48h.
+wao.ui.synthesis.boarding.mostUsedBoat=Navire le plus sollicité avec %s observations (tous programmes confondus) \: %s (%s)
wao.ui.synthesis.boarding.title=Sollicitations des navires
-wao.ui.synthesis.complianceBoarding.description=Respect du nombre pr\u00e9vu d'observateurs pour chaque mar\u00e9e r\u00e9alis\u00e9e.
-wao.ui.synthesis.complianceBoarding.title=Respect du nombre d'observateurs embarqu\u00e9s
-wao.ui.synthesis.contactsStates.description=Ces r\u00e9sultats concernent l'ensemble des \u00e9tats des contacts except\u00e9 ceux qui ont \u00e9t\u00e9 refus\u00e9s par le programme.
-wao.ui.synthesis.contactsStates.title=\u00c9tats des contacts
-wao.ui.synthesis.dataReliability.description=Pourcentage du nombre de mar\u00e9es exploitables par rapport nombre de mar\u00e9e r\u00e9alis\u00e9es.
-wao.ui.synthesis.dataReliability.title=Qualit\u00e9 de la donn\u00e9e
-wao.ui.synthesis.dataSampling.title=Donn\u00e9es des mar\u00e9es (r\u00e9alis\u00e9 / planifi\u00e9)
+wao.ui.synthesis.complianceBoarding.description=Respect du nombre prévu d'observateurs pour chaque marée réalisée.
+wao.ui.synthesis.complianceBoarding.title=Respect du nombre d'observateurs embarqués
+wao.ui.synthesis.contactsStates.description=Ces résultats concernent l'ensemble des états des contacts excepté ceux qui ont été refusés par le programme.
+wao.ui.synthesis.contactsStates.title=États des contacts
+wao.ui.synthesis.dataReliability.description=Pourcentage du nombre de marées exploitables par rapport nombre de marée réalisées.
+wao.ui.synthesis.dataReliability.title=Qualité de la donnée
+wao.ui.synthesis.dataSampling.title=Données des marées (réalisé / planifié)
wao.ui.synthesis.distinctBoatsCounts.axisName=Nombre de navires distincts
-wao.ui.synthesis.distinctBoatsCounts.categoryName=Mois de l'ann\u00e9e
-wao.ui.synthesis.distinctBoatsCounts.description=Nombre de navires distincts observ\u00e9s selon le mois de l'ann\u00e9e
-wao.ui.synthesis.distinctBoatsCounts.title=Nombre de navires observ\u00e9s
-wao.ui.synthesis.globalSynthesis.globalResult=Bilan de la synth\u00e8se global
-wao.ui.synthesis.globalSynthesis.title=Synth\u00e8se globale
-wao.ui.synthesis.globalSynthesis.title.estimated=Synth\u00e8se globale (selon estimations)
-wao.ui.synthesis.log.description=Cette page pr\u00e9sente toutes les modifications effectu\u00e9es depuis l'origine qui portent sur les bornes de chaque niveaux ainsi que les coefficients de chaque indicateurs.
-wao.ui.synthesis.log.empty=Aucune modification n'a \u00e9t\u00e9 apport\u00e9e \u00e0 ce jour
+wao.ui.synthesis.distinctBoatsCounts.categoryName=Mois de l'année
+wao.ui.synthesis.distinctBoatsCounts.description=Nombre de navires distincts observés selon le mois de l'année
+wao.ui.synthesis.distinctBoatsCounts.title=Nombre de navires observés
+wao.ui.synthesis.globalSynthesis.globalResult=Bilan de la synthèse global
+wao.ui.synthesis.globalSynthesis.title=Synthèse globale
+wao.ui.synthesis.globalSynthesis.title.estimated=Synthèse globale (selon estimations)
+wao.ui.synthesis.log.description=Cette page présente toutes les modifications effectuées depuis l'origine qui portent sur les bornes de chaque niveaux ainsi que les coefficients de chaque indicateurs.
+wao.ui.synthesis.log.empty=Aucune modification n'a été apportée à ce jour
wao.ui.synthesis.log.entry.author=Auteur de la modification
-wao.ui.synthesis.log.entry.comment=Commentaire associ\u00e9
+wao.ui.synthesis.log.entry.comment=Commentaire associé
wao.ui.synthesis.log.entry.date=Date de la modification
-wao.ui.synthesis.log.entry.summary=Modifications effectu\u00e9es
-wao.ui.synthesis.log.title=Historique des modifications des param\u00e8tres de la synth\u00e8se globale
+wao.ui.synthesis.log.entry.summary=Modifications effectuées
+wao.ui.synthesis.log.title=Historique des modifications des paramètres de la synthèse globale
wao.ui.synthesis.observationHours.axisName=Nombre d'observations
-wao.ui.synthesis.observationHours.categoryName=Heures de la journ\u00e9e
-wao.ui.synthesis.observationHours.description=Nombre d'observations effectu\u00e9e selon l'heure d'arriv\u00e9e
-wao.ui.synthesis.observationHours.title=Distribution des p\u00e9riodes d'observation
-wao.ui.unavailableOperation=Op\u00e9ration non-disponible
+wao.ui.synthesis.observationHours.categoryName=Heures de la journée
+wao.ui.synthesis.observationHours.description=Nombre d'observations effectuée selon l'heure d'arrivée
+wao.ui.synthesis.observationHours.title=Distribution des périodes d'observation
+wao.ui.unavailableOperation=Opération non-disponible
wao.ui.userList=Liste des utilisateurs
wao.ui.validLogin=Identifiant valide
1
0
[Suiviobsmer-commits] r1303 - trunk/wao-business/src/main/java/fr/ifremer/wao
by bleny@users.labs.libre-entreprise.org 30 May '11
by bleny@users.labs.libre-entreprise.org 30 May '11
30 May '11
Author: bleny
Date: 2011-05-30 09:07:51 +0000 (Mon, 30 May 2011)
New Revision: 1303
Log:
fix bad SQL syntax in migration
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2011-05-30 09:07:27 UTC (rev 1302)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2011-05-30 09:07:51 UTC (rev 1303)
@@ -926,7 +926,7 @@
"commune TEXT," +
"sector TEXT," +
"lengthGroup TEXT," +
- "staffSizeGroup TEXT," +
+ "staffSizeGroup TEXT" +
");");
queries.add("ALTER TABLE Boat ADD boatGroup CHARACTER VARYING(255);");
queries.add("ALTER TABLE Boat ADD CONSTRAINT boatGroup_fkey FOREIGN KEY (boatGroup) REFERENCES BoatGroup(topiaId);");
1
0
[Suiviobsmer-commits] r1302 - trunk/wao-ui/src/main/webapp
by bleny@users.labs.libre-entreprise.org 30 May '11
by bleny@users.labs.libre-entreprise.org 30 May '11
30 May '11
Author: bleny
Date: 2011-05-30 09:07:27 +0000 (Mon, 30 May 2011)
New Revision: 1302
Log:
mistyping
Modified:
trunk/wao-ui/src/main/webapp/Boats.tml
Modified: trunk/wao-ui/src/main/webapp/Boats.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/Boats.tml 2011-05-30 09:07:03 UTC (rev 1301)
+++ trunk/wao-ui/src/main/webapp/Boats.tml 2011-05-30 09:07:27 UTC (rev 1302)
@@ -275,7 +275,7 @@
</p>
</t:if>
<t:if t:test="boatInfos.boat.boatGroup">
- <p>x
+ <p>
<label>${message:wao.ui.field.Boat.boatGroup} : </label>
${boatInfos.boat.boatGroup.description}
</p>
1
0
[Suiviobsmer-commits] r1301 - trunk/wao-business/src/main/java/fr/ifremer/wao/service
by bleny@users.labs.libre-entreprise.org 30 May '11
by bleny@users.labs.libre-entreprise.org 30 May '11
30 May '11
Author: bleny
Date: 2011-05-30 09:07:03 +0000 (Mon, 30 May 2011)
New Revision: 1301
Log:
more help to user when creating contact for ObsDeb
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-05-27 13:29:43 UTC (rev 1300)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-05-30 09:07:03 UTC (rev 1301)
@@ -465,8 +465,11 @@
} else if (obsProgram == ObsProgram.OBSVENTE) {
newContact.setContactState(ContactState.OBSERVATION_EXPECTED);
} else {
- newContact.setContactState(ContactState.OBSERVATION_DONE);
- newContact.setObservationType(row.getObservationType());
+ if (row.isPhoneCall()) {
+ newContact.setContactState(ContactState.CONTACT_START);
+ } else if (row.isFieldWorkObservation()) {
+ newContact.setContactState(ContactState.OBSERVATION_DONE);
+ }
}
ContactDAO dao = WaoDAOHelper.getContactDAO(transaction);
@@ -490,6 +493,7 @@
// coordinator tells who are the observers. We can hope that the observers
// who was on the observation are the one expected
if (newContact.getObsProgram() == ObsProgram.OBSDEB) {
+ newContact.setObservationType(row.getObservationType());
newContact.setObservationBeginDate(row.getExpectedDate());
newContact.setObservationEndDate(row.getExpectedDate());
newContact.setLandingDate(row.getExpectedDate());
@@ -499,6 +503,19 @@
newContact.setSecondaryObservers(expectedObservers);
newContact.removeSecondaryObservers(newContact.getMainObserver());
}
+
+ if (row.isFieldWorkObservation()) {
+ // on the field work, the observer went in the observation unit
+ // given in the row. If this unit contains only one port, we
+ // can suppose he went in this one
+ ServiceReferential serviceReferential =
+ context.getServiceFactory().getServiceReferential();
+ List<TerrestrialLocation> allPorts =
+ serviceReferential.getAllPorts(row.getObservationUnit());
+ if (allPorts.size() == 1) {
+ newContact.setTerrestrialLocation(allPorts.get(0));
+ }
+ }
}
if (newContact.getObsProgram() == ObsProgram.OBSVENTE) {
1
0
[Suiviobsmer-commits] r1300 - in trunk/wao-business/src: main/java/fr/ifremer/wao main/java/fr/ifremer/wao/entity main/java/fr/ifremer/wao/io/csv2 main/java/fr/ifremer/wao/io/csv2/models main/java/fr/ifremer/wao/io/csv2/models/operations main/xmi test/resources/import
by bleny@users.labs.libre-entreprise.org 27 May '11
by bleny@users.labs.libre-entreprise.org 27 May '11
27 May '11
Author: bleny
Date: 2011-05-27 13:29:43 +0000 (Fri, 27 May 2011)
New Revision: 1300
Log:
add fields for boats for ObsDeb
Added:
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/BoatImmatriculationParserFormatter.java
Modified:
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/entity/BoatGroupImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Common.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatImportExportModel.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/BoatParserFormatter.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/CompanyParserFormatter.java
trunk/wao-business/src/main/xmi/wao.zargo
trunk/wao-business/src/test/resources/import/navires.csv
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2011-05-27 08:37:12 UTC (rev 1299)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2011-05-27 13:29:43 UTC (rev 1300)
@@ -898,6 +898,11 @@
}
@Override
+ protected void addStaffSizeToBoats_3_0(List<String> queries) {
+ queries.add("ALTER TABLE Boat ADD staffSize DOUBLE PRECISION;");
+ }
+
+ @Override
protected void addFleetToBoats_3_0(List<String> queries) {
queries.add("CREATE TABLE Fleet (" +
"topiaId CHARACTER VARYING(255) PRIMARY KEY," +
@@ -918,7 +923,11 @@
"topiaVersion BIGINT NOT NULL," +
"topiaCreateDate TIMESTAMP WITHOUT TIME ZONE NOT NULL," +
"code CHARACTER VARYING(255)," +
- "name TEXT);");
+ "commune TEXT," +
+ "sector TEXT," +
+ "lengthGroup TEXT," +
+ "staffSizeGroup TEXT," +
+ ");");
queries.add("ALTER TABLE Boat ADD boatGroup CHARACTER VARYING(255);");
queries.add("ALTER TABLE Boat ADD CONSTRAINT boatGroup_fkey FOREIGN KEY (boatGroup) REFERENCES BoatGroup(topiaId);");
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2011-05-27 08:37:12 UTC (rev 1299)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2011-05-27 13:29:43 UTC (rev 1300)
@@ -145,6 +145,8 @@
protected abstract void addObsDebToSampleRows_3_0(List<String> queries);
+ protected abstract void addStaffSizeToBoats_3_0(List<String> queries);
+
protected abstract void addPortOfRegistryToBoats_3_0(List<String> queries);
protected abstract void addFleetToBoats_3_0(List<String> queries);
@@ -519,6 +521,8 @@
addObsDebToSampleRows_3_0(queries);
+ addStaffSizeToBoats_3_0(queries);
+
addPortOfRegistryToBoats_3_0(queries);
addBoatGroupToBoats_3_0(queries);
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatGroupImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatGroupImpl.java 2011-05-27 08:37:12 UTC (rev 1299)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatGroupImpl.java 2011-05-27 13:29:43 UTC (rev 1300)
@@ -4,7 +4,8 @@
@Override
public String getDescription() {
- return getCode() + " - " + getName();
+ return getCode() + " - " + getCommune() + " - " + getSector() + " - "
+ + getStaffSizeGroup() + "-" + getLengthGroup();
}
@Override
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Common.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Common.java 2011-05-27 08:37:12 UTC (rev 1299)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Common.java 2011-05-27 13:29:43 UTC (rev 1300)
@@ -258,4 +258,26 @@
}
public static ValueParserFormatter<Integer> INTEGER = new IntegerParserFormatter();
+
+ public static class DoubleParserFormatter implements ValueParserFormatter<Double> {
+ @Override
+ public String format(Double value) {
+ String str = "";
+ if (value != null) {
+ str = String.valueOf(value);
+ }
+ return str;
+ }
+
+ @Override
+ public Double parse(String value) throws ParseException {
+ Double doubleValue = null;
+ if (StringUtils.isNotBlank(value)) {
+ doubleValue = Double.valueOf(value);
+ }
+ return doubleValue;
+ }
+ }
+
+ public static ValueParserFormatter<Double> DOUBLE = new DoubleParserFormatter();
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatImportExportModel.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatImportExportModel.java 2011-05-27 08:37:12 UTC (rev 1299)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatImportExportModel.java 2011-05-27 13:29:43 UTC (rev 1300)
@@ -1,10 +1,9 @@
package fr.ifremer.wao.io.csv2.models;
-import fr.ifremer.wao.WaoUtils;
import fr.ifremer.wao.entity.Boat;
import fr.ifremer.wao.entity.BoatDistrictImpl;
+import fr.ifremer.wao.entity.BoatGroupImpl;
import fr.ifremer.wao.entity.BoatImpl;
-import fr.ifremer.wao.entity.BoatGroupImpl;
import fr.ifremer.wao.entity.FleetImpl;
import fr.ifremer.wao.entity.ShipOwnerImpl;
import fr.ifremer.wao.entity.TerrestrialLocation;
@@ -14,15 +13,12 @@
import fr.ifremer.wao.io.csv2.ImportableColumn;
import fr.ifremer.wao.io.csv2.ModelBuilder;
import fr.ifremer.wao.io.csv2.ValueGetterSetter;
-import fr.ifremer.wao.io.csv2.ValueParserFormatter;
+import fr.ifremer.wao.io.csv2.models.operations.BoatImmatriculationParserFormatter;
import fr.ifremer.wao.io.csv2.models.operations.PortParserFormatter;
import org.apache.commons.lang.StringUtils;
-import java.text.ParseException;
import java.util.Collection;
import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
/**
*
@@ -47,29 +43,30 @@
protected void buildModel() {
modelBuilder = new ModelBuilder<Boat>();
- modelBuilder.newColumnForImportExport("NAVIRE_IMMATRICULATION", Boat.PROPERTY_IMMATRICULATION, new ValueParserFormatter<Integer>() {
- Pattern pattern = Pattern.compile("\\d{6}");
+ modelBuilder.newColumnForImportExport(
+ "NAVIRE_IMMATRICULATION",
+ Boat.PROPERTY_IMMATRICULATION,
+ new BoatImmatriculationParserFormatter());
+ modelBuilder.newColumnForImportExport(
+ "NAVIRE_NOM",
+ Boat.PROPERTY_NAME);
+ modelBuilder.newColumnForImportExport(
+ "NAVIRE_LONGUEUR",
+ Boat.PROPERTY_BOAT_LENGTH,
+ Common.INTEGER);
+ modelBuilder.newColumnForImportExport(
+ "NAVIRE_ANNEE",
+ Boat.PROPERTY_BUILD_YEAR,
+ Common.INTEGER);
+ modelBuilder.newColumnForImportExport(
+ "NAVIRE_ACTIF",
+ Boat.PROPERTY_ACTIVE,
+ Common.BOOLEAN);
+ modelBuilder.newColumnForImportExport(
+ "NAVIRE_EFFECTIF",
+ Boat.PROPERTY_STAFF_SIZE,
+ Common.DOUBLE);
- @Override
- public String format(Integer immatriculation) {
- return String.valueOf(immatriculation);
- }
-
- @Override
- public Integer parse(String imma) throws ParseException {
- Matcher matcher = pattern.matcher(imma);
- if (!matcher.find()) {
- throw new IllegalArgumentException(WaoUtils._("wao.business.boat.validation.immatriculation.wrongFormat"));
- }
- Integer immatriculation = Integer.parseInt(imma);
- return immatriculation;
- }
- });
- modelBuilder.newColumnForImportExport("NAVIRE_NOM", Boat.PROPERTY_NAME);
- modelBuilder.newColumnForImportExport("NAVIRE_LONGUEUR", Boat.PROPERTY_BOAT_LENGTH, Common.INTEGER);
- modelBuilder.newColumnForImportExport("NAVIRE_ANNEE", Boat.PROPERTY_BUILD_YEAR, Common.INTEGER);
- modelBuilder.newColumnForImportExport("NAVIRE_ACTIF", Boat.PROPERTY_ACTIVE, Common.BOOLEAN);
-
// ship owner
modelBuilder.newColumnForImportExport("ARMATEUR_CODE", new ValueGetterSetter<Boat, String>() {
@Override
@@ -222,6 +219,75 @@
}
});
+ modelBuilder.newColumnForImportExport(
+ "STRATE_CLASSE_LONGUEUR",
+ new ValueGetterSetter<Boat, String>() {
+ @Override
+ public String get(Boat boat) throws Exception {
+ String value = "";
+ if (boat.getBoatGroup() != null) {
+ value = boat.getBoatGroup().getLengthGroup();
+ }
+ return value;
+ }
+
+ @Override
+ public void set(Boat boat, String value) throws Exception {
+ boat.getBoatGroup().setLengthGroup(value);
+ }
+ });
+ modelBuilder.newColumnForImportExport(
+ "STRATE_CLASSE_EFFECTIF",
+ new ValueGetterSetter<Boat, String>() {
+ @Override
+ public String get(Boat boat) throws Exception {
+ String value = "";
+ if (boat.getBoatGroup() != null) {
+ value = boat.getBoatGroup().getStaffSizeGroup();
+ }
+ return value;
+ }
+
+ @Override
+ public void set(Boat boat, String value) throws Exception {
+ boat.getBoatGroup().setStaffSizeGroup(value);
+ }
+ });
+ modelBuilder.newColumnForImportExport(
+ "STRATE_COMMUNE",
+ new ValueGetterSetter<Boat, String>() {
+ @Override
+ public String get(Boat boat) throws Exception {
+ String value = "";
+ if (boat.getBoatGroup() != null) {
+ value = boat.getBoatGroup().getCommune();
+ }
+ return value;
+ }
+
+ @Override
+ public void set(Boat boat, String value) throws Exception {
+ boat.getBoatGroup().setCommune(value);
+ }
+ });
+ modelBuilder.newColumnForImportExport(
+ "STRATE_SECTEUR_GEOGRAPHIQUE",
+ new ValueGetterSetter<Boat, String>() {
+ @Override
+ public String get(Boat boat) throws Exception {
+ String value = "";
+ if (boat.getBoatGroup() != null) {
+ value = boat.getBoatGroup().getSector();
+ }
+ return value;
+ }
+
+ @Override
+ public void set(Boat boat, String value) throws Exception {
+ boat.getBoatGroup().setSector(value);
+ }
+ });
+
}
@Override
@@ -259,4 +325,5 @@
}
return modelBuilder.getColumnsForExport();
}
+
}
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/BoatImmatriculationParserFormatter.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/BoatImmatriculationParserFormatter.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/BoatImmatriculationParserFormatter.java 2011-05-27 13:29:43 UTC (rev 1300)
@@ -0,0 +1,45 @@
+package fr.ifremer.wao.io.csv2.models.operations;
+
+import fr.ifremer.wao.WaoUtils;
+import fr.ifremer.wao.io.csv2.ValueParserFormatter;
+
+import java.text.ParseException;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/** Used to parse and format boat immatriculation.
+ * The parser is in charge of validating the 6-digits form of imported
+ * lines.
+ *
+ * This parser/formatter should be used when importing/exporting information
+ * on boats.
+ *
+ * For finding boats associated with an entity when importing contact, see
+ * {@link BoatParserFormatter}
+ */
+public class BoatImmatriculationParserFormatter implements ValueParserFormatter<Integer> {
+
+ /** Exactly 6 digits */
+ Pattern pattern = Pattern.compile("\\d{6}");
+
+ @Override
+ public String format(Integer immatriculation) {
+ return String.valueOf(immatriculation);
+ }
+
+ /** Parse immatriculation and validate its pattern
+ * @param imma immatriculation read in file
+ * @return the immatriculation if it has the good format
+ * @throws IllegalArgumentException if immatriculation does not follow
+ * expected pattern
+ */
+ @Override
+ public Integer parse(String imma) throws ParseException {
+ Matcher matcher = pattern.matcher(imma);
+ if (!matcher.find()) {
+ throw new IllegalArgumentException(WaoUtils._("wao.business.boat.validation.immatriculation.wrongFormat"));
+ }
+ Integer immatriculation = Integer.parseInt(imma);
+ return immatriculation;
+ }
+}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/BoatParserFormatter.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/BoatParserFormatter.java 2011-05-27 08:37:12 UTC (rev 1299)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/BoatParserFormatter.java 2011-05-27 13:29:43 UTC (rev 1300)
@@ -8,13 +8,7 @@
import java.util.List;
import java.util.Map;
-/**
-* Created by IntelliJ IDEA.
-* User: brendan
-* Date: 13/05/11
-* Time: 11:10
-* To change this template use File | Settings | File Templates.
-*/
+/** Parse a boat (identification based on the immatriculation) */
public class BoatParserFormatter implements ValueParserFormatter<Boat> {
protected Map<Integer, Boat> indexedBoats;
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/CompanyParserFormatter.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/CompanyParserFormatter.java 2011-05-27 08:37:12 UTC (rev 1299)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/CompanyParserFormatter.java 2011-05-27 13:29:43 UTC (rev 1300)
@@ -9,13 +9,7 @@
import java.util.List;
import java.util.Map;
-/**
-* Created by IntelliJ IDEA.
-* User: brendan
-* Date: 13/05/11
-* Time: 10:53
-* To change this template use File | Settings | File Templates.
-*/
+/** Parse a company according to it's name. */
public class CompanyParserFormatter implements ValueParserFormatter<Company> {
protected List<Company> companies;
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Modified: trunk/wao-business/src/test/resources/import/navires.csv
===================================================================
--- trunk/wao-business/src/test/resources/import/navires.csv 2011-05-27 08:37:12 UTC (rev 1299)
+++ trunk/wao-business/src/test/resources/import/navires.csv 2011-05-27 13:29:43 UTC (rev 1300)
@@ -1,7 +1,7 @@
-NAVIRE_IMMATRICULATION;NAVIRE_NOM;NAVIRE_LONGUEUR;NAVIRE_ANNEE;QUARTIER_CODE;ARMATEUR_CODE;ARMATEUR_NOM;ARMATEUR_PRENOM;NAVIRE_ACTIF;PORT_CODE;FLOTILLE_CODE;FLOTILLE_NOM;SOUS_FLOTILLE_NOM;SOUS_SOUS_FLOTILLE_NOM;STRATE_CODE
-273129;MOISE;7;1992;UX;19771564;BEURRE ;JEAN CLAUDE;Y;MP3;FLOTILLE1;Ma première flotille;A;A;STRATE1
-174258;SAMOURAI KING;9;1982;UN;19744130;MARIE ;JEAN PHILIPPE;Y;MP6;FLOTILLE1;Ma première flotille;A;A;STRATE1
-177474;MAYFLOWERS;10;1983;UN;19784252;MOSELLE ;ALAIN RENE;N;XSN;FLOTILLE0;Les colons;A;A;STRATE0
-174592;FIFITOU;8;1975;UN;18854131;POUTRE ;JEAN PIERRE;Y;XSN;FLOTILLE1;Ma première flotille;A;A;STRATE1
-284595;A MA LOUTRE;8;1973;UN; SPR3965;BECANAUD; NA;Y;LP3;FLOTILLE2;Petits navires;A;A;STRATE2
-978419;BISOUNOURS;11;2002;CI;18854131;POUTRE ;JEAN PIERRE;Y;MP6;FLOTILLE2;Petits navires;A;A;STRATE2
+"NAVIRE_IMMATRICULATION";"NAVIRE_NOM";"NAVIRE_LONGUEUR";"NAVIRE_ANNEE";"NAVIRE_EFFECTIF";"QUARTIER_CODE";"ARMATEUR_CODE";"ARMATEUR_NOM";"ARMATEUR_PRENOM";"NAVIRE_ACTIF";"PORT_CODE";"FLOTILLE_CODE";"FLOTILLE_NOM";"SOUS_FLOTILLE_NOM";"SOUS_SOUS_FLOTILLE_NOM";"STRATE_CODE";"STRATE_CLASSE_LONGUEUR";"STRATE_CLASSE_EFFECTIF";"STRATE_COMMUNE";"STRATE_SECTEUR_GEOGRAPHIQUE"
+273129;"MOISE";7;1992;3;"UX";19771564;"BEURRE ";"JEAN CLAUDE";"Y";"MP3";"FLOTILLE0";"Les colons";"Les colons";"Les colons";"STRATE1";"<10 mètres";"< 5 marins";"Ici";"Les bermudes"
+174258;"SAMOURAI KING";9;1982;3;"UN";19744130;"MARIE";"JEAN PHILIPPE";"Y";"MP6";"FLOTILLE1";"Ma première flotille";"Ma première flotille";"Ma première flotille";"STRATE1";"<10 mètres";"< 5 marins";"Ailleurs";"Les bermudes"
+177474;"MAYFLOWERS";10;1983;3;"UN";19784252;"MOSELLE";"ALAIN RENE";"N";"XSN";"FLOTILLE0";"Les colons";"Les colons";"Les colons";"STRATE0";">= 10 mètres";"< 5 marins";"Autre-part";"Les bermudes"
+174592;"FIFITOU";8;1975;7;"UN";18854131;"POUTRE";"JEAN PIERRE";"Y";"XSN";"FLOTILLE1";"Ma première flotille";"Ma première flotille";"Ma première flotille";"STRATE1";"<10 mètres";">= 5 marins";"Loin";"Les bermudes"
+284595;"A MA LOUTRE";8;1973;9;"UN";"SPR3965";"BECANAUD";"NA";"Y";"LP3";"FLOTILLE1";"Ma première flotille";"Ma première flotille";"Ma première flotille";"STRATE2";"<10 mètres";">= 5 marins";"Pas si loin";"Les bermudes"
+978419;"BISOUNOURS";11;2002;8;"CI";18854131;"POUTRE ";"JEAN PIERRE";"Y";"MP6";;;;;;;;;
1
0
Author: bleny
Date: 2011-05-27 08:37:12 +0000 (Fri, 27 May 2011)
New Revision: 1299
Log:
update to nuiton web 1.1
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-05-26 10:07:55 UTC (rev 1298)
+++ trunk/pom.xml 2011-05-27 08:37:12 UTC (rev 1299)
@@ -332,7 +332,7 @@
<!-- libraries version -->
<nuitonI18nVersion>2.4</nuitonI18nVersion>
<nuitonUtilsVersion>2.2</nuitonUtilsVersion>
- <nuitonWebVersion>1.0</nuitonWebVersion>
+ <nuitonWebVersion>1.1</nuitonWebVersion>
<topiaVersion>2.5.4</topiaVersion>
<eugeneVersion>2.3.4</eugeneVersion>
<tapestryVersion>5.2.5</tapestryVersion>
1
0
[Suiviobsmer-commits] r1298 - in trunk: wao-business/src/main/java/fr/ifremer/wao wao-business/src/main/java/fr/ifremer/wao/bean wao-business/src/main/java/fr/ifremer/wao/entity wao-business/src/main/java/fr/ifremer/wao/io/csv2/models wao-business/src/main/java/fr/ifremer/wao/service wao-business/src/main/xmi wao-business/src/test/resources/import wao-ui/src/main/resources/fr/ifremer/wao/ui/components wao-ui/src/main/resources/i18n wao-ui/src/main/webapp
by bleny@users.labs.libre-entreprise.org 26 May '11
by bleny@users.labs.libre-entreprise.org 26 May '11
26 May '11
Author: bleny
Date: 2011-05-26 10:07:55 +0000 (Thu, 26 May 2011)
New Revision: 1298
Log:
add BoatGroup and Fleets in model, migration Boats page
Added:
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatGroupImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FleetImpl.java
Removed:
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FleetImpl.java
Modified:
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/bean/BoatFilterImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/BoatFilterValuesImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatImportExportModel.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
trunk/wao-business/src/main/xmi/wao.zargo
trunk/wao-business/src/test/resources/import/navires.csv
trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/BoatFilterComponent.tml
trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties
trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties
trunk/wao-ui/src/main/webapp/Boats.tml
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2011-05-25 10:00:32 UTC (rev 1297)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2011-05-26 10:07:55 UTC (rev 1298)
@@ -904,8 +904,22 @@
"topiaVersion BIGINT NOT NULL," +
"topiaCreateDate TIMESTAMP WITHOUT TIME ZONE NOT NULL," +
"code CHARACTER VARYING(255)," +
- "name TEXT);");
+ "fleetName CHARACTER VARYING(255)," +
+ "subFleetName CHARACTER VARYING(255)," +
+ "subSubFleetName CHARACTER VARYING(255));");
queries.add("ALTER TABLE Boat ADD fleet CHARACTER VARYING(255);");
queries.add("ALTER TABLE Boat ADD CONSTRAINT fleet_fkey FOREIGN KEY (fleet) REFERENCES Fleet(topiaId);");
}
+
+ @Override
+ protected void addBoatGroupToBoats_3_0(List<String> queries) {
+ queries.add("CREATE TABLE BoatGroup (" +
+ "topiaId CHARACTER VARYING(255) PRIMARY KEY," +
+ "topiaVersion BIGINT NOT NULL," +
+ "topiaCreateDate TIMESTAMP WITHOUT TIME ZONE NOT NULL," +
+ "code CHARACTER VARYING(255)," +
+ "name TEXT);");
+ queries.add("ALTER TABLE Boat ADD boatGroup CHARACTER VARYING(255);");
+ queries.add("ALTER TABLE Boat ADD CONSTRAINT boatGroup_fkey FOREIGN KEY (boatGroup) REFERENCES BoatGroup(topiaId);");
+ }
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2011-05-25 10:00:32 UTC (rev 1297)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2011-05-26 10:07:55 UTC (rev 1298)
@@ -149,6 +149,8 @@
protected abstract void addFleetToBoats_3_0(List<String> queries);
+ protected abstract void addBoatGroupToBoats_3_0(List<String> queries);
+
protected abstract void addObsDebCodes_3_0(List<String> queries);
protected static final Version[] VERSIONS = new Version[] {
@@ -519,6 +521,8 @@
addPortOfRegistryToBoats_3_0(queries);
+ addBoatGroupToBoats_3_0(queries);
+
addFleetToBoats_3_0(queries);
String[] strings = queries.toArray(new String[queries.size()]);
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2011-05-25 10:00:32 UTC (rev 1297)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2011-05-26 10:07:55 UTC (rev 1298)
@@ -25,17 +25,14 @@
import fr.ifremer.wao.bean.ContactState;
import fr.ifremer.wao.bean.DataReliability;
import fr.ifremer.wao.bean.ObsProgram;
-import fr.ifremer.wao.bean.ObservationType;
import fr.ifremer.wao.bean.SamplingFilter;
import fr.ifremer.wao.bean.UserFilter;
import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.entity.WaoUser;
-import net.fortuna.ical4j.model.Period;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
-import org.nuiton.topia.TopiaException;
import org.nuiton.topia.framework.TopiaQuery;
import org.nuiton.util.PeriodDates;
import org.slf4j.Logger;
@@ -447,6 +444,10 @@
query.addEquals(boatProperty.portOfRegistry(), filter.getPortOfRegistry());
}
+ if (filter.getBoatGroup() != null) {
+ query.addEquals(boatProperty.boatGroup(), filter.getBoatGroup());
+ }
+
if (filter.getFleet() != null) {
query.addEquals(boatProperty.fleet(), filter.getFleet());
}
@@ -527,9 +528,9 @@
// sample row, we want to get all the boats we can
// found in the same fleet as the boat associated to the
// sample row
- query.addEquals(boatProperty.fleet(),
+ query.addEquals(boatProperty.boatGroup(),
filter.getSampleRow().getBoat()
- .getFleet());
+ .getBoatGroup());
}
}
} else {
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/BoatFilterImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/BoatFilterImpl.java 2011-05-25 10:00:32 UTC (rev 1297)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/BoatFilterImpl.java 2011-05-26 10:07:55 UTC (rev 1298)
@@ -42,6 +42,6 @@
StringUtils.isNotEmpty(getShipOwnerName()) ||
getBoatImmatriculation() != null ||
getPortOfRegistry() != null ||
- getFleet() != null;
+ getBoatGroup() != null;
}
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/BoatFilterValuesImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/BoatFilterValuesImpl.java 2011-05-25 10:00:32 UTC (rev 1297)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/BoatFilterValuesImpl.java 2011-05-26 10:07:55 UTC (rev 1298)
@@ -24,12 +24,11 @@
package fr.ifremer.wao.bean;
import fr.ifremer.wao.entity.Boat;
-import fr.ifremer.wao.entity.Company;
+import fr.ifremer.wao.entity.BoatGroup;
import fr.ifremer.wao.entity.ElligibleBoat;
import fr.ifremer.wao.entity.Fleet;
import fr.ifremer.wao.entity.TerrestrialLocation;
-import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
@@ -39,39 +38,18 @@
public class BoatFilterValuesImpl extends BoatFilterValues {
@Override
- public void addPortsOfRegistry(TerrestrialLocation toAdd) {
- if (toAdd == null) {
- return;
- }
- if (getPortsOfRegistry() == null) {
- setPortsOfRegistry(new ArrayList<TerrestrialLocation>());
- }
- if (!containsPortsOfRegistry(toAdd)) {
- super.addPortsOfRegistry(toAdd);
- }
- }
-
- @Override
public List<TerrestrialLocation> getPortsOfRegistryAsList() {
return getAsList(getPortsOfRegistry());
}
@Override
- public void addFleets(Fleet toAdd) {
- if (toAdd == null) {
- return;
- }
- if (getFleets() == null) {
- setFleets(new ArrayList<Fleet>());
- }
- if (!containsFleets(toAdd)) {
- super.addFleets(toAdd);
- }
+ public List<Fleet> getFleetsAsList() {
+ return getAsList(getFleets());
}
@Override
- public List<Fleet> getFleetsAsList() {
- return getAsList(getFleets());
+ public List<BoatGroup> getBoatGroupsAsList() {
+ return getAsList(getBoatGroups());
}
@Override
@@ -79,6 +57,7 @@
super.clear();
setPortsOfRegistry(new HashSet<TerrestrialLocation>());
setFleets(new HashSet<Fleet>());
+ setBoatGroups(new HashSet<BoatGroup>());
}
@Override
@@ -86,6 +65,7 @@
super.removeNullValues();
getPortsOfRegistry().remove(null);
getFleets().remove(null);
+ getBoatGroups().remove(null);
}
@Override
@@ -99,6 +79,7 @@
}
addPortsOfRegistry(boat.getPortOfRegistry());
addFleets(boat.getFleet());
+ addBoatGroups(boat.getBoatGroup());
}
removeNullValues();
Copied: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatGroupImpl.java (from rev 1280, trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FleetImpl.java)
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatGroupImpl.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatGroupImpl.java 2011-05-26 10:07:55 UTC (rev 1298)
@@ -0,0 +1,14 @@
+package fr.ifremer.wao.entity;
+
+public class BoatGroupImpl extends BoatGroupAbstract {
+
+ @Override
+ public String getDescription() {
+ return getCode() + " - " + getName();
+ }
+
+ @Override
+ public String toString() {
+ return getDescription();
+ }
+}
Deleted: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FleetImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FleetImpl.java 2011-05-25 10:00:32 UTC (rev 1297)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FleetImpl.java 2011-05-26 10:07:55 UTC (rev 1298)
@@ -1,14 +0,0 @@
-package fr.ifremer.wao.entity;
-
-public class FleetImpl extends FleetAbstract {
-
- @Override
- public String getDescription() {
- return getCode() + " - " + getName();
- }
-
- @Override
- public String toString() {
- return getDescription();
- }
-}
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FleetImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FleetImpl.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FleetImpl.java 2011-05-26 10:07:55 UTC (rev 1298)
@@ -0,0 +1,13 @@
+package fr.ifremer.wao.entity;
+
+public class FleetImpl extends FleetAbstract {
+
+ @Override
+ public String getDescription() {
+ String description = String.format("%s - %s - %s",
+ getFleetName(),
+ getSubFleetName(),
+ getSubSubFleetName());
+ return description;
+ }
+}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatImportExportModel.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatImportExportModel.java 2011-05-25 10:00:32 UTC (rev 1297)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatImportExportModel.java 2011-05-26 10:07:55 UTC (rev 1298)
@@ -4,6 +4,7 @@
import fr.ifremer.wao.entity.Boat;
import fr.ifremer.wao.entity.BoatDistrictImpl;
import fr.ifremer.wao.entity.BoatImpl;
+import fr.ifremer.wao.entity.BoatGroupImpl;
import fr.ifremer.wao.entity.FleetImpl;
import fr.ifremer.wao.entity.ShipOwnerImpl;
import fr.ifremer.wao.entity.TerrestrialLocation;
@@ -15,6 +16,7 @@
import fr.ifremer.wao.io.csv2.ValueGetterSetter;
import fr.ifremer.wao.io.csv2.ValueParserFormatter;
import fr.ifremer.wao.io.csv2.models.operations.PortParserFormatter;
+import org.apache.commons.lang.StringUtils;
import java.text.ParseException;
import java.util.Collection;
@@ -34,13 +36,13 @@
/** Constructor for export */
public BoatImportExportModel() {
- buildModel();
}
- /** Constructor for import */
+ /** Constructor for import
+ * @param ports ports that can be used by boats as port of registry
+ */
public BoatImportExportModel(List<TerrestrialLocation> ports) {
this.ports = ports;
- buildModel();
}
protected void buildModel() {
@@ -122,29 +124,104 @@
new PortParserFormatter(ports, true));
// fleet
- modelBuilder.newColumnForImportExport("FLOTILLE_CODE", new ValueGetterSetter<Boat, String>() {
- @Override
- public String get(Boat boat) throws Exception {
- return boat.getFleet().getCode();
- }
+ modelBuilder.newColumnForImportExport(
+ "FLOTILLE_CODE",
+ new ValueGetterSetter<Boat, String>() {
+ @Override
+ public String get(Boat boat) throws Exception {
+ String fleetCode = "";
+ if (boat.getFleet() != null) {
+ fleetCode = boat.getFleet().getCode();
+ }
+ return fleetCode;
+ }
- @Override
- public void set(Boat boat, String code) throws Exception {
- boat.getFleet().setCode(code);
- }
- });
- modelBuilder.newColumnForImportExport("FLOTILLE_NOM", new ValueGetterSetter<Boat, String>() {
- @Override
- public String get(Boat boat) throws Exception {
- return boat.getFleet().getName();
- }
+ @Override
+ public void set(Boat boat, String code) throws Exception {
+ if (StringUtils.isNotBlank(code)) {
+ boat.getFleet().setCode(code);
+ }
+ }
+ });
- @Override
- public void set(Boat boat, String name) throws Exception {
- boat.getFleet().setName(name);
- }
- });
+ modelBuilder.newColumnForImportExport(
+ "FLOTILLE_NOM",
+ new ValueGetterSetter<Boat, String>() {
+ @Override
+ public String get(Boat boat) throws Exception {
+ String fleetName = "";
+ if (boat.getFleet() != null) {
+ fleetName = boat.getFleet().getFleetName();
+ }
+ return fleetName;
+ }
+ @Override
+ public void set(Boat boat, String name) throws Exception {
+ if (StringUtils.isNotBlank(name)) {
+ boat.getFleet().setFleetName(name);
+ }
+ }
+ });
+
+ modelBuilder.newColumnForImportExport(
+ "SOUS_FLOTILLE_NOM",
+ new ValueGetterSetter<Boat, String>() {
+ @Override
+ public String get(Boat boat) throws Exception {
+ String subFleetName = "";
+ if (boat.getFleet() != null) {
+ subFleetName = boat.getFleet().getSubFleetName();
+ }
+ return subFleetName;
+ }
+
+ @Override
+ public void set(Boat boat, String subFleetName) throws Exception {
+ boat.getFleet().setSubFleetName(subFleetName);
+ }
+ });
+
+ modelBuilder.newColumnForImportExport(
+ "SOUS_SOUS_FLOTILLE_NOM",
+ new ValueGetterSetter<Boat, String>() {
+ @Override
+ public String get(Boat boat) throws Exception {
+ String subSubFleetName = "";
+ if (boat.getFleet() != null) {
+ subSubFleetName =
+ boat.getFleet().getSubSubFleetName();
+ }
+ return subSubFleetName;
+ }
+
+ @Override
+ public void set(Boat boat, String subSubFleetName) throws Exception {
+ boat.getFleet().setSubSubFleetName(subSubFleetName);
+ }
+ });
+
+ // boat group
+ modelBuilder.newColumnForImportExport(
+ "STRATE_CODE",
+ new ValueGetterSetter<Boat, String>() {
+ @Override
+ public String get(Boat boat) throws Exception {
+ String boatGroupCode = "";
+ if (boat.getBoatGroup() != null) {
+ boatGroupCode = boat.getBoatGroup().getCode();
+ }
+ return boatGroupCode;
+ }
+
+ @Override
+ public void set(Boat boat, String code) throws Exception {
+ if (StringUtils.isNotBlank(code)) {
+ boat.getBoatGroup().setCode(code);
+ }
+ }
+ });
+
}
@Override
@@ -162,17 +239,24 @@
Boat emptyInstance = new BoatImpl();
emptyInstance.setShipOwner(new ShipOwnerImpl());
emptyInstance.setBoatDistrict(new BoatDistrictImpl());
+ emptyInstance.setBoatGroup(new BoatGroupImpl());
emptyInstance.setFleet(new FleetImpl());
return emptyInstance;
}
@Override
public Collection<ImportableColumn> getColumnsForImport() {
+ if (modelBuilder == null) {
+ buildModel();
+ }
return modelBuilder.getColumnsForImport();
}
@Override
public Collection<ExportableColumn> getColumnsForExport() {
+ if (modelBuilder == null) {
+ buildModel();
+ }
return modelBuilder.getColumnsForExport();
}
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2011-05-25 10:00:32 UTC (rev 1297)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2011-05-26 10:07:55 UTC (rev 1298)
@@ -51,6 +51,8 @@
import fr.ifremer.wao.entity.BoatDAO;
import fr.ifremer.wao.entity.BoatDistrict;
import fr.ifremer.wao.entity.BoatDistrictDAO;
+import fr.ifremer.wao.entity.BoatGroup;
+import fr.ifremer.wao.entity.BoatGroupDAO;
import fr.ifremer.wao.entity.BoatInfos;
import fr.ifremer.wao.entity.BoatInfosDAO;
import fr.ifremer.wao.entity.BoatInfosImpl;
@@ -141,6 +143,7 @@
query.addFetch( // boatProperty.activityCalendar(),
boatProperty.portOfRegistry(),
+ boatProperty.boatGroup(),
boatProperty.fleet(),
boatProperty.boatDistrict());
@@ -430,12 +433,26 @@
BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction);
ShipOwnerDAO shipOwnerDAO = WaoDAOHelper.getShipOwnerDAO(transaction);
BoatDistrictDAO boatDistrictDAO = WaoDAOHelper.getBoatDistrictDAO(transaction);
+ BoatGroupDAO boatGroupDAO = WaoDAOHelper.getBoatGroupDAO(transaction);
FleetDAO fleetDAO = WaoDAOHelper.getFleetDAO(transaction);
// load data that will be linked to the boat
- Map<String, ShipOwner> shipOwners = WaoUtils.projectPropertyUnique(shipOwnerDAO.findAll(), ShipOwner.PROPERTY_CODE);
- Map<String, BoatDistrict> districts = WaoUtils.projectPropertyUnique(boatDistrictDAO.findAll(), BoatDistrict.PROPERTY_CODE);
- Map<String, Fleet> fleets = WaoUtils.projectPropertyUnique(fleetDAO.findAll(), Fleet.PROPERTY_CODE);
+ Map<String, ShipOwner> shipOwners =
+ WaoUtils.projectPropertyUnique(
+ shipOwnerDAO.findAll(),
+ ShipOwner.PROPERTY_CODE);
+ Map<String, BoatDistrict> districts =
+ WaoUtils.projectPropertyUnique(
+ boatDistrictDAO.findAll(),
+ BoatDistrict.PROPERTY_CODE);
+ Map<String, Fleet> fleets =
+ WaoUtils.projectPropertyUnique(
+ fleetDAO.findAll(),
+ Fleet.PROPERTY_CODE);
+ Map<String, BoatGroup> boatGroups =
+ WaoUtils.projectPropertyUnique(
+ boatGroupDAO.findAll(),
+ BoatGroup.PROPERTY_CODE);
// init the counts to be returned
ImportResults importResults = new ImportResultsImpl();
@@ -469,13 +486,30 @@
// third, find and reuse fleet
String fleetCode = boat.getFleet().getCode();
- Fleet fleet = fleets.get(fleetCode);
- if (fleet == null) {
- fleet = fleetDAO.create(boat.getFleet());
- fleets.put(fleetCode, fleet);
+ if (fleetCode == null) {
+ boat.setFleet(null);
+ } else {
+ Fleet fleet = fleets.get(fleetCode);
+ if (fleet == null) {
+ fleet = fleetDAO.create(boat.getFleet());
+ fleets.put(fleetCode, fleet);
+ }
+ boat.setFleet(fleet);
}
- boat.setFleet(fleet);
+ // fourth, the group
+ String boatGroupCode = boat.getBoatGroup().getCode();
+ if (boatGroupCode == null) {
+ boat.setBoatGroup(null);
+ } else {
+ BoatGroup boatGroup = boatGroups.get(boatGroupCode);
+ if (boatGroup == null) {
+ boatGroup = boatGroupDAO.create(boat.getBoatGroup());
+ boatGroups.put(boatGroupCode, boatGroup);
+ }
+ boat.setBoatGroup(boatGroup);
+ }
+
// now boat object is ready
Boat existingBoat = boatDAO.findByImmatriculation(boat.getImmatriculation());
if (existingBoat == null) {
@@ -490,6 +524,7 @@
existingBoat.setShipOwner(boat.getShipOwner());
existingBoat.setBoatDistrict(boat.getBoatDistrict());
existingBoat.setPortOfRegistry(boat.getPortOfRegistry());
+ existingBoat.setBoatGroup(boat.getBoatGroup());
existingBoat.setFleet(boat.getFleet());
boatDAO.update(existingBoat);
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-05-25 10:00:32 UTC (rev 1297)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-05-26 10:07:55 UTC (rev 1298)
@@ -1612,16 +1612,16 @@
Comparator<Boat> comparator = new BoatLengthComparator(boat);
Set<Boat> substitutes = new TreeSet<Boat>(comparator);
- if (boat.getFleet() != null) {
+ if (boat.getBoatGroup() != null) {
// a substitute for a boat must be in the same fleet
- substitutes.addAll(boatDAO.findAllByFleet(boat.getFleet()));
+ substitutes.addAll(boatDAO.findAllByBoatGroup(boat.getBoatGroup()));
substitutes.remove(boat); // a boat is not substitute for itself
// a substitute must not have been contacted since one month
// so let's find all contact for this fleet done from now to one month ago
ContactFilter contactFilter = new ContactFilterImpl();
contactFilter.setFromDate(DateUtils.addMonths(context.getCurrentDate(), -1));
- contactFilter.setFleet(boat.getFleet());
+ contactFilter.setBoatGroup(boat.getBoatGroup());
Map<String, Contact> contacts = executeGetContacts(transaction, contactFilter);
// for all the contact found, the boat can not be a substitute
@@ -1630,6 +1630,22 @@
}
}
+ if (log.isDebugEnabled()) {
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.append("substitutes for boat ")
+ .append(boat.getName())
+ .append(" (length = ")
+ .append(boat.getBoatLength())
+ .append(") are: ");
+ for (Boat substitute : substitutes) {
+ stringBuilder.append(substitute.getName())
+ .append(" (length = ")
+ .append(substitute.getBoatLength())
+ .append(") ");
+ }
+ log.debug(stringBuilder.toString());
+ }
+
return substitutes;
}
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 2011-05-25 10:00:32 UTC (rev 1297)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-05-26 10:07:55 UTC (rev 1298)
@@ -625,7 +625,7 @@
row.sizeObservers();
if (row.getObservationType() == ObservationType.PHONE_CALL) {
- row.getBoat().getFleet();
+ row.getBoat().getBoatGroup();
}
}
}
@@ -688,7 +688,7 @@
result.getObservationUnit();
if (result.getObservationType() == ObservationType.PHONE_CALL) {
- result.getBoat().getFleet();
+ result.getBoat().getBoatGroup();
}
}
}
@@ -729,7 +729,7 @@
result.sizeObservers();
result.getObservationUnit();
if (result.getObservationType() == ObservationType.PHONE_CALL) {
- result.getBoat().getFleet();
+ result.getBoat().getBoatGroup();
}
} else {
result.sizeElligibleBoat();
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Modified: trunk/wao-business/src/test/resources/import/navires.csv
===================================================================
--- trunk/wao-business/src/test/resources/import/navires.csv 2011-05-25 10:00:32 UTC (rev 1297)
+++ trunk/wao-business/src/test/resources/import/navires.csv 2011-05-26 10:07:55 UTC (rev 1298)
@@ -1,7 +1,7 @@
-NAVIRE_IMMATRICULATION;NAVIRE_NOM;NAVIRE_LONGUEUR;NAVIRE_ANNEE;QUARTIER_CODE;ARMATEUR_CODE;ARMATEUR_NOM;ARMATEUR_PRENOM;NAVIRE_ACTIF;PORT_CODE;FLOTILLE_CODE;FLOTILLE_NOM
-273129;MOISE;7;1992;UX;19771564;BEURRE ;JEAN CLAUDE;Y;MP3;FLOTILLE1;Ma première flotille
-174258;SAMOURAI KING;9;1982;UN;19744130;MARIE ;JEAN PHILIPPE;Y;MP6;FLOTILLE1;Ma première flotille
-177474;MAYFLOWERS;10;1983;UN;19784252;MOSELLE ;ALAIN RENE;N;XSN;FLOTILLE0;Les colons
-174592;FIFITOU;8;1975;UN;18854131;POUTRE ;JEAN PIERRE;Y;XSN;FLOTILLE1;Ma première flotille
-284595;A MA LOUTRE;8;1973;UN; SPR3965;BECANAUD; NA;Y;LP3;FLOTILLE2;Petits navires
-978419;BISOUNOURS;11;2002;CI;18854131;POUTRE ;JEAN PIERRE;Y;MP6;FLOTILLE2;Petits navires
+NAVIRE_IMMATRICULATION;NAVIRE_NOM;NAVIRE_LONGUEUR;NAVIRE_ANNEE;QUARTIER_CODE;ARMATEUR_CODE;ARMATEUR_NOM;ARMATEUR_PRENOM;NAVIRE_ACTIF;PORT_CODE;FLOTILLE_CODE;FLOTILLE_NOM;SOUS_FLOTILLE_NOM;SOUS_SOUS_FLOTILLE_NOM;STRATE_CODE
+273129;MOISE;7;1992;UX;19771564;BEURRE ;JEAN CLAUDE;Y;MP3;FLOTILLE1;Ma première flotille;A;A;STRATE1
+174258;SAMOURAI KING;9;1982;UN;19744130;MARIE ;JEAN PHILIPPE;Y;MP6;FLOTILLE1;Ma première flotille;A;A;STRATE1
+177474;MAYFLOWERS;10;1983;UN;19784252;MOSELLE ;ALAIN RENE;N;XSN;FLOTILLE0;Les colons;A;A;STRATE0
+174592;FIFITOU;8;1975;UN;18854131;POUTRE ;JEAN PIERRE;Y;XSN;FLOTILLE1;Ma première flotille;A;A;STRATE1
+284595;A MA LOUTRE;8;1973;UN; SPR3965;BECANAUD; NA;Y;LP3;FLOTILLE2;Petits navires;A;A;STRATE2
+978419;BISOUNOURS;11;2002;CI;18854131;POUTRE ;JEAN PIERRE;Y;MP6;FLOTILLE2;Petits navires;A;A;STRATE2
Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/BoatFilterComponent.tml
===================================================================
--- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/BoatFilterComponent.tml 2011-05-25 10:00:32 UTC (rev 1297)
+++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/BoatFilterComponent.tml 2011-05-26 10:07:55 UTC (rev 1298)
@@ -109,6 +109,13 @@
t:labelPropertyName="description"
t:values="possibleValuesForFilter.fleetsAsList"
t:selectedValue="filter.fleet" />
+
+ <label for="boatGroup" style="margin-left: 15px;">${message:wao.ui.field.Boat.boatGroup} :</label>
+ <t:topiaEntitySelector t:id="boatGroup"
+ t:clazzName="BoatGroup"
+ t:labelPropertyName="description"
+ t:values="possibleValuesForFilter.boatGroupsAsList"
+ t:selectedValue="filter.boatGroup" />
</div>
<div class="aright" style="white-space: nowrap;">
<input t:type="submit" class="ico22px refresh" t:id="refresh"
Modified: trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties
===================================================================
--- trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-05-25 10:00:32 UTC (rev 1297)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-05-26 10:07:55 UTC (rev 1298)
@@ -80,6 +80,7 @@
wao.ui.entity.TerrestrialLocation=Place
wao.ui.entity.fishingGearDCF=Gear DCF code
wao.ui.entity.targetSpeciesDCF=Target species DCF code
+wao.ui.field.Boat.boatGroup=Boat group
wao.ui.field.Boat.boatLength=Length
wao.ui.field.Boat.buildYear=Build year
wao.ui.field.Boat.districtCode=District
Modified: trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties
===================================================================
--- trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-05-25 10:00:32 UTC (rev 1297)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-05-26 10:07:55 UTC (rev 1298)
@@ -8,79 +8,80 @@
SynthesisId.OBSERVATION_HOUR=
wao.ui.action.acceptContact=Valider le contact
wao.ui.action.add=Ajouter
-wao.ui.action.addNewContactFromBoat=Créer un nouveau contact pour ce navire et la ligne sélectionnée dans les filtres
-wao.ui.action.back=Revenier à l'écran précédent
+wao.ui.action.addNewContactFromBoat=Cr\u00e9er un nouveau contact pour ce navire et la ligne s\u00e9lectionn\u00e9e dans les filtres
+wao.ui.action.back=Revenier \u00e0 l'\u00e9cran pr\u00e9c\u00e9dent
wao.ui.action.cancel=Annuler
wao.ui.action.changeLocale=Changer de langue
wao.ui.action.contactAdmin=Contacter un responsable ObsMer
-wao.ui.action.create=Créer
-wao.ui.action.createCompany=Créer une société
-wao.ui.action.createUser=Créer un utilisateur
+wao.ui.action.create=Cr\u00e9er
+wao.ui.action.createCompany=Cr\u00e9er une soci\u00e9t\u00e9
+wao.ui.action.createUser=Cr\u00e9er un utilisateur
wao.ui.action.delete=Supprimer
-wao.ui.action.deleteCompany=Supprimer la société
-wao.ui.action.deleteCompany.confirm=Êtes-vous sûr de vouloir supprimer la société ?
+wao.ui.action.deleteCompany=Supprimer la soci\u00e9t\u00e9
+wao.ui.action.deleteCompany.confirm=\u00cates-vous s\u00fbr de vouloir supprimer la soci\u00e9t\u00e9 ?
wao.ui.action.deleteContact=Supprimer le contact
-wao.ui.action.deleteContact.confirm=Êtes-vous sûr de vouloir supprimer définitivement ce contact ?
+wao.ui.action.deleteContact.confirm=\u00cates-vous s\u00fbr de vouloir supprimer d\u00e9finitivement ce contact ?
wao.ui.action.deleteNews=Supprimer la nouvelle
-wao.ui.action.deleteNews.confirm=Êtes-vous sûr de vouloir supprimer définitivement cette nouvelle ?
+wao.ui.action.deleteNews.confirm=\u00cates-vous s\u00fbr de vouloir supprimer d\u00e9finitivement cette nouvelle ?
wao.ui.action.deleteSampleRow=Supprimer la ligne du plan
-wao.ui.action.deleteSampleRow.confirm=Êtes-vous sûr de vouloir supprimer la ligne %s du plan ?
+wao.ui.action.deleteSampleRow.confirm=\u00cates-vous s\u00fbr de vouloir supprimer la ligne %s du plan ?
wao.ui.action.deleteUser=Supprimer l'utilisateur
-wao.ui.action.deleteUser.confirm=Êtes-vous sûr de vouloir supprimer l'utilisateur ?
+wao.ui.action.deleteUser.confirm=\u00cates-vous s\u00fbr de vouloir supprimer l'utilisateur ?
wao.ui.action.edit=Modifier
wao.ui.action.enlargeView=Agrandir la vue
-wao.ui.action.exportBoats=Exporter les $s navires avec leurs informations privées
+wao.ui.action.exportBoats=Exporter les $s navires avec leurs informations priv\u00e9es
wao.ui.action.filter=Filtrer
wao.ui.action.hideFilters=Masquer les filtres
wao.ui.action.login=Connexion
-wao.ui.action.logout=Déconnexion
-wao.ui.action.reduceView=Réduire la vue
-wao.ui.action.refresh=Rafraîchir
+wao.ui.action.logout=D\u00e9connexion
+wao.ui.action.reduceView=R\u00e9duire la vue
+wao.ui.action.refresh=Rafra\u00eechir
wao.ui.action.refuseContact=Refuser le contact
wao.ui.action.remove=Retirer
-wao.ui.action.resetFields=Remettre le formulaire à zéro
+wao.ui.action.resetFields=Remettre le formulaire \u00e0 z\u00e9ro
wao.ui.action.revert=Annuler
wao.ui.action.runExport=Lancer l'export
wao.ui.action.runImport=Lancer l'import
wao.ui.action.runSearch=Lancer la recherche
wao.ui.action.save=Enregistrer
-wao.ui.action.showDetails=Voir les détails
+wao.ui.action.showDetails=Voir les d\u00e9tails
wao.ui.action.showFilters=Afficher les filtres
wao.ui.action.unvalidateContact=Invalider le contact
wao.ui.action.viewIndicatorsHistory=Voir l'historique des modifications des indicateurs
wao.ui.boatList=Liste de %s navires
wao.ui.boatinfo.title=Informations sur %s
-wao.ui.boats.associatedLine=Ligne(s) du plan associée(s) à ce navire
-wao.ui.boats.nbObservations=%s observation(s) dont %s avec votre société
+wao.ui.boats.associatedLine=Ligne(s) du plan associ\u00e9e(s) \u00e0 ce navire
+wao.ui.boats.nbObservations=%s observation(s) dont %s avec votre soci\u00e9t\u00e9
wao.ui.boats.portOfRegistry.description=Il s'agit du port d'exploitation principal du navire
wao.ui.boats.portOfRegistry.header=Port
-wao.ui.boats.selecting=Vous êtes en cours de sélection d'un navire pour la ligne du plan %s
+wao.ui.boats.selecting=Vous \u00eates en cours de s\u00e9lection d'un navire pour la ligne du plan %s
wao.ui.boats.substitutes=Substituts du navire
-wao.ui.cartography.help=Cliquez sur les graphiques pour avoir le détail.
-wao.ui.cartography.title=Répartition des contacts par quartier des navires
-wao.ui.cartography.title.company=Répartition des contacts par quartier des navires pour la société %s
+wao.ui.cartography.help=Cliquez sur les graphiques pour avoir le d\u00e9tail.
+wao.ui.cartography.title=R\u00e9partition des contacts par quartier des navires
+wao.ui.cartography.title.company=R\u00e9partition des contacts par quartier des navires pour la soci\u00e9t\u00e9 %s
wao.ui.chart.boardingsSince=Nombre de sollicitations depuis le %s
wao.ui.chart.numberBoats=Nb navires
wao.ui.chart.numberObservations=Nb observations
wao.ui.chart.numberOfBoatsWithBoardings=Nombre de navires avec x embarquements
-wao.ui.contact.lastContact=Dernière observation concernant ce navire pour votre société (tous programmes confondus)
-wao.ui.contacts.createFromBoat=Créer un nouveau contact pour ce navire et cette ligne du plan
-wao.ui.contacts.createFromBoat.fail=Création d'un nouveau contact impossible
-wao.ui.contacts.createFromBoat.warn=Attention \: cette ligne du plan est arrivée à échéance, êtes-vous sûr de vouloir créer un nouveau contact ?
-wao.ui.disclaimer=Le site de « SUIVI DU REALISE DU PLAN D'ECHANTILLONNAGE DES OBSERVATIONS A LA MER » a fait l'objet d'une déclaration à la CNIL sous le numéro suivant \: 1414476
-wao.ui.disclaimer.boats=Les données saisies dans cette page sont la propriété exclusive de la société. En dehors de la société, seul l'administrateur peut les consulter pour des questions de maintenance sur le site. L'administrateur est une personne de l'Ifremer.
+wao.ui.contact.lastContact=Derni\u00e8re observation concernant ce navire pour votre soci\u00e9t\u00e9 (tous programmes confondus)
+wao.ui.contacts.createFromBoat=Cr\u00e9er un nouveau contact pour ce navire et cette ligne du plan
+wao.ui.contacts.createFromBoat.fail=Cr\u00e9ation d'un nouveau contact impossible
+wao.ui.contacts.createFromBoat.warn=Attention \: cette ligne du plan est arriv\u00e9e \u00e0 \u00e9ch\u00e9ance, \u00eates-vous s\u00fbr de vouloir cr\u00e9er un nouveau contact ?
+wao.ui.disclaimer=Le site de \u00ab SUIVI DU REALISE DU PLAN D'ECHANTILLONNAGE DES OBSERVATIONS A LA MER \u00bb a fait l'objet d'une d\u00e9claration \u00e0 la CNIL sous le num\u00e9ro suivant \: 1414476
+wao.ui.disclaimer.boats=Les donn\u00e9es saisies dans cette page sont la propri\u00e9t\u00e9 exclusive de la soci\u00e9t\u00e9. En dehors de la soci\u00e9t\u00e9, seul l'administrateur peut les consulter pour des questions de maintenance sur le site. L'administrateur est une personne de l'Ifremer.
wao.ui.email=Adresse e-mail
wao.ui.entity.Boat=Navire
wao.ui.entity.Boats=Navires
-wao.ui.entity.Company=Société
+wao.ui.entity.Company=Soci\u00e9t\u00e9
wao.ui.entity.Contact=Contact
-wao.ui.entity.FishingZone=Zones de pêche
-wao.ui.entity.SampleRow=Ligne du plan d'échantillonnage
+wao.ui.entity.FishingZone=Zones de p\u00eache
+wao.ui.entity.SampleRow=Ligne du plan d'\u00e9chantillonnage
wao.ui.entity.TerrestrialLocation=Lieu
wao.ui.entity.fishingGearDCF=Engin code DCF
-wao.ui.entity.targetSpeciesDCF=Ensembles d'espèces-cible code DCF
+wao.ui.entity.targetSpeciesDCF=Ensembles d'esp\u00e8ces-cible code DCF
+wao.ui.field.Boat.boatGroup=Strate
wao.ui.field.Boat.boatLength=Longueur
-wao.ui.field.Boat.buildYear=Année de construction
+wao.ui.field.Boat.buildYear=Ann\u00e9e de construction
wao.ui.field.Boat.districtCode=Quartier
wao.ui.field.Boat.fleet=Flotille
wao.ui.field.Boat.immatriculation=Immatriculation
@@ -88,142 +89,142 @@
wao.ui.field.Boat.portOfRegistry=Port d'attache
wao.ui.field.Boat.shipOwner=Armateur
wao.ui.field.BoatDistrict.code=Code quartier
-wao.ui.field.BoatInfos.dup=Capacité d'accueil du navire en personnels spécialisés
+wao.ui.field.BoatInfos.dup=Capacit\u00e9 d'accueil du navire en personnels sp\u00e9cialis\u00e9s
wao.ui.field.Company.active=Active
wao.ui.field.Company.name=Nom
-wao.ui.field.Contact.beginDate=Début d'observation
+wao.ui.field.Contact.beginDate=D\u00e9but d'observation
wao.ui.field.Contact.comment=Commentaire observateur
wao.ui.field.Contact.commentAdmin=Commentaire programme
wao.ui.field.Contact.commentCoordinator=Commentaire coordinateur
-wao.ui.field.Contact.completeSampling=Échantillonnage complet
-wao.ui.field.Contact.contactState=État du contact
+wao.ui.field.Contact.completeSampling=\u00c9chantillonnage complet
+wao.ui.field.Contact.contactState=\u00c9tat du contact
wao.ui.field.Contact.contactStateMotif=Motif du refus
wao.ui.field.Contact.contactStateMotifs=Motifs de refus
-wao.ui.field.Contact.creationDate=Date de création du contact
-wao.ui.field.Contact.dataInputDate=Saisie des données
-wao.ui.field.Contact.dataReliability=Qualité des données
+wao.ui.field.Contact.creationDate=Date de cr\u00e9ation du contact
+wao.ui.field.Contact.dataInputDate=Saisie des donn\u00e9es
+wao.ui.field.Contact.dataReliability=Qualit\u00e9 des donn\u00e9es
wao.ui.field.Contact.endDate=Fin d'observation
-wao.ui.field.Contact.landingDate=Date de débarquement
-wao.ui.field.Contact.mainObserver=Observateur référent
+wao.ui.field.Contact.landingDate=Date de d\u00e9barquement
+wao.ui.field.Contact.mainObserver=Observateur r\u00e9f\u00e9rent
wao.ui.field.Contact.mammalsCapture=Capture accidentelle
-wao.ui.field.Contact.mammalsInfo=Noms scientifiques et nombres d'individus des espèces capturées
+wao.ui.field.Contact.mammalsInfo=Noms scientifiques et nombres d'individus des esp\u00e8ces captur\u00e9es
wao.ui.field.Contact.mammalsObservation=Observation exceptionnelle
wao.ui.field.Contact.nbObservants=Nombre d'observateurs
-wao.ui.field.Contact.obsDebCode=Métier
+wao.ui.field.Contact.obsDebCode=M\u00e9tier
wao.ui.field.Contact.observationType=Type d'observation
-wao.ui.field.Contact.samplingStrategy=Stratégie d'échantillonnage suivie
+wao.ui.field.Contact.samplingStrategy=Strat\u00e9gie d'\u00e9chantillonnage suivie
wao.ui.field.Contact.secondaryObservers=Observateurs
wao.ui.field.Contact.terrestrialLocation=Lieu d'observation
-wao.ui.field.Contact.validationCompany=Validation société
+wao.ui.field.Contact.validationCompany=Validation soci\u00e9t\u00e9
wao.ui.field.Contact.validationProgram=Validation programme
-wao.ui.field.FishingZone.facadeName=Façade
+wao.ui.field.FishingZone.facadeName=Fa\u00e7ade
wao.ui.field.FishingZone.sectorName=Zone
wao.ui.field.SampleRow.boat=Navire
wao.ui.field.SampleRow.code=Code ligne
wao.ui.field.SampleRow.comment=Commentaire
-wao.ui.field.SampleRow.company=Société
+wao.ui.field.SampleRow.company=Soci\u00e9t\u00e9
wao.ui.field.SampleRow.dCF5Code=Codes
wao.ui.field.SampleRow.day=Jour
wao.ui.field.SampleRow.dcf5Code=Code DCF Niv. 5
wao.ui.field.SampleRow.expectedDate=Date
-wao.ui.field.SampleRow.fishingZones=Zone(s) de pêche
-wao.ui.field.SampleRow.libelle=Libellé
+wao.ui.field.SampleRow.fishingZones=Zone(s) de p\u00eache
+wao.ui.field.SampleRow.libelle=Libell\u00e9
wao.ui.field.SampleRow.meshSize=Maillage
wao.ui.field.SampleRow.observationType=Type d'observation
-wao.ui.field.SampleRow.observationUnit=Unité d'observation
+wao.ui.field.SampleRow.observationUnit=Unit\u00e9 d'observation
wao.ui.field.SampleRow.observers=Observateurs
wao.ui.field.SampleRow.other=Autre
-wao.ui.field.SampleRow.periodBegin=Début
+wao.ui.field.SampleRow.periodBegin=D\u00e9but
wao.ui.field.SampleRow.periodEnd=Fin
-wao.ui.field.SampleRow.profession=Métier
-wao.ui.field.SampleRow.professionCode=Code métier
+wao.ui.field.SampleRow.profession=M\u00e9tier
+wao.ui.field.SampleRow.professionCode=Code m\u00e9tier
wao.ui.field.SampleRow.programName=Programme
-wao.ui.field.SampleRow.samplingStrategy=Stratégie d'échantillonnage
+wao.ui.field.SampleRow.samplingStrategy=Strat\u00e9gie d'\u00e9chantillonnage
wao.ui.field.SampleRow.size=Taille du navire
-wao.ui.field.SampleRow.species=Espèces cibles
+wao.ui.field.SampleRow.species=Esp\u00e8ces cibles
wao.ui.field.SampleRow.terrestrialLocation=Quartier maritime
wao.ui.field.SampleRow.terrestrialLocationInfos=Autre(s) info(s)
-wao.ui.field.TerrestrialDivision.regionIfremer=Région Ifremer
-wao.ui.field.TerrestrialDivision.skillZone=Zone de compétence
+wao.ui.field.TerrestrialDivision.regionIfremer=R\u00e9gion Ifremer
+wao.ui.field.TerrestrialDivision.skillZone=Zone de comp\u00e9tence
wao.ui.field.TerrestrialDivision.subPopulation=Sous-population
-wao.ui.field.User.firstName=Prénom
+wao.ui.field.User.firstName=Pr\u00e9nom
wao.ui.field.User.lastName=Nom
wao.ui.field.User.login=Identifiant
-wao.ui.field.UserProfile.userRole=Rôle
+wao.ui.field.UserProfile.userRole=R\u00f4le
wao.ui.field.WaoUser.login=Identifiant
wao.ui.field.WaoUser.mammalsNotifications=Recevoir les notifications de captures accidentelles
wao.ui.field.WaoUser.password=Mot de passe
wao.ui.filters.filters=Filtres de recherche
-wao.ui.filters.refresh=Rafraîchir les champs du filtre
-wao.ui.forgotPassword=Mot de passe oublié ?
-wao.ui.form.SampleRow.boatsDescription=Ce champs correspond aux immatriculations des navires qui sont éligibles pour cette ligne. Vous pouvez utiliser n'importe quel séparateur pour séparer les immatriculations (virgule, point, espace ou saut de ligne)
-wao.ui.form.SampleRow.error.missingLogComment=Vous devez préciser la raison de vos modifications
-wao.ui.form.SampleRow.missingBeginDate=Date de début manquante pour générer le code de la ligne \!
-wao.ui.form.SampleRow.others=Autres données de la ligne d'échantillonnage
+wao.ui.filters.refresh=Rafra\u00eechir les champs du filtre
+wao.ui.forgotPassword=Mot de passe oubli\u00e9 ?
+wao.ui.form.SampleRow.boatsDescription=Ce champs correspond aux immatriculations des navires qui sont \u00e9ligibles pour cette ligne. Vous pouvez utiliser n'importe quel s\u00e9parateur pour s\u00e9parer les immatriculations (virgule, point, espace ou saut de ligne)
+wao.ui.form.SampleRow.error.missingLogComment=Vous devez pr\u00e9ciser la raison de vos modifications
+wao.ui.form.SampleRow.missingBeginDate=Date de d\u00e9but manquante pour g\u00e9n\u00e9rer le code de la ligne \!
+wao.ui.form.SampleRow.others=Autres donn\u00e9es de la ligne d'\u00e9chantillonnage
wao.ui.form.SampleRow.program=Programme de rattachement et effort d'observation par mois
wao.ui.form.addComment=Ajouter un commentaire
-wao.ui.form.addRole=Ajouter ce rôle
+wao.ui.form.addRole=Ajouter ce r\u00f4le
wao.ui.form.boardingFrom=Sollicitations du navire depuis le
wao.ui.form.contactsFile=Fichier des contacts
-wao.ui.form.definePasswordManually=définir manuellement
+wao.ui.form.definePasswordManually=d\u00e9finir manuellement
wao.ui.form.editComment=Commentaire sur la modification
wao.ui.form.editionAuthor=Auteur de la modification
-wao.ui.form.estimatedTides=Voir l'effort d'observations estimé
-wao.ui.form.estimatedTides.description=L'effort d'observations estimé équivaut au nombre de contacts validés ou non par la société. Les contacts refusés par le programme ne sont pas pris en compte.
-wao.ui.form.generatePassword=Générer le mot de passe
+wao.ui.form.estimatedTides=Voir l'effort d'observations estim\u00e9
+wao.ui.form.estimatedTides.description=L'effort d'observations estim\u00e9 \u00e9quivaut au nombre de contacts valid\u00e9s ou non par la soci\u00e9t\u00e9. Les contacts refus\u00e9s par le programme ne sont pas pris en compte.
+wao.ui.form.generatePassword=G\u00e9n\u00e9rer le mot de passe
wao.ui.form.otherBoatInfos=Autres informations sur le navire
-wao.ui.form.period=Période
+wao.ui.form.period=P\u00e9riode
wao.ui.form.period.from=du
wao.ui.form.period.to=au
-wao.ui.form.periodFrom=Période du
-wao.ui.form.periodFromTo=Période du %s au %s
+wao.ui.form.periodFrom=P\u00e9riode du
+wao.ui.form.periodFromTo=P\u00e9riode du %s au %s
wao.ui.form.program=Programme
-wao.ui.form.programEvaluation=Évaluation programme
+wao.ui.form.programEvaluation=\u00c9valuation programme
wao.ui.form.readOnly=lecture seule
wao.ui.form.removeRole=retirer ce role
-wao.ui.form.repeatPassword=Répéter le mot de passe
-wao.ui.form.roles=Rôles
-wao.ui.form.sortByTideBegin=Trier par date de début d'observation (du plus récent au plus ancien)
-wao.ui.import.activityCalendarImportLabel=de l'import des calendriers d'activité
-wao.ui.import.activityCalendarImportRunning=Import des calendriers d'activité en cours. Vous pouvez continuer à naviguer sur le site en attendant la fin du chargement.
-wao.ui.import.activityCalendarLabel=des calendriers d'activité
-wao.ui.import.activityCalendarUserAccessesLabel=des accès utilisateurs aux calendriers d'activité
-wao.ui.import.boatDistrictLabel=des coordonnées des quartiers des navires
+wao.ui.form.repeatPassword=R\u00e9p\u00e9ter le mot de passe
+wao.ui.form.roles=R\u00f4les
+wao.ui.form.sortByTideBegin=Trier par date de d\u00e9but d'observation (du plus r\u00e9cent au plus ancien)
+wao.ui.import.activityCalendarImportLabel=de l'import des calendriers d'activit\u00e9
+wao.ui.import.activityCalendarImportRunning=Import des calendriers d'activit\u00e9 en cours. Vous pouvez continuer \u00e0 naviguer sur le site en attendant la fin du chargement.
+wao.ui.import.activityCalendarLabel=des calendriers d'activit\u00e9
+wao.ui.import.activityCalendarUserAccessesLabel=des acc\u00e8s utilisateurs aux calendriers d'activit\u00e9
+wao.ui.import.boatDistrictLabel=des coordonn\u00e9es des quartiers des navires
wao.ui.import.boatsLabel=des navires
wao.ui.import.description=Fichier %s %s \:
-wao.ui.import.fishingZoneLabel=des zones de pêches
+wao.ui.import.fishingZoneLabel=des zones de p\u00eaches
wao.ui.import.fullDescription=Import %s (format %s avec encodage UTF-8)
wao.ui.import.longTitle=Import/Export CSV (UTF-8)
-wao.ui.import.obsDebCodesLabel=des codes métiers ObsDeb
-wao.ui.import.samplingPlanLabel=du plan d'échantillonnage
-wao.ui.import.terrestrialDivisionsLabel=du référentiel de stratification spatiale (ObsDeb)
+wao.ui.import.obsDebCodesLabel=des codes m\u00e9tiers ObsDeb
+wao.ui.import.samplingPlanLabel=du plan d'\u00e9chantillonnage
+wao.ui.import.terrestrialDivisionsLabel=du r\u00e9f\u00e9rentiel de stratification spatiale (ObsDeb)
wao.ui.import.terrestrialLocationsLabel=des lieux terrestres
wao.ui.import.title=Import %s
wao.ui.indicator.andMore=%s et plus
wao.ui.indicator.bounds=Bornes
-wao.ui.indicator.coefficient=Pondération
+wao.ui.indicator.coefficient=Pond\u00e9ration
wao.ui.indicator.editions=Modifications
wao.ui.indicator.indicator=Indicateur
-wao.ui.indicator.legend=En jaune, la position actuelle de la société selon cet indicateur.
+wao.ui.indicator.legend=En jaune, la position actuelle de la soci\u00e9t\u00e9 selon cet indicateur.
wao.ui.indicator.levels=Niveaux
-wao.ui.indicator.useRightDecimalSymbol=Attention à bien utiliser ',' et non '.' pour les décimales
+wao.ui.indicator.useRightDecimalSymbol=Attention \u00e0 bien utiliser ',' et non '.' pour les d\u00e9cimales
wao.ui.indicators.coefficientsSum=Total coefficient
-wao.ui.indicators.title=Indicateurs qualités prestataires
+wao.ui.indicators.title=Indicateurs qualit\u00e9s prestataires
wao.ui.invalidLogin=Identifiant invalide
-wao.ui.layout.userDescription=Vous êtes %s de la société %s (%s)
+wao.ui.layout.userDescription=Vous \u00eates %s de la soci\u00e9t\u00e9 %s (%s)
wao.ui.message.chooseProfile=Choisissez dans la liste votre profil de connexion \:
-wao.ui.misc.METIER=MÉTIER
-wao.ui.misc.N/A=non renseignée
-wao.ui.misc.accepted=Accepté
-wao.ui.misc.advancedSearch=Recherche avancée
+wao.ui.misc.METIER=M\u00c9TIER
+wao.ui.misc.N/A=non renseign\u00e9e
+wao.ui.misc.accepted=Accept\u00e9
+wao.ui.misc.advancedSearch=Recherche avanc\u00e9e
wao.ui.misc.by=par
wao.ui.misc.changeOn=Modification du
wao.ui.misc.comment=Commentaire
-wao.ui.misc.commentAddedOn=Commentaire ajouté le
+wao.ui.misc.commentAddedOn=Commentaire ajout\u00e9 le
wao.ui.misc.comments=Commentaires
-wao.ui.misc.companies=Sociétés
-wao.ui.misc.createdOnF=Créée le
-wao.ui.misc.creating=En cours de création
+wao.ui.misc.companies=Soci\u00e9t\u00e9s
+wao.ui.misc.createdOnF=Cr\u00e9\u00e9e le
+wao.ui.misc.creating=En cours de cr\u00e9ation
wao.ui.misc.dayOfWeek=Jour
wao.ui.misc.export=Export
wao.ui.misc.export.longTitle=Export CSV
@@ -236,7 +237,7 @@
wao.ui.misc.logFile.description=Afficher le fichier de log de %s
wao.ui.misc.no=Non
wao.ui.misc.noComment=aucun commentaire
-wao.ui.misc.notValidated=Non validé
+wao.ui.misc.notValidated=Non valid\u00e9
wao.ui.misc.observationReport=Compte-rendu d'observation
wao.ui.misc.observations=Observations
wao.ui.misc.observer=Observateur
@@ -246,83 +247,83 @@
wao.ui.misc.other=Autre
wao.ui.misc.otherInfos=Autre information
wao.ui.misc.others=Autres
-wao.ui.misc.refused=Réfusé
+wao.ui.misc.refused=R\u00e9fus\u00e9
wao.ui.misc.since=depuis le
wao.ui.misc.total=Total
-wao.ui.misc.undefined=Non-défini
-wao.ui.misc.validated=Validé
+wao.ui.misc.undefined=Non-d\u00e9fini
+wao.ui.misc.validated=Valid\u00e9
wao.ui.misc.week=Semaine
-wao.ui.misc.year=Année
+wao.ui.misc.year=Ann\u00e9e
wao.ui.misc.yes=Oui
-wao.ui.nContactsFound=%s contacts trouvés
+wao.ui.nContactsFound=%s contacts trouv\u00e9s
wao.ui.news.content=Texte
wao.ui.news.title=Titre
wao.ui.page.Administration.title=Administration
wao.ui.page.Boats.title=Navires
wao.ui.page.Cartography.title=Cartographie
-wao.ui.page.ContactForm.mammalsInfo.disclaimer=Attention, toutes les informations saisies seront transmises à des personnels extérieurs, soyez riguoureux dans la description de la capture accidentelle
+wao.ui.page.ContactForm.mammalsInfo.disclaimer=Attention, toutes les informations saisies seront transmises \u00e0 des personnels ext\u00e9rieurs, soyez riguoureux dans la description de la capture accidentelle
wao.ui.page.ContactForm.title=Modification d'un contact
wao.ui.page.Contacts.title=Contacts
wao.ui.page.Index.title=Accueil
-wao.ui.page.SamplingPlan.title=Plan d'échantillonnage
-wao.ui.page.Synthesis.title=Synthèse
+wao.ui.page.SamplingPlan.title=Plan d'\u00e9chantillonnage
+wao.ui.page.Synthesis.title=Synth\u00e8se
wao.ui.page.UserProfileForm.title=Gestion du profil
-wao.ui.publishedByProgram=Publiée par le programme
-wao.ui.publishedByYourCompany=Publiée par la société
-wao.ui.sampleRow.creation=Création d'une ligne du plan d'échantillonnage
+wao.ui.publishedByProgram=Publi\u00e9e par le programme
+wao.ui.publishedByYourCompany=Publi\u00e9e par la soci\u00e9t\u00e9
+wao.ui.sampleRow.creation=Cr\u00e9ation d'une ligne du plan d'\u00e9chantillonnage
wao.ui.sampleRow.edition=Modification de la ligne %s
wao.ui.sampleRowLog.title=Historique de la ligne %s
wao.ui.samplingPlan.actions=Actions
-wao.ui.samplingPlan.actual=réalisé
-wao.ui.samplingPlan.addSampleRow=Ajouter une ligne au plan d'échantillonnage
-wao.ui.samplingPlan.averageTideTime=Durée moyenne d'une marée (J.)
-wao.ui.samplingPlan.effort=Effort d'observation en nombre de marées
-wao.ui.samplingPlan.estimated=estimé
-wao.ui.samplingPlan.expected=planifié
-wao.ui.samplingPlan.export=Exporter le plan d'échantillonnage du %s au %s
-wao.ui.samplingPlan.fieldWork.see=Voir le plan d'échantillonnage de terrain
-wao.ui.samplingPlan.fieldWork.title=Plan d'échantillonnage de terrain
+wao.ui.samplingPlan.actual=r\u00e9alis\u00e9
+wao.ui.samplingPlan.addSampleRow=Ajouter une ligne au plan d'\u00e9chantillonnage
+wao.ui.samplingPlan.averageTideTime=Dur\u00e9e moyenne d'une mar\u00e9e (J.)
+wao.ui.samplingPlan.effort=Effort d'observation en nombre de mar\u00e9es
+wao.ui.samplingPlan.estimated=estim\u00e9
+wao.ui.samplingPlan.expected=planifi\u00e9
+wao.ui.samplingPlan.export=Exporter le plan d'\u00e9chantillonnage du %s au %s
+wao.ui.samplingPlan.fieldWork.see=Voir le plan d'\u00e9chantillonnage de terrain
+wao.ui.samplingPlan.fieldWork.title=Plan d'\u00e9chantillonnage de terrain
wao.ui.samplingPlan.fishingZoneInfo=Zone autre(s) info(s)
wao.ui.samplingPlan.months=Mois
wao.ui.samplingPlan.nbObservants=Nb. d'observateurs
-wao.ui.samplingPlan.phoneCall.see=Voir le plan d'échantillonnage téléphonique
-wao.ui.samplingPlan.phoneCall.title=Plan d'échantillonnage téléphonique
-wao.ui.samplingPlan.program=Programme ou règlement rattachement
-wao.ui.samplingPlan.sampledProfessions=Métiers échantillonnés
-wao.ui.samplingPlan.showActual=Afficher l'effort d'observations réalisé pour les contacts validés seulement
-wao.ui.samplingPlan.showExpected=Afficher l'effort d'observations estimé pour les contacts validés ou non par la société
-wao.ui.samplingPlan.title=Plan d'échantillonnage
-wao.ui.synthesis.allegroReactivity.description=Ce résultat est une moyenne du nombre de jours entre la date de saisie des données et la date de fin d'observation.
-wao.ui.synthesis.allegroReactivity.title=Réactivité quant à la saisie des données
+wao.ui.samplingPlan.phoneCall.see=Voir le plan d'\u00e9chantillonnage t\u00e9l\u00e9phonique
+wao.ui.samplingPlan.phoneCall.title=Plan d'\u00e9chantillonnage t\u00e9l\u00e9phonique
+wao.ui.samplingPlan.program=Programme ou r\u00e8glement rattachement
+wao.ui.samplingPlan.sampledProfessions=M\u00e9tiers \u00e9chantillonn\u00e9s
+wao.ui.samplingPlan.showActual=Afficher l'effort d'observations r\u00e9alis\u00e9 pour les contacts valid\u00e9s seulement
+wao.ui.samplingPlan.showExpected=Afficher l'effort d'observations estim\u00e9 pour les contacts valid\u00e9s ou non par la soci\u00e9t\u00e9
+wao.ui.samplingPlan.title=Plan d'\u00e9chantillonnage
+wao.ui.synthesis.allegroReactivity.description=Ce r\u00e9sultat est une moyenne du nombre de jours entre la date de saisie des donn\u00e9es et la date de fin d'observation.
+wao.ui.synthesis.allegroReactivity.title=R\u00e9activit\u00e9 quant \u00e0 la saisie des donn\u00e9es
wao.ui.synthesis.boarding.boardingCount=Au total, %s observations invalides sur %s observations.
-wao.ui.synthesis.boarding.description=Ces résultats ne concernent que les lignes du plan d'échantillonnage ayant une durée moyenne de marées inférieure ou égale à 48h.
-wao.ui.synthesis.boarding.mostUsedBoat=Navire le plus sollicité avec %s observations (tous programmes confondus) \: %s (%s)
+wao.ui.synthesis.boarding.description=Ces r\u00e9sultats ne concernent que les lignes du plan d'\u00e9chantillonnage ayant une dur\u00e9e moyenne de mar\u00e9es inf\u00e9rieure ou \u00e9gale \u00e0 48h.
+wao.ui.synthesis.boarding.mostUsedBoat=Navire le plus sollicit\u00e9 avec %s observations (tous programmes confondus) \: %s (%s)
wao.ui.synthesis.boarding.title=Sollicitations des navires
-wao.ui.synthesis.complianceBoarding.description=Respect du nombre prévu d'observateurs pour chaque marée réalisée.
-wao.ui.synthesis.complianceBoarding.title=Respect du nombre d'observateurs embarqués
-wao.ui.synthesis.contactsStates.description=Ces résultats concernent l'ensemble des états des contacts excepté ceux qui ont été refusés par le programme.
-wao.ui.synthesis.contactsStates.title=États des contacts
-wao.ui.synthesis.dataReliability.description=Pourcentage du nombre de marées exploitables par rapport nombre de marée réalisées.
-wao.ui.synthesis.dataReliability.title=Qualité de la donnée
-wao.ui.synthesis.dataSampling.title=Données des marées (réalisé / planifié)
+wao.ui.synthesis.complianceBoarding.description=Respect du nombre pr\u00e9vu d'observateurs pour chaque mar\u00e9e r\u00e9alis\u00e9e.
+wao.ui.synthesis.complianceBoarding.title=Respect du nombre d'observateurs embarqu\u00e9s
+wao.ui.synthesis.contactsStates.description=Ces r\u00e9sultats concernent l'ensemble des \u00e9tats des contacts except\u00e9 ceux qui ont \u00e9t\u00e9 refus\u00e9s par le programme.
+wao.ui.synthesis.contactsStates.title=\u00c9tats des contacts
+wao.ui.synthesis.dataReliability.description=Pourcentage du nombre de mar\u00e9es exploitables par rapport nombre de mar\u00e9e r\u00e9alis\u00e9es.
+wao.ui.synthesis.dataReliability.title=Qualit\u00e9 de la donn\u00e9e
+wao.ui.synthesis.dataSampling.title=Donn\u00e9es des mar\u00e9es (r\u00e9alis\u00e9 / planifi\u00e9)
wao.ui.synthesis.distinctBoatsCounts.axisName=Nombre de navires distincts
-wao.ui.synthesis.distinctBoatsCounts.categoryName=Mois de l'année
-wao.ui.synthesis.distinctBoatsCounts.description=Nombre de navires distincts observés selon le mois de l'année
-wao.ui.synthesis.distinctBoatsCounts.title=Nombre de navires observés
-wao.ui.synthesis.globalSynthesis.globalResult=Bilan de la synthèse global
-wao.ui.synthesis.globalSynthesis.title=Synthèse globale
-wao.ui.synthesis.globalSynthesis.title.estimated=Synthèse globale (selon estimations)
-wao.ui.synthesis.log.description=Cette page présente toutes les modifications effectuées depuis l'origine qui portent sur les bornes de chaque niveaux ainsi que les coefficients de chaque indicateurs.
-wao.ui.synthesis.log.empty=Aucune modification n'a été apportée à ce jour
+wao.ui.synthesis.distinctBoatsCounts.categoryName=Mois de l'ann\u00e9e
+wao.ui.synthesis.distinctBoatsCounts.description=Nombre de navires distincts observ\u00e9s selon le mois de l'ann\u00e9e
+wao.ui.synthesis.distinctBoatsCounts.title=Nombre de navires observ\u00e9s
+wao.ui.synthesis.globalSynthesis.globalResult=Bilan de la synth\u00e8se global
+wao.ui.synthesis.globalSynthesis.title=Synth\u00e8se globale
+wao.ui.synthesis.globalSynthesis.title.estimated=Synth\u00e8se globale (selon estimations)
+wao.ui.synthesis.log.description=Cette page pr\u00e9sente toutes les modifications effectu\u00e9es depuis l'origine qui portent sur les bornes de chaque niveaux ainsi que les coefficients de chaque indicateurs.
+wao.ui.synthesis.log.empty=Aucune modification n'a \u00e9t\u00e9 apport\u00e9e \u00e0 ce jour
wao.ui.synthesis.log.entry.author=Auteur de la modification
-wao.ui.synthesis.log.entry.comment=Commentaire associé
+wao.ui.synthesis.log.entry.comment=Commentaire associ\u00e9
wao.ui.synthesis.log.entry.date=Date de la modification
-wao.ui.synthesis.log.entry.summary=Modifications effectuées
-wao.ui.synthesis.log.title=Historique des modifications des paramètres de la synthèse globale
+wao.ui.synthesis.log.entry.summary=Modifications effectu\u00e9es
+wao.ui.synthesis.log.title=Historique des modifications des param\u00e8tres de la synth\u00e8se globale
wao.ui.synthesis.observationHours.axisName=Nombre d'observations
-wao.ui.synthesis.observationHours.categoryName=Heures de la journée
-wao.ui.synthesis.observationHours.description=Nombre d'observations effectuée selon l'heure d'arrivée
-wao.ui.synthesis.observationHours.title=Distribution des périodes d'observation
-wao.ui.unavailableOperation=Opération non-disponible
+wao.ui.synthesis.observationHours.categoryName=Heures de la journ\u00e9e
+wao.ui.synthesis.observationHours.description=Nombre d'observations effectu\u00e9e selon l'heure d'arriv\u00e9e
+wao.ui.synthesis.observationHours.title=Distribution des p\u00e9riodes d'observation
+wao.ui.unavailableOperation=Op\u00e9ration non-disponible
wao.ui.userList=Liste des utilisateurs
wao.ui.validLogin=Identifiant valide
Modified: trunk/wao-ui/src/main/webapp/Boats.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/Boats.tml 2011-05-25 10:00:32 UTC (rev 1297)
+++ trunk/wao-ui/src/main/webapp/Boats.tml 2011-05-26 10:07:55 UTC (rev 1298)
@@ -120,7 +120,7 @@
title="${format:wao.ui.action.exportBoats=boats.availableRows}" />
</a>
</h1>
- <div t:type="grid" t:source="boats" t:row="boat" t:add="boatDistrict, portOfRegistry, fleet"
+ <div t:type="grid" t:source="boats" t:row="boat" t:add="boatDistrict, portOfRegistry"
t:include="name, immatriculation, boatLength, buildYear" t:rowClass="prop:rowStyle" t:rowsPerPage="20">
<p:nameCell>
<t:if t:test="canCreateNewContactFromList()">
@@ -148,14 +148,11 @@
</p:portOfRegistryHeader>
<p:portOfRegistryCell>
<t:if test="boat.portOfRegistry">
- ${boat.portOfRegistry.code}
+ <span t:type="ck/Tooltip" t:value="${boat.portOfRegistry.description}" t:effect="appear">
+ ${boat.portOfRegistry.code}
+ </span>
</t:if>
</p:portOfRegistryCell>
- <p:fleetCell>
- <t:if test="boat.fleet">
- ${boat.fleet.code}
- </t:if>
- </p:fleetCell>
</div>
</div>
@@ -271,6 +268,18 @@
<label>${message:wao.ui.field.Boat.shipOwner} : </label>
${boatInfos.boat.shipOwner.firstName} ${boatInfos.boat.shipOwner.lastName}
</p>
+ <t:if t:test="boatInfos.boat.fleet">
+ <p>
+ <label>${message:wao.ui.field.Boat.fleet} : </label>
+ ${boatInfos.boat.fleet.description}
+ </p>
+ </t:if>
+ <t:if t:test="boatInfos.boat.boatGroup">
+ <p>x
+ <label>${message:wao.ui.field.Boat.boatGroup} : </label>
+ ${boatInfos.boat.boatGroup.description}
+ </p>
+ </t:if>
<p class="sep"> </p>
<p>
<label>${message:wao.ui.field.BoatInfos.dup} : </label>
1
0
[Suiviobsmer-commits] r1297 - in trunk: wao-business/src/main/java/fr/ifremer/wao/service wao-ui/src/main/java/fr/ifremer/wao/ui/pages
by bleny@users.labs.libre-entreprise.org 25 May '11
by bleny@users.labs.libre-entreprise.org 25 May '11
25 May '11
Author: bleny
Date: 2011-05-25 10:00:32 +0000 (Wed, 25 May 2011)
New Revision: 1297
Log:
sort substitutes boats with lenght compared to a reference boat
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-05-25 08:53:52 UTC (rev 1296)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-05-25 10:00:32 UTC (rev 1297)
@@ -116,15 +116,15 @@
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
+import java.util.Comparator;
import java.util.Date;
-import java.util.GregorianCalendar;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.TreeSet;
/**
* ServiceContactImpl
@@ -990,10 +990,10 @@
public ImportResults executeImportContactCsv(TopiaContext transaction,
ConnectedUser user,
InputStream input)
- throws TopiaException,
- IOException,
- WaoBusinessException,
- ParseException {
+ throws TopiaException,
+ IOException,
+ WaoBusinessException,
+ ParseException {
ImportResults result = new ImportResultsImpl();
@@ -1564,7 +1564,9 @@
ContactFilter contactFilter = new ContactFilterImpl();
- GregorianCalendar initialFromDate = new GregorianCalendar();
+
+ Calendar initialFromDate =
+ DateUtil.getDefaultCalendar(context.getCurrentDate());
// in the firsts months of a new year go from now to 6 months before
// in the rest of the year, just start at the beginning of the current year
if (initialFromDate.get(Calendar.MONTH) < 3) {
@@ -1588,7 +1590,7 @@
@Override
protected ContactFilterValues executeGetPossibleValuesForFilter(TopiaContext transaction, ContactFilter filter) throws Exception {
- // Dont use index
+ // Don't use index
Integer startIndex = filter.getStartIndex();
Integer endIndex = filter.getEndIndex();
filter.setStartIndex(null);
@@ -1607,7 +1609,8 @@
@Override
protected Set<Boat> executeGetSubstitutesForBoat(TopiaContext transaction, Boat boat) throws Exception {
BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction);
- Set<Boat> substitutes = new HashSet<Boat>();
+ Comparator<Boat> comparator = new BoatLengthComparator(boat);
+ Set<Boat> substitutes = new TreeSet<Boat>(comparator);
if (boat.getFleet() != null) {
// a substitute for a boat must be in the same fleet
@@ -1629,4 +1632,54 @@
return substitutes;
}
+
+ /**
+ * This comparator order boats according to their difference of length to
+ * a given reference boat. The boats having a length close to the one
+ * of the reference boat must be in firsts positions, the boats with a
+ * length far from the one of the reference boats must be in lasts
+ * positions.
+ *
+ * For example, If reference boat has a length of 15 meters,
+ * and boats compared have length in {5; 12; 16; 20}, we must order those
+ * boats as such : [16; 12; 20; 5] (close to 15 to far from 15).
+ *
+ * If two boats are equally distant from the reference one, longest boat
+ * is in first.
+ */
+ protected static class BoatLengthComparator implements Comparator<Boat> {
+
+ protected int referenceBoatLength;
+
+ public BoatLengthComparator(Boat referenceBoat) {
+ referenceBoatLength = referenceBoat.getBoatLength();
+ }
+
+ @Override
+ public int compare(Boat boat1, Boat boat2) {
+ // distance between the two boats length to the reference one
+ int lengthDiff1 = Math.abs(
+ referenceBoatLength - boat1.getBoatLength());
+ int lengthDiff2 = Math.abs(
+ referenceBoatLength - boat2.getBoatLength());
+
+ // sorting according to those differences
+ if (lengthDiff1 < lengthDiff2) {
+ return -1;
+ } else if (lengthDiff1 > lengthDiff2) {
+ return 1;
+ } else {
+ // lengthDiff1 == lengthDiff2
+ // boats length are equally distant from reference one,
+ if (boat1.getBoatLength() == boat2.getBoatLength()) {
+ return 0;
+ } else if (boat1.getBoatLength() > boat2.getBoatLength()) {
+ // we put longest boat first
+ return -1;
+ } else {
+ return 1;
+ }
+ }
+ }
+ }
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java 2011-05-25 08:53:52 UTC (rev 1296)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java 2011-05-25 10:00:32 UTC (rev 1297)
@@ -176,7 +176,8 @@
}
}
- // FIXME 20110502 bleny clicking on 'export' make the 'import' link still active but content is not showed/hidden
+ // FIXME 20110502 bleny clicking on 'export' make the 'import' link still
+ // active but content is not shown/hidden
@Log
public Object onActionFromShowImport() {
1
0
[Suiviobsmer-commits] r1296 - in trunk/wao-ui/src/main: resources/fr/ifremer/wao/ui/pages resources/i18n webapp
by bleny@users.labs.libre-entreprise.org 25 May '11
by bleny@users.labs.libre-entreprise.org 25 May '11
25 May '11
Author: bleny
Date: 2011-05-25 08:53:52 +0000 (Wed, 25 May 2011)
New Revision: 1296
Log:
misc details/labels in UI
Modified:
trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Boats_fr.properties
trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties
trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties
trunk/wao-ui/src/main/webapp/Boats.tml
trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml
Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Boats_fr.properties
===================================================================
--- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Boats_fr.properties 2011-05-24 17:10:03 UTC (rev 1295)
+++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Boats_fr.properties 2011-05-25 08:53:52 UTC (rev 1296)
@@ -29,7 +29,6 @@
boatDistrict-label: Quartier
boatLength-label: Long.
buildYear-label: Ann\u00e9e
-portOfRegistry-label: Port
fleet-label: Flotille
# BOAT INFOS
Modified: trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties
===================================================================
--- trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-05-24 17:10:03 UTC (rev 1295)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-05-25 08:53:52 UTC (rev 1296)
@@ -52,6 +52,9 @@
wao.ui.boatinfo.title=Infos about %s
wao.ui.boats.associatedLine=Sample row(s) associated with this boat
wao.ui.boats.nbObservations=%s observation(s), %s with your company (all programs considered)
+wao.ui.boats.portOfRegistry.description=It's the main operating port of the boat
+wao.ui.boats.portOfRegistry.header=Port
+wao.ui.boats.selecting=You are currently selecting a boat for the row %s
wao.ui.boats.substitutes=Substitutes for this boat
wao.ui.cartography.help=Click on the graphs to get the details.
wao.ui.cartography.title=Dispatching of the contacts among boat districts
@@ -278,9 +281,13 @@
wao.ui.samplingPlan.estimated=estimated
wao.ui.samplingPlan.expected=expected
wao.ui.samplingPlan.export=Export the sampling plan from %s to %s
+wao.ui.samplingPlan.fieldWork.see=View the field work sampling plan
+wao.ui.samplingPlan.fieldWork.title=Field work sampling plan
wao.ui.samplingPlan.fishingZoneInfo=Fishing Zone others infos
wao.ui.samplingPlan.months=Months
wao.ui.samplingPlan.nbObservants=Nb. observers
+wao.ui.samplingPlan.phoneCall.see=View the phone call sampling plan
+wao.ui.samplingPlan.phoneCall.title=Phone call sampling plan
wao.ui.samplingPlan.program=program
wao.ui.samplingPlan.sampledProfessions=Sampled professions
wao.ui.samplingPlan.showActual=Show realisez observations efforfor validated contacts only
Modified: trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties
===================================================================
--- trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-05-24 17:10:03 UTC (rev 1295)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-05-25 08:53:52 UTC (rev 1296)
@@ -52,6 +52,9 @@
wao.ui.boatinfo.title=Informations sur %s
wao.ui.boats.associatedLine=Ligne(s) du plan associée(s) à ce navire
wao.ui.boats.nbObservations=%s observation(s) dont %s avec votre société
+wao.ui.boats.portOfRegistry.description=Il s'agit du port d'exploitation principal du navire
+wao.ui.boats.portOfRegistry.header=Port
+wao.ui.boats.selecting=Vous êtes en cours de sélection d'un navire pour la ligne du plan %s
wao.ui.boats.substitutes=Substituts du navire
wao.ui.cartography.help=Cliquez sur les graphiques pour avoir le détail.
wao.ui.cartography.title=Répartition des contacts par quartier des navires
@@ -277,9 +280,13 @@
wao.ui.samplingPlan.estimated=estimé
wao.ui.samplingPlan.expected=planifié
wao.ui.samplingPlan.export=Exporter le plan d'échantillonnage du %s au %s
+wao.ui.samplingPlan.fieldWork.see=Voir le plan d'échantillonnage de terrain
+wao.ui.samplingPlan.fieldWork.title=Plan d'échantillonnage de terrain
wao.ui.samplingPlan.fishingZoneInfo=Zone autre(s) info(s)
wao.ui.samplingPlan.months=Mois
wao.ui.samplingPlan.nbObservants=Nb. d'observateurs
+wao.ui.samplingPlan.phoneCall.see=Voir le plan d'échantillonnage téléphonique
+wao.ui.samplingPlan.phoneCall.title=Plan d'échantillonnage téléphonique
wao.ui.samplingPlan.program=Programme ou règlement rattachement
wao.ui.samplingPlan.sampledProfessions=Métiers échantillonnés
wao.ui.samplingPlan.showActual=Afficher l'effort d'observations réalisé pour les contacts validés seulement
Modified: trunk/wao-ui/src/main/webapp/Boats.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/Boats.tml 2011-05-24 17:10:03 UTC (rev 1295)
+++ trunk/wao-ui/src/main/webapp/Boats.tml 2011-05-25 08:53:52 UTC (rev 1296)
@@ -51,7 +51,7 @@
<t:if test="sampleRowContext">
<div style="text-align: center;">
- Vous êtes en cours de sélection d'un navire pour la ligne du plan ${sampleRowContext.code}
+ ${format:wao.ui.boats.selecting=sampleRowContext.code}
</div>
</t:if>
@@ -141,6 +141,11 @@
<p:boatLengthCell>
${boat.boatLength} m
</p:boatLengthCell>
+ <p:portOfRegistryHeader>
+ <span t:type="ck/Tooltip" t:value="${message:wao.ui.boats.portOfRegistry.description}" t:effect="appear">
+ ${message:wao.ui.boats.portOfRegistry.header}
+ </span>
+ </p:portOfRegistryHeader>
<p:portOfRegistryCell>
<t:if test="boat.portOfRegistry">
${boat.portOfRegistry.code}
Modified: trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml 2011-05-24 17:10:03 UTC (rev 1295)
+++ trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml 2011-05-25 08:53:52 UTC (rev 1296)
@@ -24,15 +24,20 @@
<t:layout t:pageTitle="${message:wao.ui.page.SamplingPlan.title}" t:contentId="wao-obsdebsamplingplan"
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd" xmlns:p="tapestry:parameter">
- <h1 class="fleft">${message:wao.ui.samplingPlan.title}</h1>
+ <t:if t:test="showFieldWorkSamplingPlan()">
+ <h1 class="fleft">${message:wao.ui.samplingPlan.fieldWork.title}</h1>
+ <p:else>
+ <h1 class="fleft">${message:wao.ui.samplingPlan.phoneCall.title}</h1>
+ </p:else>
+ </t:if>
<ul id="so-submenu" style="clear: left;">
<li>
<t:actionlink t:id="switchObservationType">
<t:if t:test="showFieldWorkSamplingPlan()">
- Voir le plan d'échantillonnage téléphonique
+ ${message:wao.ui.samplingPlan.phoneCall.see}
<p:else>
- Voir le plan d'échantillonnage de terrain
+ ${message:wao.ui.samplingPlan.fieldWork.see}
</p:else>
</t:if>
</t:actionlink>
1
0