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
February 2011
- 2 participants
- 81 discussions
[Suiviobsmer-commits] r1047 - trunk/wao-business/src/main/java/fr/ifremer/wao
by bleny@users.labs.libre-entreprise.org 28 Feb '11
by bleny@users.labs.libre-entreprise.org 28 Feb '11
28 Feb '11
Author: bleny
Date: 2011-02-28 17:32:58 +0000 (Mon, 28 Feb 2011)
New Revision: 1047
Log:
add migration for wao 3.0
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.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-02-28 17:12:10 UTC (rev 1046)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2011-02-28 17:32:58 UTC (rev 1047)
@@ -791,4 +791,23 @@
// Here we deal with a user who want to update data but miss the feature in Wao
queries.add("UPDATE FishingZone SET districtCode='GSA07' WHERE topiaId='fr.ifremer.wao.entity.FishingZone#1264666466997#0.7383156631150655'");
}
+
+ @Override
+ protected void addTerrestrialDivisions_3_0(List<String> queries) {
+ queries.add("CREATE TABLE TerrestrialDivision (" +
+ "topiaId CHARACTER VARYING(255) PRIMARY KEY," +
+ "topiaVersion BIGINT NOT NULL," +
+ "topiaCreateDate TIMESTAMP WITHOUT TIME ZONE NOT NULL," +
+ "code CHARACTER VARYING(255)," +
+ "skillZoneCode CHARACTER VARYING(255)," +
+ "skillZoneName CHARACTER VARYING(255)," +
+ "subPopulationCode CHARACTER VARYING(255)," +
+ "subPopulationName CHARACTER VARYING(255)," +
+ "observationUnitCode CHARACTER VARYING(255)," +
+ "observationUnitName CHARACTER VARYING(255)," +
+ "regionIfremerCode CHARACTER VARYING(255)," +
+ "port CHARACTER VARYING(255) NOT NULL," +
+ "CONSTRAINT port_fkey FOREIGN KEY (port) " +
+ "REFERENCES TerrestrialLocation (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-02-28 17:12:10 UTC (rev 1046)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2011-02-28 17:32:58 UTC (rev 1047)
@@ -131,6 +131,8 @@
protected abstract void correctFishingZoneReferential_2_1(List<String> queries);
+ protected abstract void addTerrestrialDivisions_3_0(List<String> queries);
+
protected static final Version[] VERSIONS = new Version[] {
VersionUtil.valueOf("1.0"),
VersionUtil.valueOf("1.1"),
@@ -140,7 +142,8 @@
VersionUtil.valueOf("1.5"),
VersionUtil.valueOf("1.6"),
VersionUtil.valueOf("2.0"),
- VersionUtil.valueOf("2.1")
+ VersionUtil.valueOf("2.1"),
+ VersionUtil.valueOf("3.0")
};
@Override
@@ -462,4 +465,16 @@
executeSQL(tx, showSql, showProgression, strings);
}
+
+ public void migrateTo_3_0(TopiaContextImplementor tx,
+ boolean showSql,
+ boolean showProgression) throws TopiaException {
+
+ List<String> queries = new LinkedList<String>();
+
+ addTerrestrialDivisions_3_0(queries);
+
+ String[] strings = queries.toArray(new String[queries.size()]);
+ executeSQL(tx, showSql, showProgression, strings);
+ }
}
1
0
[Suiviobsmer-commits] r1046 - in trunk/wao-business/src: main/java/fr/ifremer/wao/io/csv2 main/java/fr/ifremer/wao/io/csv2/models main/java/fr/ifremer/wao/service main/resources/i18n main/xmi test/java/fr/ifremer/wao/service test/resources/import
by bleny@users.labs.libre-entreprise.org 28 Feb '11
by bleny@users.labs.libre-entreprise.org 28 Feb '11
28 Feb '11
Author: bleny
Date: 2011-02-28 17:12:10 +0000 (Mon, 28 Feb 2011)
New Revision: 1046
Log:
add terrestrial division import
Added:
trunk/wao-business/src/test/resources/import/terrestrialDivisions.csv
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Import.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.zargo
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialImplTest.java
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Import.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Import.java 2011-02-28 10:32:35 UTC (rev 1045)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Import.java 2011-02-28 17:12:10 UTC (rev 1046)
@@ -70,6 +70,9 @@
}
public Import(ImportModel<E> model, InputStream inputStream) {
+ if (inputStream == null) {
+ throw new NullPointerException("inputStream is null");
+ }
this.model = model;
validateModel();
this.reader = new CsvReader(inputStream, ';', Charset.forName("UTF-8"));
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-02-28 10:32:35 UTC (rev 1045)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/TerrestrialDivisionImportModel.java 2011-02-28 17:12:10 UTC (rev 1046)
@@ -7,6 +7,8 @@
import fr.ifremer.wao.io.csv2.ImportableColumn;
import fr.ifremer.wao.io.csv2.ImportableColumnImpl;
import fr.ifremer.wao.io.csv2.ValueParser;
+import org.apache.commons.lang.StringUtils;
+import org.nuiton.util.StringUtil;
import java.util.ArrayList;
import java.util.Collection;
@@ -46,15 +48,26 @@
public Collection<ImportableColumn> getAllColumns() {
List<ImportableColumn> columns = new ArrayList<ImportableColumn>();
- columns.add(ImportableColumnImpl.newMandatoryColumn("ID_STRATE", TerrestrialDivision.PROPERTY_CODE));
- // add validation while parsing
columns.add(ImportableColumnImpl.newMandatoryColumn(
+ "ID_STRATE",
+ new ValueParser<String>() {
+ /** null if string is empty */
+ @Override
+ public String parse(String code) {
+ if (StringUtils.isEmpty(code)) {
+ throw new IllegalArgumentException("Il manque un code ID_STRATE");
+ }
+ return code;
+ }
+ },
+ TerrestrialDivision.PROPERTY_CODE));
+ columns.add(ImportableColumnImpl.newMandatoryColumn(
"REGION_IFREMER_COD",
- // just validate the region code
new ValueParser<String>() {
+ /** validate region code */
@Override
public String parse(String regionCode) {
- if (regionCodes.contains(regionCode)) {
+ if ( ! regionCodes.contains(regionCode)) {
throw new IllegalArgumentException("Le code '" + regionCode + "' n'est pas un code de région valide");
}
return regionCode;
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-02-28 10:32:35 UTC (rev 1045)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-02-28 17:12:10 UTC (rev 1046)
@@ -33,7 +33,10 @@
import fr.ifremer.wao.WaoQueryHelper;
import fr.ifremer.wao.bean.ContactFilter;
import fr.ifremer.wao.bean.ContactState;
+import fr.ifremer.wao.bean.LocationType;
import fr.ifremer.wao.bean.SamplingFilter;
+import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.entity.BoatDAO;
import fr.ifremer.wao.entity.ContactStateMotif;
import fr.ifremer.wao.entity.ContactStateMotifDAO;
import fr.ifremer.wao.entity.ContactStateMotifImpl;
@@ -45,18 +48,29 @@
import fr.ifremer.wao.entity.ProfessionDAO;
import fr.ifremer.wao.entity.TargetSpeciesDCF;
import fr.ifremer.wao.entity.TargetSpeciesDCFDAO;
+import fr.ifremer.wao.entity.TerrestrialDivision;
+import fr.ifremer.wao.entity.TerrestrialDivisionDAO;
import fr.ifremer.wao.entity.TerrestrialLocation;
import fr.ifremer.wao.entity.TerrestrialLocationDAO;
import fr.ifremer.wao.entity.TerrestrialLocationImpl;
+import fr.ifremer.wao.io.ImportRefusedException;
import fr.ifremer.wao.io.csv.ImportHelper;
import fr.ifremer.wao.io.csv.WaoCsvHeader.FISHING_ZONE;
import fr.ifremer.wao.io.csv2.Import;
import fr.ifremer.wao.io.csv2.ImportModel;
+import fr.ifremer.wao.io.csv2.models.TerrestrialDivisionImportModel;
import fr.ifremer.wao.io.csv2.models.TerrestrialLocationImportModel;
+import org.apache.commons.beanutils.BeanUtils;
+import org.apache.commons.beanutils.PropertyUtils;
+import org.apache.commons.beanutils.PropertyUtilsBean;
+import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.framework.TopiaQuery;
+import org.nuiton.topia.persistence.TopiaDAO;
+import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.util.CollectionUtil;
import org.nuiton.util.beans.Binder;
import org.nuiton.util.beans.BinderFactory;
import org.slf4j.Logger;
@@ -64,13 +78,19 @@
import java.io.IOException;
import java.io.InputStream;
+import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collection;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Locale;
import java.util.Map;
+import java.util.Set;
/**
* ServiceReferentialImpl
@@ -538,4 +558,113 @@
}
}
}
+
+ @Override
+ protected void executeImportTerrestrialDivisions(TopiaContext transaction, InputStream input) throws Exception {
+
+ TerrestrialLocationDAO terrestrialLocationDAO = WaoDAOHelper.getTerrestrialLocationDAO(transaction);
+
+ // let's find all ports in terrestrial location reference
+ List<TerrestrialLocation> ports = terrestrialLocationDAO.findAllByLocationTypeOrdinal(LocationType.PORT.ordinal());
+
+ // from that, deduce a map terrestrial location code -> entity and the set of region codes
+ Map<String, TerrestrialLocation> codeToPorts = projectPropertyUnique(ports, TerrestrialLocation.PROPERTY_CODE);
+ Set<String> regionCodes = projectProperty(String.class, ports, TerrestrialLocation.PROPERTY_REGION_IFREMER_CODE).keySet();
+
+ if (log.isDebugEnabled()) {
+ log.debug(codeToPorts.size() + " ports, " + regionCodes.size() + " regions");
+ log.debug("regionCodes = " + regionCodes);
+ }
+
+ // the import itself
+ ImportModel<TerrestrialDivision> importModel = new TerrestrialDivisionImportModel(codeToPorts, regionCodes);
+ Import<TerrestrialDivision> terrestrialDivisionImport = new Import<TerrestrialDivision>(importModel, input);
+
+ TerrestrialDivisionDAO dao = WaoDAOHelper.getTerrestrialDivisionDAO(transaction);
+// // a binder, needed for update
+// Binder<TerrestrialDivision, TerrestrialDivision> terrestrialDivisionBinder =
+// BinderFactory.newBinder(TerrestrialDivision.class);
+//
+// try {
+// Iterator<TerrestrialDivision> terrestrialDivisionIterator = terrestrialDivisionImport.startImport();
+//
+// // for each line of the CSV
+// while (terrestrialDivisionIterator.hasNext()) {
+// TerrestrialDivision terrestrialDivision = terrestrialDivisionIterator.next();
+//
+// TerrestrialDivision existingTerrestrialDivision = dao.findByCode(terrestrialDivision.getCode());
+// if (existingTerrestrialDivision == null) {
+// // add as new
+// dao.create(terrestrialDivision);
+// } else {
+// // update the old one
+// terrestrialDivisionBinder.copyExcluding(terrestrialDivision, existingTerrestrialDivision,
+// TopiaEntity.TOPIA_ID, TopiaEntity.TOPIA_CREATE_DATE, TopiaEntity.TOPIA_VERSION);
+// dao.update(existingTerrestrialDivision);
+// }
+// }
+// } catch (Exception e) {
+// transaction.rollbackTransaction();
+// throw e;
+// } finally {
+// terrestrialDivisionImport.stopImport();
+// }
+
+
+ try {
+ Iterator<TerrestrialDivision> terrestrialDivisionIterator = terrestrialDivisionImport.startImport();
+ createOrUpdate(TerrestrialDivision.class, terrestrialDivisionIterator, dao, TerrestrialDivision.PROPERTY_CODE);
+ } catch (Exception e) {
+ transaction.rollbackTransaction();
+ throw e;
+ } finally {
+ terrestrialDivisionImport.stopImport();
+ }
+
+ }
+
+ protected <T,E> Map<T, List<E>> projectProperty(Class<T> clazz, List<E> elements, String propertyName) throws InvocationTargetException, NoSuchMethodException, IllegalAccessException {
+ Map<T, List<E>> projection = new LinkedHashMap<T, List<E>>();
+ for (E element : elements) {
+ T key = (T) PropertyUtils.getProperty(element, propertyName);
+ List<E> value = projection.get(key);
+ if (value == null) {
+ value = new LinkedList<E>();
+ }
+ value.add(element);
+ projection.put(key, value);
+ }
+ return projection;
+ }
+
+ protected <T,E> Map<T, E> projectPropertyUnique(List<E> elements, String propertyName) throws InvocationTargetException, NoSuchMethodException, IllegalAccessException {
+ Map<T, E> projection = new LinkedHashMap<T, E>();
+ for (E element : elements) {
+ T key = (T) PropertyUtils.getProperty(element, propertyName);
+ projection.put(key, element);
+ }
+ return projection;
+ }
+
+ protected <E extends TopiaEntity> void createOrUpdate(Class<E> clazz, Iterator<E> entitiesIterator,
+ TopiaDAO<E> dao, String... idProperties)
+ throws InvocationTargetException, NoSuchMethodException, IllegalAccessException, TopiaException {
+ Binder<E, E> binder = BinderFactory.newBinder(clazz);
+ while (entitiesIterator.hasNext()) {
+ E entity = entitiesIterator.next();
+ Map<String, Object> properties = new HashMap<String, Object>();
+ for (String idProperty : idProperties) {
+ properties.put(idProperty, PropertyUtils.getProperty(entity, idProperty));
+ }
+ E existingEntity = dao.findByProperties(properties);
+ if (existingEntity == null) {
+ dao.create(entity);
+ } else {
+ binder.copyExcluding(entity, existingEntity,
+ TopiaEntity.TOPIA_ID, TopiaEntity.TOPIA_CREATE_DATE, TopiaEntity.TOPIA_VERSION);
+ dao.update(existingEntity);
+ }
+ }
+
+ }
}
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-02-28 10:32:35 UTC (rev 1045)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-02-28 17:12:10 UTC (rev 1046)
@@ -177,6 +177,7 @@
wao.error.serviceReferential.importDCFcodes=
wao.error.serviceReferential.importFishingZoneCsv=
wao.error.serviceReferential.importInitialContactStateMotifs=
+wao.error.serviceReferential.importTerrestrialDivisions=
wao.error.serviceReferential.importTerrestrialLocations=
wao.error.serviceReferential.updateAllContactStatesMotifs=
wao.error.serviceSampling.createSampleRowLog=
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-02-28 10:32:35 UTC (rev 1045)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-02-28 17:12:10 UTC (rev 1046)
@@ -177,6 +177,7 @@
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.importTerrestrialDivisions=
wao.error.serviceReferential.importTerrestrialLocations=
wao.error.serviceReferential.updateAllContactStatesMotifs=
wao.error.serviceSampling.createSampleRowLog=
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialImplTest.java 2011-02-28 10:32:35 UTC (rev 1045)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialImplTest.java 2011-02-28 17:12:10 UTC (rev 1046)
@@ -33,6 +33,7 @@
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
+import org.junit.Ignore;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -157,4 +158,11 @@
assertEquals(6, result);
}
+ @Test
+ @Ignore("raise an exception due to business consistency, validation works")
+ public void testImportTerrestrialDivision() {
+ InputStream input = getClass().getResourceAsStream("/import/terrestrialDivisions.csv");
+ service.importTerrestrialDivisions(input);
+ }
+
}
Added: trunk/wao-business/src/test/resources/import/terrestrialDivisions.csv
===================================================================
--- trunk/wao-business/src/test/resources/import/terrestrialDivisions.csv (rev 0)
+++ trunk/wao-business/src/test/resources/import/terrestrialDivisions.csv 2011-02-28 17:12:10 UTC (rev 1046)
@@ -0,0 +1,418 @@
+"ID_STRATE";"REGION_IFREMER_COD";"REGION_IFREMER_LIB";"ZONE_COMPETENCE_COD";"ZONE_COMPETENCE_LIB";"SOUS_POPULATION_COD";"SOUS_POPULATION_LIB";"UNITE_OBSERVATION_COD";"UNITE_OBSERVATION_LIB";"LIEU_OBSERVATION_COD";"LIEU_OBSERVATION_LIB";"DATE_DEBUT";"DATE_FIN"
+278;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO207";"SM-Anse Dufour";"OF3";"SM-Anse Dufour";01/01/2009 00:00:00,000000000;""
+279;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO223";"PR-Anse Céron";"SF1";"PR-Anse Céron";01/01/2009 00:00:00,000000000;""
+280;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO224";"PR-Anse Belleville";"SF2";"PR-Anse Belleville";01/01/2009 00:00:00,000000000;""
+281;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO226";"PR-Bourg du Prêcheur";"SF4";"PR-Bourg du Prêcheur";01/01/2009 00:00:00,000000000;""
+282;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO227";"PR-Pointe Lamare";"SF5";"PR-Pointe Lamare";01/01/2009 00:00:00,000000000;""
+283;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO229";"PR-Charmeuse";"SF7";"PR-Charmeuse";01/01/2009 00:00:00,000000000;""
+284;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO234";"SP-Sainte Philomène";"TF1";"SP-Sainte Philomène";01/01/2009 00:00:00,000000000;""
+285;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO235";"SP-Fond Corre";"TF2";"SP-Fond Corre";01/01/2009 00:00:00,000000000;""
+286;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO236";"SP-La Galère";"TF3";"SP-La Galère";01/01/2009 00:00:00,000000000;""
+287;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO249";"BF-Fond Capot";"VF1";"BF-Fond Capot";01/01/2009 00:00:00,000000000;""
+288;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO251";"BF-Fond Boucher";"VF3";"BF-Fond Boucher";01/01/2009 00:00:00,000000000;""
+289;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO256";"CP-Fond Bourlet";"WF2";"CP-Fond Bourlet";01/01/2009 00:00:00,000000000;""
+290;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO258";"SH-Fond Bernier";"XF1";"SH-Fond Bernier";01/01/2009 00:00:00,000000000;""
+291;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO260";"SH-Anse Madame";"XF3";"SH-Anse Madame";01/01/2009 00:00:00,000000000;""
+292;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO261";"SH-Schoelcher (Bourg)";"XF4";"SH-Schoelcher (Bourg)";01/01/2009 00:00:00,000000000;""
+293;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO262";"SH-Anse Gouraud";"XF5";"SH-Anse Gouraud";01/01/2009 00:00:00,000000000;""
+294;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO263";"Fort-de-France";"XFF";"Fort-de-France";01/01/2009 00:00:00,000000000;""
+295;"LR";"Languedoc-Roussillon";"ZC01";"Quartier maritme de Port-Vendres";"SP01";"Mer Prud. St-Cyprien + Etangs Capellans et Canet";"UO001";"Cerbère, Banyuls-sur-mer, Port-Vendres";"KPV";"Cerbère";01/01/2009 00:00:00,000000000;""
+296;"LR";"Languedoc-Roussillon";"ZC01";"Quartier maritme de Port-Vendres";"SP01";"Mer Prud. St-Cyprien + Etangs Capellans et Canet";"UO001";"Cerbère, Banyuls-sur-mer, Port-Vendres";"APV";"Banyuls-sur-Mer";01/01/2009 00:00:00,000000000;""
+297;"LR";"Languedoc-Roussillon";"ZC01";"Quartier maritme de Port-Vendres";"SP01";"Mer Prud. St-Cyprien + Etangs Capellans et Canet";"UO001";"Cerbère, Banyuls-sur-mer, Port-Vendres";"XPV";"Port-Vendres";01/01/2009 00:00:00,000000000;""
+298;"LR";"Languedoc-Roussillon";"ZC01";"Quartier maritme de Port-Vendres";"SP01";"Mer Prud. St-Cyprien + Etangs Capellans et Canet";"UO002";"Collioure, Argelès-sur-Mer, le Racou";"LPV";"Collioure";01/01/2009 00:00:00,000000000;""
+299;"LR";"Languedoc-Roussillon";"ZC01";"Quartier maritme de Port-Vendres";"SP01";"Mer Prud. St-Cyprien + Etangs Capellans et Canet";"UO002";"Collioure, Argelès-sur-Mer, le Racou";"BPV";"Argelès-sur-Mer, Le Racou";01/01/2009 00:00:00,000000000;""
+300;"LR";"Languedoc-Roussillon";"ZC01";"Quartier maritme de Port-Vendres";"SP01";"Mer Prud. St-Cyprien + Etangs Capellans et Canet";"UO003";"Saint-Cyprien, Canet-en-Roussillon";"CPV";"Saint-Cyprien";01/01/2009 00:00:00,000000000;""
+301;"LR";"Languedoc-Roussillon";"ZC01";"Quartier maritme de Port-Vendres";"SP01";"Mer Prud. St-Cyprien + Etangs Capellans et Canet";"UO003";"Saint-Cyprien, Canet-en-Roussillon";"DPV";"Canet-en-Roussillon";01/01/2009 00:00:00,000000000;""
+302;"LR";"Languedoc-Roussillon";"ZC01";"Quartier maritme de Port-Vendres";"SP02";"Mer Prud. St Laurent-Salanque et Leucate + Etang Salse-Leucate";"UO004";"Port St Ange, Port Leucate";"FPV";"Port-Leucate";01/01/2009 00:00:00,000000000;""
+303;"LR";"Languedoc-Roussillon";"ZC01";"Quartier maritme de Port-Vendres";"SP02";"Mer Prud. St Laurent-Salanque et Leucate + Etang Salse-Leucate";"UO004";"Port St Ange, Port Leucate";"MPV";"Port St Ange";01/01/2009 00:00:00,000000000;""
+304;"LR";"Languedoc-Roussillon";"ZC01";"Quartier maritme de Port-Vendres";"SP02";"Mer Prud. St Laurent-Salanque et Leucate + Etang Salse-Leucate";"UO005";"Etang de Salse-Leucate, Port bacarés - Port Fitou, Grau de Leucate";"EPV";"Etang de Salse-Leucate, Port Barcarès";01/01/2009 00:00:00,000000000;""
+305;"LR";"Languedoc-Roussillon";"ZC01";"Quartier maritme de Port-Vendres";"SP02";"Mer Prud. St Laurent-Salanque et Leucate + Etang Salse-Leucate";"UO005";"Etang de Salse-Leucate, Port bacarés - Port Fitou, Grau de Leucate";"NPV";"Grau de Leucate";01/01/2009 00:00:00,000000000;""
+306;"LR";"Languedoc-Roussillon";"ZC01";"Quartier maritme de Port-Vendres";"SP02";"Mer Prud. St Laurent-Salanque et Leucate + Etang Salse-Leucate";"UO005";"Etang de Salse-Leucate, Port bacarés - Port Fitou, Grau de Leucate";"OPV";"Etang de Salse-Leucate, Port-Fitou";01/01/2009 00:00:00,000000000;""
+307;"LR";"Languedoc-Roussillon";"ZC01";"Quartier maritme de Port-Vendres";"SP03";"Mer Prud. Port-la-Nouvelle et Gruissan et Etangs";"UO006";"Port-la-Nouvelle (mer)";"GPV1";"Port-la-Nouvelle - Mer";01/01/2009 00:00:00,000000000;""
+308;"LR";"Languedoc-Roussillon";"ZC01";"Quartier maritme de Port-Vendres";"SP03";"Mer Prud. Port-la-Nouvelle et Gruissan et Etangs";"UO007";"Etang de Bages-Sigean, Port-la-Nouvelle - Bages - Peyriac de mer";"GPV2";"Port-la-Nouvelle - Etang";01/01/2009 00:00:00,000000000;""
+309;"LR";"Languedoc-Roussillon";"ZC01";"Quartier maritme de Port-Vendres";"SP03";"Mer Prud. Port-la-Nouvelle et Gruissan et Etangs";"UO007";"Etang de Bages-Sigean, Port-la-Nouvelle - Bages - Peyriac de mer";"QPV";"Etang de Bages-Sigean, Bages";01/01/2009 00:00:00,000000000;""
+310;"LR";"Languedoc-Roussillon";"ZC01";"Quartier maritme de Port-Vendres";"SP03";"Mer Prud. Port-la-Nouvelle et Gruissan et Etangs";"UO007";"Etang de Bages-Sigean, Port-la-Nouvelle - Bages - Peyriac de mer";"IPV";"Etang de Bages-Sigean, Peyriac de mer";01/01/2009 00:00:00,000000000;""
+311;"LR";"Languedoc-Roussillon";"ZC01";"Quartier maritme de Port-Vendres";"SP03";"Mer Prud. Port-la-Nouvelle et Gruissan et Etangs";"UO008";"Gruissan, Etangs Ayrolle, Campignol, Grazel";"JPV";"Etang de l'Ayrolle";01/01/2009 00:00:00,000000000;""
+312;"LR";"Languedoc-Roussillon";"ZC01";"Quartier maritme de Port-Vendres";"SP03";"Mer Prud. Port-la-Nouvelle et Gruissan et Etangs";"UO008";"Gruissan, Etangs Ayrolle, Campignol, Grazel";"HPV2";"Gruissan - Etang";01/01/2009 00:00:00,000000000;""
+313;"LR";"Languedoc-Roussillon";"ZC01";"Quartier maritme de Port-Vendres";"SP03";"Mer Prud. Port-la-Nouvelle et Gruissan et Etangs";"UO009";"Gruissan Mer";"HPV1";"Gruissan - Mer";01/01/2009 00:00:00,000000000;""
+314;"LR";"Languedoc-Roussillon";"ZC01";"Quartier maritme de Port-Vendres";"SP04";"Mer Prud. Port-la-Nouvelle et Gruissan et Etangs";"UO010";"Les Cabanes de Fleury";"PPV";"Les Cabanes de Fleury";01/01/2009 00:00:00,000000000;""
+315;"LR";"Languedoc-Roussillon";"ZC02";"Sète, partie mer de l'hérault";"SP05";"Mer Prud. Valras et Agde";"UO011";"Valras-Plage";"AST";"Valras-Plage";01/01/2009 00:00:00,000000000;""
+316;"LR";"Languedoc-Roussillon";"ZC02";"Sète, partie mer de l'hérault";"SP05";"Mer Prud. Valras et Agde";"UO012";"Grau d'Agde";"BST";"Grau d'Agde";01/01/2009 00:00:00,000000000;""
+317;"LR";"Languedoc-Roussillon";"ZC02";"Sète, partie mer de l'hérault";"SP05";"Mer Prud. Valras et Agde";"UO013";"Cap d'Agde";"CST";"Cap d'Agde";01/01/2009 00:00:00,000000000;""
+318;"LR";"Languedoc-Roussillon";"ZC02";"Sète, partie mer de l'hérault";"SP05";"Mer Prud. Valras et Agde";"UO014";"Marseillan-plage";"LST";"Marseillan-plage";01/01/2009 00:00:00,000000000;""
+319;"LR";"Languedoc-Roussillon";"ZC02";"Sète, partie mer de l'hérault";"SP06";"Sète môle et étang";"UO015";"Etang de Thau, Pte Courte, Barrou, Zup";"QST";"Etang de Thau, Pte Courte, Barrou, Zup";01/01/2009 00:00:00,000000000;""
+320;"LR";"Languedoc-Roussillon";"ZC02";"Sète, partie mer de l'hérault";"SP06";"Sète môle et étang";"UO016";"Sète, tous les ports";"PST";"Sète-Mole et canaux";01/01/2009 00:00:00,000000000;""
+321;"LR";"Languedoc-Roussillon";"ZC02";"Sète, partie mer de l'hérault";"SP06";"Sète môle et étang";"UO016";"Sète, tous les ports";"XST";"Sète, tous les ports";01/01/2009 00:00:00,000000000;""
+322;"LR";"Languedoc-Roussillon";"ZC02";"Sète, partie mer de l'hérault";"SP07";"Prud. Palavas mer et étangs";"UO017";"Frontignan (mer)";"EST";"Frontignan";01/01/2009 00:00:00,000000000;""
+323;"LR";"Languedoc-Roussillon";"ZC02";"Sète, partie mer de l'hérault";"SP07";"Prud. Palavas mer et étangs";"UO018";"Etangs frontignanais et palavasiens";"NST";"Etang d'Ingril, Les Aresquiers";01/01/2009 00:00:00,000000000;""
+324;"LR";"Languedoc-Roussillon";"ZC02";"Sète, partie mer de l'hérault";"SP07";"Prud. Palavas mer et étangs";"UO018";"Etangs frontignanais et palavasiens";"IST";"Etangs de Vic, Moures, Arnel, Prévost, P. Blanches";01/01/2009 00:00:00,000000000;""
+325;"LR";"Languedoc-Roussillon";"ZC02";"Sète, partie mer de l'hérault";"SP07";"Prud. Palavas mer et étangs";"UO018";"Etangs frontignanais et palavasiens";"SST";"Etang de Pérols, Port de Carême";01/01/2009 00:00:00,000000000;""
+326;"LR";"Languedoc-Roussillon";"ZC02";"Sète, partie mer de l'hérault";"SP07";"Prud. Palavas mer et étangs";"UO019";"Palavas-les-Flots, Carnon-Plage";"FST";"Palavas-les-Flots";01/01/2009 00:00:00,000000000;""
+327;"LR";"Languedoc-Roussillon";"ZC02";"Sète, partie mer de l'hérault";"SP07";"Prud. Palavas mer et étangs";"UO019";"Palavas-les-Flots, Carnon-Plage";"OST";"Carnon-Plage";01/01/2009 00:00:00,000000000;""
+328;"LR";"Languedoc-Roussillon";"ZC03";"Sète, étangs de Thau et de Mauguio - port du Grau du roi";"SP08";"Prud. Etang de Thau";"UO020";"Etang de Thau, Marseillan";"DST";"Etang de Thau, Marseillan";01/01/2009 00:00:00,000000000;""
+329;"LR";"Languedoc-Roussillon";"ZC03";"Sète, Etangs de Thau et de Mauguio - port du Grau du roi";"SP08";"Prud. Etang de Thau";"UO021";"Etang de Thau, Mèze, le Mourre Blanc";"JST";"Etang de Thau, Mèze, le Mourre Blanc";01/01/2009 00:00:00,000000000;""
+330;"LR";"Languedoc-Roussillon";"ZC03";"Sète, Etangs de Thau et de Mauguio - port du Grau du roi";"SP08";"Prud. Etang de Thau";"UO022";"Etang de Thau, Bouzigues+Loupian - Balaruc";"KST";"Etang de Thau, Bouzigues";01/01/2009 00:00:00,000000000;""
+331;"LR";"Languedoc-Roussillon";"ZC03";"Sète, Etangs de Thau et de Mauguio - port du Grau du roi";"SP08";"Prud. Etang de Thau";"UO022";"Etang de Thau, Bouzigues+Loupian - Balaruc";"MST";"Etang de Thau, Balaruc";01/01/2009 00:00:00,000000000;""
+332;"LR";"Languedoc-Roussillon";"ZC03";"Sète, Etangs de Thau et de Mauguio - port du Grau du roi";"SP09";"Prud. Du Grau du Roi (mer et étang) et Etang de Mauguio";"UO023";"Le-Grau-du-Roi";"GST";"Le-Grau-du-Roi";01/01/2009 00:00:00,000000000;""
+333;"LR";"Languedoc-Roussillon";"ZC03";"Sète, Etangs de Thau et de Mauguio - port du Grau du roi";"SP09";"Prud. Du Grau du Roi (mer et étang) et Etang de Mauguio";"UO024";"Etang de Mauguio (Cabanes de Mauguio et Lunel) et du Gard";"HST";"Etang Mauguio, Cabanes de Mauguio, Lunel, Pérols";01/01/2009 00:00:00,000000000;""
+334;"PA";"Provence-Alpes-Côte d'Azur";"ZC04";"PACA-ouest,de Port-Saint-Louis-du-Rhône à Méjean";"SP01";"Cabanes de Beauduc";"UO001";"Cabanes de Beauduc";"HMT";"Cabanes de Beauduc";01/01/2009 00:00:00,000000000;""
+335;"PA";"Provence-Alpes-Côte d'Azur";"ZC04";"PACA-ouest, de Port-Saint-Louis-du-Rhône à Méjean";"SP02";"Port-Saint-Louis-du-Rhône";"UO002";"Port-Saint-Louis-du-Rhône";"BMT";"Port-Saint-Louis-du-Rhône";01/01/2009 00:00:00,000000000;""
+336;"PA";"Provence-Alpes-Côte d'Azur";"ZC04";"PACA-ouest, de Port-Saint-Louis-du-Rhône à Méjean";"SP02";"Port-Saint-Louis-du-Rhône";"UO003";"Les Salins de Giraud";"IMT";"Les Salins de Giraud";01/01/2009 00:00:00,000000000;""
+337;"PA";"Provence-Alpes-Côte d'Azur";"ZC04";"PACA-ouest, de Port-Saint-Louis-du-Rhône à Méjean";"SP02";"Port-Saint-Louis-du-Rhône";"UO004";"Port de Carteau";"JMT";"Port de Carteau";01/01/2009 00:00:00,000000000;""
+338;"PA";"Provence-Alpes-Côte d'Azur";"ZC04";"PACA-ouest, de Port-Saint-Louis-du-Rhône à Méjean";"SP03";"Port-de-Bouc";"UO005";"Port-de-Bouc, anse Aubran";"CMT";"Port-de-Bouc, Anse Aubran";01/01/2009 00:00:00,000000000;""
+339;"PA";"Provence-Alpes-Côte d'Azur";"ZC04";"PACA-ouest, de Port-Saint-Louis-du-Rhône à Méjean";"SP03";"Port-de-Bouc";"UO006";"Fos sur Mer, port St Gervais";"KMT";"Fos sur Mer, port St Gervais";01/01/2009 00:00:00,000000000;""
+340;"PA";"Provence-Alpes-Côte d'Azur";"ZC04";"PACA-ouest, de Port-Saint-Louis-du-Rhône à Méjean";"SP04";"Etang de Berre";"UO007";"Etang de Berre, Saint-Chamas";"DMT";"Etang de Berre, Saint-Chamas";01/01/2009 00:00:00,000000000;""
+341;"PA";"Provence-Alpes-Côte d'Azur";"ZC04";"PACA-ouest, de Port-Saint-Louis-du-Rhône à Méjean";"SP04";"Etang de Berre";"UO007";"Etang de Berre, Saint-Chamas";"EMT";"Ensemble de l'Etang de Berre";01/01/2009 00:00:00,000000000;""
+342;"PA";"Provence-Alpes-Côte d'Azur";"ZC04";"PACA-ouest, de Port-Saint-Louis-du-Rhône à Méjean";"SP04";"Etang de Berre";"UO008";"Etang de Berre, Marignane";"FMT";"Etang de Berre, Marignane";01/01/2009 00:00:00,000000000;""
+343;"PA";"Provence-Alpes-Côte d'Azur";"ZC04";"PACA-ouest, de Port-Saint-Louis-du-Rhône à Méjean";"SP04";"Etang de Berre";"UO009";"Etang de Berre, Istre - hres Claires";"LMT";"Etang de Berre, Istres -les heures Claires";01/01/2009 00:00:00,000000000;""
+344;"PA";"Provence-Alpes-Côte d'Azur";"ZC04";"PACA-ouest, de Port-Saint-Louis-du-Rhône à Méjean";"SP04";"Etang de Berre";"UO010";"Etang de Berre, Berre - port passet";"MMT";"Etang de Berre, Berre - Port de passet";01/01/2009 00:00:00,000000000;""
+345;"PA";"Provence-Alpes-Côte d'Azur";"ZC04";"PACA-ouest, de Port-Saint-Louis-du-Rhône à Méjean";"SP04";"Etang de Berre";"UO011";"Etang de Berre, La Mède";"NMT";"Etang de Berre, La Mède";01/01/2009 00:00:00,000000000;""
+346;"PA";"Provence-Alpes-Côte d'Azur";"ZC04";"PACA-ouest, de Port-Saint-Louis-du-Rhône à Méjean";"SP05";"Martigues";"UO012";"Martigues";"XMT";"Martigues";01/01/2009 00:00:00,000000000;""
+347;"PA";"Provence-Alpes-Côte d'Azur";"ZC04";"PACA-ouest, de Port-Saint-Louis-du-Rhône à Méjean";"SP05";"Martigues";"UO012";"Martigues";"OMT";"Port de Ponteau";01/01/2009 00:00:00,000000000;""
+348;"PA";"Provence-Alpes-Côte d'Azur";"ZC04";"PACA-ouest, de Port-Saint-Louis-du-Rhône à Méjean";"SP06";"De Sausset-les-Pins à Méjean";"UO013";"Sausset-les-Pins";"AMA";"Sausset-les-Pins";01/01/2009 00:00:00,000000000;""
+349;"PA";"Provence-Alpes-Côte d'Azur";"ZC04";"PACA-ouest, de Port-Saint-Louis-du-Rhône à Méjean";"SP06";"De Sausset-les-Pins à Méjean";"UO014";"Carry-le-Rouet";"BMA";"Carry-le-Rouet";01/01/2009 00:00:00,000000000;""
+350;"PA";"Provence-Alpes-Côte d'Azur";"ZC04";"PACA-ouest, de Port-Saint-Louis-du-Rhône à Méjean";"SP06";"De Sausset-les-Pins à Méjean";"UO015";"La Redonne, Méjean";"EMA";"La Redonne, Méjean";01/01/2009 00:00:00,000000000;""
+351;"PA";"Provence-Alpes-Côte d'Azur";"ZC04";"PACA-ouest, de Port-Saint-Louis-du-Rhône à Méjean";"SP07";"Sainte-Maries-de-la-Mer";"UO016";"Sainte-Maries-de-la-Mer";"AMT";"Saintes-Maries-de-la-Mer, Port Cardian";01/01/2009 00:00:00,000000000;""
+352;"PA";"Provence-Alpes-Côte d'Azur";"ZC04";"PACA-ouest, de Port-Saint-Louis-du-Rhône à Méjean";"SP08";"Carro";"UO017";"Carro";"QMT";"Carro";01/01/2009 00:00:00,000000000;""
+353;"PA";"Provence-Alpes-Côte d'Azur";"ZC04";"PACA-ouest, de Port-Saint-Louis-du-Rhône à Méjean";"SP08";"Carro";"UO018";"Anse des Laurons";"PMT";"Anse des laurons";01/01/2009 00:00:00,000000000;""
+354;"PA";"Provence-Alpes-Côte d'Azur";"ZC05";"PACA-centre, de Marseille à Hyères";"SP09";"Marseille";"UO019";"L'Estaque";"FMA";"L'Estaque";01/01/2009 00:00:00,000000000;""
+355;"PA";"Provence-Alpes-Côte d'Azur";"ZC05";"PACA-centre, de Marseille à Hyères";"SP09";"Marseille";"UO020";"Vieux Port de Marseille-Port de Frioul (ile de)-Vallon des Auffes";"HMA";"Vieux Port de Marseille";01/01/2009 00:00:00,000000000;""
+356;"PA";"Provence-Alpes-Côte d'Azur";"ZC05";"PACA-centre, de Marseille à Hyères";"SP09";"Marseille";"UO020";"Vieux Port de Marseille-Port de Frioul (ile de)-Vallon des Auffes";"IMA";"Vallon des Auffes";01/01/2009 00:00:00,000000000;""
+357;"PA";"Provence-Alpes-Côte d'Azur";"ZC05";"PACA-centre, de Marseille à Hyères";"SP09";"Marseille";"UO020";"Vieux Port de Marseille-Port de Frioul (ile de)-Vallon des Auffes";"XMA";"Marseille";01/01/2009 00:00:00,000000000;""
+358;"PA";"Provence-Alpes-Côte d'Azur";"ZC05";"PACA-centre, de Marseille à Hyères";"SP09";"Marseille";"UO021";"Saumaty";"GMA";"Saumaty";01/01/2009 00:00:00,000000000;""
+359;"PA";"Provence-Alpes-Côte d'Azur";"ZC05";"PACA-centre, de Marseille à Hyères";"SP09";"Marseille";"UO022";"Port des Goudes - Callanques de Callelongue";"KMA";"Port des Goudes";01/01/2009 00:00:00,000000000;""
+360;"PA";"Provence-Alpes-Côte d'Azur";"ZC05";"PACA-centre, de Marseille à Hyères";"SP09";"Marseille";"UO023";"La Madrague de Montredon - Pointe Rouge";"JMA";"La Madrague de Montredon";01/01/2009 00:00:00,000000000;""
+361;"PA";"Provence-Alpes-Côte d'Azur";"ZC05";"PACA-centre, de Marseille à Hyères";"SP10";"Cassis";"UO024";"Calanque de Sormiou - Port de Morgiou";"LMA";"Calanque de Sormiou";01/01/2009 00:00:00,000000000;""
+362;"PA";"Provence-Alpes-Côte d'Azur";"ZC05";"PACA-centre, de Marseille à Hyères";"SP10";"Cassis";"UO024";"Calanque de Sormiou - Port de Morgiou";"MMA";"Port de Morgiou";01/01/2009 00:00:00,000000000;""
+363;"PA";"Provence-Alpes-Côte d'Azur";"ZC05";"PACA-centre, de Marseille à Hyères";"SP10";"Cassis";"UO025";"Calanque de Port-Miou";"NMA";"Calanque de Port-Miou";01/01/2009 00:00:00,000000000;""
+364;"PA";"Provence-Alpes-Côte d'Azur";"ZC05";"PACA-centre, de Marseille à Hyères";"SP10";"Cassis";"UO026";"Cassis";"CMA";"Cassis";01/01/2009 00:00:00,000000000;""
+365;"PA";"Provence-Alpes-Côte d'Azur";"ZC05";"PACA-centre, de Marseille à Hyères";"SP11";"La Ciotat";"UO027";"La Ciotat";"DMA";"La Ciotat";01/01/2009 00:00:00,000000000;""
+366;"PA";"Provence-Alpes-Côte d'Azur";"ZC05";"PACA-centre, de Marseille à Hyères";"SP12";"St Cyr sur mer - Bandol";"UO028";"St Cyr sur mer, La Madrague";"QTL";"St Cyr sur mer, la Madrague";01/01/2009 00:00:00,000000000;""
+367;"PA";"Provence-Alpes-Côte d'Azur";"ZC05";"PACA-centre, de Marseille à Hyères";"SP12";"St Cyr sur mer - Bandol";"UO029";"Bandol";"ATL";"Bandol";01/01/2009 00:00:00,000000000;""
+368;"PA";"Provence-Alpes-Côte d'Azur";"ZC05";"PACA-centre, de Marseille à Hyères";"SP13";"De St Elme à La Seyne-sur-Mer";"UO030";"St Elme";"LTL";"St Elme";01/01/2009 00:00:00,000000000;""
+369;"PA";"Provence-Alpes-Côte d'Azur";"ZC05";"PACA-centre, de Marseille à Hyères";"SP13";"De St Elme à La Seyne-sur-Mer";"UO031";"St Mandrier sur mer";"STL";"St Mandrier sur mer";01/01/2009 00:00:00,000000000;""
+370;"PA";"Provence-Alpes-Côte d'Azur";"ZC05";"PACA-centre, de Marseille à Hyères";"SP13";"De St Elme à La Seyne-sur-Mer";"UO032";"La Seyne-sur-mer";"DTL";"La Seyne-sur-Mer";01/01/2009 00:00:00,000000000;""
+371;"PA";"Provence-Alpes-Côte d'Azur";"ZC05";"PACA-centre, de Marseille à Hyères";"SP14";"Toulon";"UO033";"Port St Louis du Mourillon";"TTL";"Port St Louis du Mourillon";01/01/2009 00:00:00,000000000;""
+372;"PA";"Provence-Alpes-Côte d'Azur";"ZC05";"PACA-centre, de Marseille à Hyères";"SP14";"Toulon";"UO034";"Toulon";"XTL";"Toulon";01/01/2009 00:00:00,000000000;""
+373;"PA";"Provence-Alpes-Côte d'Azur";"ZC05";"PACA-centre, de Marseille à Hyères";"SP14";"Toulon";"UO035";"Port des Oursinières";"VTL";"Port des Oursinières";01/01/2009 00:00:00,000000000;""
+374;"PA";"Provence-Alpes-Côte d'Azur";"ZC05";"PACA-centre, de Marseille à Hyères";"SP15";"Hyères";"UO036";"Carqueiranne, les salettes";"ETL";"Carqueiranne, les salettes";01/01/2009 00:00:00,000000000;""
+375;"PA";"Provence-Alpes-Côte d'Azur";"ZC05";"PACA-centre, de Marseille à Hyères";"SP15";"Hyères";"UO037";"Hyères, Ayguade-St Pierre sur mer - La Capte";"GTL";"Hyères, St Pierre sur mer";01/01/2009 00:00:00,000000000;""
+376;"PA";"Provence-Alpes-Côte d'Azur";"ZC05";"PACA-centre, de Marseille à Hyères";"SP15";"Hyères";"UO038";"La Londe des Maures, Miramar";"5TL";"La Londe des Maures, Miramar";01/01/2009 00:00:00,000000000;""
+377;"PA";"Provence-Alpes-Côte d'Azur";"ZC05";"PACA-centre, de Marseille à Hyères";"SP15";"Hyères";"UO039";"Salins d'Hyères, Pothuau";"4TL";"Salins d'Hyères, Pothuau";01/01/2009 00:00:00,000000000;""
+378;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP16";"Sanary-sur-Mer - Le Brusc";"UO040";"Sanary-sur-Mer";"BTL";"Sanary-sur-Mer";01/01/2009 00:00:00,000000000;""
+379;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP16";"Sanary-sur-Mer - Le Brusc";"UO041";"Le Brusc - Port de la Coudoulière";"RTL";"Port de la Coudoulière";01/01/2009 00:00:00,000000000;""
+380;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP16";"Sanary-sur-Mer - Le Brusc";"UO041";"Le Brusc - Port de la Coudoulière";"CTL";"Le Brusc (Six-Fours-les-Plages)";01/01/2009 00:00:00,000000000;""
+381;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP17";"De Giens à Port-Cros";"UO042";"Giens, la Madrague";"ZTL";"Giens, la Madrague";01/01/2009 00:00:00,000000000;""
+382;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP17";"De Giens à Port-Cros";"UO043";"Giens, Port du Niel, de la tour fondue";"FTL";"Giens, Ports du Niel, de la Tour Fondue";01/01/2009 00:00:00,000000000;""
+383;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP17";"De Giens à Port-Cros";"UO044";"Port de Porquerolles (ile)";"2TL";"Port de Porquerolles (Ile de)";01/01/2009 00:00:00,000000000;""
+384;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP17";"De Giens à Port-Cros";"UO045";"Port-Cros (ile)";"6TL";"Port-Cros (Ile de)";01/01/2009 00:00:00,000000000;""
+385;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP18";"Le Lavandou";"UO046";"Le Lavandou - Port de Bormes les Mimosas";"MTL";"Port de Bormes les Mimosas, La Favière";01/01/2009 00:00:00,000000000;""
+386;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP18";"Le Lavandou";"UO046";"Le Lavandou - Port de Bormes les Mimosas";"HTL";"Le Lavandou";01/01/2009 00:00:00,000000000;""
+387;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP19";"Cavalaire sur Mer";"UO047";"Cavalaire sur Mer - Ramatuelle";"KTL";"Cavalaire sur Mer";01/01/2009 00:00:00,000000000;""
+388;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP20";"St-Tropez - Ste Maxime";"UO048";"Saint-Tropez, vieux port";"ITL";"Saint-Tropez, vieux port";01/01/2009 00:00:00,000000000;""
+389;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP20";"St-Tropez - Ste Maxime";"UO049";"Marines de Cogolin et Port Grimaud";"8TL";"Les Marines de Cogolin et Port Grimaud";01/01/2009 00:00:00,000000000;""
+390;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP20";"St-Tropez - Ste Maxime";"UO050";"Ste Maxime à St Aygulf";"NTL";"Ste Maxime";01/01/2009 00:00:00,000000000;""
+391;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP20";"St-Tropez - Ste Maxime";"UO050";"Ste Maxime à St Aygulf";"AT1";"Les Issambres, Port Ferréol";01/01/2009 00:00:00,000000000;""
+392;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP21";"Fréjus, St Raphaël";"UO051";"Fréjus";"PTL";"Fréjus";01/01/2009 00:00:00,000000000;""
+393;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP21";"Fréjus, St Raphaël";"UO052";"St-Raphaël";"JTL";"Saint-Raphaël, vieux port";01/01/2009 00:00:00,000000000;""
+394;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP21";"Fréjus, St Raphaël";"UO052";"St-Raphaël";"AT2";"Boulouris, le Toukan";01/01/2009 00:00:00,000000000;""
+395;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP21";"Fréjus, St Raphaël";"UO052";"St-Raphaël";"AT3";"Drammont, la Poussai";01/01/2009 00:00:00,000000000;""
+396;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP21";"Fréjus, St Raphaël";"UO052";"St-Raphaël";"AT4";"Agay";01/01/2009 00:00:00,000000000;""
+397;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP22";"Cannes";"UO053";"La Figueirette";"JNI";"La Figueirette";01/01/2009 00:00:00,000000000;""
+398;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP22";"Cannes";"UO054";"Théoule - La Galère";"SNI";"La Galère";01/01/2009 00:00:00,000000000;""
+399;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP22";"Cannes";"UO054";"Théoule - La Galère";"GNI";"Théoule";01/01/2009 00:00:00,000000000;""
+400;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP22";"Cannes";"UO055";"La Rague";"HNI";"La Rague";01/01/2009 00:00:00,000000000;""
+401;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP22";"Cannes";"UO056";"La Napoule";"INI";"La Napoule";01/01/2009 00:00:00,000000000;""
+402;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP22";"Cannes";"UO057";"Cannes, vieux port";"ANI";"Cannes, vieux port";01/01/2009 00:00:00,000000000;""
+403;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP22";"Cannes";"UO058";"Cannes, Nourée rouge";"KNI";"Cannes, Nourée Rouge";01/01/2009 00:00:00,000000000;""
+404;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP23";"Antibes";"UO059";"Golfe Juan - Juan les pins";"BNI";"Golfe Juan (Vallauris)";01/01/2009 00:00:00,000000000;""
+405;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP23";"Antibes";"UO060";"Port de Crouton - antibes";"PNI";"Port de Crouton";01/01/2009 00:00:00,000000000;""
+406;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP23";"Antibes";"UO061";"Port de Salis - antibes";"QNI";"Port de Salis";01/01/2009 00:00:00,000000000;""
+407;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP23";"Antibes";"UO062";"Port Vauban - antibes";"RNI";"Port Vauban";01/01/2009 00:00:00,000000000;""
+408;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP24";"Nice";"UO063";"Villeneuve Loubet";"1NI";"Villeneuve Loubet";01/01/2009 00:00:00,000000000;""
+409;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP24";"Nice";"UO064";"Cros de Cagnes - St Laurent du Var";"2NI";"Cros de Cagnes";01/01/2009 00:00:00,000000000;""
+410;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP24";"Nice";"UO065";"Nice";"XNI";"Nice";01/01/2009 00:00:00,000000000;""
+411;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP25";"De Villefranche à Baulieu";"UO066";"Villefranche, tous les ports";"VNI";"Villefranche, Port de la Darse";01/01/2009 00:00:00,000000000;""
+412;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP25";"De Villefranche à Baulieu";"UO066";"Villefranche, tous les ports";"3NI";"Villefranche, Port de la Santé";01/01/2009 00:00:00,000000000;""
+413;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP25";"De Villefranche à Baulieu";"UO066";"Villefranche, tous les ports";"DNI";"Villefranche-sur-Mer, tous les ports";01/01/2009 00:00:00,000000000;""
+414;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP25";"De Villefranche à Baulieu";"UO067";"St Jean Cap Ferrat";"UNI";"St Jean Cap Ferrat";01/01/2009 00:00:00,000000000;""
+415;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP25";"De Villefranche à Baulieu";"UO068";"Baulieu - Cap d'Ail";"TNI";"Baulieu";01/01/2009 00:00:00,000000000;""
+416;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP26";"Monaco - Menton";"UO069";"Monaco";"5NI";"Monaco, autres ports";01/01/2009 00:00:00,000000000;""
+417;"PA";"Provence-Alpes-Côte d'Azur";"ZC06";"PACA-est, de Sanary à Menton";"SP26";"Monaco - Menton";"UO070";"Menton, vieux port, Garavan";"ENI";"Menton, vieux port, Garavan";01/01/2009 00:00:00,000000000;""
+1;"RU";"Réunion";"ZC01";"Secteur Est";"SP01";"Côte Est";"UO001";"La Possession_Le Port";"ARU";"La Possession";01/01/2009 00:00:00,000000000;""
+2;"RU";"Réunion";"ZC01";"Secteur Est";"SP01";"Côte Est";"UO001";"La Possession_Le Port";"XRU";"Le Port";01/01/2009 00:00:00,000000000;""
+3;"RU";"Réunion";"ZC01";"Secteur Est";"SP01";"Côte Est";"UO002";"Saint Paul";"BRU";"Saint Paul";01/01/2009 00:00:00,000000000;""
+4;"RU";"Réunion";"ZC01";"Secteur Est";"SP01";"Côte Est";"UO003";"Saint Gilles";"CRU";"Saint Gilles";01/01/2009 00:00:00,000000000;""
+5;"RU";"Réunion";"ZC01";"Secteur Est";"SP01";"Côte Est";"UO004";"Saint André";"LRU";"Saint André";01/01/2009 00:00:00,000000000;""
+6;"RU";"Réunion";"ZC01";"Secteur Est";"SP01";"Côte Est";"UO005";"Sainte Marie_Saint Denis";"MRU";"Sainte Marie";01/01/2009 00:00:00,000000000;""
+7;"RU";"Réunion";"ZC01";"Secteur Est";"SP01";"Côte Est";"UO005";"Sainte Marie_Saint Denis";"NRU";"Saint Denis";01/01/2009 00:00:00,000000000;""
+8;"RU";"Réunion";"ZC01";"Secteur Est";"SP01";"Côte Est";"UO006";"Saint Benoît";"KRU";"Saint Benoît";01/01/2009 00:00:00,000000000;""
+9;"RU";"Réunion";"ZC02";"Secteur Ouest";"SP02";"Côte Ouest";"UO007";"Saint Leu";"DRU";"Saint Leu";01/01/2009 00:00:00,000000000;""
+10;"RU";"Réunion";"ZC02";"Secteur Ouest";"SP02";"Côte Ouest";"UO008";"Etang salé";"ERU";"Etang salé";01/01/2009 00:00:00,000000000;""
+11;"RU";"Réunion";"ZC02";"Secteur Ouest";"SP02";"Côte Ouest";"UO009";"Saint Pierre";"FRU";"Saint Pierre";01/01/2009 00:00:00,000000000;""
+12;"RU";"Réunion";"ZC02";"Secteur Ouest";"SP02";"Côte Ouest";"UO010";"Langevin";"GRU";"Langevin";01/01/2009 00:00:00,000000000;""
+13;"RU";"Réunion";"ZC02";"Secteur Ouest";"SP02";"Côte Ouest";"UO011";"Saint Philippe";"HRU";"Saint Philippe";01/01/2009 00:00:00,000000000;""
+14;"RU";"Réunion";"ZC02";"Secteur Ouest";"SP02";"Côte Ouest";"UO012";"Anse des cascades_Sainte Rose";"IRU";"Anse des cascades";01/01/2009 00:00:00,000000000;""
+15;"RU";"Réunion";"ZC02";"Secteur Ouest";"SP02";"Côte Ouest";"UO012";"Anse des cascades_Sainte Rose";"JRU";"Sainte Rose";01/01/2009 00:00:00,000000000;""
+16;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO001";"POINTE A PITRE";"AP1";"PP-Lauricisque";01/01/2009 00:00:00,000000000;""
+17;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO001";"POINTE A PITRE";"AP2";"PP-Bergevin";01/01/2009 00:00:00,000000000;""
+18;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO001";"POINTE A PITRE";"AP3";"PP-LaDarse";01/01/2009 00:00:00,000000000;""
+19;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO001";"POINTE A PITRE";"AP4";"PP-Carenage";01/01/2009 00:00:00,000000000;""
+20;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO001";"POINTE A PITRE";"AP5";"PP-Marina Pointe-A Pitre";01/01/2009 00:00:00,000000000;""
+21;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO001";"POINTE A PITRE";"XPP";"PP-Pointe-à-Pitre";01/01/2009 00:00:00,000000000;""
+22;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO002";"LE GOSIER";"BP1";"GO- La grande baie (Le Gosier)";01/01/2009 00:00:00,000000000;""
+23;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO002";"LE GOSIER";"BP2";"GO-Le Gosier Bourg";01/01/2009 00:00:00,000000000;""
+24;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO002";"LE GOSIER";"BP3";"GO-Anse du Mont";01/01/2009 00:00:00,000000000;""
+25;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO002";"LE GOSIER";"BP4";"GO-Petit Havre";01/01/2009 00:00:00,000000000;""
+26;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO002";"LE GOSIER";"BP5";"GO-Anse canot";01/01/2009 00:00:00,000000000;""
+27;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO003";"ST FRANCOIS_SAINTE ANNE";"CP1";"SA-FF Sainte Anne (Bourg)";01/01/2009 00:00:00,000000000;""
+28;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO003";"ST FRANCOIS_SAINTE ANNE";"CP2";"SA-Sainte Anne plage municipale";01/01/2009 00:00:00,000000000;""
+29;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO003";"ST FRANCOIS_SAINTE ANNE";"CP3";"SA-Castaing";01/01/2009 00:00:00,000000000;""
+30;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO003";"ST FRANCOIS_SAINTE ANNE";"CP4";"SA-Plage de bois Jolan";01/01/2009 00:00:00,000000000;""
+31;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO003";"ST FRANCOIS_SAINTE ANNE";"CP5";"SA-Les Galbas";01/01/2009 00:00:00,000000000;""
+32;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO003";"ST FRANCOIS_SAINTE ANNE";"DP1";"FR-Anse à la barque";01/01/2009 00:00:00,000000000;""
+33;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO003";"ST FRANCOIS_SAINTE ANNE";"DP2";"FR-Saint François (Bourg)";01/01/2009 00:00:00,000000000;""
+34;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO003";"ST FRANCOIS_SAINTE ANNE";"DP3";"FR- Entre port de pêche et plaisance";01/01/2009 00:00:00,000000000;""
+35;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO003";"ST FRANCOIS_SAINTE ANNE";"DP4";"FR-Marina de St François";01/01/2009 00:00:00,000000000;""
+36;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO003";"ST FRANCOIS_SAINTE ANNE";"DP5";"FR-Anse du mancenillier";01/01/2009 00:00:00,000000000;""
+37;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO003";"ST FRANCOIS_SAINTE ANNE";"DP6";"FR-Anse kahouane";01/01/2009 00:00:00,000000000;""
+38;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO004";"LE MOULE";"EP1";"MO-L'autre bord";01/01/2009 00:00:00,000000000;""
+39;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO004";"LE MOULE";"EP2";"MO-Rivière d'Audoin";01/01/2009 00:00:00,000000000;""
+40;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO004";"LE MOULE";"EP3";"MO-Le moule";01/01/2009 00:00:00,000000000;""
+41;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO004";"LE MOULE";"EP4";"MO-Baie du nord ouest";01/01/2009 00:00:00,000000000;""
+42;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO005";"ANSE BERTRAND_PORT LOUIS_PETIT CANAL_MORNE A L'EAU";"FP1";"AB-Anse Bertrand";01/01/2009 00:00:00,000000000;""
+43;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO005";"ANSE BERTRAND_PORT LOUIS_PETIT CANAL_MORNE A L'EAU";"FP2";"PL-Port Louis";01/01/2009 00:00:00,000000000;""
+44;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO005";"ANSE BERTRAND_PORT LOUIS_PETIT CANAL_MORNE A L'EAU";"GP1";"PC-Petit canal - la Darse";01/01/2009 00:00:00,000000000;""
+45;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO005";"ANSE BERTRAND_PORT LOUIS_PETIT CANAL_MORNE A L'EAU";"HP1";"MN-Canal des Rotours";01/01/2009 00:00:00,000000000;""
+46;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO005";"ANSE BERTRAND_PORT LOUIS_PETIT CANAL_MORNE A L'EAU";"HP2";"MN-(Vieux bourg ) Morne à l'eau";01/01/2009 00:00:00,000000000;""
+47;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO005";"ANSE BERTRAND_PORT LOUIS_PETIT CANAL_MORNE A L'EAU";"HP3";"MN-Anse Babin";01/01/2009 00:00:00,000000000;""
+48;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO005";"ANSE BERTRAND_PORT LOUIS_PETIT CANAL_MORNE A L'EAU";"HP4";"MN-Canal Perrin";01/01/2009 00:00:00,000000000;""
+49;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO011";"LA DESIRADE";"3P1";"DE-Anse des Galets";01/01/2009 00:00:00,000000000;""
+50;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO011";"LA DESIRADE";"3P2";"DE-Les Sables";01/01/2009 00:00:00,000000000;""
+51;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO011";"LA DESIRADE";"3P3";"DE-Beausejour";01/01/2009 00:00:00,000000000;""
+52;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO011";"LA DESIRADE";"3P4";"DE-Desert";01/01/2009 00:00:00,000000000;""
+53;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO011";"LA DESIRADE";"3P5";"DE-Le Souffleur";01/01/2009 00:00:00,000000000;""
+54;"GA";"Guadeloupe";"ZC01";"Nord Guadeloupe";"SP01";"Grande Terre et dépendances";"UO011";"LA DESIRADE";"3P6";"DE-Baie Mahault";01/01/2009 00:00:00,000000000;""
+55;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO006";"BAIE-MAHAULT_LAMENTIN_SAINTE ROSE";"IP1";"BM-Gabarre cote la jaille";01/01/2009 00:00:00,000000000;""
+56;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO006";"BAIE-MAHAULT_LAMENTIN_SAINTE ROSE";"IP2";"BM-Baie Mahault (débarcadère)";01/01/2009 00:00:00,000000000;""
+57;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO006";"BAIE-MAHAULT_LAMENTIN_SAINTE ROSE";"IP3";"BM-Baie Mahault (face ANPE)";01/01/2009 00:00:00,000000000;""
+58;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO006";"BAIE-MAHAULT_LAMENTIN_SAINTE ROSE";"IP4";"BM-Baie Dupuy";01/01/2009 00:00:00,000000000;""
+59;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO006";"BAIE-MAHAULT_LAMENTIN_SAINTE ROSE";"IP5";"BM-Moudong";01/01/2009 00:00:00,000000000;""
+60;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO006";"BAIE-MAHAULT_LAMENTIN_SAINTE ROSE";"IP6";"BM-Anse de la Chapelle";01/01/2009 00:00:00,000000000;""
+61;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO006";"BAIE-MAHAULT_LAMENTIN_SAINTE ROSE";"JP1";"LM-Blachon";01/01/2009 00:00:00,000000000;""
+62;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO006";"BAIE-MAHAULT_LAMENTIN_SAINTE ROSE";"KP1";"SR-Morne rouge";01/01/2009 00:00:00,000000000;""
+63;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO006";"BAIE-MAHAULT_LAMENTIN_SAINTE ROSE";"KP2";"SR-Viard";01/01/2009 00:00:00,000000000;""
+64;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO006";"BAIE-MAHAULT_LAMENTIN_SAINTE ROSE";"KP3";"SR-Sainte Rose (bourg)";01/01/2009 00:00:00,000000000;""
+65;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO006";"BAIE-MAHAULT_LAMENTIN_SAINTE ROSE";"KP4";"SR-Madame";01/01/2009 00:00:00,000000000;""
+66;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO006";"BAIE-MAHAULT_LAMENTIN_SAINTE ROSE";"KP5";"SR-Vinty";01/01/2009 00:00:00,000000000;""
+67;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO006";"BAIE-MAHAULT_LAMENTIN_SAINTE ROSE";"KP6";"SR-Clugny";01/01/2009 00:00:00,000000000;""
+68;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO007";"DESHAIES_POINTE NOIRE";"LP1";"DH-Anse Rifflet";01/01/2009 00:00:00,000000000;""
+69;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO007";"DESHAIES_POINTE NOIRE";"LP2";"DH-Grande anse de Deshaies";01/01/2009 00:00:00,000000000;""
+70;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO007";"DESHAIES_POINTE NOIRE";"LP3";"DH-Deshaies (bourg)";01/01/2009 00:00:00,000000000;""
+71;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO007";"DESHAIES_POINTE NOIRE";"LP4";"DH-Anse Ferry";01/01/2009 00:00:00,000000000;""
+72;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO007";"DESHAIES_POINTE NOIRE";"MP1";"PN-Petite Anse (Pointe noire)";01/01/2009 00:00:00,000000000;""
+73;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO007";"DESHAIES_POINTE NOIRE";"MP2";"PN- Baille Argent (Pointe noire)";01/01/2009 00:00:00,000000000;""
+74;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO007";"DESHAIES_POINTE NOIRE";"MP3";"PN-Anse Marigo";01/01/2009 00:00:00,000000000;""
+75;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO007";"DESHAIES_POINTE NOIRE";"MP4";"PN-Pointe noire (Bourg)";01/01/2009 00:00:00,000000000;""
+76;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO007";"DESHAIES_POINTE NOIRE";"MP5";"PN-Anse Guyonneau";01/01/2009 00:00:00,000000000;""
+77;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO007";"DESHAIES_POINTE NOIRE";"MP6";"PN-Plage caraïbe";01/01/2009 00:00:00,000000000;""
+78;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO008";"BOUILLANTE_VIEUX HABITANTS";"NP1";"BO-Anse Colas Mahault";01/01/2009 00:00:00,000000000;""
+79;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO008";"BOUILLANTE_VIEUX HABITANTS";"NP2";"BO-Malendure";01/01/2009 00:00:00,000000000;""
+80;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO008";"BOUILLANTE_VIEUX HABITANTS";"NP3";"BO-Anse à Galets";01/01/2009 00:00:00,000000000;""
+81;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO008";"BOUILLANTE_VIEUX HABITANTS";"NP4";"BO-Pigeon section la lise";01/01/2009 00:00:00,000000000;""
+82;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO008";"BOUILLANTE_VIEUX HABITANTS";"NP5";"BO-Pigeon section fromager";01/01/2009 00:00:00,000000000;""
+83;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO008";"BOUILLANTE_VIEUX HABITANTS";"NP6";"BO-Pigeon section coton";01/01/2009 00:00:00,000000000;""
+84;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO008";"BOUILLANTE_VIEUX HABITANTS";"NP7";"BO-Anse à sable";01/01/2009 00:00:00,000000000;""
+85;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO008";"BOUILLANTE_VIEUX HABITANTS";"NP8";"BO-Bouillante station thermale-Anse Marsolle";01/01/2009 00:00:00,000000000;""
+86;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO008";"BOUILLANTE_VIEUX HABITANTS";"NP9";"BO-Anse de Bouillante";01/01/2009 00:00:00,000000000;""
+87;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO008";"BOUILLANTE_VIEUX HABITANTS";"NPA";"BO-Pointe de l¿Ermitage";01/01/2009 00:00:00,000000000;""
+88;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO008";"BOUILLANTE_VIEUX HABITANTS";"NPB";"BO-Anse à Cardonnet";01/01/2009 00:00:00,000000000;""
+89;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO008";"BOUILLANTE_VIEUX HABITANTS";"NPC";"BO-Anse à Thomas";01/01/2009 00:00:00,000000000;""
+90;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO008";"BOUILLANTE_VIEUX HABITANTS";"NPD";"BO-Anse du Dépôt";01/01/2009 00:00:00,000000000;""
+91;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO008";"BOUILLANTE_VIEUX HABITANTS";"NPE";"BO-Grande anse Duche";01/01/2009 00:00:00,000000000;""
+92;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO008";"BOUILLANTE_VIEUX HABITANTS";"NPF";"BO-Trois Tortues";01/01/2009 00:00:00,000000000;""
+93;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO008";"BOUILLANTE_VIEUX HABITANTS";"NPG";"BO-Anse à la Barque (Bouillante)";01/01/2009 00:00:00,000000000;""
+94;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO008";"BOUILLANTE_VIEUX HABITANTS";"OP1";"VH-Anse à la Barque";01/01/2009 00:00:00,000000000;""
+95;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO008";"BOUILLANTE_VIEUX HABITANTS";"OP2";"VH-Marigot";01/01/2009 00:00:00,000000000;""
+96;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO008";"BOUILLANTE_VIEUX HABITANTS";"OP3";"VH-Vieux Habitants (Bourg)";01/01/2009 00:00:00,000000000;""
+97;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO008";"BOUILLANTE_VIEUX HABITANTS";"OP4";"VH-Anse du val de l'orge";01/01/2009 00:00:00,000000000;""
+98;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO009";"BAILLIF_BASSE TERRE_GOURBEYRE_VIEUX FORT_TROIS RIVIERES";"PP1";"BA-La Madeleine";01/01/2009 00:00:00,000000000;""
+99;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO009";"BAILLIF_BASSE TERRE_GOURBEYRE_VIEUX FORT_TROIS RIVIERES";"PP2";"BA-Baillif Quai (Bourg)";01/01/2009 00:00:00,000000000;""
+100;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO009";"BAILLIF_BASSE TERRE_GOURBEYRE_VIEUX FORT_TROIS RIVIERES";"PP3";"BA-Tour du père Labat";01/01/2009 00:00:00,000000000;""
+101;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO009";"BAILLIF_BASSE TERRE_GOURBEYRE_VIEUX FORT_TROIS RIVIERES";"QP1";"BT-Rivière des pères";01/01/2009 00:00:00,000000000;""
+102;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO009";"BAILLIF_BASSE TERRE_GOURBEYRE_VIEUX FORT_TROIS RIVIERES";"QP2";"BT-Basse terre (quai saintois)";01/01/2009 00:00:00,000000000;""
+103;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO009";"BAILLIF_BASSE TERRE_GOURBEYRE_VIEUX FORT_TROIS RIVIERES";"RP1";"GY-Face IRPM";01/01/2009 00:00:00,000000000;""
+104;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO009";"BAILLIF_BASSE TERRE_GOURBEYRE_VIEUX FORT_TROIS RIVIERES";"RP2";"GY-Marina de Rivière Sens";01/01/2009 00:00:00,000000000;""
+105;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO009";"BAILLIF_BASSE TERRE_GOURBEYRE_VIEUX FORT_TROIS RIVIERES";"SP1";"VF-Pointe Mazarin";01/01/2009 00:00:00,000000000;""
+106;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO009";"BAILLIF_BASSE TERRE_GOURBEYRE_VIEUX FORT_TROIS RIVIERES";"SP2";"VF-Anse Dupuy";01/01/2009 00:00:00,000000000;""
+107;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO009";"BAILLIF_BASSE TERRE_GOURBEYRE_VIEUX FORT_TROIS RIVIERES";"SP3";"VF-Vieux fort";01/01/2009 00:00:00,000000000;""
+108;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO009";"BAILLIF_BASSE TERRE_GOURBEYRE_VIEUX FORT_TROIS RIVIERES";"SP4";"VF-Pointe à Launay";01/01/2009 00:00:00,000000000;""
+109;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO009";"BAILLIF_BASSE TERRE_GOURBEYRE_VIEUX FORT_TROIS RIVIERES";"TP1";"TR-Plage de la grande anse";01/01/2009 00:00:00,000000000;""
+110;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO009";"BAILLIF_BASSE TERRE_GOURBEYRE_VIEUX FORT_TROIS RIVIERES";"TP2";"TR-Bord de mer (Trois Rivières)";01/01/2009 00:00:00,000000000;""
+111;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO010";"CAPESTERRE BELLE EAU_GOYAVE_PETIT BOURG";"UP1";"CB-Anse salé";01/01/2009 00:00:00,000000000;""
+112;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO010";"CAPESTERRE BELLE EAU_GOYAVE_PETIT BOURG";"UP2";"CB-Anse du Bananier";01/01/2009 00:00:00,000000000;""
+113;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO010";"CAPESTERRE BELLE EAU_GOYAVE_PETIT BOURG";"UP3";"CB-Anse Saint Sauveur";01/01/2009 00:00:00,000000000;""
+114;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO010";"CAPESTERRE BELLE EAU_GOYAVE_PETIT BOURG";"UP4";"CB-Capesterre Belle Eau (Bourg)";01/01/2009 00:00:00,000000000;""
+115;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO010";"CAPESTERRE BELLE EAU_GOYAVE_PETIT BOURG";"UP5";"CB-Plage de roseau";01/01/2009 00:00:00,000000000;""
+116;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO010";"CAPESTERRE BELLE EAU_GOYAVE_PETIT BOURG";"UP6";"CB-Sainte Marie";01/01/2009 00:00:00,000000000;""
+117;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO010";"CAPESTERRE BELLE EAU_GOYAVE_PETIT BOURG";"UP7";"CB-Four à chaux";01/01/2009 00:00:00,000000000;""
+118;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO010";"CAPESTERRE BELLE EAU_GOYAVE_PETIT BOURG";"VP1";"GY-Sainte claire";01/01/2009 00:00:00,000000000;""
+119;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO010";"CAPESTERRE BELLE EAU_GOYAVE_PETIT BOURG";"VP2";"GY-Goyave (Bourg)";01/01/2009 00:00:00,000000000;""
+120;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO010";"CAPESTERRE BELLE EAU_GOYAVE_PETIT BOURG";"VP3";"GY-Sarcelle";01/01/2009 00:00:00,000000000;""
+121;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO010";"CAPESTERRE BELLE EAU_GOYAVE_PETIT BOURG";"WP1";"PB- Petit bourg - la Vinaigrerie";01/01/2009 00:00:00,000000000;""
+122;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO012";"GRAND BOURG_CAPESTERRE_ST LOUIS";"ZP1";"GB-Folle Anse";01/01/2009 00:00:00,000000000;""
+123;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO012";"GRAND BOURG_CAPESTERRE_ST LOUIS";"ZP2";"GB-Grand bourg de Marie Galante";01/01/2009 00:00:00,000000000;""
+124;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO012";"GRAND BOURG_CAPESTERRE_ST LOUIS";"ZP3";"GB-Plage de Murat";01/01/2009 00:00:00,000000000;""
+125;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO012";"GRAND BOURG_CAPESTERRE_ST LOUIS";"ZP4";"GB-Les Basses";01/01/2009 00:00:00,000000000;""
+126;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO012";"GRAND BOURG_CAPESTERRE_ST LOUIS";"1P1";"CP-Capesterre de Marie-Galante";01/01/2009 00:00:00,000000000;""
+127;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO012";"GRAND BOURG_CAPESTERRE_ST LOUIS";"2P1";"SL-Route du Vieux fort";01/01/2009 00:00:00,000000000;""
+128;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO012";"GRAND BOURG_CAPESTERRE_ST LOUIS";"2P2";"SL-Anse canot";01/01/2009 00:00:00,000000000;""
+129;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO012";"GRAND BOURG_CAPESTERRE_ST LOUIS";"2P3";"SL-Saint louis de Marie Galante";01/01/2009 00:00:00,000000000;""
+130;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO012";"GRAND BOURG_CAPESTERRE_ST LOUIS";"2P4";"SL-Plage du Bourg";01/01/2009 00:00:00,000000000;""
+131;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO013";"TERRE DE HAUT_TERRE DE BAS";"XP1";"TH-Terre de Haut (Bourg)";01/01/2009 00:00:00,000000000;""
+132;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO013";"TERRE DE HAUT_TERRE DE BAS";"XP2";"TH-Petite anse";01/01/2009 00:00:00,000000000;""
+133;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO013";"TERRE DE HAUT_TERRE DE BAS";"XP3";"TH-Anse Fond cure";01/01/2009 00:00:00,000000000;""
+134;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO013";"TERRE DE HAUT_TERRE DE BAS";"XP4";"TH-Anse Morel";01/01/2009 00:00:00,000000000;""
+135;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO013";"TERRE DE HAUT_TERRE DE BAS";"XP5";"TH-Plage de Marigot";01/01/2009 00:00:00,000000000;""
+136;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO013";"TERRE DE HAUT_TERRE DE BAS";"XP6";"TH-Anse Mire";01/01/2009 00:00:00,000000000;""
+137;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO013";"TERRE DE HAUT_TERRE DE BAS";"YP1";"TB-Grande Anse";01/01/2009 00:00:00,000000000;""
+138;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO013";"TERRE DE HAUT_TERRE DE BAS";"YP2";"TB-Anse a dos";01/01/2009 00:00:00,000000000;""
+139;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO013";"TERRE DE HAUT_TERRE DE BAS";"YP3";"TB-Petite anse";01/01/2009 00:00:00,000000000;""
+140;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO013";"TERRE DE HAUT_TERRE DE BAS";"YP4";"TB-Grande baie";01/01/2009 00:00:00,000000000;""
+141;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO013";"TERRE DE HAUT_TERRE DE BAS";"YP5";"TB-Anse des Muriers";01/01/2009 00:00:00,000000000;""
+142;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO014";"SAINT BARTHELEMY_SAINT MARTIN";"4P1";"BH-Gustavia";01/01/2009 00:00:00,000000000;""
+143;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO014";"SAINT BARTHELEMY_SAINT MARTIN";"4P2";"BH-Anse du grand cul de sac";01/01/2009 00:00:00,000000000;""
+144;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO014";"SAINT BARTHELEMY_SAINT MARTIN";"4P3";"BH-Anse de Marigot";01/01/2009 00:00:00,000000000;""
+145;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO014";"SAINT BARTHELEMY_SAINT MARTIN";"4P4";"BH-Anse de Lorient";01/01/2009 00:00:00,000000000;""
+146;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO014";"SAINT BARTHELEMY_SAINT MARTIN";"4P5";"BH-Corosol";01/01/2009 00:00:00,000000000;""
+147;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO014";"SAINT BARTHELEMY_SAINT MARTIN";"4P6";"BH-Baie de St Jean";01/01/2009 00:00:00,000000000;""
+148;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO014";"SAINT BARTHELEMY_SAINT MARTIN";"5P1";"SM-Marigot (Marina Royale)";01/01/2009 00:00:00,000000000;""
+149;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO014";"SAINT BARTHELEMY_SAINT MARTIN";"5P2";"SM-Sandy Ground";01/01/2009 00:00:00,000000000;""
+150;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO014";"SAINT BARTHELEMY_SAINT MARTIN";"5P3";"SM-Quartier d¿Orléans";01/01/2009 00:00:00,000000000;""
+151;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO014";"SAINT BARTHELEMY_SAINT MARTIN";"5P4";"SM-Baie Orientale";01/01/2009 00:00:00,000000000;""
+152;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO014";"SAINT BARTHELEMY_SAINT MARTIN";"5P5";"SM-Cul de sac";01/01/2009 00:00:00,000000000;""
+153;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO014";"SAINT BARTHELEMY_SAINT MARTIN";"5P6";"SM-Grand Case";01/01/2009 00:00:00,000000000;""
+154;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO014";"SAINT BARTHELEMY_SAINT MARTIN";"5P7";"SM-St James";01/01/2009 00:00:00,000000000;""
+155;"GA";"Guadeloupe";"ZC02";"Sud Guadeloupe";"SP02";"Basse Terre et dépendances";"UO014";"SAINT BARTHELEMY_SAINT MARTIN";"5P8";"SM-Anse Marcel";01/01/2009 00:00:00,000000000;""
+156;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO026";"FF-Pointe des Nègres";"AF1";"FF-Pointe des Nègres";01/01/2009 00:00:00,000000000;""
+157;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO027";"FF-Canal Levassor, FF-Texaco, FF-Bas Lycée, SH-Fond Lahaye";"AF2";"FF-Texaco";01/01/2009 00:00:00,000000000;""
+159;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO027";"FF-Canal Levassor, FF-Texaco, FF-Bas Lycée, SH-Fond Lahaye";"AFA";"FF-Canal Levassor";01/01/2009 00:00:00,000000000;""
+160;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO027";"FF-Canal Levassor, FF-Texaco, FF-Bas Lycée, SH-Fond Lahaye";"XF2";"SH-Fond Lahaye";01/01/2009 00:00:00,000000000;""
+161;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO028";"DC-Canal Ducos, SL-Trois Rivières";"CF1";"DC-Canal Ducos";01/01/2009 00:00:00,000000000;""
+162;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO028";"DC-Canal Ducos, SL-Trois Rivières";"GF1";"SL-Trois Rivières";01/01/2009 00:00:00,000000000;""
+163;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO029";"FF-Canal Moreau";"AF4";"FF-Canal Moreau";01/01/2009 00:00:00,000000000;""
+164;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO030";"FF-Canal Alaric";"AF5";"FF-Canal Alaric";01/01/2009 00:00:00,000000000;""
+165;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO031";"FF-Volga Plage";"AF6";"FF-Volga Plage";01/01/2009 00:00:00,000000000;""
+166;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO032";"FF-Coco l'Echelle";"AF7";"FF-Coco l'Echelle";01/01/2009 00:00:00,000000000;""
+167;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO033";"FF-Etang Mancini";"AF8";"FF-Etang Mancini";01/01/2009 00:00:00,000000000;""
+168;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO034";"FF-Pointe des Grives";"AF9";"FF-Pointe des Grives";01/01/2009 00:00:00,000000000;""
+169;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO035";"AA-Anses d'Arlets (Bourg), AA-Grande Anse, AA-Petite Anse";"EF3";"AA-Grande Anse";01/01/2009 00:00:00,000000000;""
+170;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO035";"AA-Anses d'Arlets (Bourg), AA-Grande Anse, AA-Petite Anse";"EF4";"AA-Anses d'Arlets (Bourg)";01/01/2009 00:00:00,000000000;""
+171;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO035";"AA-Anses d'Arlets (Bourg), AA-Grande Anse, AA-Petite Anse";"EF5";"AA-Petite Anse";01/01/2009 00:00:00,000000000;""
+172;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO041";"LM-Californie";"BF1";"LM-Californie";01/01/2009 00:00:00,000000000;""
+173;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO042";"LM-Lamentin (Bourg)";"BF2";"LM-Lamentin (Bourg)";01/01/2009 00:00:00,000000000;""
+174;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO043";"LM-Morne Cabrit";"BF3";"LM-Morne Cabrit";01/01/2009 00:00:00,000000000;""
+175;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO044";"LM-Calebassier";"BF4";"LM-Calebassier";01/01/2009 00:00:00,000000000;""
+176;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO050";"DI-Taupinière, DI-La Cherry";"FF3";"DI-La Cherry";01/01/2009 00:00:00,000000000;""
+177;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO050";"DI-Taupinière, DI-La Cherry";"FF5";"DI-Taupinière";01/01/2009 00:00:00,000000000;""
+178;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO056";"TI-Magasin Zéline";"DF1";"TI-Magasin Zéline";01/01/2009 00:00:00,000000000;""
+179;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO057";"TI-Bord de Mer (Trois Ilets)";"DF2";"TI-Bord de Mer (Trois Ilets)";01/01/2009 00:00:00,000000000;""
+180;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO058";"TI-Pointe Galy";"DF3";"TI-Pointe Galy";01/01/2009 00:00:00,000000000;""
+181;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO059";"TI-Anse Mitan";"DF4";"TI-Anse Mitan";01/01/2009 00:00:00,000000000;""
+182;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO060";"TI-Anse Marette";"DF5";"TI-Anse Marette";01/01/2009 00:00:00,000000000;""
+183;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO061";"TI-Anse à l'Ane";"DF6";"TI-Anse à l'Ane";01/01/2009 00:00:00,000000000;""
+184;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO068";"AA-Anse Noire";"EF1";"AA-Anse Noire";01/01/2009 00:00:00,000000000;""
+185;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO069";"AA-Anse Dufour";"EF2";"AA-Anse Dufour";01/01/2009 00:00:00,000000000;""
+186;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO070";"RP-Poirier,SL-Sainte Luce (Bourg)";"GF3";"SL-Sainte Luce (Bourg)";01/01/2009 00:00:00,000000000;""
+187;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO070";"RP-Poirier,SL-Sainte Luce (Bourg)";"HF2";"RP-Poirier";01/01/2009 00:00:00,000000000;""
+188;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO071";"SA -Ste Anne (bourg), MR-Le Marin (bourg)";"IF2";"MR-Le Marin (bourg)";01/01/2009 00:00:00,000000000;""
+189;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO071";"SA -Ste Anne (bourg), MR-Le Marin (bourg)";"JF1";"SA -Ste Anne (bourg)";01/01/2009 00:00:00,000000000;""
+190;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO072";"SA-Cap Chevalier";"JF4";"SA-Cap Chevalier";01/01/2009 00:00:00,000000000;""
+191;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO077";"DI-Anse Cafard";"FF1";"DI-Anse Cafard";01/01/2009 00:00:00,000000000;""
+192;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO078";"DI-Diamant (Bourg)";"FF2";"DI-Diamant (Bourg)";01/01/2009 00:00:00,000000000;""
+193;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO079";"VC-Port du Vauclin";"KF4";"VC-Port du Vauclin";01/01/2009 00:00:00,000000000;""
+194;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO080";"DI-Marigot (Diamant)";"FF4";"DI-Marigot (Diamant)";01/01/2009 00:00:00,000000000;""
+195;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO081";"FR-Le François (bourg) - La jetée, FR-Le Simon, FR-Dostaly";"LF3";"FR-Le Simon";01/01/2009 00:00:00,000000000;""
+196;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO081";"FR-Le François (bourg) - La jetée, FR-Le Simon, FR-Dostaly";"LF4";"FR-Dostaly";01/01/2009 00:00:00,000000000;""
+197;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO081";"FR-Le François (bourg) - La jetée, FR-Le Simon, FR-Dostaly";"LFA";"FR-Le François (bourg) - La jetée";01/01/2009 00:00:00,000000000;""
+198;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO082";"DI-Pointe Giraud";"FF6";"DI-Pointe Giraud";01/01/2009 00:00:00,000000000;""
+199;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO085";"RB-Le Robert (bourg), RB-Pointe Fort";"MFC";"RB-Le Robert (bourg)";01/01/2009 00:00:00,000000000;""
+200;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO085";"RB-Le Robert (bourg), RB-Pointe Fort";"MFE";"RB-Pointe Fort";01/01/2009 00:00:00,000000000;""
+201;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO086";"SL-Corps de Garde";"GF2";"SL-Corps de Garde";01/01/2009 00:00:00,000000000;""
+202;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO087";"TR-Anse Cosmy, TR-La Crique, TR-Tartane";"NF5";"TR-Tartane";01/01/2009 00:00:00,000000000;""
+203;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO087";"TR-Anse Cosmy, TR-La Crique, TR-Tartane";"NF9";"TR-La Crique";01/01/2009 00:00:00,000000000;""
+204;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO087";"TR-Anse Cosmy, TR-La Crique, TR-Tartane";"NFA";"TR-Anse Cosmy";01/01/2009 00:00:00,000000000;""
+158;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO027";"FF-Canal Levassor, FF-Texaco, FF-Bas Lycée, SH-Fond Lahaye";"AF3";"FF-Bas Lycée";01/01/2009 00:00:00,000000000;""
+205;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO089";"RP-Rivière Pilote (Bourg)";"HF1";"RP-Rivière Pilote (Bourg)";01/01/2009 00:00:00,000000000;""
+206;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO090";"SM-Sainte Marie (Bourg), MG-Le Marigot";"OF4";"SM-Sainte Marie (Bourg)";01/01/2009 00:00:00,000000000;""
+207;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO090";"SM-Sainte Marie (Bourg), MG-Le Marigot";"PF1";"MG-Le Marigot";01/01/2009 00:00:00,000000000;""
+208;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO091";"RP-Anse Figuier";"HF3";"RP-Anse Figuier";01/01/2009 00:00:00,000000000;""
+209;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO096";"MR-La Duprey";"IF1";"MR-La Duprey";01/01/2009 00:00:00,000000000;""
+210;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO097";"GR-Grand rivière, BP-Basse Pointe";"QF1";"BP-Basse Pointe";01/01/2009 00:00:00,000000000;""
+211;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO097";"GR-Grand rivière, BP-Basse Pointe";"RF1";"GR-Grand rivière";01/01/2009 00:00:00,000000000;""
+212;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO098";"MR-Canal O'Neil";"IF3";"MR-Canal O'Neil";01/01/2009 00:00:00,000000000;""
+213;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO099";"MR-Cul de Sac Ferré (cap Marin)";"IF4";"MR-Cul de Sac Ferré (cap Marin)";01/01/2009 00:00:00,000000000;""
+214;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO106";"PR-Cimetière, PR-Les Abymes, SP-Bourg de Saint Pierre";"SF3";"PR-Les Abymes";01/01/2009 00:00:00,000000000;""
+215;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO106";"PR-Cimetière, PR-Les Abymes, SP-Bourg de Saint Pierre";"SF6";"PR-Cimetière";01/01/2009 00:00:00,000000000;""
+216;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO106";"PR-Cimetière, PR-Les Abymes, SP-Bourg de Saint Pierre";"TF4";"SP-Bourg de Saint Pierre";01/01/2009 00:00:00,000000000;""
+217;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO107";"SA -Anse Tonnoir";"JF2";"SA -Anse Tonnoir";01/01/2009 00:00:00,000000000;""
+218;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO108";"SA-Les Salines";"JF3";"SA-Les Salines";01/01/2009 00:00:00,000000000;""
+219;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO109";"CB-Carbet Nord, CB-Carbet Sud, BF-Bourg de Bellefontaine, CP-Bourg de Case Pilote";"UF1";"CB-Carbet Sud";01/01/2009 00:00:00,000000000;""
+220;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO109";"CB-Carbet Nord, CB-Carbet Sud, BF-Bourg de Bellefontaine, CP-Bourg de Case Pilote";"UF2";"CB-Carbet Nord";01/01/2009 00:00:00,000000000;""
+221;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO109";"CB-Carbet Nord, CB-Carbet Sud, BF-Bourg de Bellefontaine, CP-Bourg de Case Pilote";"VF2";"BF-Bourg de Bellefontaine";01/01/2009 00:00:00,000000000;""
+222;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO109";"CB-Carbet Nord, CB-Carbet Sud, BF-Bourg de Bellefontaine, CP-Bourg de Case Pilote";"WF1";"CP-Bourg de Case Pilote";01/01/2009 00:00:00,000000000;""
+223;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO110";"SA-Anse au Bois";"JF5";"SA-Anse au Bois";01/01/2009 00:00:00,000000000;""
+224;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO112";"VC-Paquemar";"KF1";"VC-Paquemar";01/01/2009 00:00:00,000000000;""
+225;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO113";"VC-Massy-Massy";"KF2";"VC-Massy-Massy";01/01/2009 00:00:00,000000000;""
+226;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO114";"VC-Pointe Faula";"KF3";"VC-Pointe Faula";01/01/2009 00:00:00,000000000;""
+227;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO116";"VC-Marché du Vauclin";"KF5";"VC-Marché du Vauclin";01/01/2009 00:00:00,000000000;""
+228;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO117";"VC-Château Paille";"KF6";"VC-Château Paille";01/01/2009 00:00:00,000000000;""
+229;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO118";"VC-Pointe Faraudière";"KF7";"VC-Pointe Faraudière";01/01/2009 00:00:00,000000000;""
+230;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO119";"VC-Baie des Mulets (sud)";"KF8";"VC-Baie des Mulets (sud)";01/01/2009 00:00:00,000000000;""
+231;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO120";"VC-Baie des Mulets (nord)";"KF9";"VC-Baie des Mulets (nord)";01/01/2009 00:00:00,000000000;""
+232;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO121";"VC-Pointe des Sables";"KFA";"VC-Pointe des Sables";01/01/2009 00:00:00,000000000;""
+233;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO122";"VC-Pointe Jacob (La Plaine)";"KFB";"VC-Pointe Jacob (La Plaine)";01/01/2009 00:00:00,000000000;""
+234;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO129";"FR-Cap Est";"LF1";"FR-Cap Est";01/01/2009 00:00:00,000000000;""
+235;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO130";"FR-Pointe Cerisier";"LF2";"FR-Pointe Cerisier";01/01/2009 00:00:00,000000000;""
+236;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO133";"FR-Frégate sud (Frégate)";"LF5";"FR-Frégate sud (Frégate)";01/01/2009 00:00:00,000000000;""
+237;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO134";"FR-Frégate nord (Monerot)";"LF6";"FR-Frégate nord (Monerot)";01/01/2009 00:00:00,000000000;""
+238;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO135";"FR-Ilets du François";"LF7";"FR-Ilets du François";01/01/2009 00:00:00,000000000;""
+239;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO136";"FR-Presqu'île";"LF8";"FR-Presqu'île";01/01/2009 00:00:00,000000000;""
+240;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO137";"FR-Club nautique";"LF9";"FR-Club nautique";01/01/2009 00:00:00,000000000;""
+241;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO139";"FR-Pointe Degras (sud)";"LFB";"FR-Pointe Degras (sud)";01/01/2009 00:00:00,000000000;""
+242;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO140";"FR-Pointe Degras (nord)";"LFC";"FR-Pointe Degras (nord)";01/01/2009 00:00:00,000000000;""
+243;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO141";"FR-Baie Thalémon";"LFD";"FR-Baie Thalémon";01/01/2009 00:00:00,000000000;""
+244;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO142";"FR-Pointe Thalémon (sud)";"LFE";"FR-Pointe Thalémon (sud)";01/01/2009 00:00:00,000000000;""
+245;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO143";"FR-Pointe Thalémon (nord)";"LFF";"FR-Pointe Thalémon (nord)";01/01/2009 00:00:00,000000000;""
+246;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO144";"FR-Grande Case";"LFG";"FR-Grande Case";01/01/2009 00:00:00,000000000;""
+247;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO145";"FR-Mansarde Rancée 2";"LFH";"FR-Mansarde Rancée 2";01/01/2009 00:00:00,000000000;""
+248;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO146";"FR-Mansarde Rancée 3";"LFI";"FR-Mansarde Rancée 3";01/01/2009 00:00:00,000000000;""
+249;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO147";"FR-Pointe La Rose (ouest)";"LFJ";"FR-Pointe La Rose (ouest)";01/01/2009 00:00:00,000000000;""
+250;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO152";"RB-Pointe La Rose (est)";"MF1";"RB-Pointe La Rose (est)";01/01/2009 00:00:00,000000000;""
+251;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO153";"RB-Pointe La Rose (nord)";"MF2";"RB-Pointe La Rose (nord)";01/01/2009 00:00:00,000000000;""
+252;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO154";"RB-Sable Blanc (est)";"MF3";"RB-Sable Blanc (est)";01/01/2009 00:00:00,000000000;""
+253;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO155";"RB-Sable Blanc (ouest)";"MF4";"RB-Sable Blanc (ouest)";01/01/2009 00:00:00,000000000;""
+254;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO156";"RB-Pointe Hyacinthe (est)";"MF5";"RB-Pointe Hyacinthe (est)";01/01/2009 00:00:00,000000000;""
+255;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO157";"RB-Pointe Hyacinthe (nord)";"MF6";"RB-Pointe Hyacinthe (nord)";01/01/2009 00:00:00,000000000;""
+256;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO158";"RB-Pointe Hyacinthe (ouest)";"MF7";"RB-Pointe Hyacinthe (ouest)";01/01/2009 00:00:00,000000000;""
+257;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO159";"RB-Pointe Royale";"MF8";"RB-Pointe Royale";01/01/2009 00:00:00,000000000;""
+258;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO160";"RB-Pont Dore";"MF9";"RB-Pont Dore";01/01/2009 00:00:00,000000000;""
+259;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO161";"RB-Four à Chaux";"MFA";"RB-Four à Chaux";01/01/2009 00:00:00,000000000;""
+260;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO162";"RB-Pontalery";"MFB";"RB-Pontalery";01/01/2009 00:00:00,000000000;""
+261;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO164";"RB-Pointe Lynch";"MFD";"RB-Pointe Lynch";01/01/2009 00:00:00,000000000;""
+262;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO166";"RB-Pointe l'Ecurie (est)";"MFF";"RB-Pointe l'Ecurie (est)";01/01/2009 00:00:00,000000000;""
+263;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO167";"RB-Pointe l'Ecurie (sud)";"MFG";"RB-Pointe l'Ecurie (sud)";01/01/2009 00:00:00,000000000;""
+264;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO168";"RB-Pointe Rouge (sud)";"MFH";"RB-Pointe Rouge (sud)";01/01/2009 00:00:00,000000000;""
+265;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO169";"RB-Pointe Rouge (nord)";"MFI";"RB-Pointe Rouge (nord)";01/01/2009 00:00:00,000000000;""
+266;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO170";"RB-Baie de Cayol";"MFJ";"RB-Baie de Cayol";01/01/2009 00:00:00,000000000;""
+267;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO171";"RB-Petit Galion-Pointe Jean Claude";"MFK";"RB-Petit Galion-Pointe Jean Claude";01/01/2009 00:00:00,000000000;""
+268;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO172";"RB-Ilets du Robert";"MFL";"RB-Ilets du Robert";01/01/2009 00:00:00,000000000;""
+269;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO179";"TR-Galion (Quartier Bac)";"NF1";"TR-Galion (Quartier Bac)";01/01/2009 00:00:00,000000000;""
+270;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO180";"TR-Anse Dijon";"NF2";"TR-Anse Dijon";01/01/2009 00:00:00,000000000;""
+271;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO181";"TR-Anse Belune";"NF3";"TR-Anse Belune";01/01/2009 00:00:00,000000000;""
+272;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO182";"TR-Spoutourne";"NF4";"TR-Spoutourne";01/01/2009 00:00:00,000000000;""
+273;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO184";"TR-Ecole maritime (Autre Bord)";"NF6";"TR-Ecole maritime (Autre Bord)";01/01/2009 00:00:00,000000000;""
+274;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO185";"TR-Les Raisiniers";"NF7";"TR-Les Raisiniers";01/01/2009 00:00:00,000000000;""
+275;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO186";"TR-Petit Brésil";"NF8";"TR-Petit Brésil";01/01/2009 00:00:00,000000000;""
+276;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO205";"SM-Luciole";"OF1";"SM-Luciole";01/01/2009 00:00:00,000000000;""
+277;"MA";"Martinique";"ZC01";"Martinique";"SP01";"Martinique";"UO206";"SM-Derrière Morne";"OF2";"SM-Derrière Morne";01/01/2009 00:00:00,000000000;""
1
0
[Suiviobsmer-commits] r1045 - in trunk/wao-business/src: main/java/fr/ifremer/wao/io/csv2 main/java/fr/ifremer/wao/io/csv2/models main/java/fr/ifremer/wao/service main/resources/i18n main/xmi test/java/fr/ifremer/wao/io/csv2
by bleny@users.labs.libre-entreprise.org 28 Feb '11
by bleny@users.labs.libre-entreprise.org 28 Feb '11
28 Feb '11
Author: bleny
Date: 2011-02-28 10:32:35 +0000 (Mon, 28 Feb 2011)
New Revision: 1045
Log:
refactor csv Import for terrestrial divisions
Added:
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/
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/SamplingPlanImportModel.java
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/TerrestrialLocationImportModel.java
Removed:
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/SamplingPlanImportModel.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/TerrestrialLocationImportModel.java
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Import.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/ImportableColumn.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/ImportableColumnImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/ValueSetter.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java
trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties
trunk/wao-business/src/main/xmi/wao.zargo
trunk/wao-business/src/test/java/fr/ifremer/wao/io/csv2/ImportTest.java
Added: 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 (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Common.java 2011-02-28 10:32:35 UTC (rev 1045)
@@ -0,0 +1,30 @@
+package fr.ifremer.wao.io.csv2;
+
+import org.apache.commons.beanutils.BeanUtils;
+
+public class Common {
+
+ public static class StringValueParser implements ValueParser<String> {
+ @Override
+ public String parse(String value) {
+ return value;
+ }
+ }
+
+ public static final ValueParser<String> STRING_VALUE_PARSER = new StringValueParser();
+
+ public static class BeanProperty<E, T> implements ValueSetter<E, T> {
+
+ protected String propertyName;
+
+ BeanProperty(String propertyName) {
+ this.propertyName = propertyName;
+ }
+
+ @Override
+ public void set(E bean, T value) throws Exception {
+ BeanUtils.setProperty(bean, propertyName, value);
+ }
+ }
+
+}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Import.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Import.java 2011-02-24 13:10:51 UTC (rev 1044)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Import.java 2011-02-28 10:32:35 UTC (rev 1045)
@@ -220,7 +220,7 @@
protected void readFirstLine() {
try {
- boolean emptyFile = ! reader.readRecord();
+ boolean emptyFile = ! reader.readRecord();
if (emptyFile) {
throw new IllegalArgumentException("CSV file has no line");
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/ImportableColumn.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/ImportableColumn.java 2011-02-24 13:10:51 UTC (rev 1044)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/ImportableColumn.java 2011-02-28 10:32:35 UTC (rev 1045)
@@ -29,5 +29,5 @@
T parseValue(String value);
- void setValue(E object, T value);
+ void setValue(E object, T value) throws Exception;
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/ImportableColumnImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/ImportableColumnImpl.java 2011-02-24 13:10:51 UTC (rev 1044)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/ImportableColumnImpl.java 2011-02-28 10:32:35 UTC (rev 1045)
@@ -20,6 +20,8 @@
*/
package fr.ifremer.wao.io.csv2;
+import org.apache.commons.beanutils.BeanUtils;
+
public class ImportableColumnImpl<E, T> implements ImportableColumn<E, T> {
protected String headerName;
@@ -32,19 +34,42 @@
protected ValueSetter<E, T> valueSetter;
+ protected ImportableColumnImpl() {}
+
/** a new <strong>ignored</strong> header */
- public ImportableColumnImpl(String headerName) {
- this.headerName = headerName;
- ignored = true;
+ public static <E,T> ImportableColumnImpl<E, T> newIgnoredColumn(String headerName) {
+ ImportableColumnImpl<E, T> newColumn = new ImportableColumnImpl();
+ newColumn.headerName = headerName;
+ newColumn.ignored = true;
+ return newColumn;
}
/** a new <strong>mandatory</strong> header */
- public ImportableColumnImpl(String headerName, ValueParser<T> valueParser, ValueSetter<E, T> valueSetter) {
+ public static <E> ImportableColumnImpl<E, String> newMandatoryColumn(String headerName, String propertyName) {
+ return newMandatoryColumn(headerName, Common.STRING_VALUE_PARSER, propertyName);
+ }
+
+ public static <E, T> ImportableColumnImpl<E, T> newMandatoryColumn(String headerName, ValueParser<T> valueParser, String propertyName) {
+ return newMandatoryColumn(headerName, valueParser, new Common.BeanProperty<E, T>(propertyName));
+ }
+
+ public static <E> ImportableColumnImpl<E, String> newMandatoryColumn(String headerName, ValueSetter<E, String> valueSetter) {
+ return newMandatoryColumn(headerName, Common.STRING_VALUE_PARSER, valueSetter);
+ }
+
+ public static <E,T> ImportableColumnImpl<E, T> newMandatoryColumn(String headerName, ValueParser<T> valueParser, ValueSetter<E, T> valueSetter) {
+ ImportableColumnImpl<E, T> newColumn = new ImportableColumnImpl(headerName, valueParser, valueSetter, false);
+ return newColumn;
+ }
+
+ public ImportableColumnImpl(String headerName, ValueParser<T> valueParser, ValueSetter<E, T> valueSetter, boolean ignored) {
this.headerName = headerName;
this.valueParser = valueParser;
this.valueSetter = valueSetter;
+ this.ignored = ignored;
}
+
@Override
public String getHeaderName() {
return headerName;
@@ -70,7 +95,7 @@
}
@Override
- public void setValue(E object, T value) {
+ public void setValue(E object, T value) throws Exception {
if ( ! isIgnored()) {
if (valueSetter == null) {
throw new UnsupportedOperationException("no setter provided");
Deleted: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/SamplingPlanImportModel.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/SamplingPlanImportModel.java 2011-02-24 13:10:51 UTC (rev 1044)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/SamplingPlanImportModel.java 2011-02-28 10:32:35 UTC (rev 1045)
@@ -1,63 +0,0 @@
-/*
- * #%L
- * Wao :: Business
- * %%
- * Copyright (C) 2009 - 2011 Ifremer
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.wao.io.csv2;
-
-import fr.ifremer.wao.bean.ObsProgram;
-import fr.ifremer.wao.entity.SampleRow;
-import fr.ifremer.wao.entity.SampleRowImpl;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-public class SamplingPlanImportModel implements ImportModel<SampleRow> {
-
- protected ObsProgram obsProgram;
-
- public SamplingPlanImportModel(ObsProgram obsProgram) {
- this.obsProgram = obsProgram;
- }
-
- @Override
- public void pushCsvHeaderNames(List<String> headerNames) {
- // discover months
- }
-
- @Override
- public SampleRow newEmptyInstance() {
- SampleRow newSampleRow = new SampleRowImpl();
- newSampleRow.setObsProgram(obsProgram);
- return newSampleRow;
- }
-
- @Override
- public Collection<ImportableColumn> getAllColumns() {
-
- if (obsProgram == ObsProgram.OBSMER) {
- // add obsMer-only field
- }
- if (obsProgram == ObsProgram.OBSVENTE) {
- // add obsVente-only field
- }
-
- throw new UnsupportedOperationException("not yet implemented");
- }
-}
Deleted: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/TerrestrialLocationImportModel.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/TerrestrialLocationImportModel.java 2011-02-24 13:10:51 UTC (rev 1044)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/TerrestrialLocationImportModel.java 2011-02-28 10:32:35 UTC (rev 1045)
@@ -1,208 +0,0 @@
-/*
- * #%L
- * Wao :: Business
- * %%
- * Copyright (C) 2009 - 2011 Ifremer
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.wao.io.csv2;
-
-import fr.ifremer.wao.bean.LocationType;
-import fr.ifremer.wao.entity.TerrestrialLocation;
-import fr.ifremer.wao.entity.TerrestrialLocationImpl;
-import org.apache.commons.lang.StringUtils;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class TerrestrialLocationImportModel implements ImportModel<TerrestrialLocation> {
-
- protected List<ImportableColumn> allHeaders;
-
- @Override
- public void pushCsvHeaderNames(List<String> headerNames) {
- // nothing to do
- }
-
- @Override
- public TerrestrialLocation newEmptyInstance() {
- return new TerrestrialLocationImpl();
- }
-
- static class StringValueParser implements ValueParser<String> {
- @Override
- public String parse(String value) {
- return value;
- }
- }
-
- protected StringValueParser stringValueParser = new StringValueParser();
-
- protected String getCode(String value) {
- String code = null;
- if (StringUtils.isNotBlank(value)) {
- int firstSpaceIndex = value.indexOf(" ");
- code = value.substring(0, firstSpaceIndex);
- }
- return code;
- }
-
- protected String getName(String value) {
- String name = null;
- if (StringUtils.isNotBlank(value)) {
- int firstSpaceIndex = value.indexOf(" ");
- name = value.substring(firstSpaceIndex + 1, value.length());
- }
- return name;
- }
-
- public TerrestrialLocationImportModel() {
-
- allHeaders = new ArrayList<ImportableColumn>();
-
- allHeaders.add(new ImportableColumnImpl<TerrestrialLocation, LocationType>("TLIEU_COD",
- new ValueParser<LocationType>() {
- @Override
- public LocationType parse(String value) {
- if ("6".equals(value)) {
- return LocationType.PORT;
- } else if ("7".equals(value)) {
- return LocationType.AUCTION;
- }
- throw new IllegalArgumentException(value + " is not a good location code");
- }
- },
- new ValueSetter<TerrestrialLocation, LocationType>() {
- @Override
- public void set(TerrestrialLocation terrestrialLocation, LocationType value) {
- terrestrialLocation.setLocationType(value);
- }
- }
- ));
- allHeaders.add(new ImportableColumnImpl<TerrestrialLocation, String>("TLIEU_LIB"));
- allHeaders.add(new ImportableColumnImpl<TerrestrialLocation, String>("LIEU_COD", stringValueParser,
- new ValueSetter<TerrestrialLocation, String>() {
- @Override
- public void set(TerrestrialLocation terrestrialLocation, String value) {
- terrestrialLocation.setCode(value);
- }
- }
- ));
- allHeaders.add(new ImportableColumnImpl<TerrestrialLocation, String>("LIEU_LIB", stringValueParser,
- new ValueSetter<TerrestrialLocation, String>() {
- @Override
- public void set(TerrestrialLocation terrestrialLocation, String value) {
- terrestrialLocation.setName(value);
- }
- }
- ));
- allHeaders.add(new ImportableColumnImpl<TerrestrialLocation, String>("Port", stringValueParser,
- new ValueSetter<TerrestrialLocation, String>() {
- @Override
- public void set(TerrestrialLocation terrestrialLocation, String value) {
- terrestrialLocation.setPortCode(getCode(value));
- terrestrialLocation.setPortName(getName(value));
- }
- }
- ));
- allHeaders.add(new ImportableColumnImpl<TerrestrialLocation, String>("Quartier maritime", stringValueParser,
- new ValueSetter<TerrestrialLocation, String>() {
- @Override
- public void set(TerrestrialLocation terrestrialLocation, String value) {
- terrestrialLocation.setDistrictCode(getCode(value));
- terrestrialLocation.setDistrictName(getName(value));
- }
- }
- ));
- allHeaders.add(new ImportableColumnImpl<TerrestrialLocation, String>("Département INSEE", stringValueParser,
- new ValueSetter<TerrestrialLocation, String>() {
- @Override
- public void set(TerrestrialLocation terrestrialLocation, String value) {
- terrestrialLocation.setDepartmentCode(getCode(value));
- terrestrialLocation.setDepartmentName(getName(value));
- }
- }
- ));
- allHeaders.add(new ImportableColumnImpl<TerrestrialLocation, String>("Sous-région IFREMER", stringValueParser,
- new ValueSetter<TerrestrialLocation, String>() {
- @Override
- public void set(TerrestrialLocation terrestrialLocation, String value) {
- terrestrialLocation.setSubRegionIfremerCode(getCode(value));
- terrestrialLocation.setSubRegionIfremerName(getName(value));
- }
- }
- ));
- allHeaders.add(new ImportableColumnImpl<TerrestrialLocation, String>("Région Ifremer", stringValueParser,
- new ValueSetter<TerrestrialLocation, String>() {
- @Override
- public void set(TerrestrialLocation terrestrialLocation, String value) {
- terrestrialLocation.setRegionIfremerCode(getCode(value));
- terrestrialLocation.setRegionIfremerName(getName(value));
- }
- }
- ));
- allHeaders.add(new ImportableColumnImpl<TerrestrialLocation, String>("Région INSEE", stringValueParser,
- new ValueSetter<TerrestrialLocation, String>() {
- @Override
- public void set(TerrestrialLocation terrestrialLocation, String value) {
- terrestrialLocation.setRegionCode(getCode(value));
- terrestrialLocation.setRegionName(getName(value));
- }
- }
- ));
- allHeaders.add(new ImportableColumnImpl<TerrestrialLocation, String>("Façade maritime", stringValueParser,
- new ValueSetter<TerrestrialLocation, String>() {
- @Override
- public void set(TerrestrialLocation terrestrialLocation, String value) {
- terrestrialLocation.setSeaboardCode(getCode(value));
- terrestrialLocation.setSeaboardName(getName(value));
- }
- }
- ));
- allHeaders.add(new ImportableColumnImpl<TerrestrialLocation, String>("Type de Région", stringValueParser,
- new ValueSetter<TerrestrialLocation, String>() {
- @Override
- public void set(TerrestrialLocation terrestrialLocation, String value) {
- terrestrialLocation.setRegionTypeCode(getCode(value));
- terrestrialLocation.setRegionTypeName(getName(value));
- }
- }
- ));
- allHeaders.add(new ImportableColumnImpl<TerrestrialLocation, String>("Littoral FAO", stringValueParser,
- new ValueSetter<TerrestrialLocation, String>() {
- @Override
- public void set(TerrestrialLocation terrestrialLocation, String value) {
- terrestrialLocation.setCoastFAOCode(getCode(value));
- terrestrialLocation.setCoastFAOName(getName(value));
- }
- }
- ));
- allHeaders.add(new ImportableColumnImpl<TerrestrialLocation, String>("PAYS", stringValueParser,
- new ValueSetter<TerrestrialLocation, String>() {
- @Override
- public void set(TerrestrialLocation terrestrialLocation, String value) {
- terrestrialLocation.setCountryCode(getCode(value));
- terrestrialLocation.setCountryName(getName(value));
- }
- }
- ));
- }
-
- @Override
- public List<ImportableColumn> getAllColumns() {
- return allHeaders;
- }
-}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/ValueSetter.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/ValueSetter.java 2011-02-24 13:10:51 UTC (rev 1044)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/ValueSetter.java 2011-02-28 10:32:35 UTC (rev 1045)
@@ -22,6 +22,6 @@
public interface ValueSetter<E, T> {
- void set(E object, T value);
+ void set(E object, T value) throws Exception;
}
Copied: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/SamplingPlanImportModel.java (from rev 1044, trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/SamplingPlanImportModel.java)
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/SamplingPlanImportModel.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/SamplingPlanImportModel.java 2011-02-28 10:32:35 UTC (rev 1045)
@@ -0,0 +1,64 @@
+/*
+ * #%L
+ * Wao :: Business
+ * %%
+ * Copyright (C) 2009 - 2011 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package fr.ifremer.wao.io.csv2.models;
+
+import fr.ifremer.wao.bean.ObsProgram;
+import fr.ifremer.wao.entity.SampleRow;
+import fr.ifremer.wao.entity.SampleRowImpl;
+import fr.ifremer.wao.io.csv2.ImportModel;
+import fr.ifremer.wao.io.csv2.ImportableColumn;
+
+import java.util.Collection;
+import java.util.List;
+
+public class SamplingPlanImportModel implements ImportModel<SampleRow> {
+
+ protected ObsProgram obsProgram;
+
+ public SamplingPlanImportModel(ObsProgram obsProgram) {
+ this.obsProgram = obsProgram;
+ }
+
+ @Override
+ public void pushCsvHeaderNames(List<String> headerNames) {
+ // discover months
+ }
+
+ @Override
+ public SampleRow newEmptyInstance() {
+ SampleRow newSampleRow = new SampleRowImpl();
+ newSampleRow.setObsProgram(obsProgram);
+ return newSampleRow;
+ }
+
+ @Override
+ public Collection<ImportableColumn> getAllColumns() {
+
+ if (obsProgram == ObsProgram.OBSMER) {
+ // add obsMer-only field
+ }
+ if (obsProgram == ObsProgram.OBSVENTE) {
+ // add obsVente-only field
+ }
+
+ throw new UnsupportedOperationException("not yet implemented");
+ }
+}
Added: 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 (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/TerrestrialDivisionImportModel.java 2011-02-28 10:32:35 UTC (rev 1045)
@@ -0,0 +1,91 @@
+package fr.ifremer.wao.io.csv2.models;
+
+import fr.ifremer.wao.entity.TerrestrialDivision;
+import fr.ifremer.wao.entity.TerrestrialDivisionImpl;
+import fr.ifremer.wao.entity.TerrestrialLocation;
+import fr.ifremer.wao.io.csv2.ImportModel;
+import fr.ifremer.wao.io.csv2.ImportableColumn;
+import fr.ifremer.wao.io.csv2.ImportableColumnImpl;
+import fr.ifremer.wao.io.csv2.ValueParser;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+public class TerrestrialDivisionImportModel implements ImportModel<TerrestrialDivision> {
+
+ /** Existing ports
+ * key should be an terrestrial location id {@link fr.ifremer.wao.entity.TerrestrialLocation#getCode()}
+ * and all the values must have {@link fr.ifremer.wao.entity.TerrestrialLocation#getLocationType()} at
+ * {@link fr.ifremer.wao.bean.LocationType#PORT}.
+ */
+ protected Map<String, TerrestrialLocation> ports;
+
+ /** all valid {@link fr.ifremer.wao.entity.TerrestrialLocation#getRegionIfremerCode()} values.
+ * for validation purpose only */
+ protected Set<String> regionCodes;
+
+ public TerrestrialDivisionImportModel(Map<String, TerrestrialLocation> ports, Set<String> regionCodes) {
+ this.ports = ports;
+ this.regionCodes = regionCodes;
+ }
+
+ @Override
+ public void pushCsvHeaderNames(List<String> headerNames) {
+ // nothing to do
+ }
+
+ @Override
+ public TerrestrialDivision newEmptyInstance() {
+ return new TerrestrialDivisionImpl();
+ }
+
+ @Override
+ public Collection<ImportableColumn> getAllColumns() {
+ List<ImportableColumn> columns = new ArrayList<ImportableColumn>();
+
+ columns.add(ImportableColumnImpl.newMandatoryColumn("ID_STRATE", TerrestrialDivision.PROPERTY_CODE));
+ // add validation while parsing
+ columns.add(ImportableColumnImpl.newMandatoryColumn(
+ "REGION_IFREMER_COD",
+ // just validate the region code
+ new ValueParser<String>() {
+ @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));
+ columns.add(ImportableColumnImpl.newIgnoredColumn("REGION_IFREMER_LIB"));
+ columns.add(ImportableColumnImpl.newMandatoryColumn("ZONE_COMPETENCE_COD", TerrestrialDivision.PROPERTY_SKILL_ZONE_CODE));
+ columns.add(ImportableColumnImpl.newMandatoryColumn("ZONE_COMPETENCE_LIB", TerrestrialDivision.PROPERTY_SKILL_ZONE_NAME));
+ columns.add(ImportableColumnImpl.newMandatoryColumn("SOUS_POPULATION_COD", TerrestrialDivision.PROPERTY_SUB_POPULATION_CODE));
+ columns.add(ImportableColumnImpl.newMandatoryColumn("SOUS_POPULATION_LIB", TerrestrialDivision.PROPERTY_SUB_POPULATION_NAME));
+ columns.add(ImportableColumnImpl.newMandatoryColumn("UNITE_OBSERVATION_COD", TerrestrialDivision.PROPERTY_OBSERVATION_UNIT_CODE));
+ columns.add(ImportableColumnImpl.newMandatoryColumn("UNITE_OBSERVATION_LIB", TerrestrialDivision.PROPERTY_OBSERVATION_UNIT_NAME));
+ columns.add(ImportableColumnImpl.newMandatoryColumn(
+ "LIEU_OBSERVATION_COD",
+ // the value given is a code of a port, let's find and associate
+ new ValueParser<TerrestrialLocation>() {
+ @Override
+ public TerrestrialLocation parse(String locationCode) {
+ TerrestrialLocation port = ports.get(locationCode);
+ if (port == null) {
+ throw new IllegalArgumentException("Le code '" + locationCode + "' n'est pas un code de lieu valide");
+ }
+ return port;
+ }
+ },
+ TerrestrialDivision.PROPERTY_PORT));
+ columns.add(ImportableColumnImpl.newIgnoredColumn("LIEU_OBSERVATION_LIB"));
+ columns.add(ImportableColumnImpl.newIgnoredColumn("DATE_DEBUT"));
+ columns.add(ImportableColumnImpl.newIgnoredColumn("DATE_FIN"));
+
+ return columns;
+ }
+}
Copied: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/TerrestrialLocationImportModel.java (from rev 1044, trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/TerrestrialLocationImportModel.java)
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/TerrestrialLocationImportModel.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/TerrestrialLocationImportModel.java 2011-02-28 10:32:35 UTC (rev 1045)
@@ -0,0 +1,191 @@
+/*
+ * #%L
+ * Wao :: Business
+ * %%
+ * Copyright (C) 2009 - 2011 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package fr.ifremer.wao.io.csv2.models;
+
+import fr.ifremer.wao.bean.LocationType;
+import fr.ifremer.wao.entity.TerrestrialLocation;
+import fr.ifremer.wao.entity.TerrestrialLocationImpl;
+import fr.ifremer.wao.io.csv2.Common;
+import fr.ifremer.wao.io.csv2.ImportModel;
+import fr.ifremer.wao.io.csv2.ImportableColumn;
+import fr.ifremer.wao.io.csv2.ImportableColumnImpl;
+import fr.ifremer.wao.io.csv2.ValueParser;
+import fr.ifremer.wao.io.csv2.ValueSetter;
+import org.apache.commons.lang.StringUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class TerrestrialLocationImportModel implements ImportModel<TerrestrialLocation> {
+
+ protected List<ImportableColumn> allHeaders;
+
+ @Override
+ public void pushCsvHeaderNames(List<String> headerNames) {
+ // nothing to do
+ }
+
+ @Override
+ public TerrestrialLocation newEmptyInstance() {
+ return new TerrestrialLocationImpl();
+ }
+
+ protected String getCode(String value) {
+ String code = null;
+ if (StringUtils.isNotBlank(value)) {
+ int firstSpaceIndex = value.indexOf(" ");
+ code = value.substring(0, firstSpaceIndex);
+ }
+ return code;
+ }
+
+ protected String getName(String value) {
+ String name = null;
+ if (StringUtils.isNotBlank(value)) {
+ int firstSpaceIndex = value.indexOf(" ");
+ name = value.substring(firstSpaceIndex + 1, value.length());
+ }
+ return name;
+ }
+
+ public TerrestrialLocationImportModel() {
+
+ allHeaders = new ArrayList<ImportableColumn>();
+
+ allHeaders.add(ImportableColumnImpl.newMandatoryColumn("TLIEU_COD",
+ new ValueParser<LocationType>() {
+ @Override
+ public LocationType parse(String value) {
+ if ("6".equals(value)) {
+ return LocationType.PORT;
+ } else if ("7".equals(value)) {
+ return LocationType.AUCTION;
+ }
+ throw new IllegalArgumentException(value + " is not a good location code");
+ }
+ },
+ new ValueSetter<TerrestrialLocation, LocationType>() {
+ @Override
+ public void set(TerrestrialLocation terrestrialLocation, LocationType value) {
+ terrestrialLocation.setLocationType(value);
+ }
+ }
+ ));
+ allHeaders.add(ImportableColumnImpl.newIgnoredColumn("TLIEU_LIB"));
+ allHeaders.add(ImportableColumnImpl.newMandatoryColumn("LIEU_COD", TerrestrialLocation.PROPERTY_CODE));
+ allHeaders.add(ImportableColumnImpl.newMandatoryColumn("LIEU_LIB", TerrestrialLocation.PROPERTY_NAME));
+ allHeaders.add(ImportableColumnImpl.newMandatoryColumn("Port",
+ new ValueSetter<TerrestrialLocation, String>() {
+ @Override
+ public void set(TerrestrialLocation terrestrialLocation, String value) {
+ terrestrialLocation.setPortCode(getCode(value));
+ terrestrialLocation.setPortName(getName(value));
+ }
+ }
+ ));
+ allHeaders.add(ImportableColumnImpl.newMandatoryColumn("Quartier maritime",
+ new ValueSetter<TerrestrialLocation, String>() {
+ @Override
+ public void set(TerrestrialLocation terrestrialLocation, String value) {
+ terrestrialLocation.setDistrictCode(getCode(value));
+ terrestrialLocation.setDistrictName(getName(value));
+ }
+ }
+ ));
+ allHeaders.add(ImportableColumnImpl.newMandatoryColumn("Département INSEE",
+ new ValueSetter<TerrestrialLocation, String>() {
+ @Override
+ public void set(TerrestrialLocation terrestrialLocation, String value) {
+ terrestrialLocation.setDepartmentCode(getCode(value));
+ terrestrialLocation.setDepartmentName(getName(value));
+ }
+ }
+ ));
+ allHeaders.add(ImportableColumnImpl.newMandatoryColumn("Sous-région IFREMER",
+ new ValueSetter<TerrestrialLocation, String>() {
+ @Override
+ public void set(TerrestrialLocation terrestrialLocation, String value) {
+ terrestrialLocation.setSubRegionIfremerCode(getCode(value));
+ terrestrialLocation.setSubRegionIfremerName(getName(value));
+ }
+ }
+ ));
+ allHeaders.add(ImportableColumnImpl.newMandatoryColumn("Région Ifremer",
+ new ValueSetter<TerrestrialLocation, String>() {
+ @Override
+ public void set(TerrestrialLocation terrestrialLocation, String value) {
+ terrestrialLocation.setRegionIfremerCode(getCode(value));
+ terrestrialLocation.setRegionIfremerName(getName(value));
+ }
+ }
+ ));
+ allHeaders.add(ImportableColumnImpl.newMandatoryColumn("Région INSEE",
+ new ValueSetter<TerrestrialLocation, String>() {
+ @Override
+ public void set(TerrestrialLocation terrestrialLocation, String value) {
+ terrestrialLocation.setRegionCode(getCode(value));
+ terrestrialLocation.setRegionName(getName(value));
+ }
+ }
+ ));
+ allHeaders.add(ImportableColumnImpl.newMandatoryColumn("Façade maritime",
+ new ValueSetter<TerrestrialLocation, String>() {
+ @Override
+ public void set(TerrestrialLocation terrestrialLocation, String value) {
+ terrestrialLocation.setSeaboardCode(getCode(value));
+ terrestrialLocation.setSeaboardName(getName(value));
+ }
+ }
+ ));
+ allHeaders.add(ImportableColumnImpl.newMandatoryColumn("Type de Région",
+ new ValueSetter<TerrestrialLocation, String>() {
+ @Override
+ public void set(TerrestrialLocation terrestrialLocation, String value) {
+ terrestrialLocation.setRegionTypeCode(getCode(value));
+ terrestrialLocation.setRegionTypeName(getName(value));
+ }
+ }
+ ));
+ allHeaders.add(ImportableColumnImpl.newMandatoryColumn("Littoral FAO",
+ new ValueSetter<TerrestrialLocation, String>() {
+ @Override
+ public void set(TerrestrialLocation terrestrialLocation, String value) {
+ terrestrialLocation.setCoastFAOCode(getCode(value));
+ terrestrialLocation.setCoastFAOName(getName(value));
+ }
+ }
+ ));
+ allHeaders.add(ImportableColumnImpl.newMandatoryColumn("PAYS",
+ new ValueSetter<TerrestrialLocation, String>() {
+ @Override
+ public void set(TerrestrialLocation terrestrialLocation, String value) {
+ terrestrialLocation.setCountryCode(getCode(value));
+ terrestrialLocation.setCountryName(getName(value));
+ }
+ }
+ ));
+ }
+
+ @Override
+ public List<ImportableColumn> getAllColumns() {
+ return allHeaders;
+ }
+}
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-02-24 13:10:51 UTC (rev 1044)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-02-28 10:32:35 UTC (rev 1045)
@@ -48,15 +48,11 @@
import fr.ifremer.wao.entity.TerrestrialLocation;
import fr.ifremer.wao.entity.TerrestrialLocationDAO;
import fr.ifremer.wao.entity.TerrestrialLocationImpl;
-import fr.ifremer.wao.entity.TranslatableEntity;
-import fr.ifremer.wao.entity.Translation;
-import fr.ifremer.wao.entity.TranslationDAO;
import fr.ifremer.wao.io.csv.ImportHelper;
import fr.ifremer.wao.io.csv.WaoCsvHeader.FISHING_ZONE;
import fr.ifremer.wao.io.csv2.Import;
import fr.ifremer.wao.io.csv2.ImportModel;
-import fr.ifremer.wao.io.csv2.TerrestrialLocationImportModel;
-import org.apache.commons.lang.LocaleUtils;
+import fr.ifremer.wao.io.csv2.models.TerrestrialLocationImportModel;
import org.apache.commons.lang.StringUtils;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
@@ -68,7 +64,6 @@
import java.io.IOException;
import java.io.InputStream;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
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-02-24 13:10:51 UTC (rev 1044)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-02-28 10:32:35 UTC (rev 1045)
@@ -1,159 +1,159 @@
ContactPieChartConstant.OTHER=Autres
-ContactPieChartConstant.REALIZED=R\u00e9alis\u00e9s
-ContactPieChartConstant.REFUSED=Refus\u00e9s
-ContactState.CONTACT_DEFINITELY_REFUSED=Refus d\u00e9finitif
+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\u00e9e
-ContactState.OBSERVATION_DONE=Observation r\u00e9alis\u00e9e
-ContactState.OBSERVATION_EXPECTED=Observation programm\u00e9e
-DataReliability.CORRECTION_ASKED=Correction demand\u00e9e
+ContactState.OBSERVATION_CANCELLED=Annul\u00E9e
+ContactState.OBSERVATION_DONE=Observation r\u00E9alis\u00E9e
+ContactState.OBSERVATION_EXPECTED=Observation programm\u00E9e
+DataReliability.CORRECTION_ASKED=Correction demand\u00E9e
DataReliability.DOUBTFUL=Douteuse
-DataReliability.NOT_PROVIDED=Non contr\u00f4l\u00e9e
+DataReliability.NOT_PROVIDED=Non contr\u00F4l\u00E9e
DataReliability.NOT_RELIABLE=Non exploitable
DataReliability.RELIABLE=Exploitable
DataReliability.UNKNOWN=Inconnue
-GlobalIndicatorValue.BAD=P\u00e9nalit\u00e9 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\u00e9nalit\u00e9 de niveau 2
+GlobalIndicatorValue.VERY_BAD=P\u00E9nalit\u00E9 de niveau 2
GlobalIndicatorValue.VERY_GOOD=Bonus de niveau 2
-LocationType.AUCTION=Cri\u00e9e
+LocationType.AUCTION=Cri\u00E9e
LocationType.PORT=Port
ObsProgram.OBSMER=ObsMer
ObsProgram.OBSVENTE=ObsVente
-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.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
+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.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
UserRole.ADMIN=Administrateur
UserRole.COORDINATOR=Coordinateur
-UserRole.GUEST=Invit\u00e9
+UserRole.GUEST=Invit\u00E9
UserRole.OBSERVER=Observateur
UserRole.PROFESSIONAL=Professionnel
-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.=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 \u00e0 l'\u00e9talage (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\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.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\u00e9rivants (filets d\u00e9rivants)
+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\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.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\u00e9canis\u00e9es
+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\u00e9colte (non sp\u00e9cifi\u00e9s)
+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 \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.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\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.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\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.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.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\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.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\u00e8ces catadromes
-fr.ifremer.wao.entity.TargetSpeciesDCF.CRU=Crustac\u00e9s
+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\u00e8ces d\u00e9mersales
-fr.ifremer.wao.entity.TargetSpeciesDCF.DWS=Esp\u00e8ces 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\u00e9lagiques
+fr.ifremer.wao.entity.TargetSpeciesDCF.LPF=Grands p\u00E9lagiques
fr.ifremer.wao.entity.TargetSpeciesDCF.MOL=Mollusques
-fr.ifremer.wao.entity.TargetSpeciesDCF.SPF=Petits p\u00e9lagiques
-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
+fr.ifremer.wao.entity.TargetSpeciesDCF.SPF=Petits p\u00E9lagiques
+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\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.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\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.boat.canCreateContact=Impossible de cr\u00E9er un nouveau contact pour la soci\u00E9t\u00E9 %1$s et le navire %2$s (%3$d)
+wao.error.boat.getNbBoarding=Impossible de r\u00E9cup\u00E9rer le nombre d'embarquements r\u00E9els depuis le %1$s
+wao.error.boatInfos.getNbBoardingForCompany=Impossible de r\u00E9cup\u00E9rer le nombre d'embarquements r\u00E9els depuis le %1$s pour la soci\u00E9t\u00E9 %2$s
wao.error.context.close=Une erreur est survenue pendant la fermeture du contexte principale de ToPIA
wao.error.context.encodeString=
-wao.error.context.getRootContext=Une erreur est survenue pour la r\u00e9cup\u00e9ration du contexte principale de ToPIA
+wao.error.context.getRootContext=Une erreur est survenue pour la r\u00E9cup\u00E9ration du contexte principale de ToPIA
wao.error.context.parse=Une erreur est survenue pendant le chargement de la configuration du fichier %1$s
wao.error.context.rollback=Une erreur est survenue pendant l'annulation de la transaction courante
-wao.error.context.start=Une erreur est survenue pendant le d\u00e9marrage de l'application
+wao.error.context.start=Une erreur est survenue pendant le d\u00E9marrage de l'application
wao.error.context.stop=Une erreur est survenue pendant la fermeture de l'application
-wao.error.sampleMonth.addRealTideTime=Impossible d'enregistrer le nombre de mar\u00e9es r\u00e9els pour le mois de %1$s [ligne \: %2$s]
-wao.error.sampleRow.saveSampleRowLog=Impossible d'enregistrer le commentaire \u00e9crit par %1$s
-wao.error.serviceBoat.createUpdateCompanyBoatInfos=Impossible de cr\u00e9er ou modifier les informations li\u00e9s au navire %1$d pour la soci\u00e9t\u00e9 %2$s
-wao.error.serviceBoat.exportBoatCsv=Impossible d'exporter les navires s\u00e9lectionn\u00e9s
+wao.error.sampleMonth.addRealTideTime=Impossible d'enregistrer le nombre de mar\u00E9es r\u00E9els pour le mois de %1$s [ligne \: %2$s]
+wao.error.sampleRow.saveSampleRowLog=Impossible d'enregistrer le commentaire \u00E9crit par %1$s
+wao.error.serviceBoat.createUpdateCompanyBoatInfos=Impossible de cr\u00E9er ou modifier les informations li\u00E9s au navire %1$d pour la soci\u00E9t\u00E9 %2$s
+wao.error.serviceBoat.exportBoatCsv=Impossible d'exporter les navires s\u00E9lectionn\u00E9s
wao.error.serviceBoat.getActivityCalendarLogAccessFile=
wao.error.serviceBoat.getActivityCalendarLogFile=
wao.error.serviceBoat.getBoat=Impossible de charger le navire
-wao.error.serviceBoat.getBoatNamesStartWith=Impossible de r\u00e9cup\u00e9rer les navires avec un nom commencant par '%1$s'
+wao.error.serviceBoat.getBoatNamesStartWith=Impossible de r\u00E9cup\u00E9rer les navires avec un nom commencant par '%1$s'
wao.error.serviceBoat.getBoatsByFilter=Impossible de filtrer la liste des navires
-wao.error.serviceBoat.getBoatsByImmatriculations=La cha\u00eene d'immatriculations est incorrect \! Chaque immatriculation doit poss\u00e9der 6 chiffres
-wao.error.serviceBoat.getCompanyBoatInfos=Impossible de r\u00e9cup\u00e9rer les informations du navire immatricul\u00e9 %1$d pour la soci\u00e9t\u00e9 %2$s
-wao.error.serviceBoat.getLastActivityCalendar=Impossible de charger le dernier calendrier d'activit\u00e9 du navire %1$s (%2$d)
+wao.error.serviceBoat.getBoatsByImmatriculations=La cha\u00EEne d'immatriculations est incorrect \! Chaque immatriculation doit poss\u00E9der 6 chiffres
+wao.error.serviceBoat.getCompanyBoatInfos=Impossible de r\u00E9cup\u00E9rer les informations du navire immatricul\u00E9 %1$d pour la soci\u00E9t\u00E9 %2$s
+wao.error.serviceBoat.getLastActivityCalendar=Impossible de charger le dernier calendrier d'activit\u00E9 du navire %1$s (%2$d)
wao.error.serviceBoat.getNbBoatsByFilter=Impossible de filtrer la liste des navires
wao.error.serviceBoat.getShipOwnerNamesContains=
-wao.error.serviceBoat.importActivityCalendarCsv=Probl\u00e8me d'import du fichier CSV des calendriers d'activit\u00e9
-wao.error.serviceBoat.importBoatCsv=Probl\u00e8me d'import du fichier CSV. V\u00e9rifiez l'en-t\u00eate du fichier \: [ NAVS_COD,CARN_NOM,CARN_LONGUEUR_HT,CARN_ANNEE,QUARTIER_IMMA,PER_COD,PER_NOM,PER_PRENOM,NAVS_ACTIVE ]. Voir documentation pour plus de d\u00e9tails.
+wao.error.serviceBoat.importActivityCalendarCsv=Probl\u00E8me d'import du fichier CSV des calendriers d'activit\u00E9
+wao.error.serviceBoat.importBoatCsv=Probl\u00E8me d'import du fichier CSV. V\u00E9rifiez l'en-t\u00EAte du fichier \: [ NAVS_COD,CARN_NOM,CARN_LONGUEUR_HT,CARN_ANNEE,QUARTIER_IMMA,PER_COD,PER_NOM,PER_PRENOM,NAVS_ACTIVE ]. Voir documentation pour plus de d\u00E9tails.
wao.error.serviceCartography.exportContactMotifsStatisticsKml=
wao.error.serviceCartography.exportContactStatisticsKml=
-wao.error.serviceCartography.importBoatDistrictKml=Impossible d'importer les coordonn\u00e9es des quartiers des navires. V\u00e9rifiez la documentation pour le bon format du fichier Kml.
+wao.error.serviceCartography.importBoatDistrictKml=Impossible d'importer les coordonn\u00E9es des quartiers des navires. V\u00E9rifiez la documentation pour le bon format du fichier Kml.
wao.error.serviceChart.getContactPieChartData=
wao.error.serviceChart.getContactPieChartUrl=
wao.error.serviceContact.exportContactCsv=Impossible d'exporter les contacts
wao.error.serviceContact.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\u00e9s
+wao.error.serviceContact.getNbContacts=Impossible de compter le nombre de contacts filtr\u00E9s
wao.error.serviceContact.getNewContact=Impossible d'instancier un nouveau contact
wao.error.serviceContact.importContactCsv=Impossible d'importer les contacts
wao.error.serviceContact.saveComment=
@@ -162,65 +162,65 @@
wao.error.serviceContact.updateSampleMonthTidesValue=
wao.error.serviceContact.validateContact=
wao.error.serviceNews.getNewNews=
-wao.error.serviceNews.getNews=Impossible de r\u00e9cup\u00e9rer l'ensemble des news
+wao.error.serviceNews.getNews=Impossible de r\u00E9cup\u00E9rer l'ensemble des news
wao.error.serviceNews.saveNews=Impossible d'enregistrer la news ayant pour titre '%1$s'
wao.error.serviceReferential.getAllContactStateMotifs=
wao.error.serviceReferential.getAllTerrestrialDistricts=
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\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.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\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.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.importTerrestrialLocations=
wao.error.serviceReferential.updateAllContactStatesMotifs=
wao.error.serviceSampling.createSampleRowLog=
-wao.error.serviceSampling.createUpdateSampleRow=Impossible de sauvegarder la ligne d'\u00e9chantillon
-wao.error.serviceSampling.deleteSampleRow=Impossible de supprimer la ligne d'\u00e9chantillon \: %1$s
-wao.error.serviceSampling.exportSamplingPlanCsv=Impossible d'exporter le plan d'\u00e9chantillonnage sur la p\u00e9riode du %1$s au %2$s
+wao.error.serviceSampling.createUpdateSampleRow=Impossible de sauvegarder la ligne d'\u00E9chantillon
+wao.error.serviceSampling.deleteSampleRow=Impossible de supprimer la ligne d'\u00E9chantillon \: %1$s
+wao.error.serviceSampling.exportSamplingPlanCsv=Impossible d'exporter le plan d'\u00E9chantillonnage sur la p\u00E9riode du %1$s au %2$s
wao.error.serviceSampling.getDCFGears=
wao.error.serviceSampling.getDCFSpecies=
wao.error.serviceSampling.getNewProfession=
wao.error.serviceSampling.getNewSampleMonth=
wao.error.serviceSampling.getNewSampleRow=
-wao.error.serviceSampling.getNewSampleRowCode=Impossible de r\u00e9cup\u00e9rer un nouveau code pour une ligne d'\u00e9chantillonnage
+wao.error.serviceSampling.getNewSampleRowCode=Impossible de r\u00E9cup\u00E9rer un nouveau code pour une ligne d'\u00E9chantillonnage
wao.error.serviceSampling.getNewSampleRowLog=
wao.error.serviceSampling.getPrograms=Impossible de charger la liste des programmes
-wao.error.serviceSampling.getSampleRow=Impossible de charger la ligne d'\u00e9chantillon ayant pour identifiant \: %1$s
-wao.error.serviceSampling.getSampleRowByCode=Impossible de charger la ligne d'\u00e9chantillon ayant pour code %1$s
-wao.error.serviceSampling.getSampleRowsByFilter=Impossible de r\u00e9cup\u00e9rer la liste des lignes du plan d'\u00e9chantillonnage
-wao.error.serviceSampling.getSampleRowsOrderedByFishingZone=Impossible de r\u00e9cup\u00e9rer la liste des lignes du plan d'\u00e9chantillonnage
-wao.error.serviceSampling.importSamplingPlanCsv=Erreur \u00e0 la ligne %1$d [CODE \= %2$s]
+wao.error.serviceSampling.getSampleRow=Impossible de charger la ligne d'\u00E9chantillon ayant pour identifiant \: %1$s
+wao.error.serviceSampling.getSampleRowByCode=Impossible de charger la ligne d'\u00E9chantillon ayant pour code %1$s
+wao.error.serviceSampling.getSampleRowsByFilter=Impossible de r\u00E9cup\u00E9rer la liste des lignes du plan d'\u00E9chantillonnage
+wao.error.serviceSampling.getSampleRowsOrderedByFishingZone=Impossible de r\u00E9cup\u00E9rer la liste des lignes du plan d'\u00E9chantillonnage
+wao.error.serviceSampling.importSamplingPlanCsv=Erreur \u00E0 la ligne %1$d [CODE \= %2$s]
wao.error.serviceSynthesis.getAllIndicatorLogs=
-wao.error.serviceSynthesis.getBoardingBoats=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es du graphique concernant les embarquements sur les navires
+wao.error.serviceSynthesis.getBoardingBoats=Impossible de r\u00E9cup\u00E9rer les donn\u00E9es du graphique concernant les embarquements sur les navires
wao.error.serviceSynthesis.getComplianceBoardingIndicator=
-wao.error.serviceSynthesis.getContactDataInputDateReactivity=Impossible de r\u00e9cup\u00e9rer l'indicateur de r\u00e9activit\u00e9 sur les dates de saisies dans Allegro
+wao.error.serviceSynthesis.getContactDataInputDateReactivity=Impossible de r\u00E9cup\u00E9rer l'indicateur de r\u00E9activit\u00E9 sur les dates de saisies dans Allegro
wao.error.serviceSynthesis.getContactPieChartData=
wao.error.serviceSynthesis.getContactPieChartDataByBoatDistrict=
wao.error.serviceSynthesis.getContactStateMotifsPieChartDataByBoatDistrict=
-wao.error.serviceSynthesis.getContactStateStatistics=Impossible de r\u00e9cup\u00e9rer les statistiques sur les \u00e9tats des contacts
+wao.error.serviceSynthesis.getContactStateStatistics=Impossible de r\u00E9cup\u00E9rer les statistiques sur les \u00E9tats des contacts
wao.error.serviceSynthesis.getDataReliability=
-wao.error.serviceSynthesis.getDataSampling=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es pour le graphique dynamique des efforts de mar\u00e9es
-wao.error.serviceSynthesis.getGlobalSynthesisParameters=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es concernant les indicateurs pour la synth\u00e8se globale
+wao.error.serviceSynthesis.getDataSampling=Impossible de r\u00E9cup\u00E9rer les donn\u00E9es pour le graphique dynamique des efforts de mar\u00E9es
+wao.error.serviceSynthesis.getGlobalSynthesisParameters=Impossible de r\u00E9cup\u00E9rer les donn\u00E9es concernant les indicateurs pour la synth\u00E8se globale
wao.error.serviceSynthesis.getGlobalSynthesisResult=
-wao.error.serviceSynthesis.getNonComplianceBoardingIndicator=Impossible de r\u00e9cup\u00e9rer l'indicateur de non respect du nombre d'observateurs embarqu\u00e9s
-wao.error.serviceSynthesis.updateGlobalSynthesisParameters=Impossible de mettre \u00e0 jour les param\u00e8tres de la synth\u00e8se globale
+wao.error.serviceSynthesis.getNonComplianceBoardingIndicator=Impossible de r\u00E9cup\u00E9rer l'indicateur de non respect du nombre d'observateurs embarqu\u00E9s
+wao.error.serviceSynthesis.updateGlobalSynthesisParameters=Impossible de mettre \u00E0 jour les param\u00E8tres de la synth\u00E8se globale
wao.error.serviceUser.connect=Une erreur est survenue lors de la demande de connexion
-wao.error.serviceUser.createDefaultAdmin=Impossible de cr\u00e9er l'administrateur par d\u00e9faut
-wao.error.serviceUser.createUpdateCompany=Impossible de cr\u00e9er ou de mettre \u00e0 jour la soci\u00e9t\u00e9
-wao.error.serviceUser.createUpdateUser=Impossible de cr\u00e9er ou de mettre \u00e0 jour l'utilisateur
-wao.error.serviceUser.deleteCompany=Impossible de supprimer la soci\u00e9t\u00e9 ou de v\u00e9rifier 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\u00e9cup\u00e9rer la liste des soci\u00e9t\u00e9s
+wao.error.serviceUser.getCompanies=Impossible de r\u00E9cup\u00E9rer la liste des soci\u00E9t\u00E9s
wao.error.serviceUser.getCompany=
wao.error.serviceUser.getNewUser=Impossible d'instancier un nouvel utilisateur
-wao.error.serviceUser.getObservers=Impossible de r\u00e9cup\u00e9rer la liste des observateurs
+wao.error.serviceUser.getObservers=Impossible de r\u00E9cup\u00E9rer la liste des observateurs
wao.error.serviceUser.getUserRolesByLogin=
-wao.error.serviceUser.getUsersByCompany=Impossible de r\u00e9cup\u00e9rer la liste des utilisateurs de la soci\u00e9t\u00e9 %1$s
+wao.error.serviceUser.getUsersByCompany=Impossible de r\u00E9cup\u00E9rer la liste des utilisateurs de la soci\u00E9t\u00E9 %1$s
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/io/csv2/ImportTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/io/csv2/ImportTest.java 2011-02-24 13:10:51 UTC (rev 1044)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/io/csv2/ImportTest.java 2011-02-28 10:32:35 UTC (rev 1045)
@@ -24,6 +24,8 @@
import fr.ifremer.wao.bean.ValidationResult;
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.entity.TerrestrialLocation;
+import fr.ifremer.wao.io.csv2.models.SamplingPlanImportModel;
+import fr.ifremer.wao.io.csv2.models.TerrestrialLocationImportModel;
import org.apache.commons.io.IOUtils;
import org.junit.Assert;
import org.junit.Ignore;
1
0
[Suiviobsmer-commits] r1044 - in trunk/wao-business/src/main: java/fr/ifremer/wao/service resources/i18n
by bleny@users.labs.libre-entreprise.org 24 Feb '11
by bleny@users.labs.libre-entreprise.org 24 Feb '11
24 Feb '11
Author: bleny
Date: 2011-02-24 13:10:51 +0000 (Thu, 24 Feb 2011)
New Revision: 1044
Log:
remove boat name from accidental mammal capture mail
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.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
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-02-23 15:54:22 UTC (rev 1043)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-02-24 13:10:51 UTC (rev 1044)
@@ -377,7 +377,6 @@
//
//Un observateur du programme Obsmer a renseigné dans WAO l'information suivante :
//
- //Navire : L'ARMILANT (487836)
//Marée : 25/10/2010 00:00 - 26/10/2010 00:00
//Métier : 2010_0037 Manche Ouest (Manche, Mer du Nord) Secteur Brest Granville centré autour de St malo OTB_DEF 80-90 Chalutage de fond côtier sole, seiche
//
@@ -391,12 +390,8 @@
String object = WaoUtils.translate(n_("wao.business.mammalsCapture.mail.subject"));
- // building 3 string, components of the body
+ // building 2 string, components of the body
- // the boat and its number
- String boat = contact.getBoat().getName() + " (" +
- contact.getBoat().getImmatriculation() + ")";
-
// the time of the capture (it's between tide begin and end)
String time = "";
if (contact.getObservationBeginDate() != null) {
@@ -421,7 +416,7 @@
// constructing the whole mail
String body = WaoUtils.translate(n_("wao.business.mammalsCapture.mail.message"),
- boat, time, profession, contact.getMammalsInfo());
+ time, profession, contact.getMammalsInfo());
if (log.isDebugEnabled()) {
log.debug("will send email with object '" + object + "' and body \n" + body);
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-02-23 15:54:22 UTC (rev 1043)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-02-24 13:10:51 UTC (rev 1044)
@@ -114,7 +114,7 @@
wao.business.contact.validation.commentAdminNecessaryForDataReliability=You must precise in admin comment why data reliability is '%s'
wao.business.contact.validation.dataReliabilityMissingForValidation=You must provide data reliability before validating
wao.business.entity.UserProfile.description=%s on %s%s
-wao.business.mammalsCapture.mail.message=Hello,\n\nAn observer of the ObsMer program provided to WAO the following information\:\n\nBoat\: %s\nTide\: %s\nProfession\: %s\n\nAccidental capture\:\n%s\n\nBest regards,\n\nObsmer program\nhttp\://www.ifremer.fr/wao
+wao.business.mammalsCapture.mail.message=Hello,\n\nAn observer of the ObsMer program provided to WAO the following information\:\n\nTide\: %s\nProfession\: %s\n\nAccidental capture\:\n%s\n\nBest regards,\n\nObsmer program\nhttp\://www.ifremer.fr/wao
wao.business.mammalsCapture.mail.subject=Obsmer WAO\: Information about an accidental capture
wao.business.other=Other
wao.business.readOnly=(read-only)
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-02-23 15:54:22 UTC (rev 1043)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-02-24 13:10:51 UTC (rev 1044)
@@ -1,159 +1,159 @@
ContactPieChartConstant.OTHER=Autres
-ContactPieChartConstant.REALIZED=R\u00E9alis\u00E9s
-ContactPieChartConstant.REFUSED=Refus\u00E9s
-ContactState.CONTACT_DEFINITELY_REFUSED=Refus d\u00E9finitif
+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\u00E9e
-ContactState.OBSERVATION_DONE=Observation r\u00E9alis\u00E9e
-ContactState.OBSERVATION_EXPECTED=Observation programm\u00E9e
-DataReliability.CORRECTION_ASKED=Correction demand\u00E9e
+ContactState.OBSERVATION_CANCELLED=Annul\u00e9e
+ContactState.OBSERVATION_DONE=Observation r\u00e9alis\u00e9e
+ContactState.OBSERVATION_EXPECTED=Observation programm\u00e9e
+DataReliability.CORRECTION_ASKED=Correction demand\u00e9e
DataReliability.DOUBTFUL=Douteuse
-DataReliability.NOT_PROVIDED=Non contr\u00F4l\u00E9e
+DataReliability.NOT_PROVIDED=Non contr\u00f4l\u00e9e
DataReliability.NOT_RELIABLE=Non exploitable
DataReliability.RELIABLE=Exploitable
DataReliability.UNKNOWN=Inconnue
-GlobalIndicatorValue.BAD=P\u00E9nalit\u00E9 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\u00E9nalit\u00E9 de niveau 2
+GlobalIndicatorValue.VERY_BAD=P\u00e9nalit\u00e9 de niveau 2
GlobalIndicatorValue.VERY_GOOD=Bonus de niveau 2
-LocationType.AUCTION=Cri\u00E9e
+LocationType.AUCTION=Cri\u00e9e
LocationType.PORT=Port
ObsProgram.OBSMER=ObsMer
ObsProgram.OBSVENTE=ObsVente
-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.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
+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.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
UserRole.ADMIN=Administrateur
UserRole.COORDINATOR=Coordinateur
-UserRole.GUEST=Invit\u00E9
+UserRole.GUEST=Invit\u00e9
UserRole.OBSERVER=Observateur
UserRole.PROFESSIONAL=Professionnel
-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.=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 \u00E0 l'\u00E9talage (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\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.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\u00E9rivants (filets d\u00E9rivants)
+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\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.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\u00E9canis\u00E9es
+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\u00E9colte (non sp\u00E9cifi\u00E9s)
+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 \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.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\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.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\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.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.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\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.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\u00E8ces catadromes
-fr.ifremer.wao.entity.TargetSpeciesDCF.CRU=Crustac\u00E9s
+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\u00E8ces d\u00E9mersales
-fr.ifremer.wao.entity.TargetSpeciesDCF.DWS=Esp\u00E8ces 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\u00E9lagiques
+fr.ifremer.wao.entity.TargetSpeciesDCF.LPF=Grands p\u00e9lagiques
fr.ifremer.wao.entity.TargetSpeciesDCF.MOL=Mollusques
-fr.ifremer.wao.entity.TargetSpeciesDCF.SPF=Petits p\u00E9lagiques
-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
+fr.ifremer.wao.entity.TargetSpeciesDCF.SPF=Petits p\u00e9lagiques
+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\u00E9 dans WAO l'information suivante \:\n\nNavire \: %s\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.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\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.boat.canCreateContact=Impossible de cr\u00e9er un nouveau contact pour la soci\u00e9t\u00e9 %1$s et le navire %2$s (%3$d)
+wao.error.boat.getNbBoarding=Impossible de r\u00e9cup\u00e9rer le nombre d'embarquements r\u00e9els depuis le %1$s
+wao.error.boatInfos.getNbBoardingForCompany=Impossible de r\u00e9cup\u00e9rer le nombre d'embarquements r\u00e9els depuis le %1$s pour la soci\u00e9t\u00e9 %2$s
wao.error.context.close=Une erreur est survenue pendant la fermeture du contexte principale de ToPIA
wao.error.context.encodeString=
-wao.error.context.getRootContext=Une erreur est survenue pour la r\u00E9cup\u00E9ration du contexte principale de ToPIA
+wao.error.context.getRootContext=Une erreur est survenue pour la r\u00e9cup\u00e9ration du contexte principale de ToPIA
wao.error.context.parse=Une erreur est survenue pendant le chargement de la configuration du fichier %1$s
wao.error.context.rollback=Une erreur est survenue pendant l'annulation de la transaction courante
-wao.error.context.start=Une erreur est survenue pendant le d\u00E9marrage de l'application
+wao.error.context.start=Une erreur est survenue pendant le d\u00e9marrage de l'application
wao.error.context.stop=Une erreur est survenue pendant la fermeture de l'application
-wao.error.sampleMonth.addRealTideTime=Impossible d'enregistrer le nombre de mar\u00E9es r\u00E9els pour le mois de %1$s [ligne \: %2$s]
-wao.error.sampleRow.saveSampleRowLog=Impossible d'enregistrer le commentaire \u00E9crit par %1$s
-wao.error.serviceBoat.createUpdateCompanyBoatInfos=Impossible de cr\u00E9er ou modifier les informations li\u00E9s au navire %1$d pour la soci\u00E9t\u00E9 %2$s
-wao.error.serviceBoat.exportBoatCsv=Impossible d'exporter les navires s\u00E9lectionn\u00E9s
+wao.error.sampleMonth.addRealTideTime=Impossible d'enregistrer le nombre de mar\u00e9es r\u00e9els pour le mois de %1$s [ligne \: %2$s]
+wao.error.sampleRow.saveSampleRowLog=Impossible d'enregistrer le commentaire \u00e9crit par %1$s
+wao.error.serviceBoat.createUpdateCompanyBoatInfos=Impossible de cr\u00e9er ou modifier les informations li\u00e9s au navire %1$d pour la soci\u00e9t\u00e9 %2$s
+wao.error.serviceBoat.exportBoatCsv=Impossible d'exporter les navires s\u00e9lectionn\u00e9s
wao.error.serviceBoat.getActivityCalendarLogAccessFile=
wao.error.serviceBoat.getActivityCalendarLogFile=
wao.error.serviceBoat.getBoat=Impossible de charger le navire
-wao.error.serviceBoat.getBoatNamesStartWith=Impossible de r\u00E9cup\u00E9rer les navires avec un nom commencant par '%1$s'
+wao.error.serviceBoat.getBoatNamesStartWith=Impossible de r\u00e9cup\u00e9rer les navires avec un nom commencant par '%1$s'
wao.error.serviceBoat.getBoatsByFilter=Impossible de filtrer la liste des navires
-wao.error.serviceBoat.getBoatsByImmatriculations=La cha\u00EEne d'immatriculations est incorrect \! Chaque immatriculation doit poss\u00E9der 6 chiffres
-wao.error.serviceBoat.getCompanyBoatInfos=Impossible de r\u00E9cup\u00E9rer les informations du navire immatricul\u00E9 %1$d pour la soci\u00E9t\u00E9 %2$s
-wao.error.serviceBoat.getLastActivityCalendar=Impossible de charger le dernier calendrier d'activit\u00E9 du navire %1$s (%2$d)
+wao.error.serviceBoat.getBoatsByImmatriculations=La cha\u00eene d'immatriculations est incorrect \! Chaque immatriculation doit poss\u00e9der 6 chiffres
+wao.error.serviceBoat.getCompanyBoatInfos=Impossible de r\u00e9cup\u00e9rer les informations du navire immatricul\u00e9 %1$d pour la soci\u00e9t\u00e9 %2$s
+wao.error.serviceBoat.getLastActivityCalendar=Impossible de charger le dernier calendrier d'activit\u00e9 du navire %1$s (%2$d)
wao.error.serviceBoat.getNbBoatsByFilter=Impossible de filtrer la liste des navires
wao.error.serviceBoat.getShipOwnerNamesContains=
-wao.error.serviceBoat.importActivityCalendarCsv=Probl\u00E8me d'import du fichier CSV des calendriers d'activit\u00E9
-wao.error.serviceBoat.importBoatCsv=Probl\u00E8me d'import du fichier CSV. V\u00E9rifiez l'en-t\u00EAte du fichier \: [ NAVS_COD,CARN_NOM,CARN_LONGUEUR_HT,CARN_ANNEE,QUARTIER_IMMA,PER_COD,PER_NOM,PER_PRENOM,NAVS_ACTIVE ]. Voir documentation pour plus de d\u00E9tails.
+wao.error.serviceBoat.importActivityCalendarCsv=Probl\u00e8me d'import du fichier CSV des calendriers d'activit\u00e9
+wao.error.serviceBoat.importBoatCsv=Probl\u00e8me d'import du fichier CSV. V\u00e9rifiez l'en-t\u00eate du fichier \: [ NAVS_COD,CARN_NOM,CARN_LONGUEUR_HT,CARN_ANNEE,QUARTIER_IMMA,PER_COD,PER_NOM,PER_PRENOM,NAVS_ACTIVE ]. Voir documentation pour plus de d\u00e9tails.
wao.error.serviceCartography.exportContactMotifsStatisticsKml=
wao.error.serviceCartography.exportContactStatisticsKml=
-wao.error.serviceCartography.importBoatDistrictKml=Impossible d'importer les coordonn\u00E9es des quartiers des navires. V\u00E9rifiez la documentation pour le bon format du fichier Kml.
+wao.error.serviceCartography.importBoatDistrictKml=Impossible d'importer les coordonn\u00e9es des quartiers des navires. V\u00e9rifiez la documentation pour le bon format du fichier Kml.
wao.error.serviceChart.getContactPieChartData=
wao.error.serviceChart.getContactPieChartUrl=
wao.error.serviceContact.exportContactCsv=Impossible d'exporter les contacts
wao.error.serviceContact.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\u00E9s
+wao.error.serviceContact.getNbContacts=Impossible de compter le nombre de contacts filtr\u00e9s
wao.error.serviceContact.getNewContact=Impossible d'instancier un nouveau contact
wao.error.serviceContact.importContactCsv=Impossible d'importer les contacts
wao.error.serviceContact.saveComment=
@@ -162,65 +162,65 @@
wao.error.serviceContact.updateSampleMonthTidesValue=
wao.error.serviceContact.validateContact=
wao.error.serviceNews.getNewNews=
-wao.error.serviceNews.getNews=Impossible de r\u00E9cup\u00E9rer l'ensemble des news
+wao.error.serviceNews.getNews=Impossible de r\u00e9cup\u00e9rer l'ensemble des news
wao.error.serviceNews.saveNews=Impossible d'enregistrer la news ayant pour titre '%1$s'
wao.error.serviceReferential.getAllContactStateMotifs=
wao.error.serviceReferential.getAllTerrestrialDistricts=
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\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.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\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.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.importTerrestrialLocations=
wao.error.serviceReferential.updateAllContactStatesMotifs=
wao.error.serviceSampling.createSampleRowLog=
-wao.error.serviceSampling.createUpdateSampleRow=Impossible de sauvegarder la ligne d'\u00E9chantillon
-wao.error.serviceSampling.deleteSampleRow=Impossible de supprimer la ligne d'\u00E9chantillon \: %1$s
-wao.error.serviceSampling.exportSamplingPlanCsv=Impossible d'exporter le plan d'\u00E9chantillonnage sur la p\u00E9riode du %1$s au %2$s
+wao.error.serviceSampling.createUpdateSampleRow=Impossible de sauvegarder la ligne d'\u00e9chantillon
+wao.error.serviceSampling.deleteSampleRow=Impossible de supprimer la ligne d'\u00e9chantillon \: %1$s
+wao.error.serviceSampling.exportSamplingPlanCsv=Impossible d'exporter le plan d'\u00e9chantillonnage sur la p\u00e9riode du %1$s au %2$s
wao.error.serviceSampling.getDCFGears=
wao.error.serviceSampling.getDCFSpecies=
wao.error.serviceSampling.getNewProfession=
wao.error.serviceSampling.getNewSampleMonth=
wao.error.serviceSampling.getNewSampleRow=
-wao.error.serviceSampling.getNewSampleRowCode=Impossible de r\u00E9cup\u00E9rer un nouveau code pour une ligne d'\u00E9chantillonnage
+wao.error.serviceSampling.getNewSampleRowCode=Impossible de r\u00e9cup\u00e9rer un nouveau code pour une ligne d'\u00e9chantillonnage
wao.error.serviceSampling.getNewSampleRowLog=
wao.error.serviceSampling.getPrograms=Impossible de charger la liste des programmes
-wao.error.serviceSampling.getSampleRow=Impossible de charger la ligne d'\u00E9chantillon ayant pour identifiant \: %1$s
-wao.error.serviceSampling.getSampleRowByCode=Impossible de charger la ligne d'\u00E9chantillon ayant pour code %1$s
-wao.error.serviceSampling.getSampleRowsByFilter=Impossible de r\u00E9cup\u00E9rer la liste des lignes du plan d'\u00E9chantillonnage
-wao.error.serviceSampling.getSampleRowsOrderedByFishingZone=Impossible de r\u00E9cup\u00E9rer la liste des lignes du plan d'\u00E9chantillonnage
-wao.error.serviceSampling.importSamplingPlanCsv=Erreur \u00E0 la ligne %1$d [CODE \= %2$s]
+wao.error.serviceSampling.getSampleRow=Impossible de charger la ligne d'\u00e9chantillon ayant pour identifiant \: %1$s
+wao.error.serviceSampling.getSampleRowByCode=Impossible de charger la ligne d'\u00e9chantillon ayant pour code %1$s
+wao.error.serviceSampling.getSampleRowsByFilter=Impossible de r\u00e9cup\u00e9rer la liste des lignes du plan d'\u00e9chantillonnage
+wao.error.serviceSampling.getSampleRowsOrderedByFishingZone=Impossible de r\u00e9cup\u00e9rer la liste des lignes du plan d'\u00e9chantillonnage
+wao.error.serviceSampling.importSamplingPlanCsv=Erreur \u00e0 la ligne %1$d [CODE \= %2$s]
wao.error.serviceSynthesis.getAllIndicatorLogs=
-wao.error.serviceSynthesis.getBoardingBoats=Impossible de r\u00E9cup\u00E9rer les donn\u00E9es du graphique concernant les embarquements sur les navires
+wao.error.serviceSynthesis.getBoardingBoats=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es du graphique concernant les embarquements sur les navires
wao.error.serviceSynthesis.getComplianceBoardingIndicator=
-wao.error.serviceSynthesis.getContactDataInputDateReactivity=Impossible de r\u00E9cup\u00E9rer l'indicateur de r\u00E9activit\u00E9 sur les dates de saisies dans Allegro
+wao.error.serviceSynthesis.getContactDataInputDateReactivity=Impossible de r\u00e9cup\u00e9rer l'indicateur de r\u00e9activit\u00e9 sur les dates de saisies dans Allegro
wao.error.serviceSynthesis.getContactPieChartData=
wao.error.serviceSynthesis.getContactPieChartDataByBoatDistrict=
wao.error.serviceSynthesis.getContactStateMotifsPieChartDataByBoatDistrict=
-wao.error.serviceSynthesis.getContactStateStatistics=Impossible de r\u00E9cup\u00E9rer les statistiques sur les \u00E9tats des contacts
+wao.error.serviceSynthesis.getContactStateStatistics=Impossible de r\u00e9cup\u00e9rer les statistiques sur les \u00e9tats des contacts
wao.error.serviceSynthesis.getDataReliability=
-wao.error.serviceSynthesis.getDataSampling=Impossible de r\u00E9cup\u00E9rer les donn\u00E9es pour le graphique dynamique des efforts de mar\u00E9es
-wao.error.serviceSynthesis.getGlobalSynthesisParameters=Impossible de r\u00E9cup\u00E9rer les donn\u00E9es concernant les indicateurs pour la synth\u00E8se globale
+wao.error.serviceSynthesis.getDataSampling=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es pour le graphique dynamique des efforts de mar\u00e9es
+wao.error.serviceSynthesis.getGlobalSynthesisParameters=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es concernant les indicateurs pour la synth\u00e8se globale
wao.error.serviceSynthesis.getGlobalSynthesisResult=
-wao.error.serviceSynthesis.getNonComplianceBoardingIndicator=Impossible de r\u00E9cup\u00E9rer l'indicateur de non respect du nombre d'observateurs embarqu\u00E9s
-wao.error.serviceSynthesis.updateGlobalSynthesisParameters=Impossible de mettre \u00E0 jour les param\u00E8tres de la synth\u00E8se globale
+wao.error.serviceSynthesis.getNonComplianceBoardingIndicator=Impossible de r\u00e9cup\u00e9rer l'indicateur de non respect du nombre d'observateurs embarqu\u00e9s
+wao.error.serviceSynthesis.updateGlobalSynthesisParameters=Impossible de mettre \u00e0 jour les param\u00e8tres de la synth\u00e8se globale
wao.error.serviceUser.connect=Une erreur est survenue lors de la demande de connexion
-wao.error.serviceUser.createDefaultAdmin=Impossible de cr\u00E9er l'administrateur par d\u00E9faut
-wao.error.serviceUser.createUpdateCompany=Impossible de cr\u00E9er ou de mettre \u00E0 jour la soci\u00E9t\u00E9
-wao.error.serviceUser.createUpdateUser=Impossible de cr\u00E9er ou de mettre \u00E0 jour l'utilisateur
-wao.error.serviceUser.deleteCompany=Impossible de supprimer la soci\u00E9t\u00E9 ou de v\u00E9rifier 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\u00E9cup\u00E9rer la liste des soci\u00E9t\u00E9s
+wao.error.serviceUser.getCompanies=Impossible de r\u00e9cup\u00e9rer la liste des soci\u00e9t\u00e9s
wao.error.serviceUser.getCompany=
wao.error.serviceUser.getNewUser=Impossible d'instancier un nouvel utilisateur
-wao.error.serviceUser.getObservers=Impossible de r\u00E9cup\u00E9rer la liste des observateurs
+wao.error.serviceUser.getObservers=Impossible de r\u00e9cup\u00e9rer la liste des observateurs
wao.error.serviceUser.getUserRolesByLogin=
-wao.error.serviceUser.getUsersByCompany=Impossible de r\u00E9cup\u00E9rer la liste des utilisateurs de la soci\u00E9t\u00E9 %1$s
+wao.error.serviceUser.getUsersByCompany=Impossible de r\u00e9cup\u00e9rer la liste des utilisateurs de la soci\u00e9t\u00e9 %1$s
1
0
[Suiviobsmer-commits] r1043 - trunk/wao-business/src/main/java/fr/ifremer/wao/service
by bleny@users.labs.libre-entreprise.org 23 Feb '11
by bleny@users.labs.libre-entreprise.org 23 Feb '11
23 Feb '11
Author: bleny
Date: 2011-02-23 15:54:22 +0000 (Wed, 23 Feb 2011)
New Revision: 1043
Log:
bugfix in terrestrial import ; region useless
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java
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-02-23 12:21:19 UTC (rev 1042)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-02-23 15:54:22 UTC (rev 1043)
@@ -278,7 +278,6 @@
@Override
protected void executeImportTerrestrialLocations(TopiaContext transaction, InputStream input) throws Exception {
-
TerrestrialLocationDAO dao = WaoDAOHelper.getTerrestrialLocationDAO(transaction);
// first, we will read the CSV file, line by line
@@ -302,9 +301,9 @@
TerrestrialLocation location = locationIterator.next();
// look if already exists and update existing or add new
- TerrestrialLocation existingLocation = dao.findByProperties(TerrestrialLocation.PROPERTY_CODE, location.getCode(),
- TerrestrialLocation.PROPERTY_NAME, location.getName(),
- TerrestrialLocation.PROPERTY_LOCATION_TYPE_ORDINAL, location.getLocationTypeOrdinal());
+ TerrestrialLocation existingLocation = dao.findByProperties(
+ TerrestrialLocation.PROPERTY_CODE, location.getCode(),
+ TerrestrialLocation.PROPERTY_LOCATION_TYPE_ORDINAL, location.getLocationTypeOrdinal());
if (existingLocation == null) {
dao.create(location);
locationAdded += 1;
@@ -338,7 +337,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
@@ -385,39 +384,39 @@
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_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;
+// }
+// }
}
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();
1
0
[Suiviobsmer-commits] r1042 - in trunk/wao-business/src/main: java/fr/ifremer/wao/entity java/fr/ifremer/wao/service xmi
by bleny@users.labs.libre-entreprise.org 23 Feb '11
by bleny@users.labs.libre-entreprise.org 23 Feb '11
23 Feb '11
Author: bleny
Date: 2011-02-23 12:21:19 +0000 (Wed, 23 Feb 2011)
New Revision: 1042
Log:
switch model version to 3.0, add region import in terrestrial location management
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialLocationImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java
trunk/wao-business/src/main/xmi/wao.zargo
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-02-21 14:16:19 UTC (rev 1041)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialLocationImpl.java 2011-02-23 12:21:19 UTC (rev 1042)
@@ -50,11 +50,20 @@
return districtName;
}
+ @Override
public boolean isDistrict() {
- boolean isDistrict = getLocationType() == null;
+ boolean isDistrict = getLocationType() == null
+ && getDistrictCode() != null;
return isDistrict;
}
+ @Override
+ public boolean isRegion() {
+ boolean isRegion = getLocationType() == null
+ && getDistrictCode() == null;
+ return isRegion;
+ }
+
/** Get a description of the location like « Maracaibo (Port, Venezuela) »
*
*/
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-02-21 14:16:19 UTC (rev 1041)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-02-23 12:21:19 UTC (rev 1042)
@@ -316,10 +316,6 @@
}
}
- if (log.isInfoEnabled()) {
- log.info(locationAdded + " terrestrial locations added, " + locationUpdated + " updated");
- }
-
// now, all the CSV file has been read and dumped into database,
// Now, we need to update database by adding any missing district
// Each location has a district (identified by a district code)
@@ -342,6 +338,7 @@
BinderFactory.newBinder(TerrestrialLocation.class);
// counts for logging
int districtAdded = 0, districtUpdated = 0;
+ int regionAdded = 0, regionUpdated = 0;
for (String districtCode : districtCodes) { // for each district code found
@@ -379,7 +376,7 @@
TerrestrialLocation existingDistrict = dao.findByProperties(TerrestrialLocation.PROPERTY_DISTRICT_CODE, district.getDistrictCode(),
TerrestrialLocation.PROPERTY_LOCATION_TYPE_ORDINAL, null);
if (existingDistrict == null) {
- dao.create(district);
+ existingDistrict = dao.create(district);
districtAdded += 1;
} else {
locationBinder.copyExcluding(district, existingDistrict, TerrestrialLocation.TOPIA_ID,
@@ -387,14 +384,43 @@
dao.update(existingDistrict);
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;
+ }
+ }
}
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");
}
transaction.commitTransaction();
-
}
@Override
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
1
0
[Suiviobsmer-commits] r1041 - in trunk/wao-ui/src/main: java/fr/ifremer/wao/ui/services resources/fr/ifremer/wao/ui/pages
by bleny@users.labs.libre-entreprise.org 21 Feb '11
by bleny@users.labs.libre-entreprise.org 21 Feb '11
21 Feb '11
Author: bleny
Date: 2011-02-21 14:16:19 +0000 (Mon, 21 Feb 2011)
New Revision: 1041
Log:
missing headers :-(
Modified:
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/KmlLoaderStrategyContactsStatesMotifs.java
trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Boats_en.properties
trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts_en.properties
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/KmlLoaderStrategyContactsStatesMotifs.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/KmlLoaderStrategyContactsStatesMotifs.java 2011-02-21 13:43:34 UTC (rev 1040)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/KmlLoaderStrategyContactsStatesMotifs.java 2011-02-21 14:16:19 UTC (rev 1041)
@@ -1,3 +1,26 @@
+/*
+ * #%L
+ * Wao :: Web Interface
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2011 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
package fr.ifremer.wao.ui.services;
import fr.ifremer.wao.bean.ContactFilter;
Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Boats_en.properties
===================================================================
--- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Boats_en.properties 2011-02-21 13:43:34 UTC (rev 1040)
+++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Boats_en.properties 2011-02-21 14:16:19 UTC (rev 1041)
@@ -1,3 +1,26 @@
+###
+# #%L
+# Wao :: Web Interface
+#
+# $Id$
+# $HeadURL$
+# %%
+# Copyright (C) 2009 - 2011 Ifremer
+# %%
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# #L%
+###
name-label: Name
immatriculation-label: #
districtCode-label: District
Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts_en.properties
===================================================================
--- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts_en.properties 2011-02-21 13:43:34 UTC (rev 1040)
+++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts_en.properties 2011-02-21 14:16:19 UTC (rev 1041)
@@ -1 +1,24 @@
+###
+# #%L
+# Wao :: Web Interface
+#
+# $Id$
+# $HeadURL$
+# %%
+# Copyright (C) 2009 - 2011 Ifremer
+# %%
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# #L%
+###
topiaCreateDate-label: Creation
\ No newline at end of file
1
0
[Suiviobsmer-commits] r1040 - in trunk: . wao-business wao-ui
by bleny@users.labs.libre-entreprise.org 21 Feb '11
by bleny@users.labs.libre-entreprise.org 21 Feb '11
21 Feb '11
Author: bleny
Date: 2011-02-21 13:43:34 +0000 (Mon, 21 Feb 2011)
New Revision: 1040
Log:
[maven-release-plugin] prepare for next development iteration
Modified:
trunk/pom.xml
trunk/wao-business/pom.xml
trunk/wao-ui/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-02-21 13:43:31 UTC (rev 1039)
+++ trunk/pom.xml 2011-02-21 13:43:34 UTC (rev 1040)
@@ -15,7 +15,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>wao</artifactId>
- <version>2.1</version>
+ <version>3.0-SNAPSHOT</version>
<modules>
<module>wao-ui</module>
@@ -329,12 +329,12 @@
<scm>
<connection>
- scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/wao-2.1
+ scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk
</connection>
<developerConnection>
- scm:svn:svn+ssh://${user.name}@labs.libre-entreprise.org/svnroot/suiviobsmer/tags/wao-2.1
+ scm:svn:svn+ssh://bleny at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk
</developerConnection>
- <url>http://labs.libre-entreprise.org/scm/viewvc.php/tags/wao-2.1?root=suiviobsm…
+ <url>http://labs.libre-entreprise.org/scm/viewvc.php/trunk/?root=suiviobsmer
</url>
</scm>
Modified: trunk/wao-business/pom.xml
===================================================================
--- trunk/wao-business/pom.xml 2011-02-21 13:43:31 UTC (rev 1039)
+++ trunk/wao-business/pom.xml 2011-02-21 13:43:34 UTC (rev 1040)
@@ -10,7 +10,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>wao</artifactId>
- <version>2.1</version>
+ <version>3.0-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.wao</groupId>
@@ -230,13 +230,13 @@
<scm>
<url>
- http://labs.libre-entreprise.org/scm/viewvc.php/tags/wao-2.1/?root=suiviobs…
+ http://labs.libre-entreprise.org/scm/viewvc.php/trunk/wao-business/?root=su…
</url>
<connection>
- scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/wao-2.1/wao-business
+ scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/wao-business
</connection>
<developerConnection>
- scm:svn:svn+ssh://${user.name}@labs.libre-entreprise.org/svnroot/suiviobsmer/tags/wao-2.1/wao-business
+ scm:svn:svn+ssh://bleny at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/wao-business
</developerConnection>
</scm>
</project>
Modified: trunk/wao-ui/pom.xml
===================================================================
--- trunk/wao-ui/pom.xml 2011-02-21 13:43:31 UTC (rev 1039)
+++ trunk/wao-ui/pom.xml 2011-02-21 13:43:34 UTC (rev 1040)
@@ -10,7 +10,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>wao</artifactId>
- <version>2.1</version>
+ <version>3.0-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.wao</groupId>
@@ -310,13 +310,13 @@
<scm>
<url>
- http://labs.libre-entreprise.org/scm/viewvc.php/tags/wao-2.1/?root=suiviobs…
+ http://labs.libre-entreprise.org/scm/viewvc.php/trunk/wao-ui/?root=suiviobs…
</url>
<connection>
- scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/wao-2.1/wao-ui
+ scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/wao-ui
</connection>
<developerConnection>
- scm:svn:svn+ssh://${user.name}@labs.libre-entreprise.org/svnroot/suiviobsmer/tags/wao-2.1/wao-ui
+ scm:svn:svn+ssh://bleny at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/wao-ui
</developerConnection>
</scm>
1
0
[Suiviobsmer-commits] r1039 - in tags: . wao-2.1
by bleny@users.labs.libre-entreprise.org 21 Feb '11
by bleny@users.labs.libre-entreprise.org 21 Feb '11
21 Feb '11
Author: bleny
Date: 2011-02-21 13:43:31 +0000 (Mon, 21 Feb 2011)
New Revision: 1039
Log:
[maven-release-plugin] copy for tag wao-2.1
Added:
tags/wao-2.1/
Property changes on: tags/wao-2.1
___________________________________________________________________
Added: svn:ignore
+ *.ipr
*.iws
*.iml
*.idea
target
nbactions.xml
Added: svn:mergeinfo
+ /branches/wao-1.5.x:679-733
1
0
[Suiviobsmer-commits] r1038 - in trunk: . wao-business wao-ui
by bleny@users.labs.libre-entreprise.org 21 Feb '11
by bleny@users.labs.libre-entreprise.org 21 Feb '11
21 Feb '11
Author: bleny
Date: 2011-02-21 13:43:28 +0000 (Mon, 21 Feb 2011)
New Revision: 1038
Log:
[maven-release-plugin] prepare release wao-2.1
Modified:
trunk/pom.xml
trunk/wao-business/pom.xml
trunk/wao-ui/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-02-21 13:36:22 UTC (rev 1037)
+++ trunk/pom.xml 2011-02-21 13:43:28 UTC (rev 1038)
@@ -15,7 +15,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>wao</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.1</version>
<modules>
<module>wao-ui</module>
@@ -329,12 +329,12 @@
<scm>
<connection>
- scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk
+ scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/wao-2.1
</connection>
<developerConnection>
- scm:svn:svn+ssh://${user.name}@labs.libre-entreprise.org/svnroot/suiviobsmer/trunk
+ scm:svn:svn+ssh://${user.name}@labs.libre-entreprise.org/svnroot/suiviobsmer/tags/wao-2.1
</developerConnection>
- <url>http://labs.libre-entreprise.org/scm/viewvc.php/trunk/?root=suiviobsmer
+ <url>http://labs.libre-entreprise.org/scm/viewvc.php/tags/wao-2.1?root=suiviobsm…
</url>
</scm>
Modified: trunk/wao-business/pom.xml
===================================================================
--- trunk/wao-business/pom.xml 2011-02-21 13:36:22 UTC (rev 1037)
+++ trunk/wao-business/pom.xml 2011-02-21 13:43:28 UTC (rev 1038)
@@ -10,7 +10,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>wao</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.1</version>
</parent>
<groupId>fr.ifremer.wao</groupId>
@@ -230,13 +230,13 @@
<scm>
<url>
- http://labs.libre-entreprise.org/scm/viewvc.php/trunk/wao-business/?root=su…
+ http://labs.libre-entreprise.org/scm/viewvc.php/tags/wao-2.1/?root=suiviobs…
</url>
<connection>
- scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/wao-business
+ scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/wao-2.1/wao-business
</connection>
<developerConnection>
- scm:svn:svn+ssh://${user.name}@labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/wao-business
+ scm:svn:svn+ssh://${user.name}@labs.libre-entreprise.org/svnroot/suiviobsmer/tags/wao-2.1/wao-business
</developerConnection>
</scm>
</project>
Modified: trunk/wao-ui/pom.xml
===================================================================
--- trunk/wao-ui/pom.xml 2011-02-21 13:36:22 UTC (rev 1037)
+++ trunk/wao-ui/pom.xml 2011-02-21 13:43:28 UTC (rev 1038)
@@ -10,7 +10,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>wao</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>2.1</version>
</parent>
<groupId>fr.ifremer.wao</groupId>
@@ -310,13 +310,13 @@
<scm>
<url>
- http://labs.libre-entreprise.org/scm/viewvc.php/trunk/wao-ui/?root=suiviobs…
+ http://labs.libre-entreprise.org/scm/viewvc.php/tags/wao-2.1/?root=suiviobs…
</url>
<connection>
- scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/wao-ui
+ scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/wao-2.1/wao-ui
</connection>
<developerConnection>
- scm:svn:svn+ssh://${user.name}@labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/wao-ui
+ scm:svn:svn+ssh://${user.name}@labs.libre-entreprise.org/svnroot/suiviobsmer/tags/wao-2.1/wao-ui
</developerConnection>
</scm>
1
0