Wao-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- 2352 discussions
[Suiviobsmer-commits] r1345 - in trunk/wao-business/src/main: java/fr/ifremer/wao resources/i18n
by bleny@users.labs.libre-entreprise.org 16 Jun '11
by bleny@users.labs.libre-entreprise.org 16 Jun '11
16 Jun '11
Author: bleny
Date: 2011-06-16 15:10:14 +0000 (Thu, 16 Jun 2011)
New Revision: 1345
Log:
contact observer filter look for observer in both mainObserver and secondary obsevers
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java
trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2011-06-16 14:53:32 UTC (rev 1344)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2011-06-16 15:10:14 UTC (rev 1345)
@@ -606,7 +606,12 @@
// OBSERVER
if (observer != null) {
- query.addEquals(contactProperty.mainObserver(), observer);
+ query.addWhere(
+ WaoQueryHelper.format(
+ "$1 = :filterObserver OR :filterObserver IN ELEMENTS ($2)",
+ contactProperty.mainObserver(),
+ contactProperty.secondaryObservers()))
+ .addParam("filterObserver", observer);
}
// Company filter is managed by SamplingFilter because the company is
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-06-16 14:53:32 UTC (rev 1344)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-06-16 15:10:14 UTC (rev 1345)
@@ -1,182 +1,182 @@
ContactPieChartConstant.OTHER=Autres
-ContactPieChartConstant.REALIZED=R\u00e9alis\u00e9s
-ContactPieChartConstant.REFUSED=Refus\u00e9s
-ContactState.CONTACT_DEFINITELY_REFUSED=Refus d\u00e9finitif
+ContactPieChartConstant.REALIZED=Réalisés
+ContactPieChartConstant.REFUSED=Refusés
+ContactState.CONTACT_DEFINITELY_REFUSED=Refus définitif
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
-ContactState.OBSERVATION_NOT_DONE=Non observ\u00e9
-DataReliability.CORRECTION_ASKED=Correction demand\u00e9e
+ContactState.OBSERVATION_CANCELLED=Annulée
+ContactState.OBSERVATION_DONE=Observation réalisée
+ContactState.OBSERVATION_EXPECTED=Observation programmée
+ContactState.OBSERVATION_NOT_DONE=Non observé
+DataReliability.CORRECTION_ASKED=Correction demandée
DataReliability.DOUBTFUL=Douteuse
-DataReliability.NOT_PROVIDED=Non contr\u00f4l\u00e9e
+DataReliability.NOT_PROVIDED=Non contrôlée
DataReliability.NOT_RELIABLE=Non exploitable
DataReliability.RELIABLE=Exploitable
DataReliability.UNKNOWN=Inconnue
-GlobalIndicatorValue.BAD=P\u00e9nalit\u00e9 de niveau 1
+GlobalIndicatorValue.BAD=Pénalité 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énalité de niveau 2
GlobalIndicatorValue.VERY_GOOD=Bonus de niveau 2
-LocationType.AUCTION=Cri\u00e9e
+LocationType.AUCTION=Criée
LocationType.DISTRICT=Quartier maritime
LocationType.PORT=Port
-LocationType.REGION=R\u00e9gion Ifremer
+LocationType.REGION=Région Ifremer
ObsProgram.OBSDEB=ObsDeb
ObsProgram.OBSMER=ObsMer
ObsProgram.OBSVENTE=ObsVente
ObservationType.FIELD_WORK_OBSERVATION=Observation de terrain
-ObservationType.FIELD_WORK_SURVEY=Enqu\u00eate de terrain
-ObservationType.PHONE_CALL=Enqu\u00eate t\u00e9l\u00e9phonique
-SamplingStrategy.SIMULTANEOUS_ALL_SPECIES=Simultan\u00e9 \: Toutes esp\u00e8ces commerciales
-SamplingStrategy.SIMULTANEOUS_G1_G2_SPECIES=Simultan\u00e9 \: esp\u00e8ces G1+G2
-SamplingStrategy.SIMULTANEOUS_G1_SPECIES=Simultan\u00e9 \: esp\u00e8ces G1
-SamplingStrategy.SPECIFIC_STOCK=Stock sp\u00e9cifique
-SynthesisId.DISTINCT_BOATS_COUNTS=Nombres de navires distincts observ\u00e9s
-SynthesisId.GRAPH_BOARDING=Taux d'embarquement sur un m\u00eame navire conforme aux exigences
-SynthesisId.GRAPH_SAMPLING=Taux de r\u00e9alisation du plan d'\u00e9chantillonage
-SynthesisId.IND_ALLEGRO_REACTIVITY=D\u00e9lais de transmission des donn\u00e9es
-SynthesisId.IND_COMPLIANCE_BOARDING=Respect du nombre d'observateurs embarqu\u00e9s
-SynthesisId.IND_CONTACT_STATE=\u00c9tats des contacts
-SynthesisId.IND_DATA_RELIABILITY=Qualit\u00e9 de la donn\u00e9e
-SynthesisId.OBSERVATION_HOUR=Heures d'observation dans la journ\u00e9e
+ObservationType.FIELD_WORK_SURVEY=Enquête de terrain
+ObservationType.PHONE_CALL=Enquête téléphonique
+SamplingStrategy.SIMULTANEOUS_ALL_SPECIES=Simultané \: Toutes espèces commerciales
+SamplingStrategy.SIMULTANEOUS_G1_G2_SPECIES=Simultané \: espèces G1+G2
+SamplingStrategy.SIMULTANEOUS_G1_SPECIES=Simultané \: espèces G1
+SamplingStrategy.SPECIFIC_STOCK=Stock spécifique
+SynthesisId.DISTINCT_BOATS_COUNTS=Nombres de navires distincts observés
+SynthesisId.GRAPH_BOARDING=Taux d'embarquement sur un même navire conforme aux exigences
+SynthesisId.GRAPH_SAMPLING=Taux de réalisation du plan d'échantillonage
+SynthesisId.IND_ALLEGRO_REACTIVITY=Délais de transmission des données
+SynthesisId.IND_COMPLIANCE_BOARDING=Respect du nombre d'observateurs embarqués
+SynthesisId.IND_CONTACT_STATE=États des contacts
+SynthesisId.IND_DATA_RELIABILITY=Qualité de la donnée
+SynthesisId.OBSERVATION_HOUR=Heures d'observation dans la journée
UserRole.ADMIN=Administrateur
UserRole.COORDINATOR=Coordinateur
-UserRole.GUEST=Invit\u00e9
+UserRole.GUEST=Invité
UserRole.OBSERVER=Observateur
UserRole.PROFESSIONAL=Professionnel
csv.import.error.missingMandatoryHeaders=Les champs obligatoires %s sont manquants
-csv.import.error.unableToParseValue=Erreur lors de l'interpr\u00e9tation de la valeur '%s' (colonne '%s', ligne %s)
-csv.import.error.unableToReadField=Impossible de lire la colonne '%s' \u00e0 la ligne %s
+csv.import.error.unableToParseValue=Erreur lors de l'interprétation de la valeur '%s' (colonne '%s', ligne %s)
+csv.import.error.unableToReadField=Impossible de lire la colonne '%s' à la ligne %s
csv.import.error.unableToReadLine=Impossible de lire la ligne %s
-csv.import.error.unableToSetValue=Impossible d'enregistrer la valeur '%s' (entit\u00e9 '%s', ligne %s, column '%s')
+csv.import.error.unableToSetValue=Impossible d'enregistrer la valeur '%s' (entité '%s', ligne %s, column '%s')
csv.import.error.unrecognizedHeaders=Les champs %s ne sont pas reconnus. Les champs possibles sont %s.
csv.import.logComment=Modification depuis import
-fr.ifremer.wao.entity.FishingGearDCF.=Non sp\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écifié
+fr.ifremer.wao.entity.FishingGearDCF.DRB=Dragues remorquées par bateau
+fr.ifremer.wao.entity.FishingGearDCF.DRH=Dragues à main
+fr.ifremer.wao.entity.FishingGearDCF.FAR=Pièges aériens
+fr.ifremer.wao.entity.FishingGearDCF.FCN=Éperviers
+fr.ifremer.wao.entity.FishingGearDCF.FG=Autres engins retombants (non-spécifiés)
+fr.ifremer.wao.entity.FishingGearDCF.FIX=Pièges (non-spécifiés)
+fr.ifremer.wao.entity.FishingGearDCF.FPN=Filets-pièges fixes non couverts
fr.ifremer.wao.entity.FishingGearDCF.FPO=Nasses (casiers)
-fr.ifremer.wao.entity.FishingGearDCF.FSN=Filets \u00e0 l'\u00e9talage (diables)
+fr.ifremer.wao.entity.FishingGearDCF.FSN=Filets à l'étalage (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élants (non spécifiés)
+fr.ifremer.wao.entity.FishingGearDCF.GES=Tamis à civelles
+fr.ifremer.wao.entity.FishingGearDCF.GN=Filets maillants (non spécifiés)
fr.ifremer.wao.entity.FishingGearDCF.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érivants (filets dérivants)
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és (ancrés)
+fr.ifremer.wao.entity.FishingGearDCF.GT=Trémailleurs
+fr.ifremer.wao.entity.FishingGearDCF.GTN=Trémails et filets maillants combinés
+fr.ifremer.wao.entity.FishingGearDCF.GTR=Trémails
fr.ifremer.wao.entity.FishingGearDCF.HAR=Harpons
-fr.ifremer.wao.entity.FishingGearDCF.HMD=Dragues m\u00e9canis\u00e9es
+fr.ifremer.wao.entity.FishingGearDCF.HMD=Dragues mécanisées
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écolte (non spécifiés)
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 à main et lignes avec cannes
+fr.ifremer.wao.entity.FishingGearDCF.LHP=Lignes à main et lignes à cannes
+fr.ifremer.wao.entity.FishingGearDCF.LL=Palangres (non spécifiées)
+fr.ifremer.wao.entity.FishingGearDCF.LLD=Palangres dérivantes
+fr.ifremer.wao.entity.FishingGearDCF.LLS=Palangres calées ou semi-flottantes
+fr.ifremer.wao.entity.FishingGearDCF.LN=Filets soulevés (non spécifiés)
+fr.ifremer.wao.entity.FishingGearDCF.LNB=Filets soulevés manœuvrées du bateau
+fr.ifremer.wao.entity.FishingGearDCF.LNP=Filets soulevés portatifs
+fr.ifremer.wao.entity.FishingGearDCF.LNS=Filets soulevés fixes manœuvrées du rivage
+fr.ifremer.wao.entity.FishingGearDCF.LTL=lignes de traîne
+fr.ifremer.wao.entity.FishingGearDCF.LX=Hameçons et lignes (non spécifiés)
fr.ifremer.wao.entity.FishingGearDCF.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écifiés
+fr.ifremer.wao.entity.FishingGearDCF.OT=Chaluts à panneaux (non spécifié)
+fr.ifremer.wao.entity.FishingGearDCF.OTB=Chalut de fond à panneaux
+fr.ifremer.wao.entity.FishingGearDCF.OTM=Chaluts pélagiques à panneaux
+fr.ifremer.wao.entity.FishingGearDCF.OTT=Chaluts jumeaux à panneaux
fr.ifremer.wao.entity.FishingGearDCF.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.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.PS1=Filets tournants, sennes coulissantes manœuvrées par un bateau
+fr.ifremer.wao.entity.FishingGearDCF.PS2=Filets tournants, sennes coulissantes manœuvrées par deux bateaux
+fr.ifremer.wao.entity.FishingGearDCF.PT=Chalut-bœufs (non spécifié)
+fr.ifremer.wao.entity.FishingGearDCF.PTB=Chalut-bœufs de fond
+fr.ifremer.wao.entity.FishingGearDCF.PTM=Chalut-bœufs pélagiques
+fr.ifremer.wao.entity.FishingGearDCF.RG=Engins de pêche révréative
fr.ifremer.wao.entity.FishingGearDCF.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œuvrées par deux bateaux
+fr.ifremer.wao.entity.FishingGearDCF.SSC=Sennes écossaises
+fr.ifremer.wao.entity.FishingGearDCF.SV=Sennes halées à bord
+fr.ifremer.wao.entity.FishingGearDCF.SW=Sennes (non spécifiées)
+fr.ifremer.wao.entity.FishingGearDCF.TB=Chalut de fond (non spécifié)
+fr.ifremer.wao.entity.FishingGearDCF.TBB=Chaluts à perche
+fr.ifremer.wao.entity.FishingGearDCF.TBN=Chalut à langoustines
+fr.ifremer.wao.entity.FishingGearDCF.TBS=Chalut à crevettes
+fr.ifremer.wao.entity.FishingGearDCF.TM=Chalut pélagique (non spécifié)
+fr.ifremer.wao.entity.FishingGearDCF.TMS=Chalut à crevettes
+fr.ifremer.wao.entity.FishingGearDCF.TX=Autre chalut (non spécifié)
+fr.ifremer.wao.entity.TargetSpeciesDCF.=Non spécifié
fr.ifremer.wao.entity.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èces catadromes
+fr.ifremer.wao.entity.TargetSpeciesDCF.CRU=Crustacés
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èces démersales
+fr.ifremer.wao.entity.TargetSpeciesDCF.DWS=Espèces 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élagiques
fr.ifremer.wao.entity.TargetSpeciesDCF.MOL=Mollusques
-fr.ifremer.wao.entity.TargetSpeciesDCF.SPF=Petits p\u00e9lagiques
-wao.business.boat.validation.immatriculation.wrongFormat=L'immatriculation du navire doit \u00eatre form\u00e9e de 6 chiffres
-wao.business.contact.validation.commentAdminNecessaryForDataReliability=Il faut pr\u00e9ciser dans le commentaire administrateur pourquoi la donn\u00e9e est '%s'
-wao.business.contact.validation.commentMissingForState=Il faut pr\u00e9ciser un commentaire pour l'\u00e9tat '%s'
-wao.business.contact.validation.contactStateMotifMissing=Il faut pr\u00e9ciser un motif de refus
-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élagiques
+wao.business.boat.validation.immatriculation.wrongFormat=L'immatriculation du navire doit être formée de 6 chiffres
+wao.business.contact.validation.commentAdminNecessaryForDataReliability=Il faut préciser dans le commentaire administrateur pourquoi la donnée est '%s'
+wao.business.contact.validation.commentMissingForState=Il faut préciser un commentaire pour l'état '%s'
+wao.business.contact.validation.contactStateMotifMissing=Il faut préciser un motif de refus
+wao.business.contact.validation.dataReliabilityMissingForValidation=Il faut préciser la qualité de la donnée 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é dans WAO l'information suivante \:\n\nMarée \: %s\nMétier \: %s\n\nCapture accidentelle \:\n%s\n\nCordialement,\n\nLe programme Obsmer\nhttp\://www.ifremer.fr/wao
wao.business.mammalsCapture.mail.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éer un nouveau contact pour la société %1$s et le navire %2$s (%3$d)
+wao.error.boat.getNbBoarding=Impossible de récupérer le nombre d'embarquements réels depuis le %1$s
+wao.error.boatInfos.getNbBoardingForCompany=Impossible de récupérer le nombre d'embarquements réels depuis le %1$s pour la société %2$s
wao.error.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écupération 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émarrage 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ées réels pour le mois de %1$s [ligne \: %2$s]
+wao.error.sampleRow.saveSampleRowLog=Impossible d'enregistrer le commentaire écrit par %1$s
+wao.error.serviceBoat.createUpdateCompanyBoatInfos=Impossible de créer ou modifier les informations liés au navire %1$d pour la société %2$s
+wao.error.serviceBoat.exportBoatCsv=Impossible d'exporter les navires sélectionnés
wao.error.serviceBoat.getActivityCalendarLogAccessFile=
wao.error.serviceBoat.getActivityCalendarLogFile=
wao.error.serviceBoat.getAllActiveBoats=
wao.error.serviceBoat.getBoat=Impossible de charger le navire
-wao.error.serviceBoat.getBoatNamesStartWith=Impossible de r\u00e9cup\u00e9rer les navires avec un nom commencant par '%1$s'
+wao.error.serviceBoat.getBoatNamesStartWith=Impossible de récupérer 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îne d'immatriculations est incorrect \! Chaque immatriculation doit posséder 6 chiffres
+wao.error.serviceBoat.getCompanyBoatInfos=Impossible de récupérer les informations du navire immatriculé %1$d pour la société %2$s
+wao.error.serviceBoat.getLastActivityCalendar=Impossible de charger le dernier calendrier d'activité du navire %1$s (%2$d)
wao.error.serviceBoat.getNbBoatsByFilter=Impossible de filtrer la liste des navires
wao.error.serviceBoat.getPossibleValuesForFilter=
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.
+wao.error.serviceBoat.importActivityCalendarCsv=Problème d'import du fichier CSV des calendriers d'activité
+wao.error.serviceBoat.importBoatCsv=Problème d'import du fichier CSV. Vérifiez l'en-tête du fichier.
wao.error.serviceBoat.importBoatGroups=
wao.error.serviceBoat.newBoatFilter=
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ées des quartiers des navires. Vérifiez 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és
wao.error.serviceContact.getNewContact=Impossible d'instancier un nouveau contact
wao.error.serviceContact.getPossibleObsDebCodes=
wao.error.serviceContact.getPossibleTerrestrialLocations=
@@ -192,7 +192,7 @@
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écupérer l'ensemble des news
wao.error.serviceNews.saveNews=Impossible d'enregistrer la news ayant pour titre '%1$s'
wao.error.serviceReferential.getAllContactStateMotifs=
wao.error.serviceReferential.getAllObsDebCodes=
@@ -204,14 +204,14 @@
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êche
+wao.error.serviceReferential.getProfessions=Impossible de charger la liste des métiers
+wao.error.serviceReferential.getSectors=Impossible de charger la liste des zones de pêche
wao.error.serviceReferential.getTerrestrialDistrict=
wao.error.serviceReferential.importContactStateMotifs=
wao.error.serviceReferential.importContactStateMotives=
-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éer le référentiel des codes DCF
+wao.error.serviceReferential.importFishingZoneCsv=Problème d'import du fichier CSV. Vérifiez l'en-tête du fichier \: [ PECHE_DIVISION,PECHE_ZONE,PECHE_FACADE ]. Voir documentation pour plus de détails.
wao.error.serviceReferential.importInitialContactStateMotifs=
wao.error.serviceReferential.importObsDebCodes=
wao.error.serviceReferential.importTerrestrialDivisions=
@@ -220,76 +220,76 @@
wao.error.serviceReferential.updateAllContactStatesMotifs=
wao.error.serviceSampling.countSampleRows=
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'échantillon
+wao.error.serviceSampling.deleteSampleRow=Impossible de supprimer la ligne d'échantillon \: %1$s
+wao.error.serviceSampling.exportSamplingPlanCsv=Impossible d'exporter le plan d'échantillonnage sur la période du %1$s au %2$s
wao.error.serviceSampling.exportSamplingPlanICalendar=
wao.error.serviceSampling.getDCFGears=
wao.error.serviceSampling.getDCFSpecies=
wao.error.serviceSampling.getNewProfession=
wao.error.serviceSampling.getNewSampleMonth=
wao.error.serviceSampling.getNewSampleRow=
-wao.error.serviceSampling.getNewSampleRowCode=Impossible de r\u00e9cup\u00e9rer un nouveau code pour une ligne d'\u00e9chantillonnage
+wao.error.serviceSampling.getNewSampleRowCode=Impossible de récupérer un nouveau code pour une ligne d'échantillonnage
wao.error.serviceSampling.getNewSampleRowLog=
wao.error.serviceSampling.getPossibleValuesForFilter=
wao.error.serviceSampling.getPrograms=Impossible de charger la liste des programmes
-wao.error.serviceSampling.getSampleRow=Impossible de charger la ligne d'\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.getSampleRow=Impossible de charger la ligne d'échantillon ayant pour identifiant \: %1$s
+wao.error.serviceSampling.getSampleRowByCode=Impossible de charger la ligne d'échantillon ayant pour code %1$s
+wao.error.serviceSampling.getSampleRowsByFilter=Impossible de récupérer la liste des lignes du plan d'échantillonnage
wao.error.serviceSampling.getSampleRowsForEligibility=
-wao.error.serviceSampling.getSampleRowsOrderedByFishingZone=Impossible de r\u00e9cup\u00e9rer la liste des lignes du plan d'\u00e9chantillonnage
+wao.error.serviceSampling.getSampleRowsOrderedByFishingZone=Impossible de récupérer la liste des lignes du plan d'échantillonnage
wao.error.serviceSampling.importSamplingPlanCsv=Erreur lors de l'import du plan
wao.error.serviceSampling.newOperation=
wao.error.serviceSampling.newSampleRow=
wao.error.serviceSampling.newSamplingFilter=
wao.error.serviceSampling.validateSampleRow=
wao.error.serviceSynthesis.getAllIndicatorLogs=
-wao.error.serviceSynthesis.getBoardingBoats=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es du graphique concernant les embarquements sur les navires
+wao.error.serviceSynthesis.getBoardingBoats=Impossible de récupérer les données du graphique concernant les embarquements sur les navires
wao.error.serviceSynthesis.getBoatsCount=
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écupérer l'indicateur de réactivité 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écupérer les statistiques sur les états 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.getDataSampling=Impossible de récupérer les données pour le graphique dynamique des efforts de marées
wao.error.serviceSynthesis.getDistinctBoatsCounts=
-wao.error.serviceSynthesis.getGlobalSynthesisParameters=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es concernant les indicateurs pour la synth\u00e8se globale
+wao.error.serviceSynthesis.getGlobalSynthesisParameters=Impossible de récupérer les données concernant les indicateurs pour la synthèse 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.getNonComplianceBoardingIndicator=Impossible de récupérer l'indicateur de non respect du nombre d'observateurs embarqués
wao.error.serviceSynthesis.getObservationHours=
-wao.error.serviceSynthesis.updateGlobalSynthesisParameters=Impossible de mettre \u00e0 jour les param\u00e8tres de la synth\u00e8se globale
+wao.error.serviceSynthesis.updateGlobalSynthesisParameters=Impossible de mettre à jour les paramètres de la synthèse globale
wao.error.serviceUser.addTokensToAllProfiles=
wao.error.serviceUser.connect=Une erreur est survenue lors de la demande de connexion
-wao.error.serviceUser.createDefaultAdmin=Impossible de cr\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éer l'administrateur par défaut
+wao.error.serviceUser.createUpdateCompany=Impossible de créer ou de mettre à jour la société
+wao.error.serviceUser.createUpdateUser=Impossible de créer ou de mettre à jour l'utilisateur
+wao.error.serviceUser.deleteCompany=Impossible de supprimer la société ou de vérifier les contraintes de suppression
wao.error.serviceUser.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écupérer la liste des sociétés
wao.error.serviceUser.getCompany=
wao.error.serviceUser.getConnectedUserByToken=
wao.error.serviceUser.getNewUser=Impossible d'instancier un nouvel utilisateur
-wao.error.serviceUser.getObservers=Impossible de r\u00e9cup\u00e9rer la liste des observateurs
+wao.error.serviceUser.getObservers=Impossible de récupérer la liste des observateurs
wao.error.serviceUser.getUserByToken=
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écupérer la liste des utilisateurs de la société %1$s
wao.export.ical.desc=avec %s
wao.export.ical.title=Observation ObsDeb
-wao.import.contact.failure.boatMissing=Il faut pr\u00e9ciser l'immatriculation du navire associ\u00e9 au contact
-wao.import.contact.failure.locationTypeMissing=Le type du lieu doit \u00eatre renseign\u00e9
-wao.import.contact.failure.sampleRowCodeMissing=Il manque le code de la ligne de plan associ\u00e9e
+wao.import.contact.failure.boatMissing=Il faut préciser l'immatriculation du navire associé au contact
+wao.import.contact.failure.locationTypeMissing=Le type du lieu doit être renseigné
+wao.import.contact.failure.sampleRowCodeMissing=Il manque le code de la ligne de plan associée
wao.import.contact.failure.terrestrialLocationMissing=Il manque le code du lieu
wao.import.contact.failure.wrongBoat=Il n'y a pas de navire avec l'immatriculation '%s'
-wao.import.contact.failure.wrongColor=Le code couleur '%s' n'est pas valide, il doit \u00eatre compos\u00e9 de six caract\u00e8res sans di\u00e8ze voir http\://fr.wikipedia.org/wiki/Couleurs_du_Web
+wao.import.contact.failure.wrongColor=Le code couleur '%s' n'est pas valide, il doit être composé de six caractères sans dièze voir http\://fr.wikipedia.org/wiki/Couleurs_du_Web
wao.import.contact.failure.wrongContactStateMotifCode=Le code '%s' n'est pas un code de motif de refus valide
wao.import.contact.failure.wrongSampleRowCode=Il n'y a pas de ligne du plan avec le code '%s'
wao.import.contact.failure.wrongTerrestrialLocation=Il n'y a pas de lieu de type '%s' ayant pour code '%s'
wao.import.failure.wrongLocationType='%s' n'est pas un type de lieu valide, les valeurs admises sont %s
-wao.import.failure.wrongObsDebCode=Il n'y a pas de code m\u00e9tier ayant pour code '%s'
+wao.import.failure.wrongObsDebCode=Il n'y a pas de code métier ayant pour code '%s'
wao.import.failure.wrongUser=Il n'y a pas d'utilisateur ayant pour identifiant '%s'
-wao.validation.sampleRow.conflictOnObserver=L'observateur %s ne peut \u00eatre associ\u00e9 \u00e0 la ligne %s car il doit observer, le m\u00eame jour, pour la ligne %s
-wao.validation.sampleRow.observerNotInCompany=L'observateur %s ne fait pas parti de la soci\u00e9t\u00e9 %s
+wao.validation.sampleRow.conflictOnObserver=L'observateur %s ne peut être associé à la ligne %s car il doit observer, le même jour, pour la ligne %s
+wao.validation.sampleRow.observerNotInCompany=L'observateur %s ne fait pas parti de la société %s
1
0
[Suiviobsmer-commits] r1344 - in trunk: wao-business/src/main/java/fr/ifremer/wao/service wao-business/src/main/resources/i18n wao-ui/src/main/java/fr/ifremer/wao/ui/pages wao-ui/src/main/resources/fr/ifremer/wao/ui/pages wao-ui/src/main/webapp
by bleny@users.labs.libre-entreprise.org 16 Jun '11
by bleny@users.labs.libre-entreprise.org 16 Jun '11
16 Jun '11
Author: bleny
Date: 2011-06-16 14:53:32 +0000 (Thu, 16 Jun 2011)
New Revision: 1344
Log:
minor fixes
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties
trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java
trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts_fr.properties
trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml
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-06-16 13:48:41 UTC (rev 1343)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-06-16 14:53:32 UTC (rev 1344)
@@ -257,6 +257,8 @@
@Override
protected ValidationResult executeValidateContact(TopiaContext transaction, Contact contact) throws TopiaException {
+ // TODO 20110616 bleny design validation (using nuiton-validator ?)
+
boolean success = true;
String message = null;
@@ -285,6 +287,14 @@
message = "Il faut préciser le code métier de la marée";
}
}
+
+ if (contact.getContactState().isUnfinishedState()) {
+ if (success && StringUtils.isBlank(contact.getComment())) {
+ success = false;
+ message = WaoUtils._("wao.business.contact.validation.commentMissingForState", contact.getContactState().toString());
+ }
+ }
+
} else {
// Validation for saving contact depends on contactState
@@ -294,7 +304,6 @@
log.debug("For state : " + contactState + " and observation begin date " + observationBeginDate);
}
-
// need the sample months to be loaded, it's never the case :-(
// boolean operationBeginDateIsValid = contact.getSampleRow().isValid(observationBeginDate);
@@ -383,7 +392,7 @@
} else {
success = false;
- message = "Vous devez ajouter un commentaire pour l'état '" + contactState + "'";
+ message = WaoUtils._("wao.business.contact.validation.commentMissingForState", contact.getContactState().toString());
}
}
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-06-16 13:48:41 UTC (rev 1343)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-06-16 14:53:32 UTC (rev 1344)
@@ -1635,9 +1635,10 @@
@Override
protected InputStream executeExportSamplingPlanICalendar(TopiaContext transaction, ConnectedUser connectedUser) throws TopiaException, IOException, ValidationException, ParseException {
SamplingFilter samplingFilter = executeNewSamplingFilter(transaction, connectedUser);
+ samplingFilter.setExpectedObservationType(ObservationType.FIELD_WORK_OBSERVATION);
List<SampleRow> samplingPlan = executeGetSampleRowsByFilter(transaction, samplingFilter);
- // Obord no sampling plan are found
+ // no sampling plan are found
if (samplingPlan.isEmpty()) {
log.warn("No samplingPlan found for user " + connectedUser.getLogin() + ", abording");
return IOUtils.toInputStream("");
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-06-16 13:48:41 UTC (rev 1343)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-06-16 14:53:32 UTC (rev 1344)
@@ -129,6 +129,7 @@
fr.ifremer.wao.entity.TargetSpeciesDCF.SPF=Small pelagic
wao.business.boat.validation.immatriculation.wrongFormat=The boat registry number must be composed of 6 digits
wao.business.contact.validation.commentAdminNecessaryForDataReliability=You must precise in admin comment why data reliability is '%s'
+wao.business.contact.validation.commentMissingForState=You must give a comment for state '%s'
wao.business.contact.validation.contactStateMotifMissing=You must precise a motif for the refusal
wao.business.contact.validation.dataReliabilityMissingForValidation=You must provide data reliability before validating
wao.business.entity.UserProfile.description=%s on %s%s
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-06-16 13:48:41 UTC (rev 1343)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-06-16 14:53:32 UTC (rev 1344)
@@ -1,181 +1,182 @@
ContactPieChartConstant.OTHER=Autres
-ContactPieChartConstant.REALIZED=Réalisés
-ContactPieChartConstant.REFUSED=Refusés
-ContactState.CONTACT_DEFINITELY_REFUSED=Refus définitif
+ContactPieChartConstant.REALIZED=R\u00e9alis\u00e9s
+ContactPieChartConstant.REFUSED=Refus\u00e9s
+ContactState.CONTACT_DEFINITELY_REFUSED=Refus d\u00e9finitif
ContactState.CONTACT_REFUSED=Refus
ContactState.CONTACT_START=Contact pris
-ContactState.OBSERVATION_CANCELLED=Annulée
-ContactState.OBSERVATION_DONE=Observation réalisée
-ContactState.OBSERVATION_EXPECTED=Observation programmée
-ContactState.OBSERVATION_NOT_DONE=Non observé
-DataReliability.CORRECTION_ASKED=Correction demandée
+ContactState.OBSERVATION_CANCELLED=Annul\u00e9e
+ContactState.OBSERVATION_DONE=Observation r\u00e9alis\u00e9e
+ContactState.OBSERVATION_EXPECTED=Observation programm\u00e9e
+ContactState.OBSERVATION_NOT_DONE=Non observ\u00e9
+DataReliability.CORRECTION_ASKED=Correction demand\u00e9e
DataReliability.DOUBTFUL=Douteuse
-DataReliability.NOT_PROVIDED=Non contrôlée
+DataReliability.NOT_PROVIDED=Non contr\u00f4l\u00e9e
DataReliability.NOT_RELIABLE=Non exploitable
DataReliability.RELIABLE=Exploitable
DataReliability.UNKNOWN=Inconnue
-GlobalIndicatorValue.BAD=Pénalité de niveau 1
+GlobalIndicatorValue.BAD=P\u00e9nalit\u00e9 de niveau 1
GlobalIndicatorValue.GOOD=Bonus de niveau 1
GlobalIndicatorValue.NEUTRAL=Conforme au cahier des charges
-GlobalIndicatorValue.VERY_BAD=Pénalité de niveau 2
+GlobalIndicatorValue.VERY_BAD=P\u00e9nalit\u00e9 de niveau 2
GlobalIndicatorValue.VERY_GOOD=Bonus de niveau 2
-LocationType.AUCTION=Criée
+LocationType.AUCTION=Cri\u00e9e
LocationType.DISTRICT=Quartier maritime
LocationType.PORT=Port
-LocationType.REGION=Région Ifremer
+LocationType.REGION=R\u00e9gion Ifremer
ObsProgram.OBSDEB=ObsDeb
ObsProgram.OBSMER=ObsMer
ObsProgram.OBSVENTE=ObsVente
ObservationType.FIELD_WORK_OBSERVATION=Observation de terrain
-ObservationType.FIELD_WORK_SURVEY=Enquête de terrain
-ObservationType.PHONE_CALL=Enquête téléphonique
-SamplingStrategy.SIMULTANEOUS_ALL_SPECIES=Simultané \: Toutes espèces commerciales
-SamplingStrategy.SIMULTANEOUS_G1_G2_SPECIES=Simultané \: espèces G1+G2
-SamplingStrategy.SIMULTANEOUS_G1_SPECIES=Simultané \: espèces G1
-SamplingStrategy.SPECIFIC_STOCK=Stock spécifique
-SynthesisId.DISTINCT_BOATS_COUNTS=Nombres de navires distincts observés
-SynthesisId.GRAPH_BOARDING=Taux d'embarquement sur un même navire conforme aux exigences
-SynthesisId.GRAPH_SAMPLING=Taux de réalisation du plan d'échantillonage
-SynthesisId.IND_ALLEGRO_REACTIVITY=Délais de transmission des données
-SynthesisId.IND_COMPLIANCE_BOARDING=Respect du nombre d'observateurs embarqués
-SynthesisId.IND_CONTACT_STATE=États des contacts
-SynthesisId.IND_DATA_RELIABILITY=Qualité de la donnée
-SynthesisId.OBSERVATION_HOUR=Heures d'observation dans la journée
+ObservationType.FIELD_WORK_SURVEY=Enqu\u00eate de terrain
+ObservationType.PHONE_CALL=Enqu\u00eate t\u00e9l\u00e9phonique
+SamplingStrategy.SIMULTANEOUS_ALL_SPECIES=Simultan\u00e9 \: Toutes esp\u00e8ces commerciales
+SamplingStrategy.SIMULTANEOUS_G1_G2_SPECIES=Simultan\u00e9 \: esp\u00e8ces G1+G2
+SamplingStrategy.SIMULTANEOUS_G1_SPECIES=Simultan\u00e9 \: esp\u00e8ces G1
+SamplingStrategy.SPECIFIC_STOCK=Stock sp\u00e9cifique
+SynthesisId.DISTINCT_BOATS_COUNTS=Nombres de navires distincts observ\u00e9s
+SynthesisId.GRAPH_BOARDING=Taux d'embarquement sur un m\u00eame navire conforme aux exigences
+SynthesisId.GRAPH_SAMPLING=Taux de r\u00e9alisation du plan d'\u00e9chantillonage
+SynthesisId.IND_ALLEGRO_REACTIVITY=D\u00e9lais de transmission des donn\u00e9es
+SynthesisId.IND_COMPLIANCE_BOARDING=Respect du nombre d'observateurs embarqu\u00e9s
+SynthesisId.IND_CONTACT_STATE=\u00c9tats des contacts
+SynthesisId.IND_DATA_RELIABILITY=Qualit\u00e9 de la donn\u00e9e
+SynthesisId.OBSERVATION_HOUR=Heures d'observation dans la journ\u00e9e
UserRole.ADMIN=Administrateur
UserRole.COORDINATOR=Coordinateur
-UserRole.GUEST=Invité
+UserRole.GUEST=Invit\u00e9
UserRole.OBSERVER=Observateur
UserRole.PROFESSIONAL=Professionnel
csv.import.error.missingMandatoryHeaders=Les champs obligatoires %s sont manquants
-csv.import.error.unableToParseValue=Erreur lors de l'interprétation de la valeur '%s' (colonne '%s', ligne %s)
-csv.import.error.unableToReadField=Impossible de lire la colonne '%s' à la ligne %s
+csv.import.error.unableToParseValue=Erreur lors de l'interpr\u00e9tation de la valeur '%s' (colonne '%s', ligne %s)
+csv.import.error.unableToReadField=Impossible de lire la colonne '%s' \u00e0 la ligne %s
csv.import.error.unableToReadLine=Impossible de lire la ligne %s
-csv.import.error.unableToSetValue=Impossible d'enregistrer la valeur '%s' (entité '%s', ligne %s, column '%s')
+csv.import.error.unableToSetValue=Impossible d'enregistrer la valeur '%s' (entit\u00e9 '%s', ligne %s, column '%s')
csv.import.error.unrecognizedHeaders=Les champs %s ne sont pas reconnus. Les champs possibles sont %s.
csv.import.logComment=Modification depuis import
-fr.ifremer.wao.entity.FishingGearDCF.=Non spécifié
-fr.ifremer.wao.entity.FishingGearDCF.DRB=Dragues remorquées par bateau
-fr.ifremer.wao.entity.FishingGearDCF.DRH=Dragues à main
-fr.ifremer.wao.entity.FishingGearDCF.FAR=Pièges aériens
-fr.ifremer.wao.entity.FishingGearDCF.FCN=Éperviers
-fr.ifremer.wao.entity.FishingGearDCF.FG=Autres engins retombants (non-spécifiés)
-fr.ifremer.wao.entity.FishingGearDCF.FIX=Pièges (non-spécifiés)
-fr.ifremer.wao.entity.FishingGearDCF.FPN=Filets-pièges fixes non couverts
+fr.ifremer.wao.entity.FishingGearDCF.=Non sp\u00e9cifi\u00e9
+fr.ifremer.wao.entity.FishingGearDCF.DRB=Dragues remorqu\u00e9es par bateau
+fr.ifremer.wao.entity.FishingGearDCF.DRH=Dragues \u00e0 main
+fr.ifremer.wao.entity.FishingGearDCF.FAR=Pi\u00e8ges a\u00e9riens
+fr.ifremer.wao.entity.FishingGearDCF.FCN=\u00c9perviers
+fr.ifremer.wao.entity.FishingGearDCF.FG=Autres engins retombants (non-sp\u00e9cifi\u00e9s)
+fr.ifremer.wao.entity.FishingGearDCF.FIX=Pi\u00e8ges (non-sp\u00e9cifi\u00e9s)
+fr.ifremer.wao.entity.FishingGearDCF.FPN=Filets-pi\u00e8ges fixes non couverts
fr.ifremer.wao.entity.FishingGearDCF.FPO=Nasses (casiers)
-fr.ifremer.wao.entity.FishingGearDCF.FSN=Filets à l'étalage (diables)
+fr.ifremer.wao.entity.FishingGearDCF.FSN=Filets \u00e0 l'\u00e9talage (diables)
fr.ifremer.wao.entity.FishingGearDCF.FWR=Barrages, parcs, bordigues, etc.
fr.ifremer.wao.entity.FishingGearDCF.FYK=Verveux
-fr.ifremer.wao.entity.FishingGearDCF.GEN=Filets maillants et filets emmélants (non spécifiés)
-fr.ifremer.wao.entity.FishingGearDCF.GES=Tamis à civelles
-fr.ifremer.wao.entity.FishingGearDCF.GN=Filets maillants (non spécifiés)
+fr.ifremer.wao.entity.FishingGearDCF.GEN=Filets maillants et filets emm\u00e9lants (non sp\u00e9cifi\u00e9s)
+fr.ifremer.wao.entity.FishingGearDCF.GES=Tamis \u00e0 civelles
+fr.ifremer.wao.entity.FishingGearDCF.GN=Filets maillants (non sp\u00e9cifi\u00e9s)
fr.ifremer.wao.entity.FishingGearDCF.GNC=Filets maillants encerclants
-fr.ifremer.wao.entity.FishingGearDCF.GND=Filets maillants dérivants (filets dérivants)
+fr.ifremer.wao.entity.FishingGearDCF.GND=Filets maillants d\u00e9rivants (filets d\u00e9rivants)
fr.ifremer.wao.entity.FishingGearDCF.GNF=Filets maillants fixes (sur perches)
-fr.ifremer.wao.entity.FishingGearDCF.GNS=Filets maillants calés (ancrés)
-fr.ifremer.wao.entity.FishingGearDCF.GT=Trémailleurs
-fr.ifremer.wao.entity.FishingGearDCF.GTN=Trémails et filets maillants combinés
-fr.ifremer.wao.entity.FishingGearDCF.GTR=Trémails
+fr.ifremer.wao.entity.FishingGearDCF.GNS=Filets maillants cal\u00e9s (ancr\u00e9s)
+fr.ifremer.wao.entity.FishingGearDCF.GT=Tr\u00e9mailleurs
+fr.ifremer.wao.entity.FishingGearDCF.GTN=Tr\u00e9mails et filets maillants combin\u00e9s
+fr.ifremer.wao.entity.FishingGearDCF.GTR=Tr\u00e9mails
fr.ifremer.wao.entity.FishingGearDCF.HAR=Harpons
-fr.ifremer.wao.entity.FishingGearDCF.HMD=Dragues mécanisées
+fr.ifremer.wao.entity.FishingGearDCF.HMD=Dragues m\u00e9canis\u00e9es
fr.ifremer.wao.entity.FishingGearDCF.HMP=Pompes
-fr.ifremer.wao.entity.FishingGearDCF.HMX=Engins de récolte (non spécifiés)
+fr.ifremer.wao.entity.FishingGearDCF.HMX=Engins de r\u00e9colte (non sp\u00e9cifi\u00e9s)
fr.ifremer.wao.entity.FishingGearDCF.LA=Filets tournants sans coulisse (filet lamparo)
-fr.ifremer.wao.entity.FishingGearDCF.LHM=Lignes à main et lignes avec cannes
-fr.ifremer.wao.entity.FishingGearDCF.LHP=Lignes à main et lignes à cannes
-fr.ifremer.wao.entity.FishingGearDCF.LL=Palangres (non spécifiées)
-fr.ifremer.wao.entity.FishingGearDCF.LLD=Palangres dérivantes
-fr.ifremer.wao.entity.FishingGearDCF.LLS=Palangres calées ou semi-flottantes
-fr.ifremer.wao.entity.FishingGearDCF.LN=Filets soulevés (non spécifiés)
-fr.ifremer.wao.entity.FishingGearDCF.LNB=Filets soulevés manœuvrées du bateau
-fr.ifremer.wao.entity.FishingGearDCF.LNP=Filets soulevés portatifs
-fr.ifremer.wao.entity.FishingGearDCF.LNS=Filets soulevés fixes manœuvrées du rivage
-fr.ifremer.wao.entity.FishingGearDCF.LTL=lignes de traîne
-fr.ifremer.wao.entity.FishingGearDCF.LX=Hameçons et lignes (non spécifiés)
+fr.ifremer.wao.entity.FishingGearDCF.LHM=Lignes \u00e0 main et lignes avec cannes
+fr.ifremer.wao.entity.FishingGearDCF.LHP=Lignes \u00e0 main et lignes \u00e0 cannes
+fr.ifremer.wao.entity.FishingGearDCF.LL=Palangres (non sp\u00e9cifi\u00e9es)
+fr.ifremer.wao.entity.FishingGearDCF.LLD=Palangres d\u00e9rivantes
+fr.ifremer.wao.entity.FishingGearDCF.LLS=Palangres cal\u00e9es ou semi-flottantes
+fr.ifremer.wao.entity.FishingGearDCF.LN=Filets soulev\u00e9s (non sp\u00e9cifi\u00e9s)
+fr.ifremer.wao.entity.FishingGearDCF.LNB=Filets soulev\u00e9s man\u0153uvr\u00e9es du bateau
+fr.ifremer.wao.entity.FishingGearDCF.LNP=Filets soulev\u00e9s portatifs
+fr.ifremer.wao.entity.FishingGearDCF.LNS=Filets soulev\u00e9s fixes man\u0153uvr\u00e9es du rivage
+fr.ifremer.wao.entity.FishingGearDCF.LTL=lignes de tra\u00eene
+fr.ifremer.wao.entity.FishingGearDCF.LX=Hame\u00e7ons et lignes (non sp\u00e9cifi\u00e9s)
fr.ifremer.wao.entity.FishingGearDCF.MIS=Divers
-fr.ifremer.wao.entity.FishingGearDCF.NK=Engins inconnus ou non spécifiés
-fr.ifremer.wao.entity.FishingGearDCF.OT=Chaluts à panneaux (non spécifié)
-fr.ifremer.wao.entity.FishingGearDCF.OTB=Chalut de fond à panneaux
-fr.ifremer.wao.entity.FishingGearDCF.OTM=Chaluts pélagiques à panneaux
-fr.ifremer.wao.entity.FishingGearDCF.OTT=Chaluts jumeaux à panneaux
+fr.ifremer.wao.entity.FishingGearDCF.NK=Engins inconnus ou non sp\u00e9cifi\u00e9s
+fr.ifremer.wao.entity.FishingGearDCF.OT=Chaluts \u00e0 panneaux (non sp\u00e9cifi\u00e9)
+fr.ifremer.wao.entity.FishingGearDCF.OTB=Chalut de fond \u00e0 panneaux
+fr.ifremer.wao.entity.FishingGearDCF.OTM=Chaluts p\u00e9lagiques \u00e0 panneaux
+fr.ifremer.wao.entity.FishingGearDCF.OTT=Chaluts jumeaux \u00e0 panneaux
fr.ifremer.wao.entity.FishingGearDCF.PS=Filets tournants avec coulisse (sennes coulissantes)
-fr.ifremer.wao.entity.FishingGearDCF.PS1=Filets tournants, sennes coulissantes manœuvrées par un bateau
-fr.ifremer.wao.entity.FishingGearDCF.PS2=Filets tournants, sennes coulissantes manœuvrées par deux bateaux
-fr.ifremer.wao.entity.FishingGearDCF.PT=Chalut-bœufs (non spécifié)
-fr.ifremer.wao.entity.FishingGearDCF.PTB=Chalut-bœufs de fond
-fr.ifremer.wao.entity.FishingGearDCF.PTM=Chalut-bœufs pélagiques
-fr.ifremer.wao.entity.FishingGearDCF.RG=Engins de pêche révréative
+fr.ifremer.wao.entity.FishingGearDCF.PS1=Filets tournants, sennes coulissantes man\u0153uvr\u00e9es par un bateau
+fr.ifremer.wao.entity.FishingGearDCF.PS2=Filets tournants, sennes coulissantes man\u0153uvr\u00e9es par deux bateaux
+fr.ifremer.wao.entity.FishingGearDCF.PT=Chalut-b\u0153ufs (non sp\u00e9cifi\u00e9)
+fr.ifremer.wao.entity.FishingGearDCF.PTB=Chalut-b\u0153ufs de fond
+fr.ifremer.wao.entity.FishingGearDCF.PTM=Chalut-b\u0153ufs p\u00e9lagiques
+fr.ifremer.wao.entity.FishingGearDCF.RG=Engins de p\u00eache r\u00e9vr\u00e9ative
fr.ifremer.wao.entity.FishingGearDCF.SB=Sennes de plages
fr.ifremer.wao.entity.FishingGearDCF.SDN=Sennes danoises
-fr.ifremer.wao.entity.FishingGearDCF.SPR=Sennes manœuvrées par deux bateaux
-fr.ifremer.wao.entity.FishingGearDCF.SSC=Sennes écossaises
-fr.ifremer.wao.entity.FishingGearDCF.SV=Sennes halées à bord
-fr.ifremer.wao.entity.FishingGearDCF.SW=Sennes (non spécifiées)
-fr.ifremer.wao.entity.FishingGearDCF.TB=Chalut de fond (non spécifié)
-fr.ifremer.wao.entity.FishingGearDCF.TBB=Chaluts à perche
-fr.ifremer.wao.entity.FishingGearDCF.TBN=Chalut à langoustines
-fr.ifremer.wao.entity.FishingGearDCF.TBS=Chalut à crevettes
-fr.ifremer.wao.entity.FishingGearDCF.TM=Chalut pélagique (non spécifié)
-fr.ifremer.wao.entity.FishingGearDCF.TMS=Chalut à crevettes
-fr.ifremer.wao.entity.FishingGearDCF.TX=Autre chalut (non spécifié)
-fr.ifremer.wao.entity.TargetSpeciesDCF.=Non spécifié
+fr.ifremer.wao.entity.FishingGearDCF.SPR=Sennes man\u0153uvr\u00e9es par deux bateaux
+fr.ifremer.wao.entity.FishingGearDCF.SSC=Sennes \u00e9cossaises
+fr.ifremer.wao.entity.FishingGearDCF.SV=Sennes hal\u00e9es \u00e0 bord
+fr.ifremer.wao.entity.FishingGearDCF.SW=Sennes (non sp\u00e9cifi\u00e9es)
+fr.ifremer.wao.entity.FishingGearDCF.TB=Chalut de fond (non sp\u00e9cifi\u00e9)
+fr.ifremer.wao.entity.FishingGearDCF.TBB=Chaluts \u00e0 perche
+fr.ifremer.wao.entity.FishingGearDCF.TBN=Chalut \u00e0 langoustines
+fr.ifremer.wao.entity.FishingGearDCF.TBS=Chalut \u00e0 crevettes
+fr.ifremer.wao.entity.FishingGearDCF.TM=Chalut p\u00e9lagique (non sp\u00e9cifi\u00e9)
+fr.ifremer.wao.entity.FishingGearDCF.TMS=Chalut \u00e0 crevettes
+fr.ifremer.wao.entity.FishingGearDCF.TX=Autre chalut (non sp\u00e9cifi\u00e9)
+fr.ifremer.wao.entity.TargetSpeciesDCF.=Non sp\u00e9cifi\u00e9
fr.ifremer.wao.entity.TargetSpeciesDCF.ALG=Algues
-fr.ifremer.wao.entity.TargetSpeciesDCF.CAT=Espèces catadromes
-fr.ifremer.wao.entity.TargetSpeciesDCF.CRU=Crustacés
+fr.ifremer.wao.entity.TargetSpeciesDCF.CAT=Esp\u00e8ces catadromes
+fr.ifremer.wao.entity.TargetSpeciesDCF.CRU=Crustac\u00e9s
fr.ifremer.wao.entity.TargetSpeciesDCF.CSJ=Coquilles Saint-Jacques
-fr.ifremer.wao.entity.TargetSpeciesDCF.DEF=Espèces démersales
-fr.ifremer.wao.entity.TargetSpeciesDCF.DWS=Espèces d'eaux profondes
+fr.ifremer.wao.entity.TargetSpeciesDCF.DEF=Esp\u00e8ces d\u00e9mersales
+fr.ifremer.wao.entity.TargetSpeciesDCF.DWS=Esp\u00e8ces d'eaux profondes
fr.ifremer.wao.entity.TargetSpeciesDCF.FIN=Poisson plats
-fr.ifremer.wao.entity.TargetSpeciesDCF.LPF=Grands pélagiques
+fr.ifremer.wao.entity.TargetSpeciesDCF.LPF=Grands p\u00e9lagiques
fr.ifremer.wao.entity.TargetSpeciesDCF.MOL=Mollusques
-fr.ifremer.wao.entity.TargetSpeciesDCF.SPF=Petits pélagiques
-wao.business.boat.validation.immatriculation.wrongFormat=L'immatriculation du navire doit être formée de 6 chiffres
-wao.business.contact.validation.commentAdminNecessaryForDataReliability=Il faut préciser dans le commentaire administrateur pourquoi la donnée est '%s'
-wao.business.contact.validation.contactStateMotifMissing=Il faut préciser un motif de refus
-wao.business.contact.validation.dataReliabilityMissingForValidation=Il faut préciser la qualité de la donnée avant de valider
+fr.ifremer.wao.entity.TargetSpeciesDCF.SPF=Petits p\u00e9lagiques
+wao.business.boat.validation.immatriculation.wrongFormat=L'immatriculation du navire doit \u00eatre form\u00e9e de 6 chiffres
+wao.business.contact.validation.commentAdminNecessaryForDataReliability=Il faut pr\u00e9ciser dans le commentaire administrateur pourquoi la donn\u00e9e est '%s'
+wao.business.contact.validation.commentMissingForState=Il faut pr\u00e9ciser un commentaire pour l'\u00e9tat '%s'
+wao.business.contact.validation.contactStateMotifMissing=Il faut pr\u00e9ciser un motif de refus
+wao.business.contact.validation.dataReliabilityMissingForValidation=Il faut pr\u00e9ciser la qualit\u00e9 de la donn\u00e9e avant de valider
wao.business.entity.UserProfile.description=%s sur %s%s
-wao.business.mammalsCapture.mail.message=Bonjour,\n\nUn observateur du programme Obsmer a renseigné dans WAO l'information suivante \:\n\nMarée \: %s\nMétier \: %s\n\nCapture accidentelle \:\n%s\n\nCordialement,\n\nLe programme Obsmer\nhttp\://www.ifremer.fr/wao
+wao.business.mammalsCapture.mail.message=Bonjour,\n\nUn observateur du programme Obsmer a renseign\u00e9 dans WAO l'information suivante \:\n\nMar\u00e9e \: %s\nM\u00e9tier \: %s\n\nCapture accidentelle \:\n%s\n\nCordialement,\n\nLe programme Obsmer\nhttp\://www.ifremer.fr/wao
wao.business.mammalsCapture.mail.subject=Obsmer WAO\: Information sur capture accidentelle
wao.business.other=Autre
wao.business.readOnly=(lecture seule)
-wao.error.boat.canCreateContact=Impossible de créer un nouveau contact pour la société %1$s et le navire %2$s (%3$d)
-wao.error.boat.getNbBoarding=Impossible de récupérer le nombre d'embarquements réels depuis le %1$s
-wao.error.boatInfos.getNbBoardingForCompany=Impossible de récupérer le nombre d'embarquements réels depuis le %1$s pour la société %2$s
+wao.error.boat.canCreateContact=Impossible de cr\u00e9er un nouveau contact pour la soci\u00e9t\u00e9 %1$s et le navire %2$s (%3$d)
+wao.error.boat.getNbBoarding=Impossible de r\u00e9cup\u00e9rer le nombre d'embarquements r\u00e9els depuis le %1$s
+wao.error.boatInfos.getNbBoardingForCompany=Impossible de r\u00e9cup\u00e9rer le nombre d'embarquements r\u00e9els depuis le %1$s pour la soci\u00e9t\u00e9 %2$s
wao.error.context.close=Une erreur est survenue pendant la fermeture du contexte principale de ToPIA
wao.error.context.encodeString=
-wao.error.context.getRootContext=Une erreur est survenue pour la récupération du contexte principale de ToPIA
+wao.error.context.getRootContext=Une erreur est survenue pour la r\u00e9cup\u00e9ration du contexte principale de ToPIA
wao.error.context.parse=Une erreur est survenue pendant le chargement de la configuration du fichier %1$s
wao.error.context.rollback=Une erreur est survenue pendant l'annulation de la transaction courante
-wao.error.context.start=Une erreur est survenue pendant le démarrage de l'application
+wao.error.context.start=Une erreur est survenue pendant le d\u00e9marrage de l'application
wao.error.context.stop=Une erreur est survenue pendant la fermeture de l'application
-wao.error.sampleMonth.addRealTideTime=Impossible d'enregistrer le nombre de marées réels pour le mois de %1$s [ligne \: %2$s]
-wao.error.sampleRow.saveSampleRowLog=Impossible d'enregistrer le commentaire écrit par %1$s
-wao.error.serviceBoat.createUpdateCompanyBoatInfos=Impossible de créer ou modifier les informations liés au navire %1$d pour la société %2$s
-wao.error.serviceBoat.exportBoatCsv=Impossible d'exporter les navires sélectionnés
+wao.error.sampleMonth.addRealTideTime=Impossible d'enregistrer le nombre de mar\u00e9es r\u00e9els pour le mois de %1$s [ligne \: %2$s]
+wao.error.sampleRow.saveSampleRowLog=Impossible d'enregistrer le commentaire \u00e9crit par %1$s
+wao.error.serviceBoat.createUpdateCompanyBoatInfos=Impossible de cr\u00e9er ou modifier les informations li\u00e9s au navire %1$d pour la soci\u00e9t\u00e9 %2$s
+wao.error.serviceBoat.exportBoatCsv=Impossible d'exporter les navires s\u00e9lectionn\u00e9s
wao.error.serviceBoat.getActivityCalendarLogAccessFile=
wao.error.serviceBoat.getActivityCalendarLogFile=
wao.error.serviceBoat.getAllActiveBoats=
wao.error.serviceBoat.getBoat=Impossible de charger le navire
-wao.error.serviceBoat.getBoatNamesStartWith=Impossible de récupérer les navires avec un nom commencant par '%1$s'
+wao.error.serviceBoat.getBoatNamesStartWith=Impossible de r\u00e9cup\u00e9rer les navires avec un nom commencant par '%1$s'
wao.error.serviceBoat.getBoatsByFilter=Impossible de filtrer la liste des navires
-wao.error.serviceBoat.getBoatsByImmatriculations=La chaîne d'immatriculations est incorrect \! Chaque immatriculation doit posséder 6 chiffres
-wao.error.serviceBoat.getCompanyBoatInfos=Impossible de récupérer les informations du navire immatriculé %1$d pour la société %2$s
-wao.error.serviceBoat.getLastActivityCalendar=Impossible de charger le dernier calendrier d'activité du navire %1$s (%2$d)
+wao.error.serviceBoat.getBoatsByImmatriculations=La cha\u00eene d'immatriculations est incorrect \! Chaque immatriculation doit poss\u00e9der 6 chiffres
+wao.error.serviceBoat.getCompanyBoatInfos=Impossible de r\u00e9cup\u00e9rer les informations du navire immatricul\u00e9 %1$d pour la soci\u00e9t\u00e9 %2$s
+wao.error.serviceBoat.getLastActivityCalendar=Impossible de charger le dernier calendrier d'activit\u00e9 du navire %1$s (%2$d)
wao.error.serviceBoat.getNbBoatsByFilter=Impossible de filtrer la liste des navires
wao.error.serviceBoat.getPossibleValuesForFilter=
wao.error.serviceBoat.getShipOwnerNamesContains=
-wao.error.serviceBoat.importActivityCalendarCsv=Problème d'import du fichier CSV des calendriers d'activité
-wao.error.serviceBoat.importBoatCsv=Problème d'import du fichier CSV. Vérifiez l'en-tête du fichier.
+wao.error.serviceBoat.importActivityCalendarCsv=Probl\u00e8me d'import du fichier CSV des calendriers d'activit\u00e9
+wao.error.serviceBoat.importBoatCsv=Probl\u00e8me d'import du fichier CSV. V\u00e9rifiez l'en-t\u00eate du fichier.
wao.error.serviceBoat.importBoatGroups=
wao.error.serviceBoat.newBoatFilter=
wao.error.serviceCartography.exportContactMotifsStatisticsKml=
wao.error.serviceCartography.exportContactStatisticsKml=
-wao.error.serviceCartography.importBoatDistrictKml=Impossible d'importer les coordonnées des quartiers des navires. Vérifiez la documentation pour le bon format du fichier Kml.
+wao.error.serviceCartography.importBoatDistrictKml=Impossible d'importer les coordonn\u00e9es des quartiers des navires. V\u00e9rifiez la documentation pour le bon format du fichier Kml.
wao.error.serviceChart.getContactPieChartData=
wao.error.serviceChart.getContactPieChartUrl=
wao.error.serviceContact.exportContactCsv=Impossible d'exporter les contacts
wao.error.serviceContact.getContact=Impossible de trouver le contact
wao.error.serviceContact.getContacts=Impossible de filtrer la liste des contacts
-wao.error.serviceContact.getNbContacts=Impossible de compter le nombre de contacts filtrés
+wao.error.serviceContact.getNbContacts=Impossible de compter le nombre de contacts filtr\u00e9s
wao.error.serviceContact.getNewContact=Impossible d'instancier un nouveau contact
wao.error.serviceContact.getPossibleObsDebCodes=
wao.error.serviceContact.getPossibleTerrestrialLocations=
@@ -191,7 +192,7 @@
wao.error.serviceContact.updateSampleMonthTidesValue=
wao.error.serviceContact.validateContact=
wao.error.serviceNews.getNewNews=
-wao.error.serviceNews.getNews=Impossible de récupérer l'ensemble des news
+wao.error.serviceNews.getNews=Impossible de r\u00e9cup\u00e9rer l'ensemble des news
wao.error.serviceNews.saveNews=Impossible d'enregistrer la news ayant pour titre '%1$s'
wao.error.serviceReferential.getAllContactStateMotifs=
wao.error.serviceReferential.getAllObsDebCodes=
@@ -203,14 +204,14 @@
wao.error.serviceReferential.getAllTerrestrialLocations=
wao.error.serviceReferential.getCodesDCF5Contains=
wao.error.serviceReferential.getFacades=Impossible de charger la liste des facades
-wao.error.serviceReferential.getFishingZones=Impossible de charger la liste des secteurs de pêche
-wao.error.serviceReferential.getProfessions=Impossible de charger la liste des métiers
-wao.error.serviceReferential.getSectors=Impossible de charger la liste des zones de pêche
+wao.error.serviceReferential.getFishingZones=Impossible de charger la liste des secteurs de p\u00eache
+wao.error.serviceReferential.getProfessions=Impossible de charger la liste des m\u00e9tiers
+wao.error.serviceReferential.getSectors=Impossible de charger la liste des zones de p\u00eache
wao.error.serviceReferential.getTerrestrialDistrict=
wao.error.serviceReferential.importContactStateMotifs=
wao.error.serviceReferential.importContactStateMotives=
-wao.error.serviceReferential.importDCFcodes=Impossible de créer le référentiel des codes DCF
-wao.error.serviceReferential.importFishingZoneCsv=Problème d'import du fichier CSV. Vérifiez l'en-tête du fichier \: [ PECHE_DIVISION,PECHE_ZONE,PECHE_FACADE ]. Voir documentation pour plus de détails.
+wao.error.serviceReferential.importDCFcodes=Impossible de cr\u00e9er le r\u00e9f\u00e9rentiel des codes DCF
+wao.error.serviceReferential.importFishingZoneCsv=Probl\u00e8me d'import du fichier CSV. V\u00e9rifiez l'en-t\u00eate du fichier \: [ PECHE_DIVISION,PECHE_ZONE,PECHE_FACADE ]. Voir documentation pour plus de d\u00e9tails.
wao.error.serviceReferential.importInitialContactStateMotifs=
wao.error.serviceReferential.importObsDebCodes=
wao.error.serviceReferential.importTerrestrialDivisions=
@@ -219,76 +220,76 @@
wao.error.serviceReferential.updateAllContactStatesMotifs=
wao.error.serviceSampling.countSampleRows=
wao.error.serviceSampling.createSampleRowLog=
-wao.error.serviceSampling.createUpdateSampleRow=Impossible de sauvegarder la ligne d'échantillon
-wao.error.serviceSampling.deleteSampleRow=Impossible de supprimer la ligne d'échantillon \: %1$s
-wao.error.serviceSampling.exportSamplingPlanCsv=Impossible d'exporter le plan d'échantillonnage sur la période du %1$s au %2$s
+wao.error.serviceSampling.createUpdateSampleRow=Impossible de sauvegarder la ligne d'\u00e9chantillon
+wao.error.serviceSampling.deleteSampleRow=Impossible de supprimer la ligne d'\u00e9chantillon \: %1$s
+wao.error.serviceSampling.exportSamplingPlanCsv=Impossible d'exporter le plan d'\u00e9chantillonnage sur la p\u00e9riode du %1$s au %2$s
wao.error.serviceSampling.exportSamplingPlanICalendar=
wao.error.serviceSampling.getDCFGears=
wao.error.serviceSampling.getDCFSpecies=
wao.error.serviceSampling.getNewProfession=
wao.error.serviceSampling.getNewSampleMonth=
wao.error.serviceSampling.getNewSampleRow=
-wao.error.serviceSampling.getNewSampleRowCode=Impossible de récupérer un nouveau code pour une ligne d'échantillonnage
+wao.error.serviceSampling.getNewSampleRowCode=Impossible de r\u00e9cup\u00e9rer un nouveau code pour une ligne d'\u00e9chantillonnage
wao.error.serviceSampling.getNewSampleRowLog=
wao.error.serviceSampling.getPossibleValuesForFilter=
wao.error.serviceSampling.getPrograms=Impossible de charger la liste des programmes
-wao.error.serviceSampling.getSampleRow=Impossible de charger la ligne d'échantillon ayant pour identifiant \: %1$s
-wao.error.serviceSampling.getSampleRowByCode=Impossible de charger la ligne d'échantillon ayant pour code %1$s
-wao.error.serviceSampling.getSampleRowsByFilter=Impossible de récupérer la liste des lignes du plan d'échantillonnage
+wao.error.serviceSampling.getSampleRow=Impossible de charger la ligne d'\u00e9chantillon ayant pour identifiant \: %1$s
+wao.error.serviceSampling.getSampleRowByCode=Impossible de charger la ligne d'\u00e9chantillon ayant pour code %1$s
+wao.error.serviceSampling.getSampleRowsByFilter=Impossible de r\u00e9cup\u00e9rer la liste des lignes du plan d'\u00e9chantillonnage
wao.error.serviceSampling.getSampleRowsForEligibility=
-wao.error.serviceSampling.getSampleRowsOrderedByFishingZone=Impossible de récupérer la liste des lignes du plan d'échantillonnage
+wao.error.serviceSampling.getSampleRowsOrderedByFishingZone=Impossible de r\u00e9cup\u00e9rer la liste des lignes du plan d'\u00e9chantillonnage
wao.error.serviceSampling.importSamplingPlanCsv=Erreur lors de l'import du plan
wao.error.serviceSampling.newOperation=
wao.error.serviceSampling.newSampleRow=
wao.error.serviceSampling.newSamplingFilter=
wao.error.serviceSampling.validateSampleRow=
wao.error.serviceSynthesis.getAllIndicatorLogs=
-wao.error.serviceSynthesis.getBoardingBoats=Impossible de récupérer les données du graphique concernant les embarquements sur les navires
+wao.error.serviceSynthesis.getBoardingBoats=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es du graphique concernant les embarquements sur les navires
wao.error.serviceSynthesis.getBoatsCount=
wao.error.serviceSynthesis.getComplianceBoardingIndicator=
-wao.error.serviceSynthesis.getContactDataInputDateReactivity=Impossible de récupérer l'indicateur de réactivité sur les dates de saisies dans Allegro
+wao.error.serviceSynthesis.getContactDataInputDateReactivity=Impossible de r\u00e9cup\u00e9rer l'indicateur de r\u00e9activit\u00e9 sur les dates de saisies dans Allegro
wao.error.serviceSynthesis.getContactPieChartData=
wao.error.serviceSynthesis.getContactPieChartDataByBoatDistrict=
wao.error.serviceSynthesis.getContactStateMotifsPieChartDataByBoatDistrict=
-wao.error.serviceSynthesis.getContactStateStatistics=Impossible de récupérer les statistiques sur les états des contacts
+wao.error.serviceSynthesis.getContactStateStatistics=Impossible de r\u00e9cup\u00e9rer les statistiques sur les \u00e9tats des contacts
wao.error.serviceSynthesis.getDataReliability=
-wao.error.serviceSynthesis.getDataSampling=Impossible de récupérer les données pour le graphique dynamique des efforts de marées
+wao.error.serviceSynthesis.getDataSampling=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es pour le graphique dynamique des efforts de mar\u00e9es
wao.error.serviceSynthesis.getDistinctBoatsCounts=
-wao.error.serviceSynthesis.getGlobalSynthesisParameters=Impossible de récupérer les données concernant les indicateurs pour la synthèse globale
+wao.error.serviceSynthesis.getGlobalSynthesisParameters=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es concernant les indicateurs pour la synth\u00e8se globale
wao.error.serviceSynthesis.getGlobalSynthesisResult=
-wao.error.serviceSynthesis.getNonComplianceBoardingIndicator=Impossible de récupérer l'indicateur de non respect du nombre d'observateurs embarqués
+wao.error.serviceSynthesis.getNonComplianceBoardingIndicator=Impossible de r\u00e9cup\u00e9rer l'indicateur de non respect du nombre d'observateurs embarqu\u00e9s
wao.error.serviceSynthesis.getObservationHours=
-wao.error.serviceSynthesis.updateGlobalSynthesisParameters=Impossible de mettre à jour les paramètres de la synthèse globale
+wao.error.serviceSynthesis.updateGlobalSynthesisParameters=Impossible de mettre \u00e0 jour les param\u00e8tres de la synth\u00e8se globale
wao.error.serviceUser.addTokensToAllProfiles=
wao.error.serviceUser.connect=Une erreur est survenue lors de la demande de connexion
-wao.error.serviceUser.createDefaultAdmin=Impossible de créer l'administrateur par défaut
-wao.error.serviceUser.createUpdateCompany=Impossible de créer ou de mettre à jour la société
-wao.error.serviceUser.createUpdateUser=Impossible de créer ou de mettre à jour l'utilisateur
-wao.error.serviceUser.deleteCompany=Impossible de supprimer la société ou de vérifier les contraintes de suppression
+wao.error.serviceUser.createDefaultAdmin=Impossible de cr\u00e9er l'administrateur par d\u00e9faut
+wao.error.serviceUser.createUpdateCompany=Impossible de cr\u00e9er ou de mettre \u00e0 jour la soci\u00e9t\u00e9
+wao.error.serviceUser.createUpdateUser=Impossible de cr\u00e9er ou de mettre \u00e0 jour l'utilisateur
+wao.error.serviceUser.deleteCompany=Impossible de supprimer la soci\u00e9t\u00e9 ou de v\u00e9rifier les contraintes de suppression
wao.error.serviceUser.deleteUser=Impossible de supprimer l'utilisateur
wao.error.serviceUser.existLogin=
wao.error.serviceUser.forgetPassword=Impossible d'envoyer le mail d'oubli de mot de passe
-wao.error.serviceUser.getCompanies=Impossible de récupérer la liste des sociétés
+wao.error.serviceUser.getCompanies=Impossible de r\u00e9cup\u00e9rer la liste des soci\u00e9t\u00e9s
wao.error.serviceUser.getCompany=
wao.error.serviceUser.getConnectedUserByToken=
wao.error.serviceUser.getNewUser=Impossible d'instancier un nouvel utilisateur
-wao.error.serviceUser.getObservers=Impossible de récupérer la liste des observateurs
+wao.error.serviceUser.getObservers=Impossible de r\u00e9cup\u00e9rer la liste des observateurs
wao.error.serviceUser.getUserByToken=
wao.error.serviceUser.getUserRolesByLogin=
-wao.error.serviceUser.getUsersByCompany=Impossible de récupérer la liste des utilisateurs de la société %1$s
+wao.error.serviceUser.getUsersByCompany=Impossible de r\u00e9cup\u00e9rer la liste des utilisateurs de la soci\u00e9t\u00e9 %1$s
wao.export.ical.desc=avec %s
wao.export.ical.title=Observation ObsDeb
-wao.import.contact.failure.boatMissing=Il faut préciser l'immatriculation du navire associé au contact
-wao.import.contact.failure.locationTypeMissing=Le type du lieu doit être renseigné
-wao.import.contact.failure.sampleRowCodeMissing=Il manque le code de la ligne de plan associée
+wao.import.contact.failure.boatMissing=Il faut pr\u00e9ciser l'immatriculation du navire associ\u00e9 au contact
+wao.import.contact.failure.locationTypeMissing=Le type du lieu doit \u00eatre renseign\u00e9
+wao.import.contact.failure.sampleRowCodeMissing=Il manque le code de la ligne de plan associ\u00e9e
wao.import.contact.failure.terrestrialLocationMissing=Il manque le code du lieu
wao.import.contact.failure.wrongBoat=Il n'y a pas de navire avec l'immatriculation '%s'
-wao.import.contact.failure.wrongColor=Le code couleur '%s' n'est pas valide, il doit être composé de six caractères sans dièze voir http\://fr.wikipedia.org/wiki/Couleurs_du_Web
+wao.import.contact.failure.wrongColor=Le code couleur '%s' n'est pas valide, il doit \u00eatre compos\u00e9 de six caract\u00e8res sans di\u00e8ze voir http\://fr.wikipedia.org/wiki/Couleurs_du_Web
wao.import.contact.failure.wrongContactStateMotifCode=Le code '%s' n'est pas un code de motif de refus valide
wao.import.contact.failure.wrongSampleRowCode=Il n'y a pas de ligne du plan avec le code '%s'
wao.import.contact.failure.wrongTerrestrialLocation=Il n'y a pas de lieu de type '%s' ayant pour code '%s'
wao.import.failure.wrongLocationType='%s' n'est pas un type de lieu valide, les valeurs admises sont %s
-wao.import.failure.wrongObsDebCode=Il n'y a pas de code métier ayant pour code '%s'
+wao.import.failure.wrongObsDebCode=Il n'y a pas de code m\u00e9tier ayant pour code '%s'
wao.import.failure.wrongUser=Il n'y a pas d'utilisateur ayant pour identifiant '%s'
-wao.validation.sampleRow.conflictOnObserver=L'observateur %s ne peut être associé à la ligne %s car il doit observer, le même jour, pour la ligne %s
-wao.validation.sampleRow.observerNotInCompany=L'observateur %s ne fait pas parti de la société %s
+wao.validation.sampleRow.conflictOnObserver=L'observateur %s ne peut \u00eatre associ\u00e9 \u00e0 la ligne %s car il doit observer, le m\u00eame jour, pour la ligne %s
+wao.validation.sampleRow.observerNotInCompany=L'observateur %s ne fait pas parti de la soci\u00e9t\u00e9 %s
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java 2011-06-16 13:48:41 UTC (rev 1343)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java 2011-06-16 14:53:32 UTC (rev 1344)
@@ -565,7 +565,7 @@
}
String expectedDateFormat;
if (getSampleRow().isPhoneCall()) {
- expectedDateFormat = "w/yyyy";
+ expectedDateFormat = "'semaine' w, yyyy";
} else {
expectedDateFormat = "dd/MM/yyyy";
}
Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts_fr.properties
===================================================================
--- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts_fr.properties 2011-06-16 13:48:41 UTC (rev 1343)
+++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts_fr.properties 2011-06-16 14:53:32 UTC (rev 1344)
@@ -59,4 +59,5 @@
completeSampling-label: \u00c9chantillonnage complet
terrestrialLocation-label: Lieu
mainObserver-label: Observateurs
-contactStateMotif-label: Motif de refus
\ No newline at end of file
+contactStateMotif-label: Motif de refus
+obsDebCode-label: Code m\u00e9tier
\ No newline at end of file
Modified: trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml 2011-06-16 13:48:41 UTC (rev 1343)
+++ trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml 2011-06-16 14:53:32 UTC (rev 1344)
@@ -152,9 +152,7 @@
<a t:type="pagelink"
t:page="boats"
t:context="contextForBoat"
- title="${message:wao.ui.action.showDetails}" >
- ${sampleRow.boat.name}
- </a>
+ title="${message:wao.ui.action.showDetails}" >${sampleRow.boat.name}</a><!-- espace --> <!-- espace -->
</p:else>
</t:if>
</span>
@@ -170,9 +168,7 @@
<a t:type="pagelink"
t:page="boats"
t:context="contextForSubstitute"
- title="${message:wao.ui.action.showDetails}" >
- ${substitute.name}
- </a>
+ title="${message:wao.ui.action.showDetails}" style="margin-right: 5px;">${substitute.name}</a>
</span>
</t:loop>
</p:substitutesCell>
1
0
[Suiviobsmer-commits] r1343 - in trunk/wao-ui/src/main: resources/i18n webapp
by bleny@users.labs.libre-entreprise.org 16 Jun '11
by bleny@users.labs.libre-entreprise.org 16 Jun '11
16 Jun '11
Author: bleny
Date: 2011-06-16 13:48:41 +0000 (Thu, 16 Jun 2011)
New Revision: 1343
Log:
fix administration template
Modified:
trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties
trunk/wao-ui/src/main/webapp/Administration.tml
Modified: trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties
===================================================================
--- trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-06-16 13:35:33 UTC (rev 1342)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-06-16 13:48:41 UTC (rev 1343)
@@ -1,4 +1,4 @@
-StrategyValues.CONTACTS_STATES=\u00c9tats des contacts
+StrategyValues.CONTACTS_STATES=États des contacts
StrategyValues.CONTACTS_STATES_MOTIFS=Motifs de refus
SynthesisId.DISTINCT_BOATS_COUNTS=
SynthesisId.GRAPH_BOARDING=
@@ -10,80 +10,80 @@
SynthesisId.OBSERVATION_HOUR=
wao.ui.action.acceptContact=Valider le contact
wao.ui.action.add=Ajouter
-wao.ui.action.addNewContactFromBoat=Cr\u00e9er un nouveau contact pour ce navire et la ligne s\u00e9lectionn\u00e9e dans les filtres
-wao.ui.action.back=Revenier \u00e0 l'\u00e9cran pr\u00e9c\u00e9dent
+wao.ui.action.addNewContactFromBoat=Créer un nouveau contact pour ce navire et la ligne sélectionnée dans les filtres
+wao.ui.action.back=Revenier à l'écran précédent
wao.ui.action.cancel=Annuler
wao.ui.action.changeLocale=Changer de langue
wao.ui.action.contactAdmin=Contacter un responsable ObsMer
-wao.ui.action.create=Cr\u00e9er
-wao.ui.action.createCompany=Cr\u00e9er une soci\u00e9t\u00e9
-wao.ui.action.createUser=Cr\u00e9er un utilisateur
+wao.ui.action.create=Créer
+wao.ui.action.createCompany=Créer une société
+wao.ui.action.createUser=Créer un utilisateur
wao.ui.action.delete=Supprimer
-wao.ui.action.deleteCompany=Supprimer la soci\u00e9t\u00e9
-wao.ui.action.deleteCompany.confirm=\u00cates-vous s\u00fbr de vouloir supprimer la soci\u00e9t\u00e9 ?
+wao.ui.action.deleteCompany=Supprimer la société
+wao.ui.action.deleteCompany.confirm=Êtes-vous sûr de vouloir supprimer la société ?
wao.ui.action.deleteContact=Supprimer le contact
-wao.ui.action.deleteContact.confirm=\u00cates-vous s\u00fbr de vouloir supprimer d\u00e9finitivement ce contact ?
+wao.ui.action.deleteContact.confirm=Êtes-vous sûr de vouloir supprimer définitivement ce contact ?
wao.ui.action.deleteNews=Supprimer la nouvelle
-wao.ui.action.deleteNews.confirm=\u00cates-vous s\u00fbr de vouloir supprimer d\u00e9finitivement cette nouvelle ?
+wao.ui.action.deleteNews.confirm=Êtes-vous sûr de vouloir supprimer définitivement cette nouvelle ?
wao.ui.action.deleteSampleRow=Supprimer la ligne du plan
-wao.ui.action.deleteSampleRow.confirm=\u00cates-vous s\u00fbr de vouloir supprimer la ligne %s du plan ?
+wao.ui.action.deleteSampleRow.confirm=Êtes-vous sûr de vouloir supprimer la ligne %s du plan ?
wao.ui.action.deleteUser=Supprimer l'utilisateur
-wao.ui.action.deleteUser.confirm=\u00cates-vous s\u00fbr de vouloir supprimer l'utilisateur ?
+wao.ui.action.deleteUser.confirm=Êtes-vous sûr de vouloir supprimer l'utilisateur ?
wao.ui.action.edit=Modifier
wao.ui.action.enlargeView=Agrandir la vue
-wao.ui.action.exportBoats=Exporter les $s navires avec leurs informations priv\u00e9es
+wao.ui.action.exportBoats=Exporter les $s navires avec leurs informations privées
wao.ui.action.filter=Filtrer
wao.ui.action.hideFilters=Masquer les filtres
wao.ui.action.login=Connexion
-wao.ui.action.logout=D\u00e9connexion
-wao.ui.action.reduceView=R\u00e9duire la vue
-wao.ui.action.refresh=Rafra\u00eechir
+wao.ui.action.logout=Déconnexion
+wao.ui.action.reduceView=Réduire la vue
+wao.ui.action.refresh=Rafraîchir
wao.ui.action.refuseContact=Refuser le contact
wao.ui.action.remove=Retirer
-wao.ui.action.resetFields=Remettre le formulaire \u00e0 z\u00e9ro
+wao.ui.action.resetFields=Remettre le formulaire à zéro
wao.ui.action.revert=Annuler
wao.ui.action.runExport=Lancer l'export
wao.ui.action.runImport=Lancer l'import
wao.ui.action.runSearch=Lancer la recherche
wao.ui.action.save=Enregistrer
-wao.ui.action.showDetails=Voir les d\u00e9tails
+wao.ui.action.showDetails=Voir les détails
wao.ui.action.showFilters=Afficher les filtres
wao.ui.action.unvalidateContact=Invalider le contact
wao.ui.action.viewIndicatorsHistory=Voir l'historique des modifications des indicateurs
wao.ui.boatList=Liste de %s navires
wao.ui.boatinfo.title=Informations sur %s
-wao.ui.boats.associatedLine=Ligne(s) du plan associ\u00e9e(s) \u00e0 ce navire
-wao.ui.boats.nbObservations=%s observation(s) dont %s avec votre soci\u00e9t\u00e9
+wao.ui.boats.associatedLine=Ligne(s) du plan associée(s) à ce navire
+wao.ui.boats.nbObservations=%s observation(s) dont %s avec votre société
wao.ui.boats.portOfRegistry.description=Il s'agit du port d'exploitation principal du navire
wao.ui.boats.portOfRegistry.header=Port
-wao.ui.boats.selecting=Vous \u00eates en cours de s\u00e9lection d'un navire pour la ligne du plan %s
+wao.ui.boats.selecting=Vous êtes en cours de sélection d'un navire pour la ligne du plan %s
wao.ui.boats.substitutes=Substituts du navire
-wao.ui.cartography.help=Cliquez sur les graphiques pour avoir le d\u00e9tail.
-wao.ui.cartography.title=R\u00e9partition des contacts par quartier des navires
-wao.ui.cartography.title.company=R\u00e9partition des contacts par quartier des navires pour la soci\u00e9t\u00e9 %s
+wao.ui.cartography.help=Cliquez sur les graphiques pour avoir le détail.
+wao.ui.cartography.title=Répartition des contacts par quartier des navires
+wao.ui.cartography.title.company=Répartition des contacts par quartier des navires pour la société %s
wao.ui.chart.boardingsSince=Nombre de sollicitations depuis le %s
wao.ui.chart.numberBoats=Nb navires
wao.ui.chart.numberObservations=Nb observations
wao.ui.chart.numberOfBoatsWithBoardings=Nombre de navires avec x embarquements
-wao.ui.contact.lastContact=Derni\u00e8re observation concernant ce navire pour votre soci\u00e9t\u00e9 (tous programmes confondus)
-wao.ui.contacts.createFromBoat=Cr\u00e9er un nouveau contact pour ce navire et cette ligne du plan
-wao.ui.contacts.createFromBoat.fail=Cr\u00e9ation d'un nouveau contact impossible
-wao.ui.contacts.createFromBoat.warn=Attention \: cette ligne du plan est arriv\u00e9e \u00e0 \u00e9ch\u00e9ance, \u00eates-vous s\u00fbr de vouloir cr\u00e9er un nouveau contact ?
-wao.ui.disclaimer=Le site de \u00ab SUIVI DU REALISE DU PLAN D'ECHANTILLONNAGE DES OBSERVATIONS A LA MER \u00bb a fait l'objet d'une d\u00e9claration \u00e0 la CNIL sous le num\u00e9ro suivant \: 1414476
-wao.ui.disclaimer.boats=Les donn\u00e9es saisies dans cette page sont la propri\u00e9t\u00e9 exclusive de la soci\u00e9t\u00e9. En dehors de la soci\u00e9t\u00e9, seul l'administrateur peut les consulter pour des questions de maintenance sur le site. L'administrateur est une personne de l'Ifremer.
+wao.ui.contact.lastContact=Dernière observation concernant ce navire pour votre société (tous programmes confondus)
+wao.ui.contacts.createFromBoat=Créer un nouveau contact pour ce navire et cette ligne du plan
+wao.ui.contacts.createFromBoat.fail=Création d'un nouveau contact impossible
+wao.ui.contacts.createFromBoat.warn=Attention \: cette ligne du plan est arrivée à échéance, êtes-vous sûr de vouloir créer un nouveau contact ?
+wao.ui.disclaimer=Le site de « SUIVI DU REALISE DU PLAN D'ECHANTILLONNAGE DES OBSERVATIONS A LA MER » a fait l'objet d'une déclaration à la CNIL sous le numéro suivant \: 1414476
+wao.ui.disclaimer.boats=Les données saisies dans cette page sont la propriété exclusive de la société. En dehors de la société, seul l'administrateur peut les consulter pour des questions de maintenance sur le site. L'administrateur est une personne de l'Ifremer.
wao.ui.email=Adresse e-mail
wao.ui.entity.Boat=Navire
wao.ui.entity.Boats=Navires
-wao.ui.entity.Company=Soci\u00e9t\u00e9
+wao.ui.entity.Company=Société
wao.ui.entity.Contact=Contact
-wao.ui.entity.FishingZone=Zones de p\u00eache
-wao.ui.entity.SampleRow=Ligne du plan d'\u00e9chantillonnage
+wao.ui.entity.FishingZone=Zones de pêche
+wao.ui.entity.SampleRow=Ligne du plan d'échantillonnage
wao.ui.entity.TerrestrialLocation=Lieu
wao.ui.entity.fishingGearDCF=Engin code DCF
-wao.ui.entity.targetSpeciesDCF=Ensembles d'esp\u00e8ces-cible code DCF
+wao.ui.entity.targetSpeciesDCF=Ensembles d'espèces-cible code DCF
wao.ui.field.Boat.boatGroup=Strate
wao.ui.field.Boat.boatLength=Longueur
-wao.ui.field.Boat.buildYear=Ann\u00e9e de construction
+wao.ui.field.Boat.buildYear=Année de construction
wao.ui.field.Boat.districtCode=Quartier
wao.ui.field.Boat.fleet=Flotille
wao.ui.field.Boat.immatriculation=Immatriculation
@@ -91,146 +91,146 @@
wao.ui.field.Boat.portOfRegistry=Port d'attache
wao.ui.field.Boat.shipOwner=Armateur
wao.ui.field.BoatDistrict.code=Code quartier
-wao.ui.field.BoatInfos.dup=Capacit\u00e9 d'accueil du navire en personnels sp\u00e9cialis\u00e9s
+wao.ui.field.BoatInfos.dup=Capacité d'accueil du navire en personnels spécialisés
wao.ui.field.Company.active=Active
wao.ui.field.Company.name=Nom
-wao.ui.field.Contact.beginDate=D\u00e9but d'observation
+wao.ui.field.Contact.beginDate=Début d'observation
wao.ui.field.Contact.comment=Commentaire observateur
wao.ui.field.Contact.commentAdmin=Commentaire programme
wao.ui.field.Contact.commentCoordinator=Commentaire coordinateur
-wao.ui.field.Contact.completeSampling=\u00c9chantillonnage complet
-wao.ui.field.Contact.contactState=\u00c9tat du contact
+wao.ui.field.Contact.completeSampling=Échantillonnage complet
+wao.ui.field.Contact.contactState=État du contact
wao.ui.field.Contact.contactStateMotif=Motif du refus
wao.ui.field.Contact.contactStateMotifs=Motifs de refus
-wao.ui.field.Contact.creationDate=Date de cr\u00e9ation du contact
-wao.ui.field.Contact.dataInputDate=Saisie des donn\u00e9es
-wao.ui.field.Contact.dataReliability=Qualit\u00e9 des donn\u00e9es
+wao.ui.field.Contact.creationDate=Date de création du contact
+wao.ui.field.Contact.dataInputDate=Saisie des données
+wao.ui.field.Contact.dataReliability=Qualité des données
wao.ui.field.Contact.endDate=Fin d'observation
-wao.ui.field.Contact.landingDate=Date de d\u00e9barquement
-wao.ui.field.Contact.mainObserver=Observateur r\u00e9f\u00e9rent
+wao.ui.field.Contact.landingDate=Date de débarquement
+wao.ui.field.Contact.mainObserver=Observateur référent
wao.ui.field.Contact.mammalsCapture=Capture accidentelle
-wao.ui.field.Contact.mammalsInfo=Noms scientifiques et nombres d'individus des esp\u00e8ces captur\u00e9es
+wao.ui.field.Contact.mammalsInfo=Noms scientifiques et nombres d'individus des espèces capturées
wao.ui.field.Contact.mammalsObservation=Observation exceptionnelle
wao.ui.field.Contact.nbObservants=Nombre d'observateurs
-wao.ui.field.Contact.obsDebCode=M\u00e9tier
+wao.ui.field.Contact.obsDebCode=Métier
wao.ui.field.Contact.observationType=Type d'observation
-wao.ui.field.Contact.samplingStrategy=Strat\u00e9gie d'\u00e9chantillonnage suivie
+wao.ui.field.Contact.samplingStrategy=Stratégie d'échantillonnage suivie
wao.ui.field.Contact.secondaryObservers=Observateurs
wao.ui.field.Contact.terrestrialLocation=Lieu d'observation
-wao.ui.field.Contact.validationCompany=Validation soci\u00e9t\u00e9
+wao.ui.field.Contact.validationCompany=Validation société
wao.ui.field.Contact.validationProgram=Validation programme
-wao.ui.field.FishingZone.facadeName=Fa\u00e7ade
+wao.ui.field.FishingZone.facadeName=Façade
wao.ui.field.FishingZone.sectorName=Zone
wao.ui.field.SampleRow.boat=Navire
wao.ui.field.SampleRow.code=Code ligne
wao.ui.field.SampleRow.comment=Commentaire
-wao.ui.field.SampleRow.company=Soci\u00e9t\u00e9
+wao.ui.field.SampleRow.company=Société
wao.ui.field.SampleRow.dCF5Code=Codes
wao.ui.field.SampleRow.day=Jour
wao.ui.field.SampleRow.dcf5Code=Code DCF Niv. 5
wao.ui.field.SampleRow.expectedDate=Date
-wao.ui.field.SampleRow.fishingZones=Zone(s) de p\u00eache
-wao.ui.field.SampleRow.libelle=Libell\u00e9
+wao.ui.field.SampleRow.fishingZones=Zone(s) de pêche
+wao.ui.field.SampleRow.libelle=Libellé
wao.ui.field.SampleRow.meshSize=Maillage
wao.ui.field.SampleRow.observationType=Type d'observation
-wao.ui.field.SampleRow.observationUnit=Unit\u00e9 d'observation
+wao.ui.field.SampleRow.observationUnit=Unité d'observation
wao.ui.field.SampleRow.observers=Observateurs
wao.ui.field.SampleRow.other=Autre
-wao.ui.field.SampleRow.periodBegin=D\u00e9but
+wao.ui.field.SampleRow.periodBegin=Début
wao.ui.field.SampleRow.periodEnd=Fin
-wao.ui.field.SampleRow.profession=M\u00e9tier
-wao.ui.field.SampleRow.professionCode=Code m\u00e9tier
+wao.ui.field.SampleRow.profession=Métier
+wao.ui.field.SampleRow.professionCode=Code métier
wao.ui.field.SampleRow.programName=Programme
-wao.ui.field.SampleRow.regionIfremer=R\u00e9gion
-wao.ui.field.SampleRow.samplingStrategy=Strat\u00e9gie d'\u00e9chantillonnage
+wao.ui.field.SampleRow.regionIfremer=Région
+wao.ui.field.SampleRow.samplingStrategy=Stratégie d'échantillonnage
wao.ui.field.SampleRow.size=Taille du navire
-wao.ui.field.SampleRow.species=Esp\u00e8ces cibles
+wao.ui.field.SampleRow.species=Espèces cibles
wao.ui.field.SampleRow.terrestrialLocation=Quartier maritime
wao.ui.field.SampleRow.terrestrialLocationInfos=Autre(s) info(s)
-wao.ui.field.TerrestrialDivision.regionIfremer=R\u00e9gion Ifremer
-wao.ui.field.TerrestrialDivision.skillZone=Zone de comp\u00e9tence
+wao.ui.field.TerrestrialDivision.regionIfremer=Région Ifremer
+wao.ui.field.TerrestrialDivision.skillZone=Zone de compétence
wao.ui.field.TerrestrialDivision.subPopulation=Sous-population
-wao.ui.field.User.firstName=Pr\u00e9nom
+wao.ui.field.User.firstName=Prénom
wao.ui.field.User.lastName=Nom
wao.ui.field.User.login=Identifiant
-wao.ui.field.UserProfile.userRole=R\u00f4le
+wao.ui.field.UserProfile.userRole=Rôle
wao.ui.field.WaoUser.login=Identifiant
wao.ui.field.WaoUser.mammalsNotifications=Recevoir les notifications de captures accidentelles
wao.ui.field.WaoUser.password=Mot de passe
wao.ui.filters.filters=Filtres de recherche
-wao.ui.filters.refresh=Rafra\u00eechir les champs du filtre
-wao.ui.forgotPassword=Mot de passe oubli\u00e9 ?
-wao.ui.form.SampleRow.boatsDescription=Ce champs correspond aux immatriculations des navires qui sont \u00e9ligibles pour cette ligne. Vous pouvez utiliser n'importe quel s\u00e9parateur pour s\u00e9parer les immatriculations (virgule, point, espace ou saut de ligne)
-wao.ui.form.SampleRow.error.missingLogComment=Vous devez pr\u00e9ciser la raison de vos modifications
-wao.ui.form.SampleRow.missingBeginDate=Date de d\u00e9but manquante pour g\u00e9n\u00e9rer le code de la ligne \!
-wao.ui.form.SampleRow.others=Autres donn\u00e9es de la ligne d'\u00e9chantillonnage
+wao.ui.filters.refresh=Rafraîchir les champs du filtre
+wao.ui.forgotPassword=Mot de passe oublié ?
+wao.ui.form.SampleRow.boatsDescription=Ce champs correspond aux immatriculations des navires qui sont éligibles pour cette ligne. Vous pouvez utiliser n'importe quel séparateur pour séparer les immatriculations (virgule, point, espace ou saut de ligne)
+wao.ui.form.SampleRow.error.missingLogComment=Vous devez préciser la raison de vos modifications
+wao.ui.form.SampleRow.missingBeginDate=Date de début manquante pour générer le code de la ligne \!
+wao.ui.form.SampleRow.others=Autres données de la ligne d'échantillonnage
wao.ui.form.SampleRow.program=Programme de rattachement et effort d'observation par mois
wao.ui.form.addComment=Ajouter un commentaire
-wao.ui.form.addRole=Ajouter ce r\u00f4le
+wao.ui.form.addRole=Ajouter ce rôle
wao.ui.form.boardingFrom=Sollicitations du navire depuis le
wao.ui.form.contactsFile=Fichier des contacts
-wao.ui.form.definePasswordManually=d\u00e9finir manuellement
+wao.ui.form.definePasswordManually=définir manuellement
wao.ui.form.editComment=Commentaire sur la modification
wao.ui.form.editionAuthor=Auteur de la modification
-wao.ui.form.estimatedTides=Voir l'effort d'observations estim\u00e9
-wao.ui.form.estimatedTides.description=L'effort d'observations estim\u00e9 \u00e9quivaut au nombre de contacts valid\u00e9s ou non par la soci\u00e9t\u00e9. Les contacts refus\u00e9s par le programme ne sont pas pris en compte.
-wao.ui.form.generatePassword=G\u00e9n\u00e9rer le mot de passe
+wao.ui.form.estimatedTides=Voir l'effort d'observations estimé
+wao.ui.form.estimatedTides.description=L'effort d'observations estimé équivaut au nombre de contacts validés ou non par la société. Les contacts refusés par le programme ne sont pas pris en compte.
+wao.ui.form.generatePassword=Générer le mot de passe
wao.ui.form.mapType=Carte
wao.ui.form.otherBoatInfos=Autres informations sur le navire
-wao.ui.form.period=P\u00e9riode
+wao.ui.form.period=Période
wao.ui.form.period.from=du
wao.ui.form.period.to=au
-wao.ui.form.periodFrom=P\u00e9riode du
-wao.ui.form.periodFromTo=P\u00e9riode du %s au %s
+wao.ui.form.periodFrom=Période du
+wao.ui.form.periodFromTo=Période du %s au %s
wao.ui.form.program=Programme
-wao.ui.form.programEvaluation=\u00c9valuation programme
+wao.ui.form.programEvaluation=Évaluation programme
wao.ui.form.readOnly=lecture seule
wao.ui.form.removeRole=retirer ce role
-wao.ui.form.repeatPassword=R\u00e9p\u00e9ter le mot de passe
-wao.ui.form.roles=R\u00f4les
-wao.ui.form.sortByTideBegin=Trier par date de d\u00e9but d'observation (du plus r\u00e9cent au plus ancien)
-wao.ui.import.activityCalendarImportLabel=de l'import des calendriers d'activit\u00e9
-wao.ui.import.activityCalendarImportRunning=Import des calendriers d'activit\u00e9 en cours. Vous pouvez continuer \u00e0 naviguer sur le site en attendant la fin du chargement.
-wao.ui.import.activityCalendarLabel=des calendriers d'activit\u00e9
-wao.ui.import.activityCalendarUserAccessesLabel=des acc\u00e8s utilisateurs aux calendriers d'activit\u00e9
-wao.ui.import.boatDistrictLabel=des coordonn\u00e9es des quartiers des navires
+wao.ui.form.repeatPassword=Répéter le mot de passe
+wao.ui.form.roles=Rôles
+wao.ui.form.sortByTideBegin=Trier par date de début d'observation (du plus récent au plus ancien)
+wao.ui.import.activityCalendarImportLabel=de l'import des calendriers d'activité
+wao.ui.import.activityCalendarImportRunning=Import des calendriers d'activité en cours. Vous pouvez continuer à naviguer sur le site en attendant la fin du chargement.
+wao.ui.import.activityCalendarLabel=des calendriers d'activité
+wao.ui.import.activityCalendarUserAccessesLabel=des accès utilisateurs aux calendriers d'activité
+wao.ui.import.boatDistrictLabel=des coordonnées des quartiers des navires
wao.ui.import.boatGroupsLabel=des strates des navires
wao.ui.import.boatsLabel=des navires
wao.ui.import.contactStateMotivesLabel=des motifs de refus
wao.ui.import.description=Fichier %s %s \:
-wao.ui.import.fishingZoneLabel=des zones de p\u00eaches
+wao.ui.import.fishingZoneLabel=des zones de pêches
wao.ui.import.fullDescription=Import %s (format %s avec encodage UTF-8)
wao.ui.import.longTitle=Import/Export CSV (UTF-8)
-wao.ui.import.obsDebCodesLabel=des codes m\u00e9tiers ObsDeb
-wao.ui.import.samplingPlanLabel=du plan d'\u00e9chantillonnage
-wao.ui.import.terrestrialDivisionsLabel=du r\u00e9f\u00e9rentiel de stratification spatiale (ObsDeb)
+wao.ui.import.obsDebCodesLabel=des codes métiers ObsDeb
+wao.ui.import.samplingPlanLabel=du plan d'échantillonnage
+wao.ui.import.terrestrialDivisionsLabel=du référentiel de stratification spatiale (ObsDeb)
wao.ui.import.terrestrialLocationsLabel=des lieux terrestres
wao.ui.import.title=Import %s
wao.ui.indicator.andMore=%s et plus
wao.ui.indicator.bounds=Bornes
-wao.ui.indicator.coefficient=Pond\u00e9ration
+wao.ui.indicator.coefficient=Pondération
wao.ui.indicator.editions=Modifications
wao.ui.indicator.indicator=Indicateur
-wao.ui.indicator.legend=En jaune, la position actuelle de la soci\u00e9t\u00e9 selon cet indicateur.
+wao.ui.indicator.legend=En jaune, la position actuelle de la société selon cet indicateur.
wao.ui.indicator.levels=Niveaux
-wao.ui.indicator.useRightDecimalSymbol=Attention \u00e0 bien utiliser ',' et non '.' pour les d\u00e9cimales
+wao.ui.indicator.useRightDecimalSymbol=Attention à bien utiliser ',' et non '.' pour les décimales
wao.ui.indicators.coefficientsSum=Total coefficient
-wao.ui.indicators.title=Indicateurs qualit\u00e9s prestataires
+wao.ui.indicators.title=Indicateurs qualités prestataires
wao.ui.invalidLogin=Identifiant invalide
-wao.ui.layout.userDescription=Vous \u00eates %s de la soci\u00e9t\u00e9 %s (%s)
+wao.ui.layout.userDescription=Vous êtes %s de la société %s (%s)
wao.ui.message.chooseProfile=Choisissez dans la liste votre profil de connexion \:
-wao.ui.misc.METIER=M\u00c9TIER
-wao.ui.misc.N/A=non renseign\u00e9e
-wao.ui.misc.accepted=Accept\u00e9
-wao.ui.misc.advancedSearch=Recherche avanc\u00e9e
+wao.ui.misc.METIER=MÉTIER
+wao.ui.misc.N/A=non renseignée
+wao.ui.misc.accepted=Accepté
+wao.ui.misc.advancedSearch=Recherche avancée
wao.ui.misc.by=par
wao.ui.misc.changeOn=Modification du
wao.ui.misc.comment=Commentaire
-wao.ui.misc.commentAddedOn=Commentaire ajout\u00e9 le
+wao.ui.misc.commentAddedOn=Commentaire ajouté le
wao.ui.misc.comments=Commentaires
-wao.ui.misc.companies=Soci\u00e9t\u00e9s
-wao.ui.misc.createdOnF=Cr\u00e9\u00e9e le
-wao.ui.misc.creating=En cours de cr\u00e9ation
+wao.ui.misc.companies=Sociétés
+wao.ui.misc.createdOnF=Créée le
+wao.ui.misc.creating=En cours de création
wao.ui.misc.dayOfWeek=Jour
wao.ui.misc.export=Export
wao.ui.misc.export.longTitle=Export CSV
@@ -243,7 +243,7 @@
wao.ui.misc.logFile.description=Afficher le fichier de log de %s
wao.ui.misc.no=Non
wao.ui.misc.noComment=aucun commentaire
-wao.ui.misc.notValidated=Non valid\u00e9
+wao.ui.misc.notValidated=Non validé
wao.ui.misc.observationReport=Compte-rendu d'observation
wao.ui.misc.observations=Observations
wao.ui.misc.observer=Observateur
@@ -253,84 +253,84 @@
wao.ui.misc.other=Autre
wao.ui.misc.otherInfos=Autre information
wao.ui.misc.others=Autres
-wao.ui.misc.refused=R\u00e9fus\u00e9
+wao.ui.misc.refused=Réfusé
wao.ui.misc.since=depuis le
wao.ui.misc.total=Total
-wao.ui.misc.undefined=Non-d\u00e9fini
-wao.ui.misc.validated=Valid\u00e9
+wao.ui.misc.undefined=Non-défini
+wao.ui.misc.validated=Validé
wao.ui.misc.week=Semaine
-wao.ui.misc.year=Ann\u00e9e
+wao.ui.misc.year=Année
wao.ui.misc.yes=Oui
-wao.ui.nContactsFound=%s contacts trouv\u00e9s
+wao.ui.nContactsFound=%s contacts trouvés
wao.ui.news.content=Texte
wao.ui.news.title=Titre
wao.ui.page.Administration.title=Administration
wao.ui.page.Boats.title=Navires
wao.ui.page.Cartography.title=Cartographie
-wao.ui.page.ContactForm.mammalsInfo.disclaimer=Attention, toutes les informations saisies seront transmises \u00e0 des personnels ext\u00e9rieurs, soyez riguoureux dans la description de la capture accidentelle
+wao.ui.page.ContactForm.mammalsInfo.disclaimer=Attention, toutes les informations saisies seront transmises à des personnels extérieurs, soyez riguoureux dans la description de la capture accidentelle
wao.ui.page.ContactForm.title=Modification d'un contact
wao.ui.page.Contacts.title=Contacts
wao.ui.page.Index.title=Accueil
-wao.ui.page.SamplingPlan.title=Plan d'\u00e9chantillonnage
-wao.ui.page.Synthesis.title=Synth\u00e8se
+wao.ui.page.SamplingPlan.title=Plan d'échantillonnage
+wao.ui.page.Synthesis.title=Synthèse
wao.ui.page.UserProfileForm.title=Gestion du profil
-wao.ui.publishedByProgram=Publi\u00e9e par le programme
-wao.ui.publishedByYourCompany=Publi\u00e9e par la soci\u00e9t\u00e9
-wao.ui.sampleRow.creation=Cr\u00e9ation d'une ligne du plan d'\u00e9chantillonnage
+wao.ui.publishedByProgram=Publiée par le programme
+wao.ui.publishedByYourCompany=Publiée par la société
+wao.ui.sampleRow.creation=Création d'une ligne du plan d'échantillonnage
wao.ui.sampleRow.edition=Modification de la ligne %s
wao.ui.sampleRowLog.title=Historique de la ligne %s
-wao.ui.samplingPlan.Actual=R\u00e9alis\u00e9
+wao.ui.samplingPlan.Actual=Réalisé
wao.ui.samplingPlan.actions=Actions
-wao.ui.samplingPlan.actual=r\u00e9alis\u00e9
-wao.ui.samplingPlan.addSampleRow=Ajouter une ligne au plan d'\u00e9chantillonnage
-wao.ui.samplingPlan.averageTideTime=Dur\u00e9e moyenne d'une mar\u00e9e (J.)
-wao.ui.samplingPlan.effort=Effort d'observation en nombre de mar\u00e9es
-wao.ui.samplingPlan.estimated=estim\u00e9
-wao.ui.samplingPlan.expected=planifi\u00e9
-wao.ui.samplingPlan.export=Exporter le plan d'\u00e9chantillonnage du %s au %s
-wao.ui.samplingPlan.fieldWork.see=Voir le plan d'\u00e9chantillonnage de terrain
-wao.ui.samplingPlan.fieldWork.title=Plan d'\u00e9chantillonnage de terrain
+wao.ui.samplingPlan.actual=réalisé
+wao.ui.samplingPlan.addSampleRow=Ajouter une ligne au plan d'échantillonnage
+wao.ui.samplingPlan.averageTideTime=Durée moyenne d'une marée (J.)
+wao.ui.samplingPlan.effort=Effort d'observation en nombre de marées
+wao.ui.samplingPlan.estimated=estimé
+wao.ui.samplingPlan.expected=planifié
+wao.ui.samplingPlan.export=Exporter le plan d'échantillonnage du %s au %s
+wao.ui.samplingPlan.fieldWork.see=Voir le plan d'échantillonnage de terrain
+wao.ui.samplingPlan.fieldWork.title=Plan d'échantillonnage de terrain
wao.ui.samplingPlan.fishingZoneInfo=Zone autre(s) info(s)
wao.ui.samplingPlan.months=Mois
wao.ui.samplingPlan.nbObservants=Nb. d'observateurs
-wao.ui.samplingPlan.phoneCall.see=Voir le plan d'\u00e9chantillonnage t\u00e9l\u00e9phonique
-wao.ui.samplingPlan.phoneCall.title=Plan d'\u00e9chantillonnage t\u00e9l\u00e9phonique
-wao.ui.samplingPlan.program=Programme ou r\u00e8glement rattachement
-wao.ui.samplingPlan.sampledProfessions=M\u00e9tiers \u00e9chantillonn\u00e9s
-wao.ui.samplingPlan.showActual=Afficher l'effort d'observations r\u00e9alis\u00e9 pour les contacts valid\u00e9s seulement
-wao.ui.samplingPlan.showExpected=Afficher l'effort d'observations estim\u00e9 pour les contacts valid\u00e9s ou non par la soci\u00e9t\u00e9
-wao.ui.samplingPlan.title=Plan d'\u00e9chantillonnage
-wao.ui.synthesis.allegroReactivity.description=Ce r\u00e9sultat est une moyenne du nombre de jours entre la date de saisie des donn\u00e9es et la date de fin d'observation.
-wao.ui.synthesis.allegroReactivity.title=R\u00e9activit\u00e9 quant \u00e0 la saisie des donn\u00e9es
+wao.ui.samplingPlan.phoneCall.see=Voir le plan d'échantillonnage téléphonique
+wao.ui.samplingPlan.phoneCall.title=Plan d'échantillonnage téléphonique
+wao.ui.samplingPlan.program=Programme ou règlement rattachement
+wao.ui.samplingPlan.sampledProfessions=Métiers échantillonnés
+wao.ui.samplingPlan.showActual=Afficher l'effort d'observations réalisé pour les contacts validés seulement
+wao.ui.samplingPlan.showExpected=Afficher l'effort d'observations estimé pour les contacts validés ou non par la société
+wao.ui.samplingPlan.title=Plan d'échantillonnage
+wao.ui.synthesis.allegroReactivity.description=Ce résultat est une moyenne du nombre de jours entre la date de saisie des données et la date de fin d'observation.
+wao.ui.synthesis.allegroReactivity.title=Réactivité quant à la saisie des données
wao.ui.synthesis.boarding.boardingCount=Au total, %s observations invalides sur %s observations.
-wao.ui.synthesis.boarding.description=Ces r\u00e9sultats ne concernent que les lignes du plan d'\u00e9chantillonnage ayant une dur\u00e9e moyenne de mar\u00e9es inf\u00e9rieure ou \u00e9gale \u00e0 48h.
-wao.ui.synthesis.boarding.mostUsedBoat=Navire le plus sollicit\u00e9 avec %s observations (tous programmes confondus) \: %s (%s)
+wao.ui.synthesis.boarding.description=Ces résultats ne concernent que les lignes du plan d'échantillonnage ayant une durée moyenne de marées inférieure ou égale à 48h.
+wao.ui.synthesis.boarding.mostUsedBoat=Navire le plus sollicité avec %s observations (tous programmes confondus) \: %s (%s)
wao.ui.synthesis.boarding.title=Sollicitations des navires
-wao.ui.synthesis.complianceBoarding.description=Respect du nombre pr\u00e9vu d'observateurs pour chaque mar\u00e9e r\u00e9alis\u00e9e.
-wao.ui.synthesis.complianceBoarding.title=Respect du nombre d'observateurs embarqu\u00e9s
-wao.ui.synthesis.contactsStates.description=Ces r\u00e9sultats concernent l'ensemble des \u00e9tats des contacts except\u00e9 ceux qui ont \u00e9t\u00e9 refus\u00e9s par le programme.
-wao.ui.synthesis.contactsStates.title=\u00c9tats des contacts
-wao.ui.synthesis.dataReliability.description=Pourcentage du nombre de mar\u00e9es exploitables par rapport nombre de mar\u00e9e r\u00e9alis\u00e9es.
-wao.ui.synthesis.dataReliability.title=Qualit\u00e9 de la donn\u00e9e
-wao.ui.synthesis.dataSampling.title=Donn\u00e9es des mar\u00e9es (r\u00e9alis\u00e9 / planifi\u00e9)
+wao.ui.synthesis.complianceBoarding.description=Respect du nombre prévu d'observateurs pour chaque marée réalisée.
+wao.ui.synthesis.complianceBoarding.title=Respect du nombre d'observateurs embarqués
+wao.ui.synthesis.contactsStates.description=Ces résultats concernent l'ensemble des états des contacts excepté ceux qui ont été refusés par le programme.
+wao.ui.synthesis.contactsStates.title=États des contacts
+wao.ui.synthesis.dataReliability.description=Pourcentage du nombre de marées exploitables par rapport nombre de marée réalisées.
+wao.ui.synthesis.dataReliability.title=Qualité de la donnée
+wao.ui.synthesis.dataSampling.title=Données des marées (réalisé / planifié)
wao.ui.synthesis.distinctBoatsCounts.axisName=Nombre de navires distincts
-wao.ui.synthesis.distinctBoatsCounts.categoryName=Mois de l'ann\u00e9e
-wao.ui.synthesis.distinctBoatsCounts.description=Nombre de navires distincts observ\u00e9s selon le mois de l'ann\u00e9e
-wao.ui.synthesis.distinctBoatsCounts.title=Nombre de navires observ\u00e9s
-wao.ui.synthesis.globalSynthesis.globalResult=Bilan de la synth\u00e8se global
-wao.ui.synthesis.globalSynthesis.title=Synth\u00e8se globale
-wao.ui.synthesis.globalSynthesis.title.estimated=Synth\u00e8se globale (selon estimations)
-wao.ui.synthesis.log.description=Cette page pr\u00e9sente toutes les modifications effectu\u00e9es depuis l'origine qui portent sur les bornes de chaque niveaux ainsi que les coefficients de chaque indicateurs.
-wao.ui.synthesis.log.empty=Aucune modification n'a \u00e9t\u00e9 apport\u00e9e \u00e0 ce jour
+wao.ui.synthesis.distinctBoatsCounts.categoryName=Mois de l'année
+wao.ui.synthesis.distinctBoatsCounts.description=Nombre de navires distincts observés selon le mois de l'année
+wao.ui.synthesis.distinctBoatsCounts.title=Nombre de navires observés
+wao.ui.synthesis.globalSynthesis.globalResult=Bilan de la synthèse global
+wao.ui.synthesis.globalSynthesis.title=Synthèse globale
+wao.ui.synthesis.globalSynthesis.title.estimated=Synthèse globale (selon estimations)
+wao.ui.synthesis.log.description=Cette page présente toutes les modifications effectuées depuis l'origine qui portent sur les bornes de chaque niveaux ainsi que les coefficients de chaque indicateurs.
+wao.ui.synthesis.log.empty=Aucune modification n'a été apportée à ce jour
wao.ui.synthesis.log.entry.author=Auteur de la modification
-wao.ui.synthesis.log.entry.comment=Commentaire associ\u00e9
+wao.ui.synthesis.log.entry.comment=Commentaire associé
wao.ui.synthesis.log.entry.date=Date de la modification
-wao.ui.synthesis.log.entry.summary=Modifications effectu\u00e9es
-wao.ui.synthesis.log.title=Historique des modifications des param\u00e8tres de la synth\u00e8se globale
+wao.ui.synthesis.log.entry.summary=Modifications effectuées
+wao.ui.synthesis.log.title=Historique des modifications des paramètres de la synthèse globale
wao.ui.synthesis.observationHours.axisName=Nombre d'observations
-wao.ui.synthesis.observationHours.categoryName=Heures de la journ\u00e9e
-wao.ui.synthesis.observationHours.description=Nombre d'observations effectu\u00e9e selon l'heure d'arriv\u00e9e
-wao.ui.synthesis.observationHours.title=Distribution des p\u00e9riodes d'observation
-wao.ui.unavailableOperation=Op\u00e9ration non-disponible
+wao.ui.synthesis.observationHours.categoryName=Heures de la journée
+wao.ui.synthesis.observationHours.description=Nombre d'observations effectuée selon l'heure d'arrivée
+wao.ui.synthesis.observationHours.title=Distribution des périodes d'observation
+wao.ui.unavailableOperation=Opération non-disponible
wao.ui.userList=Liste des utilisateurs
wao.ui.validLogin=Identifiant valide
Modified: trunk/wao-ui/src/main/webapp/Administration.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/Administration.tml 2011-06-16 13:35:33 UTC (rev 1342)
+++ trunk/wao-ui/src/main/webapp/Administration.tml 2011-06-16 13:48:41 UTC (rev 1343)
@@ -186,7 +186,7 @@
<t:if test="currentUser.obsDeb">
<t:importFieldSet t:label="${message:wao.ui.import.terrestrialDivisionsLabel}" t:engine="terrestrialDivisionsImportEngine" />
<t:importFieldSet t:label="${message:wao.ui.import.obsDebCodesLabel}" t:engine="obsDebCodesImportEngine" />
- <t:importFieldSet t:label="${message:wao.ui.import.boatGroupsLabel}" t:engine="boatGroupsEngine" />
+ <t:importFieldSet t:label="${message:wao.ui.import.boatGroupsLabel}" t:engine="boatGroupsImportEngine" />
</t:if>
</t:if>
1
0
[Suiviobsmer-commits] r1342 - trunk/wao-ui/src/main/resources/i18n
by bleny@users.labs.libre-entreprise.org 16 Jun '11
by bleny@users.labs.libre-entreprise.org 16 Jun '11
16 Jun '11
Author: bleny
Date: 2011-06-16 13:35:33 +0000 (Thu, 16 Jun 2011)
New Revision: 1342
Log:
add missing i18n value
Modified:
trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties
trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties
Modified: trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties
===================================================================
--- trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-06-16 13:30:19 UTC (rev 1341)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-06-16 13:35:33 UTC (rev 1342)
@@ -195,7 +195,7 @@
wao.ui.import.activityCalendarLabel=of the activity calendars
wao.ui.import.activityCalendarUserAccessesLabel=of user accesses to the activity calendars
wao.ui.import.boatDistrictLabel=of the coordinates of boat districts
-wao.ui.import.boatGroupsLabel=
+wao.ui.import.boatGroupsLabel=of the boat groups
wao.ui.import.boatsLabel=of boats
wao.ui.import.contactStateMotivesLabel=of the contact state motives
wao.ui.import.description=File %s %s \:
Modified: trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties
===================================================================
--- trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-06-16 13:30:19 UTC (rev 1341)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-06-16 13:35:33 UTC (rev 1342)
@@ -1,4 +1,4 @@
-StrategyValues.CONTACTS_STATES=États des contacts
+StrategyValues.CONTACTS_STATES=\u00c9tats des contacts
StrategyValues.CONTACTS_STATES_MOTIFS=Motifs de refus
SynthesisId.DISTINCT_BOATS_COUNTS=
SynthesisId.GRAPH_BOARDING=
@@ -10,80 +10,80 @@
SynthesisId.OBSERVATION_HOUR=
wao.ui.action.acceptContact=Valider le contact
wao.ui.action.add=Ajouter
-wao.ui.action.addNewContactFromBoat=Créer un nouveau contact pour ce navire et la ligne sélectionnée dans les filtres
-wao.ui.action.back=Revenier à l'écran précédent
+wao.ui.action.addNewContactFromBoat=Cr\u00e9er un nouveau contact pour ce navire et la ligne s\u00e9lectionn\u00e9e dans les filtres
+wao.ui.action.back=Revenier \u00e0 l'\u00e9cran pr\u00e9c\u00e9dent
wao.ui.action.cancel=Annuler
wao.ui.action.changeLocale=Changer de langue
wao.ui.action.contactAdmin=Contacter un responsable ObsMer
-wao.ui.action.create=Créer
-wao.ui.action.createCompany=Créer une société
-wao.ui.action.createUser=Créer un utilisateur
+wao.ui.action.create=Cr\u00e9er
+wao.ui.action.createCompany=Cr\u00e9er une soci\u00e9t\u00e9
+wao.ui.action.createUser=Cr\u00e9er un utilisateur
wao.ui.action.delete=Supprimer
-wao.ui.action.deleteCompany=Supprimer la société
-wao.ui.action.deleteCompany.confirm=Êtes-vous sûr de vouloir supprimer la société ?
+wao.ui.action.deleteCompany=Supprimer la soci\u00e9t\u00e9
+wao.ui.action.deleteCompany.confirm=\u00cates-vous s\u00fbr de vouloir supprimer la soci\u00e9t\u00e9 ?
wao.ui.action.deleteContact=Supprimer le contact
-wao.ui.action.deleteContact.confirm=Êtes-vous sûr de vouloir supprimer définitivement ce contact ?
+wao.ui.action.deleteContact.confirm=\u00cates-vous s\u00fbr de vouloir supprimer d\u00e9finitivement ce contact ?
wao.ui.action.deleteNews=Supprimer la nouvelle
-wao.ui.action.deleteNews.confirm=Êtes-vous sûr de vouloir supprimer définitivement cette nouvelle ?
+wao.ui.action.deleteNews.confirm=\u00cates-vous s\u00fbr de vouloir supprimer d\u00e9finitivement cette nouvelle ?
wao.ui.action.deleteSampleRow=Supprimer la ligne du plan
-wao.ui.action.deleteSampleRow.confirm=Êtes-vous sûr de vouloir supprimer la ligne %s du plan ?
+wao.ui.action.deleteSampleRow.confirm=\u00cates-vous s\u00fbr de vouloir supprimer la ligne %s du plan ?
wao.ui.action.deleteUser=Supprimer l'utilisateur
-wao.ui.action.deleteUser.confirm=Êtes-vous sûr de vouloir supprimer l'utilisateur ?
+wao.ui.action.deleteUser.confirm=\u00cates-vous s\u00fbr de vouloir supprimer l'utilisateur ?
wao.ui.action.edit=Modifier
wao.ui.action.enlargeView=Agrandir la vue
-wao.ui.action.exportBoats=Exporter les $s navires avec leurs informations privées
+wao.ui.action.exportBoats=Exporter les $s navires avec leurs informations priv\u00e9es
wao.ui.action.filter=Filtrer
wao.ui.action.hideFilters=Masquer les filtres
wao.ui.action.login=Connexion
-wao.ui.action.logout=Déconnexion
-wao.ui.action.reduceView=Réduire la vue
-wao.ui.action.refresh=Rafraîchir
+wao.ui.action.logout=D\u00e9connexion
+wao.ui.action.reduceView=R\u00e9duire la vue
+wao.ui.action.refresh=Rafra\u00eechir
wao.ui.action.refuseContact=Refuser le contact
wao.ui.action.remove=Retirer
-wao.ui.action.resetFields=Remettre le formulaire à zéro
+wao.ui.action.resetFields=Remettre le formulaire \u00e0 z\u00e9ro
wao.ui.action.revert=Annuler
wao.ui.action.runExport=Lancer l'export
wao.ui.action.runImport=Lancer l'import
wao.ui.action.runSearch=Lancer la recherche
wao.ui.action.save=Enregistrer
-wao.ui.action.showDetails=Voir les détails
+wao.ui.action.showDetails=Voir les d\u00e9tails
wao.ui.action.showFilters=Afficher les filtres
wao.ui.action.unvalidateContact=Invalider le contact
wao.ui.action.viewIndicatorsHistory=Voir l'historique des modifications des indicateurs
wao.ui.boatList=Liste de %s navires
wao.ui.boatinfo.title=Informations sur %s
-wao.ui.boats.associatedLine=Ligne(s) du plan associée(s) à ce navire
-wao.ui.boats.nbObservations=%s observation(s) dont %s avec votre société
+wao.ui.boats.associatedLine=Ligne(s) du plan associ\u00e9e(s) \u00e0 ce navire
+wao.ui.boats.nbObservations=%s observation(s) dont %s avec votre soci\u00e9t\u00e9
wao.ui.boats.portOfRegistry.description=Il s'agit du port d'exploitation principal du navire
wao.ui.boats.portOfRegistry.header=Port
-wao.ui.boats.selecting=Vous êtes en cours de sélection d'un navire pour la ligne du plan %s
+wao.ui.boats.selecting=Vous \u00eates en cours de s\u00e9lection d'un navire pour la ligne du plan %s
wao.ui.boats.substitutes=Substituts du navire
-wao.ui.cartography.help=Cliquez sur les graphiques pour avoir le détail.
-wao.ui.cartography.title=Répartition des contacts par quartier des navires
-wao.ui.cartography.title.company=Répartition des contacts par quartier des navires pour la société %s
+wao.ui.cartography.help=Cliquez sur les graphiques pour avoir le d\u00e9tail.
+wao.ui.cartography.title=R\u00e9partition des contacts par quartier des navires
+wao.ui.cartography.title.company=R\u00e9partition des contacts par quartier des navires pour la soci\u00e9t\u00e9 %s
wao.ui.chart.boardingsSince=Nombre de sollicitations depuis le %s
wao.ui.chart.numberBoats=Nb navires
wao.ui.chart.numberObservations=Nb observations
wao.ui.chart.numberOfBoatsWithBoardings=Nombre de navires avec x embarquements
-wao.ui.contact.lastContact=Dernière observation concernant ce navire pour votre société (tous programmes confondus)
-wao.ui.contacts.createFromBoat=Créer un nouveau contact pour ce navire et cette ligne du plan
-wao.ui.contacts.createFromBoat.fail=Création d'un nouveau contact impossible
-wao.ui.contacts.createFromBoat.warn=Attention \: cette ligne du plan est arrivée à échéance, êtes-vous sûr de vouloir créer un nouveau contact ?
-wao.ui.disclaimer=Le site de « SUIVI DU REALISE DU PLAN D'ECHANTILLONNAGE DES OBSERVATIONS A LA MER » a fait l'objet d'une déclaration à la CNIL sous le numéro suivant \: 1414476
-wao.ui.disclaimer.boats=Les données saisies dans cette page sont la propriété exclusive de la société. En dehors de la société, seul l'administrateur peut les consulter pour des questions de maintenance sur le site. L'administrateur est une personne de l'Ifremer.
+wao.ui.contact.lastContact=Derni\u00e8re observation concernant ce navire pour votre soci\u00e9t\u00e9 (tous programmes confondus)
+wao.ui.contacts.createFromBoat=Cr\u00e9er un nouveau contact pour ce navire et cette ligne du plan
+wao.ui.contacts.createFromBoat.fail=Cr\u00e9ation d'un nouveau contact impossible
+wao.ui.contacts.createFromBoat.warn=Attention \: cette ligne du plan est arriv\u00e9e \u00e0 \u00e9ch\u00e9ance, \u00eates-vous s\u00fbr de vouloir cr\u00e9er un nouveau contact ?
+wao.ui.disclaimer=Le site de \u00ab SUIVI DU REALISE DU PLAN D'ECHANTILLONNAGE DES OBSERVATIONS A LA MER \u00bb a fait l'objet d'une d\u00e9claration \u00e0 la CNIL sous le num\u00e9ro suivant \: 1414476
+wao.ui.disclaimer.boats=Les donn\u00e9es saisies dans cette page sont la propri\u00e9t\u00e9 exclusive de la soci\u00e9t\u00e9. En dehors de la soci\u00e9t\u00e9, seul l'administrateur peut les consulter pour des questions de maintenance sur le site. L'administrateur est une personne de l'Ifremer.
wao.ui.email=Adresse e-mail
wao.ui.entity.Boat=Navire
wao.ui.entity.Boats=Navires
-wao.ui.entity.Company=Société
+wao.ui.entity.Company=Soci\u00e9t\u00e9
wao.ui.entity.Contact=Contact
-wao.ui.entity.FishingZone=Zones de pêche
-wao.ui.entity.SampleRow=Ligne du plan d'échantillonnage
+wao.ui.entity.FishingZone=Zones de p\u00eache
+wao.ui.entity.SampleRow=Ligne du plan d'\u00e9chantillonnage
wao.ui.entity.TerrestrialLocation=Lieu
wao.ui.entity.fishingGearDCF=Engin code DCF
-wao.ui.entity.targetSpeciesDCF=Ensembles d'espèces-cible code DCF
+wao.ui.entity.targetSpeciesDCF=Ensembles d'esp\u00e8ces-cible code DCF
wao.ui.field.Boat.boatGroup=Strate
wao.ui.field.Boat.boatLength=Longueur
-wao.ui.field.Boat.buildYear=Année de construction
+wao.ui.field.Boat.buildYear=Ann\u00e9e de construction
wao.ui.field.Boat.districtCode=Quartier
wao.ui.field.Boat.fleet=Flotille
wao.ui.field.Boat.immatriculation=Immatriculation
@@ -91,146 +91,146 @@
wao.ui.field.Boat.portOfRegistry=Port d'attache
wao.ui.field.Boat.shipOwner=Armateur
wao.ui.field.BoatDistrict.code=Code quartier
-wao.ui.field.BoatInfos.dup=Capacité d'accueil du navire en personnels spécialisés
+wao.ui.field.BoatInfos.dup=Capacit\u00e9 d'accueil du navire en personnels sp\u00e9cialis\u00e9s
wao.ui.field.Company.active=Active
wao.ui.field.Company.name=Nom
-wao.ui.field.Contact.beginDate=Début d'observation
+wao.ui.field.Contact.beginDate=D\u00e9but d'observation
wao.ui.field.Contact.comment=Commentaire observateur
wao.ui.field.Contact.commentAdmin=Commentaire programme
wao.ui.field.Contact.commentCoordinator=Commentaire coordinateur
-wao.ui.field.Contact.completeSampling=Échantillonnage complet
-wao.ui.field.Contact.contactState=État du contact
+wao.ui.field.Contact.completeSampling=\u00c9chantillonnage complet
+wao.ui.field.Contact.contactState=\u00c9tat du contact
wao.ui.field.Contact.contactStateMotif=Motif du refus
wao.ui.field.Contact.contactStateMotifs=Motifs de refus
-wao.ui.field.Contact.creationDate=Date de création du contact
-wao.ui.field.Contact.dataInputDate=Saisie des données
-wao.ui.field.Contact.dataReliability=Qualité des données
+wao.ui.field.Contact.creationDate=Date de cr\u00e9ation du contact
+wao.ui.field.Contact.dataInputDate=Saisie des donn\u00e9es
+wao.ui.field.Contact.dataReliability=Qualit\u00e9 des donn\u00e9es
wao.ui.field.Contact.endDate=Fin d'observation
-wao.ui.field.Contact.landingDate=Date de débarquement
-wao.ui.field.Contact.mainObserver=Observateur référent
+wao.ui.field.Contact.landingDate=Date de d\u00e9barquement
+wao.ui.field.Contact.mainObserver=Observateur r\u00e9f\u00e9rent
wao.ui.field.Contact.mammalsCapture=Capture accidentelle
-wao.ui.field.Contact.mammalsInfo=Noms scientifiques et nombres d'individus des espèces capturées
+wao.ui.field.Contact.mammalsInfo=Noms scientifiques et nombres d'individus des esp\u00e8ces captur\u00e9es
wao.ui.field.Contact.mammalsObservation=Observation exceptionnelle
wao.ui.field.Contact.nbObservants=Nombre d'observateurs
-wao.ui.field.Contact.obsDebCode=Métier
+wao.ui.field.Contact.obsDebCode=M\u00e9tier
wao.ui.field.Contact.observationType=Type d'observation
-wao.ui.field.Contact.samplingStrategy=Stratégie d'échantillonnage suivie
+wao.ui.field.Contact.samplingStrategy=Strat\u00e9gie d'\u00e9chantillonnage suivie
wao.ui.field.Contact.secondaryObservers=Observateurs
wao.ui.field.Contact.terrestrialLocation=Lieu d'observation
-wao.ui.field.Contact.validationCompany=Validation société
+wao.ui.field.Contact.validationCompany=Validation soci\u00e9t\u00e9
wao.ui.field.Contact.validationProgram=Validation programme
-wao.ui.field.FishingZone.facadeName=Façade
+wao.ui.field.FishingZone.facadeName=Fa\u00e7ade
wao.ui.field.FishingZone.sectorName=Zone
wao.ui.field.SampleRow.boat=Navire
wao.ui.field.SampleRow.code=Code ligne
wao.ui.field.SampleRow.comment=Commentaire
-wao.ui.field.SampleRow.company=Société
+wao.ui.field.SampleRow.company=Soci\u00e9t\u00e9
wao.ui.field.SampleRow.dCF5Code=Codes
wao.ui.field.SampleRow.day=Jour
wao.ui.field.SampleRow.dcf5Code=Code DCF Niv. 5
wao.ui.field.SampleRow.expectedDate=Date
-wao.ui.field.SampleRow.fishingZones=Zone(s) de pêche
-wao.ui.field.SampleRow.libelle=Libellé
+wao.ui.field.SampleRow.fishingZones=Zone(s) de p\u00eache
+wao.ui.field.SampleRow.libelle=Libell\u00e9
wao.ui.field.SampleRow.meshSize=Maillage
wao.ui.field.SampleRow.observationType=Type d'observation
-wao.ui.field.SampleRow.observationUnit=Unité d'observation
+wao.ui.field.SampleRow.observationUnit=Unit\u00e9 d'observation
wao.ui.field.SampleRow.observers=Observateurs
wao.ui.field.SampleRow.other=Autre
-wao.ui.field.SampleRow.periodBegin=Début
+wao.ui.field.SampleRow.periodBegin=D\u00e9but
wao.ui.field.SampleRow.periodEnd=Fin
-wao.ui.field.SampleRow.profession=Métier
-wao.ui.field.SampleRow.professionCode=Code métier
+wao.ui.field.SampleRow.profession=M\u00e9tier
+wao.ui.field.SampleRow.professionCode=Code m\u00e9tier
wao.ui.field.SampleRow.programName=Programme
-wao.ui.field.SampleRow.regionIfremer=Région
-wao.ui.field.SampleRow.samplingStrategy=Stratégie d'échantillonnage
+wao.ui.field.SampleRow.regionIfremer=R\u00e9gion
+wao.ui.field.SampleRow.samplingStrategy=Strat\u00e9gie d'\u00e9chantillonnage
wao.ui.field.SampleRow.size=Taille du navire
-wao.ui.field.SampleRow.species=Espèces cibles
+wao.ui.field.SampleRow.species=Esp\u00e8ces cibles
wao.ui.field.SampleRow.terrestrialLocation=Quartier maritime
wao.ui.field.SampleRow.terrestrialLocationInfos=Autre(s) info(s)
-wao.ui.field.TerrestrialDivision.regionIfremer=Région Ifremer
-wao.ui.field.TerrestrialDivision.skillZone=Zone de compétence
+wao.ui.field.TerrestrialDivision.regionIfremer=R\u00e9gion Ifremer
+wao.ui.field.TerrestrialDivision.skillZone=Zone de comp\u00e9tence
wao.ui.field.TerrestrialDivision.subPopulation=Sous-population
-wao.ui.field.User.firstName=Prénom
+wao.ui.field.User.firstName=Pr\u00e9nom
wao.ui.field.User.lastName=Nom
wao.ui.field.User.login=Identifiant
-wao.ui.field.UserProfile.userRole=Rôle
+wao.ui.field.UserProfile.userRole=R\u00f4le
wao.ui.field.WaoUser.login=Identifiant
wao.ui.field.WaoUser.mammalsNotifications=Recevoir les notifications de captures accidentelles
wao.ui.field.WaoUser.password=Mot de passe
wao.ui.filters.filters=Filtres de recherche
-wao.ui.filters.refresh=Rafraîchir les champs du filtre
-wao.ui.forgotPassword=Mot de passe oublié ?
-wao.ui.form.SampleRow.boatsDescription=Ce champs correspond aux immatriculations des navires qui sont éligibles pour cette ligne. Vous pouvez utiliser n'importe quel séparateur pour séparer les immatriculations (virgule, point, espace ou saut de ligne)
-wao.ui.form.SampleRow.error.missingLogComment=Vous devez préciser la raison de vos modifications
-wao.ui.form.SampleRow.missingBeginDate=Date de début manquante pour générer le code de la ligne \!
-wao.ui.form.SampleRow.others=Autres données de la ligne d'échantillonnage
+wao.ui.filters.refresh=Rafra\u00eechir les champs du filtre
+wao.ui.forgotPassword=Mot de passe oubli\u00e9 ?
+wao.ui.form.SampleRow.boatsDescription=Ce champs correspond aux immatriculations des navires qui sont \u00e9ligibles pour cette ligne. Vous pouvez utiliser n'importe quel s\u00e9parateur pour s\u00e9parer les immatriculations (virgule, point, espace ou saut de ligne)
+wao.ui.form.SampleRow.error.missingLogComment=Vous devez pr\u00e9ciser la raison de vos modifications
+wao.ui.form.SampleRow.missingBeginDate=Date de d\u00e9but manquante pour g\u00e9n\u00e9rer le code de la ligne \!
+wao.ui.form.SampleRow.others=Autres donn\u00e9es de la ligne d'\u00e9chantillonnage
wao.ui.form.SampleRow.program=Programme de rattachement et effort d'observation par mois
wao.ui.form.addComment=Ajouter un commentaire
-wao.ui.form.addRole=Ajouter ce rôle
+wao.ui.form.addRole=Ajouter ce r\u00f4le
wao.ui.form.boardingFrom=Sollicitations du navire depuis le
wao.ui.form.contactsFile=Fichier des contacts
-wao.ui.form.definePasswordManually=définir manuellement
+wao.ui.form.definePasswordManually=d\u00e9finir manuellement
wao.ui.form.editComment=Commentaire sur la modification
wao.ui.form.editionAuthor=Auteur de la modification
-wao.ui.form.estimatedTides=Voir l'effort d'observations estimé
-wao.ui.form.estimatedTides.description=L'effort d'observations estimé équivaut au nombre de contacts validés ou non par la société. Les contacts refusés par le programme ne sont pas pris en compte.
-wao.ui.form.generatePassword=Générer le mot de passe
+wao.ui.form.estimatedTides=Voir l'effort d'observations estim\u00e9
+wao.ui.form.estimatedTides.description=L'effort d'observations estim\u00e9 \u00e9quivaut au nombre de contacts valid\u00e9s ou non par la soci\u00e9t\u00e9. Les contacts refus\u00e9s par le programme ne sont pas pris en compte.
+wao.ui.form.generatePassword=G\u00e9n\u00e9rer le mot de passe
wao.ui.form.mapType=Carte
wao.ui.form.otherBoatInfos=Autres informations sur le navire
-wao.ui.form.period=Période
+wao.ui.form.period=P\u00e9riode
wao.ui.form.period.from=du
wao.ui.form.period.to=au
-wao.ui.form.periodFrom=Période du
-wao.ui.form.periodFromTo=Période du %s au %s
+wao.ui.form.periodFrom=P\u00e9riode du
+wao.ui.form.periodFromTo=P\u00e9riode du %s au %s
wao.ui.form.program=Programme
-wao.ui.form.programEvaluation=Évaluation programme
+wao.ui.form.programEvaluation=\u00c9valuation programme
wao.ui.form.readOnly=lecture seule
wao.ui.form.removeRole=retirer ce role
-wao.ui.form.repeatPassword=Répéter le mot de passe
-wao.ui.form.roles=Rôles
-wao.ui.form.sortByTideBegin=Trier par date de début d'observation (du plus récent au plus ancien)
-wao.ui.import.activityCalendarImportLabel=de l'import des calendriers d'activité
-wao.ui.import.activityCalendarImportRunning=Import des calendriers d'activité en cours. Vous pouvez continuer à naviguer sur le site en attendant la fin du chargement.
-wao.ui.import.activityCalendarLabel=des calendriers d'activité
-wao.ui.import.activityCalendarUserAccessesLabel=des accès utilisateurs aux calendriers d'activité
-wao.ui.import.boatDistrictLabel=des coordonnées des quartiers des navires
-wao.ui.import.boatGroupsLabel=
+wao.ui.form.repeatPassword=R\u00e9p\u00e9ter le mot de passe
+wao.ui.form.roles=R\u00f4les
+wao.ui.form.sortByTideBegin=Trier par date de d\u00e9but d'observation (du plus r\u00e9cent au plus ancien)
+wao.ui.import.activityCalendarImportLabel=de l'import des calendriers d'activit\u00e9
+wao.ui.import.activityCalendarImportRunning=Import des calendriers d'activit\u00e9 en cours. Vous pouvez continuer \u00e0 naviguer sur le site en attendant la fin du chargement.
+wao.ui.import.activityCalendarLabel=des calendriers d'activit\u00e9
+wao.ui.import.activityCalendarUserAccessesLabel=des acc\u00e8s utilisateurs aux calendriers d'activit\u00e9
+wao.ui.import.boatDistrictLabel=des coordonn\u00e9es des quartiers des navires
+wao.ui.import.boatGroupsLabel=des strates des navires
wao.ui.import.boatsLabel=des navires
wao.ui.import.contactStateMotivesLabel=des motifs de refus
wao.ui.import.description=Fichier %s %s \:
-wao.ui.import.fishingZoneLabel=des zones de pêches
+wao.ui.import.fishingZoneLabel=des zones de p\u00eaches
wao.ui.import.fullDescription=Import %s (format %s avec encodage UTF-8)
wao.ui.import.longTitle=Import/Export CSV (UTF-8)
-wao.ui.import.obsDebCodesLabel=des codes métiers ObsDeb
-wao.ui.import.samplingPlanLabel=du plan d'échantillonnage
-wao.ui.import.terrestrialDivisionsLabel=du référentiel de stratification spatiale (ObsDeb)
+wao.ui.import.obsDebCodesLabel=des codes m\u00e9tiers ObsDeb
+wao.ui.import.samplingPlanLabel=du plan d'\u00e9chantillonnage
+wao.ui.import.terrestrialDivisionsLabel=du r\u00e9f\u00e9rentiel de stratification spatiale (ObsDeb)
wao.ui.import.terrestrialLocationsLabel=des lieux terrestres
wao.ui.import.title=Import %s
wao.ui.indicator.andMore=%s et plus
wao.ui.indicator.bounds=Bornes
-wao.ui.indicator.coefficient=Pondération
+wao.ui.indicator.coefficient=Pond\u00e9ration
wao.ui.indicator.editions=Modifications
wao.ui.indicator.indicator=Indicateur
-wao.ui.indicator.legend=En jaune, la position actuelle de la société selon cet indicateur.
+wao.ui.indicator.legend=En jaune, la position actuelle de la soci\u00e9t\u00e9 selon cet indicateur.
wao.ui.indicator.levels=Niveaux
-wao.ui.indicator.useRightDecimalSymbol=Attention à bien utiliser ',' et non '.' pour les décimales
+wao.ui.indicator.useRightDecimalSymbol=Attention \u00e0 bien utiliser ',' et non '.' pour les d\u00e9cimales
wao.ui.indicators.coefficientsSum=Total coefficient
-wao.ui.indicators.title=Indicateurs qualités prestataires
+wao.ui.indicators.title=Indicateurs qualit\u00e9s prestataires
wao.ui.invalidLogin=Identifiant invalide
-wao.ui.layout.userDescription=Vous êtes %s de la société %s (%s)
+wao.ui.layout.userDescription=Vous \u00eates %s de la soci\u00e9t\u00e9 %s (%s)
wao.ui.message.chooseProfile=Choisissez dans la liste votre profil de connexion \:
-wao.ui.misc.METIER=MÉTIER
-wao.ui.misc.N/A=non renseignée
-wao.ui.misc.accepted=Accepté
-wao.ui.misc.advancedSearch=Recherche avancée
+wao.ui.misc.METIER=M\u00c9TIER
+wao.ui.misc.N/A=non renseign\u00e9e
+wao.ui.misc.accepted=Accept\u00e9
+wao.ui.misc.advancedSearch=Recherche avanc\u00e9e
wao.ui.misc.by=par
wao.ui.misc.changeOn=Modification du
wao.ui.misc.comment=Commentaire
-wao.ui.misc.commentAddedOn=Commentaire ajouté le
+wao.ui.misc.commentAddedOn=Commentaire ajout\u00e9 le
wao.ui.misc.comments=Commentaires
-wao.ui.misc.companies=Sociétés
-wao.ui.misc.createdOnF=Créée le
-wao.ui.misc.creating=En cours de création
+wao.ui.misc.companies=Soci\u00e9t\u00e9s
+wao.ui.misc.createdOnF=Cr\u00e9\u00e9e le
+wao.ui.misc.creating=En cours de cr\u00e9ation
wao.ui.misc.dayOfWeek=Jour
wao.ui.misc.export=Export
wao.ui.misc.export.longTitle=Export CSV
@@ -243,7 +243,7 @@
wao.ui.misc.logFile.description=Afficher le fichier de log de %s
wao.ui.misc.no=Non
wao.ui.misc.noComment=aucun commentaire
-wao.ui.misc.notValidated=Non validé
+wao.ui.misc.notValidated=Non valid\u00e9
wao.ui.misc.observationReport=Compte-rendu d'observation
wao.ui.misc.observations=Observations
wao.ui.misc.observer=Observateur
@@ -253,84 +253,84 @@
wao.ui.misc.other=Autre
wao.ui.misc.otherInfos=Autre information
wao.ui.misc.others=Autres
-wao.ui.misc.refused=Réfusé
+wao.ui.misc.refused=R\u00e9fus\u00e9
wao.ui.misc.since=depuis le
wao.ui.misc.total=Total
-wao.ui.misc.undefined=Non-défini
-wao.ui.misc.validated=Validé
+wao.ui.misc.undefined=Non-d\u00e9fini
+wao.ui.misc.validated=Valid\u00e9
wao.ui.misc.week=Semaine
-wao.ui.misc.year=Année
+wao.ui.misc.year=Ann\u00e9e
wao.ui.misc.yes=Oui
-wao.ui.nContactsFound=%s contacts trouvés
+wao.ui.nContactsFound=%s contacts trouv\u00e9s
wao.ui.news.content=Texte
wao.ui.news.title=Titre
wao.ui.page.Administration.title=Administration
wao.ui.page.Boats.title=Navires
wao.ui.page.Cartography.title=Cartographie
-wao.ui.page.ContactForm.mammalsInfo.disclaimer=Attention, toutes les informations saisies seront transmises à des personnels extérieurs, soyez riguoureux dans la description de la capture accidentelle
+wao.ui.page.ContactForm.mammalsInfo.disclaimer=Attention, toutes les informations saisies seront transmises \u00e0 des personnels ext\u00e9rieurs, soyez riguoureux dans la description de la capture accidentelle
wao.ui.page.ContactForm.title=Modification d'un contact
wao.ui.page.Contacts.title=Contacts
wao.ui.page.Index.title=Accueil
-wao.ui.page.SamplingPlan.title=Plan d'échantillonnage
-wao.ui.page.Synthesis.title=Synthèse
+wao.ui.page.SamplingPlan.title=Plan d'\u00e9chantillonnage
+wao.ui.page.Synthesis.title=Synth\u00e8se
wao.ui.page.UserProfileForm.title=Gestion du profil
-wao.ui.publishedByProgram=Publiée par le programme
-wao.ui.publishedByYourCompany=Publiée par la société
-wao.ui.sampleRow.creation=Création d'une ligne du plan d'échantillonnage
+wao.ui.publishedByProgram=Publi\u00e9e par le programme
+wao.ui.publishedByYourCompany=Publi\u00e9e par la soci\u00e9t\u00e9
+wao.ui.sampleRow.creation=Cr\u00e9ation d'une ligne du plan d'\u00e9chantillonnage
wao.ui.sampleRow.edition=Modification de la ligne %s
wao.ui.sampleRowLog.title=Historique de la ligne %s
-wao.ui.samplingPlan.Actual=Réalisé
+wao.ui.samplingPlan.Actual=R\u00e9alis\u00e9
wao.ui.samplingPlan.actions=Actions
-wao.ui.samplingPlan.actual=réalisé
-wao.ui.samplingPlan.addSampleRow=Ajouter une ligne au plan d'échantillonnage
-wao.ui.samplingPlan.averageTideTime=Durée moyenne d'une marée (J.)
-wao.ui.samplingPlan.effort=Effort d'observation en nombre de marées
-wao.ui.samplingPlan.estimated=estimé
-wao.ui.samplingPlan.expected=planifié
-wao.ui.samplingPlan.export=Exporter le plan d'échantillonnage du %s au %s
-wao.ui.samplingPlan.fieldWork.see=Voir le plan d'échantillonnage de terrain
-wao.ui.samplingPlan.fieldWork.title=Plan d'échantillonnage de terrain
+wao.ui.samplingPlan.actual=r\u00e9alis\u00e9
+wao.ui.samplingPlan.addSampleRow=Ajouter une ligne au plan d'\u00e9chantillonnage
+wao.ui.samplingPlan.averageTideTime=Dur\u00e9e moyenne d'une mar\u00e9e (J.)
+wao.ui.samplingPlan.effort=Effort d'observation en nombre de mar\u00e9es
+wao.ui.samplingPlan.estimated=estim\u00e9
+wao.ui.samplingPlan.expected=planifi\u00e9
+wao.ui.samplingPlan.export=Exporter le plan d'\u00e9chantillonnage du %s au %s
+wao.ui.samplingPlan.fieldWork.see=Voir le plan d'\u00e9chantillonnage de terrain
+wao.ui.samplingPlan.fieldWork.title=Plan d'\u00e9chantillonnage de terrain
wao.ui.samplingPlan.fishingZoneInfo=Zone autre(s) info(s)
wao.ui.samplingPlan.months=Mois
wao.ui.samplingPlan.nbObservants=Nb. d'observateurs
-wao.ui.samplingPlan.phoneCall.see=Voir le plan d'échantillonnage téléphonique
-wao.ui.samplingPlan.phoneCall.title=Plan d'échantillonnage téléphonique
-wao.ui.samplingPlan.program=Programme ou règlement rattachement
-wao.ui.samplingPlan.sampledProfessions=Métiers échantillonnés
-wao.ui.samplingPlan.showActual=Afficher l'effort d'observations réalisé pour les contacts validés seulement
-wao.ui.samplingPlan.showExpected=Afficher l'effort d'observations estimé pour les contacts validés ou non par la société
-wao.ui.samplingPlan.title=Plan d'échantillonnage
-wao.ui.synthesis.allegroReactivity.description=Ce résultat est une moyenne du nombre de jours entre la date de saisie des données et la date de fin d'observation.
-wao.ui.synthesis.allegroReactivity.title=Réactivité quant à la saisie des données
+wao.ui.samplingPlan.phoneCall.see=Voir le plan d'\u00e9chantillonnage t\u00e9l\u00e9phonique
+wao.ui.samplingPlan.phoneCall.title=Plan d'\u00e9chantillonnage t\u00e9l\u00e9phonique
+wao.ui.samplingPlan.program=Programme ou r\u00e8glement rattachement
+wao.ui.samplingPlan.sampledProfessions=M\u00e9tiers \u00e9chantillonn\u00e9s
+wao.ui.samplingPlan.showActual=Afficher l'effort d'observations r\u00e9alis\u00e9 pour les contacts valid\u00e9s seulement
+wao.ui.samplingPlan.showExpected=Afficher l'effort d'observations estim\u00e9 pour les contacts valid\u00e9s ou non par la soci\u00e9t\u00e9
+wao.ui.samplingPlan.title=Plan d'\u00e9chantillonnage
+wao.ui.synthesis.allegroReactivity.description=Ce r\u00e9sultat est une moyenne du nombre de jours entre la date de saisie des donn\u00e9es et la date de fin d'observation.
+wao.ui.synthesis.allegroReactivity.title=R\u00e9activit\u00e9 quant \u00e0 la saisie des donn\u00e9es
wao.ui.synthesis.boarding.boardingCount=Au total, %s observations invalides sur %s observations.
-wao.ui.synthesis.boarding.description=Ces résultats ne concernent que les lignes du plan d'échantillonnage ayant une durée moyenne de marées inférieure ou égale à 48h.
-wao.ui.synthesis.boarding.mostUsedBoat=Navire le plus sollicité avec %s observations (tous programmes confondus) \: %s (%s)
+wao.ui.synthesis.boarding.description=Ces r\u00e9sultats ne concernent que les lignes du plan d'\u00e9chantillonnage ayant une dur\u00e9e moyenne de mar\u00e9es inf\u00e9rieure ou \u00e9gale \u00e0 48h.
+wao.ui.synthesis.boarding.mostUsedBoat=Navire le plus sollicit\u00e9 avec %s observations (tous programmes confondus) \: %s (%s)
wao.ui.synthesis.boarding.title=Sollicitations des navires
-wao.ui.synthesis.complianceBoarding.description=Respect du nombre prévu d'observateurs pour chaque marée réalisée.
-wao.ui.synthesis.complianceBoarding.title=Respect du nombre d'observateurs embarqués
-wao.ui.synthesis.contactsStates.description=Ces résultats concernent l'ensemble des états des contacts excepté ceux qui ont été refusés par le programme.
-wao.ui.synthesis.contactsStates.title=États des contacts
-wao.ui.synthesis.dataReliability.description=Pourcentage du nombre de marées exploitables par rapport nombre de marée réalisées.
-wao.ui.synthesis.dataReliability.title=Qualité de la donnée
-wao.ui.synthesis.dataSampling.title=Données des marées (réalisé / planifié)
+wao.ui.synthesis.complianceBoarding.description=Respect du nombre pr\u00e9vu d'observateurs pour chaque mar\u00e9e r\u00e9alis\u00e9e.
+wao.ui.synthesis.complianceBoarding.title=Respect du nombre d'observateurs embarqu\u00e9s
+wao.ui.synthesis.contactsStates.description=Ces r\u00e9sultats concernent l'ensemble des \u00e9tats des contacts except\u00e9 ceux qui ont \u00e9t\u00e9 refus\u00e9s par le programme.
+wao.ui.synthesis.contactsStates.title=\u00c9tats des contacts
+wao.ui.synthesis.dataReliability.description=Pourcentage du nombre de mar\u00e9es exploitables par rapport nombre de mar\u00e9e r\u00e9alis\u00e9es.
+wao.ui.synthesis.dataReliability.title=Qualit\u00e9 de la donn\u00e9e
+wao.ui.synthesis.dataSampling.title=Donn\u00e9es des mar\u00e9es (r\u00e9alis\u00e9 / planifi\u00e9)
wao.ui.synthesis.distinctBoatsCounts.axisName=Nombre de navires distincts
-wao.ui.synthesis.distinctBoatsCounts.categoryName=Mois de l'année
-wao.ui.synthesis.distinctBoatsCounts.description=Nombre de navires distincts observés selon le mois de l'année
-wao.ui.synthesis.distinctBoatsCounts.title=Nombre de navires observés
-wao.ui.synthesis.globalSynthesis.globalResult=Bilan de la synthèse global
-wao.ui.synthesis.globalSynthesis.title=Synthèse globale
-wao.ui.synthesis.globalSynthesis.title.estimated=Synthèse globale (selon estimations)
-wao.ui.synthesis.log.description=Cette page présente toutes les modifications effectuées depuis l'origine qui portent sur les bornes de chaque niveaux ainsi que les coefficients de chaque indicateurs.
-wao.ui.synthesis.log.empty=Aucune modification n'a été apportée à ce jour
+wao.ui.synthesis.distinctBoatsCounts.categoryName=Mois de l'ann\u00e9e
+wao.ui.synthesis.distinctBoatsCounts.description=Nombre de navires distincts observ\u00e9s selon le mois de l'ann\u00e9e
+wao.ui.synthesis.distinctBoatsCounts.title=Nombre de navires observ\u00e9s
+wao.ui.synthesis.globalSynthesis.globalResult=Bilan de la synth\u00e8se global
+wao.ui.synthesis.globalSynthesis.title=Synth\u00e8se globale
+wao.ui.synthesis.globalSynthesis.title.estimated=Synth\u00e8se globale (selon estimations)
+wao.ui.synthesis.log.description=Cette page pr\u00e9sente toutes les modifications effectu\u00e9es depuis l'origine qui portent sur les bornes de chaque niveaux ainsi que les coefficients de chaque indicateurs.
+wao.ui.synthesis.log.empty=Aucune modification n'a \u00e9t\u00e9 apport\u00e9e \u00e0 ce jour
wao.ui.synthesis.log.entry.author=Auteur de la modification
-wao.ui.synthesis.log.entry.comment=Commentaire associé
+wao.ui.synthesis.log.entry.comment=Commentaire associ\u00e9
wao.ui.synthesis.log.entry.date=Date de la modification
-wao.ui.synthesis.log.entry.summary=Modifications effectuées
-wao.ui.synthesis.log.title=Historique des modifications des paramètres de la synthèse globale
+wao.ui.synthesis.log.entry.summary=Modifications effectu\u00e9es
+wao.ui.synthesis.log.title=Historique des modifications des param\u00e8tres de la synth\u00e8se globale
wao.ui.synthesis.observationHours.axisName=Nombre d'observations
-wao.ui.synthesis.observationHours.categoryName=Heures de la journée
-wao.ui.synthesis.observationHours.description=Nombre d'observations effectuée selon l'heure d'arrivée
-wao.ui.synthesis.observationHours.title=Distribution des périodes d'observation
-wao.ui.unavailableOperation=Opération non-disponible
+wao.ui.synthesis.observationHours.categoryName=Heures de la journ\u00e9e
+wao.ui.synthesis.observationHours.description=Nombre d'observations effectu\u00e9e selon l'heure d'arriv\u00e9e
+wao.ui.synthesis.observationHours.title=Distribution des p\u00e9riodes d'observation
+wao.ui.unavailableOperation=Op\u00e9ration non-disponible
wao.ui.userList=Liste des utilisateurs
wao.ui.validLogin=Identifiant valide
1
0
[Suiviobsmer-commits] r1341 - in trunk: wao-business/src/main/java/fr/ifremer/wao/io/csv2/models wao-business/src/main/java/fr/ifremer/wao/service wao-business/src/main/resources/i18n wao-business/src/main/xmi wao-business/src/test/java/fr/ifremer/wao/business wao-business/src/test/java/fr/ifremer/wao/business/fixtures wao-business/src/test/resources/import wao-ui/src/main/java/fr/ifremer/wao/ui/pages wao-ui/src/main/resources/i18n wao-ui/src/main/webapp
by bleny@users.labs.libre-entreprise.org 16 Jun '11
by bleny@users.labs.libre-entreprise.org 16 Jun '11
16 Jun '11
Author: bleny
Date: 2011-06-16 13:30:19 +0000 (Thu, 16 Jun 2011)
New Revision: 1341
Log:
split importing of boat groups and importing of boats
Added:
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatGroupImportModel.java
trunk/wao-business/src/test/resources/import/strates.csv
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatImportExportModel.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/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/business/ObsDebPhoneTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java
trunk/wao-business/src/test/resources/import/navires.csv
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java
trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties
trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties
trunk/wao-ui/src/main/webapp/Administration.tml
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatGroupImportModel.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatGroupImportModel.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatGroupImportModel.java 2011-06-16 13:30:19 UTC (rev 1341)
@@ -0,0 +1,145 @@
+package fr.ifremer.wao.io.csv2.models;
+
+import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.entity.BoatGroupImpl;
+import fr.ifremer.wao.entity.BoatImpl;
+import fr.ifremer.wao.io.csv2.ExportableColumn;
+import fr.ifremer.wao.io.csv2.ImportModel;
+import fr.ifremer.wao.io.csv2.ImportableColumn;
+import fr.ifremer.wao.io.csv2.ModelBuilder;
+import fr.ifremer.wao.io.csv2.ValueGetterSetter;
+import fr.ifremer.wao.io.csv2.models.operations.BoatImmatriculationParserFormatter;
+import org.apache.commons.lang.StringUtils;
+
+import java.util.Collection;
+import java.util.List;
+
+public class BoatGroupImportModel implements ImportModel<Boat> {
+
+ protected ModelBuilder<Boat> modelBuilder;
+
+ protected void buildModel() {
+ modelBuilder = new ModelBuilder<Boat>();
+ modelBuilder.newColumnForImportExport(
+ "NAVIRE_IMMATRICULATION",
+ Boat.PROPERTY_IMMATRICULATION,
+ new BoatImmatriculationParserFormatter());
+
+ // boat group
+ modelBuilder.newColumnForImportExport(
+ "STRATE_CODE",
+ new ValueGetterSetter<Boat, String>() {
+ @Override
+ public String get(Boat boat) throws Exception {
+ String boatGroupCode = "";
+ if (boat.getBoatGroup() != null) {
+ boatGroupCode = boat.getBoatGroup().getCode();
+ }
+ return boatGroupCode;
+ }
+
+ @Override
+ public void set(Boat boat, String code) throws Exception {
+ if (StringUtils.isNotBlank(code)) {
+ boat.getBoatGroup().setCode(code);
+ }
+ }
+ });
+
+ modelBuilder.newColumnForImportExport(
+ "STRATE_CLASSE_LONGUEUR",
+ new ValueGetterSetter<Boat, String>() {
+ @Override
+ public String get(Boat boat) throws Exception {
+ String value = "";
+ if (boat.getBoatGroup() != null) {
+ value = boat.getBoatGroup().getLengthGroup();
+ }
+ return value;
+ }
+
+ @Override
+ public void set(Boat boat, String value) throws Exception {
+ boat.getBoatGroup().setLengthGroup(value);
+ }
+ });
+ modelBuilder.newColumnForImportExport(
+ "STRATE_CLASSE_EFFECTIF",
+ new ValueGetterSetter<Boat, String>() {
+ @Override
+ public String get(Boat boat) throws Exception {
+ String value = "";
+ if (boat.getBoatGroup() != null) {
+ value = boat.getBoatGroup().getStaffSizeGroup();
+ }
+ return value;
+ }
+
+ @Override
+ public void set(Boat boat, String value) throws Exception {
+ boat.getBoatGroup().setStaffSizeGroup(value);
+ }
+ });
+ modelBuilder.newColumnForImportExport(
+ "STRATE_COMMUNE",
+ new ValueGetterSetter<Boat, String>() {
+ @Override
+ public String get(Boat boat) throws Exception {
+ String value = "";
+ if (boat.getBoatGroup() != null) {
+ value = boat.getBoatGroup().getCommune();
+ }
+ return value;
+ }
+
+ @Override
+ public void set(Boat boat, String value) throws Exception {
+ boat.getBoatGroup().setCommune(value);
+ }
+ });
+ modelBuilder.newColumnForImportExport(
+ "STRATE_SECTEUR_GEOGRAPHIQUE",
+ new ValueGetterSetter<Boat, String>() {
+ @Override
+ public String get(Boat boat) throws Exception {
+ String value = "";
+ if (boat.getBoatGroup() != null) {
+ value = boat.getBoatGroup().getSector();
+ }
+ return value;
+ }
+
+ @Override
+ public void set(Boat boat, String value) throws Exception {
+ boat.getBoatGroup().setSector(value);
+ }
+ });
+
+ }
+
+ @Override
+ public char getSeparator() {
+ return ';';
+ }
+
+ @Override
+ public void pushCsvHeaderNames(List<String> headerNames) {
+ // nothing to do
+ }
+
+ @Override
+ public Boat newEmptyInstance() {
+ Boat emptyInstance = new BoatImpl();
+ emptyInstance.setBoatGroup(new BoatGroupImpl());
+ return emptyInstance;
+ }
+
+ @Override
+ public Collection<ImportableColumn> getColumnsForImport() {
+ if (modelBuilder == null) {
+ buildModel();
+ }
+ return modelBuilder.getColumnsForImport();
+ }
+
+}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatImportExportModel.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatImportExportModel.java 2011-06-16 09:29:27 UTC (rev 1340)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatImportExportModel.java 2011-06-16 13:30:19 UTC (rev 1341)
@@ -198,96 +198,6 @@
}
});
- // boat group
- modelBuilder.newColumnForImportExport(
- "STRATE_CODE",
- new ValueGetterSetter<Boat, String>() {
- @Override
- public String get(Boat boat) throws Exception {
- String boatGroupCode = "";
- if (boat.getBoatGroup() != null) {
- boatGroupCode = boat.getBoatGroup().getCode();
- }
- return boatGroupCode;
- }
-
- @Override
- public void set(Boat boat, String code) throws Exception {
- if (StringUtils.isNotBlank(code)) {
- boat.getBoatGroup().setCode(code);
- }
- }
- });
-
- modelBuilder.newColumnForImportExport(
- "STRATE_CLASSE_LONGUEUR",
- new ValueGetterSetter<Boat, String>() {
- @Override
- public String get(Boat boat) throws Exception {
- String value = "";
- if (boat.getBoatGroup() != null) {
- value = boat.getBoatGroup().getLengthGroup();
- }
- return value;
- }
-
- @Override
- public void set(Boat boat, String value) throws Exception {
- boat.getBoatGroup().setLengthGroup(value);
- }
- });
- modelBuilder.newColumnForImportExport(
- "STRATE_CLASSE_EFFECTIF",
- new ValueGetterSetter<Boat, String>() {
- @Override
- public String get(Boat boat) throws Exception {
- String value = "";
- if (boat.getBoatGroup() != null) {
- value = boat.getBoatGroup().getStaffSizeGroup();
- }
- return value;
- }
-
- @Override
- public void set(Boat boat, String value) throws Exception {
- boat.getBoatGroup().setStaffSizeGroup(value);
- }
- });
- modelBuilder.newColumnForImportExport(
- "STRATE_COMMUNE",
- new ValueGetterSetter<Boat, String>() {
- @Override
- public String get(Boat boat) throws Exception {
- String value = "";
- if (boat.getBoatGroup() != null) {
- value = boat.getBoatGroup().getCommune();
- }
- return value;
- }
-
- @Override
- public void set(Boat boat, String value) throws Exception {
- boat.getBoatGroup().setCommune(value);
- }
- });
- modelBuilder.newColumnForImportExport(
- "STRATE_SECTEUR_GEOGRAPHIQUE",
- new ValueGetterSetter<Boat, String>() {
- @Override
- public String get(Boat boat) throws Exception {
- String value = "";
- if (boat.getBoatGroup() != null) {
- value = boat.getBoatGroup().getSector();
- }
- return value;
- }
-
- @Override
- public void set(Boat boat, String value) throws Exception {
- boat.getBoatGroup().setSector(value);
- }
- });
-
}
@Override
@@ -305,7 +215,6 @@
Boat emptyInstance = new BoatImpl();
emptyInstance.setShipOwner(new ShipOwnerImpl());
emptyInstance.setBoatDistrict(new BoatDistrictImpl());
- emptyInstance.setBoatGroup(new BoatGroupImpl());
emptyInstance.setFleet(new FleetImpl());
return emptyInstance;
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2011-06-16 09:29:27 UTC (rev 1340)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2011-06-16 13:30:19 UTC (rev 1341)
@@ -72,7 +72,7 @@
import fr.ifremer.wao.io.ImportResultsImpl;
import fr.ifremer.wao.io.csv2.Export;
import fr.ifremer.wao.io.csv2.Import;
-import fr.ifremer.wao.io.csv2.models.BoatImportExportModel;
+import fr.ifremer.wao.io.csv2.models.BoatGroupImportModel;import fr.ifremer.wao.io.csv2.models.BoatImportExportModel;
import org.apache.commons.lang.StringUtils;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
@@ -435,7 +435,6 @@
BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction);
ShipOwnerDAO shipOwnerDAO = WaoDAOHelper.getShipOwnerDAO(transaction);
BoatDistrictDAO boatDistrictDAO = WaoDAOHelper.getBoatDistrictDAO(transaction);
- BoatGroupDAO boatGroupDAO = WaoDAOHelper.getBoatGroupDAO(transaction);
FleetDAO fleetDAO = WaoDAOHelper.getFleetDAO(transaction);
// load data that will be linked to the boat
@@ -451,10 +450,6 @@
WaoUtils.projectPropertyUnique(
fleetDAO.findAll(),
Fleet.PROPERTY_CODE);
- Map<String, BoatGroup> boatGroups =
- WaoUtils.projectPropertyUnique(
- boatGroupDAO.findAll(),
- BoatGroup.PROPERTY_CODE);
// init the counts to be returned
ImportResults importResults = new ImportResultsImpl();
@@ -499,19 +494,6 @@
boat.setFleet(fleet);
}
- // fourth, the group
- String boatGroupCode = boat.getBoatGroup().getCode();
- if (boatGroupCode == null) {
- boat.setBoatGroup(null);
- } else {
- BoatGroup boatGroup = boatGroups.get(boatGroupCode);
- if (boatGroup == null) {
- boatGroup = boatGroupDAO.create(boat.getBoatGroup());
- boatGroups.put(boatGroupCode, boatGroup);
- }
- boat.setBoatGroup(boatGroup);
- }
-
// now boat object is ready
Boat existingBoat = boatDAO.findByImmatriculation(boat.getImmatriculation());
if (existingBoat == null) {
@@ -526,7 +508,6 @@
existingBoat.setShipOwner(boat.getShipOwner());
existingBoat.setBoatDistrict(boat.getBoatDistrict());
existingBoat.setPortOfRegistry(boat.getPortOfRegistry());
- existingBoat.setBoatGroup(boat.getBoatGroup());
existingBoat.setFleet(boat.getFleet());
boatDAO.update(existingBoat);
}
@@ -565,6 +546,59 @@
}
@Override
+ protected ImportResults executeImportBoatGroups(TopiaContext transaction, InputStream input) throws Exception {
+ // Building the model, providing ports
+ BoatGroupImportModel model = new BoatGroupImportModel();
+ Import<Boat> boatImport = new Import<Boat>(model, input);
+
+ // Getting some DAOs
+ BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction);
+ BoatGroupDAO boatGroupDAO = WaoDAOHelper.getBoatGroupDAO(transaction);
+
+ Map<String, BoatGroup> boatGroups =
+ WaoUtils.projectPropertyUnique(
+ boatGroupDAO.findAll(),
+ BoatGroup.PROPERTY_CODE);
+
+ // init the counts to be returned
+ ImportResults importResults = new ImportResultsImpl();
+
+ // now iterating over the lines of the CSV
+ Iterator<Boat> it = boatImport.startImport();
+ while (it.hasNext()) {
+ Boat boat = it.next();
+
+ // fourth, the group
+ String boatGroupCode = boat.getBoatGroup().getCode();
+ if (boatGroupCode == null) {
+ boat.setBoatGroup(null);
+ } else {
+ BoatGroup boatGroup = boatGroups.get(boatGroupCode);
+ if (boatGroup == null) {
+ boatGroup = boatGroupDAO.create(boat.getBoatGroup());
+ boatGroups.put(boatGroupCode, boatGroup);
+ }
+ boat.setBoatGroup(boatGroup);
+ }
+
+ // now boat object is ready
+ Boat existingBoat = boatDAO.findByImmatriculation(boat.getImmatriculation());
+ if (existingBoat == null) {
+ throw new IllegalArgumentException(WaoUtils._("wao.import.contact.failure.wrongBoat", String.valueOf(boat.getImmatriculation())));
+ } else {
+ // copy new values in found entity and save changes
+ existingBoat.setBoatGroup(boat.getBoatGroup());
+ boatDAO.update(existingBoat);
+ }
+
+ importResults.incNbImported();
+ }
+
+ transaction.commitTransaction();
+ return importResults;
+ }
+
+ @Override
public void executeImportActivityCalendarCsv(InputStream input)
throws IOException {
if (!context.isActivityCalendarImportRun()) {
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-06-16 09:29:27 UTC (rev 1340)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-06-16 13:30:19 UTC (rev 1341)
@@ -241,7 +241,7 @@
* @param input a CVS file with terrestrial locations
*/
@Override
- protected void executeImportTerrestrialLocations(TopiaContext transaction, InputStream input) throws Exception {
+ protected ImportResults executeImportTerrestrialLocations(TopiaContext transaction, InputStream input) throws Exception {
TerrestrialLocationDAO dao = WaoDAOHelper.getTerrestrialLocationDAO(transaction);
@@ -387,6 +387,11 @@
}
transaction.commitTransaction();
+
+ ImportResults importResults = new ImportResultsImpl();
+ importResults.setNbRowsImported(locationAdded + locationUpdated);
+ importResults.setNbRowsImportedNew(locationAdded);
+ return importResults;
}
@Override
@@ -502,7 +507,7 @@
}
@Override
- protected void executeImportTerrestrialDivisions(TopiaContext transaction, InputStream input) throws Exception {
+ protected ImportResults executeImportTerrestrialDivisions(TopiaContext transaction, InputStream input) throws Exception {
TerrestrialLocationDAOImpl terrestrialLocationDAO = WaoDAOHelper.getTerrestrialLocationDAO(transaction);
@@ -516,6 +521,8 @@
log.debug(ports.size() + " ports, " + regions.size() + " regions");
}
+ ImportResults importResults = new ImportResultsImpl();
+
// the import itself
ImportModel<TerrestrialDivision> importModel = new TerrestrialDivisionImportModel(ports, regions);
Import<TerrestrialDivision> terrestrialDivisionImport = new Import<TerrestrialDivision>(importModel, input);
@@ -532,12 +539,14 @@
if (existingTerrestrialDivision == null) {
// add as new
dao.create(terrestrialDivision);
+ importResults.incNbImportedNew();
} else {
// update the old one
terrestrialDivisionBinder.copyExcluding(terrestrialDivision, existingTerrestrialDivision,
TopiaEntity.TOPIA_ID, TopiaEntity.TOPIA_CREATE_DATE, TopiaEntity.TOPIA_VERSION);
dao.update(existingTerrestrialDivision);
}
+ importResults.incNbImported();
TerrestrialDivision observationUnit = new TerrestrialDivisionImpl();
terrestrialDivisionBinder.copyExcluding(
@@ -573,6 +582,7 @@
log.debug(dao.count() + " terrestrial divisions in database");
}
+ return importResults;
}
@Override
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-06-16 09:29:27 UTC (rev 1340)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-06-16 13:30:19 UTC (rev 1341)
@@ -165,6 +165,7 @@
wao.error.serviceBoat.getShipOwnerNamesContains=
wao.error.serviceBoat.importActivityCalendarCsv=
wao.error.serviceBoat.importBoatCsv=
+wao.error.serviceBoat.importBoatGroups=
wao.error.serviceBoat.newBoatFilter=
wao.error.serviceCartography.exportContactMotifsStatisticsKml=
wao.error.serviceCartography.exportContactStatisticsKml=
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-06-16 09:29:27 UTC (rev 1340)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-06-16 13:30:19 UTC (rev 1341)
@@ -165,6 +165,7 @@
wao.error.serviceBoat.getShipOwnerNamesContains=
wao.error.serviceBoat.importActivityCalendarCsv=Problème d'import du fichier CSV des calendriers d'activité
wao.error.serviceBoat.importBoatCsv=Problème d'import du fichier CSV. Vérifiez l'en-tête du fichier.
+wao.error.serviceBoat.importBoatGroups=
wao.error.serviceBoat.newBoatFilter=
wao.error.serviceCartography.exportContactMotifsStatisticsKml=
wao.error.serviceCartography.exportContactStatisticsKml=
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebPhoneTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebPhoneTest.java 2011-06-16 09:29:27 UTC (rev 1340)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebPhoneTest.java 2011-06-16 13:30:19 UTC (rev 1341)
@@ -34,15 +34,35 @@
protected ObsDebFixtures fixtures = new ObsDebFixtures(manager);
@Test
- public void adminCanImportPhoneSamplingPlan() throws WaoBusinessException {
+ public void adminCanImportBoatGroups() throws WaoBusinessException {
manager.setCurrentDate(2, 1, 2010);
+ fixtures.boats();
+
+ InputStream input = null;
+ try {
+ input = getClass().getResourceAsStream("/import/strates.csv");
+ ImportResults importResults = serviceBoat.importBoatGroups(input);
+ Assert.assertEquals(6, importResults.getNbRowsImported());
+ Assert.assertEquals(0, importResults.getNbRowsRefused());
+ Assert.assertNotNull(serviceBoat.getBoat(fixtures.samourai().getImmatriculation()).getBoatGroup());
+ Assert.assertNull(serviceBoat.getBoat(fixtures.bisounours().getImmatriculation()).getBoatGroup());
+ } finally {
+ IOUtils.closeQuietly(input);
+ }
+
+ }
+
+ @Test
+ public void adminCanImportPhoneSamplingPlan() throws WaoBusinessException {
+
fixtures.ifremer();
fixtures.codeLutin();
- fixtures.boats();
manager.setCurrentDate(3, 1, 2010);
+ adminCanImportBoatGroups();
+
InputStream input = IOUtils.toInputStream(PHONE_SAMPLING_PLAN_CSV);
ImportResults importResults = serviceSampling.importSamplingPlanCsv(input, fixtures.joshAsAdministrator());
Assert.assertEquals(1, importResults.getNbRowsImported());
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java 2011-06-16 09:29:27 UTC (rev 1340)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java 2011-06-16 13:30:19 UTC (rev 1341)
@@ -4,6 +4,7 @@
import fr.ifremer.wao.bean.ConnectedUser;
import fr.ifremer.wao.bean.ObsProgram;
import fr.ifremer.wao.bean.UserRole;
+import fr.ifremer.wao.entity.Boat;
import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.entity.WaoUser;
@@ -46,4 +47,8 @@
protected void importSamplingPlan() {
throw new UnsupportedOperationException("not yet implemented");
}
+
+ public Boat bisounours() {
+ return getBoat(978419);
+ }
}
Modified: trunk/wao-business/src/test/resources/import/navires.csv
===================================================================
--- trunk/wao-business/src/test/resources/import/navires.csv 2011-06-16 09:29:27 UTC (rev 1340)
+++ trunk/wao-business/src/test/resources/import/navires.csv 2011-06-16 13:30:19 UTC (rev 1341)
@@ -1,7 +1,7 @@
-"NAVIRE_IMMATRICULATION";"NAVIRE_NOM";"NAVIRE_LONGUEUR";"NAVIRE_ANNEE";"NAVIRE_EFFECTIF";"QUARTIER_CODE";"ARMATEUR_CODE";"ARMATEUR_NOM";"ARMATEUR_PRENOM";"NAVIRE_ACTIF";"PORT_CODE";"FLOTILLE_CODE";"FLOTILLE_NOM";"SOUS_FLOTILLE_NOM";"SOUS_SOUS_FLOTILLE_NOM";"STRATE_CODE";"STRATE_CLASSE_LONGUEUR";"STRATE_CLASSE_EFFECTIF";"STRATE_COMMUNE";"STRATE_SECTEUR_GEOGRAPHIQUE"
-273129;"MOISE";7;1992;3;"UX";19771564;"BEURRE ";"JEAN CLAUDE";"Y";"MP3";"FLOTILLE0";"Les colons";"Les colons";"Les colons";"STRATE1";"<10 mètres";"< 5 marins";"Ici";"Les bermudes"
-174258;"SAMOURAI KING";9;1982;3;"UN";19744130;"MARIE";"JEAN PHILIPPE";"Y";"MP6";"FLOTILLE1";"Ma première flotille";"Ma première flotille";"Ma première flotille";"STRATE1";"<10 mètres";"< 5 marins";"Ailleurs";"Les bermudes"
-177474;"MAYFLOWERS";10;1983;3;"UN";19784252;"MOSELLE";"ALAIN RENE";"N";"XSN";"FLOTILLE0";"Les colons";"Les colons";"Les colons";"STRATE0";">= 10 mètres";"< 5 marins";"Autre-part";"Les bermudes"
-174592;"FIFITOU";8;1975;7;"UN";18854131;"POUTRE";"JEAN PIERRE";"Y";"XSN";"FLOTILLE1";"Ma première flotille";"Ma première flotille";"Ma première flotille";"STRATE1";"<10 mètres";">= 5 marins";"Loin";"Les bermudes"
-284595;"A MA LOUTRE";8;1973;9;"UN";"SPR3965";"BECANAUD";"NA";"Y";"LP3";"FLOTILLE1";"Ma première flotille";"Ma première flotille";"Ma première flotille";"STRATE2";"<10 mètres";">= 5 marins";"Pas si loin";"Les bermudes"
-978419;"BISOUNOURS";11;2002;8;"CI";18854131;"POUTRE ";"JEAN PIERRE";"Y";"MP6";;;;;;;;;
+"NAVIRE_IMMATRICULATION";"NAVIRE_NOM";"NAVIRE_LONGUEUR";"NAVIRE_ANNEE";"NAVIRE_EFFECTIF";"QUARTIER_CODE";"ARMATEUR_CODE";"ARMATEUR_NOM";"ARMATEUR_PRENOM";"NAVIRE_ACTIF";"PORT_CODE";"FLOTILLE_CODE";"FLOTILLE_NOM";"SOUS_FLOTILLE_NOM";"SOUS_SOUS_FLOTILLE_NOM"
+273129;"MOISE";7;1992;3;"UX";19771564;"BEURRE ";"JEAN CLAUDE";"Y";"MP3";"FLOTILLE0";"Les colons";"Les colons";"Les colons"
+174258;"SAMOURAI KING";9;1982;3;"UN";19744130;"MARIE";"JEAN PHILIPPE";"Y";"MP6";"FLOTILLE1";"Ma première flotille";"Ma première flotille";"Ma première flotille"
+177474;"MAYFLOWERS";10;1983;3;"UN";19784252;"MOSELLE";"ALAIN RENE";"N";"XSN";"FLOTILLE0";"Les colons";"Les colons";"Les colons"
+174592;"FIFITOU";8;1975;7;"UN";18854131;"POUTRE";"JEAN PIERRE";"Y";"XSN";"FLOTILLE1";"Ma première flotille";"Ma première flotille";"Ma première flotille"
+284595;"A MA LOUTRE";8;1973;9;"UN";"SPR3965";"BECANAUD";"NA";"Y";"LP3";"FLOTILLE1";"Ma première flotille";"Ma première flotille";"Ma première flotille"
+978419;"BISOUNOURS";11;2002;8;"CI";18854131;"POUTRE ";"JEAN PIERRE";"Y";"MP6";;;;
Added: trunk/wao-business/src/test/resources/import/strates.csv
===================================================================
--- trunk/wao-business/src/test/resources/import/strates.csv (rev 0)
+++ trunk/wao-business/src/test/resources/import/strates.csv 2011-06-16 13:30:19 UTC (rev 1341)
@@ -0,0 +1,7 @@
+"NAVIRE_IMMATRICULATION";"STRATE_CODE";"STRATE_CLASSE_LONGUEUR";"STRATE_CLASSE_EFFECTIF";"STRATE_COMMUNE";"STRATE_SECTEUR_GEOGRAPHIQUE"
+273129;"STRATE1";"<10 mètres";"< 5 marins";"Ici";"Les bermudes"
+174258;"STRATE1";"<10 mètres";"< 5 marins";"Ailleurs";"Les bermudes"
+177474;"STRATE0";">= 10 mètres";"< 5 marins";"Autre-part";"Les bermudes"
+174592;"STRATE1";"<10 mètres";">= 5 marins";"Loin";"Les bermudes"
+284595;"STRATE2";"<10 mètres";">= 5 marins";"Pas si loin";"Les bermudes"
+978419;;;;;
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java 2011-06-16 09:29:27 UTC (rev 1340)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java 2011-06-16 13:30:19 UTC (rev 1341)
@@ -248,8 +248,8 @@
@Override
public ImportResults execute(InputStream input)
throws WaoException, WaoBusinessException {
- serviceReferential.importTerrestrialLocations(input);
- return null;
+ ImportResults importResults = serviceReferential.importTerrestrialLocations(input);
+ return importResults;
}
};
}
@@ -260,8 +260,8 @@
@Override
public ImportResults execute(InputStream input)
throws WaoException, WaoBusinessException {
- serviceReferential.importTerrestrialDivisions(input);
- return null;
+ ImportResults importResults = serviceReferential.importTerrestrialDivisions(input);
+ return importResults;
}
};
}
@@ -286,6 +286,16 @@
};
}
+ public ImportEngine getBoatGroupsImportEngine() {
+ return new ImportEngine() {
+ @Override
+ public ImportResults execute(InputStream input) throws WaoException, WaoBusinessException {
+ ImportResults results = serviceBoat.importBoatGroups(input);
+ return results;
+ }
+ };
+ }
+
public InputStream getActivityCalendarLogFile() {
return getActivityCalendarLogFile(WaoProperty.FILENAME_LOG_ACTIVITY_IMPORT);
}
Modified: trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties
===================================================================
--- trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-06-16 09:29:27 UTC (rev 1340)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-06-16 13:30:19 UTC (rev 1341)
@@ -195,6 +195,7 @@
wao.ui.import.activityCalendarLabel=of the activity calendars
wao.ui.import.activityCalendarUserAccessesLabel=of user accesses to the activity calendars
wao.ui.import.boatDistrictLabel=of the coordinates of boat districts
+wao.ui.import.boatGroupsLabel=
wao.ui.import.boatsLabel=of boats
wao.ui.import.contactStateMotivesLabel=of the contact state motives
wao.ui.import.description=File %s %s \:
Modified: trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties
===================================================================
--- trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-06-16 09:29:27 UTC (rev 1340)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-06-16 13:30:19 UTC (rev 1341)
@@ -194,6 +194,7 @@
wao.ui.import.activityCalendarLabel=des calendriers d'activité
wao.ui.import.activityCalendarUserAccessesLabel=des accès utilisateurs aux calendriers d'activité
wao.ui.import.boatDistrictLabel=des coordonnées des quartiers des navires
+wao.ui.import.boatGroupsLabel=
wao.ui.import.boatsLabel=des navires
wao.ui.import.contactStateMotivesLabel=des motifs de refus
wao.ui.import.description=Fichier %s %s \:
Modified: trunk/wao-ui/src/main/webapp/Administration.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/Administration.tml 2011-06-16 09:29:27 UTC (rev 1340)
+++ trunk/wao-ui/src/main/webapp/Administration.tml 2011-06-16 13:30:19 UTC (rev 1341)
@@ -186,6 +186,7 @@
<t:if test="currentUser.obsDeb">
<t:importFieldSet t:label="${message:wao.ui.import.terrestrialDivisionsLabel}" t:engine="terrestrialDivisionsImportEngine" />
<t:importFieldSet t:label="${message:wao.ui.import.obsDebCodesLabel}" t:engine="obsDebCodesImportEngine" />
+ <t:importFieldSet t:label="${message:wao.ui.import.boatGroupsLabel}" t:engine="boatGroupsEngine" />
</t:if>
</t:if>
1
0
[Suiviobsmer-commits] r1340 - in trunk: wao-business/src/main/resources wao-ui/src/main/webapp
by bleny@users.labs.libre-entreprise.org 16 Jun '11
by bleny@users.labs.libre-entreprise.org 16 Jun '11
16 Jun '11
Author: bleny
Date: 2011-06-16 09:29:27 +0000 (Thu, 16 Jun 2011)
New Revision: 1340
Log:
fix conflict
Modified:
trunk/wao-business/src/main/resources/motifs.csv
trunk/wao-ui/src/main/webapp/Cartography.tml
Modified: trunk/wao-business/src/main/resources/motifs.csv
===================================================================
--- trunk/wao-business/src/main/resources/motifs.csv 2011-06-15 16:13:33 UTC (rev 1339)
+++ trunk/wao-business/src/main/resources/motifs.csv 2011-06-16 09:29:27 UTC (rev 1340)
@@ -3,3 +3,4 @@
REFUS_PROGRAMME;Rejet du programme;FF0000
REFUS_PROFESSION;Blocage de la profession;0000FF
REFUS_AUTRE;Autre;DDDDDD
+
Modified: trunk/wao-ui/src/main/webapp/Cartography.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/Cartography.tml 2011-06-15 16:13:33 UTC (rev 1339)
+++ trunk/wao-ui/src/main/webapp/Cartography.tml 2011-06-16 09:29:27 UTC (rev 1340)
@@ -68,13 +68,11 @@
<label for="periodEnd"> ${message:wao.ui.form.period.to} </label>
<input t:type="datefield" class="width70" t:id="periodEnd" t:value="filter.period.thruDate" t:validate="required" />
</p>
-
<t:if t:test="user.obsMer">
<p class="mtop5"><label for="mapType">${message:wao.ui.form.mapType}</label> : </p>
<p><input t:type="select" t:id="mapType" value="mapType"
t:zone="cartography-filters-sampling" t:validate="required" /></p>
</t:if>
-
<t:if t:test="user.admin">
<!-- COMPANY -->
<p class="mtop5"><label for="company">${message:wao.ui.entity.Company}</label> : </p>
1
0
[Suiviobsmer-commits] r1339 - in trunk/wao-business/src: main/resources/i18n test/java/fr/ifremer/wao/business/fixtures test/java/fr/ifremer/wao/entity test/resources/import
by bleny@users.labs.libre-entreprise.org 15 Jun '11
by bleny@users.labs.libre-entreprise.org 15 Jun '11
15 Jun '11
Author: bleny
Date: 2011-06-15 16:13:33 +0000 (Wed, 15 Jun 2011)
New Revision: 1339
Log:
fix tests
Modified:
trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties
trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties
trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java
trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java
trunk/wao-business/src/test/resources/import/contacts.csv
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-06-15 15:16:11 UTC (rev 1338)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-06-15 16:13:33 UTC (rev 1339)
@@ -282,7 +282,7 @@
wao.import.contact.failure.sampleRowCodeMissing=The code of the sample row line is missing
wao.import.contact.failure.terrestrialLocationMissing=The code of the terrestrial location is missing
wao.import.contact.failure.wrongBoat=There is no boat with plate number '%s'
-wao.import.contact.failure.wrongColor=The color '%s' is not a valid color. It must be composed of 6 characters without the hash (#), see http://en.wikipedia.org/wiki/Web_colors
+wao.import.contact.failure.wrongColor=The color '%s' is not a valid color. It must be composed of 6 characters without the hash (\#), see http\://en.wikipedia.org/wiki/Web_colors
wao.import.contact.failure.wrongContactStateMotifCode=The code '%s' is not a valid code
wao.import.contact.failure.wrongSampleRowCode=The is no sample row with code '%s'
wao.import.contact.failure.wrongTerrestrialLocation=There is no location of type '%s' with code '%s'
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-06-15 15:16:11 UTC (rev 1338)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-06-15 16:13:33 UTC (rev 1339)
@@ -1,180 +1,180 @@
ContactPieChartConstant.OTHER=Autres
-ContactPieChartConstant.REALIZED=R\u00e9alis\u00e9s
-ContactPieChartConstant.REFUSED=Refus\u00e9s
-ContactState.CONTACT_DEFINITELY_REFUSED=Refus d\u00e9finitif
+ContactPieChartConstant.REALIZED=Réalisés
+ContactPieChartConstant.REFUSED=Refusés
+ContactState.CONTACT_DEFINITELY_REFUSED=Refus définitif
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
-ContactState.OBSERVATION_NOT_DONE=Non observ\u00e9
-DataReliability.CORRECTION_ASKED=Correction demand\u00e9e
+ContactState.OBSERVATION_CANCELLED=Annulée
+ContactState.OBSERVATION_DONE=Observation réalisée
+ContactState.OBSERVATION_EXPECTED=Observation programmée
+ContactState.OBSERVATION_NOT_DONE=Non observé
+DataReliability.CORRECTION_ASKED=Correction demandée
DataReliability.DOUBTFUL=Douteuse
-DataReliability.NOT_PROVIDED=Non contr\u00f4l\u00e9e
+DataReliability.NOT_PROVIDED=Non contrôlée
DataReliability.NOT_RELIABLE=Non exploitable
DataReliability.RELIABLE=Exploitable
DataReliability.UNKNOWN=Inconnue
-GlobalIndicatorValue.BAD=P\u00e9nalit\u00e9 de niveau 1
+GlobalIndicatorValue.BAD=Pénalité 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énalité de niveau 2
GlobalIndicatorValue.VERY_GOOD=Bonus de niveau 2
-LocationType.AUCTION=Cri\u00e9e
+LocationType.AUCTION=Criée
LocationType.DISTRICT=Quartier maritime
LocationType.PORT=Port
-LocationType.REGION=R\u00e9gion Ifremer
+LocationType.REGION=Région Ifremer
ObsProgram.OBSDEB=ObsDeb
ObsProgram.OBSMER=ObsMer
ObsProgram.OBSVENTE=ObsVente
ObservationType.FIELD_WORK_OBSERVATION=Observation de terrain
-ObservationType.FIELD_WORK_SURVEY=Enqu\u00eate de terrain
-ObservationType.PHONE_CALL=Enqu\u00eate t\u00e9l\u00e9phonique
-SamplingStrategy.SIMULTANEOUS_ALL_SPECIES=Simultan\u00e9 \: Toutes esp\u00e8ces commerciales
-SamplingStrategy.SIMULTANEOUS_G1_G2_SPECIES=Simultan\u00e9 \: esp\u00e8ces G1+G2
-SamplingStrategy.SIMULTANEOUS_G1_SPECIES=Simultan\u00e9 \: esp\u00e8ces G1
-SamplingStrategy.SPECIFIC_STOCK=Stock sp\u00e9cifique
-SynthesisId.DISTINCT_BOATS_COUNTS=Nombres de navires distincts observ\u00e9s
-SynthesisId.GRAPH_BOARDING=Taux d'embarquement sur un m\u00eame navire conforme aux exigences
-SynthesisId.GRAPH_SAMPLING=Taux de r\u00e9alisation du plan d'\u00e9chantillonage
-SynthesisId.IND_ALLEGRO_REACTIVITY=D\u00e9lais de transmission des donn\u00e9es
-SynthesisId.IND_COMPLIANCE_BOARDING=Respect du nombre d'observateurs embarqu\u00e9s
-SynthesisId.IND_CONTACT_STATE=\u00c9tats des contacts
-SynthesisId.IND_DATA_RELIABILITY=Qualit\u00e9 de la donn\u00e9e
-SynthesisId.OBSERVATION_HOUR=Heures d'observation dans la journ\u00e9e
+ObservationType.FIELD_WORK_SURVEY=Enquête de terrain
+ObservationType.PHONE_CALL=Enquête téléphonique
+SamplingStrategy.SIMULTANEOUS_ALL_SPECIES=Simultané \: Toutes espèces commerciales
+SamplingStrategy.SIMULTANEOUS_G1_G2_SPECIES=Simultané \: espèces G1+G2
+SamplingStrategy.SIMULTANEOUS_G1_SPECIES=Simultané \: espèces G1
+SamplingStrategy.SPECIFIC_STOCK=Stock spécifique
+SynthesisId.DISTINCT_BOATS_COUNTS=Nombres de navires distincts observés
+SynthesisId.GRAPH_BOARDING=Taux d'embarquement sur un même navire conforme aux exigences
+SynthesisId.GRAPH_SAMPLING=Taux de réalisation du plan d'échantillonage
+SynthesisId.IND_ALLEGRO_REACTIVITY=Délais de transmission des données
+SynthesisId.IND_COMPLIANCE_BOARDING=Respect du nombre d'observateurs embarqués
+SynthesisId.IND_CONTACT_STATE=États des contacts
+SynthesisId.IND_DATA_RELIABILITY=Qualité de la donnée
+SynthesisId.OBSERVATION_HOUR=Heures d'observation dans la journée
UserRole.ADMIN=Administrateur
UserRole.COORDINATOR=Coordinateur
-UserRole.GUEST=Invit\u00e9
+UserRole.GUEST=Invité
UserRole.OBSERVER=Observateur
UserRole.PROFESSIONAL=Professionnel
csv.import.error.missingMandatoryHeaders=Les champs obligatoires %s sont manquants
-csv.import.error.unableToParseValue=Erreur lors de l'interpr\u00e9tation de la valeur '%s' (colonne '%s', ligne %s)
-csv.import.error.unableToReadField=Impossible de lire la colonne '%s' \u00e0 la ligne %s
+csv.import.error.unableToParseValue=Erreur lors de l'interprétation de la valeur '%s' (colonne '%s', ligne %s)
+csv.import.error.unableToReadField=Impossible de lire la colonne '%s' à la ligne %s
csv.import.error.unableToReadLine=Impossible de lire la ligne %s
-csv.import.error.unableToSetValue=Impossible d'enregistrer la valeur '%s' (entit\u00e9 '%s', ligne %s, column '%s')
+csv.import.error.unableToSetValue=Impossible d'enregistrer la valeur '%s' (entité '%s', ligne %s, column '%s')
csv.import.error.unrecognizedHeaders=Les champs %s ne sont pas reconnus. Les champs possibles sont %s.
csv.import.logComment=Modification depuis import
-fr.ifremer.wao.entity.FishingGearDCF.=Non sp\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écifié
+fr.ifremer.wao.entity.FishingGearDCF.DRB=Dragues remorquées par bateau
+fr.ifremer.wao.entity.FishingGearDCF.DRH=Dragues à main
+fr.ifremer.wao.entity.FishingGearDCF.FAR=Pièges aériens
+fr.ifremer.wao.entity.FishingGearDCF.FCN=Éperviers
+fr.ifremer.wao.entity.FishingGearDCF.FG=Autres engins retombants (non-spécifiés)
+fr.ifremer.wao.entity.FishingGearDCF.FIX=Pièges (non-spécifiés)
+fr.ifremer.wao.entity.FishingGearDCF.FPN=Filets-pièges fixes non couverts
fr.ifremer.wao.entity.FishingGearDCF.FPO=Nasses (casiers)
-fr.ifremer.wao.entity.FishingGearDCF.FSN=Filets \u00e0 l'\u00e9talage (diables)
+fr.ifremer.wao.entity.FishingGearDCF.FSN=Filets à l'étalage (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élants (non spécifiés)
+fr.ifremer.wao.entity.FishingGearDCF.GES=Tamis à civelles
+fr.ifremer.wao.entity.FishingGearDCF.GN=Filets maillants (non spécifiés)
fr.ifremer.wao.entity.FishingGearDCF.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érivants (filets dérivants)
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és (ancrés)
+fr.ifremer.wao.entity.FishingGearDCF.GT=Trémailleurs
+fr.ifremer.wao.entity.FishingGearDCF.GTN=Trémails et filets maillants combinés
+fr.ifremer.wao.entity.FishingGearDCF.GTR=Trémails
fr.ifremer.wao.entity.FishingGearDCF.HAR=Harpons
-fr.ifremer.wao.entity.FishingGearDCF.HMD=Dragues m\u00e9canis\u00e9es
+fr.ifremer.wao.entity.FishingGearDCF.HMD=Dragues mécanisées
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écolte (non spécifiés)
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 à main et lignes avec cannes
+fr.ifremer.wao.entity.FishingGearDCF.LHP=Lignes à main et lignes à cannes
+fr.ifremer.wao.entity.FishingGearDCF.LL=Palangres (non spécifiées)
+fr.ifremer.wao.entity.FishingGearDCF.LLD=Palangres dérivantes
+fr.ifremer.wao.entity.FishingGearDCF.LLS=Palangres calées ou semi-flottantes
+fr.ifremer.wao.entity.FishingGearDCF.LN=Filets soulevés (non spécifiés)
+fr.ifremer.wao.entity.FishingGearDCF.LNB=Filets soulevés manœuvrées du bateau
+fr.ifremer.wao.entity.FishingGearDCF.LNP=Filets soulevés portatifs
+fr.ifremer.wao.entity.FishingGearDCF.LNS=Filets soulevés fixes manœuvrées du rivage
+fr.ifremer.wao.entity.FishingGearDCF.LTL=lignes de traîne
+fr.ifremer.wao.entity.FishingGearDCF.LX=Hameçons et lignes (non spécifiés)
fr.ifremer.wao.entity.FishingGearDCF.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écifiés
+fr.ifremer.wao.entity.FishingGearDCF.OT=Chaluts à panneaux (non spécifié)
+fr.ifremer.wao.entity.FishingGearDCF.OTB=Chalut de fond à panneaux
+fr.ifremer.wao.entity.FishingGearDCF.OTM=Chaluts pélagiques à panneaux
+fr.ifremer.wao.entity.FishingGearDCF.OTT=Chaluts jumeaux à panneaux
fr.ifremer.wao.entity.FishingGearDCF.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.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.PS1=Filets tournants, sennes coulissantes manœuvrées par un bateau
+fr.ifremer.wao.entity.FishingGearDCF.PS2=Filets tournants, sennes coulissantes manœuvrées par deux bateaux
+fr.ifremer.wao.entity.FishingGearDCF.PT=Chalut-bœufs (non spécifié)
+fr.ifremer.wao.entity.FishingGearDCF.PTB=Chalut-bœufs de fond
+fr.ifremer.wao.entity.FishingGearDCF.PTM=Chalut-bœufs pélagiques
+fr.ifremer.wao.entity.FishingGearDCF.RG=Engins de pêche révréative
fr.ifremer.wao.entity.FishingGearDCF.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œuvrées par deux bateaux
+fr.ifremer.wao.entity.FishingGearDCF.SSC=Sennes écossaises
+fr.ifremer.wao.entity.FishingGearDCF.SV=Sennes halées à bord
+fr.ifremer.wao.entity.FishingGearDCF.SW=Sennes (non spécifiées)
+fr.ifremer.wao.entity.FishingGearDCF.TB=Chalut de fond (non spécifié)
+fr.ifremer.wao.entity.FishingGearDCF.TBB=Chaluts à perche
+fr.ifremer.wao.entity.FishingGearDCF.TBN=Chalut à langoustines
+fr.ifremer.wao.entity.FishingGearDCF.TBS=Chalut à crevettes
+fr.ifremer.wao.entity.FishingGearDCF.TM=Chalut pélagique (non spécifié)
+fr.ifremer.wao.entity.FishingGearDCF.TMS=Chalut à crevettes
+fr.ifremer.wao.entity.FishingGearDCF.TX=Autre chalut (non spécifié)
+fr.ifremer.wao.entity.TargetSpeciesDCF.=Non spécifié
fr.ifremer.wao.entity.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èces catadromes
+fr.ifremer.wao.entity.TargetSpeciesDCF.CRU=Crustacés
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èces démersales
+fr.ifremer.wao.entity.TargetSpeciesDCF.DWS=Espèces 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élagiques
fr.ifremer.wao.entity.TargetSpeciesDCF.MOL=Mollusques
-fr.ifremer.wao.entity.TargetSpeciesDCF.SPF=Petits p\u00e9lagiques
-wao.business.boat.validation.immatriculation.wrongFormat=L'immatriculation du navire doit \u00eatre form\u00e9e de 6 chiffres
-wao.business.contact.validation.commentAdminNecessaryForDataReliability=Il faut pr\u00e9ciser dans le commentaire administrateur pourquoi la donn\u00e9e est '%s'
-wao.business.contact.validation.contactStateMotifMissing=Il faut pr\u00e9ciser un motif de refus
-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élagiques
+wao.business.boat.validation.immatriculation.wrongFormat=L'immatriculation du navire doit être formée de 6 chiffres
+wao.business.contact.validation.commentAdminNecessaryForDataReliability=Il faut préciser dans le commentaire administrateur pourquoi la donnée est '%s'
+wao.business.contact.validation.contactStateMotifMissing=Il faut préciser un motif de refus
+wao.business.contact.validation.dataReliabilityMissingForValidation=Il faut préciser la qualité de la donnée 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é dans WAO l'information suivante \:\n\nMarée \: %s\nMétier \: %s\n\nCapture accidentelle \:\n%s\n\nCordialement,\n\nLe programme Obsmer\nhttp\://www.ifremer.fr/wao
wao.business.mammalsCapture.mail.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éer un nouveau contact pour la société %1$s et le navire %2$s (%3$d)
+wao.error.boat.getNbBoarding=Impossible de récupérer le nombre d'embarquements réels depuis le %1$s
+wao.error.boatInfos.getNbBoardingForCompany=Impossible de récupérer le nombre d'embarquements réels depuis le %1$s pour la société %2$s
wao.error.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écupération 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émarrage 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ées réels pour le mois de %1$s [ligne \: %2$s]
+wao.error.sampleRow.saveSampleRowLog=Impossible d'enregistrer le commentaire écrit par %1$s
+wao.error.serviceBoat.createUpdateCompanyBoatInfos=Impossible de créer ou modifier les informations liés au navire %1$d pour la société %2$s
+wao.error.serviceBoat.exportBoatCsv=Impossible d'exporter les navires sélectionnés
wao.error.serviceBoat.getActivityCalendarLogAccessFile=
wao.error.serviceBoat.getActivityCalendarLogFile=
wao.error.serviceBoat.getAllActiveBoats=
wao.error.serviceBoat.getBoat=Impossible de charger le navire
-wao.error.serviceBoat.getBoatNamesStartWith=Impossible de r\u00e9cup\u00e9rer les navires avec un nom commencant par '%1$s'
+wao.error.serviceBoat.getBoatNamesStartWith=Impossible de récupérer 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îne d'immatriculations est incorrect \! Chaque immatriculation doit posséder 6 chiffres
+wao.error.serviceBoat.getCompanyBoatInfos=Impossible de récupérer les informations du navire immatriculé %1$d pour la société %2$s
+wao.error.serviceBoat.getLastActivityCalendar=Impossible de charger le dernier calendrier d'activité du navire %1$s (%2$d)
wao.error.serviceBoat.getNbBoatsByFilter=Impossible de filtrer la liste des navires
wao.error.serviceBoat.getPossibleValuesForFilter=
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.
+wao.error.serviceBoat.importActivityCalendarCsv=Problème d'import du fichier CSV des calendriers d'activité
+wao.error.serviceBoat.importBoatCsv=Problème d'import du fichier CSV. Vérifiez l'en-tête du fichier.
wao.error.serviceBoat.newBoatFilter=
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ées des quartiers des navires. Vérifiez 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és
wao.error.serviceContact.getNewContact=Impossible d'instancier un nouveau contact
wao.error.serviceContact.getPossibleObsDebCodes=
wao.error.serviceContact.getPossibleTerrestrialLocations=
@@ -190,7 +190,7 @@
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écupérer l'ensemble des news
wao.error.serviceNews.saveNews=Impossible d'enregistrer la news ayant pour titre '%1$s'
wao.error.serviceReferential.getAllContactStateMotifs=
wao.error.serviceReferential.getAllObsDebCodes=
@@ -202,14 +202,14 @@
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êche
+wao.error.serviceReferential.getProfessions=Impossible de charger la liste des métiers
+wao.error.serviceReferential.getSectors=Impossible de charger la liste des zones de pêche
wao.error.serviceReferential.getTerrestrialDistrict=
wao.error.serviceReferential.importContactStateMotifs=
wao.error.serviceReferential.importContactStateMotives=
-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éer le référentiel des codes DCF
+wao.error.serviceReferential.importFishingZoneCsv=Problème d'import du fichier CSV. Vérifiez l'en-tête du fichier \: [ PECHE_DIVISION,PECHE_ZONE,PECHE_FACADE ]. Voir documentation pour plus de détails.
wao.error.serviceReferential.importInitialContactStateMotifs=
wao.error.serviceReferential.importObsDebCodes=
wao.error.serviceReferential.importTerrestrialDivisions=
@@ -218,76 +218,76 @@
wao.error.serviceReferential.updateAllContactStatesMotifs=
wao.error.serviceSampling.countSampleRows=
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'échantillon
+wao.error.serviceSampling.deleteSampleRow=Impossible de supprimer la ligne d'échantillon \: %1$s
+wao.error.serviceSampling.exportSamplingPlanCsv=Impossible d'exporter le plan d'échantillonnage sur la période du %1$s au %2$s
wao.error.serviceSampling.exportSamplingPlanICalendar=
wao.error.serviceSampling.getDCFGears=
wao.error.serviceSampling.getDCFSpecies=
wao.error.serviceSampling.getNewProfession=
wao.error.serviceSampling.getNewSampleMonth=
wao.error.serviceSampling.getNewSampleRow=
-wao.error.serviceSampling.getNewSampleRowCode=Impossible de r\u00e9cup\u00e9rer un nouveau code pour une ligne d'\u00e9chantillonnage
+wao.error.serviceSampling.getNewSampleRowCode=Impossible de récupérer un nouveau code pour une ligne d'échantillonnage
wao.error.serviceSampling.getNewSampleRowLog=
wao.error.serviceSampling.getPossibleValuesForFilter=
wao.error.serviceSampling.getPrograms=Impossible de charger la liste des programmes
-wao.error.serviceSampling.getSampleRow=Impossible de charger la ligne d'\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.getSampleRow=Impossible de charger la ligne d'échantillon ayant pour identifiant \: %1$s
+wao.error.serviceSampling.getSampleRowByCode=Impossible de charger la ligne d'échantillon ayant pour code %1$s
+wao.error.serviceSampling.getSampleRowsByFilter=Impossible de récupérer la liste des lignes du plan d'échantillonnage
wao.error.serviceSampling.getSampleRowsForEligibility=
-wao.error.serviceSampling.getSampleRowsOrderedByFishingZone=Impossible de r\u00e9cup\u00e9rer la liste des lignes du plan d'\u00e9chantillonnage
+wao.error.serviceSampling.getSampleRowsOrderedByFishingZone=Impossible de récupérer la liste des lignes du plan d'échantillonnage
wao.error.serviceSampling.importSamplingPlanCsv=Erreur lors de l'import du plan
wao.error.serviceSampling.newOperation=
wao.error.serviceSampling.newSampleRow=
wao.error.serviceSampling.newSamplingFilter=
wao.error.serviceSampling.validateSampleRow=
wao.error.serviceSynthesis.getAllIndicatorLogs=
-wao.error.serviceSynthesis.getBoardingBoats=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es du graphique concernant les embarquements sur les navires
+wao.error.serviceSynthesis.getBoardingBoats=Impossible de récupérer les données du graphique concernant les embarquements sur les navires
wao.error.serviceSynthesis.getBoatsCount=
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écupérer l'indicateur de réactivité 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écupérer les statistiques sur les états 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.getDataSampling=Impossible de récupérer les données pour le graphique dynamique des efforts de marées
wao.error.serviceSynthesis.getDistinctBoatsCounts=
-wao.error.serviceSynthesis.getGlobalSynthesisParameters=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es concernant les indicateurs pour la synth\u00e8se globale
+wao.error.serviceSynthesis.getGlobalSynthesisParameters=Impossible de récupérer les données concernant les indicateurs pour la synthèse 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.getNonComplianceBoardingIndicator=Impossible de récupérer l'indicateur de non respect du nombre d'observateurs embarqués
wao.error.serviceSynthesis.getObservationHours=
-wao.error.serviceSynthesis.updateGlobalSynthesisParameters=Impossible de mettre \u00e0 jour les param\u00e8tres de la synth\u00e8se globale
+wao.error.serviceSynthesis.updateGlobalSynthesisParameters=Impossible de mettre à jour les paramètres de la synthèse globale
wao.error.serviceUser.addTokensToAllProfiles=
wao.error.serviceUser.connect=Une erreur est survenue lors de la demande de connexion
-wao.error.serviceUser.createDefaultAdmin=Impossible de cr\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éer l'administrateur par défaut
+wao.error.serviceUser.createUpdateCompany=Impossible de créer ou de mettre à jour la société
+wao.error.serviceUser.createUpdateUser=Impossible de créer ou de mettre à jour l'utilisateur
+wao.error.serviceUser.deleteCompany=Impossible de supprimer la société ou de vérifier les contraintes de suppression
wao.error.serviceUser.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écupérer la liste des sociétés
wao.error.serviceUser.getCompany=
wao.error.serviceUser.getConnectedUserByToken=
wao.error.serviceUser.getNewUser=Impossible d'instancier un nouvel utilisateur
-wao.error.serviceUser.getObservers=Impossible de r\u00e9cup\u00e9rer la liste des observateurs
+wao.error.serviceUser.getObservers=Impossible de récupérer la liste des observateurs
wao.error.serviceUser.getUserByToken=
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écupérer la liste des utilisateurs de la société %1$s
wao.export.ical.desc=avec %s
wao.export.ical.title=Observation ObsDeb
-wao.import.contact.failure.boatMissing=Il faut pr\u00e9ciser l'immatriculation du navire associ\u00e9 au contact
-wao.import.contact.failure.locationTypeMissing=Le type du lieu doit \u00eatre renseign\u00e9
-wao.import.contact.failure.sampleRowCodeMissing=Il manque le code de la ligne de plan associ\u00e9e
+wao.import.contact.failure.boatMissing=Il faut préciser l'immatriculation du navire associé au contact
+wao.import.contact.failure.locationTypeMissing=Le type du lieu doit être renseigné
+wao.import.contact.failure.sampleRowCodeMissing=Il manque le code de la ligne de plan associée
wao.import.contact.failure.terrestrialLocationMissing=Il manque le code du lieu
wao.import.contact.failure.wrongBoat=Il n'y a pas de navire avec l'immatriculation '%s'
-wao.import.contact.failure.wrongColor=Le code couleur '%s' n'est pas valide, il doit \u00eatre compos\u00e9 de six caract\u00e8res sans di\u00e8ze voir http://fr.wikipedia.org/wiki/Couleurs_du_Web
+wao.import.contact.failure.wrongColor=Le code couleur '%s' n'est pas valide, il doit être composé de six caractères sans dièze voir http\://fr.wikipedia.org/wiki/Couleurs_du_Web
wao.import.contact.failure.wrongContactStateMotifCode=Le code '%s' n'est pas un code de motif de refus valide
wao.import.contact.failure.wrongSampleRowCode=Il n'y a pas de ligne du plan avec le code '%s'
wao.import.contact.failure.wrongTerrestrialLocation=Il n'y a pas de lieu de type '%s' ayant pour code '%s'
wao.import.failure.wrongLocationType='%s' n'est pas un type de lieu valide, les valeurs admises sont %s
-wao.import.failure.wrongObsDebCode=Il n'y a pas de code m\u00e9tier ayant pour code '%s'
+wao.import.failure.wrongObsDebCode=Il n'y a pas de code métier ayant pour code '%s'
wao.import.failure.wrongUser=Il n'y a pas d'utilisateur ayant pour identifiant '%s'
-wao.validation.sampleRow.conflictOnObserver=L'observateur %s ne peut \u00eatre associ\u00e9 \u00e0 la ligne %s car il doit observer, le m\u00eame jour, pour la ligne %s
-wao.validation.sampleRow.observerNotInCompany=L'observateur %s ne fait pas parti de la soci\u00e9t\u00e9 %s
+wao.validation.sampleRow.conflictOnObserver=L'observateur %s ne peut être associé à la ligne %s car il doit observer, le même jour, pour la ligne %s
+wao.validation.sampleRow.observerNotInCompany=L'observateur %s ne fait pas parti de la société %s
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java 2011-06-15 15:16:11 UTC (rev 1338)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java 2011-06-15 16:13:33 UTC (rev 1339)
@@ -13,6 +13,7 @@
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.ContactDAO;
import fr.ifremer.wao.entity.ContactImpl;
+import fr.ifremer.wao.entity.ContactStateMotif;
import fr.ifremer.wao.entity.ElligibleBoat;
import fr.ifremer.wao.entity.ElligibleBoatDAO;
import fr.ifremer.wao.entity.SampleRow;
@@ -157,6 +158,7 @@
contact3.setMainObserver(user);
contact3.setSampleRow(row);
contact3.setContactState(ContactState.CONTACT_REFUSED);
+ contact3.setContactStateMotif(defaultContactStateMotif());
begin = DateUtil.createDate(3, 5, 2010);
end = DateUtil.createDate(4, 5, 2010);
contact3.setObservationEndDate(end);
@@ -294,4 +296,15 @@
}
return defaultContact;
}
+
+ protected ContactStateMotif defaultContactStateMotif;
+
+ public ContactStateMotif defaultContactStateMotif() {
+ if (defaultContactStateMotif == null) {
+ defaultContactStateMotif = manager.getServiceReferential().
+ getAllContactStateMotifs(ContactState.CONTACT_REFUSED).
+ get(2);
+ }
+ return defaultContactStateMotif;
+ }
}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java 2011-06-15 15:16:11 UTC (rev 1338)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java 2011-06-15 16:13:33 UTC (rev 1339)
@@ -29,6 +29,7 @@
import fr.ifremer.wao.bean.ContactState;
import fr.ifremer.wao.bean.DataReliability;
import fr.ifremer.wao.bean.ObsProgram;
+import fr.ifremer.wao.business.fixtures.Fixtures;
import fr.ifremer.wao.business.fixtures.ObsMerFixtures;
import fr.ifremer.wao.service.AbstractServiceTest;
import fr.ifremer.wao.service.ServiceContact;
@@ -100,6 +101,7 @@
Assert.assertFalse(result);
contact1.setContactState(ContactState.CONTACT_DEFINITELY_REFUSED);
+ contact1.setContactStateMotif(obsMerFixtures.defaultContactStateMotif());
contact1.setComment("why contact was definitely refused");
contact1.setDataReliability(DataReliability.RELIABLE);
contact1.setValidationProgram(Boolean.TRUE);
Modified: trunk/wao-business/src/test/resources/import/contacts.csv
===================================================================
--- trunk/wao-business/src/test/resources/import/contacts.csv 2011-06-15 15:16:11 UTC (rev 1338)
+++ trunk/wao-business/src/test/resources/import/contacts.csv 2011-06-15 16:13:33 UTC (rev 1339)
@@ -1,2 +1,2 @@
-CONTACT_ID;CONTACT_DATE_CREATION;CONTACT_OBSERVATEUR_PRINCIPAL;CONTACT_OBSERVATEURS_SECONDAIRES;CONTACT_ETAT;CONTACT_DEBUT_OBSERVATION;CONTACT_FIN_OBSERVATION;CONTACT_SAISIE_DONNEES;CONTACT_COMMENTAIRE_OBSERVATEUR;CONTACT_COMMENTAIRE_COORDINATEUR;CONTACT_COMMENTAIRE_PROGRAMME;PLAN_CODE;NAVIRE_IMMATRICULATION;CONTACT_VALIDATION_SOCIETE;CONTACT_VALIDATION_PROGRAMME;CONTACT_QUALITE_DONNEE;CONTACT_OBSERVATION_MAMMIFERE;CONTACT_CAPTURE_ACCIDENTELLE
-;01/03/2011 10:24;jmichmuche;;Refus définitif;;;;ne veut plus collaborer;;;2010_0001;175846;?;?;Inconnue;N;N
\ No newline at end of file
+CONTACT_ID;CONTACT_DATE_CREATION;CONTACT_OBSERVATEUR_PRINCIPAL;CONTACT_OBSERVATEURS_SECONDAIRES;CONTACT_ETAT;CONTACT_DEBUT_OBSERVATION;CONTACT_FIN_OBSERVATION;CONTACT_SAISIE_DONNEES;CONTACT_COMMENTAIRE_OBSERVATEUR;CONTACT_COMMENTAIRE_COORDINATEUR;CONTACT_COMMENTAIRE_PROGRAMME;PLAN_CODE;NAVIRE_IMMATRICULATION;CONTACT_VALIDATION_SOCIETE;CONTACT_VALIDATION_PROGRAMME;CONTACT_QUALITE_DONNEE;CONTACT_OBSERVATION_MAMMIFERE;CONTACT_CAPTURE_ACCIDENTELLE;CONTACT_ETAT_MOTIF_CODE;CONTACT_ETAT_MOTIF_NOM
+;01/03/2011 10:24;jmichmuche;;Refus définitif;;;;ne veut plus collaborer;;;2010_0001;175846;?;?;Inconnue;N;N;REFUS_PROFESSION;
\ No newline at end of file
1
0
15 Jun '11
Author: bleny
Date: 2011-06-15 15:16:11 +0000 (Wed, 15 Jun 2011)
New Revision: 1338
Log:
add contact states motives in form/import, export/synthesis and cartography
Added:
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/ContactStateMotivesImportModel.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/ContactStateMotivesParserFormatter.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/SampleRowParserFormatter.java
trunk/wao-business/src/main/resources/motifs.csv
Removed:
trunk/wao-business/src/main/java/fr/ifremer/wao/service/EntitiesTranslator.java
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactStateMotifImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/ContactImportExportModel.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceCartographyImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.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/ServiceReferentialTest.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Cartography.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/KmlLoader.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/ContactModelFactory.java
trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts_fr.properties
trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties
trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties
trunk/wao-ui/src/main/webapp/Administration.tml
trunk/wao-ui/src/main/webapp/Cartography.tml
trunk/wao-ui/src/main/webapp/ContactForm.tml
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -943,7 +943,7 @@
}
@Override
- protected void addLocationTypeToAllTerrestrialLocations(List<String> queries) {
+ protected void addLocationTypeToAllTerrestrialLocations_3_0(List<String> queries) {
// Before this version, district was found by having locationTypeOrdinal
// null. Now that region are added, types are now explicit so we must
// take that in consideration
@@ -954,7 +954,7 @@
}
@Override
- protected void migrateTerrestrialDivisions(List<String> queries) {
+ protected void migrateTerrestrialDivisions_3_0(List<String> queries) {
// add the new column
queries.add("ALTER TABLE TerrestrialDivision"
+ " ADD regionIfremer CHARACTER VARYING(255);");
@@ -976,4 +976,16 @@
// drop old column
queries.add("ALTER TABLE TerrestrialDivision DROP regionIfremerCode;");
}
+
+ @Override
+ protected void dropTranslations_3_0(List<String> queries) {
+ queries.add("DROP TABLE Translation;");
+ }
+
+ @Override
+ protected void addContactStateMotives(List<String> queries) {
+ queries.add("ALTER TABLE ContactStateMotif ADD code CHARACTER VARYING(255);");
+ queries.add("ALTER TABLE ContactStateMotif ADD name CHARACTER VARYING(1000);");
+ queries.add("ALTER TABLE ContactStateMotif ADD color CHARACTER VARYING(20);");
+ }
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -155,10 +155,14 @@
protected abstract void addObsDebCodes_3_0(List<String> queries);
- protected abstract void addLocationTypeToAllTerrestrialLocations(List<String> queries);
+ protected abstract void addLocationTypeToAllTerrestrialLocations_3_0(List<String> queries);
- protected abstract void migrateTerrestrialDivisions(List<String> queries);
+ protected abstract void migrateTerrestrialDivisions_3_0(List<String> queries);
+ protected abstract void dropTranslations_3_0(List<String> queries);
+
+ protected abstract void addContactStateMotives(List<String> queries);
+
protected static final Version[] VERSIONS = new Version[] {
VersionUtil.valueOf("1.0"),
VersionUtil.valueOf("1.1"),
@@ -536,10 +540,14 @@
addFleetToBoats_3_0(queries);
- addLocationTypeToAllTerrestrialLocations(queries);
+ addLocationTypeToAllTerrestrialLocations_3_0(queries);
- migrateTerrestrialDivisions(queries);
+ migrateTerrestrialDivisions_3_0(queries);
+ dropTranslations_3_0(queries);
+
+ addContactStateMotives(queries);
+
String[] strings = queries.toArray(new String[queries.size()]);
executeSQL(tx, showSql, showProgression, strings);
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactStateMotifImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactStateMotifImpl.java 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactStateMotifImpl.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -23,17 +23,11 @@
*/
package fr.ifremer.wao.entity;
-import fr.ifremer.wao.WaoUtils;
import fr.ifremer.wao.bean.ContactState;
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-
public class ContactStateMotifImpl extends ContactStateMotifAbstract {
- protected Map<Locale, String> translations;
-
+ /** Do not use, needed by Hibernate */
public ContactStateMotifImpl() {}
public ContactStateMotifImpl(ContactState contactState) {
@@ -64,29 +58,9 @@
}
@Override
- public String getTranslation() {
- return translations.get(WaoUtils.getCurrentLocale());
- }
-
- @Override
- public void setTranslation(Locale locale, String value) {
- if (translations == null) {
- translations = new HashMap<Locale, String>();
- }
- translations.put(locale, value);
- }
-
- @Override
public String toString() {
- String toString = getTranslation();
- if (toString == null) {
- toString = getTopiaId();
- }
- return toString;
+ String name = getName();
+ return name;
}
- @Override
- public Map<Locale, String> getTranslations() {
- return translations;
- }
-} //ContactStateMotifImpl
+}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/ContactImportExportModel.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/ContactImportExportModel.java 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/ContactImportExportModel.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -32,6 +32,7 @@
import fr.ifremer.wao.entity.Boat;
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.ContactImpl;
+import fr.ifremer.wao.entity.ContactStateMotif;
import fr.ifremer.wao.entity.ObsDebCode;
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.entity.TerrestrialLocation;
@@ -46,8 +47,10 @@
import fr.ifremer.wao.io.csv2.ValueGetterSetter;
import fr.ifremer.wao.io.csv2.ValueParserFormatter;
import fr.ifremer.wao.io.csv2.models.operations.BoatParserFormatter;
+import fr.ifremer.wao.io.csv2.models.operations.ContactStateMotivesParserFormatter;
import fr.ifremer.wao.io.csv2.models.operations.LocationTypeParserFormatter;
import fr.ifremer.wao.io.csv2.models.operations.ObsDebCodeParserFormatter;
+import fr.ifremer.wao.io.csv2.models.operations.SampleRowParserFormatter;
import fr.ifremer.wao.io.csv2.models.operations.UserParserFormatter;
import fr.ifremer.wao.io.csv2.models.operations.UsersParserFormatter;
import org.apache.commons.lang.StringUtils;
@@ -57,9 +60,11 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.jar.Attributes;
public class ContactImportExportModel implements ImportModel<Contact>, ExportModel<Contact> {
+ /** will get terrestrial location depending on location code and pushed location type */
static class TerrestrialLocationParserFormatter implements ValueParserFormatter<TerrestrialLocation> {
protected Map<LocationType, Map<String, TerrestrialLocation>> indexedLocations;
@@ -118,33 +123,6 @@
}
}
- static class SampleRowParserFormatter implements ValueParserFormatter<SampleRow> {
-
- protected Map<String, SampleRow> indexedSampleRows;
-
- SampleRowParserFormatter(List<SampleRow> sampleRows) {
- indexedSampleRows = WaoUtils.projectPropertyUnique(sampleRows, SampleRow.PROPERTY_CODE);
- }
-
- @Override
- public String format(SampleRow sampleRow) {
- return sampleRow.getCode();
- }
-
- @Override
- public SampleRow parse(String sampleRowCode) throws ParseException {
- String trimmedCode = sampleRowCode.trim();
- if (StringUtils.isEmpty(trimmedCode)) {
- throw new IllegalArgumentException(WaoUtils._("wao.import.contact.failure.sampleRowCodeMissing"));
- }
- SampleRow sampleRow = indexedSampleRows.get(sampleRowCode);
- if (sampleRow == null) {
- throw new IllegalArgumentException(WaoUtils._("wao.import.contact.failure.wrongSampleRowCode", sampleRowCode));
- }
- return sampleRow;
- }
- }
-
protected ObsProgram obsProgram;
protected List<WaoUser> waoUsers;
@@ -157,6 +135,8 @@
protected List<ObsDebCode> obsDebCodes;
+ protected List<ContactStateMotif> motives;
+
/** for export */
public ContactImportExportModel(ObsProgram obsProgram) {
this.obsProgram = obsProgram;
@@ -166,13 +146,14 @@
public ContactImportExportModel(ObsProgram obsProgram, List<WaoUser> waoUsers,
List<TerrestrialLocation> terrestrialLocations,
List<SampleRow> sampleRows, List<Boat> boats,
- List<ObsDebCode> obsDebCodes) {
+ List<ObsDebCode> obsDebCodes, List<ContactStateMotif> motives) {
this.obsProgram = obsProgram;
this.waoUsers = waoUsers;
this.terrestrialLocations = terrestrialLocations;
this.sampleRows = sampleRows;
this.boats = boats;
this.obsDebCodes = obsDebCodes;
+ this.motives = motives;
}
@Override
@@ -224,6 +205,18 @@
new Common.ToStringParserFormatter<DataReliability>(DataReliability.values()));
modelBuilder.newColumnForImportExport("CONTACT_OBSERVATION_MAMMIFERE", Contact.PROPERTY_MAMMALS_OBSERVATION, Common.BOOLEAN);
modelBuilder.newColumnForImportExport("CONTACT_CAPTURE_ACCIDENTELLE", Contact.PROPERTY_MAMMALS_CAPTURE, Common.BOOLEAN);
+ modelBuilder.newColumnForImportExport("CONTACT_ETAT_MOTIF_CODE", Contact.PROPERTY_CONTACT_STATE_MOTIF, new ContactStateMotivesParserFormatter(motives));
+ modelBuilder.newIgnoredColumn("CONTACT_ETAT_MOTIF_NOM");
+ modelBuilder.newColumnForExport("CONTACT_ETAT_MOTIF_NOM", new ValueGetter<Contact, String>() {
+ @Override
+ public String get(Contact contact) throws Exception {
+ String name = "";
+ if (contact.getContactStateMotif() != null) {
+ name = contact.getContactStateMotif().getName();
+ }
+ return name;
+ }
+ });
} else {
// FIXME 20110606 bleny contact.getTerrestrialLocation() may be null, export will fail
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/ContactStateMotivesImportModel.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/ContactStateMotivesImportModel.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/ContactStateMotivesImportModel.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -0,0 +1,62 @@
+package fr.ifremer.wao.io.csv2.models;
+
+import fr.ifremer.wao.WaoUtils;
+import fr.ifremer.wao.bean.ContactState;
+import fr.ifremer.wao.entity.ContactStateMotif;
+import fr.ifremer.wao.entity.ContactStateMotifImpl;
+import fr.ifremer.wao.io.csv2.ImportModel;
+import fr.ifremer.wao.io.csv2.ImportableColumn;
+import fr.ifremer.wao.io.csv2.ModelBuilder;
+import fr.ifremer.wao.io.csv2.ValueParser;
+
+import java.text.ParseException;
+import java.util.Collection;
+import java.util.List;
+
+public class ContactStateMotivesImportModel implements ImportModel<ContactStateMotif> {
+
+ protected ModelBuilder<ContactStateMotif> modelBuilder;
+
+ @Override
+ public char getSeparator() {
+ return ';';
+ }
+
+ @Override
+ public void pushCsvHeaderNames(List<String> headerNames) {
+ // nothing to do
+ }
+
+ @Override
+ public ContactStateMotif newEmptyInstance() {
+ ContactStateMotif newContactStateMotif =
+ new ContactStateMotifImpl(ContactState.CONTACT_REFUSED);
+ return newContactStateMotif;
+ }
+
+ protected void buildModel() {
+ modelBuilder = new ModelBuilder<ContactStateMotif>();
+ modelBuilder.newMandatoryColumn(
+ "MOTIF_CODE", ContactStateMotif.PROPERTY_CODE);
+ modelBuilder.newMandatoryColumn(
+ "MOTIF_NOM", ContactStateMotif.PROPERTY_NAME);
+ modelBuilder.newMandatoryColumn(
+ "MOTIF_COULEUR", new ValueParser<String>() {
+ @Override
+ public String parse(String value) throws ParseException {
+ if (value.length() != 6) {
+ throw new IllegalArgumentException(WaoUtils._("wao.import.contact.failure.wrongColor", value));
+ }
+ return value.trim();
+ }
+ }, ContactStateMotif.PROPERTY_COLOR);
+ }
+
+ @Override
+ public Collection<ImportableColumn> getColumnsForImport() {
+ if (modelBuilder == null) {
+ buildModel();
+ }
+ return modelBuilder.getColumnsForImport();
+ }
+}
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/ContactStateMotivesParserFormatter.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/ContactStateMotivesParserFormatter.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/ContactStateMotivesParserFormatter.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -0,0 +1,47 @@
+package fr.ifremer.wao.io.csv2.models.operations;
+
+import fr.ifremer.wao.WaoUtils;
+import fr.ifremer.wao.entity.ContactStateMotif;
+import fr.ifremer.wao.io.csv2.ValueParserFormatter;
+import org.apache.commons.lang.StringUtils;
+
+import java.text.ParseException;
+import java.util.List;
+import java.util.Map;
+
+public class ContactStateMotivesParserFormatter implements ValueParserFormatter<ContactStateMotif> {
+
+ protected List<ContactStateMotif> motives;
+
+ protected Map<String, ContactStateMotif> indexedMotives;
+
+ public ContactStateMotivesParserFormatter(List<ContactStateMotif> motives) {
+ this.motives = motives;
+ }
+
+ @Override
+ public String format(ContactStateMotif motif) {
+ String code = "";
+ if (motif != null) {
+ code = motif.getCode();
+ }
+ return code;
+ }
+
+ @Override
+ public ContactStateMotif parse(String code) throws ParseException {
+ if (indexedMotives == null) {
+ indexedMotives = WaoUtils.projectPropertyUnique(motives, ContactStateMotif.PROPERTY_CODE);
+ }
+ ContactStateMotif contactStateMotif;
+ if (StringUtils.isBlank(code)) {
+ contactStateMotif = null;
+ } else {
+ contactStateMotif = indexedMotives.get(code.trim());
+ if (contactStateMotif == null) {
+ throw new IllegalArgumentException(WaoUtils._("wao.import.contact.failure.wrongContactStateMotifCode", code));
+ }
+ }
+ return contactStateMotif;
+ }
+}
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/SampleRowParserFormatter.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/SampleRowParserFormatter.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/SampleRowParserFormatter.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -0,0 +1,37 @@
+package fr.ifremer.wao.io.csv2.models.operations;
+
+import fr.ifremer.wao.WaoUtils;
+import fr.ifremer.wao.entity.SampleRow;
+import fr.ifremer.wao.io.csv2.ValueParserFormatter;
+import org.apache.commons.lang.StringUtils;
+
+import java.text.ParseException;
+import java.util.List;
+import java.util.Map;
+
+public class SampleRowParserFormatter implements ValueParserFormatter<SampleRow> {
+
+ protected Map<String, SampleRow> indexedSampleRows;
+
+ public SampleRowParserFormatter(List<SampleRow> sampleRows) {
+ indexedSampleRows = WaoUtils.projectPropertyUnique(sampleRows, SampleRow.PROPERTY_CODE);
+ }
+
+ @Override
+ public String format(SampleRow sampleRow) {
+ return sampleRow.getCode();
+ }
+
+ @Override
+ public SampleRow parse(String sampleRowCode) throws ParseException {
+ String trimmedCode = sampleRowCode.trim();
+ if (StringUtils.isEmpty(trimmedCode)) {
+ throw new IllegalArgumentException(WaoUtils._("wao.import.contact.failure.sampleRowCodeMissing"));
+ }
+ SampleRow sampleRow = indexedSampleRows.get(sampleRowCode);
+ if (sampleRow == null) {
+ throw new IllegalArgumentException(WaoUtils._("wao.import.contact.failure.wrongSampleRowCode", sampleRowCode));
+ }
+ return sampleRow;
+ }
+}
Deleted: trunk/wao-business/src/main/java/fr/ifremer/wao/service/EntitiesTranslator.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/EntitiesTranslator.java 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/EntitiesTranslator.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -1,120 +0,0 @@
-/*
- * #%L
- * Wao :: Business
- *
- * $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.service;
-
-import fr.ifremer.wao.WaoDAOHelper;
-import fr.ifremer.wao.entity.TranslatableEntity;
-import fr.ifremer.wao.entity.Translation;
-import fr.ifremer.wao.entity.TranslationDAO;
-import org.apache.commons.lang.LocaleUtils;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.TopiaException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-
-/**
- * Manage the translations of all entities. This class aim to be
- * used by service that output some translatable entities and
- * provides methods to fulfill an entity with its translations
- * to make it ready to printed in a localized UI.
- */
-public class EntitiesTranslator {
-
- private static final Logger log =
- LoggerFactory.getLogger(EntitiesTranslator.class);
-
- protected TopiaContext transaction;
-
- public EntitiesTranslator(TopiaContext transaction) {
- this.transaction = transaction;
- }
-
- /** For a given list of entities, make all known translations available
- * in the entity.
- *
- * This method will look in database to find all translations for a given
- * entity and push them in the object.
- */
- public <E extends TranslatableEntity> List<E> translateEntities(List<E> entities) throws TopiaException {
- List<E> result = new ArrayList<E>(entities);
- TranslationDAO translationDAO = WaoDAOHelper.getTranslationDAO(transaction);
- for (TranslatableEntity entity : result) {
- // find translations for this entity
- List<Translation> translations = translationDAO.findAllById(entity.getTopiaId());
- for (Translation translation : translations) {
- Locale locale = LocaleUtils.toLocale(translation.getLocale());
- entity.setTranslation(locale, translation.getText());
- }
- }
- return result;
- }
-
- public void updateTranslations(List<? extends TranslatableEntity> entities) throws TopiaException {
-
- TranslationDAO translationDAO = WaoDAOHelper.getTranslationDAO(transaction);
-
- int translationAdded = 0;
- int translationUpdated = 0;
-
- for (TranslatableEntity entity : entities) {
- Map<Locale, String> translations = entity.getTranslations();
- String id = entity.getTopiaId();
-
- for (Map.Entry<Locale, String> translation : translations.entrySet()) {
- Locale locale = translation.getKey();
- String value = translation.getValue();
-
- Translation translationEntity = translationDAO.findByProperties(
- Translation.PROPERTY_ID, id,
- Translation.PROPERTY_LOCALE, locale.toString());
- // create or update
- if (translationEntity == null) {
- translationDAO.create(Translation.PROPERTY_ID, id,
- Translation.PROPERTY_LOCALE, locale.toString(),
- Translation.PROPERTY_TEXT, value);
- translationAdded += 1;
- } else {
- if (log.isDebugEnabled()) {
- log.debug("will change translation from '" + translationEntity.getText() +
- "' to '" + value + "'");
- }
- translationEntity.setText(value);
- translationDAO.update(translationEntity);
- translationUpdated += 1;
- }
- }
- }
-
- if (log.isDebugEnabled()) {
- log.debug(translationAdded + " translation added, " +
- translationUpdated + " translations updated");
- }
- }
-
-}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceCartographyImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceCartographyImpl.java 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceCartographyImpl.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -291,8 +291,7 @@
BoatDistrictDAO dao = WaoDAOHelper.getBoatDistrictDAO(transaction);
- Map<String, PieChartData> districts = null; // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- // serviceSynthesis.getContactMotifsPieChartDataByBoatDistrict(filter);
+ Map<String, PieChartData> districts = serviceSynthesis.getContactStateMotifsPieChartDataByBoatDistrict(filter);
// Create new IconSizeHelper to calculate icon size and scale for pieCharts
IconSizeHelper sizeHelper = new IconSizeHelper(districts.values());
@@ -311,6 +310,12 @@
BoatDistrict district = dao.findByTopiaId(districtId);
+ if (logger.isDebugEnabled()) {
+ logger.debug("district " + district.getCode() +
+ " coordinates are " + district.getLatitude() +
+ ", " + district.getLongitude());
+ }
+
String title = "Répartition des motifs de refus pour le quartier " +
district.getCode();
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-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -54,6 +54,7 @@
import fr.ifremer.wao.entity.ContactDAO;
import fr.ifremer.wao.entity.ContactImpl;
import fr.ifremer.wao.entity.ContactStateMotif;
+import fr.ifremer.wao.entity.ContactStateMotifDAO;
import fr.ifremer.wao.entity.ElligibleBoat;
import fr.ifremer.wao.entity.ElligibleBoatDAO;
import fr.ifremer.wao.entity.FishingZone;
@@ -163,14 +164,16 @@
sampleRow.sizeSampleMonth();
contact.getBoat().getName();
+ if (contact.getObsProgram() == ObsProgram.OBSMER) {
+ contact.getContactStateMotif();
+ }
+
if (contact.getObsProgram() == ObsProgram.OBSVENTE) {
- // load
sampleRow.getTerrestrialLocation();
contact.getTerrestrialLocation();
}
if (contact.getObsProgram() == ObsProgram.OBSDEB) {
- // load
if (sampleRow.isPhoneCall()) {
sampleRow.getTerrestrialLocation();
} else if (sampleRow.isFieldWorkObservation()) {
@@ -219,24 +222,19 @@
Map<String, Contact> results = dao.findAllMappedByQuery(query);
- List<ContactStateMotif> motives = new LinkedList<ContactStateMotif>();
-
// force load
for (Contact contact : results.values()) {
contact.getMainObserver();
contact.sizeSecondaryObservers();
contact.getTerrestrialLocation();
- if (contact.getContactStateMotif() != null) {
- motives.add(contact.getContactStateMotif());
+ if (contact.getObsProgram() == ObsProgram.OBSMER) {
+ contact.getContactStateMotif();
}
if (contact.getObsProgram() == ObsProgram.OBSDEB) {
contact.getObsDebCode();
}
}
- EntitiesTranslator translator = new EntitiesTranslator(transaction);
- translator.translateEntities(motives);
-
return results;
}
@@ -343,38 +341,50 @@
// Non abouti, Refus ou Refus Définitif
if (success && contactState.isUnfinishedState()) {
- Contact oldContact = null;
- if (contact.getTopiaId() != null) {
- oldContact = executeGetContact(transaction, contact.getTopiaId());
- }
+ boolean contactMustHaveAMotif = contact.getObsProgram() == ObsProgram.OBSMER
+ && (contactState == ContactState.CONTACT_REFUSED
+ || contactState == ContactState.CONTACT_DEFINITELY_REFUSED);
+ if (contactMustHaveAMotif) {
- if (oldContact != null) {
+ if (contact.getContactStateMotif() == null) {
+ success = false;
+ message = WaoUtils._("wao.business.contact.validation.contactStateMotifMissing");
+ }
- String newComment = contact.getComment();
+ } else {
- boolean commentDefined = StringUtils.isNotEmpty(newComment);
- boolean commentChanged = commentDefined &&
- !newComment.equals(oldContact.getComment());
+ Contact oldContact = null;
+ if (contact.getTopiaId() != null) {
+ oldContact = executeGetContact(transaction, contact.getTopiaId());
+ }
- // Ano #2540 : NPE on oldState, extract boolean for
- // previous unfinishedState case
- boolean previousUnfinishedState = commentDefined &&
- oldContact.getContactState() != null && oldContact.getContactState().isUnfinishedState();
+ if (oldContact != null) {
- // Ano #2440 : no restriction if previous state is unfinished
- if (previousUnfinishedState || commentChanged) {
+ String newComment = contact.getComment();
- // RAZ des champs
- contact.setObservationBeginDate(null);
- contact.setObservationEndDate(null);
- contact.setNbObservants(0);
- contact.setMammalsCapture(false);
- contact.setMammalsObservation(false);
- contact.setDataInputDate(null);
+ boolean commentDefined = StringUtils.isNotEmpty(newComment);
+ boolean commentChanged = commentDefined &&
+ !newComment.equals(oldContact.getComment());
- } else {
- success = false;
- message = "Vous devez ajouter un commentaire pour l'état '" + contactState + "'";
+ // Ano #2540 : NPE on oldState, extract boolean for
+ // previous unfinishedState case
+ boolean previousUnfinishedState = commentDefined &&
+ oldContact.getContactState() != null && oldContact.getContactState().isUnfinishedState();
+
+ // Ano #2440 : no restriction if previous state is unfinished
+ if (previousUnfinishedState || commentChanged) {
+
+ // RAZ des champs
+ contact.setObservationBeginDate(null);
+ contact.setObservationEndDate(null);
+ contact.setMammalsCapture(false);
+ contact.setMammalsObservation(false);
+ contact.setDataInputDate(null);
+
+ } else {
+ success = false;
+ message = "Vous devez ajouter un commentaire pour l'état '" + contactState + "'";
+ }
}
}
// Embarquement Réalisé
@@ -1068,6 +1078,8 @@
BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction);
ObsDebCodeDAO obsDebCodeDAO =
WaoDAOHelper.getObsDebCodeDAO(transaction);
+ ContactStateMotifDAO contactStateMotifDAO =
+ WaoDAOHelper.getContactStateMotifDAO(transaction);
// prepare selection of sample-rows, those are restrained
// by ObsProgram and by company
@@ -1082,11 +1094,12 @@
List<TerrestrialLocation> terrestrialLocations =
terrestrialLocationDAO.findAll();
List<ObsDebCode> obsDebCodes = obsDebCodeDAO.findAll();
+ List<ContactStateMotif> motives = contactStateMotifDAO.findAll();
// model creation, and import starting
ImportModel<Contact> contactImportModel = new ContactImportExportModel(
user.getProfile().getObsProgram(),
- waoUsers, terrestrialLocations, sampleRows, boats, obsDebCodes);
+ waoUsers, terrestrialLocations, sampleRows, boats, obsDebCodes, motives);
Import<Contact> contactImport =
new Import<Contact>(contactImportModel, input);
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-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -31,15 +31,11 @@
import fr.ifremer.wao.WaoException;
import fr.ifremer.wao.WaoQueryBuilder;
import fr.ifremer.wao.WaoQueryHelper;
-import fr.ifremer.wao.WaoUtils;
-import fr.ifremer.wao.bean.ContactFilter;
import fr.ifremer.wao.bean.ContactState;
import fr.ifremer.wao.bean.LocationType;
-import fr.ifremer.wao.bean.ObservationType;
import fr.ifremer.wao.bean.SamplingFilter;
import fr.ifremer.wao.entity.ContactStateMotif;
import fr.ifremer.wao.entity.ContactStateMotifDAO;
-import fr.ifremer.wao.entity.ContactStateMotifImpl;
import fr.ifremer.wao.entity.FishingGearDCF;
import fr.ifremer.wao.entity.FishingGearDCFDAO;
import fr.ifremer.wao.entity.FishingZone;
@@ -63,6 +59,7 @@
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.ContactStateMotivesImportModel;
import fr.ifremer.wao.io.csv2.models.ObsDebCodesImportModel;
import fr.ifremer.wao.io.csv2.models.TerrestrialDivisionImportModel;
import fr.ifremer.wao.io.csv2.models.TerrestrialLocationImportModel;
@@ -77,15 +74,12 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.xml.stream.Location;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
-import java.util.LinkedList;
import java.util.List;
-import java.util.Locale;
import java.util.Map;
/**
@@ -453,15 +447,13 @@
protected List<ContactStateMotif> executeGetAllContactStateMotifs(TopiaContext transaction, ContactState contactState) throws Exception {
ContactStateMotifDAO contactStateMotifDAO = WaoDAOHelper.getContactStateMotifDAO(transaction);
- List<ContactStateMotif> notTranslatedResult;
+ List<ContactStateMotif> result;
if (contactState == null) {
- notTranslatedResult = contactStateMotifDAO.findAll();
+ result = contactStateMotifDAO.findAll();
} else {
ContactState substituteState = ContactState.getSubstituteForMotif(contactState);
- notTranslatedResult = contactStateMotifDAO.findAllByContactStateOrdinal(substituteState.ordinal());
+ result = contactStateMotifDAO.findAllByContactStateOrdinal(substituteState.ordinal());
}
- EntitiesTranslator translator = new EntitiesTranslator(transaction);
- List<ContactStateMotif> result = translator.translateEntities(notTranslatedResult);
if (log.isDebugEnabled()) {
log.debug(result.size() + " motifs found for state " + contactState);
@@ -471,67 +463,42 @@
}
@Override
- protected void executeUpdateAllContactStatesMotifs(TopiaContext transaction, List<ContactStateMotif> motifs) throws Exception {
- ContactStateMotifDAO contactStateMotifDAO = WaoDAOHelper.getContactStateMotifDAO(transaction);
- for (ContactStateMotif motif : motifs) {
- if (motif.getTopiaId() == null) {
- contactStateMotifDAO.create(motif);
- } else {
- contactStateMotifDAO.update(motif);
+ protected ImportResults executeImportContactStateMotives(TopiaContext transaction, InputStream input) throws Exception {
+ ImportResults result = new ImportResultsImpl();
+ ImportModel<ContactStateMotif> model = new ContactStateMotivesImportModel();
+ Import<ContactStateMotif> motivesImport = new Import<ContactStateMotif>(model, input);
+
+ try {
+ Iterator<ContactStateMotif> it = motivesImport.startImport();
+ ContactStateMotifDAO dao = WaoDAOHelper.getContactStateMotifDAO(transaction);
+ while (it.hasNext()) {
+ ContactStateMotif motif = it.next();
+ ContactStateMotif existingMotif = dao.findByCode(motif.getCode());
+ if (existingMotif == null) {
+ dao.create(motif);
+ result.incNbImportedNew();
+ } else {
+ existingMotif.setName(motif.getName());
+ existingMotif.setContactState(motif.getContactState());
+ existingMotif.setColor(motif.getColor());
+ dao.update(existingMotif);
+ }
+ result.incNbImported();
}
+ transaction.commitTransaction();
+ } catch (Exception eee) {
+ transaction.rollbackTransaction();
+ throw eee;
+ } finally {
+ motivesImport.stopImport();
}
- EntitiesTranslator translator = new EntitiesTranslator(transaction);
- translator.updateTranslations(motifs);
- transaction.commitTransaction();
- }
- /**
- * @deprecated write a CSV file and use import
- */
- @Deprecated
- protected void executeImportInitialContactStateMotifs(TopiaContext transaction) throws Exception {
- ContactStateMotifDAO contactStateMotifDAO = WaoDAOHelper.getContactStateMotifDAO(transaction);
- long count = contactStateMotifDAO.count();
- if (count == 0) {
-
- List<ContactStateMotif> motifs = new LinkedList<ContactStateMotif>();
-
- ContactStateMotif motif;
-
- // add Administratif, Rejet du programme, Blocage de la profession, autre
-
- motif = contactStateMotifDAO.create(new ContactStateMotifImpl(ContactState.CONTACT_REFUSED));
- motif.setTranslation(Locale.FRENCH, "Administratif");
- motif.setTranslation(Locale.ENGLISH, "Administrative");
- motifs.add(motif);
-
- motif = contactStateMotifDAO.create(new ContactStateMotifImpl(ContactState.CONTACT_REFUSED));
- motif.setTranslation(Locale.FRENCH, "Rejet du programme");
- motif.setTranslation(Locale.ENGLISH, "Program rejection");
- motifs.add(motif);
-
- motif = contactStateMotifDAO.create(new ContactStateMotifImpl(ContactState.CONTACT_REFUSED));
- motif.setTranslation(Locale.FRENCH, "Blocage de la profession");
- motif.setTranslation(Locale.ENGLISH, "Profession locking");
- motifs.add(motif);
-
- motif = contactStateMotifDAO.create(new ContactStateMotifImpl(ContactState.CONTACT_REFUSED));
- motif.setTranslation(Locale.FRENCH, "Autre");
- motif.setTranslation(Locale.ENGLISH, "Other");
- motifs.add(motif);
-
- EntitiesTranslator translator = new EntitiesTranslator(transaction);
- translator.updateTranslations(motifs);
-
- count = contactStateMotifDAO.count();
- if (log.isDebugEnabled()) {
- log.debug(count + " contact states motifs imported");
- }
- } else {
- if (log.isDebugEnabled()) {
- log.debug("will not import contact states motifs");
- }
+ if (log.isInfoEnabled()) {
+ log.info(result.getNbRowsImported() + " contact state motifs imported (" +
+ result.getNbRowsImportedNew() + " new)");
}
+
+ return result;
}
@Override
@@ -747,6 +714,7 @@
TerrestrialLocationDAOImpl terrestrialLocationDAO = WaoDAOHelper.getTerrestrialLocationDAO(transaction);
ObsDebCodeDAO obsDebCodeDAO = WaoDAOHelper.getObsDebCodeDAO(transaction);
+ ContactStateMotifDAO contactStateMotifDAO = WaoDAOHelper.getContactStateMotifDAO(transaction);
// import terrestrial locations if base is empty
boolean importTerrestrialLocations =
@@ -778,6 +746,13 @@
}
}
- // executeImportInitialContactStateMotifs(transaction);
+ if (contactStateMotifDAO.count() == 0) {
+ try {
+ input = getClass().getResourceAsStream("/motifs.csv");
+ executeImportContactStateMotives(transaction, input);
+ } finally {
+ IOUtils.closeQuietly(input);
+ }
+ }
}
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -31,6 +31,7 @@
import fr.ifremer.wao.WaoQueryHelper;
import fr.ifremer.wao.WaoQueryHelper.BoatDistrictProperty;
import fr.ifremer.wao.WaoQueryHelper.ContactProperty;
+import fr.ifremer.wao.WaoUtils;
import fr.ifremer.wao.bean.BoardingResult;
import fr.ifremer.wao.bean.BoardingResultImpl;
import fr.ifremer.wao.bean.ContactAverageReactivity;
@@ -57,6 +58,7 @@
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.ContactDAO;
import fr.ifremer.wao.entity.ContactStateMotif;
+import fr.ifremer.wao.entity.ContactStateMotifDAO;
import fr.ifremer.wao.entity.Indicator;
import fr.ifremer.wao.entity.IndicatorDAO;
import fr.ifremer.wao.entity.IndicatorLevel;
@@ -75,6 +77,7 @@
import org.nuiton.util.PeriodDates;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import sun.awt.image.ShortInterleavedRaster;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
@@ -1203,7 +1206,8 @@
(TopiaContext transaction, ContactFilter filter)
throws TopiaException {
- // TODO 2011-02-15 bleny this piece of code was just started, must be reviewed
+ ContactStateMotifDAO contactStateMotifDAO = WaoDAOHelper.getContactStateMotifDAO(transaction);
+ Map<String, ContactStateMotif> indexedMotives = WaoUtils.projectPropertyUnique(contactStateMotifDAO.findAll(), ContactStateMotif.PROPERTY_CODE);
WaoQueryBuilder builder = context.newQueryBuilder();
@@ -1221,8 +1225,8 @@
addNullOr(contactProperty.validationProgram(), Op.NEQ, Boolean.FALSE).
addNotNull(contactProperty.contactStateMotif()).
// Set the results wanted : by boatDistrict, by State, get number of results
- setSelect(boatDistrictProperty.topiaId(), contactProperty.contactStateMotif(), "COUNT(*)").
- addGroup(boatDistrictProperty.topiaId(), contactProperty.contactStateMotif());
+ setSelect(boatDistrictProperty.topiaId(), contactProperty.contactStateMotifProperty().code(), "COUNT(*)").
+ addGroup(boatDistrictProperty.topiaId(), contactProperty.contactStateMotifProperty().code());
List<Object[]> queryResults = transaction.findByQuery(query);
@@ -1231,26 +1235,35 @@
for (Object[] row : queryResults) {
String districtId = (String) row[0];
- ContactStateMotif motif = (ContactStateMotif) row[1];
+ ContactStateMotif motif = indexedMotives.get(row[1]);
long count = (Long)row[2];
PieChartData data = results.get(districtId);
if (data == null) {
data = new PieChartDataImpl();
-// for (ContactPieChartConstant constant : ContactPieChartConstant.values(obsProgram)) {
-// PieChartSeries series = new PieChartSeriesImpl();
-// series.setLabel(constant.toString());
-// series.setColor(constant.getColor());
-// data.addSeries(series);
-// }
results.put(districtId, data);
}
+ PieChartSeries series = new PieChartSeriesImpl();
+ series.setLabel(motif.getName());
+ series.setColor(motif.getColor());
+ series.setValue(count);
+ data.addSeries(series);
+ data.setTotal(data.getTotal() + count);
}
- throw new UnsupportedOperationException("not yet implemented");
+ if (log.isTraceEnabled()) {
+ StringBuilder stringBuilder = new StringBuilder();
+ for (Map.Entry<String, PieChartData> stringPieChartDataEntry : results.entrySet()) {
+ stringBuilder.append(stringPieChartDataEntry.getKey())
+ .append(" -> ")
+ .append(stringPieChartDataEntry.getValue().toString())
+ .append("\n");
+ }
+ log.trace(stringBuilder.toString());
+ }
- // return results;
+ return results;
}
@Override
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-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-06-15 15:16:11 UTC (rev 1338)
@@ -129,6 +129,7 @@
fr.ifremer.wao.entity.TargetSpeciesDCF.SPF=Small pelagic
wao.business.boat.validation.immatriculation.wrongFormat=The boat registry number must be composed of 6 digits
wao.business.contact.validation.commentAdminNecessaryForDataReliability=You must precise in admin comment why data reliability is '%s'
+wao.business.contact.validation.contactStateMotifMissing=You must precise a motif for the refusal
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\nTide\: %s\nProfession\: %s\n\nAccidental capture\:\n%s\n\nBest regards,\n\nObsmer program\nhttp\://www.ifremer.fr/wao
@@ -206,6 +207,7 @@
wao.error.serviceReferential.getSectors=
wao.error.serviceReferential.getTerrestrialDistrict=
wao.error.serviceReferential.importContactStateMotifs=
+wao.error.serviceReferential.importContactStateMotives=
wao.error.serviceReferential.importDCFcodes=
wao.error.serviceReferential.importFishingZoneCsv=
wao.error.serviceReferential.importInitialContactStateMotifs=
@@ -280,6 +282,8 @@
wao.import.contact.failure.sampleRowCodeMissing=The code of the sample row line is missing
wao.import.contact.failure.terrestrialLocationMissing=The code of the terrestrial location is missing
wao.import.contact.failure.wrongBoat=There is no boat with plate number '%s'
+wao.import.contact.failure.wrongColor=The color '%s' is not a valid color. It must be composed of 6 characters without the hash (#), see http://en.wikipedia.org/wiki/Web_colors
+wao.import.contact.failure.wrongContactStateMotifCode=The code '%s' is not a valid code
wao.import.contact.failure.wrongSampleRowCode=The is no sample row with code '%s'
wao.import.contact.failure.wrongTerrestrialLocation=There is no location of type '%s' with code '%s'
wao.import.failure.wrongLocationType='%s' is not a valid location type, allowed values are %s
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-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-06-15 15:16:11 UTC (rev 1338)
@@ -1,179 +1,180 @@
ContactPieChartConstant.OTHER=Autres
-ContactPieChartConstant.REALIZED=Réalisés
-ContactPieChartConstant.REFUSED=Refusés
-ContactState.CONTACT_DEFINITELY_REFUSED=Refus définitif
+ContactPieChartConstant.REALIZED=R\u00e9alis\u00e9s
+ContactPieChartConstant.REFUSED=Refus\u00e9s
+ContactState.CONTACT_DEFINITELY_REFUSED=Refus d\u00e9finitif
ContactState.CONTACT_REFUSED=Refus
ContactState.CONTACT_START=Contact pris
-ContactState.OBSERVATION_CANCELLED=Annulée
-ContactState.OBSERVATION_DONE=Observation réalisée
-ContactState.OBSERVATION_EXPECTED=Observation programmée
-ContactState.OBSERVATION_NOT_DONE=Non observé
-DataReliability.CORRECTION_ASKED=Correction demandée
+ContactState.OBSERVATION_CANCELLED=Annul\u00e9e
+ContactState.OBSERVATION_DONE=Observation r\u00e9alis\u00e9e
+ContactState.OBSERVATION_EXPECTED=Observation programm\u00e9e
+ContactState.OBSERVATION_NOT_DONE=Non observ\u00e9
+DataReliability.CORRECTION_ASKED=Correction demand\u00e9e
DataReliability.DOUBTFUL=Douteuse
-DataReliability.NOT_PROVIDED=Non contrôlée
+DataReliability.NOT_PROVIDED=Non contr\u00f4l\u00e9e
DataReliability.NOT_RELIABLE=Non exploitable
DataReliability.RELIABLE=Exploitable
DataReliability.UNKNOWN=Inconnue
-GlobalIndicatorValue.BAD=Pénalité de niveau 1
+GlobalIndicatorValue.BAD=P\u00e9nalit\u00e9 de niveau 1
GlobalIndicatorValue.GOOD=Bonus de niveau 1
GlobalIndicatorValue.NEUTRAL=Conforme au cahier des charges
-GlobalIndicatorValue.VERY_BAD=Pénalité de niveau 2
+GlobalIndicatorValue.VERY_BAD=P\u00e9nalit\u00e9 de niveau 2
GlobalIndicatorValue.VERY_GOOD=Bonus de niveau 2
-LocationType.AUCTION=Criée
+LocationType.AUCTION=Cri\u00e9e
LocationType.DISTRICT=Quartier maritime
LocationType.PORT=Port
-LocationType.REGION=Région Ifremer
+LocationType.REGION=R\u00e9gion Ifremer
ObsProgram.OBSDEB=ObsDeb
ObsProgram.OBSMER=ObsMer
ObsProgram.OBSVENTE=ObsVente
ObservationType.FIELD_WORK_OBSERVATION=Observation de terrain
-ObservationType.FIELD_WORK_SURVEY=Enquête de terrain
-ObservationType.PHONE_CALL=Enquête téléphonique
-SamplingStrategy.SIMULTANEOUS_ALL_SPECIES=Simultané \: Toutes espèces commerciales
-SamplingStrategy.SIMULTANEOUS_G1_G2_SPECIES=Simultané \: espèces G1+G2
-SamplingStrategy.SIMULTANEOUS_G1_SPECIES=Simultané \: espèces G1
-SamplingStrategy.SPECIFIC_STOCK=Stock spécifique
-SynthesisId.DISTINCT_BOATS_COUNTS=Nombres de navires distincts observés
-SynthesisId.GRAPH_BOARDING=Taux d'embarquement sur un même navire conforme aux exigences
-SynthesisId.GRAPH_SAMPLING=Taux de réalisation du plan d'échantillonage
-SynthesisId.IND_ALLEGRO_REACTIVITY=Délais de transmission des données
-SynthesisId.IND_COMPLIANCE_BOARDING=Respect du nombre d'observateurs embarqués
-SynthesisId.IND_CONTACT_STATE=États des contacts
-SynthesisId.IND_DATA_RELIABILITY=Qualité de la donnée
-SynthesisId.OBSERVATION_HOUR=Heures d'observation dans la journée
+ObservationType.FIELD_WORK_SURVEY=Enqu\u00eate de terrain
+ObservationType.PHONE_CALL=Enqu\u00eate t\u00e9l\u00e9phonique
+SamplingStrategy.SIMULTANEOUS_ALL_SPECIES=Simultan\u00e9 \: Toutes esp\u00e8ces commerciales
+SamplingStrategy.SIMULTANEOUS_G1_G2_SPECIES=Simultan\u00e9 \: esp\u00e8ces G1+G2
+SamplingStrategy.SIMULTANEOUS_G1_SPECIES=Simultan\u00e9 \: esp\u00e8ces G1
+SamplingStrategy.SPECIFIC_STOCK=Stock sp\u00e9cifique
+SynthesisId.DISTINCT_BOATS_COUNTS=Nombres de navires distincts observ\u00e9s
+SynthesisId.GRAPH_BOARDING=Taux d'embarquement sur un m\u00eame navire conforme aux exigences
+SynthesisId.GRAPH_SAMPLING=Taux de r\u00e9alisation du plan d'\u00e9chantillonage
+SynthesisId.IND_ALLEGRO_REACTIVITY=D\u00e9lais de transmission des donn\u00e9es
+SynthesisId.IND_COMPLIANCE_BOARDING=Respect du nombre d'observateurs embarqu\u00e9s
+SynthesisId.IND_CONTACT_STATE=\u00c9tats des contacts
+SynthesisId.IND_DATA_RELIABILITY=Qualit\u00e9 de la donn\u00e9e
+SynthesisId.OBSERVATION_HOUR=Heures d'observation dans la journ\u00e9e
UserRole.ADMIN=Administrateur
UserRole.COORDINATOR=Coordinateur
-UserRole.GUEST=Invité
+UserRole.GUEST=Invit\u00e9
UserRole.OBSERVER=Observateur
UserRole.PROFESSIONAL=Professionnel
csv.import.error.missingMandatoryHeaders=Les champs obligatoires %s sont manquants
-csv.import.error.unableToParseValue=Erreur lors de l'interprétation de la valeur '%s' (colonne '%s', ligne %s)
-csv.import.error.unableToReadField=Impossible de lire la colonne '%s' à la ligne %s
+csv.import.error.unableToParseValue=Erreur lors de l'interpr\u00e9tation de la valeur '%s' (colonne '%s', ligne %s)
+csv.import.error.unableToReadField=Impossible de lire la colonne '%s' \u00e0 la ligne %s
csv.import.error.unableToReadLine=Impossible de lire la ligne %s
-csv.import.error.unableToSetValue=Impossible d'enregistrer la valeur '%s' (entité '%s', ligne %s, column '%s')
+csv.import.error.unableToSetValue=Impossible d'enregistrer la valeur '%s' (entit\u00e9 '%s', ligne %s, column '%s')
csv.import.error.unrecognizedHeaders=Les champs %s ne sont pas reconnus. Les champs possibles sont %s.
csv.import.logComment=Modification depuis import
-fr.ifremer.wao.entity.FishingGearDCF.=Non spécifié
-fr.ifremer.wao.entity.FishingGearDCF.DRB=Dragues remorquées par bateau
-fr.ifremer.wao.entity.FishingGearDCF.DRH=Dragues à main
-fr.ifremer.wao.entity.FishingGearDCF.FAR=Pièges aériens
-fr.ifremer.wao.entity.FishingGearDCF.FCN=Éperviers
-fr.ifremer.wao.entity.FishingGearDCF.FG=Autres engins retombants (non-spécifiés)
-fr.ifremer.wao.entity.FishingGearDCF.FIX=Pièges (non-spécifiés)
-fr.ifremer.wao.entity.FishingGearDCF.FPN=Filets-pièges fixes non couverts
+fr.ifremer.wao.entity.FishingGearDCF.=Non sp\u00e9cifi\u00e9
+fr.ifremer.wao.entity.FishingGearDCF.DRB=Dragues remorqu\u00e9es par bateau
+fr.ifremer.wao.entity.FishingGearDCF.DRH=Dragues \u00e0 main
+fr.ifremer.wao.entity.FishingGearDCF.FAR=Pi\u00e8ges a\u00e9riens
+fr.ifremer.wao.entity.FishingGearDCF.FCN=\u00c9perviers
+fr.ifremer.wao.entity.FishingGearDCF.FG=Autres engins retombants (non-sp\u00e9cifi\u00e9s)
+fr.ifremer.wao.entity.FishingGearDCF.FIX=Pi\u00e8ges (non-sp\u00e9cifi\u00e9s)
+fr.ifremer.wao.entity.FishingGearDCF.FPN=Filets-pi\u00e8ges fixes non couverts
fr.ifremer.wao.entity.FishingGearDCF.FPO=Nasses (casiers)
-fr.ifremer.wao.entity.FishingGearDCF.FSN=Filets à l'étalage (diables)
+fr.ifremer.wao.entity.FishingGearDCF.FSN=Filets \u00e0 l'\u00e9talage (diables)
fr.ifremer.wao.entity.FishingGearDCF.FWR=Barrages, parcs, bordigues, etc.
fr.ifremer.wao.entity.FishingGearDCF.FYK=Verveux
-fr.ifremer.wao.entity.FishingGearDCF.GEN=Filets maillants et filets emmélants (non spécifiés)
-fr.ifremer.wao.entity.FishingGearDCF.GES=Tamis à civelles
-fr.ifremer.wao.entity.FishingGearDCF.GN=Filets maillants (non spécifiés)
+fr.ifremer.wao.entity.FishingGearDCF.GEN=Filets maillants et filets emm\u00e9lants (non sp\u00e9cifi\u00e9s)
+fr.ifremer.wao.entity.FishingGearDCF.GES=Tamis \u00e0 civelles
+fr.ifremer.wao.entity.FishingGearDCF.GN=Filets maillants (non sp\u00e9cifi\u00e9s)
fr.ifremer.wao.entity.FishingGearDCF.GNC=Filets maillants encerclants
-fr.ifremer.wao.entity.FishingGearDCF.GND=Filets maillants dérivants (filets dérivants)
+fr.ifremer.wao.entity.FishingGearDCF.GND=Filets maillants d\u00e9rivants (filets d\u00e9rivants)
fr.ifremer.wao.entity.FishingGearDCF.GNF=Filets maillants fixes (sur perches)
-fr.ifremer.wao.entity.FishingGearDCF.GNS=Filets maillants calés (ancrés)
-fr.ifremer.wao.entity.FishingGearDCF.GT=Trémailleurs
-fr.ifremer.wao.entity.FishingGearDCF.GTN=Trémails et filets maillants combinés
-fr.ifremer.wao.entity.FishingGearDCF.GTR=Trémails
+fr.ifremer.wao.entity.FishingGearDCF.GNS=Filets maillants cal\u00e9s (ancr\u00e9s)
+fr.ifremer.wao.entity.FishingGearDCF.GT=Tr\u00e9mailleurs
+fr.ifremer.wao.entity.FishingGearDCF.GTN=Tr\u00e9mails et filets maillants combin\u00e9s
+fr.ifremer.wao.entity.FishingGearDCF.GTR=Tr\u00e9mails
fr.ifremer.wao.entity.FishingGearDCF.HAR=Harpons
-fr.ifremer.wao.entity.FishingGearDCF.HMD=Dragues mécanisées
+fr.ifremer.wao.entity.FishingGearDCF.HMD=Dragues m\u00e9canis\u00e9es
fr.ifremer.wao.entity.FishingGearDCF.HMP=Pompes
-fr.ifremer.wao.entity.FishingGearDCF.HMX=Engins de récolte (non spécifiés)
+fr.ifremer.wao.entity.FishingGearDCF.HMX=Engins de r\u00e9colte (non sp\u00e9cifi\u00e9s)
fr.ifremer.wao.entity.FishingGearDCF.LA=Filets tournants sans coulisse (filet lamparo)
-fr.ifremer.wao.entity.FishingGearDCF.LHM=Lignes à main et lignes avec cannes
-fr.ifremer.wao.entity.FishingGearDCF.LHP=Lignes à main et lignes à cannes
-fr.ifremer.wao.entity.FishingGearDCF.LL=Palangres (non spécifiées)
-fr.ifremer.wao.entity.FishingGearDCF.LLD=Palangres dérivantes
-fr.ifremer.wao.entity.FishingGearDCF.LLS=Palangres calées ou semi-flottantes
-fr.ifremer.wao.entity.FishingGearDCF.LN=Filets soulevés (non spécifiés)
-fr.ifremer.wao.entity.FishingGearDCF.LNB=Filets soulevés manœuvrées du bateau
-fr.ifremer.wao.entity.FishingGearDCF.LNP=Filets soulevés portatifs
-fr.ifremer.wao.entity.FishingGearDCF.LNS=Filets soulevés fixes manœuvrées du rivage
-fr.ifremer.wao.entity.FishingGearDCF.LTL=lignes de traîne
-fr.ifremer.wao.entity.FishingGearDCF.LX=Hameçons et lignes (non spécifiés)
+fr.ifremer.wao.entity.FishingGearDCF.LHM=Lignes \u00e0 main et lignes avec cannes
+fr.ifremer.wao.entity.FishingGearDCF.LHP=Lignes \u00e0 main et lignes \u00e0 cannes
+fr.ifremer.wao.entity.FishingGearDCF.LL=Palangres (non sp\u00e9cifi\u00e9es)
+fr.ifremer.wao.entity.FishingGearDCF.LLD=Palangres d\u00e9rivantes
+fr.ifremer.wao.entity.FishingGearDCF.LLS=Palangres cal\u00e9es ou semi-flottantes
+fr.ifremer.wao.entity.FishingGearDCF.LN=Filets soulev\u00e9s (non sp\u00e9cifi\u00e9s)
+fr.ifremer.wao.entity.FishingGearDCF.LNB=Filets soulev\u00e9s man\u0153uvr\u00e9es du bateau
+fr.ifremer.wao.entity.FishingGearDCF.LNP=Filets soulev\u00e9s portatifs
+fr.ifremer.wao.entity.FishingGearDCF.LNS=Filets soulev\u00e9s fixes man\u0153uvr\u00e9es du rivage
+fr.ifremer.wao.entity.FishingGearDCF.LTL=lignes de tra\u00eene
+fr.ifremer.wao.entity.FishingGearDCF.LX=Hame\u00e7ons et lignes (non sp\u00e9cifi\u00e9s)
fr.ifremer.wao.entity.FishingGearDCF.MIS=Divers
-fr.ifremer.wao.entity.FishingGearDCF.NK=Engins inconnus ou non spécifiés
-fr.ifremer.wao.entity.FishingGearDCF.OT=Chaluts à panneaux (non spécifié)
-fr.ifremer.wao.entity.FishingGearDCF.OTB=Chalut de fond à panneaux
-fr.ifremer.wao.entity.FishingGearDCF.OTM=Chaluts pélagiques à panneaux
-fr.ifremer.wao.entity.FishingGearDCF.OTT=Chaluts jumeaux à panneaux
+fr.ifremer.wao.entity.FishingGearDCF.NK=Engins inconnus ou non sp\u00e9cifi\u00e9s
+fr.ifremer.wao.entity.FishingGearDCF.OT=Chaluts \u00e0 panneaux (non sp\u00e9cifi\u00e9)
+fr.ifremer.wao.entity.FishingGearDCF.OTB=Chalut de fond \u00e0 panneaux
+fr.ifremer.wao.entity.FishingGearDCF.OTM=Chaluts p\u00e9lagiques \u00e0 panneaux
+fr.ifremer.wao.entity.FishingGearDCF.OTT=Chaluts jumeaux \u00e0 panneaux
fr.ifremer.wao.entity.FishingGearDCF.PS=Filets tournants avec coulisse (sennes coulissantes)
-fr.ifremer.wao.entity.FishingGearDCF.PS1=Filets tournants, sennes coulissantes manœuvrées par un bateau
-fr.ifremer.wao.entity.FishingGearDCF.PS2=Filets tournants, sennes coulissantes manœuvrées par deux bateaux
-fr.ifremer.wao.entity.FishingGearDCF.PT=Chalut-bœufs (non spécifié)
-fr.ifremer.wao.entity.FishingGearDCF.PTB=Chalut-bœufs de fond
-fr.ifremer.wao.entity.FishingGearDCF.PTM=Chalut-bœufs pélagiques
-fr.ifremer.wao.entity.FishingGearDCF.RG=Engins de pêche révréative
+fr.ifremer.wao.entity.FishingGearDCF.PS1=Filets tournants, sennes coulissantes man\u0153uvr\u00e9es par un bateau
+fr.ifremer.wao.entity.FishingGearDCF.PS2=Filets tournants, sennes coulissantes man\u0153uvr\u00e9es par deux bateaux
+fr.ifremer.wao.entity.FishingGearDCF.PT=Chalut-b\u0153ufs (non sp\u00e9cifi\u00e9)
+fr.ifremer.wao.entity.FishingGearDCF.PTB=Chalut-b\u0153ufs de fond
+fr.ifremer.wao.entity.FishingGearDCF.PTM=Chalut-b\u0153ufs p\u00e9lagiques
+fr.ifremer.wao.entity.FishingGearDCF.RG=Engins de p\u00eache r\u00e9vr\u00e9ative
fr.ifremer.wao.entity.FishingGearDCF.SB=Sennes de plages
fr.ifremer.wao.entity.FishingGearDCF.SDN=Sennes danoises
-fr.ifremer.wao.entity.FishingGearDCF.SPR=Sennes manœuvrées par deux bateaux
-fr.ifremer.wao.entity.FishingGearDCF.SSC=Sennes écossaises
-fr.ifremer.wao.entity.FishingGearDCF.SV=Sennes halées à bord
-fr.ifremer.wao.entity.FishingGearDCF.SW=Sennes (non spécifiées)
-fr.ifremer.wao.entity.FishingGearDCF.TB=Chalut de fond (non spécifié)
-fr.ifremer.wao.entity.FishingGearDCF.TBB=Chaluts à perche
-fr.ifremer.wao.entity.FishingGearDCF.TBN=Chalut à langoustines
-fr.ifremer.wao.entity.FishingGearDCF.TBS=Chalut à crevettes
-fr.ifremer.wao.entity.FishingGearDCF.TM=Chalut pélagique (non spécifié)
-fr.ifremer.wao.entity.FishingGearDCF.TMS=Chalut à crevettes
-fr.ifremer.wao.entity.FishingGearDCF.TX=Autre chalut (non spécifié)
-fr.ifremer.wao.entity.TargetSpeciesDCF.=Non spécifié
+fr.ifremer.wao.entity.FishingGearDCF.SPR=Sennes man\u0153uvr\u00e9es par deux bateaux
+fr.ifremer.wao.entity.FishingGearDCF.SSC=Sennes \u00e9cossaises
+fr.ifremer.wao.entity.FishingGearDCF.SV=Sennes hal\u00e9es \u00e0 bord
+fr.ifremer.wao.entity.FishingGearDCF.SW=Sennes (non sp\u00e9cifi\u00e9es)
+fr.ifremer.wao.entity.FishingGearDCF.TB=Chalut de fond (non sp\u00e9cifi\u00e9)
+fr.ifremer.wao.entity.FishingGearDCF.TBB=Chaluts \u00e0 perche
+fr.ifremer.wao.entity.FishingGearDCF.TBN=Chalut \u00e0 langoustines
+fr.ifremer.wao.entity.FishingGearDCF.TBS=Chalut \u00e0 crevettes
+fr.ifremer.wao.entity.FishingGearDCF.TM=Chalut p\u00e9lagique (non sp\u00e9cifi\u00e9)
+fr.ifremer.wao.entity.FishingGearDCF.TMS=Chalut \u00e0 crevettes
+fr.ifremer.wao.entity.FishingGearDCF.TX=Autre chalut (non sp\u00e9cifi\u00e9)
+fr.ifremer.wao.entity.TargetSpeciesDCF.=Non sp\u00e9cifi\u00e9
fr.ifremer.wao.entity.TargetSpeciesDCF.ALG=Algues
-fr.ifremer.wao.entity.TargetSpeciesDCF.CAT=Espèces catadromes
-fr.ifremer.wao.entity.TargetSpeciesDCF.CRU=Crustacés
+fr.ifremer.wao.entity.TargetSpeciesDCF.CAT=Esp\u00e8ces catadromes
+fr.ifremer.wao.entity.TargetSpeciesDCF.CRU=Crustac\u00e9s
fr.ifremer.wao.entity.TargetSpeciesDCF.CSJ=Coquilles Saint-Jacques
-fr.ifremer.wao.entity.TargetSpeciesDCF.DEF=Espèces démersales
-fr.ifremer.wao.entity.TargetSpeciesDCF.DWS=Espèces d'eaux profondes
+fr.ifremer.wao.entity.TargetSpeciesDCF.DEF=Esp\u00e8ces d\u00e9mersales
+fr.ifremer.wao.entity.TargetSpeciesDCF.DWS=Esp\u00e8ces d'eaux profondes
fr.ifremer.wao.entity.TargetSpeciesDCF.FIN=Poisson plats
-fr.ifremer.wao.entity.TargetSpeciesDCF.LPF=Grands pélagiques
+fr.ifremer.wao.entity.TargetSpeciesDCF.LPF=Grands p\u00e9lagiques
fr.ifremer.wao.entity.TargetSpeciesDCF.MOL=Mollusques
-fr.ifremer.wao.entity.TargetSpeciesDCF.SPF=Petits pélagiques
-wao.business.boat.validation.immatriculation.wrongFormat=L'immatriculation du navire doit être formée de 6 chiffres
-wao.business.contact.validation.commentAdminNecessaryForDataReliability=Il faut préciser dans le commentaire administrateur pourquoi la donnée est '%s'
-wao.business.contact.validation.dataReliabilityMissingForValidation=Il faut préciser la qualité de la donnée avant de valider
+fr.ifremer.wao.entity.TargetSpeciesDCF.SPF=Petits p\u00e9lagiques
+wao.business.boat.validation.immatriculation.wrongFormat=L'immatriculation du navire doit \u00eatre form\u00e9e de 6 chiffres
+wao.business.contact.validation.commentAdminNecessaryForDataReliability=Il faut pr\u00e9ciser dans le commentaire administrateur pourquoi la donn\u00e9e est '%s'
+wao.business.contact.validation.contactStateMotifMissing=Il faut pr\u00e9ciser un motif de refus
+wao.business.contact.validation.dataReliabilityMissingForValidation=Il faut pr\u00e9ciser la qualit\u00e9 de la donn\u00e9e avant de valider
wao.business.entity.UserProfile.description=%s sur %s%s
-wao.business.mammalsCapture.mail.message=Bonjour,\n\nUn observateur du programme Obsmer a renseigné dans WAO l'information suivante \:\n\nMarée \: %s\nMétier \: %s\n\nCapture accidentelle \:\n%s\n\nCordialement,\n\nLe programme Obsmer\nhttp\://www.ifremer.fr/wao
+wao.business.mammalsCapture.mail.message=Bonjour,\n\nUn observateur du programme Obsmer a renseign\u00e9 dans WAO l'information suivante \:\n\nMar\u00e9e \: %s\nM\u00e9tier \: %s\n\nCapture accidentelle \:\n%s\n\nCordialement,\n\nLe programme Obsmer\nhttp\://www.ifremer.fr/wao
wao.business.mammalsCapture.mail.subject=Obsmer WAO\: Information sur capture accidentelle
wao.business.other=Autre
wao.business.readOnly=(lecture seule)
-wao.error.boat.canCreateContact=Impossible de créer un nouveau contact pour la société %1$s et le navire %2$s (%3$d)
-wao.error.boat.getNbBoarding=Impossible de récupérer le nombre d'embarquements réels depuis le %1$s
-wao.error.boatInfos.getNbBoardingForCompany=Impossible de récupérer le nombre d'embarquements réels depuis le %1$s pour la société %2$s
+wao.error.boat.canCreateContact=Impossible de cr\u00e9er un nouveau contact pour la soci\u00e9t\u00e9 %1$s et le navire %2$s (%3$d)
+wao.error.boat.getNbBoarding=Impossible de r\u00e9cup\u00e9rer le nombre d'embarquements r\u00e9els depuis le %1$s
+wao.error.boatInfos.getNbBoardingForCompany=Impossible de r\u00e9cup\u00e9rer le nombre d'embarquements r\u00e9els depuis le %1$s pour la soci\u00e9t\u00e9 %2$s
wao.error.context.close=Une erreur est survenue pendant la fermeture du contexte principale de ToPIA
wao.error.context.encodeString=
-wao.error.context.getRootContext=Une erreur est survenue pour la récupération du contexte principale de ToPIA
+wao.error.context.getRootContext=Une erreur est survenue pour la r\u00e9cup\u00e9ration du contexte principale de ToPIA
wao.error.context.parse=Une erreur est survenue pendant le chargement de la configuration du fichier %1$s
wao.error.context.rollback=Une erreur est survenue pendant l'annulation de la transaction courante
-wao.error.context.start=Une erreur est survenue pendant le démarrage de l'application
+wao.error.context.start=Une erreur est survenue pendant le d\u00e9marrage de l'application
wao.error.context.stop=Une erreur est survenue pendant la fermeture de l'application
-wao.error.sampleMonth.addRealTideTime=Impossible d'enregistrer le nombre de marées réels pour le mois de %1$s [ligne \: %2$s]
-wao.error.sampleRow.saveSampleRowLog=Impossible d'enregistrer le commentaire écrit par %1$s
-wao.error.serviceBoat.createUpdateCompanyBoatInfos=Impossible de créer ou modifier les informations liés au navire %1$d pour la société %2$s
-wao.error.serviceBoat.exportBoatCsv=Impossible d'exporter les navires sélectionnés
+wao.error.sampleMonth.addRealTideTime=Impossible d'enregistrer le nombre de mar\u00e9es r\u00e9els pour le mois de %1$s [ligne \: %2$s]
+wao.error.sampleRow.saveSampleRowLog=Impossible d'enregistrer le commentaire \u00e9crit par %1$s
+wao.error.serviceBoat.createUpdateCompanyBoatInfos=Impossible de cr\u00e9er ou modifier les informations li\u00e9s au navire %1$d pour la soci\u00e9t\u00e9 %2$s
+wao.error.serviceBoat.exportBoatCsv=Impossible d'exporter les navires s\u00e9lectionn\u00e9s
wao.error.serviceBoat.getActivityCalendarLogAccessFile=
wao.error.serviceBoat.getActivityCalendarLogFile=
wao.error.serviceBoat.getAllActiveBoats=
wao.error.serviceBoat.getBoat=Impossible de charger le navire
-wao.error.serviceBoat.getBoatNamesStartWith=Impossible de récupérer les navires avec un nom commencant par '%1$s'
+wao.error.serviceBoat.getBoatNamesStartWith=Impossible de r\u00e9cup\u00e9rer les navires avec un nom commencant par '%1$s'
wao.error.serviceBoat.getBoatsByFilter=Impossible de filtrer la liste des navires
-wao.error.serviceBoat.getBoatsByImmatriculations=La chaîne d'immatriculations est incorrect \! Chaque immatriculation doit posséder 6 chiffres
-wao.error.serviceBoat.getCompanyBoatInfos=Impossible de récupérer les informations du navire immatriculé %1$d pour la société %2$s
-wao.error.serviceBoat.getLastActivityCalendar=Impossible de charger le dernier calendrier d'activité du navire %1$s (%2$d)
+wao.error.serviceBoat.getBoatsByImmatriculations=La cha\u00eene d'immatriculations est incorrect \! Chaque immatriculation doit poss\u00e9der 6 chiffres
+wao.error.serviceBoat.getCompanyBoatInfos=Impossible de r\u00e9cup\u00e9rer les informations du navire immatricul\u00e9 %1$d pour la soci\u00e9t\u00e9 %2$s
+wao.error.serviceBoat.getLastActivityCalendar=Impossible de charger le dernier calendrier d'activit\u00e9 du navire %1$s (%2$d)
wao.error.serviceBoat.getNbBoatsByFilter=Impossible de filtrer la liste des navires
wao.error.serviceBoat.getPossibleValuesForFilter=
wao.error.serviceBoat.getShipOwnerNamesContains=
-wao.error.serviceBoat.importActivityCalendarCsv=Problème d'import du fichier CSV des calendriers d'activité
-wao.error.serviceBoat.importBoatCsv=Problème d'import du fichier CSV. Vérifiez l'en-tête du fichier.
+wao.error.serviceBoat.importActivityCalendarCsv=Probl\u00e8me d'import du fichier CSV des calendriers d'activit\u00e9
+wao.error.serviceBoat.importBoatCsv=Probl\u00e8me d'import du fichier CSV. V\u00e9rifiez l'en-t\u00eate du fichier.
wao.error.serviceBoat.newBoatFilter=
wao.error.serviceCartography.exportContactMotifsStatisticsKml=
wao.error.serviceCartography.exportContactStatisticsKml=
-wao.error.serviceCartography.importBoatDistrictKml=Impossible d'importer les coordonnées des quartiers des navires. Vérifiez la documentation pour le bon format du fichier Kml.
+wao.error.serviceCartography.importBoatDistrictKml=Impossible d'importer les coordonn\u00e9es des quartiers des navires. V\u00e9rifiez la documentation pour le bon format du fichier Kml.
wao.error.serviceChart.getContactPieChartData=
wao.error.serviceChart.getContactPieChartUrl=
wao.error.serviceContact.exportContactCsv=Impossible d'exporter les contacts
wao.error.serviceContact.getContact=Impossible de trouver le contact
wao.error.serviceContact.getContacts=Impossible de filtrer la liste des contacts
-wao.error.serviceContact.getNbContacts=Impossible de compter le nombre de contacts filtrés
+wao.error.serviceContact.getNbContacts=Impossible de compter le nombre de contacts filtr\u00e9s
wao.error.serviceContact.getNewContact=Impossible d'instancier un nouveau contact
wao.error.serviceContact.getPossibleObsDebCodes=
wao.error.serviceContact.getPossibleTerrestrialLocations=
@@ -189,7 +190,7 @@
wao.error.serviceContact.updateSampleMonthTidesValue=
wao.error.serviceContact.validateContact=
wao.error.serviceNews.getNewNews=
-wao.error.serviceNews.getNews=Impossible de récupérer l'ensemble des news
+wao.error.serviceNews.getNews=Impossible de r\u00e9cup\u00e9rer l'ensemble des news
wao.error.serviceNews.saveNews=Impossible d'enregistrer la news ayant pour titre '%1$s'
wao.error.serviceReferential.getAllContactStateMotifs=
wao.error.serviceReferential.getAllObsDebCodes=
@@ -201,13 +202,14 @@
wao.error.serviceReferential.getAllTerrestrialLocations=
wao.error.serviceReferential.getCodesDCF5Contains=
wao.error.serviceReferential.getFacades=Impossible de charger la liste des facades
-wao.error.serviceReferential.getFishingZones=Impossible de charger la liste des secteurs de pêche
-wao.error.serviceReferential.getProfessions=Impossible de charger la liste des métiers
-wao.error.serviceReferential.getSectors=Impossible de charger la liste des zones de pêche
+wao.error.serviceReferential.getFishingZones=Impossible de charger la liste des secteurs de p\u00eache
+wao.error.serviceReferential.getProfessions=Impossible de charger la liste des m\u00e9tiers
+wao.error.serviceReferential.getSectors=Impossible de charger la liste des zones de p\u00eache
wao.error.serviceReferential.getTerrestrialDistrict=
wao.error.serviceReferential.importContactStateMotifs=
-wao.error.serviceReferential.importDCFcodes=Impossible de créer le référentiel des codes DCF
-wao.error.serviceReferential.importFishingZoneCsv=Problème d'import du fichier CSV. Vérifiez l'en-tête du fichier \: [ PECHE_DIVISION,PECHE_ZONE,PECHE_FACADE ]. Voir documentation pour plus de détails.
+wao.error.serviceReferential.importContactStateMotives=
+wao.error.serviceReferential.importDCFcodes=Impossible de cr\u00e9er le r\u00e9f\u00e9rentiel des codes DCF
+wao.error.serviceReferential.importFishingZoneCsv=Probl\u00e8me d'import du fichier CSV. V\u00e9rifiez l'en-t\u00eate du fichier \: [ PECHE_DIVISION,PECHE_ZONE,PECHE_FACADE ]. Voir documentation pour plus de d\u00e9tails.
wao.error.serviceReferential.importInitialContactStateMotifs=
wao.error.serviceReferential.importObsDebCodes=
wao.error.serviceReferential.importTerrestrialDivisions=
@@ -216,74 +218,76 @@
wao.error.serviceReferential.updateAllContactStatesMotifs=
wao.error.serviceSampling.countSampleRows=
wao.error.serviceSampling.createSampleRowLog=
-wao.error.serviceSampling.createUpdateSampleRow=Impossible de sauvegarder la ligne d'échantillon
-wao.error.serviceSampling.deleteSampleRow=Impossible de supprimer la ligne d'échantillon \: %1$s
-wao.error.serviceSampling.exportSamplingPlanCsv=Impossible d'exporter le plan d'échantillonnage sur la période du %1$s au %2$s
+wao.error.serviceSampling.createUpdateSampleRow=Impossible de sauvegarder la ligne d'\u00e9chantillon
+wao.error.serviceSampling.deleteSampleRow=Impossible de supprimer la ligne d'\u00e9chantillon \: %1$s
+wao.error.serviceSampling.exportSamplingPlanCsv=Impossible d'exporter le plan d'\u00e9chantillonnage sur la p\u00e9riode du %1$s au %2$s
wao.error.serviceSampling.exportSamplingPlanICalendar=
wao.error.serviceSampling.getDCFGears=
wao.error.serviceSampling.getDCFSpecies=
wao.error.serviceSampling.getNewProfession=
wao.error.serviceSampling.getNewSampleMonth=
wao.error.serviceSampling.getNewSampleRow=
-wao.error.serviceSampling.getNewSampleRowCode=Impossible de récupérer un nouveau code pour une ligne d'échantillonnage
+wao.error.serviceSampling.getNewSampleRowCode=Impossible de r\u00e9cup\u00e9rer un nouveau code pour une ligne d'\u00e9chantillonnage
wao.error.serviceSampling.getNewSampleRowLog=
wao.error.serviceSampling.getPossibleValuesForFilter=
wao.error.serviceSampling.getPrograms=Impossible de charger la liste des programmes
-wao.error.serviceSampling.getSampleRow=Impossible de charger la ligne d'échantillon ayant pour identifiant \: %1$s
-wao.error.serviceSampling.getSampleRowByCode=Impossible de charger la ligne d'échantillon ayant pour code %1$s
-wao.error.serviceSampling.getSampleRowsByFilter=Impossible de récupérer la liste des lignes du plan d'échantillonnage
+wao.error.serviceSampling.getSampleRow=Impossible de charger la ligne d'\u00e9chantillon ayant pour identifiant \: %1$s
+wao.error.serviceSampling.getSampleRowByCode=Impossible de charger la ligne d'\u00e9chantillon ayant pour code %1$s
+wao.error.serviceSampling.getSampleRowsByFilter=Impossible de r\u00e9cup\u00e9rer la liste des lignes du plan d'\u00e9chantillonnage
wao.error.serviceSampling.getSampleRowsForEligibility=
-wao.error.serviceSampling.getSampleRowsOrderedByFishingZone=Impossible de récupérer la liste des lignes du plan d'échantillonnage
+wao.error.serviceSampling.getSampleRowsOrderedByFishingZone=Impossible de r\u00e9cup\u00e9rer la liste des lignes du plan d'\u00e9chantillonnage
wao.error.serviceSampling.importSamplingPlanCsv=Erreur lors de l'import du plan
wao.error.serviceSampling.newOperation=
wao.error.serviceSampling.newSampleRow=
wao.error.serviceSampling.newSamplingFilter=
wao.error.serviceSampling.validateSampleRow=
wao.error.serviceSynthesis.getAllIndicatorLogs=
-wao.error.serviceSynthesis.getBoardingBoats=Impossible de récupérer les données du graphique concernant les embarquements sur les navires
+wao.error.serviceSynthesis.getBoardingBoats=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es du graphique concernant les embarquements sur les navires
wao.error.serviceSynthesis.getBoatsCount=
wao.error.serviceSynthesis.getComplianceBoardingIndicator=
-wao.error.serviceSynthesis.getContactDataInputDateReactivity=Impossible de récupérer l'indicateur de réactivité sur les dates de saisies dans Allegro
+wao.error.serviceSynthesis.getContactDataInputDateReactivity=Impossible de r\u00e9cup\u00e9rer l'indicateur de r\u00e9activit\u00e9 sur les dates de saisies dans Allegro
wao.error.serviceSynthesis.getContactPieChartData=
wao.error.serviceSynthesis.getContactPieChartDataByBoatDistrict=
wao.error.serviceSynthesis.getContactStateMotifsPieChartDataByBoatDistrict=
-wao.error.serviceSynthesis.getContactStateStatistics=Impossible de récupérer les statistiques sur les états des contacts
+wao.error.serviceSynthesis.getContactStateStatistics=Impossible de r\u00e9cup\u00e9rer les statistiques sur les \u00e9tats des contacts
wao.error.serviceSynthesis.getDataReliability=
-wao.error.serviceSynthesis.getDataSampling=Impossible de récupérer les données pour le graphique dynamique des efforts de marées
+wao.error.serviceSynthesis.getDataSampling=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es pour le graphique dynamique des efforts de mar\u00e9es
wao.error.serviceSynthesis.getDistinctBoatsCounts=
-wao.error.serviceSynthesis.getGlobalSynthesisParameters=Impossible de récupérer les données concernant les indicateurs pour la synthèse globale
+wao.error.serviceSynthesis.getGlobalSynthesisParameters=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es concernant les indicateurs pour la synth\u00e8se globale
wao.error.serviceSynthesis.getGlobalSynthesisResult=
-wao.error.serviceSynthesis.getNonComplianceBoardingIndicator=Impossible de récupérer l'indicateur de non respect du nombre d'observateurs embarqués
+wao.error.serviceSynthesis.getNonComplianceBoardingIndicator=Impossible de r\u00e9cup\u00e9rer l'indicateur de non respect du nombre d'observateurs embarqu\u00e9s
wao.error.serviceSynthesis.getObservationHours=
-wao.error.serviceSynthesis.updateGlobalSynthesisParameters=Impossible de mettre à jour les paramètres de la synthèse globale
+wao.error.serviceSynthesis.updateGlobalSynthesisParameters=Impossible de mettre \u00e0 jour les param\u00e8tres de la synth\u00e8se globale
wao.error.serviceUser.addTokensToAllProfiles=
wao.error.serviceUser.connect=Une erreur est survenue lors de la demande de connexion
-wao.error.serviceUser.createDefaultAdmin=Impossible de créer l'administrateur par défaut
-wao.error.serviceUser.createUpdateCompany=Impossible de créer ou de mettre à jour la société
-wao.error.serviceUser.createUpdateUser=Impossible de créer ou de mettre à jour l'utilisateur
-wao.error.serviceUser.deleteCompany=Impossible de supprimer la société ou de vérifier les contraintes de suppression
+wao.error.serviceUser.createDefaultAdmin=Impossible de cr\u00e9er l'administrateur par d\u00e9faut
+wao.error.serviceUser.createUpdateCompany=Impossible de cr\u00e9er ou de mettre \u00e0 jour la soci\u00e9t\u00e9
+wao.error.serviceUser.createUpdateUser=Impossible de cr\u00e9er ou de mettre \u00e0 jour l'utilisateur
+wao.error.serviceUser.deleteCompany=Impossible de supprimer la soci\u00e9t\u00e9 ou de v\u00e9rifier les contraintes de suppression
wao.error.serviceUser.deleteUser=Impossible de supprimer l'utilisateur
wao.error.serviceUser.existLogin=
wao.error.serviceUser.forgetPassword=Impossible d'envoyer le mail d'oubli de mot de passe
-wao.error.serviceUser.getCompanies=Impossible de récupérer la liste des sociétés
+wao.error.serviceUser.getCompanies=Impossible de r\u00e9cup\u00e9rer la liste des soci\u00e9t\u00e9s
wao.error.serviceUser.getCompany=
wao.error.serviceUser.getConnectedUserByToken=
wao.error.serviceUser.getNewUser=Impossible d'instancier un nouvel utilisateur
-wao.error.serviceUser.getObservers=Impossible de récupérer la liste des observateurs
+wao.error.serviceUser.getObservers=Impossible de r\u00e9cup\u00e9rer la liste des observateurs
wao.error.serviceUser.getUserByToken=
wao.error.serviceUser.getUserRolesByLogin=
-wao.error.serviceUser.getUsersByCompany=Impossible de récupérer la liste des utilisateurs de la société %1$s
+wao.error.serviceUser.getUsersByCompany=Impossible de r\u00e9cup\u00e9rer la liste des utilisateurs de la soci\u00e9t\u00e9 %1$s
wao.export.ical.desc=avec %s
wao.export.ical.title=Observation ObsDeb
-wao.import.contact.failure.boatMissing=Il faut préciser l'immatriculation du navire associé au contact
-wao.import.contact.failure.locationTypeMissing=Le type du lieu doit être renseigné
-wao.import.contact.failure.sampleRowCodeMissing=Il manque le code de la ligne de plan associée
+wao.import.contact.failure.boatMissing=Il faut pr\u00e9ciser l'immatriculation du navire associ\u00e9 au contact
+wao.import.contact.failure.locationTypeMissing=Le type du lieu doit \u00eatre renseign\u00e9
+wao.import.contact.failure.sampleRowCodeMissing=Il manque le code de la ligne de plan associ\u00e9e
wao.import.contact.failure.terrestrialLocationMissing=Il manque le code du lieu
wao.import.contact.failure.wrongBoat=Il n'y a pas de navire avec l'immatriculation '%s'
+wao.import.contact.failure.wrongColor=Le code couleur '%s' n'est pas valide, il doit \u00eatre compos\u00e9 de six caract\u00e8res sans di\u00e8ze voir http://fr.wikipedia.org/wiki/Couleurs_du_Web
+wao.import.contact.failure.wrongContactStateMotifCode=Le code '%s' n'est pas un code de motif de refus valide
wao.import.contact.failure.wrongSampleRowCode=Il n'y a pas de ligne du plan avec le code '%s'
wao.import.contact.failure.wrongTerrestrialLocation=Il n'y a pas de lieu de type '%s' ayant pour code '%s'
wao.import.failure.wrongLocationType='%s' n'est pas un type de lieu valide, les valeurs admises sont %s
-wao.import.failure.wrongObsDebCode=Il n'y a pas de code métier ayant pour code '%s'
+wao.import.failure.wrongObsDebCode=Il n'y a pas de code m\u00e9tier ayant pour code '%s'
wao.import.failure.wrongUser=Il n'y a pas d'utilisateur ayant pour identifiant '%s'
-wao.validation.sampleRow.conflictOnObserver=L'observateur %s ne peut être associé à la ligne %s car il doit observer, le même jour, pour la ligne %s
-wao.validation.sampleRow.observerNotInCompany=L'observateur %s ne fait pas parti de la société %s
+wao.validation.sampleRow.conflictOnObserver=L'observateur %s ne peut \u00eatre associ\u00e9 \u00e0 la ligne %s car il doit observer, le m\u00eame jour, pour la ligne %s
+wao.validation.sampleRow.observerNotInCompany=L'observateur %s ne fait pas parti de la soci\u00e9t\u00e9 %s
Added: trunk/wao-business/src/main/resources/motifs.csv
===================================================================
--- trunk/wao-business/src/main/resources/motifs.csv (rev 0)
+++ trunk/wao-business/src/main/resources/motifs.csv 2011-06-15 15:16:11 UTC (rev 1338)
@@ -0,0 +1,5 @@
+MOTIF_CODE;MOTIF_NOM;MOTIF_COULEUR
+REFUS_ADMINISTRATIF;Administratif;00FFFF
+REFUS_PROGRAMME;Rejet du programme;FF0000
+REFUS_PROFESSION;Blocage de la profession;0000FF
+REFUS_AUTRE;Autre;DDDDDD
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialTest.java 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialTest.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -121,5 +121,4 @@
IOUtils.closeQuietly(input);
}
}
-
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -266,6 +266,16 @@
};
}
+ public ImportEngine getContactStateMotivesImportEngine() {
+ return new ImportEngine() {
+ @Override
+ public ImportResults execute(InputStream input) throws WaoException, WaoBusinessException {
+ ImportResults result = serviceReferential.importContactStateMotives(input);
+ return result;
+ }
+ };
+ }
+
public ImportEngine getObsDebCodesImportEngine() {
return new ImportEngine() {
@Override
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Cartography.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Cartography.java 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Cartography.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -76,7 +76,14 @@
private String url;
+ @Property
+ @Persist
+ private KmlLoader.StrategyValues mapType;
+
void setupRender() {
+ if (mapType == null) {
+ mapType = KmlLoader.StrategyValues.CONTACTS_STATES;
+ }
}
/**************************** FILTERS *************************************/
@@ -161,7 +168,7 @@
if (url == null) {
Link link = pageRender.createPageRenderLinkWithContext(
KmlLoader.class,
- KmlLoader.StrategyValues.CONTACTS_STATES
+ mapType
);
url = link.toURI();
}
@@ -171,5 +178,6 @@
public String getTitle() {
return "Contacts";
}
+
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -281,6 +281,11 @@
allowedStates.toArray(new ContactState[allowedStates.size()]));
}
+ public List<ContactStateMotif> getContactStateMotives() {
+ List<ContactStateMotif> motives = serviceReferential.getAllContactStateMotifs(null);
+ return motives;
+ }
+
/************************ ADMIN FIELDS ************************************/
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/KmlLoader.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/KmlLoader.java 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/KmlLoader.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -34,6 +34,8 @@
import java.io.IOException;
+import static org.nuiton.i18n.I18n.n_;
+
/**
* Page used directly as url for OpenLayers Kml reference. The activate method
* will return the StreamResponse with Kml data depends on {@link StrategyValues}
@@ -49,8 +51,14 @@
/** Strategy values for loading Kml */
public enum StrategyValues {
- CONTACTS_STATES,
- CONTACTS_STATES_MOTIFS;
+ CONTACTS_STATES(n_("StrategyValues.CONTACTS_STATES")),
+ CONTACTS_STATES_MOTIFS(n_("StrategyValues.CONTACTS_STATES_MOTIFS"));
+
+ protected String i18nKey;
+
+ StrategyValues(String i18nKey) {
+ this.i18nKey = i18nKey;
+ }
}
@SessionState(create = false)
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/ContactModelFactory.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/ContactModelFactory.java 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/ContactModelFactory.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -95,6 +95,7 @@
addNonSortableProperty("boatDistrictCode", getBoatDistrictCodePropertyConduit());
addNonSortableProperty("observationType", getObservationTypePropertyConduit());
addNonSortableProperty(Contact.PROPERTY_STATE, null);
+ addNonSortableProperty(Contact.PROPERTY_CONTACT_STATE_MOTIF, getContactStateMotifPropertyConduit());
addNonSortableProperty(Contact.PROPERTY_LANDING_DATE, getLandingDatePropertyConduit());
addNonSortableProperty(Contact.PROPERTY_OBSERVATION_BEGIN_DATE, null);
addNonSortableProperty(Contact.PROPERTY_OBSERVATION_END_DATE, null);
@@ -118,6 +119,7 @@
if (obsProgram == ObsProgram.OBSMER) {
model.exclude(Contact.PROPERTY_TERRESTRIAL_LOCATION);
} else {
+ model.exclude(Contact.PROPERTY_CONTACT_STATE_MOTIF);
model.exclude("mammals");
model.exclude("dataReliability");
}
@@ -402,4 +404,17 @@
};
}
+ public PropertyConduit getContactStateMotifPropertyConduit() {
+ return new ContactReaderPropertyConduit() {
+ @Override
+ public String getValue(Contact contact) {
+ String value = "";
+ if (contact.getContactStateMotif() != null) {
+ value = contact.getContactStateMotif().toString();
+ }
+ return value;
+ }
+ };
+ }
+
}
Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts_fr.properties
===================================================================
--- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts_fr.properties 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts_fr.properties 2011-06-15 15:16:11 UTC (rev 1338)
@@ -58,4 +58,5 @@
actualSamplingStrategy-label: Strat\u00e9gie d'\u00e9chantillonnage utilis\u00e9e
completeSampling-label: \u00c9chantillonnage complet
terrestrialLocation-label: Lieu
-mainObserver-label: Observateurs
\ No newline at end of file
+mainObserver-label: Observateurs
+contactStateMotif-label: Motif de refus
\ No newline at end of file
Modified: trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties
===================================================================
--- trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-06-15 15:16:11 UTC (rev 1338)
@@ -1,3 +1,5 @@
+StrategyValues.CONTACTS_STATES=Contact states
+StrategyValues.CONTACTS_STATES_MOTIFS=Refusal motives
SynthesisId.DISTINCT_BOATS_COUNTS=
SynthesisId.GRAPH_BOARDING=
SynthesisId.GRAPH_SAMPLING=
@@ -174,6 +176,7 @@
wao.ui.form.estimatedTides=View estimated effort
wao.ui.form.estimatedTides.description=The estimated observation effort is the number of contact that are validated by the company or not. Contacts refused by program are ignored.
wao.ui.form.generatePassword=Generate password
+wao.ui.form.mapType=Map
wao.ui.form.otherBoatInfos=Other boat infos
wao.ui.form.period=Period
wao.ui.form.period.from=from
@@ -193,6 +196,7 @@
wao.ui.import.activityCalendarUserAccessesLabel=of user accesses to the activity calendars
wao.ui.import.boatDistrictLabel=of the coordinates of boat districts
wao.ui.import.boatsLabel=of boats
+wao.ui.import.contactStateMotivesLabel=of the contact state motives
wao.ui.import.description=File %s %s \:
wao.ui.import.fishingZoneLabel=of fishing zones
wao.ui.import.fullDescription=Import %s (%s format with UTF-8 characters set)
Modified: trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties
===================================================================
--- trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-06-15 15:16:11 UTC (rev 1338)
@@ -1,3 +1,5 @@
+StrategyValues.CONTACTS_STATES=États des contacts
+StrategyValues.CONTACTS_STATES_MOTIFS=Motifs de refus
SynthesisId.DISTINCT_BOATS_COUNTS=
SynthesisId.GRAPH_BOARDING=
SynthesisId.GRAPH_SAMPLING=
@@ -173,6 +175,7 @@
wao.ui.form.estimatedTides=Voir l'effort d'observations estimé
wao.ui.form.estimatedTides.description=L'effort d'observations estimé équivaut au nombre de contacts validés ou non par la société. Les contacts refusés par le programme ne sont pas pris en compte.
wao.ui.form.generatePassword=Générer le mot de passe
+wao.ui.form.mapType=Carte
wao.ui.form.otherBoatInfos=Autres informations sur le navire
wao.ui.form.period=Période
wao.ui.form.period.from=du
@@ -192,6 +195,7 @@
wao.ui.import.activityCalendarUserAccessesLabel=des accès utilisateurs aux calendriers d'activité
wao.ui.import.boatDistrictLabel=des coordonnées des quartiers des navires
wao.ui.import.boatsLabel=des navires
+wao.ui.import.contactStateMotivesLabel=des motifs de refus
wao.ui.import.description=Fichier %s %s \:
wao.ui.import.fishingZoneLabel=des zones de pêches
wao.ui.import.fullDescription=Import %s (format %s avec encodage UTF-8)
Modified: trunk/wao-ui/src/main/webapp/Administration.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/Administration.tml 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-ui/src/main/webapp/Administration.tml 2011-06-15 15:16:11 UTC (rev 1338)
@@ -180,6 +180,10 @@
<t:importFieldSet t:label="${message:wao.ui.import.terrestrialLocationsLabel}" t:engine="terrestrialLocationsImportEngine" />
<t:if test="currentUser.obsDeb">
+ <t:importFieldSet t:label="${message:wao.ui.import.contactStateMotivesLabel}" t:engine="contactStateMotivesImportEngine" />
+ </t:if>
+
+ <t:if test="currentUser.obsDeb">
<t:importFieldSet t:label="${message:wao.ui.import.terrestrialDivisionsLabel}" t:engine="terrestrialDivisionsImportEngine" />
<t:importFieldSet t:label="${message:wao.ui.import.obsDebCodesLabel}" t:engine="obsDebCodesImportEngine" />
</t:if>
Modified: trunk/wao-ui/src/main/webapp/Cartography.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/Cartography.tml 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-ui/src/main/webapp/Cartography.tml 2011-06-15 15:16:11 UTC (rev 1338)
@@ -69,6 +69,12 @@
<input t:type="datefield" class="width70" t:id="periodEnd" t:value="filter.period.thruDate" t:validate="required" />
</p>
+ <t:if t:test="user.obsMer">
+ <p class="mtop5"><label for="mapType">${message:wao.ui.form.mapType}</label> : </p>
+ <p><input t:type="select" t:id="mapType" value="mapType"
+ t:zone="cartography-filters-sampling" t:validate="required" /></p>
+ </t:if>
+
<t:if t:test="user.admin">
<!-- COMPANY -->
<p class="mtop5"><label for="company">${message:wao.ui.entity.Company}</label> : </p>
Modified: trunk/wao-ui/src/main/webapp/ContactForm.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/ContactForm.tml 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-ui/src/main/webapp/ContactForm.tml 2011-06-15 15:16:11 UTC (rev 1338)
@@ -146,6 +146,14 @@
<label>${message:wao.ui.field.Contact.contactState}</label>
${getLabelForEnum(contact.contactState)}
</div>
+ <t:if test="connectedUser.obsMer">
+ <t:if test="contact.contactStateMotif">
+ <div>
+ <label>${message:wao.ui.field.Contact.contactStateMotif}</label>
+ ${contact.contactStateMotif.name}
+ </div>
+ </t:if>
+ </t:if>
<t:if test="connectedUser.obsDeb">
<div>
<label>${message:wao.ui.field.Contact.landingDate}</label>
@@ -261,6 +269,16 @@
t:validate="required"
t:model="contactStateSelectModel" />
</div>
+ <t:if test="connectedUser.obsMer">
+ <div>
+ <label for="contactStateMotif">${message:wao.ui.field.Contact.contactStateMotif}</label>
+ <t:topiaEntitySelector t:id="contactStateMotif"
+ t:clazzName="ContactStateMotif"
+ t:labelPropertyName="name"
+ t:values="contactStateMotives"
+ t:selectedValue="contact.contactStateMotif" />
+ </div>
+ </t:if>
<t:if test="connectedUser.obsDeb">
<div>
<label for="landingDate">${message:wao.ui.field.Contact.landingDate}</label>
1
0
[Suiviobsmer-commits] r1337 - in trunk/wao-business/src/test/java/fr/ifremer/wao: business/fixtures service
by bleny@users.labs.libre-entreprise.org 10 Jun '11
by bleny@users.labs.libre-entreprise.org 10 Jun '11
10 Jun '11
Author: bleny
Date: 2011-06-10 22:25:28 +0000 (Fri, 10 Jun 2011)
New Revision: 1337
Log:
end of test refactoring
Added:
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatTest.java
Removed:
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java
Modified:
trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/Fixtures.java
trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java
trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/AbstractServiceTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/Fixtures.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/Fixtures.java 2011-06-10 16:35:23 UTC (rev 1336)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/Fixtures.java 2011-06-10 22:25:28 UTC (rev 1337)
@@ -1,6 +1,7 @@
package fr.ifremer.wao.business.fixtures;
import fr.ifremer.wao.WaoBusinessException;
+import fr.ifremer.wao.WaoDAOHelper;
import fr.ifremer.wao.WaoServices;
import fr.ifremer.wao.bean.ConnectedUser;
import fr.ifremer.wao.bean.ObsProgram;
@@ -8,6 +9,8 @@
import fr.ifremer.wao.entity.Boat;
import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.entity.CompanyImpl;
+import fr.ifremer.wao.entity.SampleRow;
+import fr.ifremer.wao.entity.SampleRowDAO;
import fr.ifremer.wao.entity.UserProfile;
import fr.ifremer.wao.entity.UserProfileImpl;
import fr.ifremer.wao.entity.WaoUser;
@@ -31,6 +34,8 @@
protected Map<Integer, Boat> boats;
+ protected Map<String, SampleRow> sampleRows;
+
protected TopiaContext transaction;
public Fixtures(WaoServices manager) {
@@ -65,8 +70,6 @@
return transaction;
}
- protected abstract ObsProgram getObsProgram();
-
protected Company getCompany(String name) {
Company company = companies.get(name);
if (company == null) {
@@ -106,11 +109,10 @@
return waoUser;
}
- public ConnectedUser connectedUser(WaoUser user, UserRole userRole) {
+ protected ConnectedUser connectedUser(WaoUser user, UserRole userRole) {
// first, log in
ConnectedUser connectedUser;
try {
- System.out.println("trying to connect " + user.getLogin() + " " + user.getPassword());
connectedUser = manager.getServiceUser().connect(user.getLogin(), user.getPassword());
} catch (WaoBusinessException e) {
throw new RuntimeException(e);
@@ -151,11 +153,46 @@
return boat;
}
+ /** 174258 */
public Boat samourai() {
return getBoat(174258);
}
+ /** 273129 */
public Boat moise() {
return getBoat(273129);
}
+
+ protected abstract ObsProgram getObsProgram();
+
+ protected abstract void importSamplingPlan();
+
+ public void samplingPlan() {
+ if (sampleRows == null) {
+ sampleRows = new HashMap<String, SampleRow>();
+ importSamplingPlan();
+ }
+ }
+
+ protected SampleRow getSampleRow(String code) {
+ samplingPlan();
+ SampleRow sampleRow = sampleRows.get(code);
+ if (sampleRow == null) {
+ try {
+ TopiaContext transaction = manager.getContext().beginTransaction();
+ SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
+ sampleRow = rowDAO.findByCode(code);
+ sampleRow.getProfession();
+ sampleRow.sizeElligibleBoat();
+ sampleRow.sizeSampleMonth();
+ sampleRow.sizeSampleRowLog();
+ sampleRow.getCompany();
+ transaction.closeContext();
+ return sampleRow;
+ } catch (TopiaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ return sampleRow;
+ }
}
\ No newline at end of file
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java 2011-06-10 16:35:23 UTC (rev 1336)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java 2011-06-10 22:25:28 UTC (rev 1337)
@@ -41,4 +41,9 @@
public ConnectedUser joshAsObserver() {
return connectedUser(josh(), UserRole.OBSERVER);
}
+
+ @Override
+ protected void importSamplingPlan() {
+ throw new UnsupportedOperationException("not yet implemented");
+ }
}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java 2011-06-10 16:35:23 UTC (rev 1336)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java 2011-06-10 22:25:28 UTC (rev 1337)
@@ -8,9 +8,13 @@
import fr.ifremer.wao.bean.ObsProgram;
import fr.ifremer.wao.bean.UserRole;
import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.entity.BoatDAO;
import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.entity.Contact;
+import fr.ifremer.wao.entity.ContactDAO;
import fr.ifremer.wao.entity.ContactImpl;
+import fr.ifremer.wao.entity.ElligibleBoat;
+import fr.ifremer.wao.entity.ElligibleBoatDAO;
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.entity.SampleRowDAO;
import fr.ifremer.wao.entity.WaoUser;
@@ -21,6 +25,8 @@
import org.nuiton.util.DateUtil;
import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Date;
public class ObsMerFixtures extends Fixtures {
@@ -34,10 +40,13 @@
return ObsProgram.OBSMER;
}
+ /** a company name 'TARTANPION' */
public Company tartanpion() {
return getCompany("TARTANPION");
}
+
+ /** a company name 'BIS' */
public Company bis() {
return getCompany("BIS");
}
@@ -70,7 +79,8 @@
return connectedUser;
}
- public void samplingPlan() {
+ @Override
+ protected void importSamplingPlan() {
tartanpion();
bis();
fishingZones();
@@ -86,10 +96,6 @@
}
}
- public ConnectedUser connectedAdmin() {
- return jeanMichmucheAsAdmin();
- }
-
public ConnectedUser jeanMichmucheAsObserver() {
return connectedUser(jeanMichmuche(), UserRole.OBSERVER);
}
@@ -98,6 +104,9 @@
return connectedUser(billMurray(), UserRole.OBSERVER);
}
+ /**
+ * @return a boat '177474'
+ */
public Boat mayflowers() {
return getBoat(177474);
}
@@ -194,4 +203,95 @@
}
}
+ /** @return a boat '174592' */
+ public Boat fifitou() {
+ return getBoat(174592);
+ }
+
+ public SampleRow row2009_0003() {
+ return getSampleRow("2009_0003");
+ }
+
+ public SampleRow row2010_0004() {
+ return getSampleRow("2010_0004");
+ }
+
+ public SampleRow row2010_0001() {
+ return getSampleRow("2010_0001");
+ }
+
+ public SampleRow row2009_0006() {
+ return getSampleRow("2009_0006");
+ }
+
+ protected Boat springfield;
+
+ public Boat springfield() {
+ if (springfield == null) {
+ try {
+ BoatDAO dao = WaoDAOHelper.getBoatDAO(getTransaction());
+ springfield = dao.create();
+ springfield.setImmatriculation(123456);
+ springfield.setName("SPRINGFIELD");
+ springfield.setActive(true);
+ transaction.commitTransaction();
+ } catch (TopiaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ return springfield;
+ }
+
+ public WaoUser homerSimpson() {
+ return getWaoUser("homer", "doh", "Homer", "Simpson", tartanpion());
+ }
+
+ public ConnectedUser homerSimpsonAsObserver() {
+ return connectedUser(homerSimpson(), UserRole.OBSERVER);
+ }
+
+ protected SampleRow defaultSampleRow;
+
+ public SampleRow defaultSampleRow() {
+ if (defaultSampleRow == null) {
+ try {
+ SampleRowDAO dao = WaoDAOHelper.getSampleRowDAO(getTransaction());
+ defaultSampleRow = dao.create();
+ defaultSampleRow.setCode("2010_0001");
+ defaultSampleRow.setCompany(tartanpion());
+
+ ElligibleBoatDAO elligibleBoatDAO = WaoDAOHelper.getElligibleBoatDAO(getTransaction());
+ ElligibleBoat elligibleBoat = elligibleBoatDAO.create();
+ elligibleBoat.setSampleRow(defaultSampleRow());
+ elligibleBoat.setBoat(samourai());
+ elligibleBoat.setCompanyActive(true);
+ elligibleBoat.setGlobalActive(true);
+
+ defaultSampleRow.addElligibleBoat(elligibleBoat);
+ getTransaction().commitTransaction();
+ } catch (TopiaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ return defaultSampleRow;
+ }
+
+ protected Contact defaultContact;
+
+ public Contact defaultContact() {
+ if (defaultContact == null) {
+ try {
+ ContactDAO dao = WaoDAOHelper.getContactDAO(getTransaction());
+ defaultContact = dao.create();
+ defaultContact.setBoat(springfield());
+ defaultContact.setContactState(ContactState.CONTACT_START);
+ defaultContact.setMainObserver(homerSimpson());
+ defaultContact.setSampleRow(defaultSampleRow());
+ getTransaction().commitTransaction();
+ } catch (TopiaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ return defaultContact;
+ }
}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/AbstractServiceTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/AbstractServiceTest.java 2011-06-10 16:35:23 UTC (rev 1336)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/AbstractServiceTest.java 2011-06-10 22:25:28 UTC (rev 1337)
@@ -21,31 +21,12 @@
package fr.ifremer.wao.service;
-import fr.ifremer.wao.WaoDAOHelper;
import fr.ifremer.wao.WaoServices;
import fr.ifremer.wao.bean.ConnectedUser;
-import fr.ifremer.wao.bean.ContactState;
-import fr.ifremer.wao.bean.ObsProgram;
-import fr.ifremer.wao.bean.UserRole;
import fr.ifremer.wao.business.fixtures.ObsMerFixtures;
-import fr.ifremer.wao.entity.Boat;
-import fr.ifremer.wao.entity.BoatDAO;
-import fr.ifremer.wao.entity.Company;
-import fr.ifremer.wao.entity.CompanyDAO;
-import fr.ifremer.wao.entity.Contact;
-import fr.ifremer.wao.entity.ContactDAO;
-import fr.ifremer.wao.entity.ElligibleBoat;
-import fr.ifremer.wao.entity.ElligibleBoatDAO;
-import fr.ifremer.wao.entity.SampleRow;
-import fr.ifremer.wao.entity.SampleRowDAO;
-import fr.ifremer.wao.entity.WaoUser;
-import fr.ifremer.wao.entity.WaoUserDAO;
-import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Rule;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.TopiaException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -61,7 +42,7 @@
public abstract class AbstractServiceTest {
private static final Logger log =
- LoggerFactory.getLogger(AbstractServiceTest.class);
+ LoggerFactory.getLogger(AbstractServiceTest.class);
protected WaoServices getWaoServices() {
// laziness ensure that manager is always available whatever the order
@@ -78,421 +59,22 @@
@Rule
public ObsMerFixtures obsMerFixtures = new ObsMerFixtures(getWaoServices());
- protected ServiceSamplingImpl serviceSampling;
-
- protected static final String BOAT_DEFAULT_NAME = "SPRINGFIELD";
- protected static final int BOAT_DEFAULT_IMMATRICULATION = 123456;
- protected static final String SAMPLE_ROW_DEFAULT_CODE = "2010_0001";
- protected static final String OBSERVER_DEFAULT_FIRST_NAME = "Homer";
- protected static final String OBSERVER_DEFAULT_LAST_NAME = "Simpson";
- protected static final String OBSERVER_DEFAULT_LOGIN = "homer";
-
@BeforeClass
- public static void setUpClass() throws Exception {
- // Create tmpdir if not exist
+ public static void createTempDir() throws Exception {
String tmpdir = System.getProperty("java.io.tmpdir");
File file = new File(tmpdir);
- if (!file.exists()) {
+ if ( ! file.exists()) {
boolean b = file.mkdirs();
- if (!b) {
- if (log.isWarnEnabled())
- log.warn("Could not create tmp directory : " + file);
- }
- if (log.isInfoEnabled()) {
- log.info("tmp dir : " + file + " was created");
- }
- }
- }
-
- @Before
- public void setUp() throws Throwable {
- serviceSampling = (ServiceSamplingImpl) manager.getServiceSampling();
- }
-
- /**
- * Create a company : <br />
- * <ul>
- * <li>first name : Homer</li>
- * <li>last name : Simpson</li>
- * <li>login : homer</li>
- * <li>company : ref to TARTANPION</li>
- * <li>role : OBSERVER</li>
- * </ul>
- *
- * @return the new Company
- * @throws TopiaException
- */
- protected WaoUser createDefaultObserver() throws TopiaException {
- TopiaContext transaction = manager.getContext().beginTransaction();
- WaoUser observer = null;
- try {
- WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
- observer = userDAO.create(
- WaoUser.PROPERTY_COMPANY, obsMerFixtures.tartanpion(),
- WaoUser.PROPERTY_LOGIN, OBSERVER_DEFAULT_LOGIN,
- WaoUser.PROPERTY_FIRST_NAME, OBSERVER_DEFAULT_FIRST_NAME,
- WaoUser.PROPERTY_LAST_NAME, OBSERVER_DEFAULT_LAST_NAME);
- if (log.isDebugEnabled()) {
- log.debug("Create default observer : " + observer);
- }
-
- transaction.commitTransaction();
- } finally {
- transaction.closeContext();
- }
- return observer;
- }
-
- /**
- * Create a user : <br />
- * <ul>
- * <li>first name : null</li>
- * <li>last name : null</li>
- * <li>login : defined with {@code login} argument</li>
- * <li>company : defined with {@code company} argument</li>
- * <li>role : defined with {@code role} argument</li>
- * </ul>
- *
- * @param login String unique login for the new user
- * @param role UserRole of the user
- * @param company Company parent of the user
- * @return the new WaoUser
- * @throws TopiaException
- */
- protected WaoUser createUser(String login, UserRole role,
- Company company) throws TopiaException {
- TopiaContext transaction = manager.getContext().beginTransaction();
- WaoUser observer = null;
- try {
- WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
- observer = userDAO.create(
- WaoUser.PROPERTY_COMPANY, company,
- WaoUser.PROPERTY_LOGIN, login,
- WaoUser.PROPERTY_FIRST_NAME, null,
- WaoUser.PROPERTY_LAST_NAME, null);
-
- if (log.isDebugEnabled()) {
- log.debug("Create observer : " + observer);
- }
-
- transaction.commitTransaction();
- } finally {
- transaction.closeContext();
- }
- return observer;
- }
-
- /**
- * Create a company : <br />
- * <ul>
- * <li>name : defined with {@code name} argument</li>
- * </ul>
- *
- * @param name
- * @return the new Company
- * @throws TopiaException
- */
- protected Company createCompany(String name) throws TopiaException {
- Company company = null;
- TopiaContext transaction = manager.getContext().beginTransaction();
- try {
- CompanyDAO dao = WaoDAOHelper.getCompanyDAO(transaction);
-
- company = dao.create();
- company.setName(name);
-
- transaction.commitTransaction();
- } finally {
- transaction.closeContext();
- }
-
- return company;
- }
-
- /**
- * Create a default sampleRow : <br />
- * <ul>
- * <li>code : 2010_0001</li>
- * <li>company : TARTANPION</li>
- * </ul>
- *
- * @return the new SampleRow
- * @throws TopiaException
- */
- protected SampleRow createDefaultSampleRow() throws TopiaException {
- return createSampleRow(SAMPLE_ROW_DEFAULT_CODE, obsMerFixtures.tartanpion());
- }
-
- /**
- * Create a default sampleRow : <br />
- * <ul>
- * <li>code : defined with {@code code} argument</li>
- * <li>company : defined with {@code company} argument</li>
- * </ul>
- *
- * @param code
- * @param company
- * @return the new SampleRow
- * @throws TopiaException
- */
- protected SampleRow createSampleRow(String code, Company company)
- throws TopiaException {
- SampleRow row = null;
- TopiaContext transaction = manager.getContext().beginTransaction();
- try {
- SampleRowDAO dao =
- WaoDAOHelper.getSampleRowDAO(transaction);
-
- row = dao.create();
- row.setCode(code);
- row.setCompany(company);
- if (log.isDebugEnabled()) {
- log.debug("Create sampleRow : " + row);
- }
-
- transaction.commitTransaction();
- } finally {
- transaction.closeContext();
- }
-
- return row;
- }
-
- /**
- * Create a default boat : <br />
- * <ul>
- * <li>immatriculation : 123456</li>
- * <li>name : SPRINGFIELD</li>
- * <li>active : true</li>
- * </ul>
- *
- * @return the new Boat
- * @throws TopiaException
- */
- protected Boat createDefaultBoat() throws TopiaException {
- return createBoat(123456, "SPRINGFIELD");
- }
-
- /**
- * Create a boat : <br />
- * <ul>
- * <li>immatriculation : defined with {@code immatriculation} argument</li>
- * <li>name : defined with {@code name} argument</li>
- * <li>active : true</li>
- * </ul>
- *
- * @param immatriculation
- * @param name
- * @return the new Boat
- * @throws TopiaException
- */
- protected Boat createBoat(int immatriculation, String name)
- throws TopiaException {
- Boat boat = null;
- TopiaContext transaction = manager.getContext().beginTransaction();
- try {
- BoatDAO dao = WaoDAOHelper.getBoatDAO(transaction);
-
- // CREATE
- boat = dao.create();
- boat.setImmatriculation(immatriculation);
- boat.setName(name);
- boat.setActive(true);
- if (log.isDebugEnabled()) {
- log.debug("Create boat : " + boat);
- }
-
- transaction.commitTransaction();
-
- } finally {
- transaction.closeContext();
- }
- return boat;
- }
-
- /**
- * Create an elligibleBoat : <br />
- * <ul>
- * <li>sampleRow : defined with {@code row} argument</li>
- * <li>boat : defined with {@code boat} argument</li>
- * <li>companyActive : true if {@code company} is true, null otherwise</li>
- * <li>globalActive : true if {@code company} is false, false otherwise</li>
- * </ul>
- *
- * @param row to set for ElligibleBoat
- * @param boat to set for ElligibleBoat
- * @param company true for companyActive, false for globalActive
- * @return the new ElligibleBoat
- * @throws TopiaException
- */
- protected ElligibleBoat createElligibleBoat(SampleRow row, Boat boat,
- boolean company) throws TopiaException {
-
- ElligibleBoat elligibleBoat = null;
- TopiaContext transaction = manager.getContext().beginTransaction();
- try {
- ElligibleBoatDAO dao =
- WaoDAOHelper.getElligibleBoatDAO(transaction);
-
- // CREATE
- elligibleBoat = dao.create();
- elligibleBoat.setBoat(boat);
- elligibleBoat.setSampleRow(row);
- if (company) {
- elligibleBoat.setCompanyActive(true);
+ if (b) {
+ if (log.isInfoEnabled()) {
+ log.info("tmp dir : " + file + " was created");
+ }
} else {
- elligibleBoat.setGlobalActive(true);
- }
- transaction.commitTransaction();
-
- } finally {
- transaction.closeContext();
- }
- return elligibleBoat;
- }
-
- /**
- * Create a default contact : <br />
- * <ul>
- * <li>boat : SPRINGFIELD</li>
- * <li>observer : homer</li>
- * <li>sampleRow : 2010_0001</li>
- * <li>state : CONTACT_START</li>
- * <li>companyValidation : null</li>
- * <li>programValidation : null</li>
- * </ul>
- *
- * @return the new Contact
- * @throws TopiaException
- */
- protected Contact createDefaultContact() throws TopiaException {
- TopiaContext transaction = manager.getContext().beginTransaction();
- Contact contact = null;
- try {
- ContactDAO dao = WaoDAOHelper.getContactDAO(transaction);
-
- // CREATE
- contact = dao.create();
- contact.setBoat(findDefaultBoat());
- contact.setContactState(ContactState.CONTACT_START);
- contact.setMainObserver(findDefaultObserver());
- contact.setSampleRow(findDefaultSampleRow());
- if (log.isDebugEnabled()) {
- log.debug("Create contact : " + contact);
- }
-
- transaction.commitTransaction();
-
- } finally {
- transaction.closeContext();
- }
- return contact;
- }
-
- protected SampleRow findDefaultSampleRow(String... properties)
- throws TopiaException {
- SampleRow findRow = findSampleRowByCode(
- SAMPLE_ROW_DEFAULT_CODE, properties);
-
- if (findRow == null) {
- findRow = createDefaultSampleRow();
- }
- return findRow;
- }
-
- /**
- * Find a sampleRow existing using his unique {@code code}. Some
- * {@code properties} can be added to load them if the sampleRow is
- * corretly retrieve.
- *
- * @param code SampleRow unique code
- * @param properties authorized properties : ElligibleBoat
- * @return the existing SampleRow if found, null otherwise
- * @throws TopiaException
- */
- protected SampleRow findSampleRowByCode(String code, String... properties)
- throws TopiaException {
- SampleRow row = null;
- TopiaContext transaction = manager.getContext().beginTransaction();
- try {
- SampleRowDAO dao =
- WaoDAOHelper.getSampleRowDAO(transaction);
-
- row = dao.findByCode(code);
- if (row != null) {
- // Load properties
- for (String property : properties) {
- if (property.equals(SampleRow.PROPERTY_ELLIGIBLE_BOAT)) {
- row.sizeElligibleBoat();
- }
+ if (log.isWarnEnabled()) {
+ log.warn("Could not create tmp directory : " + file);
}
}
- } finally {
- transaction.closeContext();
}
- return row;
}
- protected Boat findDefaultBoat() throws TopiaException {
- Boat findBoat =
- findBoatByImmatriculation(BOAT_DEFAULT_IMMATRICULATION);
- if (findBoat == null) {
- findBoat = createDefaultBoat();
- }
- return findBoat;
- }
-
- protected Boat findBoatByImmatriculation(int immatriculation)
- throws TopiaException {
- Boat boat = null;
- TopiaContext transaction = manager.getContext().beginTransaction();
- try {
- BoatDAO dao =
- WaoDAOHelper.getBoatDAO(transaction);
-
- boat = dao.findByImmatriculation(immatriculation);
- } finally {
- transaction.closeContext();
- }
- return boat;
- }
-
- protected WaoUser findDefaultObserver() throws TopiaException {
- WaoUser findObserver =
- findUserByLogin(OBSERVER_DEFAULT_LOGIN);
- if (findObserver == null) {
- findObserver = createDefaultObserver();
- }
- return findObserver;
- }
-
- protected WaoUser findUserByLogin(String login)
- throws TopiaException {
- WaoUser user = null;
- TopiaContext transaction = manager.getContext().beginTransaction();
- try {
- WaoUserDAO dao =
- WaoDAOHelper.getWaoUserDAO(transaction);
-
- user = dao.findByLogin(login);
- // Load company
- if (user != null) {
- user.getCompany();
- }
- } finally {
- transaction.closeContext();
- }
- return user;
- }
-
- @Deprecated
- public ConnectedUser getConnectedUser(WaoUser user, UserRole userRole, ObsProgram obsProgram) {
- return obsMerFixtures.jeanMichmucheAsAdmin();
- }
-
- @Deprecated
- public ConnectedUser getConnectedAdmin() {
- return obsMerFixtures.connectedAdmin();
- }
-
}
Deleted: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java 2011-06-10 16:35:23 UTC (rev 1336)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java 2011-06-10 22:25:28 UTC (rev 1337)
@@ -1,374 +0,0 @@
-/*
- * #%L
- * Wao :: Business
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2010 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.service;
-
-import fr.ifremer.wao.WaoBusinessException;
-import fr.ifremer.wao.WaoDAOHelper;
-import fr.ifremer.wao.bean.BoatFilter;
-import fr.ifremer.wao.bean.BoatFilterImpl;
-import fr.ifremer.wao.bean.CompanyBoatInfos;
-import fr.ifremer.wao.bean.ConnectedUser;
-import fr.ifremer.wao.bean.ContactState;
-import fr.ifremer.wao.bean.ObsProgram;
-import fr.ifremer.wao.bean.UserRole;
-import fr.ifremer.wao.business.fixtures.ObsMerFixtures;
-import fr.ifremer.wao.entity.Boat;
-import fr.ifremer.wao.entity.BoatInfos;
-import fr.ifremer.wao.entity.Company;
-import fr.ifremer.wao.entity.Contact;
-import fr.ifremer.wao.entity.ElligibleBoat;
-import fr.ifremer.wao.entity.SampleRow;
-import fr.ifremer.wao.entity.SampleRowDAO;
-import fr.ifremer.wao.entity.SampleRowLogImpl;
-import fr.ifremer.wao.entity.WaoUser;
-import fr.ifremer.wao.io.ImportResults;
-import org.apache.commons.io.IOUtils;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.TopiaException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
-/**
- *
- * @author fdesbois <fdesbois at codelutin.com>
- */
-public class ServiceBoatImplTest extends AbstractServiceTest {
-
- private static final Logger log = LoggerFactory.getLogger(ServiceBoatImplTest.class);
-
- protected ServiceBoat service;
-
- @Before
- public void setUp() {
- service = manager.getServiceBoat();
- }
-
- /**
- * Test of getBoatsByFilter method, of class ServiceBoatImpl.
- * @throws Exception
- */
- @Test
- public void testGetBoatsByFilter() throws Exception {
-
- obsMerFixtures.boats();
- Company company = obsMerFixtures.tartanpion();
- List<SampleRow> rows = prepareSampleRows(company);
- obsMerFixtures.jeanMichmuche();
-
- BoatFilter filter = new BoatFilterImpl();
-
- // Exec with no filter
- Map<Integer, Boat> boats = service.getBoatsByFilter(filter);
- Assert.assertEquals(6, boats.size());
- // first boat of the file
- Boat boat = boats.get(273129);
- Assert.assertNotNull(boat);
-
- // Exec with filter on Immatriculation
- filter.setBoatImmatriculation(273129);
- boats = service.getBoatsByFilter(filter);
- Assert.assertEquals(1, boats.size());
-
- // Exec with filter on Name : start with "M"
- filter = new BoatFilterImpl();
- filter.setBoatName("M");
- boats = service.getBoatsByFilter(filter);
- Assert.assertEquals(2, boats.size());
-
- // Exec with filter on DistrictCode
- filter = new BoatFilterImpl();
- filter.setBoatDistrictCode("UN");
- boats = service.getBoatsByFilter(filter);
- Assert.assertEquals(4, boats.size());
-
- // Exec with filter on SampleRowCode and company
- filter = new BoatFilterImpl();
- filter.setSampleRow(rows.get(0)); // Code = 2009_03
- filter.setCompany(company);
- boats = service.getBoatsByFilter(filter);
- Assert.assertEquals(2, boats.size());
-
- // Exec with filter on shipOwnerName
- filter = new BoatFilterImpl();
- filter.setShipOwnerName("JEAN");
- boats = service.getBoatsByFilter(filter);
- Assert.assertEquals(4, boats.size());
-
- filter.setShipOwnerName("JEAN PIERRE POUTRE");
- boats = service.getBoatsByFilter(filter);
- Assert.assertEquals(2, boats.size());
- }
-
- @Test
- public void testGetBoatsByImmatriculations() throws Exception {
- obsMerFixtures.boats();
-
- String immatriculations = "174592 978419 273129";
- List<Boat> results = service.getBoatsByImmatriculations(immatriculations);
- Assert.assertEquals(3, results.size());
- immatriculations = "174592 \\ èè-- ç999 àà \n\n 978419 00 ççç 273129";
- results = service.getBoatsByImmatriculations(immatriculations);
- Assert.assertEquals(3, results.size());
- }
-
- @Test
- public void testGetElligibleBoats() throws Exception {
-
- obsMerFixtures.boats();
- Company company = obsMerFixtures.tartanpion();
- prepareSampleRows(company);
-
- CompanyBoatInfos result = service.getCompanyBoatInfos(ObsProgram.OBSMER, 174592, company);
- Assert.assertNotNull(result);
- Assert.assertEquals(174592, result.getBoatInfos().getBoat().getImmatriculation());
- Assert.assertEquals(company.getName(), result.getCompany().getName());
- // only row1 is getting
- Assert.assertEquals(1, result.getElligibleBoatsValues().size());
- }
-
- private List<SampleRow> prepareSampleRows(Company company)
- throws TopiaException, WaoBusinessException {
- obsMerFixtures.fishingZones();
- obsMerFixtures.bis();
-
- ServiceSampling serviceSampling = manager.getServiceSampling();
- InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
-
- // Get two SampleRows : 2009_3 & 2010_4
- TopiaContext transaction = manager.getContext().beginTransaction();
- SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- SampleRow row1 = rowDAO.findByCode("2009_0003");
- row1.getProfession();
- row1.sizeElligibleBoat();
- row1.sizeSampleMonth();
- row1.sizeSampleRowLog();
- SampleRow row2 = rowDAO.findByCode("2010_0004");
- row2.getProfession();
- row2.sizeElligibleBoat();
- row2.sizeSampleMonth();
- row2.sizeSampleRowLog();
-
- transaction.commitTransaction();
-
- transaction.closeContext();
-
- // Set company and elligibleBoats '174592 177474' for row1
- List<Boat> boats = service.getBoatsByImmatriculations("174592 177474");
- row1.setCompany(company);
- serviceSampling.createUpdateSampleRow(row1, boats, new SampleRowLogImpl(), getConnectedAdmin());
- // Set company only for row2
- row2.setCompany(company);
- serviceSampling.createUpdateSampleRow(row2, new ArrayList<Boat>(), new SampleRowLogImpl(), getConnectedAdmin());
-
- return Arrays.asList(row1, row2);
- }
-
- @Test
- public void testCreateUpdateBoatInfos() throws Exception {
-
- /** PREPARE DATA **/
- obsMerFixtures.boats();
-
- List<Boat> boats = service.getBoatsByImmatriculations("174592");
- Boat boat = boats.get(0);
-
- // Two rows created : 2009_3 & 2010_4 and one Company : "TARTANPION"
- Company company = obsMerFixtures.tartanpion();
- WaoUser user = obsMerFixtures.jeanMichmuche();
- List<SampleRow> rows = prepareSampleRows(company);
-
- TopiaContext transaction = manager.getContext().beginTransaction();
- SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_0001");
- row.getCompany();
- row.getProfession();
- transaction.closeContext();
-
- ConnectedUser connectedUser = getConnectedUser(user, UserRole.ADMIN, ObsProgram.OBSMER);
- ServiceContact serviceContact = manager.getServiceContact();
-
- // creating the contact will make the boat 174592 eligible for row
- Contact contact1 = serviceContact.newContact(connectedUser, row, boat);
- contact1.setContactState(ContactState.CONTACT_START);
- serviceContact.saveContact(connectedUser, contact1, false);
-
- CompanyBoatInfos companyBoatInfos = service.getCompanyBoatInfos(ObsProgram.OBSMER, 174592, company);
-
- /** EXEC METHOD **/
- BoatInfos boatInfos = companyBoatInfos.getBoatInfos();
-
- boatInfos.setDup(2);
- boatInfos.setContactFirstName("Jean-Paul");
- boatInfos.setContactLastName("Belmondo");
-
- /** TEST1 **/
- // ajout d'une nouvelle ligne "2010_4" non mise en elligible auparavent
- companyBoatInfos.setNewElligibleBoat(rows.get(1));
- // ligne deja elligible mise en inactive
- companyBoatInfos.removeElligibleBoat("2009_0003");
-
- service.createUpdateCompanyBoatInfos(companyBoatInfos);
-
- companyBoatInfos = service.getCompanyBoatInfos(ObsProgram.OBSMER, 174592, company);
-
- Map<String, ElligibleBoat> results = companyBoatInfos.getElligibleBoats();
- Assert.assertEquals(3, results.size());
-
- ElligibleBoat elligible = companyBoatInfos.getElligibleBoat("2009_0003");
- Assert.assertNotNull(elligible.getCompanyActive());
- Assert.assertFalse(elligible.getCompanyActive());
-
- elligible = companyBoatInfos.getElligibleBoat("2010_0004");
- Assert.assertTrue(elligible.getCompanyActive());
-
- /** TEST2 **/
- // Suppression ligne lié elligible pour la société
- companyBoatInfos.removeElligibleBoat("2010_0004");
- // Reactivation ligne mise en inactive juste avant
- companyBoatInfos.activeElligibleBoat("2009_0003");
-
- service.createUpdateCompanyBoatInfos(companyBoatInfos);
-
- companyBoatInfos = service.getCompanyBoatInfos(ObsProgram.OBSMER, 174592, company);
-
- results = companyBoatInfos.getElligibleBoats();
- Assert.assertEquals(2, results.size());
-
- elligible = companyBoatInfos.getElligibleBoat("2009_0003");
- Assert.assertNull(elligible.getCompanyActive());
- Assert.assertTrue(elligible.getGlobalActive());
-
- /** EXEC METHOD **/
- Contact result = companyBoatInfos.getLastContact();
- Assert.assertEquals(contact1.getTopiaId(), result.getTopiaId());
- }
-
- /**
- * Test of importBoatCsv method, of class ServiceBoatImpl.
- * @throws Exception
- */
- @Test
- public void testImportBoatCsv() throws Exception {
- InputStream input = null;
- try {
- input = getClass().getResourceAsStream("/import/navires.csv");
- ImportResults importResults = service.importBoatCsv(input);
- Assert.assertEquals(6, importResults.getNbRowsImported());
- // new boats added
- Assert.assertEquals(6, importResults.getNbRowsImportedNew());
-
- // Check boat 174592 is active and boat 177474 is inactive
- List<Boat> results = service.getBoatsByImmatriculations("174592 177474");
- Assert.assertTrue(results.get(0).getActive());
- Assert.assertFalse(results.get(1).getActive());
- } finally {
- IOUtils.closeQuietly(input);
- }
- }
-
-// @Test
-// @Ignore("activity calendars are deprecated")
-// public void testGetLastActivityCalendar() throws Exception {
-// log.info("getLastActivityCalendar");
-//
-// /** PREPARE DATA **/
-// TopiaContext transaction = manager.getContext().beginTransaction();
-//
-// BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction);
-// Boat boat = boatDAO.create(
-// Boat.PROPERTY_NAME, "TESTBOAT",
-// Boat.PROPERTY_IMMATRICULATION, 174592);
-//
-// ActivityCalendarDAO dao = WaoDAOHelper.getActivityCalendarDAO(transaction);
-//
-// ActivityCalendar calendar1 = dao.create(
-// ActivityCalendar.PROPERTY_BOAT, boat,
-// ActivityCalendar.PROPERTY_YEAR, 2008);
-//
-// ActivityCalendar calendar2 = dao.create(
-// ActivityCalendar.PROPERTY_BOAT, boat,
-// ActivityCalendar.PROPERTY_YEAR, 2007);
-//
-// ActivityCalendar calendar3 = dao.create(
-// ActivityCalendar.PROPERTY_BOAT, boat,
-// ActivityCalendar.PROPERTY_YEAR, 2009);
-//
-// transaction.commitTransaction();
-// transaction.closeContext();
-//
-// /** EXEC METHOD **/
-// WaoUser user = new WaoUserImpl();
-// user.setFirstName("Jean");
-// user.setLastName("Michmuche");
-// // Evo #2063 : the defaut instanciation of WaoUser doesn't put the
-// // user automatically as an non admin
-// UserProfile profile = new UserProfileImpl(ObsProgram.OBSMER, UserRole.OBSERVER, true);
-// user.addUserProfile(profile);
-// Company company = new CompanyImpl();
-// company.setName("TARTANPION");
-// user.setCompany(company);
-//
-// ConnectedUser connectedUser = new ConnectedUserImpl();
-// connectedUser.setUser(user);
-// connectedUser.setProfile(profile);
-//
-// ActivityCalendar result = service.getLastActivityCalendar(connectedUser, boat);
-// Assert.assertNotNull(result);
-// Assert.assertEquals(2009, result.getYear());
-//
-//
-// String filename = WaoProperty.FILENAME_LOG_ACTIVITY_ACCESS.getValue();
-//
-// if (log.isDebugEnabled()) {
-// log.debug("ActivityCalendar filename for access : " + filename);
-// }
-//
-// File file = new File(filename);
-// Assert.assertTrue(file.exists());
-//
-// BufferedReader reader = new BufferedReader(new FileReader(file));
-// try {
-// String line = reader.readLine();
-// Assert.assertTrue(line.contains("Jean Michmuche"));
-// Assert.assertTrue(line.contains("TARTANPION"));
-// Assert.assertTrue(line.contains("TESTBOAT"));
-// Assert.assertTrue(line.contains("174592"));
-// } finally {
-// reader.close();
-// }
-// }
-
-}
Copied: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatTest.java (from rev 1336, trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java)
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatTest.java (rev 0)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatTest.java 2011-06-10 22:25:28 UTC (rev 1337)
@@ -0,0 +1,327 @@
+/*
+ * #%L
+ * Wao :: Business
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2010 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.service;
+
+import fr.ifremer.wao.WaoBusinessException;
+import fr.ifremer.wao.bean.BoatFilter;
+import fr.ifremer.wao.bean.BoatFilterImpl;
+import fr.ifremer.wao.bean.CompanyBoatInfos;
+import fr.ifremer.wao.bean.ContactState;
+import fr.ifremer.wao.bean.ObsProgram;
+import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.entity.BoatInfos;
+import fr.ifremer.wao.entity.Company;
+import fr.ifremer.wao.entity.Contact;
+import fr.ifremer.wao.entity.ElligibleBoat;
+import fr.ifremer.wao.entity.SampleRow;
+import fr.ifremer.wao.entity.SampleRowLogImpl;
+import fr.ifremer.wao.io.ImportResults;
+import org.apache.commons.io.IOUtils;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.nuiton.topia.TopiaException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ *
+ * @author fdesbois <fdesbois at codelutin.com>
+ */
+public class ServiceBoatTest extends AbstractServiceTest {
+
+ private static final Logger log = LoggerFactory.getLogger(ServiceBoatTest.class);
+
+ protected ServiceBoat service;
+
+ protected ServiceSampling serviceSampling;
+
+ @Before
+ public void initServiceBoat() {
+ serviceSampling = manager.getServiceSampling();
+ service = manager.getServiceBoat();
+ }
+
+ /**
+ * Test of getBoatsByFilter method, of class ServiceBoatImpl.
+ * @throws Exception
+ */
+ @Test
+ public void testGetBoatsByFilter() {
+
+ obsMerFixtures.boats();
+ Company company = obsMerFixtures.tartanpion();
+ List<SampleRow> rows = prepareSampleRows();
+ obsMerFixtures.jeanMichmuche();
+
+ BoatFilter filter = new BoatFilterImpl();
+
+ // Exec with no filter
+ Map<Integer, Boat> boats = service.getBoatsByFilter(filter);
+ Assert.assertEquals(6, boats.size());
+ // first boat of the file
+ Boat boat = boats.get(273129);
+ Assert.assertNotNull(boat);
+
+ // Exec with filter on Immatriculation
+ filter.setBoatImmatriculation(273129);
+ boats = service.getBoatsByFilter(filter);
+ Assert.assertEquals(1, boats.size());
+
+ // Exec with filter on Name : start with "M"
+ filter = new BoatFilterImpl();
+ filter.setBoatName("M");
+ boats = service.getBoatsByFilter(filter);
+ Assert.assertEquals(2, boats.size());
+
+ // Exec with filter on DistrictCode
+ filter = new BoatFilterImpl();
+ filter.setBoatDistrictCode("UN");
+ boats = service.getBoatsByFilter(filter);
+ Assert.assertEquals(4, boats.size());
+
+ // Exec with filter on SampleRowCode and company
+ filter = new BoatFilterImpl();
+ filter.setSampleRow(rows.get(0)); // Code = 2009_03
+ filter.setCompany(company);
+ boats = service.getBoatsByFilter(filter);
+ Assert.assertEquals(2, boats.size());
+
+ // Exec with filter on shipOwnerName
+ filter = new BoatFilterImpl();
+ filter.setShipOwnerName("JEAN");
+ boats = service.getBoatsByFilter(filter);
+ Assert.assertEquals(4, boats.size());
+
+ filter.setShipOwnerName("JEAN PIERRE POUTRE");
+ boats = service.getBoatsByFilter(filter);
+ Assert.assertEquals(2, boats.size());
+ }
+
+ @Test
+ public void testGetBoatsByImmatriculations() throws Exception {
+ obsMerFixtures.boats();
+
+ String immatriculations = "174592 978419 273129";
+ List<Boat> results = service.getBoatsByImmatriculations(immatriculations);
+ Assert.assertEquals(3, results.size());
+ immatriculations = "174592 \\ èè-- ç999 àà \n\n 978419 00 ççç 273129";
+ results = service.getBoatsByImmatriculations(immatriculations);
+ Assert.assertEquals(3, results.size());
+ }
+
+ @Test
+ public void testGetElligibleBoats() throws Exception {
+
+ Company company = obsMerFixtures.tartanpion();
+ prepareSampleRows();
+
+ CompanyBoatInfos result = service.getCompanyBoatInfos(ObsProgram.OBSMER, obsMerFixtures.fifitou().getImmatriculation(), company);
+ Assert.assertNotNull(result);
+ Assert.assertEquals(obsMerFixtures.fifitou().getImmatriculation(), result.getBoatInfos().getBoat().getImmatriculation());
+ Assert.assertEquals(company.getName(), result.getCompany().getName());
+ // only row1 is getting
+ Assert.assertEquals(1, result.getElligibleBoatsValues().size());
+ }
+
+ protected List<SampleRow> prepareSampleRows() {
+
+ // Get two SampleRows : 2009_3 & 2010_4
+ SampleRow row1 = obsMerFixtures.row2009_0003();
+ SampleRow row2 = obsMerFixtures.row2010_0004();
+
+ // Set company and elligibleBoats '174592 177474' for row1
+ List<Boat> boats = Arrays.asList(obsMerFixtures.fifitou(), obsMerFixtures.mayflowers());
+ row1.setCompany(obsMerFixtures.tartanpion());
+ serviceSampling.createUpdateSampleRow(row1, boats, new SampleRowLogImpl(), obsMerFixtures.jeanMichmucheAsAdmin());
+ row2.setCompany(obsMerFixtures.tartanpion());
+ serviceSampling.createUpdateSampleRow(row2, new ArrayList<Boat>(), new SampleRowLogImpl(), obsMerFixtures.jeanMichmucheAsAdmin());
+ return Arrays.asList(row1, row2);
+ }
+
+ @Test
+ public void testCreateUpdateBoatInfos() {
+ // Two rows created : 2009_3 & 2010_4 and one Company : "TARTANPION"
+ Company company = obsMerFixtures.tartanpion();
+ Boat boat = obsMerFixtures.fifitou();
+ List<SampleRow> rows = prepareSampleRows();
+
+ SampleRow row = obsMerFixtures.row2010_0001();
+
+ ServiceContact serviceContact = manager.getServiceContact();
+
+ // creating the contact will make the boat 174592 eligible for row
+ Contact contact1 = serviceContact.newContact(obsMerFixtures.jeanMichmucheAsObserver(), row, boat);
+ contact1.setContactState(ContactState.CONTACT_START);
+ serviceContact.saveContact(obsMerFixtures.jeanMichmucheAsObserver(), contact1, false);
+
+ CompanyBoatInfos companyBoatInfos = service.getCompanyBoatInfos(ObsProgram.OBSMER, boat.getImmatriculation(), company);
+ BoatInfos boatInfos = companyBoatInfos.getBoatInfos();
+
+ boatInfos.setDup(2);
+ boatInfos.setContactFirstName("Jean-Paul");
+ boatInfos.setContactLastName("Belmondo");
+ // ajout d'une nouvelle ligne "2010_4" non mise en elligible auparavent
+ companyBoatInfos.setNewElligibleBoat(rows.get(1));
+ // ligne deja elligible mise en inactive
+ companyBoatInfos.removeElligibleBoat(obsMerFixtures.row2009_0003().getCode());
+
+ service.createUpdateCompanyBoatInfos(companyBoatInfos);
+
+ companyBoatInfos = service.getCompanyBoatInfos(ObsProgram.OBSMER, obsMerFixtures.fifitou().getImmatriculation(), company);
+
+ Map<String, ElligibleBoat> results = companyBoatInfos.getElligibleBoats();
+ Assert.assertEquals(3, results.size());
+
+ ElligibleBoat elligible = companyBoatInfos.getElligibleBoat(obsMerFixtures.row2009_0003().getCode());
+ Assert.assertNotNull(elligible.getCompanyActive());
+ Assert.assertFalse(elligible.getCompanyActive());
+
+ elligible = companyBoatInfos.getElligibleBoat(obsMerFixtures.row2010_0004().getCode());
+ Assert.assertTrue(elligible.getCompanyActive());
+
+ // Suppression ligne lié elligible pour la société
+ companyBoatInfos.removeElligibleBoat(obsMerFixtures.row2010_0004().getCode());
+ // Reactivation ligne mise en inactive juste avant
+ companyBoatInfos.activeElligibleBoat(obsMerFixtures.row2009_0003().getCode());
+
+ service.createUpdateCompanyBoatInfos(companyBoatInfos);
+
+ companyBoatInfos = service.getCompanyBoatInfos(ObsProgram.OBSMER, obsMerFixtures.fifitou().getImmatriculation(), company);
+
+ results = companyBoatInfos.getElligibleBoats();
+ Assert.assertEquals(2, results.size());
+
+ elligible = companyBoatInfos.getElligibleBoat(obsMerFixtures.row2009_0003().getCode());
+ Assert.assertNull(elligible.getCompanyActive());
+ Assert.assertTrue(elligible.getGlobalActive());
+
+ Contact result = companyBoatInfos.getLastContact();
+ Assert.assertEquals(contact1.getTopiaId(), result.getTopiaId());
+ }
+
+ /**
+ * Test of importBoatCsv method, of class ServiceBoatImpl.
+ * @throws WaoBusinessException if import of boats fails or if retrieving
+ * boats fail
+ */
+ @Test
+ public void testImportBoatCsv() throws WaoBusinessException {
+ InputStream input = null;
+ try {
+ input = getClass().getResourceAsStream("/import/navires.csv");
+ ImportResults importResults = service.importBoatCsv(input);
+ Assert.assertEquals(6, importResults.getNbRowsImported());
+ // new boats added
+ Assert.assertEquals(6, importResults.getNbRowsImportedNew());
+
+ // Check boat 174592 is active and boat 177474 is inactive
+ List<Boat> results = service.getBoatsByImmatriculations("174592 177474");
+ Assert.assertTrue(results.get(0).getActive());
+ Assert.assertFalse(results.get(1).getActive());
+ } finally {
+ IOUtils.closeQuietly(input);
+ }
+ }
+
+// @Test
+// @Ignore("activity calendars are deprecated")
+// public void testGetLastActivityCalendar() throws Exception {
+// log.info("getLastActivityCalendar");
+//
+// /** PREPARE DATA **/
+// TopiaContext transaction = manager.getContext().beginTransaction();
+//
+// BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction);
+// Boat boat = boatDAO.create(
+// Boat.PROPERTY_NAME, "TESTBOAT",
+// Boat.PROPERTY_IMMATRICULATION, 174592);
+//
+// ActivityCalendarDAO dao = WaoDAOHelper.getActivityCalendarDAO(transaction);
+//
+// ActivityCalendar calendar1 = dao.create(
+// ActivityCalendar.PROPERTY_BOAT, boat,
+// ActivityCalendar.PROPERTY_YEAR, 2008);
+//
+// ActivityCalendar calendar2 = dao.create(
+// ActivityCalendar.PROPERTY_BOAT, boat,
+// ActivityCalendar.PROPERTY_YEAR, 2007);
+//
+// ActivityCalendar calendar3 = dao.create(
+// ActivityCalendar.PROPERTY_BOAT, boat,
+// ActivityCalendar.PROPERTY_YEAR, 2009);
+//
+// transaction.commitTransaction();
+// transaction.closeContext();
+//
+// /** EXEC METHOD **/
+// WaoUser user = new WaoUserImpl();
+// user.setFirstName("Jean");
+// user.setLastName("Michmuche");
+// // Evo #2063 : the defaut instanciation of WaoUser doesn't put the
+// // user automatically as an non admin
+// UserProfile profile = new UserProfileImpl(ObsProgram.OBSMER, UserRole.OBSERVER, true);
+// user.addUserProfile(profile);
+// Company company = new CompanyImpl();
+// company.setName("TARTANPION");
+// user.setCompany(company);
+//
+// ConnectedUser connectedUser = new ConnectedUserImpl();
+// connectedUser.setUser(user);
+// connectedUser.setProfile(profile);
+//
+// ActivityCalendar result = service.getLastActivityCalendar(connectedUser, boat);
+// Assert.assertNotNull(result);
+// Assert.assertEquals(2009, result.getYear());
+//
+//
+// String filename = WaoProperty.FILENAME_LOG_ACTIVITY_ACCESS.getValue();
+//
+// if (log.isDebugEnabled()) {
+// log.debug("ActivityCalendar filename for access : " + filename);
+// }
+//
+// File file = new File(filename);
+// Assert.assertTrue(file.exists());
+//
+// BufferedReader reader = new BufferedReader(new FileReader(file));
+// try {
+// String line = reader.readLine();
+// Assert.assertTrue(line.contains("Jean Michmuche"));
+// Assert.assertTrue(line.contains("TARTANPION"));
+// Assert.assertTrue(line.contains("TESTBOAT"));
+// Assert.assertTrue(line.contains("174592"));
+// } finally {
+// reader.close();
+// }
+// }
+
+}
Property changes on: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactImplTest.java 2011-06-10 16:35:23 UTC (rev 1336)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactImplTest.java 2011-06-10 22:25:28 UTC (rev 1337)
@@ -30,6 +30,7 @@
import fr.ifremer.wao.bean.ObsProgram;
import fr.ifremer.wao.bean.SamplingStrategy;
import fr.ifremer.wao.bean.UserRole;
+import fr.ifremer.wao.business.fixtures.Fixtures;
import fr.ifremer.wao.entity.Boat;
import fr.ifremer.wao.entity.BoatDAO;
import fr.ifremer.wao.entity.Company;
@@ -92,7 +93,7 @@
protected ServiceContactImpl service;
@Before
- public void setUp() throws Exception {
+ public void setUp() {
MockitoAnnotations.initMocks(this);
service = (ServiceContactImpl) manager.getServiceContact();
sampleMonth = null;
@@ -133,13 +134,11 @@
SampleRowDAO rowDAO =
WaoDAOHelper.getSampleRowDAO(transaction);
- log.trace("SampleRow : 2010_0001");
sampleRow = rowDAO.create(SampleRow.PROPERTY_CODE, "2010_0001",
SampleRow.PROPERTY_COMPANY, company);
SampleMonthDAO monthDAO =
WaoDAOHelper.getSampleMonthDAO(transaction);
- log.trace("SampleMonth : 03/2010 _ row 2010_0001");
Date monthDate = DateUtil.createDate(1, 3, 2010);
sampleMonth = monthDAO.create(SampleMonth.PROPERTY_SAMPLE_ROW, sampleRow,
SampleMonth.PROPERTY_PERIOD_DATE, monthDate);
@@ -700,16 +699,11 @@
/** PREPARE DATA **/
prepareData(true, true);
- when(creator.getCompany()).thenReturn(company);
- when(creator.getLogin()).thenReturn(observer.getLogin());
- when(creator.getProfile()).thenReturn(new UserProfileImpl(ObsProgram.OBSMER, UserRole.ADMIN, true));
-
- /** EXEC METHOD **/
// test 1 : Import new contact with observer creator
- InputStream input =
- getClass().getResourceAsStream("/import/contacts.csv");
+ InputStream input = null;
try {
- ImportResults results = service.importContactCsv(creator, input);
+ input = getClass().getResourceAsStream("/import/contacts.csv");
+ ImportResults results = service.importContactCsv(obsMerFixtures.jeanMichmucheAsAdmin(), input);
assertEquals(0, results.getNbRowsRefused());
assertEquals(1, results.getNbRowsImported());
assertTrue(results.getErrors().isEmpty());
@@ -734,20 +728,5 @@
transaction.closeContext();
}
}
-
- // test 2 : Import new contact with super admin creator
- when(creator.getCompany()).thenReturn(company);
- when(creator.getLogin()).thenReturn("admin");
- when(creator.getProfile()).thenReturn(new UserProfileImpl(ObsProgram.OBSMER, UserRole.ADMIN, true));
-
- input = getClass().getResourceAsStream("/import/contacts.csv");
- try {
- ImportResults results = service.importContactCsv(creator, input);
- assertEquals(1, results.getNbRowsImported());
- assertEquals(0, results.getNbRowsRefused());
- assertTrue(results.getErrors().isEmpty());
- } finally {
- input.close();
- }
}
}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactTest.java 2011-06-10 16:35:23 UTC (rev 1336)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactTest.java 2011-06-10 22:25:28 UTC (rev 1337)
@@ -21,12 +21,9 @@
package fr.ifremer.wao.service;
-import fr.ifremer.wao.bean.ConnectedUser;
import fr.ifremer.wao.bean.ContactFilter;
import fr.ifremer.wao.bean.ContactFilterImpl;
-import fr.ifremer.wao.bean.ObsProgram;
import fr.ifremer.wao.bean.UserRole;
-import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.WaoUser;
import org.junit.Assert;
@@ -60,14 +57,12 @@
@Test
public void testGetContactsFilteredByObserver() throws TopiaException {
- log.info("getContactsFilteredByObserver");
-
/** PREPARE DATA **/
- Contact contact = createDefaultContact();
+ Contact contact = obsMerFixtures.defaultContact();
/** EXEC METHOD **/
ContactFilter filter = new ContactFilterImpl();
- filter.setObserver(findDefaultObserver());
+ filter.setObserver(obsMerFixtures.homerSimpson());
log.info("test 1 : Ok good filter, contact is correctly returned");
Map<String, Contact> results = service.getContacts(filter);
@@ -77,8 +72,7 @@
Assert.assertEquals(contact, contactFind);
log.info("test 2 : Bad filter, no contact is returned");
- WaoUser observer2 = createUser("marge",
- UserRole.OBSERVER, obsMerFixtures.tartanpion());
+ WaoUser observer2 = obsMerFixtures.billMurray();
filter.setObserver(observer2);
@@ -88,21 +82,20 @@
@Test
public void testSaveContactWithMultipleObservers() throws TopiaException {
- Contact contact = createDefaultContact();
+ Contact contact = obsMerFixtures.defaultContact();
- Company company = createCompany("Boite");
- WaoUser toto = createUser("toto", UserRole.OBSERVER, company);
- contact.addSecondaryObservers(toto);
- contact.addSecondaryObservers(createUser("titi", UserRole.OBSERVER, company));
+ WaoUser observer1 = obsMerFixtures.jeanMichmuche();
+ WaoUser observer2 = obsMerFixtures.billMurray();
+ contact.addSecondaryObservers(observer1);
+ contact.addSecondaryObservers(observer2);
- ConnectedUser connectedUser = getConnectedUser(toto, UserRole.COORDINATOR, ObsProgram.OBSMER);
- service.saveContact(connectedUser, contact, false);
+ service.saveContact(obsMerFixtures.jeanMichmucheAsObserver(), contact, false);
Contact savedContact = service.getContact(contact.getTopiaId());
Assert.assertEquals(2, savedContact.getSecondaryObservers().size());
contact.clearSecondaryObservers();
- service.saveContact(connectedUser, contact, false);
+ service.saveContact(obsMerFixtures.jeanMichmucheAsObserver(), contact, false);
savedContact = service.getContact(contact.getTopiaId());
Assert.assertEquals(0, savedContact.getSecondaryObservers().size());
}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingTest.java 2011-06-10 16:35:23 UTC (rev 1336)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingTest.java 2011-06-10 22:25:28 UTC (rev 1337)
@@ -33,10 +33,7 @@
import fr.ifremer.wao.bean.SamplingFilter;
import fr.ifremer.wao.bean.SamplingFilterImpl;
import fr.ifremer.wao.bean.SamplingStrategy;
-import fr.ifremer.wao.bean.UserRole;
import fr.ifremer.wao.entity.Boat;
-import fr.ifremer.wao.entity.Company;
-import fr.ifremer.wao.entity.CompanyDAO;
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.ContactDAO;
import fr.ifremer.wao.entity.ContactImpl;
@@ -60,6 +57,7 @@
import fr.ifremer.wao.entity.WaoUser;
import fr.ifremer.wao.io.ImportResults;
import org.junit.Assert;
+import org.junit.Before;
import org.junit.Test;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
@@ -93,6 +91,13 @@
private static final Logger log =
LoggerFactory.getLogger(ServiceSamplingTest.class);
+ protected ServiceSamplingImpl serviceSampling;
+
+ @Before
+ public void initServiceSampling() {
+ serviceSampling = (ServiceSamplingImpl) manager.getServiceSampling();
+ }
+
@Test
public void testCreateUpdateSampleRow() throws Exception {
/** PREPARE DATA **/
@@ -136,7 +141,7 @@
months.add(month);
}
- SampleRow row = serviceSampling.newSampleRow(getConnectedAdmin());
+ SampleRow row = serviceSampling.newSampleRow(obsMerFixtures.jeanMichmucheAsAdmin());
row.setCode("2010_03");
row.setNbObservants(3);
row.setAverageTideTime(2.5);
@@ -161,7 +166,7 @@
/** EXEC CREATE **/
List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174592 978419 273129");
- serviceSampling.createUpdateSampleRow(row, boats, new SampleRowLogImpl(), getConnectedAdmin());
+ serviceSampling.createUpdateSampleRow(row, boats, new SampleRowLogImpl(), obsMerFixtures.jeanMichmucheAsAdmin());
assertNotNull(row.getTopiaId());
assertNotNull(row.getProfession().getTopiaId());
@@ -172,7 +177,7 @@
// TEST FOR DELETE ELLIGIBLE PROPERTY_BOAT
boats.remove(2);
- serviceSampling.createUpdateSampleRow(result, boats, new SampleRowLogImpl(), getConnectedAdmin());
+ serviceSampling.createUpdateSampleRow(result, boats, new SampleRowLogImpl(), obsMerFixtures.jeanMichmucheAsAdmin());
result = serviceSampling.getSampleRow(row.getTopiaId());
assertEquals(2, result.getElligibleBoat().size());
@@ -180,7 +185,7 @@
// TEST FOR REMOVE FISHING ZONE
//FishingZone zone = result.getFishingZone().get(0);
result.getFishingZone().remove(0);
- serviceSampling.createUpdateSampleRow(result, boats, new SampleRowLogImpl(), getConnectedAdmin());
+ serviceSampling.createUpdateSampleRow(result, boats, new SampleRowLogImpl(), obsMerFixtures.jeanMichmucheAsAdmin());
result = serviceSampling.getSampleRow(row.getTopiaId());
assertEquals(2, result.getFishingZone().size());
@@ -188,11 +193,11 @@
// test if sampleRow becomes null in contact after update
Contact contact = new ContactImpl();
- WaoUser observer = createDefaultObserver();
+ WaoUser observer = obsMerFixtures.homerSimpson();
contact.setMainObserver(observer);
contact.setSampleRow(result);
- ConnectedUser connectedUser = getConnectedUser(observer, UserRole.OBSERVER, ObsProgram.OBSMER);
+ ConnectedUser connectedUser = obsMerFixtures.homerSimpsonAsObserver();
manager.getServiceContact().saveContact(connectedUser, contact, false);
// serviceSampling.createUpdateSampleRow(result, boats, new SampleRowLogImpl());
@@ -211,40 +216,6 @@
}
- @Test
- public void testUpdateElligibleBoats() throws TopiaException {
- /** PREPARE DATA **/
- SampleRow row = createDefaultSampleRow();
- Boat boat = createDefaultBoat();
-
- // Create an elligibleBoat active for company
- ElligibleBoat elligible = createElligibleBoat(row, boat, true);
- // Retrieve the sampleRow (updated with elligible)
- row = findDefaultSampleRow(SampleRow.PROPERTY_ELLIGIBLE_BOAT);
-
- /** EXEC METHOD **/
- List<Boat> boats = new ArrayList<Boat>();
- boats.add(boat);
-
- TopiaContext transaction = serviceSampling.beginTransaction();
- // Will update the existing ElligibleBoat and set globalActive to true
- List<List<Integer>> results =
- serviceSampling.updateElligibleBoats(transaction, row, boats);
-
- /** CHECKING RESULTS **/
- Assert.assertEquals(2, results.size());
- // Index=1 for updatedImmatriculations, 1 is updated
- Assert.assertEquals(1, results.get(1).size());
- // Index=0 for removedImmatriculations, 0 is removed
- Assert.assertEquals(0, results.get(0).size());
-
- Assert.assertEquals(1, row.sizeElligibleBoat());
- ElligibleBoat updatedElligible =
- row.getElligibleBoatByTopiaId(elligible.getTopiaId());
-
- Assert.assertTrue(updatedElligible.getGlobalActive());
- }
-
/**
* Test of getSampleRowsOrderedByFishingZone method, of class ServiceSamplingImpl.
*/
@@ -383,46 +354,13 @@
}
public void testGetSampleRowsForUser() throws Exception {
- /** PREPARE DATA **/
- TopiaContext transaction = manager.getContext().beginTransaction();
-
- FishingZoneDAO zoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction);
- FishingZone zoneIId = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IId");
- FishingZone zoneIV = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IV");
- FishingZone zoneI = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "I");
-
- CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
- Company company = companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
- Calendar begin = new GregorianCalendar(2009,8,1);
- Calendar end = new GregorianCalendar(2010,11,31);
- SampleRowDAO sampleRowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = sampleRowDAO.create(
- SampleRow.PROPERTY_CODE,"2010_178",
- SampleRow.PROPERTY_COMPANY,company,
- SampleRow.PROPERTY_PROGRAM_NAME, "DPMA-2009",
- SampleRow.PROPERTY_PERIOD_BEGIN, begin.getTime(),
- SampleRow.PROPERTY_PERIOD_END, end.getTime());
-
-
- transaction.commitTransaction();
- transaction.closeContext();
-
- InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
-
- /** EXEC METHOD **/
+ obsMerFixtures.samplingPlan();
SamplingFilter filter = new SamplingFilterImpl();
-// User admin = new UserImpl();
-// admin.setAdmin(true);
-// filter.setCompany()
filter.setNbMonthFinishedFromToday(0);
List<SampleRow> results = serviceSampling.getSampleRowsByFilter(filter);
// total in file : 11, 1 refused, 1 finished
assertEquals(9, results.size());
-
-// User user = new UserImpl();
-// user.setCompany(company);
- filter.setCompany(company);
+ filter.setCompany(obsMerFixtures.tartanpion());
results = serviceSampling.getSampleRowsByFilter(filter);
assertEquals(1, results.size());
}
@@ -456,45 +394,21 @@
@Test
public void testDeleteSampleRow() throws Exception {
- /** PREPARE DATA **/
- TopiaContext transaction = manager.getContext().beginTransaction();
+ obsMerFixtures.boats();
+ obsMerFixtures.samplingPlan();
- FishingZoneDAO zoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction);
- FishingZone zoneIId = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IId");
- FishingZone zoneIV = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IV");
- FishingZone zoneI = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "I");
-
- CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
- companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
- companyDAO.create(Company.PROPERTY_NAME, "BIS");
- transaction.commitTransaction();
+ SampleRow row = obsMerFixtures.row2010_0001();
-
- InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
-
- SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_0001");
- row.getProfession();
- row.getProfession();
- row.getCompany();
- row.sizeSampleMonth();
- row.sizeElligibleBoat();
- row.sizeSampleRowLog();
- transaction.closeContext();
-
- input = getClass().getResourceAsStream("/import/navires.csv");
ServiceBoat serviceBoat = manager.getServiceBoat();
- serviceBoat.importBoatCsv(input);
List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174592 978419 273129");
-
- serviceSampling.createUpdateSampleRow(row, boats, new SampleRowLogImpl(), getConnectedAdmin());
- /** EXEC METHOD **/
+ serviceSampling.createUpdateSampleRow(row, boats, new SampleRowLogImpl(), obsMerFixtures.jeanMichmucheAsAdmin());
+
serviceSampling.deleteSampleRow(row);
- transaction = manager.getContext().beginTransaction();
- rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- row = rowDAO.findByCode("2010_0001");
+
+ TopiaContext transaction = manager.getContext().beginTransaction();
+ SampleRowDAO sampleRowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
+ row = sampleRowDAO.findByCode("2010_0001");
assertNull(row);
ElligibleBoatDAO elligibleDAO = WaoDAOHelper.getElligibleBoatDAO(transaction);
@@ -502,16 +416,15 @@
assertEquals(0, elligibles.size());
// test if sampleRow can't be deleted if contacts are associated
-
- row = rowDAO.findByCode("2010_0002");
+ row = sampleRowDAO.findByCode("2010_0002");
transaction.closeContext();
Contact contact = new ContactImpl();
- WaoUser observer = createDefaultObserver();
+ WaoUser observer = obsMerFixtures.homerSimpson();
contact.setMainObserver(observer);
contact.setSampleRow(row);
- ConnectedUser connectedUser = getConnectedUser(observer, UserRole.OBSERVER, ObsProgram.OBSMER);
+ ConnectedUser connectedUser = obsMerFixtures.homerSimpsonAsObserver();
manager.getServiceContact().saveContact(connectedUser, contact, false);
try {
@@ -519,8 +432,8 @@
Assert.fail("deleting a sample-row with associated contact should"
+ " not be permitted");
} catch (WaoBusinessException eee) {
- if (log.isTraceEnabled()) {
- log.trace("exception raised while trying to delete sample row",
+ if (log.isDebugEnabled()) {
+ log.debug("exception raised while trying to delete sample row",
eee);
}
}
@@ -529,24 +442,14 @@
@Test
public void testImportSamplingPlanCsv()
throws TopiaException, WaoException, WaoBusinessException {
- /** PREPARE DATA **/
- TopiaContext transaction = manager.getContext().beginTransaction();
- FishingZoneDAO zoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction);
- FishingZone zoneIId = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IId");
- FishingZone zoneIV = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IV");
- FishingZone zoneI = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "I");
-
- CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
- companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
- companyDAO.create(Company.PROPERTY_NAME, "BIS");
+ obsMerFixtures.tartanpion();
+ obsMerFixtures.bis();
+ obsMerFixtures.fishingZones();
- transaction.commitTransaction();
- transaction.closeContext();
-
/** EXEC METHOD **/
InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- ImportResults result = serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
+ ImportResults result = serviceSampling.importSamplingPlanCsv(input, obsMerFixtures.jeanMichmucheAsAdmin());
// total imported
assertEquals(12, result.getNbRowsImported());
@@ -554,7 +457,7 @@
assertEquals(1, result.getNbRowsRefused());
/** CHECK VALUES **/
- transaction = manager.getContext().beginTransaction();
+ TopiaContext transaction = manager.getContext().beginTransaction();
SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
@@ -585,8 +488,6 @@
Collection<FishingZone> zones = row1.getFishingZone();
assertEquals(2, zones.size());
- zones.contains(zoneI);
- zones.contains(zoneIId);
Collection<DCF5Code> dcf5codes = row1.getDCF5Code();
assertEquals(1, dcf5codes.size());
@@ -598,24 +499,7 @@
@Test
public void testGetPrograms() throws Exception {
- /** PREPARE DATA **/
- TopiaContext transaction = manager.getContext().beginTransaction();
-
- FishingZoneDAO zoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction);
- zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IId");
- zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IV");
- zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "I");
-
- CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
- companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
- companyDAO.create(Company.PROPERTY_NAME, "BIS");
- transaction.commitTransaction();
- transaction.closeContext();
-
- InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
-
- /** EXEC METHOD **/
+ obsMerFixtures.samplingPlan();
List<String> programs = serviceSampling.getPrograms(null);
assertEquals(4, programs.size());
}
@@ -623,40 +507,12 @@
@Test
public void testGetNewSampleRowCode() throws Exception {
- /** PREPARE DATA **/
- TopiaContext transaction = manager.getContext().beginTransaction();
+ obsMerFixtures.samplingPlan();
- FishingZoneDAO zoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction);
- FishingZone zoneIId = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IId");
- FishingZone zoneIV = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IV");
- FishingZone zoneI = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "I");
-
- CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
- companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
- companyDAO.create(Company.PROPERTY_NAME, "BIS");
- transaction.commitTransaction();
-
- ServiceSampling serviceSampling = manager.getServiceSampling();
- InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
-
- transaction.closeContext();
-
- /** EXEC METHOD **/
-
Calendar begin = new GregorianCalendar(2009, 11, 1);
String result = serviceSampling.getNewSampleRowCode(begin.getTime());
Assert.assertEquals("2009_0007", result);
-
- // Test regex for replacment in importSamplingPlanCsv
-// String code = "2010_1";
-// code = code.replaceFirst("_(\\d)$", "_0$1");
-// Assert.assertEquals("2010_01", code);
-//
-// code = "2010_04";
-// code = code.replaceFirst("_(\\d)$", "_0$1");
-// Assert.assertEquals("2010_04", code);
}
}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisTest.java 2011-06-10 16:35:23 UTC (rev 1336)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisTest.java 2011-06-10 22:25:28 UTC (rev 1337)
@@ -83,47 +83,13 @@
*/
@Test
public void testGetBoardingBoats() throws Exception {
- /** PREPARE DATA **/
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = manager.getServiceBoat();
- serviceBoat.importBoatCsv(input);
- List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
- Boat boat = boats.get(0);
+ Boat boat = obsMerFixtures.samourai();
+ Boat boat2 = obsMerFixtures.mayflowers();
+ WaoUser user = obsMerFixtures.jeanMichmuche();
+ SampleRow row = obsMerFixtures.row2010_0001();
- List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
- Boat boat2 = boats2.get(0);
+ ConnectedUser connectedUser = obsMerFixtures.jeanMichmucheAsObserver();
- TopiaContext transaction = manager.getContext().beginTransaction();
-
- CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
- Company company = companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
- Company company2 = companyDAO.create(Company.PROPERTY_NAME, "BIS");
-
- WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
- WaoUser user = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Jean", WaoUser.PROPERTY_LAST_NAME, "Michmuche",
- WaoUser.PROPERTY_COMPANY, company);
- company.addWaoUser(user);
- WaoUser user2 = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Bill", WaoUser.PROPERTY_LAST_NAME, "Murray",
- WaoUser.PROPERTY_COMPANY, company2);
- company2.addWaoUser(user2);
-
- transaction.commitTransaction();
-
- input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- ServiceReferential serviceReferential = manager.getServiceReferential();
- serviceReferential.importFishingZoneCsv(input);
-
- input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- ServiceSampling serviceSampling = manager.getServiceSampling();
- serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
-
- SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_0001");
-
- transaction.closeContext();
-
- ConnectedUser connectedUser = getConnectedUser(user, UserRole.ADMIN, ObsProgram.OBSMER);
-
ServiceContact serviceContact = manager.getServiceContact();
// First contact : OK
Contact contact1 = new ContactImpl();
@@ -181,48 +147,19 @@
*/
@Test
public void testGetComplianceBoardingIndicator() throws Exception {
- /** PREPARE DATA **/
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = manager.getServiceBoat();
- serviceBoat.importBoatCsv(input);
- List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
- Boat boat = boats.get(0);
+ Boat boat = obsMerFixtures.samourai();
+ Boat boat2 = obsMerFixtures.mayflowers();
+ Company company = obsMerFixtures.tartanpion();
+ Company company2 = obsMerFixtures.bis();
+ WaoUser user = obsMerFixtures.jeanMichmuche();
+ WaoUser user2 = obsMerFixtures.billMurray();
+ obsMerFixtures.samplingPlan();
- List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
- Boat boat2 = boats2.get(0);
+ SampleRow row = obsMerFixtures.row2010_0001();
+ SampleRow row2 = obsMerFixtures.row2009_0006();
- TopiaContext transaction = manager.getContext().beginTransaction();
+ ConnectedUser connectedUser = obsMerFixtures.jeanMichmucheAsObserver();
- CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
- Company company = companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
- Company company2 = companyDAO.create(Company.PROPERTY_NAME, "BIS");
-
- WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
- WaoUser user = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Jean", WaoUser.PROPERTY_LAST_NAME, "Michmuche",
- WaoUser.PROPERTY_COMPANY, company);
- company.addWaoUser(user);
- WaoUser user2 = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Bill", WaoUser.PROPERTY_LAST_NAME, "Murray",
- WaoUser.PROPERTY_COMPANY, company2);
- company2.addWaoUser(user2);
-
- transaction.commitTransaction();
-
- input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- ServiceReferential serviceReferential = manager.getServiceReferential();
- serviceReferential.importFishingZoneCsv(input);
-
- input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- ServiceSampling serviceSampling = manager.getServiceSampling();
- serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
-
- SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_0001");
- SampleRow row2 = rowDAO.findByCode("2009_0006");
-
- transaction.closeContext();
-
- ConnectedUser connectedUser = getConnectedUser(user, UserRole.ADMIN, ObsProgram.OBSMER);
-
ServiceContact serviceContact = manager.getServiceContact();
// First contact : OK
Contact contact1 = new ContactImpl();
@@ -267,8 +204,6 @@
contact3.setValidationCompany(Boolean.TRUE);
serviceContact.saveContact(connectedUser, contact3, false);
- /** EXEC METHOD **/
-
// result for company TARTANPION
SamplingFilter filter = new SamplingFilterImpl();
filter.setCompany(company);
@@ -364,48 +299,19 @@
*/
@Test
public void testGetContactDataInputDateReactivity() throws Exception {
- /** PREPARE DATA **/
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = manager.getServiceBoat();
- serviceBoat.importBoatCsv(input);
- List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
- Boat boat = boats.get(0);
- List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
- Boat boat2 = boats2.get(0);
+ Boat boat = obsMerFixtures.samourai();
+ Boat boat2 = obsMerFixtures.mayflowers();
+ Company company = obsMerFixtures.tartanpion();
+ WaoUser user = obsMerFixtures.jeanMichmuche();
+ WaoUser user2 = obsMerFixtures.billMurray();
+ obsMerFixtures.samplingPlan();
- TopiaContext transaction = manager.getContext().beginTransaction();
+ SampleRow row = obsMerFixtures.row2010_0001();
+ SampleRow row2 = obsMerFixtures.row2009_0006();
- CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
- Company company = companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
- Company company2 = companyDAO.create(Company.PROPERTY_NAME, "BIS");
+ ConnectedUser connectedUser = obsMerFixtures.jeanMichmucheAsObserver();
- WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
- WaoUser user = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Jean", WaoUser.PROPERTY_LAST_NAME, "Michmuche",
- WaoUser.PROPERTY_COMPANY, company);
- company.addWaoUser(user);
- WaoUser user2 = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Bill", WaoUser.PROPERTY_LAST_NAME, "Murray",
- WaoUser.PROPERTY_COMPANY, company2);
- company2.addWaoUser(user2);
-
- transaction.commitTransaction();
-
- input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- ServiceReferential serviceReferential = manager.getServiceReferential();
- serviceReferential.importFishingZoneCsv(input);
-
- input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- ServiceSampling serviceSampling = manager.getServiceSampling();
- serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
-
- SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_0001");
- SampleRow row2 = rowDAO.findByCode("2009_0006");
-
- transaction.closeContext();
-
- ConnectedUser connectedUser = getConnectedUser(user, UserRole.ADMIN, ObsProgram.OBSMER);
-
ServiceContact serviceContact = manager.getServiceContact();
// First contact : OK
Contact contact1 = new ContactImpl();
@@ -449,8 +355,6 @@
contact3.setValidationCompany(Boolean.TRUE);
serviceContact.saveContact(connectedUser, contact3, false);
- /** EXEC METHOD **/
-
PeriodDates period = new PeriodDates(begin, begin);
SamplingFilter filter = new SamplingFilterImpl();
filter.setCompany(company);
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java 2011-06-10 16:35:23 UTC (rev 1336)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java 2011-06-10 22:25:28 UTC (rev 1337)
@@ -34,6 +34,7 @@
import fr.ifremer.wao.entity.UserProfileDAO;
import fr.ifremer.wao.entity.UserProfileImpl;
import fr.ifremer.wao.entity.WaoUser;
+import fr.ifremer.wao.entity.WaoUserDAO;
import fr.ifremer.wao.entity.WaoUserImpl;
import org.apache.commons.lang.StringUtils;
import org.junit.Assert;
@@ -63,6 +64,25 @@
service = manager.getServiceUser();
}
+ protected WaoUser findUserByLogin(String login)
+ throws TopiaException {
+ WaoUser user = null;
+ TopiaContext transaction = manager.getContext().beginTransaction();
+ try {
+ WaoUserDAO dao =
+ WaoDAOHelper.getWaoUserDAO(transaction);
+
+ user = dao.findByLogin(login);
+ // Load company
+ if (user != null) {
+ user.getCompany();
+ }
+ } finally {
+ transaction.closeContext();
+ }
+ return user;
+ }
+
/**
* Test of createUpdateUser method, of class ServiceUserImpl.
*
1
0
[Suiviobsmer-commits] r1336 - in trunk/wao-business/src: main/java/fr/ifremer/wao/bean test/java/fr/ifremer/wao/business test/java/fr/ifremer/wao/business/fixtures test/java/fr/ifremer/wao/entity test/java/fr/ifremer/wao/service
by bleny@users.labs.libre-entreprise.org 10 Jun '11
by bleny@users.labs.libre-entreprise.org 10 Jun '11
10 Jun '11
Author: bleny
Date: 2011-06-10 16:35:23 +0000 (Fri, 10 Jun 2011)
New Revision: 1336
Log:
refactoring tests
Added:
trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsMerTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/
trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/Fixtures.java
trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java
trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java
Removed:
trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebFixtures.java
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ConnectedUserImpl.java
trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebFieldWorkTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebPhoneTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/AbstractServiceTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceCartographyImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisTest.java
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ConnectedUserImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ConnectedUserImpl.java 2011-06-10 08:49:15 UTC (rev 1335)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ConnectedUserImpl.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -133,8 +133,8 @@
public String toString() {
StringBuilder toStringBuilder = new StringBuilder();
toStringBuilder.append(getFullName()).append(" (")
- .append(getUser().getCompany().getName())
- .append(getProfile().getDescription());
+ .append(getUser().getCompany().getName()).append(", ")
+ .append(getProfile().getDescription()).append(")");
return toStringBuilder.toString();
}
}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebFieldWorkTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebFieldWorkTest.java 2011-06-10 08:49:15 UTC (rev 1335)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebFieldWorkTest.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -34,6 +34,7 @@
import fr.ifremer.wao.bean.SamplingFilter;
import fr.ifremer.wao.bean.SamplingFilterValues;
import fr.ifremer.wao.bean.ValidationResult;
+import fr.ifremer.wao.business.fixtures.ObsDebFixtures;
import fr.ifremer.wao.entity.Boat;
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.ObsDebCode;
@@ -44,7 +45,6 @@
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.junit.Assert;
-import org.junit.Before;
import org.junit.Test;
import org.nuiton.util.DateUtil;
import org.nuiton.util.PeriodDates;
@@ -77,13 +77,8 @@
"PLAN_CODE;REGION_IFREMER_COD;OBSERVATEUR_COD;OBSERVATION_DATE;UNITE_OBSERVATION_COD;OBSERVATEURS;LIGNE_SANS_CONTACTS\n"
+ "2011_890;GA;OBS1;13/02/2010;UO007;josh;N";
- protected ObsDebFixtures fixtures;
+ protected ObsDebFixtures fixtures = new ObsDebFixtures(manager);
- @Before
- public void setUpFixtures() {
- fixtures = new ObsDebFixtures(manager);
- }
-
/**
* As an admin, i must be able to import terrestrial divisions
*/
Deleted: trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebFixtures.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebFixtures.java 2011-06-10 08:49:15 UTC (rev 1335)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebFixtures.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -1,146 +0,0 @@
-package fr.ifremer.wao.business;
-
-import fr.ifremer.wao.WaoServices;
-import fr.ifremer.wao.WaoBusinessException;
-import fr.ifremer.wao.bean.ConnectedUser;
-import fr.ifremer.wao.bean.ObsProgram;
-import fr.ifremer.wao.bean.UserRole;
-import fr.ifremer.wao.entity.Boat;
-import fr.ifremer.wao.entity.Company;
-import fr.ifremer.wao.entity.CompanyImpl;
-import fr.ifremer.wao.entity.UserProfile;
-import fr.ifremer.wao.entity.UserProfileImpl;
-import fr.ifremer.wao.entity.WaoUser;
-import fr.ifremer.wao.entity.WaoUserImpl;
-import fr.ifremer.wao.service.ServiceBoat;
-
-import java.io.InputStream;
-
-public class ObsDebFixtures {
-
- protected WaoServices manager;
-
- protected WaoUser josh;
- protected Company codeLutin;
- protected Company ifremer;
- protected Boat moise;
- protected Boat samourai;
-
- protected boolean boatsImported;
-
- public ObsDebFixtures(WaoServices manager) {
- this.manager = manager;
- }
-
- public Company codeLutin() {
- if (codeLutin == null) {
- codeLutin = new CompanyImpl();
- codeLutin.setName("Code Lutin");
- codeLutin.setActive(true);
- manager.getServiceUser().createUpdateCompany(codeLutin);
- }
- return codeLutin;
- }
-
- public Company ifremer() {
- if (ifremer == null) {
- ifremer = new CompanyImpl();
- ifremer.setName("Ifremer");
- ifremer.setActive(true);
- manager.getServiceUser().createUpdateCompany(ifremer);
- }
- return ifremer;
- }
-
- public void boats() {
- if ( ! boatsImported) {
- ServiceBoat serviceBoat = manager.getServiceBoat();
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- try {
- serviceBoat.importBoatCsv(input);
- } catch (WaoBusinessException e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- public Boat samourai() {
- if (samourai == null) {
- boats();
- ServiceBoat serviceBoat = manager.getServiceBoat();
- try {
- samourai = serviceBoat.getBoat(174258);
- } catch (WaoBusinessException e) {
- throw new RuntimeException(e);
- }
- }
- return samourai;
- }
-
- public Boat moise() {
- if (moise == null) {
- boats();
- ServiceBoat serviceBoat = manager.getServiceBoat();
- try {
- moise = serviceBoat.getBoat(273129);
- } catch (WaoBusinessException e) {
- throw new RuntimeException(e);
- }
- }
- return moise;
- }
-
- public WaoUser josh() {
- if (josh == null) {
- josh = new WaoUserImpl();
- josh.setLogin("josh");
- josh.setFirstName("Joshua");
- josh.setLastName("B.");
- josh.setPassword(manager.getContext().encodeString("mdp"));
- josh.setActive(true);
- josh.setCompany(codeLutin());
- UserProfile adminProfile = new UserProfileImpl(ObsProgram.OBSDEB, UserRole.ADMIN, true);
- UserProfile coordinatorProfile = new UserProfileImpl(ObsProgram.OBSDEB, UserRole.COORDINATOR, true);
- UserProfile observerProfile = new UserProfileImpl(ObsProgram.OBSDEB, UserRole.OBSERVER, true);
- josh.addUserProfile(adminProfile);
- josh.addUserProfile(coordinatorProfile);
- josh.addUserProfile(observerProfile);
- try {
- manager.getServiceUser().createUpdateUser(josh, false);
- } catch (WaoBusinessException e) {
- throw new RuntimeException(e);
- }
- josh.setPassword("mdp");
- }
- return josh;
- }
-
- protected ConnectedUser joshAs(UserRole userRole) {
- // first, log in as josh
- ConnectedUser connectedUser = null;
- try {
- connectedUser = manager.getServiceUser().connect(josh().getLogin(), josh().getPassword());
- } catch (WaoBusinessException e) {
- throw new RuntimeException(e);
- }
- // then choose profile
- for (UserProfile userProfile : josh().getUserProfile()) {
- if (userProfile.getUserRole() == userRole) {
- connectedUser.setProfile(userProfile);
- }
- }
- return connectedUser;
- }
-
- public ConnectedUser joshAsAdministrator() {
- return joshAs(UserRole.ADMIN);
- }
-
- public ConnectedUser joshAsCoordinator() {
- return joshAs(UserRole.COORDINATOR);
- }
-
- public ConnectedUser joshAsObserver() {
- return joshAs(UserRole.OBSERVER);
- }
-}
\ No newline at end of file
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebPhoneTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebPhoneTest.java 2011-06-10 08:49:15 UTC (rev 1335)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebPhoneTest.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -3,6 +3,7 @@
import fr.ifremer.wao.WaoBusinessException;
import fr.ifremer.wao.bean.ContactState;
import fr.ifremer.wao.bean.ObservationType;
+import fr.ifremer.wao.business.fixtures.ObsDebFixtures;
import fr.ifremer.wao.entity.Boat;
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.ObsDebCode;
@@ -11,7 +12,6 @@
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.time.DateUtils;
import org.junit.Assert;
-import org.junit.Before;
import org.junit.Test;
import org.nuiton.util.DateUtil;
import org.slf4j.Logger;
@@ -31,13 +31,8 @@
"PLAN_CODE;REGION_IFREMER;SOCIETE;OBSERVATEUR_COD;OBSERVATION_DATE;NAVIRE_COD;OBSERVATEURS\n"
+ "2011_901;MA;Code Lutin;OBS1;6/2010;174258;";
- protected ObsDebFixtures fixtures;
+ protected ObsDebFixtures fixtures = new ObsDebFixtures(manager);
- @Before
- public void setUpFixtures() {
- fixtures = new ObsDebFixtures(manager);
- }
-
@Test
public void adminCanImportPhoneSamplingPlan() throws WaoBusinessException {
manager.setCurrentDate(2, 1, 2010);
Added: trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsMerTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsMerTest.java (rev 0)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsMerTest.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -0,0 +1,42 @@
+package fr.ifremer.wao.business;
+
+import fr.ifremer.wao.WaoBusinessException;
+import fr.ifremer.wao.business.fixtures.ObsMerFixtures;
+import fr.ifremer.wao.io.ImportResults;
+import org.apache.commons.io.IOUtils;
+import org.junit.Assert;
+import org.junit.Rule;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.InputStream;
+
+public class ObsMerTest extends AbstractBusinessTest {
+
+ private static final Logger log =
+ LoggerFactory.getLogger(ObsMerTest.class);
+
+ @Rule
+ public ObsMerFixtures fixtures = new ObsMerFixtures(manager);
+
+ @Test
+ public void adminCanImportSamplingPlan() {
+
+ fixtures.tartanpion();
+ fixtures.bis();
+ fixtures.fishingZones();
+
+ InputStream input = null;
+ try {
+ input = getClass().getResourceAsStream("/import/echantillonnage.csv");
+ ImportResults result = serviceSampling.importSamplingPlanCsv(input, fixtures.jeanMichmucheAsAdmin());
+ Assert.assertEquals(12, result.getNbRowsImported());
+ Assert.assertEquals(1, result.getNbRowsRefused());
+ } catch (WaoBusinessException e) {
+ log.error("error while importing sampling plan", e);
+ } finally {
+ IOUtils.closeQuietly(input);
+ }
+ }
+}
Copied: trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/Fixtures.java (from rev 1327, trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebFixtures.java)
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/Fixtures.java (rev 0)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/Fixtures.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -0,0 +1,161 @@
+package fr.ifremer.wao.business.fixtures;
+
+import fr.ifremer.wao.WaoBusinessException;
+import fr.ifremer.wao.WaoServices;
+import fr.ifremer.wao.bean.ConnectedUser;
+import fr.ifremer.wao.bean.ObsProgram;
+import fr.ifremer.wao.bean.UserRole;
+import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.entity.Company;
+import fr.ifremer.wao.entity.CompanyImpl;
+import fr.ifremer.wao.entity.UserProfile;
+import fr.ifremer.wao.entity.UserProfileImpl;
+import fr.ifremer.wao.entity.WaoUser;
+import fr.ifremer.wao.entity.WaoUserImpl;
+import fr.ifremer.wao.service.ServiceBoat;
+import org.junit.rules.ExternalResource;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.Map;
+
+public abstract class Fixtures extends ExternalResource {
+
+ protected WaoServices manager;
+
+ protected Map<String, Company> companies = new HashMap<String, Company>();
+
+ protected Map<String, WaoUser> waoUsers = new HashMap<String, WaoUser>();
+
+ protected Map<Integer, Boat> boats;
+
+ protected TopiaContext transaction;
+
+ public Fixtures(WaoServices manager) {
+ if (manager == null) {
+ throw new NullPointerException();
+ }
+ this.manager = manager;
+ }
+
+ @Override
+ public void before() {}
+
+ @Override
+ public void after() {
+ if (transaction != null && ! transaction.isClosed()) {
+ try {
+ transaction.closeContext();
+ } catch (TopiaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+ protected TopiaContext getTransaction() {
+ if (transaction == null) {
+ try {
+ transaction = manager.getContext().beginTransaction();
+ } catch (TopiaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ return transaction;
+ }
+
+ protected abstract ObsProgram getObsProgram();
+
+ protected Company getCompany(String name) {
+ Company company = companies.get(name);
+ if (company == null) {
+ company = new CompanyImpl();
+ company.setName(name);
+ company.setActive(true);
+ manager.getServiceUser().createUpdateCompany(company);
+ companies.put(name, company);
+ }
+ return company;
+ }
+
+ protected WaoUser getWaoUser(String login, String password, String firstName, String lastName, Company company) {
+ WaoUser waoUser = waoUsers.get(login);
+ if (waoUser == null) {
+ waoUser = new WaoUserImpl();
+ waoUser.setLogin(login);
+ waoUser.setPassword(manager.getContext().encodeString(password));
+ waoUser.setFirstName(firstName);
+ waoUser.setLastName(lastName);
+ waoUser.setCompany(company);
+ waoUser.setActive(true);
+ UserProfile adminProfile = new UserProfileImpl(getObsProgram(), UserRole.ADMIN, true);
+ UserProfile coordinatorProfile = new UserProfileImpl(getObsProgram(), UserRole.COORDINATOR, true);
+ UserProfile observerProfile = new UserProfileImpl(getObsProgram(), UserRole.OBSERVER, true);
+ waoUser.addUserProfile(adminProfile);
+ waoUser.addUserProfile(coordinatorProfile);
+ waoUser.addUserProfile(observerProfile);
+ try {
+ manager.getServiceUser().createUpdateUser(waoUser, false);
+ } catch (WaoBusinessException e) {
+ throw new RuntimeException(e);
+ }
+ waoUser.setPassword(password);
+ waoUsers.put(waoUser.getLogin(), waoUser);
+ }
+ return waoUser;
+ }
+
+ public ConnectedUser connectedUser(WaoUser user, UserRole userRole) {
+ // first, log in
+ ConnectedUser connectedUser;
+ try {
+ System.out.println("trying to connect " + user.getLogin() + " " + user.getPassword());
+ connectedUser = manager.getServiceUser().connect(user.getLogin(), user.getPassword());
+ } catch (WaoBusinessException e) {
+ throw new RuntimeException(e);
+ }
+ // then choose profile
+ for (UserProfile userProfile : user.getUserProfile()) {
+ if (userProfile.getUserRole() == userRole) {
+ connectedUser.setProfile(userProfile);
+ }
+ }
+ return connectedUser;
+ }
+
+ public void boats() {
+ if (boats == null) {
+ boats = new HashMap<Integer, Boat>();
+ ServiceBoat serviceBoat = manager.getServiceBoat();
+ InputStream input = getClass().getResourceAsStream("/import/navires.csv");
+ try {
+ serviceBoat.importBoatCsv(input);
+ } catch (WaoBusinessException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+ protected Boat getBoat(Integer immatriculation) {
+ boats();
+ Boat boat = boats.get(immatriculation);
+ if (boat == null) {
+ ServiceBoat serviceBoat = manager.getServiceBoat();
+ try {
+ boat = serviceBoat.getBoat(immatriculation);
+ } catch (WaoBusinessException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ return boat;
+ }
+
+ public Boat samourai() {
+ return getBoat(174258);
+ }
+
+ public Boat moise() {
+ return getBoat(273129);
+ }
+}
\ No newline at end of file
Copied: trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java (from rev 1327, trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebFixtures.java)
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java (rev 0)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -0,0 +1,44 @@
+package fr.ifremer.wao.business.fixtures;
+
+import fr.ifremer.wao.WaoServices;
+import fr.ifremer.wao.bean.ConnectedUser;
+import fr.ifremer.wao.bean.ObsProgram;
+import fr.ifremer.wao.bean.UserRole;
+import fr.ifremer.wao.entity.Company;
+import fr.ifremer.wao.entity.WaoUser;
+
+public class ObsDebFixtures extends Fixtures {
+
+ public ObsDebFixtures(WaoServices manager) {
+ super(manager);
+ }
+
+ @Override
+ protected ObsProgram getObsProgram() {
+ return ObsProgram.OBSDEB;
+ }
+
+ public Company codeLutin() {
+ return getCompany("Code Lutin");
+ }
+
+ public Company ifremer() {
+ return getCompany("Ifremer");
+ }
+
+ public WaoUser josh() {
+ return getWaoUser("josh", "mdp", "Joshua", "B.", codeLutin());
+ }
+
+ public ConnectedUser joshAsAdministrator() {
+ return connectedUser(josh(), UserRole.ADMIN);
+ }
+
+ public ConnectedUser joshAsCoordinator() {
+ return connectedUser(josh(), UserRole.COORDINATOR);
+ }
+
+ public ConnectedUser joshAsObserver() {
+ return connectedUser(josh(), UserRole.OBSERVER);
+ }
+}
Added: trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java (rev 0)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -0,0 +1,197 @@
+package fr.ifremer.wao.business.fixtures;
+
+import fr.ifremer.wao.WaoBusinessException;
+import fr.ifremer.wao.WaoDAOHelper;
+import fr.ifremer.wao.WaoServices;
+import fr.ifremer.wao.bean.ConnectedUser;
+import fr.ifremer.wao.bean.ContactState;
+import fr.ifremer.wao.bean.ObsProgram;
+import fr.ifremer.wao.bean.UserRole;
+import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.entity.Company;
+import fr.ifremer.wao.entity.Contact;
+import fr.ifremer.wao.entity.ContactImpl;
+import fr.ifremer.wao.entity.SampleRow;
+import fr.ifremer.wao.entity.SampleRowDAO;
+import fr.ifremer.wao.entity.WaoUser;
+import fr.ifremer.wao.service.ServiceContact;
+import fr.ifremer.wao.service.ServiceSampling;
+import org.apache.commons.io.IOUtils;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.util.DateUtil;
+
+import java.io.InputStream;
+import java.util.Date;
+
+public class ObsMerFixtures extends Fixtures {
+
+ public ObsMerFixtures(WaoServices manager) {
+ super(manager);
+ }
+
+ @Override
+ protected ObsProgram getObsProgram() {
+ return ObsProgram.OBSMER;
+ }
+
+ public Company tartanpion() {
+ return getCompany("TARTANPION");
+ }
+
+ public Company bis() {
+ return getCompany("BIS");
+ }
+
+ protected boolean fishingZonesImported = false;
+
+ public void fishingZones() {
+ if ( ! fishingZonesImported) {
+ InputStream input = null;
+ try {
+ input = getClass().getResourceAsStream("/import/zonesPeche.csv");
+ manager.getServiceReferential().importFishingZoneCsv(input);
+ } finally {
+ IOUtils.closeQuietly(input);
+ }
+ fishingZonesImported = true;
+ }
+ }
+
+ public WaoUser jeanMichmuche() {
+ return getWaoUser("jmichmuche", "mdp", "Jean", "Michmuche", tartanpion());
+ }
+
+ public WaoUser billMurray() {
+ return getWaoUser("BillMurray", "mdp", "Bill", "Murray", bis());
+ }
+
+ public ConnectedUser jeanMichmucheAsAdmin() {
+ ConnectedUser connectedUser = connectedUser(jeanMichmuche(), UserRole.ADMIN);
+ return connectedUser;
+ }
+
+ public void samplingPlan() {
+ tartanpion();
+ bis();
+ fishingZones();
+ ServiceSampling serviceSampling = manager.getServiceSampling();
+ InputStream input = null;
+ try {
+ input = getClass().getResourceAsStream("/import/echantillonnage.csv");
+ serviceSampling.importSamplingPlanCsv(input, jeanMichmucheAsAdmin());
+ } catch (WaoBusinessException e) {
+ throw new RuntimeException(e);
+ } finally {
+ IOUtils.closeQuietly(input);
+ }
+ }
+
+ public ConnectedUser connectedAdmin() {
+ return jeanMichmucheAsAdmin();
+ }
+
+ public ConnectedUser jeanMichmucheAsObserver() {
+ return connectedUser(jeanMichmuche(), UserRole.OBSERVER);
+ }
+
+ public ConnectedUser billMurrayAsObserver() {
+ return connectedUser(billMurray(), UserRole.OBSERVER);
+ }
+
+ public Boat mayflowers() {
+ return getBoat(177474);
+ }
+
+ public void contacts() {
+ Boat boat = samourai();
+ Boat boat2 = mayflowers();
+ WaoUser user = jeanMichmuche();
+ WaoUser user2 = billMurray();
+ samplingPlan();
+
+ try {
+ manager.setCurrentDate(DateUtil.createDate(5, 10, 2010));
+
+ SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(getTransaction());
+ SampleRow row = rowDAO.findByCode("2010_0001");
+ SampleRow row2 = rowDAO.findByCode("2009_0006");
+
+ ServiceContact serviceContact = manager.getServiceContact();
+
+ ConnectedUser connectedUser = jeanMichmucheAsAdmin();
+
+ // Contacts for company TARTANPION
+ Contact contact1 = new ContactImpl();
+ contact1.setBoat(boat);
+ contact1.setMainObserver(user);
+ contact1.setSampleRow(row);
+ contact1.setContactState(ContactState.OBSERVATION_DONE);
+ Date begin = DateUtil.createDate(3, 3, 2010);
+ contact1.setObservationBeginDate(begin);
+ Date end = DateUtil.createDate(4, 3, 2010);
+ contact1.setObservationEndDate(end);
+ serviceContact.saveContact(connectedUser, contact1, false);
+
+ Contact contact2 = new ContactImpl();
+ contact2.setBoat(boat);
+ contact2.setMainObserver(user);
+ contact2.setSampleRow(row);
+ contact2.setContactState(ContactState.OBSERVATION_DONE);
+ begin = DateUtil.createDate(3, 10, 2010);
+ contact2.setObservationBeginDate(begin);
+ end = DateUtil.createDate(4, 10, 2010);
+ contact2.setObservationEndDate(end);
+ serviceContact.saveContact(connectedUser, contact2, false);
+
+ Contact contact3 = new ContactImpl();
+ contact3.setBoat(boat);
+ contact3.setMainObserver(user);
+ contact3.setSampleRow(row);
+ contact3.setContactState(ContactState.CONTACT_REFUSED);
+ begin = DateUtil.createDate(3, 5, 2010);
+ end = DateUtil.createDate(4, 5, 2010);
+ contact3.setObservationEndDate(end);
+ contact3.setCreationDate(begin);
+ serviceContact.saveContact(connectedUser, contact3, false);
+
+ // Contacts for company BIS
+ Contact contact4 = new ContactImpl();
+ contact4.setBoat(boat2);
+ contact4.setMainObserver(user2);
+ contact4.setSampleRow(row2);
+ contact4.setContactState(ContactState.OBSERVATION_EXPECTED);
+ begin = DateUtil.createDate(3, 3, 2010);
+ end = DateUtil.createDate(4, 3, 2010);
+ contact4.setObservationEndDate(end);
+ contact4.setCreationDate(begin);
+ serviceContact.saveContact(connectedUser, contact4, false);
+
+ Contact contact5 = new ContactImpl();
+ contact5.setBoat(boat2);
+ contact5.setMainObserver(user2);
+ contact5.setSampleRow(row2);
+ contact5.setContactState(ContactState.OBSERVATION_CANCELLED);
+ begin = DateUtil.createDate(3, 5, 2010);
+ end = DateUtil.createDate(4, 5, 2010);
+ contact5.setObservationEndDate(end);
+ contact5.setCreationDate(begin);
+ serviceContact.saveContact(connectedUser, contact5, false);
+
+ // Contact refused by program, will not be in result
+ Contact contact6 = new ContactImpl();
+ contact6.setBoat(boat2);
+ contact6.setMainObserver(user2);
+ contact6.setSampleRow(row2);
+ contact6.setContactState(ContactState.OBSERVATION_CANCELLED);
+ begin = DateUtil.createDate(3, 3, 2010);
+ contact6.setCreationDate(begin);
+ end = DateUtil.createDate(4, 3, 2010);
+ contact6.setObservationEndDate(end);
+ contact6.setValidationProgram(Boolean.FALSE);
+ serviceContact.saveContact(connectedUser, contact6, false);
+ } catch (TopiaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java 2011-06-10 08:49:15 UTC (rev 1335)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -26,27 +26,24 @@
import fr.ifremer.wao.WaoDAOHelper;
import fr.ifremer.wao.WaoServices;
-import fr.ifremer.wao.bean.ConnectedUser;
import fr.ifremer.wao.bean.ContactState;
import fr.ifremer.wao.bean.DataReliability;
import fr.ifremer.wao.bean.ObsProgram;
-import fr.ifremer.wao.bean.UserRole;
+import fr.ifremer.wao.business.fixtures.ObsMerFixtures;
import fr.ifremer.wao.service.AbstractServiceTest;
-import fr.ifremer.wao.service.ServiceBoat;
import fr.ifremer.wao.service.ServiceContact;
-import fr.ifremer.wao.service.ServiceSampling;
-import fr.ifremer.wao.service.ServiceUser;
+import org.junit.After;
import org.junit.Assert;
+import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
import org.nuiton.util.DateUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.InputStream;
import java.util.Date;
-import java.util.List;
/**
* BoatImplTest
@@ -59,68 +56,46 @@
private static final Logger log = LoggerFactory.getLogger(BoatImplTest.class);
- /**
- * Test of canCreateContact method, of class BoatImpl.
- */
- @Test
- public void testCanCreateContact() throws Exception {
- /** PREPARE DATA **/
- ServiceUser serviceUser = manager.getServiceUser();
- Company company = new CompanyImpl();
- company.setName("TARTANPION");
- serviceUser.createUpdateCompany(company);
- Company company2 = new CompanyImpl();
- company2.setName("BIS");
- serviceUser.createUpdateCompany(company2);
-
- WaoUser user = new WaoUserImpl();
- user.setLogin("user");
- user.setFirstName("Jean");
- user.setLastName("Michmuche");
- user.setCompany(company);
- serviceUser.createUpdateUser(user, true);
+ protected TopiaContext transaction;
- ConnectedUser connectedUser = getConnectedUser(user, UserRole.ADMIN, ObsProgram.OBSMER);
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = manager.getServiceBoat();
- serviceBoat.importBoatCsv(input);
- List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
- Boat boat = boats.get(0);
+ protected SampleRow row;
+ protected SampleRow row2;
+ protected ServiceContact serviceContact;
- TopiaContext transaction = manager.getContext().beginTransaction();
+ @Before
+ public void initSampleRows() throws TopiaException {
+ obsMerFixtures.samplingPlan();
- FishingZoneDAO zoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction);
- FishingZone zoneIId = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IId");
- FishingZone zoneIV = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IV");
- FishingZone zoneI = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "I");
+ transaction = manager.getContext().beginTransaction();
+ SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
+ row = rowDAO.findByCode("2010_0001");
+ row2 = rowDAO.findByCode("2009_0006");
- transaction.commitTransaction();
+ serviceContact = manager.getServiceContact();
+ }
- ServiceSampling serviceSampling = manager.getServiceSampling();
- input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- serviceSampling.importSamplingPlanCsv(input, getConnectedAdmin());
+ @After
+ public void closeTransaction() throws TopiaException {
+ if (transaction != null) {
+ transaction.closeContext();
+ }
+ }
- SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_0001");
- row.getCompany();
- row.getProfession();
- row.sizeElligibleBoat();
- row.sizeSampleMonth();
- row.sizeSampleRowLog();
- transaction.closeContext();
-
- row.setCompany(company);
- serviceSampling.createUpdateSampleRow(row, boats, new SampleRowLogImpl(), getConnectedAdmin());
+ /**
+ * Test of canCreateContact method, of class BoatImpl.
+ */
+ @Test
+ public void testCanCreateContact() throws Exception {
- ServiceContact serviceContact = manager.getServiceContact();
- Contact contact1 = serviceContact.newContact(connectedUser, row, boat);
+ Boat boat = obsMerFixtures.samourai();
+ Contact contact1 = serviceContact.newContact(obsMerFixtures.jeanMichmucheAsObserver(), row, boat);
contact1.setContactState(ContactState.CONTACT_START);
- serviceContact.saveContact(connectedUser, contact1, false);
+ serviceContact.saveContact(obsMerFixtures.jeanMichmucheAsObserver(), contact1, false);
manager.setCurrentDate(DateUtil.createDate(5, 3, 2010));
/** EXEC METHOD **/
- boolean result = boat.canCreateContact(ObsProgram.OBSMER, company);
+ boolean result = boat.canCreateContact(ObsProgram.OBSMER, obsMerFixtures.tartanpion());
// contact still open
Assert.assertFalse(result);
@@ -128,34 +103,34 @@
contact1.setComment("why contact was definitely refused");
contact1.setDataReliability(DataReliability.RELIABLE);
contact1.setValidationProgram(Boolean.TRUE);
- serviceContact.saveContact(connectedUser, contact1, false);
+ serviceContact.saveContact(obsMerFixtures.jeanMichmucheAsObserver(), contact1, false);
- result = boat.canCreateContact(ObsProgram.OBSMER, company);
+ result = boat.canCreateContact(ObsProgram.OBSMER, obsMerFixtures.tartanpion());
// contact have a definitive refused for this boat
Assert.assertTrue(result);
contact1.setContactState(ContactState.OBSERVATION_DONE);
contact1.setObservationBeginDate(DateUtil.createDate(3, 3, 2010));
contact1.setObservationEndDate(DateUtil.createDate(4, 3, 2010));
- contact1.setMainObserver(user);
- serviceContact.saveContact(connectedUser, contact1, false);
+ contact1.setMainObserver(obsMerFixtures.jeanMichmuche());
+ serviceContact.saveContact(obsMerFixtures.jeanMichmucheAsObserver(), contact1, false);
- result = boat.canCreateContact(ObsProgram.OBSMER, company);
+ result = boat.canCreateContact(ObsProgram.OBSMER, obsMerFixtures.tartanpion());
// contact is finished
Assert.assertTrue(result);
contact1.setContactState(ContactState.OBSERVATION_CANCELLED);
contact1.setComment("why it was cancelled");
- serviceContact.saveContact(connectedUser, contact1, false);
+ serviceContact.saveContact(obsMerFixtures.jeanMichmucheAsObserver(), contact1, false);
- result = boat.canCreateContact(ObsProgram.OBSMER, company);
+ result = boat.canCreateContact(ObsProgram.OBSMER, obsMerFixtures.tartanpion());
// contact is finished
Assert.assertTrue(result);
contact1.setContactState(ContactState.CONTACT_REFUSED);
- serviceContact.saveContact(connectedUser, contact1, false);
+ serviceContact.saveContact(obsMerFixtures.jeanMichmucheAsObserver(), contact1, false);
- result = boat.canCreateContact(ObsProgram.OBSMER, company);
+ result = boat.canCreateContact(ObsProgram.OBSMER, obsMerFixtures.tartanpion());
// contact is finished
Assert.assertTrue(result);
}
@@ -165,79 +140,25 @@
*/
@Test
public void testGetNbBoarding() throws Exception {
- /** PREPARE DATA **/
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = manager.getServiceBoat();
- serviceBoat.importBoatCsv(input);
- List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
- Boat boat = boats.get(0);
- TopiaContext transaction = manager.getContext().beginTransaction();
-
- CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
- Company company = companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
- Company company2 = companyDAO.create(Company.PROPERTY_NAME, "BIS");
-
- WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
- WaoUser user = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Jean", WaoUser.PROPERTY_LAST_NAME, "Michmuche",
- WaoUser.PROPERTY_COMPANY, company);
- company.addWaoUser(user);
- WaoUser user2 = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Bill", WaoUser.PROPERTY_LAST_NAME, "Murray",
- WaoUser.PROPERTY_COMPANY, company2);
- company2.addWaoUser(user2);
-
- transaction.commitTransaction();
-
- FishingZoneDAO zoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction);
- FishingZone zoneIId = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IId");
- FishingZone zoneIV = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IV");
- FishingZone zoneI = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "I");
-
- transaction.commitTransaction();
-
- ServiceSampling serviceSampling = manager.getServiceSampling();
- input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
-
- SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_0001");
- SampleRow row2 = rowDAO.findByCode("2009_0006");
- row.getCompany();
- row.getProfession();
- row.sizeElligibleBoat();
- row.sizeSampleMonth();
- row2.getCompany();
- row2.getProfession();
- row2.sizeElligibleBoat();
- row2.sizeSampleMonth();
-
-// BoatInfosDAO boatInfosDAO = WaoDAOHelper.getBoatInfosDAO(transaction);
-// BoatInfos boatInfos = boatInfosDAO.create(BoatInfos.BOAT, boat, BoatInfos.COMPANY, company);
-
- transaction.closeContext();
-
manager.setCurrentDate(DateUtil.createDate(5, 8, 2010));
- ConnectedUser connectedUser = getConnectedUser(user, UserRole.ADMIN, ObsProgram.OBSMER);
- ServiceContact serviceContact = manager.getServiceContact();
-
- // First contact : OK
- Contact contact1 = serviceContact.newContact(connectedUser, row, boat);
+ Boat boat = obsMerFixtures.samourai();
+ Contact contact1 = serviceContact.newContact(obsMerFixtures.jeanMichmucheAsObserver(), row, boat);
contact1.setContactState(ContactState.OBSERVATION_DONE);
Date begin = DateUtil.createDate(3, 5, 2010);
contact1.setObservationBeginDate(begin);
Date end = DateUtil.createDate(4, 5, 2010);
contact1.setObservationEndDate(end);
contact1.setValidationCompany(Boolean.TRUE);
- serviceContact.saveContact(connectedUser, contact1, false);
- /** EXEC METHOD **/
+ serviceContact.saveContact(obsMerFixtures.jeanMichmucheAsObserver(), contact1, false);
Date fromDate = DateUtil.createDate(1, 5, 2010);
int result = boat.getNbBoarding(fromDate);
Assert.assertEquals(1, result);
- Contact contact2 = serviceContact.newContact(connectedUser, row, boat);
+ Contact contact2 = serviceContact.newContact(obsMerFixtures.jeanMichmucheAsObserver(), row, boat);
// Second contact with ValidationProgram = FALSE
contact2.setContactState(ContactState.OBSERVATION_DONE);
begin = DateUtil.createDate(3, 8, 2010);
@@ -246,12 +167,12 @@
contact2.setObservationEndDate(end);
contact2.setValidationCompany(Boolean.TRUE);
contact2.setValidationProgram(Boolean.FALSE);
- serviceContact.saveContact(connectedUser, contact2, false);
+ serviceContact.saveContact(obsMerFixtures.jeanMichmucheAsAdmin(), contact2, false);
result = boat.getNbBoarding(fromDate);
Assert.assertEquals(1, result);
- Contact contact3 = serviceContact.newContact(connectedUser, row, boat);
+ Contact contact3 = serviceContact.newContact(obsMerFixtures.jeanMichmucheAsObserver(), row, boat);
// Third contact with tideBeginDate < fromDate
contact3.setContactState(ContactState.OBSERVATION_DONE);
begin = DateUtil.createDate(3, 3, 2010);
@@ -259,13 +180,12 @@
end = DateUtil.createDate(4, 3, 2010);
contact3.setObservationEndDate(end);
contact3.setValidationCompany(Boolean.TRUE);
- serviceContact.saveContact(connectedUser, contact3, false);
+ serviceContact.saveContact(obsMerFixtures.jeanMichmucheAsObserver(), contact3, false);
result = boat.getNbBoarding(fromDate);
Assert.assertEquals(1, result);
- connectedUser = getConnectedUser(user2, UserRole.ADMIN, ObsProgram.OBSMER);
- Contact contact4 = serviceContact.newContact(connectedUser, row2, boat);
+ Contact contact4 = serviceContact.newContact(obsMerFixtures.billMurrayAsObserver(), row2, boat);
// Fourth contact : OK with an other company
contact4.setContactState(ContactState.OBSERVATION_DONE);
begin = DateUtil.createDate(3, 5, 2010);
@@ -273,7 +193,7 @@
end = DateUtil.createDate(4, 5, 2010);
contact4.setObservationEndDate(end);
contact4.setValidationCompany(Boolean.TRUE);
- serviceContact.saveContact(connectedUser, contact4, false);
+ serviceContact.saveContact(obsMerFixtures.billMurrayAsObserver(), contact4, false);
result = boat.getNbBoarding(fromDate);
Assert.assertEquals(2, result);
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/AbstractServiceTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/AbstractServiceTest.java 2011-06-10 08:49:15 UTC (rev 1335)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/AbstractServiceTest.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -21,43 +21,35 @@
package fr.ifremer.wao.service;
-import fr.ifremer.wao.WaoServices;
-import fr.ifremer.wao.WaoBusinessException;
import fr.ifremer.wao.WaoDAOHelper;
+import fr.ifremer.wao.WaoServices;
import fr.ifremer.wao.bean.ConnectedUser;
-import fr.ifremer.wao.bean.ConnectedUserImpl;
import fr.ifremer.wao.bean.ContactState;
import fr.ifremer.wao.bean.ObsProgram;
import fr.ifremer.wao.bean.UserRole;
+import fr.ifremer.wao.business.fixtures.ObsMerFixtures;
import fr.ifremer.wao.entity.Boat;
import fr.ifremer.wao.entity.BoatDAO;
import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.entity.CompanyDAO;
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.ContactDAO;
-import fr.ifremer.wao.entity.ContactImpl;
import fr.ifremer.wao.entity.ElligibleBoat;
import fr.ifremer.wao.entity.ElligibleBoatDAO;
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.entity.SampleRowDAO;
-import fr.ifremer.wao.entity.UserProfileImpl;
import fr.ifremer.wao.entity.WaoUser;
import fr.ifremer.wao.entity.WaoUserDAO;
-import fr.ifremer.wao.entity.WaoUserImpl;
import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Rule;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
-import org.nuiton.util.DateUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
-import java.io.InputStream;
-import java.util.Date;
-import java.util.List;
/**
* AbstractServiceTest
@@ -71,15 +63,26 @@
private static final Logger log =
LoggerFactory.getLogger(AbstractServiceTest.class);
+ protected WaoServices getWaoServices() {
+ // laziness ensure that manager is always available whatever the order
+ // of the rules
+ if (manager == null) {
+ manager = new WaoServices();
+ }
+ return manager;
+ }
+
@Rule
- public WaoServices manager = new WaoServices();
+ public WaoServices manager = getWaoServices();
+ @Rule
+ public ObsMerFixtures obsMerFixtures = new ObsMerFixtures(getWaoServices());
+
protected ServiceSamplingImpl serviceSampling;
protected static final String BOAT_DEFAULT_NAME = "SPRINGFIELD";
protected static final int BOAT_DEFAULT_IMMATRICULATION = 123456;
protected static final String SAMPLE_ROW_DEFAULT_CODE = "2010_0001";
- protected static final String COMPANY_DEFAULT_NAME = "TARTANPION";
protected static final String OBSERVER_DEFAULT_FIRST_NAME = "Homer";
protected static final String OBSERVER_DEFAULT_LAST_NAME = "Simpson";
protected static final String OBSERVER_DEFAULT_LOGIN = "homer";
@@ -102,7 +105,7 @@
}
@Before
- public void setUp() throws Exception {
+ public void setUp() throws Throwable {
serviceSampling = (ServiceSamplingImpl) manager.getServiceSampling();
}
@@ -125,7 +128,7 @@
try {
WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
observer = userDAO.create(
- WaoUser.PROPERTY_COMPANY, findDefaultCompany(),
+ WaoUser.PROPERTY_COMPANY, obsMerFixtures.tartanpion(),
WaoUser.PROPERTY_LOGIN, OBSERVER_DEFAULT_LOGIN,
WaoUser.PROPERTY_FIRST_NAME, OBSERVER_DEFAULT_FIRST_NAME,
WaoUser.PROPERTY_LAST_NAME, OBSERVER_DEFAULT_LAST_NAME);
@@ -182,19 +185,6 @@
/**
* Create a company : <br />
* <ul>
- * <li>name : TARTANPION</li>
- * </ul>
- *
- * @return the new Company
- * @throws TopiaException
- */
- protected Company createDefaultCompany() throws TopiaException {
- return createCompany(COMPANY_DEFAULT_NAME);
- }
-
- /**
- * Create a company : <br />
- * <ul>
* <li>name : defined with {@code name} argument</li>
* </ul>
*
@@ -230,7 +220,7 @@
* @throws TopiaException
*/
protected SampleRow createDefaultSampleRow() throws TopiaException {
- return createSampleRow(SAMPLE_ROW_DEFAULT_CODE, findDefaultCompany());
+ return createSampleRow(SAMPLE_ROW_DEFAULT_CODE, obsMerFixtures.tartanpion());
}
/**
@@ -398,28 +388,7 @@
}
return contact;
}
-
- protected Company findDefaultCompany() throws TopiaException {
- Company findCompany = findCompanyByName(BOAT_DEFAULT_NAME);
- if (findCompany == null) {
- findCompany = createDefaultCompany();
- }
- return findCompany;
- }
- protected Company findCompanyByName(String name) throws TopiaException {
- Company company = null;
- TopiaContext transaction = manager.getContext().beginTransaction();
- try {
- CompanyDAO dao = WaoDAOHelper.getCompanyDAO(transaction);
-
- company = dao.findByName(name);
- } finally {
- transaction.closeContext();
- }
- return company;
- }
-
protected SampleRow findDefaultSampleRow(String... properties)
throws TopiaException {
SampleRow findRow = findSampleRowByCode(
@@ -516,136 +485,14 @@
return user;
}
- protected void prepareContactsData(Company company1, Company company2)
- throws WaoBusinessException, TopiaException {
-
- manager.setCurrentDate(DateUtil.createDate(5, 10, 2010));
-
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = manager.getServiceBoat();
- serviceBoat.importBoatCsv(input);
- List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
- Boat boat = boats.get(0);
-
- List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
- Boat boat2 = boats2.get(0);
-
- TopiaContext transaction = manager.getContext().beginTransaction();
-
- WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
- WaoUser user = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Jean", WaoUser.PROPERTY_LAST_NAME, "Michmuche",
- WaoUser.PROPERTY_COMPANY, company1);
- company1.addWaoUser(user);
- WaoUser user2 = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Bill", WaoUser.PROPERTY_LAST_NAME, "Murray",
- WaoUser.PROPERTY_COMPANY, company2);
- company2.addWaoUser(user2);
-
- transaction.commitTransaction();
-
- input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- ServiceReferential serviceReferential = manager.getServiceReferential();
- serviceReferential.importFishingZoneCsv(input);
-
- input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- ServiceSampling serviceSampling = manager.getServiceSampling();
- serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
-
- SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_0001");
- SampleRow row2 = rowDAO.findByCode("2009_0006");
-
- transaction.closeContext();
-
-
- ServiceContact serviceContact = manager.getServiceContact();
-
- ConnectedUser connectedUser = getConnectedUser(user, UserRole.ADMIN, ObsProgram.OBSMER);
-
- // Contacts for company TARTANPION
- Contact contact1 = new ContactImpl();
- contact1.setBoat(boat);
- contact1.setMainObserver(user);
- contact1.setSampleRow(row);
- contact1.setContactState(ContactState.OBSERVATION_DONE);
- Date begin = DateUtil.createDate(3, 3, 2010);
- contact1.setObservationBeginDate(begin);
- Date end = DateUtil.createDate(4, 3, 2010);
- contact1.setObservationEndDate(end);
- serviceContact.saveContact(connectedUser, contact1, false);
-
- Contact contact2 = new ContactImpl();
- contact2.setBoat(boat);
- contact2.setMainObserver(user);
- contact2.setSampleRow(row);
- contact2.setContactState(ContactState.OBSERVATION_DONE);
- begin = DateUtil.createDate(3, 10, 2010);
- contact2.setObservationBeginDate(begin);
- end = DateUtil.createDate(4, 10, 2010);
- contact2.setObservationEndDate(end);
- serviceContact.saveContact(connectedUser, contact2, false);
-
- Contact contact3 = new ContactImpl();
- contact3.setBoat(boat);
- contact3.setMainObserver(user);
- contact3.setSampleRow(row);
- contact3.setContactState(ContactState.CONTACT_REFUSED);
- begin = DateUtil.createDate(3, 5, 2010);
- end = DateUtil.createDate(4, 5, 2010);
- contact3.setObservationEndDate(end);
- contact3.setCreationDate(begin);
- serviceContact.saveContact(connectedUser, contact3, false);
-
- // Contacts for company BIS
- Contact contact4 = new ContactImpl();
- contact4.setBoat(boat2);
- contact4.setMainObserver(user2);
- contact4.setSampleRow(row2);
- contact4.setContactState(ContactState.OBSERVATION_EXPECTED);
- begin = DateUtil.createDate(3, 3, 2010);
- end = DateUtil.createDate(4, 3, 2010);
- contact4.setObservationEndDate(end);
- contact4.setCreationDate(begin);
- serviceContact.saveContact(connectedUser, contact4, false);
-
- Contact contact5 = new ContactImpl();
- contact5.setBoat(boat2);
- contact5.setMainObserver(user2);
- contact5.setSampleRow(row2);
- contact5.setContactState(ContactState.OBSERVATION_CANCELLED);
- begin = DateUtil.createDate(3, 5, 2010);
- end = DateUtil.createDate(4, 5, 2010);
- contact5.setObservationEndDate(end);
- contact5.setCreationDate(begin);
- serviceContact.saveContact(connectedUser, contact5, false);
-
- // Contact refused by program, will not be in result
- Contact contact6 = new ContactImpl();
- contact6.setBoat(boat2);
- contact6.setMainObserver(user2);
- contact6.setSampleRow(row2);
- contact6.setContactState(ContactState.OBSERVATION_CANCELLED);
- begin = DateUtil.createDate(3, 3, 2010);
- contact6.setCreationDate(begin);
- end = DateUtil.createDate(4, 3, 2010);
- contact6.setObservationEndDate(end);
- contact6.setValidationProgram(Boolean.FALSE);
- serviceContact.saveContact(connectedUser, contact6, false);
- }
-
+ @Deprecated
public ConnectedUser getConnectedUser(WaoUser user, UserRole userRole, ObsProgram obsProgram) {
- ConnectedUser connectedUser = new ConnectedUserImpl();
- if (user == null) {
- WaoUser waoUser = new WaoUserImpl();
- connectedUser.setUser(waoUser);
- } else {
- connectedUser.setUser(user);
- }
- connectedUser.setProfile(new UserProfileImpl(obsProgram, userRole, true));
- return connectedUser;
+ return obsMerFixtures.jeanMichmucheAsAdmin();
}
+ @Deprecated
public ConnectedUser getConnectedAdmin() {
- return getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER);
+ return obsMerFixtures.connectedAdmin();
}
}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java 2011-06-10 08:49:15 UTC (rev 1335)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -24,49 +24,36 @@
package fr.ifremer.wao.service;
-import fr.ifremer.wao.WaoServices;
import fr.ifremer.wao.WaoBusinessException;
import fr.ifremer.wao.WaoDAOHelper;
-import fr.ifremer.wao.WaoProperty;
import fr.ifremer.wao.bean.BoatFilter;
import fr.ifremer.wao.bean.BoatFilterImpl;
import fr.ifremer.wao.bean.CompanyBoatInfos;
import fr.ifremer.wao.bean.ConnectedUser;
-import fr.ifremer.wao.bean.ConnectedUserImpl;
import fr.ifremer.wao.bean.ContactState;
import fr.ifremer.wao.bean.ObsProgram;
import fr.ifremer.wao.bean.UserRole;
-import fr.ifremer.wao.entity.ActivityCalendar;
-import fr.ifremer.wao.entity.ActivityCalendarDAO;
+import fr.ifremer.wao.business.fixtures.ObsMerFixtures;
import fr.ifremer.wao.entity.Boat;
-import fr.ifremer.wao.entity.BoatDAO;
import fr.ifremer.wao.entity.BoatInfos;
import fr.ifremer.wao.entity.Company;
-import fr.ifremer.wao.entity.CompanyDAO;
-import fr.ifremer.wao.entity.CompanyImpl;
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.ElligibleBoat;
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.entity.SampleRowDAO;
import fr.ifremer.wao.entity.SampleRowLogImpl;
-import fr.ifremer.wao.entity.UserProfile;
-import fr.ifremer.wao.entity.UserProfileImpl;
import fr.ifremer.wao.entity.WaoUser;
-import fr.ifremer.wao.entity.WaoUserImpl;
import fr.ifremer.wao.io.ImportResults;
-import org.junit.After;
+import org.apache.commons.io.IOUtils;
import org.junit.Assert;
import org.junit.Before;
-import org.junit.BeforeClass;
+import org.junit.Rule;
import org.junit.Test;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
@@ -81,10 +68,10 @@
private static final Logger log = LoggerFactory.getLogger(ServiceBoatImplTest.class);
- private ServiceBoat service;
+ protected ServiceBoat service;
@Before
- public void setUp() throws Exception {
+ public void setUp() {
service = manager.getServiceBoat();
}
@@ -94,22 +81,11 @@
*/
@Test
public void testGetBoatsByFilter() throws Exception {
- log.info("getBoatsByFilter");
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- service.importBoatCsv(input);
-
- ServiceUser serviceUser = manager.getServiceUser();
- Company company = new CompanyImpl();
- company.setName("TARTANPION");
- serviceUser.createUpdateCompany(company);
- WaoUser user = new WaoUserImpl();
- user.setLogin("login");
- user.setFirstName("Jean");
- user.setLastName("Michmuche");
- user.setCompany(company);
- serviceUser.createUpdateUser(user, true);
+ obsMerFixtures.boats();
+ Company company = obsMerFixtures.tartanpion();
List<SampleRow> rows = prepareSampleRows(company);
+ obsMerFixtures.jeanMichmuche();
BoatFilter filter = new BoatFilterImpl();
@@ -157,11 +133,8 @@
@Test
public void testGetBoatsByImmatriculations() throws Exception {
- log.info("getBoats");
+ obsMerFixtures.boats();
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- service.importBoatCsv(input);
-
String immatriculations = "174592 978419 273129";
List<Boat> results = service.getBoatsByImmatriculations(immatriculations);
Assert.assertEquals(3, results.size());
@@ -172,45 +145,30 @@
@Test
public void testGetElligibleBoats() throws Exception {
- log.info("getElligibleBoats");
- /** PREPARE DATA **/
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- service.importBoatCsv(input);
-
- Company company = new CompanyImpl();
- company.setName("TARTANPION");
+ obsMerFixtures.boats();
+ Company company = obsMerFixtures.tartanpion();
prepareSampleRows(company);
- /** EXEC METHOD **/
-
CompanyBoatInfos result = service.getCompanyBoatInfos(ObsProgram.OBSMER, 174592, company);
Assert.assertNotNull(result);
Assert.assertEquals(174592, result.getBoatInfos().getBoat().getImmatriculation());
- Assert.assertEquals("TARTANPION", result.getCompany().getName());
+ Assert.assertEquals(company.getName(), result.getCompany().getName());
// only row1 is getting
Assert.assertEquals(1, result.getElligibleBoatsValues().size());
}
private List<SampleRow> prepareSampleRows(Company company)
throws TopiaException, WaoBusinessException {
- ServiceReferential serviceReferential = manager.getServiceReferential();
- InputStream input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- serviceReferential.importFishingZoneCsv(input);
+ obsMerFixtures.fishingZones();
+ obsMerFixtures.bis();
- TopiaContext transaction = manager.getContext().beginTransaction();
- // Create a company
- CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
- manager.getContext().prepareTopiaId(Company.class, company);
- companyDAO.update(company);
- companyDAO.create(Company.PROPERTY_NAME, "BIS");
- transaction.commitTransaction();
-
ServiceSampling serviceSampling = manager.getServiceSampling();
- input = getClass().getResourceAsStream("/import/echantillonnage.csv");
+ InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
// Get two SampleRows : 2009_3 & 2010_4
+ TopiaContext transaction = manager.getContext().beginTransaction();
SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
SampleRow row1 = rowDAO.findByCode("2009_0003");
row1.getProfession();
@@ -240,26 +198,16 @@
@Test
public void testCreateUpdateBoatInfos() throws Exception {
- log.info("createUpdateBoatInfos");
/** PREPARE DATA **/
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- service.importBoatCsv(input);
+ obsMerFixtures.boats();
List<Boat> boats = service.getBoatsByImmatriculations("174592");
Boat boat = boats.get(0);
// Two rows created : 2009_3 & 2010_4 and one Company : "TARTANPION"
- ServiceUser serviceUser = manager.getServiceUser();
- Company company = new CompanyImpl();
- company.setName("TARTANPION");
- serviceUser.createUpdateCompany(company);
- WaoUser user = new WaoUserImpl();
- user.setLogin("user");
- user.setFirstName("Jean");
- user.setLastName("Michmuche");
- user.setCompany(company);
- serviceUser.createUpdateUser(user, true);
+ Company company = obsMerFixtures.tartanpion();
+ WaoUser user = obsMerFixtures.jeanMichmuche();
List<SampleRow> rows = prepareSampleRows(company);
TopiaContext transaction = manager.getContext().beginTransaction();
@@ -334,89 +282,93 @@
*/
@Test
public void testImportBoatCsv() throws Exception {
- log.info("importBoatCsv");
-
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ImportResults importResults = service.importBoatCsv(input);
- Assert.assertEquals(6, importResults.getNbRowsImported());
- // new boats added
- Assert.assertEquals(6, importResults.getNbRowsImportedNew());
-
- // Check boat 174592 is active &nd boat 177474 is inactive
- List<Boat> results = service.getBoatsByImmatriculations("174592 177474");
- Assert.assertTrue(results.get(0).getActive());
- Assert.assertFalse(results.get(1).getActive());
- }
-
- @Test
- public void testGetLastActivityCalendar() throws Exception {
- log.info("getLastActivityCalendar");
-
- /** PREPARE DATA **/
- TopiaContext transaction = manager.getContext().beginTransaction();
-
- BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction);
- Boat boat = boatDAO.create(
- Boat.PROPERTY_NAME, "TESTBOAT",
- Boat.PROPERTY_IMMATRICULATION, 174592);
-
- ActivityCalendarDAO dao = WaoDAOHelper.getActivityCalendarDAO(transaction);
-
- ActivityCalendar calendar1 = dao.create(
- ActivityCalendar.PROPERTY_BOAT, boat,
- ActivityCalendar.PROPERTY_YEAR, 2008);
-
- ActivityCalendar calendar2 = dao.create(
- ActivityCalendar.PROPERTY_BOAT, boat,
- ActivityCalendar.PROPERTY_YEAR, 2007);
-
- ActivityCalendar calendar3 = dao.create(
- ActivityCalendar.PROPERTY_BOAT, boat,
- ActivityCalendar.PROPERTY_YEAR, 2009);
-
- transaction.commitTransaction();
- transaction.closeContext();
-
- /** EXEC METHOD **/
- WaoUser user = new WaoUserImpl();
- user.setFirstName("Jean");
- user.setLastName("Michmuche");
- // Evo #2063 : the defaut instanciation of WaoUser doesn't put the
- // user automatically as an non admin
- UserProfile profile = new UserProfileImpl(ObsProgram.OBSMER, UserRole.OBSERVER, true);
- user.addUserProfile(profile);
- Company company = new CompanyImpl();
- company.setName("TARTANPION");
- user.setCompany(company);
-
- ConnectedUser connectedUser = new ConnectedUserImpl();
- connectedUser.setUser(user);
- connectedUser.setProfile(profile);
-
- ActivityCalendar result = service.getLastActivityCalendar(connectedUser, boat);
- Assert.assertNotNull(result);
- Assert.assertEquals(2009, result.getYear());
-
-
- String filename = WaoProperty.FILENAME_LOG_ACTIVITY_ACCESS.getValue();
-
- if (log.isDebugEnabled()) {
- log.debug("ActivityCalendar filename for access : " + filename);
- }
-
- File file = new File(filename);
- Assert.assertTrue(file.exists());
-
- BufferedReader reader = new BufferedReader(new FileReader(file));
+ InputStream input = null;
try {
- String line = reader.readLine();
- Assert.assertTrue(line.contains("Jean Michmuche"));
- Assert.assertTrue(line.contains("TARTANPION"));
- Assert.assertTrue(line.contains("TESTBOAT"));
- Assert.assertTrue(line.contains("174592"));
+ input = getClass().getResourceAsStream("/import/navires.csv");
+ ImportResults importResults = service.importBoatCsv(input);
+ Assert.assertEquals(6, importResults.getNbRowsImported());
+ // new boats added
+ Assert.assertEquals(6, importResults.getNbRowsImportedNew());
+
+ // Check boat 174592 is active and boat 177474 is inactive
+ List<Boat> results = service.getBoatsByImmatriculations("174592 177474");
+ Assert.assertTrue(results.get(0).getActive());
+ Assert.assertFalse(results.get(1).getActive());
} finally {
- reader.close();
+ IOUtils.closeQuietly(input);
}
}
+// @Test
+// @Ignore("activity calendars are deprecated")
+// public void testGetLastActivityCalendar() throws Exception {
+// log.info("getLastActivityCalendar");
+//
+// /** PREPARE DATA **/
+// TopiaContext transaction = manager.getContext().beginTransaction();
+//
+// BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction);
+// Boat boat = boatDAO.create(
+// Boat.PROPERTY_NAME, "TESTBOAT",
+// Boat.PROPERTY_IMMATRICULATION, 174592);
+//
+// ActivityCalendarDAO dao = WaoDAOHelper.getActivityCalendarDAO(transaction);
+//
+// ActivityCalendar calendar1 = dao.create(
+// ActivityCalendar.PROPERTY_BOAT, boat,
+// ActivityCalendar.PROPERTY_YEAR, 2008);
+//
+// ActivityCalendar calendar2 = dao.create(
+// ActivityCalendar.PROPERTY_BOAT, boat,
+// ActivityCalendar.PROPERTY_YEAR, 2007);
+//
+// ActivityCalendar calendar3 = dao.create(
+// ActivityCalendar.PROPERTY_BOAT, boat,
+// ActivityCalendar.PROPERTY_YEAR, 2009);
+//
+// transaction.commitTransaction();
+// transaction.closeContext();
+//
+// /** EXEC METHOD **/
+// WaoUser user = new WaoUserImpl();
+// user.setFirstName("Jean");
+// user.setLastName("Michmuche");
+// // Evo #2063 : the defaut instanciation of WaoUser doesn't put the
+// // user automatically as an non admin
+// UserProfile profile = new UserProfileImpl(ObsProgram.OBSMER, UserRole.OBSERVER, true);
+// user.addUserProfile(profile);
+// Company company = new CompanyImpl();
+// company.setName("TARTANPION");
+// user.setCompany(company);
+//
+// ConnectedUser connectedUser = new ConnectedUserImpl();
+// connectedUser.setUser(user);
+// connectedUser.setProfile(profile);
+//
+// ActivityCalendar result = service.getLastActivityCalendar(connectedUser, boat);
+// Assert.assertNotNull(result);
+// Assert.assertEquals(2009, result.getYear());
+//
+//
+// String filename = WaoProperty.FILENAME_LOG_ACTIVITY_ACCESS.getValue();
+//
+// if (log.isDebugEnabled()) {
+// log.debug("ActivityCalendar filename for access : " + filename);
+// }
+//
+// File file = new File(filename);
+// Assert.assertTrue(file.exists());
+//
+// BufferedReader reader = new BufferedReader(new FileReader(file));
+// try {
+// String line = reader.readLine();
+// Assert.assertTrue(line.contains("Jean Michmuche"));
+// Assert.assertTrue(line.contains("TARTANPION"));
+// Assert.assertTrue(line.contains("TESTBOAT"));
+// Assert.assertTrue(line.contains("174592"));
+// } finally {
+// reader.close();
+// }
+// }
+
}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceCartographyImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceCartographyImplTest.java 2011-06-10 08:49:15 UTC (rev 1335)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceCartographyImplTest.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -30,6 +30,7 @@
import fr.ifremer.wao.entity.BoatDistrictDAO;
import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.io.ImportResults;
+import org.apache.commons.io.IOUtils;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Ignore;
@@ -41,7 +42,6 @@
import java.io.IOException;
import java.io.InputStream;
-import java.lang.annotation.Inherited;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -68,12 +68,10 @@
public void testImportBoatDistrictKml()
throws WaoBusinessException, TopiaException {
- /** PREPARE DATA **/
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- manager.getServiceBoat().importBoatCsv(input);
+ obsMerFixtures.boats();
/** EXEC METHOD **/
- input = getClass().getResourceAsStream("/import/boat_districts.kml");
+ InputStream input = getClass().getResourceAsStream("/import/boat_districts.kml");
ImportResults results = service.importBoatDistrictKml(input);
Assert.assertEquals(3, results.getNbRowsImported());
Assert.assertEquals(0, results.getNbRowsRefused());
@@ -107,12 +105,10 @@
@Test
@Ignore("SAX print a stack trace in log while testing :-(")
public void testImportBoatDistrictBadKml() throws WaoBusinessException {
- /** PREPARE DATA **/
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- manager.getServiceBoat().importBoatCsv(input);
- /** EXEC METHOD **/
- input = getClass().getResourceAsStream("/import/activity.csv");
+ obsMerFixtures.boats();
+
+ InputStream input = getClass().getResourceAsStream("/import/activity.csv");
try {
ImportResults results = service.importBoatDistrictKml(input);
} catch (WaoException eee) {
@@ -121,23 +117,20 @@
}
@Test
- public void testExportContactStatisticsKml() throws TopiaException, WaoBusinessException {
- /** PREPARE DATA **/
+ public void testExportContactStatisticsKml() throws IOException {
+ obsMerFixtures.contacts();
- // Company TARTANPION
- Company company = createDefaultCompany();
- Company company2 = createCompany("BIS");
-
- prepareContactsData(company, company2);
- //FIXME tchemit 2010-10-13 : Ca sert a quoi, on teste rien ?
InputStream input = getClass().getResourceAsStream("/import/boat_districts.kml");
- ImportResults results = service.importBoatDistrictKml(input);
+ service.importBoatDistrictKml(input);
- /** EXEC METHOD **/
ContactFilter filter = new ContactFilterImpl();
filter.setObsProgram(ObsProgram.OBSMER);
InputStream stream = service.exportContactStatisticsKml(filter);
- //FileUtils.readFileToString()
+ String kml = IOUtils.toString(stream);
+ if (log.isDebugEnabled()) {
+ log.debug("exported contact statistics Kml", kml);
+ }
+ //FIXME tchemit 2010-10-13 : Ca sert a quoi, on teste rien ?
}
}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactImplTest.java 2011-06-10 08:49:15 UTC (rev 1335)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactImplTest.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -125,16 +125,9 @@
try {
if (needObserver) {
- CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
- company = companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
+ company = obsMerFixtures.tartanpion();
+ observer = obsMerFixtures.jeanMichmuche();
- WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
- observer = userDAO.create(
- WaoUser.PROPERTY_COMPANY, company,
- WaoUser.PROPERTY_LOGIN, "jmichmuche",
- WaoUser.PROPERTY_FIRST_NAME, "Jean",
- WaoUser.PROPERTY_LAST_NAME, "Michmuche");
-
when(contact.getMainObserver()).thenReturn(observer);
}
@@ -605,7 +598,7 @@
/** PREPARE DATA **/
prepareData(true, true);
- ConnectedUser connectedUser = getConnectedUser(observer, UserRole.OBSERVER, ObsProgram.OBSMER);
+ ConnectedUser connectedUser = obsMerFixtures.jeanMichmucheAsObserver();
// Don't use a mock in this case
Contact newContact = service.newContact(connectedUser, sampleRow, boat);
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactTest.java 2011-06-10 08:49:15 UTC (rev 1335)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactTest.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -78,7 +78,7 @@
log.info("test 2 : Bad filter, no contact is returned");
WaoUser observer2 = createUser("marge",
- UserRole.OBSERVER, findDefaultCompany());
+ UserRole.OBSERVER, obsMerFixtures.tartanpion());
filter.setObserver(observer2);
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialTest.java 2011-06-10 08:49:15 UTC (rev 1335)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialTest.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -24,8 +24,6 @@
package fr.ifremer.wao.service;
-import fr.ifremer.wao.WaoServices;
-import fr.ifremer.wao.WaoException;
import fr.ifremer.wao.bean.SamplingFilter;
import fr.ifremer.wao.bean.SamplingFilterImpl;
import fr.ifremer.wao.entity.FishingZone;
@@ -94,32 +92,17 @@
assertTrue(sectors.contains("Golfe de Gascogne"));
}
- /**
- * Test of getFishingZones method, of class ServiceReferentialImpl.
- * @throws WaoException if error during import or getFishingZones
- */
@Test
public void testGetFishingZones() {
InputStream input = getClass().getResourceAsStream("/import/zonesPeche.csv");
int nbNew = service.importFishingZoneCsv(input);
- // nbNew = 6
+ assertEquals(6, nbNew);
List<FishingZone> results = service.getFishingZones();
- assertEquals(nbNew, results.size());
+ assertEquals(6, results.size());
}
- /**
- * Test of importFishingZoneCsv method, of class ServiceReferentialImpl.
- * @throws WaoException if import error
- */
@Test
- public void testImportFishingZoneCsv() {
- InputStream input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- int result = service.importFishingZoneCsv(input);
- assertEquals(6, result);
- }
-
- @Test
public void testImportTerrestrialDivision() {
InputStream input = null;
try {
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisTest.java 2011-06-10 08:49:15 UTC (rev 1335)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisTest.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -297,14 +297,10 @@
*/
@Test
public void testGetContactStateStatistics() throws Exception {
- /** PREPARE DATA **/
+ obsMerFixtures.contacts();
+ Company company = obsMerFixtures.tartanpion();
+ Company company2 = obsMerFixtures.bis();
- // Company TARTANPION
- Company company = createDefaultCompany();
- Company company2 = createCompany("BIS");
-
- prepareContactsData(company, company2);
-
/** EXEC METHOD **/
// result for company TARTANPION with no period
1
0