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
Author: fdesbois
Date: 2010-01-07 10:40:00 +0000 (Thu, 07 Jan 2010)
New Revision: 173
Added:
tags/suiviobsmer-0.0.3/
Log:
[maven-scm] copy for tag suiviobsmer-0.0.3
1
0
[Suiviobsmer-commits] r172 - in trunk: . suiviobsmer-business suiviobsmer-ui
by fdesbois@users.labs.libre-entreprise.org 07 Jan '10
by fdesbois@users.labs.libre-entreprise.org 07 Jan '10
07 Jan '10
Author: fdesbois
Date: 2010-01-07 10:39:56 +0000 (Thu, 07 Jan 2010)
New Revision: 172
Modified:
trunk/pom.xml
trunk/suiviobsmer-business/pom.xml
trunk/suiviobsmer-ui/pom.xml
Log:
[maven-release-plugin] prepare release suiviobsmer-0.0.3
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-01-07 10:21:45 UTC (rev 171)
+++ trunk/pom.xml 2010-01-07 10:39:56 UTC (rev 172)
@@ -15,7 +15,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>suiviobsmer</artifactId>
- <version>0.0.3-SNAPSHOT</version>
+ <version>0.0.3</version>
<modules>
<module>suiviobsmer-ui</module>
@@ -256,9 +256,9 @@
<scm>
- <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk</connection>
- <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk</developerConnection>
- <url>http://labs.libre-entreprise.org/scm/viewvc.php/trunk/?root=suiviobsmer</url>
+ <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.0.3</connection>
+ <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.0.3</developerConnection>
+ <url>http://labs.libre-entreprise.org/scm/viewvc.php/tags/suiviobsmer-0.0.3?root…</url>
</scm>
<build>
Modified: trunk/suiviobsmer-business/pom.xml
===================================================================
--- trunk/suiviobsmer-business/pom.xml 2010-01-07 10:21:45 UTC (rev 171)
+++ trunk/suiviobsmer-business/pom.xml 2010-01-07 10:39:56 UTC (rev 172)
@@ -10,7 +10,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>suiviobsmer</artifactId>
- <version>0.0.3-SNAPSHOT</version>
+ <version>0.0.3</version>
</parent>
<groupId>fr.ifremer.suiviobsmer</groupId>
@@ -120,9 +120,9 @@
</build>
<scm>
- <url>http://labs.libre-entreprise.org/scm/viewvc.php/trunk/suiviobsmer-business/…</url>
- <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/suiviobsmer-business</connection>
- <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/suiviobsmer-business</developerConnection>
+ <url>http://labs.libre-entreprise.org/scm/viewvc.php/tags/suiviobsmer-0.0.3/suiv…</url>
+ <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.0.3/suivio…</connection>
+ <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.0.3/suivio…</developerConnection>
</scm>
</project>
Modified: trunk/suiviobsmer-ui/pom.xml
===================================================================
--- trunk/suiviobsmer-ui/pom.xml 2010-01-07 10:21:45 UTC (rev 171)
+++ trunk/suiviobsmer-ui/pom.xml 2010-01-07 10:39:56 UTC (rev 172)
@@ -10,7 +10,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>suiviobsmer</artifactId>
- <version>0.0.3-SNAPSHOT</version>
+ <version>0.0.3</version>
</parent>
<groupId>fr.ifremer.suiviobsmer</groupId>
@@ -122,9 +122,9 @@
</build>
<scm>
- <url>http://labs.libre-entreprise.org/scm/viewvc.php/trunk/suiviobsmer-ui/?root=…</url>
- <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/suiviobsmer-ui</connection>
- <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/trunk/suiviobsmer-ui</developerConnection>
+ <url>http://labs.libre-entreprise.org/scm/viewvc.php/tags/suiviobsmer-0.0.3/suiv…</url>
+ <connection>scm:svn:svn://anonymous at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.0.3/suivio…</connection>
+ <developerConnection>scm:svn:svn+ssh://fdesbois at labs.libre-entreprise.org/svnroot/suiviobsmer/tags/suiviobsmer-0.0.3/suivio…</developerConnection>
</scm>
</project>
1
0
[Suiviobsmer-commits] r171 - trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl
by fdesbois@users.labs.libre-entreprise.org 07 Jan '10
by fdesbois@users.labs.libre-entreprise.org 07 Jan '10
07 Jan '10
Author: fdesbois
Date: 2010-01-07 10:21:45 +0000 (Thu, 07 Jan 2010)
New Revision: 171
Modified:
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java
Log:
Improve queries (add comment code for topia next version in ServiceSampling for getSampleRows query)
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java 2010-01-06 17:18:15 UTC (rev 170)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java 2010-01-07 10:21:45 UTC (rev 171)
@@ -109,7 +109,7 @@
// Add join for ElligibleBoat
if (sampleRowFiltered) {
String elligibleBoatClassName = ElligibleBoat.class.getName();
- query.setSelect("B").addFrom(elligibleBoatClassName + " E").add("E.boat = B");
+ query.addFrom(elligibleBoatClassName + " E").add("E.boat = B");
}
// SampleRowCode
if (sampleRowCodeFiltered) {
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java 2010-01-06 17:18:15 UTC (rev 170)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java 2010-01-07 10:21:45 UTC (rev 171)
@@ -402,7 +402,7 @@
int boatImmatriculation = Integer.parseInt(reader.get(BOAT.NAVS_COD.name()));
// The boat must be elligible for the row
- TopiaQuery<Boat> boatQuery = boatDAO.createQuery("B").setSelect("B").
+ TopiaQuery<Boat> boatQuery = boatDAO.createQuery("B").
addFrom(ElligibleBoat.class.getName() + " E").
add("E.sampleRow", row).add("E.boat = B").
add(Boat.IMMATRICULATION, boatImmatriculation);
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java 2010-01-06 17:18:15 UTC (rev 170)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java 2010-01-07 10:21:45 UTC (rev 171)
@@ -179,11 +179,7 @@
}
transaction = rootContext.beginTransaction();
- FishingZoneDAO zoneDAO = SuiviObsmerModelDAOHelper.getFishingZoneDAO(transaction);
- List<FishingZone> list = zoneDAO.findAllWithOrder(
- FishingZone.FACADE_NAME,
- FishingZone.SECTOR_NAME,
- FishingZone.DISTRICT_CODE);
+ // uncomment the query for Topia 2.3.0-beta-4 (manage order and multiple select results, need addSelect method)
// SampleRowDAO dao = SuiviObsmerModelDAOHelper.getSampleRowDAO(transaction);
//
@@ -199,11 +195,17 @@
// periodEnd = DateUtils.setLastDayOfMonth(periodEnd);
// query.add("S.program.periodBegin", Op.LT, periodEnd).add("S.program.periodEnd", Op.GT, periodBegin);
//
-// query.addOrder("F.facadeName, F.sectorName, F.districtCode");
+// String zoneOrder = "F.facadeName, F.sectorName, F.districtCode";
+// query.addOrder(zoneOrder).addOrder("S.code").addSelect(zoneOrder);
//
// query.addLoad(SampleRow.PROFESSION, SampleRow.PROGRAM, SampleRow.COMPANY);
// results = query.executeToEntityList();
+ FishingZoneDAO zoneDAO = SuiviObsmerModelDAOHelper.getFishingZoneDAO(transaction);
+ List<FishingZone> list = zoneDAO.findAllWithOrder(
+ FishingZone.FACADE_NAME,
+ FishingZone.SECTOR_NAME,
+ FishingZone.DISTRICT_CODE);
for (FishingZone zone : list) {
if (log.isTraceEnabled()) {
1
0
[Suiviobsmer-commits] r170 - in trunk: src src/site src/site/resources src/site/resources/doc src/site/rst src/site/rst/import suiviobsmer-business/src suiviobsmer-business/src/site suiviobsmer-ui/src suiviobsmer-ui/src/site
by fdesbois@users.labs.libre-entreprise.org 06 Jan '10
by fdesbois@users.labs.libre-entreprise.org 06 Jan '10
06 Jan '10
Author: fdesbois
Date: 2010-01-06 17:18:15 +0000 (Wed, 06 Jan 2010)
New Revision: 170
Added:
trunk/src/site/
trunk/src/site/resources/
trunk/src/site/resources/doc/
trunk/src/site/resources/doc/DOC_Contacts_Header.ods
trunk/src/site/resources/logo-obsmer.jpg
trunk/src/site/resources/logo-wao.png
trunk/src/site/rst/
trunk/src/site/rst/business-rules.rst
trunk/src/site/rst/import/
trunk/src/site/rst/import/boats.rst
trunk/src/site/rst/import/contacts.rst
trunk/src/site/rst/import/samplingPlan.rst
trunk/src/site/rst/installation.rst
trunk/src/site/site.xml
trunk/suiviobsmer-business/src/site/
trunk/suiviobsmer-business/src/site/site.xml
trunk/suiviobsmer-ui/src/site/
trunk/suiviobsmer-ui/src/site/site.xml
Log:
Add maven-site
Added: trunk/src/site/resources/doc/DOC_Contacts_Header.ods
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/doc/DOC_Contacts_Header.ods
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/resources/logo-obsmer.jpg
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/logo-obsmer.jpg
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/resources/logo-wao.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/resources/logo-wao.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/rst/business-rules.rst
===================================================================
--- trunk/src/site/rst/business-rules.rst (rev 0)
+++ trunk/src/site/rst/business-rules.rst 2010-01-06 17:18:15 UTC (rev 170)
@@ -0,0 +1,107 @@
+Documentation des règles métiers de l'application WAO
+=====================================================
+
+Ligne du plan d'échantillonnage (ADMIN)
+---------------------------------------
+
+Pré-requis : Import des zones de pêche
+
+- Création :
+
+ * (obligatoire) profession : toujours une nouvelle profession
+ * (obligatoire) zone de pêche : au moins une zone de pêche doit être ajouté à la ligne
+ * (obligatoire) programme : déjà existant ou nouveau programme
+ * (obligatoire) période du programme : modifiable si cela ne pose pas de problème sur des données d'embarquements réels
+ * données des marées / mois : toujours minimum à 0
+ * (obligatoire) code de la ligne : générer automatiquement à partir de la date de début du programme : [year]_[lastNum]
+ * autres champs non obligatoire
+
+- Modification (si aucun embarquement réel effectué sur la ligne) :
+
+ * Même contraintes que pour la création sauf code de la ligne déjà existant
+ * (obligatoire) Commentaire de modification
+
+- Modification (si des embarquements réels ont été effectuées sur la ligne) :
+
+ * Modification impossible pour les champs : profession, zones de pêche, programme
+ * (obligatoire) Commentaire de modification
+
+- Suppression : possible uniquement si aucun embarquement réel n'a été enregistré sur la ligne
+
+- Unicité : code de la ligne
+
+Navires (OBSERVER/USER)
+-----------------------
+
+- Filtres :
+
+ * Code de la ligne : uniquement celles liés à la société
+
+- Informations :
+
+ * Possibilité de lier un navire à une ligne du plan disponible (ouverte)
+ * Possibilité de rayer une ligne du plan d'un navire si elle a été liée par un ADMIN
+ * Possibilité de supprimer une liaison avec une ligne du plan, uniquement celles liés par la société
+
+- Unicité : immatriculation du navire
+
+Contact (OBSERVER/USER)
+-----------------------
+
+Pré-requis : La création n'est possible que sur un navire elligible lié à une ligne du plan
+
+Etats des contacts : "Contact pris" (CREATION), "Embarquement prévu", "Embarquement réalisé" (TERMINE), "Refus" (TERMINE), "Refus définitif" (TERMINE), "Non abouti" (TERMINE)
+
+- Création :
+
+ * possible uniquement depuis la page des navires
+ * doit être effectué sur une ligne du plan (potentiellement sélectionné depuis le plan d'échantillonnage)
+ * aucun navire doit avoir de contact en cours pour cette société
+ * impossible si le programme de la ligne du plan est terminé (date de fin > date du jour)
+ * état initial : "Contact pris"
+ * observateur initial : l'utilisateur qui a créé la ligne
+
+- Modification (changement d'état) :
+
+ * possible uniquement si aucune validation n'a été faites
+ * "Embarquement prévu" -> aucune contrainte
+ * "Embarquement réalisé" -> les champs "date de début de la marée", "date de fin de la marée" et "nb observateurs" sont obligatoires
+ * "Non abouti", "Refus", "Refus définitif" -> champs commentaire obligatoire, le changement d'état efface tous les autres champs
+
+- Contraintes sur les dates :
+
+ * Date de fin postérieure ou égal à la date de début
+ * Date de fin antérieure à la date du jour
+ * Date de début et date de fin incluses dans la période du programme de la ligne du plan lié au contact
+
+- Validation par la société :
+
+ * Aucune validation faites par le programme (ADMIN)
+ * Etat terminé ("Non abouti", "Refus", "Refus définitif")
+ * Etat "Embarquement réalisé" avec "date de saisie dans Allegro" renseignée
+
+- Validation par le programme :
+
+ * Le contact doit être accepté/validé par la société
+
+- Suppression :
+
+ * possible uniquement si aucune validation n'a été faites
+
+- Calcul de la durée des marées réels :
+
+ * Ajout si accepté par la société
+ * Retrait si invalidé par la société après avoir été accepté
+ * Retrait si refusé par le programme
+ * Ajout si invalidé par le programme après avoir été refusé
+
+- Unicité : code de la ligne + immatriculation du navire + société + date de création (avec temps)
+
+Administration
+--------------
+
+- Connexion impossible si inactif
+- Aucune création d'utilisateur possible pour une société inactive
+
+
+
Added: trunk/src/site/rst/import/boats.rst
===================================================================
--- trunk/src/site/rst/import/boats.rst (rev 0)
+++ trunk/src/site/rst/import/boats.rst 2010-01-06 17:18:15 UTC (rev 170)
@@ -0,0 +1,30 @@
+Import des navires
+==================
+
+Cette fonctionnalité est disponible depuis la page des **Navires** en mode administrateur.
+
+Infos
+-----
+
+- Disponible depuis version 0.0.1-alpha-1
+- Encodage du fichier CSV obligatoire en UTF-8
+
+Sélections
+----------
+
+- Navires actifs (indicateur d'état du numéro = actif)
+- Pays d'appartenance du navire = France
+- Immatriculation du navire NAVS_COD comprise entre 100000 et 999999
+- Navires présents dans le calendrier d'activité 2008 et dont le port d'exploitation est français
+
+Champs de la table
+------------------
+
+- NAVS_COD : Numéro d'immatriculation du navire (identifiant unique)
+- CARN_NOM : Nom du navire
+- CARN_LONGUEUR_HT : Longueur hors tout du navire (en mètres)
+- CARN_ANNEE : Année de construction du navire
+- QUARTIER_IMMA : Code lieu d'immatriculation
+- PER_COD : Code armateur (identifiant unique) (NA = pas d'armateur)
+- PER_NOM : Nom de l'armateur
+- PER_PRENOM : Prénom de l'armateur
\ No newline at end of file
Added: trunk/src/site/rst/import/contacts.rst
===================================================================
--- trunk/src/site/rst/import/contacts.rst (rev 0)
+++ trunk/src/site/rst/import/contacts.rst 2010-01-06 17:18:15 UTC (rev 170)
@@ -0,0 +1,68 @@
+Import/Export des Contacts
+==========================
+
+Cette fonctionnalité est disponible depuis la page des **Contacts**.
+
+Infos
+-----
+
+- Disponible depuis version 0.0.3
+- Encodage du fichier CSV obligatoire en UTF-8
+
+Voir `Fichier OpenOffice`_
+
+.. _Fichier OpenOffice: ../doc/DOC_Contacts_Header.ods
+
+Note
+----
+
+- Création d'une ligne si CONT_CREATION est vide.
+- Modification d'une ligne si existante : recherche sur NAVS_COD, PLAN_CODE, CONT_CREATION, SOCIETE_NOM
+- Les validations (société ou programme) ne sont pas importés
+
+Types et formats des cellules
+-----------------------------
+
+- string = chaîne de caractères -> ex : "Une_Chaine345"
+- double = nombre réel, formaté en anglais -> ex : 1.2
+- date = date, formaté en jour/mois/année (JJ/MM/AAAA sous Excel) -> ex : 01/12/2010
+- int = nombre entier -> ex : 3
+- boolean = vrai ou faux, se traduit par un 'X' si c'est vrai
+
+Descriptions des colonnes
+-------------------------
+
+- CONT_CODE (string) : Code pour modification d'un contact existant dans WAO (uniquement récupérable depuis un export)
+- CONT_CREATION (date) : Date de création de la ligne (si vide, nouvelle ligne dans WAO)
+- OBSERV_ID (string) : Login de l'observateur (obligatoire)
+- OBSERV_PRENOM (string) : Prénom de l'observateur
+- OBSERV_NOM (string) : Nom de l'observateur
+- SOCIETE_NOM (string) : Nom de la société
+- PLAN_CODE (string) : Code de la ligne (obligatoire)
+- PROGRAMME_CODE (string) : Nom du programme
+- PROGRAMME_DEBUT (date) : Date de début du programme
+- PROGRAMME_FIN (date) : Date de fin du programme
+- PECHE_FACADE (string) : Facade de la zone de pêche
+- PECHE_ZONE (string) : Secteur de la zone de pêche
+- PECHE_DIVISION (string) : Zones de pêche liés à la ligne, chaque zone est séparé par un " / " -> ex : VIIa / VIIb (obligatoire)
+- PECHE_AUTRE (string) : Autres information sur les zones de pêche pour la ligne
+- METIER_CODE_DCF5 (string) : Code DCF niveau 5 du métier
+- METIER_MAILLAGE (string) : Maillage du métier
+- METIER_TAILLE (string) : Taille du métier
+- METIER_AUTRE (string) : Autre information du métier
+- METIER_LIBELLE (string) : Libellé du métier
+- METIER_ESPECES (string) : Espèces liées au métier
+- NAVS_COD (int) : Immatriculation du navire (6 chiffres) (obligatoire)
+- CARN_NOM (string) : Nom du navire
+- QUARTIER_IMMA (string) : Code quartier du navire
+- CONT_ETAT (string) : Etat du contact
+ (valeurs possibles : "Contact pris", "Embarquement prévu", "Embarquement réalisé", "Non abouti", "Refus", "Refus définitif")
+- CONT_DEBUT_MAREE (date) : Date de début de la marée
+- CONT_FIN_MAREE (date) : Date de fin de la marée
+- CONT_NB_OBSERV (int) : Nombre d'observateurs pour l'embarquement
+- CONT_MAM_CAPT (boolean) : Capture de mammifères
+- CONT_MAM_OBSERV (boolean) : Observation de mammifères
+- CONT_COMMENT (string) : Commentaire sur le contact
+- CONT_ALLEGRO (date) : Date de saisies dans Allegro
+- CONT_SOCIETE_VALID (string) : Validation par la société : 'A' pour Accepter, 'N' pour en attente, 'R' pour Refuser
+- CONT_PROGRAM_VALID (string) : Validation par le programme : 'A' pour Accepter, 'N' pour en attente, 'R' pour Refuser
Added: trunk/src/site/rst/import/samplingPlan.rst
===================================================================
--- trunk/src/site/rst/import/samplingPlan.rst (rev 0)
+++ trunk/src/site/rst/import/samplingPlan.rst 2010-01-06 17:18:15 UTC (rev 170)
@@ -0,0 +1,53 @@
+Documentation Import du plan d'échantillonnage
+==============================================
+
+Cette fonctionnalité est disponible depuis la page du **Plan d'échantillonnage** en mode administrateur.
+
+Infos
+-----
+
+- Disponible depuis version 0.0.1-alpha-1
+- Encodage du fichier CSV obligatoire en UTF-8
+
+Types et formats des cellules
+-----------------------------
+
+- string = chaîne de caractères -> ex : "Une_Chaine345"
+- double = nombre réel, formaté en anglais -> ex : 1.2
+- date = date, formaté en mois/année (MM/AAAA sous Excel) -> ex : 12/2010
+- int = nombre entier -> ex : 3
+
+Descriptions des colonnes
+-------------------------
+
+- PLAN_CODE (string) : Code de la ligne (unique, obligatoire)
+- SOCIETE_NOM (string) : Nom de la société
+- PECHE_DIVISION (string) : Zones de pêche liés à la ligne, chaque zone est séparé par un " / " -> ex : VIIa / VIIb (obligatoire)
+- PECHE_AUTRE (string) : Autres information sur les zones de pêche pour la ligne
+- METIER_CODE_DCF5 (string) : Code DCF niveau 5 du métier (obligatoire)
+- METIER_MAILLAGE (string) : Maillage du métier
+- METIER_TAILLE (string) : Taille du métier
+- METIER_AUTRE (string) : Autre information du métier
+- METIER_LIBELLE (string) : Libellé du métier
+- METIER_ESPECES (string) : Espèces liées au métier
+- PROGRAMME_CODE (string) : Nom du programme (obligatoire)
+- PROGRAMME_DEBUT (date) : Date de début du programme (obligatoire)
+- PROGRAMME_FIN (date) : Date de fin du programme (obligatoire)
+- champs pour les mois formatés comme des dates (MM/AAAA)
+- PLAN_DUREE_MOY (double) : Durée moyenne d'une marée (obligatoire)
+- PLAN_NB_OBSERV (int) : Nombre d'observateurs (obligatoire)
+- PLAN_COMMENT (string) : Commentaire sur la création de la ligne
+
+Refus
+-----
+
+L'affichage indique le nombre de lignes qui ont été refusés pour les raisons suivantes :
+
+- (PLAN_CODE) Les lignes avec un code déjà existant dans l'application ne seront ni ajoutées, ni modifiées
+- (PECHE_DIVISION) Les lignes sans zone de pêche ne seront pas prises en compte
+
+Note
+----
+
+Si il n'y a aucun Code pour la ligne, elle ne sera ni interprété ni refusé.
+
Added: trunk/src/site/rst/installation.rst
===================================================================
--- trunk/src/site/rst/installation.rst (rev 0)
+++ trunk/src/site/rst/installation.rst 2010-01-06 17:18:15 UTC (rev 170)
@@ -0,0 +1,29 @@
+Installation
+============
+
+Deux possibilités
+-----------------
+
+- Lancement direct du fichier war (utilisation de Java-JRE 1.6)
+- Déploiement sur un serveur d'application (comme tomcat)
+
+Super administrateur par défaut
+-------------------------------
+
+Lors du premier lancement de l'application l'utilisateur admin sera créé avec comme identifiants :
+
+- login = admin
+- password = password
+
+Note
+ Il est fortement conseillé de modifier le mot de passe par défaut du super admin ! (dans le profile utilisateur)
+
+Références
+----------
+
+- `Tomcat`_
+- WarLauncher de `Nuiton-utils`_
+
+.. _Tomcat: http://tomcat.apache.org/
+
+.. _Nuiton-utils: http://maven-site.nuiton.org/nuiton-utils/Warlauncher.html
\ No newline at end of file
Added: trunk/src/site/site.xml
===================================================================
--- trunk/src/site/site.xml (rev 0)
+++ trunk/src/site/site.xml 2010-01-06 17:18:15 UTC (rev 170)
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="${project.name}">
+
+ <publishDate format="dd/MM/yyyy"/>
+
+ <bannerLeft>
+ <src alt="Web Applicatif Obsmer">logo-wao.png</src>
+ <name>${project.name}</name>
+ <href>index.html</href>
+ </bannerLeft>
+
+ <bannerRight>
+ <src alt="Obsmer">logo-obsmer.jpg</src>
+ </bannerRight>
+
+ <poweredBy>
+ <logo href="http://maven.apache.org" name="Maven" img="http://maven-site.nuiton.org/jrst/images/logos/maven-feather.png"/>
+ <logo href="http://maven-site.nuiton.org/jrst" name="JRst" img="http://maven-site.nuiton.org/jrst/images/jrst-logo.png"/>
+ <logo href="http://docutils.sourceforge.net/rst.html" name="ReStructuredText" img="http://maven-site.nuiton.org/jrst/images/restructuredtext-logo.png"/>
+ </poweredBy>
+
+ <body>
+
+ <breadcrumbs>
+ <item name="${project.name}" href="${project.url}" />
+ </breadcrumbs>
+
+<!-- <links>
+ <item name="Libre-Entreprise" href="http://www.libre-entreprise.org/" />
+ <item name="[fr" href="index.html" />
+ <item name="en]" href="../en/index.html" />
+ </links>-->
+
+ <menu name ="Documentation">
+ <item name="Import/Export">
+ <item name="Plan d'échantillonnage" href="import/samplingPlan.html"/>
+ <item name="Navires" href="import/boats.html"/>
+ <item name="Contacts" href="import/contacts.html"/>
+ <!--<item name="Calendrier d'activité" href="import/activityCalendar.html"/>-->
+ </item>
+ <item name="Règles métier" href="business-rules.html" />
+ </menu>
+
+ <menu name ="Mise en place">
+ <item name="Téléchargement" href="http://labs.libre-entreprise.org/frs/?group_id=154" />
+ <item name="Installation" href="installation.html"/>
+ <item name="Demo" href="http://demo.codelutin.com/suiviobsmer"/>
+ <item name="Tracker" href="http://labs.libre-entreprise.org/tracker/?group_id=154"/>
+ </menu>
+
+ <!--<menu ref="parent"/>-->
+ <menu ref="modules"/>
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
+
Added: trunk/suiviobsmer-business/src/site/site.xml
===================================================================
--- trunk/suiviobsmer-business/src/site/site.xml (rev 0)
+++ trunk/suiviobsmer-business/src/site/site.xml 2010-01-06 17:18:15 UTC (rev 170)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="${project.name}">
+
+ <publishDate format="dd/MM/yyyy"/>
+
+ <bannerLeft>
+ <name>${project.name}</name>
+ <href>index.html</href>
+ </bannerLeft>
+
+<!-- <bannerRight>
+ <src>http://www.codelutin.com/images/lutinorange-codelutin.png</src>
+ <href>http://www.codelutin.com</href>
+ </bannerRight>-->
+
+ <poweredBy>
+ <logo href="http://maven.apache.org" name="Maven" img="http://maven-site.nuiton.org/jrst/images/logos/maven-feather.png"/>
+ <logo href="http://maven-site.nuiton.org/jrst" name="JRst" img="http://maven-site.nuiton.org/jrst/images/jrst-logo.png"/>
+ <logo href="http://docutils.sourceforge.net/rst.html" name="ReStructuredText" img="http://maven-site.nuiton.org/jrst/images/restructuredtext-logo.png"/>
+ </poweredBy>
+
+ <body>
+
+ <breadcrumbs>
+ <item name="${project.name}" href="${project.url}" />
+ </breadcrumbs>
+
+ <menu ref="parent"/>
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
+
Added: trunk/suiviobsmer-ui/src/site/site.xml
===================================================================
--- trunk/suiviobsmer-ui/src/site/site.xml (rev 0)
+++ trunk/suiviobsmer-ui/src/site/site.xml 2010-01-06 17:18:15 UTC (rev 170)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="${project.name}">
+
+ <publishDate format="dd/MM/yyyy"/>
+
+ <bannerLeft>
+ <name>${project.name}</name>
+ <href>index.html</href>
+ </bannerLeft>
+
+<!-- <bannerRight>
+ <src>http://www.codelutin.com/images/lutinorange-codelutin.png</src>
+ <href>http://www.codelutin.com</href>
+ </bannerRight>-->
+
+ <poweredBy>
+ <logo href="http://maven.apache.org" name="Maven" img="http://maven-site.nuiton.org/jrst/images/logos/maven-feather.png"/>
+ <logo href="http://maven-site.nuiton.org/jrst" name="JRst" img="http://maven-site.nuiton.org/jrst/images/jrst-logo.png"/>
+ <logo href="http://docutils.sourceforge.net/rst.html" name="ReStructuredText" img="http://maven-site.nuiton.org/jrst/images/restructuredtext-logo.png"/>
+ </poweredBy>
+
+ <body>
+
+ <breadcrumbs>
+ <item name="${project.name}" href="${project.url}" />
+ </breadcrumbs>
+
+ <menu ref="parent"/>
+ <menu ref="reports"/>
+
+ </body>
+
+</project>
+
1
0
06 Jan '10
Author: fdesbois
Date: 2010-01-06 16:18:37 +0000 (Wed, 06 Jan 2010)
New Revision: 169
Modified:
trunk/pom.xml
Log:
Use last topia release
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-01-06 15:08:45 UTC (rev 168)
+++ trunk/pom.xml 2010-01-06 16:18:37 UTC (rev 169)
@@ -239,7 +239,7 @@
<!-- libraries version -->
<nuitonutils.version>1.1.2</nuitonutils.version>
- <topia.version>2.3.0-beta-3-SNAPSHOT</topia.version>
+ <topia.version>2.3.0-beta-3</topia.version>
<license.version>2.0.0</license.version>
<helper.version>1.1.0</helper.version>
<eugene.version>2.0.0-beta-2</eugene.version>
1
0
06 Jan '10
Author: fdesbois
Date: 2010-01-06 15:08:45 +0000 (Wed, 06 Jan 2010)
New Revision: 168
Modified:
trunk/changelog.txt
trunk/pom.xml
trunk/suiviobsmer-business/pom.xml
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/ImportHelper.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerBusinessException.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerContext.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerException.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerGlobal.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerRunner.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerRunnerImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/BoatFilterImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/CompanyBoatInfosImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/ContactFilterImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/ContactState.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactContext.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactContextImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactState.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateBoardingDone.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateBoardingExpected.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateBoatDefinitiveRefused.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateBoatRefused.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateBoatUnavailable.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateCompanyAccepted.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateCompanyLocked.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateCompanyRefused.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateCompanyUnlocked.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateEnum.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateException.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateProgramAccepted.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateProgramLocked.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateProgramRefused.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateProgramUnlocked.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateStart.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateUnfinished.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ActivityCalendarImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ActivityMonthImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ActivityProfessionImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/BoatImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/BoatInfosImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/CompanyImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ContactDAOImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ContactImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/FishingZoneImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ProfessionImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ProgramImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/SampleMonthImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/SampleRowImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/UserImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ActivityCalendarImport.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceUserImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceBoatMock.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceContactMock.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceNewsMock.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceReferentialMock.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceSamplingMock.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceUserMock.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/ImportHelperTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/SuiviObsmerGlobalTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/SuiviObsmerUtilsTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/bean/states/ContactContextTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/business/SuiviObsmerRunnerTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/BoatImplTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/BoatInfosImplTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/ProgramImplTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/SampleRowImplTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ActivityCalendarImportTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImplTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImplTest.java
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImplTest.java
trunk/suiviobsmer-ui/pom.xml
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/base/BusinessUtils.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/base/GenericSelectModel.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/base/SuiviObsmerPage.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/components/BooleanImage.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/components/FeedBack.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/components/Layout.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/components/SubmitContext.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/data/SuiviObsmerPropertyChangeListener.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/mixins/Confirm.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/mixins/ZoneUpdater.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Administration.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/BoatActivityCalendar.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Boats.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/ExceptionReport.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Index.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/SampleRowForm.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/SamplingHistoric.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/SamplingPlan.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Synthesis.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/UserProfile.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/services/AppModule.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/services/ContactModelFactory.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/services/SuiviObsmerManager.java
Log:
Prepare for release 0.0.3 : update license headers + changelog
Modified: trunk/changelog.txt
===================================================================
--- trunk/changelog.txt 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/changelog.txt 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,3 +1,10 @@
+0.0.3
+-----
+
+[fdesbois] Amélioration performance imports (ActivityCalendar et Boats)
+[fdesbois] Ajout des filtres pour les contacts
+[fdesbois] Utilisation de TopiaQuery pour les requêtages HQL
+
0.0.1-alpha-2
-------------
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/pom.xml 2010-01-06 15:08:45 UTC (rev 168)
@@ -15,7 +15,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>suiviobsmer</artifactId>
- <version>0.0.1-alpha-3-SNAPSHOT</version>
+ <version>0.0.3-SNAPSHOT</version>
<modules>
<module>suiviobsmer-ui</module>
Modified: trunk/suiviobsmer-business/pom.xml
===================================================================
--- trunk/suiviobsmer-business/pom.xml 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/pom.xml 2010-01-06 15:08:45 UTC (rev 168)
@@ -10,7 +10,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>suiviobsmer</artifactId>
- <version>0.0.1-alpha-3-SNAPSHOT</version>
+ <version>0.0.3-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.suiviobsmer</groupId>
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/ImportHelper.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/ImportHelper.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/ImportHelper.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * SuiviObsmer :: Business
+ * Copyright (C) 2009 - 2010 Ifremer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU 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 Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * ##%*
+ */
package fr.ifremer.suiviobsmer;
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerBusinessException.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerBusinessException.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerBusinessException.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerContext.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerContext.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerContext.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/**
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerException.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerException.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerException.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerGlobal.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerGlobal.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerGlobal.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerRunner.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerRunner.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerRunner.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerRunnerImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerRunnerImpl.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/SuiviObsmerRunnerImpl.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/BoatFilterImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/BoatFilterImpl.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/BoatFilterImpl.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/CompanyBoatInfosImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/CompanyBoatInfosImpl.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/CompanyBoatInfosImpl.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/ContactFilterImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/ContactFilterImpl.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/ContactFilterImpl.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * SuiviObsmer :: Business
+ * Copyright (C) 2009 - 2010 Ifremer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU 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 Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * ##%*
+ */
package fr.ifremer.suiviobsmer.bean;
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/ContactState.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/ContactState.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/ContactState.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactContext.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactContext.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactContext.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactContextImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactContextImpl.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactContextImpl.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactState.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactState.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactState.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateBoardingDone.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateBoardingDone.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateBoardingDone.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateBoardingExpected.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateBoardingExpected.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateBoardingExpected.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateBoatDefinitiveRefused.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateBoatDefinitiveRefused.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateBoatDefinitiveRefused.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateBoatRefused.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateBoatRefused.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateBoatRefused.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateBoatUnavailable.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateBoatUnavailable.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateBoatUnavailable.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateCompanyAccepted.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateCompanyAccepted.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateCompanyAccepted.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateCompanyLocked.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateCompanyLocked.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateCompanyLocked.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateCompanyRefused.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateCompanyRefused.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateCompanyRefused.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateCompanyUnlocked.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateCompanyUnlocked.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateCompanyUnlocked.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateEnum.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateEnum.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateEnum.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateException.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateException.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateException.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateProgramAccepted.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateProgramAccepted.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateProgramAccepted.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateProgramLocked.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateProgramLocked.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateProgramLocked.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateProgramRefused.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateProgramRefused.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateProgramRefused.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateProgramUnlocked.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateProgramUnlocked.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateProgramUnlocked.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateStart.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateStart.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateStart.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateUnfinished.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateUnfinished.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/states/ContactStateUnfinished.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ActivityCalendarImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ActivityCalendarImpl.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ActivityCalendarImpl.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ActivityMonthImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ActivityMonthImpl.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ActivityMonthImpl.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ActivityProfessionImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ActivityProfessionImpl.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ActivityProfessionImpl.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/BoatImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/BoatImpl.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/BoatImpl.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/BoatInfosImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/BoatInfosImpl.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/BoatInfosImpl.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/CompanyImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/CompanyImpl.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/CompanyImpl.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ContactDAOImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ContactDAOImpl.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ContactDAOImpl.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * SuiviObsmer :: Business
+ * Copyright (C) 2009 - 2010 Ifremer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU 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 Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * ##%*
+ */
package fr.ifremer.suiviobsmer.entity;
import fr.ifremer.suiviobsmer.bean.ContactState;
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ContactImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ContactImpl.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ContactImpl.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/FishingZoneImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/FishingZoneImpl.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/FishingZoneImpl.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ProfessionImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ProfessionImpl.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ProfessionImpl.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ProgramImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ProgramImpl.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ProgramImpl.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/SampleMonthImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/SampleMonthImpl.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/SampleMonthImpl.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/SampleRowImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/SampleRowImpl.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/SampleRowImpl.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/UserImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/UserImpl.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/UserImpl.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ActivityCalendarImport.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ActivityCalendarImport.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ActivityCalendarImport.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImpl.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImpl.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceUserImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceUserImpl.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceUserImpl.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceBoatMock.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceBoatMock.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceBoatMock.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceContactMock.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceContactMock.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceContactMock.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceNewsMock.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceNewsMock.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceNewsMock.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceReferentialMock.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceReferentialMock.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceReferentialMock.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceSamplingMock.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceSamplingMock.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceSamplingMock.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceUserMock.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceUserMock.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceUserMock.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/ImportHelperTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/ImportHelperTest.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/ImportHelperTest.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * SuiviObsmer :: Business
+ * Copyright (C) 2009 - 2010 Ifremer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU 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 Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * ##%*
+ */
package fr.ifremer.suiviobsmer;
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/SuiviObsmerGlobalTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/SuiviObsmerGlobalTest.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/SuiviObsmerGlobalTest.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/SuiviObsmerUtilsTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/SuiviObsmerUtilsTest.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/SuiviObsmerUtilsTest.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/bean/states/ContactContextTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/bean/states/ContactContextTest.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/bean/states/ContactContextTest.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -176,4 +176,4 @@
System.out.println("createContactState");
}
-}
\ No newline at end of file
+}
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/business/SuiviObsmerRunnerTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/business/SuiviObsmerRunnerTest.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/business/SuiviObsmerRunnerTest.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/BoatImplTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/BoatImplTest.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/BoatImplTest.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -172,4 +172,4 @@
Assert.assertTrue(result);
}
-}
\ No newline at end of file
+}
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/BoatInfosImplTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/BoatInfosImplTest.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/BoatInfosImplTest.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -187,4 +187,4 @@
System.out.println("getNbBoardingForCompany");
}
-}
\ No newline at end of file
+}
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/ProgramImplTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/ProgramImplTest.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/ProgramImplTest.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/SampleRowImplTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/SampleRowImplTest.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/entity/SampleRowImplTest.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ActivityCalendarImportTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ActivityCalendarImportTest.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ActivityCalendarImportTest.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -119,4 +119,4 @@
//InputStream input = getClass().getResourceAsStream("/target/activity.csv");
}
-}
\ No newline at end of file
+}
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImplTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImplTest.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImplTest.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImplTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImplTest.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImplTest.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImplTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImplTest.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImplTest.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Business
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-ui/pom.xml
===================================================================
--- trunk/suiviobsmer-ui/pom.xml 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-ui/pom.xml 2010-01-06 15:08:45 UTC (rev 168)
@@ -10,7 +10,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>suiviobsmer</artifactId>
- <version>0.0.1-alpha-3-SNAPSHOT</version>
+ <version>0.0.3-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.suiviobsmer</groupId>
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/base/BusinessUtils.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/base/BusinessUtils.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/base/BusinessUtils.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Web Interface
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/base/GenericSelectModel.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/base/GenericSelectModel.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/base/GenericSelectModel.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/**
* *##%
* SuiviObsmer :: Web Interface
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/base/SuiviObsmerPage.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/base/SuiviObsmerPage.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/base/SuiviObsmerPage.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Web Interface
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/components/BooleanImage.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/components/BooleanImage.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/components/BooleanImage.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Web Interface
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/components/FeedBack.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/components/FeedBack.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/components/FeedBack.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,6 +1,6 @@
/* *##%
* SuiviObsmer :: Web Interface
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/components/Layout.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/components/Layout.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/components/Layout.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Web Interface
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/components/SubmitContext.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/components/SubmitContext.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/components/SubmitContext.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Web Interface
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/data/SuiviObsmerPropertyChangeListener.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/data/SuiviObsmerPropertyChangeListener.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/data/SuiviObsmerPropertyChangeListener.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Web Interface
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/mixins/Confirm.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/mixins/Confirm.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/mixins/Confirm.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/**
* *##%
* SuiviObsmer :: Web Interface
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/mixins/ZoneUpdater.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/mixins/ZoneUpdater.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/mixins/ZoneUpdater.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,6 +1,7 @@
/**
- * *##% Bonzoms Web Interface
- * Copyright (C) 2009 CodeLutin
+ * *##%
+ * SuiviObsmer :: Web Interface
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -14,7 +15,8 @@
*
* You should have received a copy of the GNU General Public
* License along with this program. If not, see
- * <http://www.gnu.org/licenses/gpl-3.0.html>. ##%*
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * ##%*
*/
package fr.ifremer.suiviobsmer.ui.mixins;
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Administration.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Administration.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Administration.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Web Interface
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/BoatActivityCalendar.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/BoatActivityCalendar.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/BoatActivityCalendar.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Web Interface
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -18,156 +18,156 @@
* <http://www.gnu.org/licenses/gpl-3.0.html>.
* ##%*
*/
-
-package fr.ifremer.suiviobsmer.ui.pages;
-
-import fr.ifremer.suiviobsmer.SuiviObsmerException;
-import fr.ifremer.suiviobsmer.entity.ActivityCalendar;
-import fr.ifremer.suiviobsmer.entity.ActivityMonth;
-import fr.ifremer.suiviobsmer.entity.ActivityProfession;
-import fr.ifremer.suiviobsmer.entity.ActivityZone;
-import fr.ifremer.suiviobsmer.entity.Boat;
-import fr.ifremer.suiviobsmer.services.ServiceBoat;
-import fr.ifremer.suiviobsmer.ui.base.SuiviObsmerPage;
-import java.util.Collections;
-import java.util.List;
-import org.apache.commons.lang.StringUtils;
-import org.apache.tapestry5.annotations.IncludeStylesheet;
-import org.apache.tapestry5.annotations.Persist;
-import org.apache.tapestry5.annotations.Property;
-import org.apache.tapestry5.ioc.annotations.Inject;
-import org.nuiton.util.DateUtils;
-import org.slf4j.Logger;
-
-/**
- * ActivityCalendarPage
- *
- * Created: 14 déc. 2009
- *
- * @author fdesbois
- * @version $Revision$
- *
- * Mise a jour: $Date$
- * par : $Author$
- */
- at IncludeStylesheet("context:css/boats.css")
-public class BoatActivityCalendar implements SuiviObsmerPage {
-
- @Inject
- private Logger log;
-
- @Inject
- private ServiceBoat serviceBoat;
-
- private ActivityCalendar activityCalendar;
-
-// @Property
-// private ActivityMonth activityMonth;
-
- @Property
- private int month;
-
- @Property
- private int professionIndex;
-
- @Property
- private int zoneIndex;
-
- @Persist
- private Boat boat;
-
- void setupRender() {
-
- }
-
- @Override
- public boolean isOnlyForAdmin() {
- return false;
- }
-
- public void setBoat(Boat boat) {
- this.boat = boat;
- }
-
- public Boat getBoat() {
- return this.boat;
- }
-
- public List<Boat> getBoats() {
- return Collections.singletonList(boat);
- }
-
- public ActivityCalendar getActivityCalendar() throws SuiviObsmerException {
- if (activityCalendar == null) {
- if (log.isInfoEnabled()) {
- log.info("BUSINESS REQUEST [getLastActivityCalendar]");
- }
- this.activityCalendar = serviceBoat.getLastActivityCalendar(getBoat());
- }
- return activityCalendar;
- }
-
- public ActivityMonth getActivityMonth() throws SuiviObsmerException {
- return getActivityCalendar().getActivityMonth(month);
- }
-
- public String getMonthName() {
- String libelle = DateUtils.getMonthLibelle(month);
- return StringUtils.capitalize(libelle);
- }
-
- public int getProfessionIndexMax() {
- int result = 0;
- for (ActivityMonth month : activityCalendar.getActivityMonth()) {
- int nbProfessions = month.sizeActivityProfession();
- if (nbProfessions > result) {
- result = nbProfessions;
- }
- }
- return result-1;
- }
-
- public boolean hasProfessions() {
- return getProfessionIndexMax() != -1;
- }
-
- public ActivityProfession getActivityProfession() throws SuiviObsmerException {
- if (getActivityMonth() == null) {
- return null;
- }
- if (professionIndex >= getActivityMonth().sizeActivityProfession()) {
- return null;
- }
- return getActivityMonth().getActivityProfession().get(professionIndex);
- }
-
- public int getZoneIndexMax() throws SuiviObsmerException {
- int result = 0;
- for (ActivityMonth activityMonth : activityCalendar.getActivityMonth()) {
- month = activityMonth.getMonth();
- ActivityProfession profession = getActivityProfession();
- if (profession != null) {
- int nbZones = profession.sizeActivityZone();
- if (nbZones > result) {
- result = nbZones;
- }
- }
- }
- return result-1;
- }
-
-// public boolean hasZones() {
-// return getZoneIndexMax() != -1;
-// }
-
- public ActivityZone getActivityZone() throws SuiviObsmerException {
- ActivityProfession profession = getActivityProfession();
- if (profession == null) {
- return null;
- }
- if (zoneIndex >= profession.sizeActivityZone()) {
- return null;
- }
- return profession.getActivityZone().get(zoneIndex);
- }
-}
+
+package fr.ifremer.suiviobsmer.ui.pages;
+
+import fr.ifremer.suiviobsmer.SuiviObsmerException;
+import fr.ifremer.suiviobsmer.entity.ActivityCalendar;
+import fr.ifremer.suiviobsmer.entity.ActivityMonth;
+import fr.ifremer.suiviobsmer.entity.ActivityProfession;
+import fr.ifremer.suiviobsmer.entity.ActivityZone;
+import fr.ifremer.suiviobsmer.entity.Boat;
+import fr.ifremer.suiviobsmer.services.ServiceBoat;
+import fr.ifremer.suiviobsmer.ui.base.SuiviObsmerPage;
+import java.util.Collections;
+import java.util.List;
+import org.apache.commons.lang.StringUtils;
+import org.apache.tapestry5.annotations.IncludeStylesheet;
+import org.apache.tapestry5.annotations.Persist;
+import org.apache.tapestry5.annotations.Property;
+import org.apache.tapestry5.ioc.annotations.Inject;
+import org.nuiton.util.DateUtils;
+import org.slf4j.Logger;
+
+/**
+ * ActivityCalendarPage
+ *
+ * Created: 14 déc. 2009
+ *
+ * @author fdesbois
+ * @version $Revision$
+ *
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+ at IncludeStylesheet("context:css/boats.css")
+public class BoatActivityCalendar implements SuiviObsmerPage {
+
+ @Inject
+ private Logger log;
+
+ @Inject
+ private ServiceBoat serviceBoat;
+
+ private ActivityCalendar activityCalendar;
+
+// @Property
+// private ActivityMonth activityMonth;
+
+ @Property
+ private int month;
+
+ @Property
+ private int professionIndex;
+
+ @Property
+ private int zoneIndex;
+
+ @Persist
+ private Boat boat;
+
+ void setupRender() {
+
+ }
+
+ @Override
+ public boolean isOnlyForAdmin() {
+ return false;
+ }
+
+ public void setBoat(Boat boat) {
+ this.boat = boat;
+ }
+
+ public Boat getBoat() {
+ return this.boat;
+ }
+
+ public List<Boat> getBoats() {
+ return Collections.singletonList(boat);
+ }
+
+ public ActivityCalendar getActivityCalendar() throws SuiviObsmerException {
+ if (activityCalendar == null) {
+ if (log.isInfoEnabled()) {
+ log.info("BUSINESS REQUEST [getLastActivityCalendar]");
+ }
+ this.activityCalendar = serviceBoat.getLastActivityCalendar(getBoat());
+ }
+ return activityCalendar;
+ }
+
+ public ActivityMonth getActivityMonth() throws SuiviObsmerException {
+ return getActivityCalendar().getActivityMonth(month);
+ }
+
+ public String getMonthName() {
+ String libelle = DateUtils.getMonthLibelle(month);
+ return StringUtils.capitalize(libelle);
+ }
+
+ public int getProfessionIndexMax() {
+ int result = 0;
+ for (ActivityMonth month : activityCalendar.getActivityMonth()) {
+ int nbProfessions = month.sizeActivityProfession();
+ if (nbProfessions > result) {
+ result = nbProfessions;
+ }
+ }
+ return result-1;
+ }
+
+ public boolean hasProfessions() {
+ return getProfessionIndexMax() != -1;
+ }
+
+ public ActivityProfession getActivityProfession() throws SuiviObsmerException {
+ if (getActivityMonth() == null) {
+ return null;
+ }
+ if (professionIndex >= getActivityMonth().sizeActivityProfession()) {
+ return null;
+ }
+ return getActivityMonth().getActivityProfession().get(professionIndex);
+ }
+
+ public int getZoneIndexMax() throws SuiviObsmerException {
+ int result = 0;
+ for (ActivityMonth activityMonth : activityCalendar.getActivityMonth()) {
+ month = activityMonth.getMonth();
+ ActivityProfession profession = getActivityProfession();
+ if (profession != null) {
+ int nbZones = profession.sizeActivityZone();
+ if (nbZones > result) {
+ result = nbZones;
+ }
+ }
+ }
+ return result-1;
+ }
+
+// public boolean hasZones() {
+// return getZoneIndexMax() != -1;
+// }
+
+ public ActivityZone getActivityZone() throws SuiviObsmerException {
+ ActivityProfession profession = getActivityProfession();
+ if (profession == null) {
+ return null;
+ }
+ if (zoneIndex >= profession.sizeActivityZone()) {
+ return null;
+ }
+ return profession.getActivityZone().get(zoneIndex);
+ }
+}
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Boats.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Boats.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Boats.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Web Interface
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Web Interface
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/ExceptionReport.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/ExceptionReport.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/ExceptionReport.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,3 +1,23 @@
+/*
+ * *##%
+ * SuiviObsmer :: Web Interface
+ * Copyright (C) 2009 - 2010 Ifremer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU 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 Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * ##%*
+ */
package fr.ifremer.suiviobsmer.ui.pages;
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Index.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Index.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Index.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Web Interface
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/SampleRowForm.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/SampleRowForm.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/SampleRowForm.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Web Interface
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/SamplingHistoric.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/SamplingHistoric.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/SamplingHistoric.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Web Interface
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/SamplingPlan.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/SamplingPlan.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/SamplingPlan.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Web Interface
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Synthesis.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Synthesis.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Synthesis.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Web Interface
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/UserProfile.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/UserProfile.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/UserProfile.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Web Interface
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/services/AppModule.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/services/AppModule.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/services/AppModule.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,6 +1,6 @@
/* *##%
* SuiviObsmer :: Web Interface
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/services/ContactModelFactory.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/services/ContactModelFactory.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/services/ContactModelFactory.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Web Interface
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/services/SuiviObsmerManager.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/services/SuiviObsmerManager.java 2010-01-06 15:01:52 UTC (rev 167)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/services/SuiviObsmerManager.java 2010-01-06 15:08:45 UTC (rev 168)
@@ -1,7 +1,7 @@
/*
* *##%
* SuiviObsmer :: Web Interface
- * Copyright (C) 2009 Ifremer
+ * Copyright (C) 2009 - 2010 Ifremer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
1
0
[Suiviobsmer-commits] r167 - in trunk/suiviobsmer-ui/src/main: resources/fr/ifremer/suiviobsmer/ui/pages webapp webapp/css
by fdesbois@users.labs.libre-entreprise.org 06 Jan '10
by fdesbois@users.labs.libre-entreprise.org 06 Jan '10
06 Jan '10
Author: fdesbois
Date: 2010-01-06 15:01:52 +0000 (Wed, 06 Jan 2010)
New Revision: 167
Modified:
trunk/suiviobsmer-ui/src/main/resources/fr/ifremer/suiviobsmer/ui/pages/Contacts.properties
trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml
trunk/suiviobsmer-ui/src/main/webapp/css/common.css
trunk/suiviobsmer-ui/src/main/webapp/css/contacts.css
Log:
Add style for Contacts filters and import/export zone
Modified: trunk/suiviobsmer-ui/src/main/resources/fr/ifremer/suiviobsmer/ui/pages/Contacts.properties
===================================================================
--- trunk/suiviobsmer-ui/src/main/resources/fr/ifremer/suiviobsmer/ui/pages/Contacts.properties 2010-01-06 13:33:55 UTC (rev 166)
+++ trunk/suiviobsmer-ui/src/main/resources/fr/ifremer/suiviobsmer/ui/pages/Contacts.properties 2010-01-06 15:01:52 UTC (rev 167)
@@ -1,7 +1,7 @@
# ContactForm labels
-state-label: Etat
-boat-label: Navire
-tide-label: Mar\u00E9e
+facadeName-label: Facade
+sectorName-label: Secteur
+contactsCsvFile-label: Fichier des contacts
# Grid labels
createdBy-label: Observateur
Modified: trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml
===================================================================
--- trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml 2010-01-06 13:33:55 UTC (rev 166)
+++ trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml 2010-01-06 15:01:52 UTC (rev 167)
@@ -5,99 +5,105 @@
nbObservants, mammals, editDate, comment, validation"-->
<div id="so-contacts-search">
<form t:type="form" t:id="searchBoat">
- <input t:type="textfield" t:id="boatName" value="contactFilter.boatName" t:mixins="Autocomplete"/>
- <input t:type="submit" class="ico search-32px" t:id="execSearchBoat" value="Search" />
+ <div>
+ <t:label t:for="boatName" /><br />
+ <input t:type="textfield" class="width200" t:id="boatName" value="contactFilter.boatName" t:mixins="Autocomplete"/>
+ <input t:type="submit" class="ico search-32px" t:id="execSearchBoat" value="Search" />
+ </div>
</form>
<a t:type="actionlink" t:id="showFilters" t:zone="so-contacts-filters">
recherche avancée
- </a>
+ </a>
<a t:type="actionlink" t:id="showImportExport" t:zone="so-contacts-importexport">
import/export
</a>
</div>
-
+<!-- FILTRES -->
<div t:type="zone" class="so-filters" t:id="filtersZone" t:update="show" t:visible="prop:filtersVisible" id="so-contacts-filters">
<fieldset>
<legend>Recherche avancée</legend>
- <!--<div class="aright">
- <t:if t:test="filtersHidden">
- <a t:type="actionlink" t:id="showFilters" t:zone="so-contacts-filters">
- <img src="${asset:context:}/img/downarrow.png" title="Afficher les filtres"/>
- </a>
- <p:else>
- <a t:type="actionlink" t:id="hideFilters" t:zone="so-boats-filters">
- <img src="${asset:context:}/img/uparrow.png" title="Cacher les filtres"/>
- </a>
- </p:else>
- </t:if>
- </div>-->
- <!--<t:feedback t:id="filterFeedback" />
- <div class="so-filters-form ${hiddenClass}">-->
+ <div class="so-filters-form">
<form t:type="form" t:id="filtersForm">
<t:errors />
<div class="t-beaneditor">
- <t:beaneditor t:id="filtersEditor" t:object="contactFilter"
- t:include="facadeName, sectorName, state" t:add="boat, sampleRow, observer, mammals, validation"
- t:reorder="boat, facadeName, sectorName, sampleRow, observer">
- <p:boat>
- <t:label t:for="boat" />
- <span> immatriculation </span>
- <input t:type="textfield" t:id="boat" class="width50" t:value="contactFilter.boatImmatriculation" />
- <span> code quartier </span>
- <input t:type="textfield" t:id="boatDistrictCode" class="width50" t:value="contactFilter.boatDistrictCode" />
- </p:boat>
- <p:facadeName>
- <t:label t:for="facadeName" />
- <input t:type="select" t:id="facadeName" t:model="facadeSelectModel" value="contactFilter.facadeName"
- t:mixins="zoneUpdater" t:event="change" t:zone="so-contacts-filters"/>
- </p:facadeName>
- <p:sectorName>
- <t:label t:for="sectorName" />
- <input t:type="select" t:id="sectorName" t:model="sectorSelectModel" value="contactFilter.sectorName" />
- </p:sectorName>
- <p:sampleRow>
- <t:label t:for="sampleRow" />
- <input t:type="select" t:id="sampleRow" t:model="sampleRowSelectModel" value="sampleRowId" />
- </p:sampleRow>
- <p:observer>
- N/A
- </p:observer>
- <p:state>
- N/A
- </p:state>
- <p:mammals>
- N/A
- </p:mammals>
- <p:validation>
- <t:label t:for="validation" />
- <input t:type="checkbox" t:id="validation" value="contactFilter.companyAccepted" />
+ <div>
+ <label>Navire </label>
+ <t:label t:for="boatImmatriculation" />:
+ <input t:type="textfield" t:id="boatImmatriculation" class="width50" t:value="contactFilter.boatImmatriculation" />
+ <t:label t:for="boatDistrictCode" />:
+ <input t:type="textfield" t:id="boatDistrictCode" class="width50" t:value="contactFilter.boatDistrictCode" />
+ <t:label t:for="facadeName" />:
+ <select t:type="select" t:id="facadeName" t:model="facadeSelectModel" value="contactFilter.facadeName"
+ t:mixins="zoneUpdater" t:event="change" t:zone="so-contacts-filters"/>
+ <t:label t:for="sectorName" />:
+ <select t:type="select" t:id="sectorName" t:model="sectorSelectModel" value="contactFilter.sectorName" />
+ <t:label t:for="sampleRow" />:
+ <input t:type="select" t:id="sampleRow" t:model="sampleRowSelectModel" value="sampleRowId" />
+ <label>Mammifères: </label>
+ <input t:type="checkbox" t:id="mammalsObservation1" value="contactFilter.mammalsObservation" />
+ <t:label t:for="mammalsObservation1">
+ <img src="${asset:context:}/img/eye-22px.png" alt="Observations de mammifères" title="Observations de mammifères" />
+ </t:label>
+ <input t:type="checkbox" t:id="mammalsCapture1" value="contactFilter.mammalsCapture" />
+ <t:label t:for="mammalsCapture1">
+ <img src="${asset:context:}/img/fishing-net-22px.png" alt="Capture de mammifères" title="Capture de mammifères" />
+ </t:label>
+ </div><p> </p>
+ <div>
+ <label>Validation société: </label>
+ <input t:type="checkbox" t:id="companyAccepted" value="contactFilter.companyAccepted" />
+ <t:label t:for="companyAccepted">
<img src="${asset:context:}/img/true-22px.png" title="Accepté par la société" />
- <input t:type="checkbox" value="contactFilter.companyRefused" />
+ </t:label>
+ <input t:type="checkbox" t:id="companyRefused" value="contactFilter.companyRefused" />
+ <t:label t:for="companyRefused">
<img src="${asset:context:}/img/false-22px.png" title="Refusé par la société" />
- <input t:type="checkbox" value="contactFilter.companyUndefined" />
+ </t:label>
+ <input t:type="checkbox" t:id="companyUndefined" value="contactFilter.companyUndefined" />
+ <t:label t:for="companyUndefined">
<img src="${asset:context:}/img/help-22px.png" title="Non validé par la société" />
- </p:validation>
- </t:beaneditor>
+ </t:label>
+ <t:if t:test="user.admin">
+ <label>Validation programme: </label>
+ <input t:type="checkbox" t:id="programAccepted" value="contactFilter.programAccepted" />
+ <t:label t:for="programAccepted">
+ <img src="${asset:context:}/img/true-22px.png" title="Accepté par le programme" />
+ </t:label>
+ <input t:type="checkbox" t:id="programRefused" value="contactFilter.programRefused" />
+ <t:label t:for="programRefused">
+ <img src="${asset:context:}/img/false-22px.png" title="Refusé par le programme" />
+ </t:label>
+ <input t:type="checkbox" t:id="programUndefined" value="contactFilter.programUndefined" />
+ <t:label t:for="programUndefined">
+ <img src="${asset:context:}/img/help-22px.png" title="Non validé par le programme" />
+ </t:label>
+ </t:if>
+ </div>
<div class="t-beaneditor-row aright">
<input t:type="submit" class="ico search-32px" t:id="search" value="Search" />
<input t:type="submit" class="ico undo" t:id="reset" value="Reset" />
</div>
</div>
</form>
- <!--</div>-->
+ </div>
</fieldset>
</div>
-<div t:type="zone" t:id="importExportZone" t:update="show" t:visible="false" id="so-contacts-importexport">
- <form t:type="form" t:id="importContacts">
- <t:errors />
- <t:label for="contactsCsvFile" /> :
- <input t:type="upload" t:id="contactsCsvFile" t:validate="required" />
- <input t:type="submit" class="ico import" value="OK" title="Importer une liste de contacts (format CSV)" />
- </form>
- <a t:type="actionlink" t:id="exportShowContacts">
- EXPORT
- </a>
+<!-- IMPORT/EXPORT -->
+<div t:type="zone" class="so-filters" t:id="importExportZone" t:update="show" t:visible="false" id="so-contacts-importexport">
+ <fieldset>
+ <legend>Import/export CSV (UTF-8)</legend>
+ <form t:type="form" t:id="importContacts">
+ <t:errors />
+ <t:label for="contactsCsvFile" /> :
+ <input t:type="upload" t:id="contactsCsvFile" t:validate="required" />
+ <input t:type="submit" class="ico import" value="OK" title="Importer une liste de contacts (format CSV)" />
+ <a t:type="actionlink" t:id="exportShowContacts">
+ EXPORT
+ </a>
+ </form>
+ </fieldset>
</div>
+<!-- CONTACT LIST -->
<t:zone t:id="gridZone" t:update="show">
<form t:type="form" t:id="contactsForm" t:zone="gridZone">
<t:errors id="so-contact-form-errors" t:banner="message:contactsForm-errors-banner"/>
Modified: trunk/suiviobsmer-ui/src/main/webapp/css/common.css
===================================================================
--- trunk/suiviobsmer-ui/src/main/webapp/css/common.css 2010-01-06 13:33:55 UTC (rev 166)
+++ trunk/suiviobsmer-ui/src/main/webapp/css/common.css 2010-01-06 15:01:52 UTC (rev 167)
@@ -76,6 +76,11 @@
width: 150px;
}
+.width200 {
+ width: 200px;
+}
+
+
.width300 {
width: 300px;
}
Modified: trunk/suiviobsmer-ui/src/main/webapp/css/contacts.css
===================================================================
--- trunk/suiviobsmer-ui/src/main/webapp/css/contacts.css 2010-01-06 13:33:55 UTC (rev 166)
+++ trunk/suiviobsmer-ui/src/main/webapp/css/contacts.css 2010-01-06 15:01:52 UTC (rev 167)
@@ -25,10 +25,58 @@
}*/
/* FILTERS */
-div.t-autocomplete-menu ul {
+div#so-contacts-search {
+ width: 50%;
+ margin: 10px;
+ margin-left: auto;
+ margin-right: auto;
+ text-align: center;
+}
+
+div#so-contacts-search form {
+ margin-bottom: 5px;
+}
+
+div#so-contacts-search form div {
+ width: 270px;
+ margin-left: auto;
+ margin-right: auto;
+ padding: 5px;
+ background-color: #DEE7EC;
+ border: 1px outset black;
+}
+
+div#so-contacts-search div.t-autocomplete-menu ul {
background-color: #19a28d;
}
+div#so-contacts-search a {
+ text-decoration: none;
+ color: #19a28d;
+ font-weight: bold;
+}
+
+div#so-contacts-search a:hover {
+ text-decoration: underline;
+ color: black;
+}
+
+div#so-contacts-filters {
+ width: 100%;
+ margin-bottom: 10px;
+}
+
+div#so-contacts-importexport {
+ margin-bottom: 10px;
+ width: 50%;
+ text-align: center;
+}
+
+div#so-contacts-importexport fieldset {
+ padding: 10px;
+}
+
+
/* TABLE OF CONTACTS */
div#so-contacts table.user {
width: 100%;
1
0
[Suiviobsmer-commits] r166 - in trunk: suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock suiviobsmer-business/src/main/xmi suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/mixins suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages suiviobsmer-ui/src/main/webapp suiviobsmer-ui/src/main/webapp/css suiviobsmer-ui/src/main/webapp/js
by fdesbois@users.labs.libre-entreprise.org 06 Jan '10
by fdesbois@users.labs.libre-entreprise.org 06 Jan '10
06 Jan '10
Author: fdesbois
Date: 2010-01-06 13:33:55 +0000 (Wed, 06 Jan 2010)
New Revision: 166
Added:
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/mixins/ZoneUpdater.java
trunk/suiviobsmer-ui/src/main/webapp/js/ZoneUpdater.js
Modified:
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceBoatMock.java
trunk/suiviobsmer-business/src/main/xmi/suiviobsmer.zargo
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java
trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml
trunk/suiviobsmer-ui/src/main/webapp/css/contacts.css
Log:
- Improve contact filters using ZoneUpdater for facade select
- Add autocomplete for boat name field
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java 2010-01-06 08:58:16 UTC (rev 165)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java 2010-01-06 13:33:55 UTC (rev 166)
@@ -542,4 +542,25 @@
// }
return result;
}
+
+ @Override
+ public List<String> getBoatNamesStartWith(String input) throws SuiviObsmerException {
+ TopiaContext transaction = null;
+ List<String> results = new ArrayList<String>();
+ try {
+ transaction = rootContext.beginTransaction();
+
+ input = StringUtils.upperCase(input);
+
+ BoatDAO dao = SuiviObsmerModelDAOHelper.getBoatDAO(transaction);
+
+ results = (List<String>)dao.createQuery().addDistinct().setSelect(Boat.NAME).add(Boat.NAME, Op.LIKE, input + "%").execute();
+
+ transaction.closeContext();
+ } catch (Exception eee) {
+ SuiviObsmerContext.serviceException(transaction,
+ "Impossible de récupérer les navires avec un nom commencant par '" + input + "'", eee);
+ }
+ return results;
+ }
}
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java 2010-01-06 08:58:16 UTC (rev 165)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java 2010-01-06 13:33:55 UTC (rev 166)
@@ -32,7 +32,6 @@
import fr.ifremer.suiviobsmer.SuiviObsmerContext;
import fr.ifremer.suiviobsmer.bean.ContactState;
import java.io.InputStream;
-import org.nuiton.topia.TopiaException;
import org.nuiton.topia.framework.TopiaQuery;
import fr.ifremer.suiviobsmer.bean.states.ContactStateEnum;
import fr.ifremer.suiviobsmer.bean.ContactFilter;
@@ -45,7 +44,6 @@
import fr.ifremer.suiviobsmer.entity.ContactImpl;
import fr.ifremer.suiviobsmer.entity.ElligibleBoat;
import fr.ifremer.suiviobsmer.entity.FishingZone;
-import fr.ifremer.suiviobsmer.entity.FishingZoneDAO;
import fr.ifremer.suiviobsmer.entity.Profession;
import fr.ifremer.suiviobsmer.entity.Program;
import fr.ifremer.suiviobsmer.entity.SampleRow;
@@ -66,6 +64,7 @@
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.framework.TopiaQuery.Op;
import org.nuiton.topia.persistence.TopiaEntity;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -112,6 +111,10 @@
query.add("F.facadeName", filter.getFacadeName()).add("C.sampleRow IN elements(F.sampleRow)");
}
+ if (!StringUtils.isEmpty(filter.getBoatName())) {
+ query.add("C.boat.name", Op.LIKE, filter.getBoatName() + "%");
+ }
+
if (!StringUtils.isEmpty(filter.getBoatDistrictCode())) {
query.add("C.boat.districtCode", filter.getBoatDistrictCode());
}
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java 2010-01-06 08:58:16 UTC (rev 165)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java 2010-01-06 13:33:55 UTC (rev 166)
@@ -240,6 +240,8 @@
try {
transaction = rootContext.beginTransaction();
+ // TODO-FD20090106 add filters for facadeName and sectorName (in argument) for Boats and Contacts use
+
Date current = SuiviObsmerContext.getCurrentDate();
SampleRowDAO dao = SuiviObsmerModelDAOHelper.getSampleRowDAO(transaction);
@@ -251,31 +253,6 @@
}
results = query.addLoad(SampleRow.PROFESSION, SampleRow.PROGRAM).executeToEntityList();
-
-// SampleRowDAO dao = SuiviObsmerModelDAOHelper.getSampleRowDAO(transaction);
-//
-// if (!user.getAdmin()) {
-// if (log.isDebugEnabled()) {
-// log.debug("User company : " + user.getCompany().getName());
-// }
-// results = dao.findAllByCompany(user.getCompany());
-// } else {
-// results = dao.findAll();
-// }
-//
-// Iterator<SampleRow> it = results.iterator();
-// while (it.hasNext()) {
-// SampleRow row = it.next();
-// // Only rows which are not finished will be kept
-// if (row.getProgram().isFinished()) {
-// it.remove();
-// }/* else {
-// // load data
-// row.getProgram();
-// row.getCompany();
-// row.getProfession();
-// }*/
-// }
transaction.closeContext();
} catch (Exception eee) {
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceBoatMock.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceBoatMock.java 2010-01-06 08:58:16 UTC (rev 165)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceBoatMock.java 2010-01-06 13:33:55 UTC (rev 166)
@@ -252,4 +252,9 @@
throw new UnsupportedOperationException("Not supported yet.");
}
+ @Override
+ public List<String> getBoatNamesStartWith(String input) throws SuiviObsmerException {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
}
Modified: trunk/suiviobsmer-business/src/main/xmi/suiviobsmer.zargo
===================================================================
(Binary files differ)
Added: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/mixins/ZoneUpdater.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/mixins/ZoneUpdater.java (rev 0)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/mixins/ZoneUpdater.java 2010-01-06 13:33:55 UTC (rev 166)
@@ -0,0 +1,99 @@
+/**
+ * *##% Bonzoms Web Interface
+ * Copyright (C) 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU 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 Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>. ##%*
+ */
+package fr.ifremer.suiviobsmer.ui.mixins;
+
+import org.apache.commons.lang.ArrayUtils;
+import org.apache.tapestry5.BindingConstants;
+import org.apache.tapestry5.ClientElement;
+import org.apache.tapestry5.ComponentResources;
+import org.apache.tapestry5.Link;
+import org.apache.tapestry5.RenderSupport;
+import org.apache.tapestry5.annotations.Environmental;
+import org.apache.tapestry5.annotations.IncludeJavaScriptLibrary;
+import org.apache.tapestry5.annotations.InjectContainer;
+import org.apache.tapestry5.annotations.Parameter;
+import org.apache.tapestry5.ioc.annotations.Inject;
+
+/**
+ * ZoneUpdater.java
+ *
+ * From http://tinybits.blogspot.com/2009/05/update-zone-on-any-client-side-event.h… by ingesol
+ *
+ * @author ingesol
+ * @version $Revision$
+ *
+ * Last update: $Date$
+ * by : $Author: fdesbois $
+ */
+ at IncludeJavaScriptLibrary("context:js/ZoneUpdater.js")
+public class ZoneUpdater {
+
+ public static final String PLACEHOLDER = "XXX";
+
+ @Inject
+ private ComponentResources resources;
+
+ @Environmental
+ private RenderSupport renderSupport;
+
+ @Parameter(defaultPrefix = BindingConstants.LITERAL)
+ private String clientEvent;
+
+ @Parameter(defaultPrefix = BindingConstants.LITERAL, required = true)
+ private String event;
+
+ @InjectContainer
+ private ClientElement element;
+
+ @Parameter
+ private Object[] context;
+
+ @Parameter(defaultPrefix = BindingConstants.LITERAL)
+ // To enable popups to fire events on this document, enter "document" here.
+ private String listeningElement;
+
+ @Parameter(defaultPrefix = BindingConstants.LITERAL, required = true)
+ private String zone;
+
+ protected Link createLink(Object[] context) {
+
+ if (context == null) {
+ context = new Object[]{PLACEHOLDER};
+ } else {
+ context = ArrayUtils.add(context, PLACEHOLDER); // To be replaced by javascript
+ }
+
+ return resources.createEventLink(event, context);
+
+ }
+
+ void afterRender() {
+ String link = createLink(context).toAbsoluteURI();
+ String elementId = element.getClientId();
+ if (clientEvent == null) {
+ clientEvent = event;
+ }
+
+ if (listeningElement == null) {
+ listeningElement = "$('" + elementId + "')";
+ }
+ renderSupport.addScript("new ZoneUpdater('%s', %s, '%s', '%s', '%s', '%s')", elementId, listeningElement, clientEvent, link, zone, PLACEHOLDER);
+
+ }
+}
Property changes on: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/mixins/ZoneUpdater.java
___________________________________________________________________
Added: svn:keywords
+ "Author Date Id Revision HeadURL"
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java 2010-01-06 08:58:16 UTC (rev 165)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java 2010-01-06 13:33:55 UTC (rev 166)
@@ -64,6 +64,7 @@
import org.apache.tapestry5.annotations.SessionState;
import org.apache.tapestry5.beaneditor.BeanModel;
import org.apache.tapestry5.corelib.components.Form;
+import org.apache.tapestry5.corelib.components.Zone;
import org.apache.tapestry5.internal.OptionModelImpl;
import org.apache.tapestry5.internal.SelectModelImpl;
import org.apache.tapestry5.ioc.annotations.Inject;
@@ -126,6 +127,12 @@
@Persist
private ContactFilter contactFilter;
+ @InjectComponent
+ private Zone filtersZone;
+
+ @InjectComponent
+ private Zone importExportZone;
+
@Persist
private GenericSelectModel<SampleRow> sampleRowSelectModel;
@@ -141,6 +148,10 @@
@Persist
private SelectModel sectorSelectModel;
+ @Property
+ @Persist("flash")
+ private boolean filtersVisible;
+
private boolean reset;
public ContactFilter getContactFilter() throws SuiviObsmerException {
@@ -193,6 +204,41 @@
return sampleRowSelectModel;
}
+ String[] onProvideCompletionsFromBoatName(String input) throws SuiviObsmerException {
+ if (log.isInfoEnabled()) {
+ log.info("BUSINESS REQUEST [getBoatNamesStartWith]");
+ }
+ List<String> results = serviceBoat.getBoatNamesStartWith(input);
+ return results.toArray(new String[0]);
+ }
+
+ void onSuccessFromSearchBoat() {
+
+ }
+
+ Object onActionFromShowFilters() {
+ contactFilter = null;
+ return filtersZone.getBody();
+ }
+
+ Object onActionFromShowImportExport() {
+ return importExportZone.getBody();
+ }
+
+ @Log
+ public Object onChangeFromFacadeName(String value) throws SuiviObsmerException {
+ if (!StringUtils.isEmpty(value)) {
+ // Reset contactFilter to avoid strange behavior (cause of no form submit)
+ contactFilter = null;
+ // set facadeName selected in contactFilter
+ getContactFilter().setFacadeName(value);
+ // Reset sectors to use facadeName selected
+ sectorSelectModel = null;
+ return filtersZone.getBody();
+ }
+ return null;
+ }
+
void onSelectedFromReset() {
reset = true;
}
@@ -200,6 +246,8 @@
void onSuccessFromFiltersForm() {
if (reset) {
contactFilter = null;
+ } else {
+ filtersVisible = true;
}
}
Modified: trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml
===================================================================
--- trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml 2010-01-06 08:58:16 UTC (rev 165)
+++ trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml 2010-01-06 13:33:55 UTC (rev 166)
@@ -3,9 +3,22 @@
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd" xmlns:p="tapestry:parameter">
<!--t:include="creationDate, lastState, boatName, boatImmatriculation, boatDistrictCode, beginTideDate, endTideDate,
nbObservants, mammals, editDate, comment, validation"-->
-<div t:type="zone" class="so-filters" t:id="filtersZone" t:update="show" id="so-contacts-filters">
+<div id="so-contacts-search">
+ <form t:type="form" t:id="searchBoat">
+ <input t:type="textfield" t:id="boatName" value="contactFilter.boatName" t:mixins="Autocomplete"/>
+ <input t:type="submit" class="ico search-32px" t:id="execSearchBoat" value="Search" />
+ </form>
+ <a t:type="actionlink" t:id="showFilters" t:zone="so-contacts-filters">
+ recherche avancée
+ </a>
+ <a t:type="actionlink" t:id="showImportExport" t:zone="so-contacts-importexport">
+ import/export
+ </a>
+</div>
+
+<div t:type="zone" class="so-filters" t:id="filtersZone" t:update="show" t:visible="prop:filtersVisible" id="so-contacts-filters">
<fieldset>
- <legend>Filtres de recherche</legend>
+ <legend>Recherche avancée</legend>
<!--<div class="aright">
<t:if t:test="filtersHidden">
<a t:type="actionlink" t:id="showFilters" t:zone="so-contacts-filters">
@@ -35,15 +48,16 @@
</p:boat>
<p:facadeName>
<t:label t:for="facadeName" />
- <select t:type="select" t:id="facadeName" t:model="facadeSelectModel" value="contactFilter.facadeName" />
+ <input t:type="select" t:id="facadeName" t:model="facadeSelectModel" value="contactFilter.facadeName"
+ t:mixins="zoneUpdater" t:event="change" t:zone="so-contacts-filters"/>
</p:facadeName>
<p:sectorName>
<t:label t:for="sectorName" />
- <select t:type="select" t:id="sectorName" t:model="sectorSelectModel" value="contactFilter.sectorName" />
+ <input t:type="select" t:id="sectorName" t:model="sectorSelectModel" value="contactFilter.sectorName" />
</p:sectorName>
<p:sampleRow>
<t:label t:for="sampleRow" />
- <select t:type="select" t:id="sampleRow" t:model="sampleRowSelectModel" value="sampleRowId" />
+ <input t:type="select" t:id="sampleRow" t:model="sampleRowSelectModel" value="sampleRowId" />
</p:sampleRow>
<p:observer>
N/A
@@ -73,15 +87,17 @@
<!--</div>-->
</fieldset>
</div>
-<form t:type="form" t:id="importContacts">
- <t:errors />
- <t:label for="contactsCsvFile" /> :
- <input t:type="upload" t:id="contactsCsvFile" t:validate="required" />
- <input t:type="submit" class="ico import" value="OK" title="Importer une liste de contacts (format CSV)" />
-</form>
-<a t:type="actionlink" t:id="exportShowContacts">
- EXPORT
-</a>
+<div t:type="zone" t:id="importExportZone" t:update="show" t:visible="false" id="so-contacts-importexport">
+ <form t:type="form" t:id="importContacts">
+ <t:errors />
+ <t:label for="contactsCsvFile" /> :
+ <input t:type="upload" t:id="contactsCsvFile" t:validate="required" />
+ <input t:type="submit" class="ico import" value="OK" title="Importer une liste de contacts (format CSV)" />
+ </form>
+ <a t:type="actionlink" t:id="exportShowContacts">
+ EXPORT
+ </a>
+</div>
<t:zone t:id="gridZone" t:update="show">
<form t:type="form" t:id="contactsForm" t:zone="gridZone">
<t:errors id="so-contact-form-errors" t:banner="message:contactsForm-errors-banner"/>
Modified: trunk/suiviobsmer-ui/src/main/webapp/css/contacts.css
===================================================================
--- trunk/suiviobsmer-ui/src/main/webapp/css/contacts.css 2010-01-06 08:58:16 UTC (rev 165)
+++ trunk/suiviobsmer-ui/src/main/webapp/css/contacts.css 2010-01-06 13:33:55 UTC (rev 166)
@@ -14,7 +14,7 @@
font-size: 0.8em;
}
-/* FORM FOR NEW CONTACT */
+/* FORM FOR NEW CONTACT
fieldset#so-contacts-new {
padding: 10px;
margin-bottom: 10px;
@@ -22,6 +22,11 @@
fieldset#so-contacts-new div.content {
margin-bottom: 5px;
+}*/
+
+/* FILTERS */
+div.t-autocomplete-menu ul {
+ background-color: #19a28d;
}
/* TABLE OF CONTACTS */
Added: trunk/suiviobsmer-ui/src/main/webapp/js/ZoneUpdater.js
===================================================================
--- trunk/suiviobsmer-ui/src/main/webapp/js/ZoneUpdater.js (rev 0)
+++ trunk/suiviobsmer-ui/src/main/webapp/js/ZoneUpdater.js 2010-01-06 13:33:55 UTC (rev 166)
@@ -0,0 +1,103 @@
+var ZoneUpdater = Class.create();
+
+ZoneUpdater.prototype = {
+
+ initialize: function(zoneElementId, listeningElement, event, link, zone, placeholder) {
+
+ this.zoneElement = $(zoneElementId);
+
+ this.event = event;
+
+ this.link = link;
+
+ this.placeholder = placeholder;
+
+ $T(this.zoneElement).zoneId = zone;
+
+ listeningElement.observe(this.event, this.updateZone.bindAsEventListener(this));
+
+ },
+
+ updateZone: function(event) {
+
+ var zoneObject = Tapestry.findZoneManager(this.zoneElement);
+
+ if ( !zoneObject ) return;
+
+ var param;
+
+ if (this.zoneElement.value) {
+
+ param = this.zoneElement.value;
+
+ }
+
+ if (!param) param = ' ';
+
+ param = this.encodeForUrl(param);
+
+ var updatedLink = this.link.gsub(this.placeholder, param);
+
+ zoneObject.updateFromURL(updatedLink);
+
+ },
+
+ encodeForUrl: function(string) {
+
+ /**
+
+ * See equanda.js for updated version of this
+
+ */
+
+ string = string.replace(/\r\n/g,"\n");
+
+ var res = "";
+
+ for (var n = 0; n < string.length; n++)
+
+ {
+
+ var c = string.charCodeAt( n );
+
+ if ( '$' == string.charAt( n ) )
+
+ {
+
+ res += '$$';
+
+ }
+
+ else if ( this.inRange( c, "AZ" ) || this.inRange( c, "az" ) || this.inRange( c, "09" ) || this.inRange( c, ".." ) )
+
+ {
+
+ res += string.charAt( n )
+
+ }
+
+ else
+
+ {
+
+ var tmp = c.toString(16);
+
+ while ( tmp.length < 4 ) tmp = "0" + tmp;
+
+ res += '$' + tmp;
+
+ }
+
+ }
+
+ return res;
+
+ },
+
+ inRange: function(code, range) {
+
+ return code >= range.charCodeAt( 0 ) && code <= range.charCodeAt( 1 );
+
+ }
+
+}
\ No newline at end of file
1
0
06 Jan '10
Author: fdesbois
Date: 2010-01-06 08:58:16 +0000 (Wed, 06 Jan 2010)
New Revision: 165
Added:
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/ContactFilterImpl.java
trunk/suiviobsmer-business/src/test/resources/import/contacts.csv
Modified:
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ContactDAOImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ActivityCalendarImport.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceContactMock.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceReferentialMock.java
trunk/suiviobsmer-business/src/main/xmi/suiviobsmer.zargo
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImplTest.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java
trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml
Log:
- Add Contacts filters
- Add methods to get facades and sectors
Added: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/ContactFilterImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/ContactFilterImpl.java (rev 0)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/ContactFilterImpl.java 2010-01-06 08:58:16 UTC (rev 165)
@@ -0,0 +1,17 @@
+
+package fr.ifremer.suiviobsmer.bean;
+
+/**
+ * ContactFilterImpl
+ *
+ * Created: 5 janv. 2010
+ *
+ * @author fdesbois
+ * @version $Revision$
+ *
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+public class ContactFilterImpl extends ContactFilter {
+
+}
Property changes on: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/bean/ContactFilterImpl.java
___________________________________________________________________
Added: svn:keywords
+ "Author Date Id Revision HeadURL"
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ContactDAOImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ContactDAOImpl.java 2010-01-05 16:39:31 UTC (rev 164)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/entity/ContactDAOImpl.java 2010-01-06 08:58:16 UTC (rev 165)
@@ -35,7 +35,7 @@
addParam("company", company);
TopiaQuery<E> subquery = createQuery("C2").
- addSelect("MAX(C2.topiaCreateDate)").
+ setSelect("MAX(C2.topiaCreateDate)").
add("C2.boat = C1.boat").
add("C2.user.company = :company");
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ActivityCalendarImport.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ActivityCalendarImport.java 2010-01-05 16:39:31 UTC (rev 164)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ActivityCalendarImport.java 2010-01-06 08:58:16 UTC (rev 165)
@@ -363,16 +363,17 @@
if (log.isDebugEnabled()) {
log.debug("commit : " + (tic2 - tic1));
}
- if (log.isInfoEnabled()) {
- log.info("RUNNING... Import calendrier d'activité ligne " + currRow);
- Runtime runtime = Runtime.getRuntime();
- long mem = runtime.totalMemory() - runtime.freeMemory();
- long memMega = mem / 1024 / 1024;
- log.info("Memory : " + memMega + " Mo");
- long tic = System.currentTimeMillis();
- log.info("Time : " + DurationFormatUtils.formatDurationHMS(tic - firstTic));
- firstTic = System.currentTimeMillis();
- }
+ firstTic = ImportHelper.logTimeAndMemory(log, firstTic, "calendrier d'activité ligne " + currRow);
+// if (log.isInfoEnabled()) {
+// log.info("RUNNING... Import calendrier d'activité ligne " + currRow);
+// Runtime runtime = Runtime.getRuntime();
+// long mem = runtime.totalMemory() - runtime.freeMemory();
+// long memMega = mem / 1024 / 1024;
+// log.info("Memory : " + memMega + " Mo");
+// long tic = System.currentTimeMillis();
+// log.info("Time : " + DurationFormatUtils.formatDurationHMS(tic - firstTic));
+// firstTic = System.currentTimeMillis();
+// }
}
}
@@ -381,6 +382,16 @@
long stopTime = System.currentTimeMillis();
+ Runtime runtime = Runtime.getRuntime();
+
+ long mem = (runtime.totalMemory() - runtime.freeMemory()) / 1048576;
+ log.info("Memory before gc : " + mem + " Mo");
+
+ System.gc();
+
+ mem = (runtime.totalMemory() - runtime.freeMemory()) / 1048576;
+ log.info("Memory after gc : " + mem + " Mo");
+
String execTime = DurationFormatUtils.formatDurationHMS(stopTime - startTime);
info("Nombre de ligne ajouté : " + result, -1);
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java 2010-01-05 16:39:31 UTC (rev 164)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceBoatImpl.java 2010-01-06 08:58:16 UTC (rev 165)
@@ -109,7 +109,7 @@
// Add join for ElligibleBoat
if (sampleRowFiltered) {
String elligibleBoatClassName = ElligibleBoat.class.getName();
- query.addSelect("B").addFrom(elligibleBoatClassName + " E").add("E.boat = B");
+ query.setSelect("B").addFrom(elligibleBoatClassName + " E").add("E.boat = B");
}
// SampleRowCode
if (sampleRowCodeFiltered) {
@@ -498,7 +498,7 @@
add("A.boat", boat);
TopiaQuery<ActivityCalendar> subquery = dao.createQuery("B").
- addSelect("MAX(B.year)").
+ setSelect("MAX(B.year)").
add("B.boat = A.boat").
addGroup("B.boat");
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java 2010-01-05 16:39:31 UTC (rev 164)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java 2010-01-06 08:58:16 UTC (rev 165)
@@ -32,8 +32,10 @@
import fr.ifremer.suiviobsmer.SuiviObsmerContext;
import fr.ifremer.suiviobsmer.bean.ContactState;
import java.io.InputStream;
+import org.nuiton.topia.TopiaException;
import org.nuiton.topia.framework.TopiaQuery;
import fr.ifremer.suiviobsmer.bean.states.ContactStateEnum;
+import fr.ifremer.suiviobsmer.bean.ContactFilter;
import fr.ifremer.suiviobsmer.entity.Boat;
import fr.ifremer.suiviobsmer.entity.BoatDAO;
import fr.ifremer.suiviobsmer.entity.Company;
@@ -43,6 +45,7 @@
import fr.ifremer.suiviobsmer.entity.ContactImpl;
import fr.ifremer.suiviobsmer.entity.ElligibleBoat;
import fr.ifremer.suiviobsmer.entity.FishingZone;
+import fr.ifremer.suiviobsmer.entity.FishingZoneDAO;
import fr.ifremer.suiviobsmer.entity.Profession;
import fr.ifremer.suiviobsmer.entity.Program;
import fr.ifremer.suiviobsmer.entity.SampleRow;
@@ -55,6 +58,7 @@
import java.nio.charset.Charset;
import java.text.DateFormat;
import java.text.ParseException;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
@@ -88,19 +92,66 @@
}
@Override
- public Map<String, Contact> getContactsByFilter(Company company) throws SuiviObsmerException {
+ public Map<String, Contact> getContactsByFilter(ContactFilter filter) throws SuiviObsmerException {
Map<String, Contact> results = new HashMap<String, Contact>();
TopiaContext transaction = null;
try {
transaction = rootContext.beginTransaction();
ContactDAO dao = SuiviObsmerModelDAOHelper.getContactDAO(transaction);
- TopiaQuery<Contact> query = dao.createQuery().addOrderDesc(TopiaEntity.TOPIA_CREATE_DATE);
- if (company != null) {
- query.add("user.company", company);
+ TopiaQuery<Contact> query = dao.createQuery("C").addOrderDesc("C." + TopiaEntity.TOPIA_CREATE_DATE);
+
+ if (filter.getSampleRow() != null) {
+ query.add("C." + Contact.SAMPLE_ROW, filter.getSampleRow());
+ } else if (!StringUtils.isEmpty(filter.getSectorName())) {
+ query.addFrom(FishingZone.class.getName() + " F");
+ query.add("F.sectorName", filter.getSectorName()).add("C.sampleRow IN elements(F.sampleRow)");
+ } else if (!StringUtils.isEmpty(filter.getFacadeName())) {
+ query.addFrom(FishingZone.class.getName() + " F");
+ query.add("F.facadeName", filter.getFacadeName()).add("C.sampleRow IN elements(F.sampleRow)");
}
+ if (!StringUtils.isEmpty(filter.getBoatDistrictCode())) {
+ query.add("C.boat.districtCode", filter.getBoatDistrictCode());
+ }
+
+ if (filter.getBoatImmatriculation() != null) {
+ query.add("C.boat.immatriculation", filter.getBoatImmatriculation());
+ }
+
+ if (filter.getObserver() != null) {
+ query.add(Contact.USER, filter.getObserver());
+ } else if (filter.getCompany() != null) {
+ query.add("C.user.company", filter.getCompany());
+ }
+
+ if (filter.getMammalsObservation() && filter.getMammalsCapture()) {
+ query.add("C.mammalsObservation = :mammals OR C.mammalsCapture = :mammals").addParam("mammals", Boolean.TRUE);
+ } else if (filter.getMammalsObservation()) {
+ query.add("C." + Contact.MAMMALS_OBSERVATION, Boolean.TRUE);
+ } else if (filter.getMammalsCapture()) {
+ query.add("C." + Contact.MAMMALS_CAPTURE, Boolean.TRUE);
+ }
+
+ List<Object> programValidValues = new ArrayList<Object>();
+ if (filter.getProgramAccepted()) {
+ programValidValues.add(Boolean.TRUE);
+ }
+ if (filter.getProgramRefused()) {
+ programValidValues.add(Boolean.FALSE);
+ }
+ query.add("C." + Contact.VALIDATION_PROGRAM, programValidValues, filter.getProgramUndefined());
+
+ List<Object> companyValidValues = new ArrayList<Object>();
+ if (filter.getCompanyAccepted()) {
+ companyValidValues.add(Boolean.TRUE);
+ }
+ if (filter.getCompanyRefused()) {
+ companyValidValues.add(Boolean.FALSE);
+ }
+ query.add("C." + Contact.VALIDATION_COMPANY, companyValidValues, filter.getCompanyUndefined());
+
query.addLoad("user.company", "sampleRow.program", "sampleRow.profession", "sampleRow.company");
if (log.isInfoEnabled()) {
@@ -348,7 +399,7 @@
int boatImmatriculation = Integer.parseInt(reader.get(BOAT.NAVS_COD.name()));
// The boat must be elligible for the row
- TopiaQuery<Boat> boatQuery = boatDAO.createQuery("B").addSelect("B").
+ TopiaQuery<Boat> boatQuery = boatDAO.createQuery("B").setSelect("B").
addFrom(ElligibleBoat.class.getName() + " E").
add("E.sampleRow", row).add("E.boat = B").
add(Boat.IMMATRICULATION, boatImmatriculation);
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImpl.java 2010-01-05 16:39:31 UTC (rev 164)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImpl.java 2010-01-06 08:58:16 UTC (rev 165)
@@ -26,7 +26,6 @@
import fr.ifremer.suiviobsmer.SuiviObsmerException;
import fr.ifremer.suiviobsmer.SuiviObsmerModelDAOHelper;
import fr.ifremer.suiviobsmer.SuiviObsmerContext;
-import fr.ifremer.suiviobsmer.dto.Facade;
import fr.ifremer.suiviobsmer.entity.FishingZone;
import fr.ifremer.suiviobsmer.entity.FishingZoneDAO;
import fr.ifremer.suiviobsmer.entity.Profession;
@@ -39,7 +38,9 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import org.apache.commons.lang.StringUtils;
import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.framework.TopiaQuery;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -65,11 +66,46 @@
}
@Override
- public List<Facade> getFacades() throws SuiviObsmerException {
- throw new UnsupportedOperationException("Not supported yet.");
+ public List<String> getFacades() throws SuiviObsmerException {
+ TopiaContext transaction = null;
+ List<String> results = new ArrayList<String>();
+ try {
+ transaction = rootContext.beginTransaction();
+
+ FishingZoneDAO dao = SuiviObsmerModelDAOHelper.getFishingZoneDAO(transaction);
+ results = (List<String>)dao.createQuery().setSelect("DISTINCT " + FishingZone.FACADE_NAME).execute();
+
+ transaction.closeContext();
+ } catch (Exception eee) {
+ SuiviObsmerContext.serviceException(transaction, "Impossible de charger la liste des facades", eee);
+ }
+ return results;
}
@Override
+ public List<String> getSectors(String facadeName) throws SuiviObsmerException {
+ TopiaContext transaction = null;
+ List<String> results = new ArrayList<String>();
+ try {
+ transaction = rootContext.beginTransaction();
+
+ FishingZoneDAO dao = SuiviObsmerModelDAOHelper.getFishingZoneDAO(transaction);
+ TopiaQuery<FishingZone> query = dao.createQuery();
+
+ if (!StringUtils.isEmpty(facadeName)) {
+ query.add(FishingZone.FACADE_NAME, facadeName);
+ }
+
+ results = (List<String>)query.setSelect("DISTINCT " + FishingZone.SECTOR_NAME).execute();
+
+ transaction.closeContext();
+ } catch (Exception eee) {
+ SuiviObsmerContext.serviceException(transaction, "Impossible de charger la liste des secteurs de pêche", eee);
+ }
+ return results;
+ }
+
+ @Override
public List<Profession> getProfessions() throws SuiviObsmerException {
TopiaContext transaction = null;
List<Profession> results = new ArrayList<Profession>();
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java 2010-01-05 16:39:31 UTC (rev 164)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java 2010-01-06 08:58:16 UTC (rev 165)
@@ -52,6 +52,7 @@
import org.nuiton.topia.framework.TopiaQuery.Op;
import org.nuiton.topia.persistence.TopiaEntity;
import org.nuiton.topia.persistence.util.EntityLoador;
+import org.nuiton.util.DateUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -179,28 +180,29 @@
transaction = rootContext.beginTransaction();
FishingZoneDAO zoneDAO = SuiviObsmerModelDAOHelper.getFishingZoneDAO(transaction);
-
List<FishingZone> list = zoneDAO.findAllWithOrder(
FishingZone.FACADE_NAME,
FishingZone.SECTOR_NAME,
FishingZone.DISTRICT_CODE);
-
-// TopiaQuery query = new TopiaQuery(SampleRow.class.getName() + " S").addSelect("S");
-// query.addFrom(SampleRowZone.class.getName() + " Z").add("Z.sampleRow = S");
-// query.addFrom(FishingZone.class.getName() + " F").add("Z.fishingZone = F");
+// SampleRowDAO dao = SuiviObsmerModelDAOHelper.getSampleRowDAO(transaction);
//
+// TopiaQuery<SampleRow> query = dao.createQuery("S").addDistinct().
+// addFrom(FishingZone.class.getName() + " F").add("S IN elements(F.sampleRow)");
+//
// if (company != null) {
-// query.add("S.company = :company").addParam("company", company);
+// query.add("S.company", company);
// }
//
// // Prepare period dates
// periodBegin = DateUtils.setFirstDayOfMonth(periodBegin);
// periodEnd = DateUtils.setLastDayOfMonth(periodEnd);
-// query.add("S.program.periodBegin < :end AND S.program.periodEnd > :begin").
-// addParam("begin", periodBegin).addParam("end", periodEnd);
+// query.add("S.program.periodBegin", Op.LT, periodEnd).add("S.program.periodEnd", Op.GT, periodBegin);
//
-// query.addOrder("facadeName, sectorName, districtCode");
+// query.addOrder("F.facadeName, F.sectorName, F.districtCode");
+//
+// query.addLoad(SampleRow.PROFESSION, SampleRow.PROGRAM, SampleRow.COMPANY);
+// results = query.executeToEntityList();
for (FishingZone zone : list) {
@@ -248,7 +250,7 @@
query.add(SampleRow.COMPANY, user.getCompany());
}
- results = query.addLoad("program", "profession").executeToEntityList();
+ results = query.addLoad(SampleRow.PROFESSION, SampleRow.PROGRAM).executeToEntityList();
// SampleRowDAO dao = SuiviObsmerModelDAOHelper.getSampleRowDAO(transaction);
//
@@ -298,7 +300,7 @@
SampleRowDAO dao = SuiviObsmerModelDAOHelper.getSampleRowDAO(transaction);
result = dao.createQuery().add(TopiaEntity.TOPIA_ID, sampleRowId).
- addLoad("company", "program", "profession").
+ addLoad(SampleRow.PROFESSION, SampleRow.PROGRAM, SampleRow.COMPANY).
executeToEntity();
// result = dao.findByTopiaId(sampleRowId);
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceContactMock.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceContactMock.java 2010-01-05 16:39:31 UTC (rev 164)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceContactMock.java 2010-01-06 08:58:16 UTC (rev 165)
@@ -22,8 +22,8 @@
package fr.ifremer.suiviobsmer.mock;
import fr.ifremer.suiviobsmer.SuiviObsmerException;
+import fr.ifremer.suiviobsmer.bean.ContactFilter;
import fr.ifremer.suiviobsmer.entity.Boat;
-import fr.ifremer.suiviobsmer.entity.Company;
import fr.ifremer.suiviobsmer.entity.Contact;
import fr.ifremer.suiviobsmer.entity.ContactImpl;
import fr.ifremer.suiviobsmer.entity.SampleRow;
@@ -56,7 +56,7 @@
}
@Override
- public Map<String, Contact> getContactsByFilter(Company company) throws SuiviObsmerException {
+ public Map<String, Contact> getContactsByFilter(ContactFilter filter) throws SuiviObsmerException {
Map<String, Contact> results = new HashMap<String, Contact>();
for (Contact contact : contacts) {
results.put(contact.getTopiaId(), contact);
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceReferentialMock.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceReferentialMock.java 2010-01-05 16:39:31 UTC (rev 164)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceReferentialMock.java 2010-01-06 08:58:16 UTC (rev 165)
@@ -77,41 +77,42 @@
}
@Override
- public List<Facade> getFacades() throws SuiviObsmerException {
+ public List<String> getFacades() throws SuiviObsmerException {
List<Facade> facades = new ArrayList<Facade>();
- Facade nord = new Facade();
- nord.setName("Manche - mer du nord");
- facades.add(nord);
-
- Facade atlantique = new Facade();
- atlantique.setName("Atlantique");
- facades.add(atlantique);
-
- List<Sector> nordSectors = new ArrayList<Sector>();
- nord.setSector(nordSectors);
- Sector sector1 = new Sector();
- sector1.setNum(1);
- sector1.setName("Secteur du Havre à Dunkerque centré sur Boulogne");
- //sector1.setCompanyName("Océanic Développement");
- nordSectors.add(sector1);
-
- Sector sector2 = new Sector();
- sector2.setNum(2);
- sector2.setName("Secteur Cherbourg Honfleur centré sur Port-en-Bessin");
- //sector2.setCompanyName("COFREPECHE");
- nordSectors.add(sector2);
-
- List<Sector> atlantiqueSectors = new ArrayList<Sector>();
- atlantique.setSector(atlantiqueSectors);
-
- Sector sector3 = new Sector();
- sector3.setNum(3);
- sector3.setName("Secteur Mer Celtique et Ouest Irlande centré Pays bigouden");
- //sector3.setCompanyName("COFREPECHE");
- atlantiqueSectors.add(sector3);
-
- return facades;
+// Facade nord = new Facade();
+// nord.setName("Manche - mer du nord");
+// facades.add(nord);
+//
+// Facade atlantique = new Facade();
+// atlantique.setName("Atlantique");
+// facades.add(atlantique);
+//
+// List<Sector> nordSectors = new ArrayList<Sector>();
+// nord.setSector(nordSectors);
+// Sector sector1 = new Sector();
+// sector1.setNum(1);
+// sector1.setName("Secteur du Havre à Dunkerque centré sur Boulogne");
+// //sector1.setCompanyName("Océanic Développement");
+// nordSectors.add(sector1);
+//
+// Sector sector2 = new Sector();
+// sector2.setNum(2);
+// sector2.setName("Secteur Cherbourg Honfleur centré sur Port-en-Bessin");
+// //sector2.setCompanyName("COFREPECHE");
+// nordSectors.add(sector2);
+//
+// List<Sector> atlantiqueSectors = new ArrayList<Sector>();
+// atlantique.setSector(atlantiqueSectors);
+//
+// Sector sector3 = new Sector();
+// sector3.setNum(3);
+// sector3.setName("Secteur Mer Celtique et Ouest Irlande centré Pays bigouden");
+// //sector3.setCompanyName("COFREPECHE");
+// atlantiqueSectors.add(sector3);
+//
+// return facades;
+ return new ArrayList<String>();
}
@Override
@@ -161,4 +162,9 @@
throw new UnsupportedOperationException("Not supported yet.");
}
+ @Override
+ public List<String> getSectors(String facadeName) throws SuiviObsmerException {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
}
Modified: trunk/suiviobsmer-business/src/main/xmi/suiviobsmer.zargo
===================================================================
(Binary files differ)
Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImplTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImplTest.java 2010-01-05 16:39:31 UTC (rev 164)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ServiceReferentialImplTest.java 2010-01-06 08:58:16 UTC (rev 165)
@@ -74,11 +74,41 @@
/**
* Test of getFacades method, of class ServiceReferentialImpl.
*/
- //@Test
+ @Test
public void testGetFacades() throws Exception {
log.info("getFacades");
+
+ InputStream input = getClass().getResourceAsStream("/import/zonesPeche.csv");
+ service.importFishingZoneCsv(input);
+
+ List<String> facades = service.getFacades();
+ assertEquals(3, facades.size());
+ assertTrue(facades.contains("Atlantique"));
+ assertTrue(facades.contains("Mer du Nord"));
+ assertTrue(facades.contains("Méditerranée"));
}
+ @Test
+ public void testGetSectors() throws Exception {
+ log.info("getSectors");
+
+ InputStream input = getClass().getResourceAsStream("/import/zonesPeche.csv");
+ service.importFishingZoneCsv(input);
+
+ List<String> sectors = service.getSectors(null);
+ assertEquals(5, sectors.size());
+ assertTrue(sectors.contains("Manche"));
+ assertTrue(sectors.contains("Mer du Nord"));
+ assertTrue(sectors.contains("Manche Ouest"));
+ assertTrue(sectors.contains("Golfe de Gascogne"));
+ assertTrue(sectors.contains("Méditerranée"));
+
+ sectors = service.getSectors("Atlantique");
+ assertEquals(2, sectors.size());
+ assertTrue(sectors.contains("Manche Ouest"));
+ assertTrue(sectors.contains("Golfe de Gascogne"));
+ }
+
/**
* Test of getProfessions method, of class ServiceReferentialImpl.
*/
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java 2010-01-05 16:39:31 UTC (rev 164)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java 2010-01-06 08:58:16 UTC (rev 165)
@@ -24,15 +24,17 @@
import fr.ifremer.suiviobsmer.SuiviObsmerBusinessException;
import fr.ifremer.suiviobsmer.SuiviObsmerContext;
import fr.ifremer.suiviobsmer.SuiviObsmerException;
+import fr.ifremer.suiviobsmer.bean.ContactFilter;
+import fr.ifremer.suiviobsmer.bean.ContactFilterImpl;
import fr.ifremer.suiviobsmer.bean.ContactState;
import fr.ifremer.suiviobsmer.entity.Boat;
-import fr.ifremer.suiviobsmer.entity.Company;
import fr.ifremer.suiviobsmer.entity.Contact;
import fr.ifremer.suiviobsmer.entity.Program;
import fr.ifremer.suiviobsmer.entity.SampleRow;
import fr.ifremer.suiviobsmer.entity.User;
import fr.ifremer.suiviobsmer.services.ServiceBoat;
import fr.ifremer.suiviobsmer.services.ServiceContact;
+import fr.ifremer.suiviobsmer.services.ServiceReferential;
import fr.ifremer.suiviobsmer.services.ServiceSampling;
import fr.ifremer.suiviobsmer.ui.base.BusinessUtils;
import fr.ifremer.suiviobsmer.ui.base.GenericSelectModel;
@@ -43,6 +45,7 @@
import java.io.InputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -50,6 +53,8 @@
import org.apache.commons.lang.StringUtils;
import org.apache.tapestry5.ComponentResources;
import org.apache.tapestry5.Field;
+import org.apache.tapestry5.OptionModel;
+import org.apache.tapestry5.SelectModel;
import org.apache.tapestry5.StreamResponse;
import org.apache.tapestry5.annotations.IncludeStylesheet;
import org.apache.tapestry5.annotations.InjectComponent;
@@ -59,6 +64,8 @@
import org.apache.tapestry5.annotations.SessionState;
import org.apache.tapestry5.beaneditor.BeanModel;
import org.apache.tapestry5.corelib.components.Form;
+import org.apache.tapestry5.internal.OptionModelImpl;
+import org.apache.tapestry5.internal.SelectModelImpl;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.services.PropertyAccess;
import org.apache.tapestry5.services.BeanModelSource;
@@ -114,6 +121,88 @@
contactsForm.clearErrors();
}
+ /**************************** CONTACT FILTERS *****************************/
+
+ @Persist
+ private ContactFilter contactFilter;
+
+ @Persist
+ private GenericSelectModel<SampleRow> sampleRowSelectModel;
+
+ @Property
+ private String sampleRowId;
+
+ @Inject
+ private ServiceReferential serviceReferential;
+
+ @Persist
+ private SelectModel facadeSelectModel;
+
+ @Persist
+ private SelectModel sectorSelectModel;
+
+ private boolean reset;
+
+ public ContactFilter getContactFilter() throws SuiviObsmerException {
+ if (contactFilter == null) {
+ contactFilter = new ContactFilterImpl();
+ if (!user.getAdmin()) {
+ contactFilter.setCompany(user.getCompany());
+ }
+ }
+ return contactFilter;
+ }
+
+ public SelectModel getFacadeSelectModel() throws SuiviObsmerException {
+ if (facadeSelectModel == null) {
+ if (log.isInfoEnabled()) {
+ log.info("BUSINESS REQUEST [getFacades]");
+ }
+ List<OptionModel> options = new ArrayList<OptionModel>();
+ for (String facadeName : serviceReferential.getFacades()) {
+ options.add(new OptionModelImpl(facadeName,facadeName));
+ }
+ facadeSelectModel = new SelectModelImpl(null, options);
+ }
+ return facadeSelectModel;
+ }
+
+ public SelectModel getSectorSelectModel() throws SuiviObsmerException {
+ if (sectorSelectModel == null) {
+ if (log.isInfoEnabled()) {
+ log.info("BUSINESS REQUEST [getSectors]");
+ }
+ List<OptionModel> options = new ArrayList<OptionModel>();
+ for (String sectorName : serviceReferential.getSectors(getContactFilter().getFacadeName())) {
+ options.add(new OptionModelImpl(sectorName,sectorName));
+ }
+ sectorSelectModel = new SelectModelImpl(null, options);
+ }
+ return sectorSelectModel;
+ }
+
+ public GenericSelectModel<SampleRow> getSampleRowSelectModel() throws SuiviObsmerException {
+ if (sampleRowSelectModel == null) {
+ if (log.isInfoEnabled()) {
+ log.info("BUSINESS REQUEST [getSampleRowsForUser]");
+ }
+ List<SampleRow> sampleRows = serviceSampling.getSampleRowsForUser(user);
+ sampleRowSelectModel = new GenericSelectModel<SampleRow>(sampleRows, SampleRow.class,
+ "code", "topiaId", propertyAccess);
+ }
+ return sampleRowSelectModel;
+ }
+
+ void onSelectedFromReset() {
+ reset = true;
+ }
+
+ void onSuccessFromFiltersForm() {
+ if (reset) {
+ contactFilter = null;
+ }
+ }
+
/**************************** CONTACT IMPORT/EXPORT ***********************/
@Property
@@ -195,8 +284,7 @@
if (log.isInfoEnabled()) {
log.info("BUSINESS REQUEST [getContactsByFilter]");
}
- Company company = !user.getAdmin() ? user.getCompany() : null;
- contacts = serviceContact.getContactsByFilter(company);
+ contacts = serviceContact.getContactsByFilter(getContactFilter());
}
return contacts;
}
Modified: trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml
===================================================================
--- trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml 2010-01-05 16:39:31 UTC (rev 164)
+++ trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml 2010-01-06 08:58:16 UTC (rev 165)
@@ -3,6 +3,76 @@
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd" xmlns:p="tapestry:parameter">
<!--t:include="creationDate, lastState, boatName, boatImmatriculation, boatDistrictCode, beginTideDate, endTideDate,
nbObservants, mammals, editDate, comment, validation"-->
+<div t:type="zone" class="so-filters" t:id="filtersZone" t:update="show" id="so-contacts-filters">
+ <fieldset>
+ <legend>Filtres de recherche</legend>
+ <!--<div class="aright">
+ <t:if t:test="filtersHidden">
+ <a t:type="actionlink" t:id="showFilters" t:zone="so-contacts-filters">
+ <img src="${asset:context:}/img/downarrow.png" title="Afficher les filtres"/>
+ </a>
+ <p:else>
+ <a t:type="actionlink" t:id="hideFilters" t:zone="so-boats-filters">
+ <img src="${asset:context:}/img/uparrow.png" title="Cacher les filtres"/>
+ </a>
+ </p:else>
+ </t:if>
+ </div>-->
+ <!--<t:feedback t:id="filterFeedback" />
+ <div class="so-filters-form ${hiddenClass}">-->
+ <form t:type="form" t:id="filtersForm">
+ <t:errors />
+ <div class="t-beaneditor">
+ <t:beaneditor t:id="filtersEditor" t:object="contactFilter"
+ t:include="facadeName, sectorName, state" t:add="boat, sampleRow, observer, mammals, validation"
+ t:reorder="boat, facadeName, sectorName, sampleRow, observer">
+ <p:boat>
+ <t:label t:for="boat" />
+ <span> immatriculation </span>
+ <input t:type="textfield" t:id="boat" class="width50" t:value="contactFilter.boatImmatriculation" />
+ <span> code quartier </span>
+ <input t:type="textfield" t:id="boatDistrictCode" class="width50" t:value="contactFilter.boatDistrictCode" />
+ </p:boat>
+ <p:facadeName>
+ <t:label t:for="facadeName" />
+ <select t:type="select" t:id="facadeName" t:model="facadeSelectModel" value="contactFilter.facadeName" />
+ </p:facadeName>
+ <p:sectorName>
+ <t:label t:for="sectorName" />
+ <select t:type="select" t:id="sectorName" t:model="sectorSelectModel" value="contactFilter.sectorName" />
+ </p:sectorName>
+ <p:sampleRow>
+ <t:label t:for="sampleRow" />
+ <select t:type="select" t:id="sampleRow" t:model="sampleRowSelectModel" value="sampleRowId" />
+ </p:sampleRow>
+ <p:observer>
+ N/A
+ </p:observer>
+ <p:state>
+ N/A
+ </p:state>
+ <p:mammals>
+ N/A
+ </p:mammals>
+ <p:validation>
+ <t:label t:for="validation" />
+ <input t:type="checkbox" t:id="validation" value="contactFilter.companyAccepted" />
+ <img src="${asset:context:}/img/true-22px.png" title="Accepté par la société" />
+ <input t:type="checkbox" value="contactFilter.companyRefused" />
+ <img src="${asset:context:}/img/false-22px.png" title="Refusé par la société" />
+ <input t:type="checkbox" value="contactFilter.companyUndefined" />
+ <img src="${asset:context:}/img/help-22px.png" title="Non validé par la société" />
+ </p:validation>
+ </t:beaneditor>
+ <div class="t-beaneditor-row aright">
+ <input t:type="submit" class="ico search-32px" t:id="search" value="Search" />
+ <input t:type="submit" class="ico undo" t:id="reset" value="Reset" />
+ </div>
+ </div>
+ </form>
+ <!--</div>-->
+ </fieldset>
+</div>
<form t:type="form" t:id="importContacts">
<t:errors />
<t:label for="contactsCsvFile" /> :
1
0
[Suiviobsmer-commits] r164 - in trunk: suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock suiviobsmer-business/src/main/xmi suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages suiviobsmer-ui/src/main/webapp suiviobsmer-ui/src/main/webapp/css
by fdesbois@users.labs.libre-entreprise.org 05 Jan '10
by fdesbois@users.labs.libre-entreprise.org 05 Jan '10
05 Jan '10
Author: fdesbois
Date: 2010-01-05 16:39:31 +0000 (Tue, 05 Jan 2010)
New Revision: 164
Added:
trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/ImportHelperTest.java
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/ExceptionReport.java
trunk/suiviobsmer-ui/src/main/webapp/ExceptionReport.tml
Modified:
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/ImportHelper.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java
trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceContactMock.java
trunk/suiviobsmer-business/src/main/xmi/suiviobsmer.zargo
trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java
trunk/suiviobsmer-ui/src/main/webapp/Administration.tml
trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml
trunk/suiviobsmer-ui/src/main/webapp/css/common.css
Log:
- Improve contacts import/export
- Add ExceptionReport page to show exceptions
- Add missing admin field in Administration
- Add missing loadProperty for getSampleRowsByUser
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/ImportHelper.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/ImportHelper.java 2010-01-05 09:55:40 UTC (rev 163)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/ImportHelper.java 2010-01-05 16:39:31 UTC (rev 164)
@@ -1,7 +1,15 @@
package fr.ifremer.suiviobsmer;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.Locale;
import org.apache.commons.lang.BooleanUtils;
+import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.time.DurationFormatUtils;
import org.slf4j.Logger;
@@ -23,15 +31,15 @@
*/
public static enum BOAT {
/** Boat immatriculation **/
- NAVS_COD(19),
+ NAVS_COD(20),
/** Boat name **/
- CARN_NOM(20),
+ CARN_NOM(21),
/** Boat length **/
CARN_LONGUEUR_HT(-1),
/** Boat build year **/
CARN_ANNEE(-1),
/** Boat district code **/
- QUARTIER_IMMA(21),
+ QUARTIER_IMMA(22),
/** ShipOwner code **/
PER_COD(-1),
/** ShipOwner last name **/
@@ -57,27 +65,27 @@
*/
public static enum SAMPLING {
/** SampleRow code **/
- PLAN_CODE(5),
+ PLAN_CODE(6),
/** Program code **/
- PROGRAMME_CODE(6),
+ PROGRAMME_CODE(7),
/** Program period begin **/
- PROGRAMME_DEBUT(7),
+ PROGRAMME_DEBUT(8),
/** Program period end **/
- PROGRAMME_FIN(8),
+ PROGRAMME_FIN(9),
/** FishingZone other infos **/
- PECHE_AUTRE(12),
+ PECHE_AUTRE(13),
/** Profession code DCF5 **/
- METIER_CODE_DCF5(13),
+ METIER_CODE_DCF5(14),
/** Profession mesh size **/
- METIER_MAILLAGE(14),
+ METIER_MAILLAGE(15),
/** Profession size **/
- METIER_TAILLE(15),
+ METIER_TAILLE(16),
/** Profession other infos **/
- METIER_AUTRE(16),
+ METIER_AUTRE(17),
/** Profession libelle **/
- METIER_LIBELLE(17),
+ METIER_LIBELLE(18),
/** Profession species **/
- METIER_ESPECES(18),
+ METIER_ESPECES(19),
/** SampleRow nb observants **/
PLAN_NB_OBSERV(-1),
/** SampleRow average tide time **/
@@ -99,11 +107,11 @@
*/
public static enum FISHING_ZONE {
/** FishingZone facade **/
- PECHE_FACADE(9),
+ PECHE_FACADE(10),
/** FishingZone sector **/
- PECHE_ZONE(10),
+ PECHE_ZONE(11),
/** FishingZone district code **/
- PECHE_DIVISION(11);
+ PECHE_DIVISION(12);
int contactHeader;
@@ -120,38 +128,40 @@
* CSV headers for Contact
*/
public static enum CONTACT {
+ /** Contact code (create date time for existing contact) **/
+ CONT_CODE(0),
/** Contact create date **/
- CONT_CREATION(0),
+ CONT_CREATION(1),
/** User id **/
- OBSERV_ID(1),
+ OBSERV_ID(2),
/** User prenom **/
- OBSERV_PRENOM(2),
+ OBSERV_PRENOM(3),
/** User nom **/
- OBSERV_NOM(3),
+ OBSERV_NOM(4),
/** Company id **/
//SOCIETE_ID,
/** Company nom **/
- SOCIETE_NOM(4),
+ SOCIETE_NOM(5),
/** Contact state **/
- CONT_ETAT(22),
+ CONT_ETAT(23),
/** Contact tide begin **/
- CONT_DEBUT_MAREE(23),
+ CONT_DEBUT_MAREE(24),
/** Contact tide end **/
- CONT_FIN_MAREE(24),
+ CONT_FIN_MAREE(25),
/** Contact nb observants **/
- CONT_NB_OBSERV(25),
+ CONT_NB_OBSERV(26),
/** Contact mammals capture **/
- CONT_MAM_CAPT(26),
+ CONT_MAM_CAPT(27),
/** Contact mammals observation **/
- CONT_MAM_OBS(27),
+ CONT_MAM_OBS(28),
/** Contact comment **/
- CONT_COMMENT(28),
+ CONT_COMMENT(29),
/** Contact data input **/
- CONT_ALLEGRO(29),
+ CONT_ALLEGRO(30),
/** Contact company validation **/
- CONT_SOCIETE_VALID(30),
+ CONT_SOCIETE_VALID(31),
/** Contact program validation **/
- CONT_PROGRAM_VALID(31);
+ CONT_PROGRAM_VALID(32);
int contactHeader;
@@ -164,7 +174,7 @@
}
}
- public static int CONTACT_NB_HEADERS = 31;
+ public static int CONTACT_NB_HEADERS = 33;
public static String getHeaderForContactCsv(int index) {
for (BOAT boatEnum : BOAT.values()) {
@@ -219,6 +229,44 @@
return mammals.equals("X");
}
+ protected static String CONTACT_TIME_PATTERN = "HHmmssS";
+
+ protected static String CONTACT_DATE_PATTERN = "dd/MM/yyyy";
+
+ public static String formatContactCode(Date createDate) {
+ DateFormat timeFormat = new SimpleDateFormat(CONTACT_TIME_PATTERN, Locale.FRENCH);
+ String result = timeFormat.format(createDate);
+ return result;
+ }
+
+ public static Date parseContactCreateDate(String code, String createDate) throws ParseException {
+ Calendar time = new GregorianCalendar(Locale.FRENCH);
+ if (!StringUtils.isEmpty(code)) {
+ DateFormat timeFormat = new SimpleDateFormat(CONTACT_TIME_PATTERN, Locale.FRENCH);
+ time = new GregorianCalendar(Locale.FRENCH);
+ time.setTime(timeFormat.parse(code));
+ } else {
+ time.setTime(SuiviObsmerContext.getCurrentDate());
+ }
+
+ Calendar result = new GregorianCalendar(Locale.FRENCH);
+ if (!StringUtils.isEmpty(createDate)) {
+ DateFormat dateFormat = getContactDateFormat();
+ result.setTime(dateFormat.parse(createDate));
+ result.set(Calendar.HOUR_OF_DAY, time.get(Calendar.HOUR_OF_DAY));
+ result.set(Calendar.MINUTE, time.get(Calendar.MINUTE));
+ result.set(Calendar.SECOND, time.get(Calendar.SECOND));
+ result.set(Calendar.MILLISECOND, time.get(Calendar.MILLISECOND));
+ } else {
+ result.setTime(SuiviObsmerContext.getCurrentDate());
+ }
+ return result.getTime();
+ }
+
+ public static DateFormat getContactDateFormat() {
+ return new SimpleDateFormat(CONTACT_DATE_PATTERN, Locale.FRENCH);
+ }
+
public static long logTimeAndMemory(Logger log, long tic1, String msg) {
if (log.isInfoEnabled()) {
log.info("RUNNING... Import : " + msg);
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java 2010-01-05 09:55:40 UTC (rev 163)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceContactImpl.java 2010-01-05 16:39:31 UTC (rev 164)
@@ -41,6 +41,7 @@
import fr.ifremer.suiviobsmer.entity.Contact;
import fr.ifremer.suiviobsmer.entity.ContactDAO;
import fr.ifremer.suiviobsmer.entity.ContactImpl;
+import fr.ifremer.suiviobsmer.entity.ElligibleBoat;
import fr.ifremer.suiviobsmer.entity.FishingZone;
import fr.ifremer.suiviobsmer.entity.Profession;
import fr.ifremer.suiviobsmer.entity.Program;
@@ -51,15 +52,15 @@
import fr.ifremer.suiviobsmer.services.ServiceContact;
import java.io.FileInputStream;
import java.io.FileOutputStream;
-import java.io.OutputStream;
import java.nio.charset.Charset;
import java.text.DateFormat;
-import java.text.SimpleDateFormat;
+import java.text.ParseException;
+import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
-import java.util.Locale;
import java.util.Map;
+import org.apache.commons.lang.StringUtils;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.persistence.TopiaEntity;
import org.slf4j.Logger;
@@ -101,6 +102,11 @@
}
query.addLoad("user.company", "sampleRow.program", "sampleRow.profession", "sampleRow.company");
+
+ if (log.isInfoEnabled()) {
+ log.info("Query : " + query);
+ }
+
results = query.executeToEntityMap();
transaction.closeContext();
@@ -158,11 +164,8 @@
}
}
- protected static String DATE_TIME_PATTERN = "dd/MM/yyyy HH:mm:ss";
- protected static String DATE_PATTERN = "dd/MM/yyyy";
-
@Override
- public InputStream exportContactCsv(User user, List<Contact> contacts)
+ public InputStream exportContactCsv(User user, Collection<Contact> contacts)
throws SuiviObsmerException {
TopiaContext transaction = null;
InputStream result = null;
@@ -176,14 +179,18 @@
contacts = dao.findAll();
} else {
// Filtered by company for a simple user
- contacts = dao.createQuery().
- add("user.company", user.getCompany()).
- executeToEntityList();
+ contacts = dao.createQuery().add("user.company", user.getCompany()).executeToEntityList();
}
}
- String alea = SuiviObsmerContext.createRandomString(8);
- FileOutputStream output = new FileOutputStream("/tmp/contact-" + alea + ".csv");
+ String alea = SuiviObsmerContext.createRandomString(16);
+ String filename = "/tmp/wao-contacts-" + alea + ".csv";
+
+ if (log.isDebugEnabled()) {
+ log.debug("Export contacts into : " + filename);
+ }
+
+ FileOutputStream output = new FileOutputStream(filename);
CsvWriter writer = new CsvWriter(output, ',', Charset.forName("UTF-8"));
// Headers
@@ -191,9 +198,10 @@
String header = ImportHelper.getHeaderForContactCsv(i);
writer.write(header);
}
+ writer.endRecord();
- DateFormat dateTimeFormat = new SimpleDateFormat(DATE_TIME_PATTERN, Locale.FRENCH);
- DateFormat dateFormat = new SimpleDateFormat(DATE_PATTERN, Locale.FRENCH);
+
+ DateFormat dateFormat = ImportHelper.getContactDateFormat();
int curr = 0;
for (Contact contact : contacts) {
@@ -201,17 +209,24 @@
String[] record = new String[ImportHelper.CONTACT_NB_HEADERS];
// Contact part
- record[CONTACT.CONT_CREATION.forContactCsv()] = dateTimeFormat.format(contact.getTopiaCreateDate());
+ record[CONTACT.CONT_CODE.forContactCsv()] = ImportHelper.formatContactCode(contact.getTopiaCreateDate());
+ record[CONTACT.CONT_CREATION.forContactCsv()] = dateFormat.format(contact.getTopiaCreateDate());
record[CONTACT.CONT_ETAT.forContactCsv()] = contact.getState();
- record[CONTACT.CONT_DEBUT_MAREE.forContactCsv()] = dateFormat.format(contact.getTideBeginDate());
- record[CONTACT.CONT_FIN_MAREE.forContactCsv()] = dateFormat.format(contact.getTideEndDate());
+ if (contact.getTideBeginDate() != null) {
+ record[CONTACT.CONT_DEBUT_MAREE.forContactCsv()] = dateFormat.format(contact.getTideBeginDate());
+ }
+ if (contact.getTideEndDate() != null) {
+ record[CONTACT.CONT_FIN_MAREE.forContactCsv()] = dateFormat.format(contact.getTideEndDate());
+ }
record[CONTACT.CONT_NB_OBSERV.forContactCsv()] = String.valueOf(contact.getNbObservants());
record[CONTACT.CONT_MAM_CAPT.forContactCsv()] =
ImportHelper.formatContactMammals(contact.getMammalsCapture());
record[CONTACT.CONT_MAM_OBS.forContactCsv()] =
ImportHelper.formatContactMammals(contact.getMammalsObservation());
record[CONTACT.CONT_COMMENT.forContactCsv()] = contact.getComment();
- record[CONTACT.CONT_ALLEGRO.forContactCsv()] = dateFormat.format(contact.getDataInputDate());
+ if (contact.getDataInputDate() != null) {
+ record[CONTACT.CONT_ALLEGRO.forContactCsv()] = dateFormat.format(contact.getDataInputDate());
+ }
record[CONTACT.CONT_SOCIETE_VALID.forContactCsv()] =
ImportHelper.formatContactValidation(contact.getValidationCompany());
record[CONTACT.CONT_PROGRAM_VALID.forContactCsv()] =
@@ -264,7 +279,7 @@
}
writer.close();
- result = new FileInputStream(output.getFD());
+ result = new FileInputStream(filename);
transaction.closeContext();
} catch (Exception eee) {
@@ -275,9 +290,10 @@
}
@Override
- public int importContactCsv(InputStream input) throws SuiviObsmerException {
+ public int importContactCsv(User user, InputStream input) throws SuiviObsmerException {
TopiaContext transaction = null;
int result = 0;
+ int currRow = 1;
try {
transaction = rootContext.beginTransaction();
@@ -290,16 +306,14 @@
SampleRowDAO rowDAO = SuiviObsmerModelDAOHelper.getSampleRowDAO(transaction);
BoatDAO boatDAO = SuiviObsmerModelDAOHelper.getBoatDAO(transaction);
- DateFormat dateTimeFormat = new SimpleDateFormat(DATE_TIME_PATTERN, Locale.FRENCH);
- DateFormat dateFormat = new SimpleDateFormat(DATE_PATTERN, Locale.FRENCH);
-
- int currRow = 0;
+ DateFormat dateFormat = ImportHelper.getContactDateFormat();
+
long tic;
tic = System.currentTimeMillis();
while(reader.readRecord()) {
currRow++;
- String userId = reader.get(CONTACT.OBSERV_ID.name());
+ String observerId = reader.get(CONTACT.OBSERV_ID.name());
String state = reader.get(CONTACT.CONT_ETAT.name());
ContactState contactState = ContactState.createContactStateEnum(state);
@@ -311,36 +325,82 @@
ContactState.availableStates());
}
- User user = userDAO.findByLogin(userId);
- if (user != null) {
- // FIXME-FD20100104 findContains not optimized in TopiaDAOImpl
- Company company = companyDAO.findContainsUser(user);
+ User observer = userDAO.findByLogin(observerId);
+ if (observer != null) {
+ Company company = user.getCompany();
+ // For an admin, get the company from database
+ if (user.getAdmin()) {
+ // FIXME-FD20100104 findContains not optimized in TopiaDAOImpl
+ company = companyDAO.findContainsUser(observer);
+ // For a user, check if the observer as the same company as the current user
+ } else if (!observer.getCompany().getTopiaId().equals(company.getTopiaId())) {
+ throw new SuiviObsmerBusinessException(Type.IMPORT_ERROR, this.getClass(),
+ "Erreur ligne " + currRow + " : " +
+ "L'observateur avec pour login '" + observerId + "' n'appartient pas à votre société !");
+ }
+
if (company != null) {
String rowCode = reader.get(SAMPLING.PLAN_CODE.name());
- SampleRow row = rowDAO.findByCode(rowCode);
+ SampleRow row = rowDAO.findByProperties(SampleRow.CODE, rowCode, SampleRow.COMPANY, company);
if (row != null) {
int boatImmatriculation = Integer.parseInt(reader.get(BOAT.NAVS_COD.name()));
-
- Boat boat = boatDAO.findByImmatriculation(boatImmatriculation);
+ // The boat must be elligible for the row
+ TopiaQuery<Boat> boatQuery = boatDAO.createQuery("B").addSelect("B").
+ addFrom(ElligibleBoat.class.getName() + " E").
+ add("E.sampleRow", row).add("E.boat = B").
+ add(Boat.IMMATRICULATION, boatImmatriculation);
+
+ if (!user.getAdmin()) {
+ // Constraint on companyActive for elligibleBoat for a simple user
+ boatQuery.add("E.companyActive = :booleanTrue OR (E.companyActive IS NULL AND E.globalActive = :booleanTrue)").
+ addParam("booleanTrue", Boolean.TRUE);
+ }
+
+ Boat boat = boatQuery.executeToEntity();
+
if (boat != null) {
- Date createDate = dateTimeFormat.parse(reader.get(CONTACT.CONT_CREATION.name()));
- Contact contact = dao.createQuery().
- add(TopiaEntity.TOPIA_CREATE_DATE, createDate).
- executeToEntity();
+ Contact contact = null;
- if (contact == null) { // new contact to import
+ // Check if createDate exist
+ String createDateString = reader.get(CONTACT.CONT_CREATION.name());
+ //Date createDate = !StringUtils.isEmpty(createDateString) ? dateFormat.parse(createDateString) : null;
+
+ String contactCode = reader.get(CONTACT.CONT_CODE.name());
+ Date createDate = ImportHelper.parseContactCreateDate(contactCode, createDateString);
+ if (log.isDebugEnabled()) {
+ log.debug("Ligne " + currRow + " : Create date : " + createDate);
+ }
+
+ if (!StringUtils.isEmpty(contactCode) && !StringUtils.isEmpty(createDateString)) {
+ // Get entity from database
+ contact = dao.createQuery().
+ add(TopiaEntity.TOPIA_CREATE_DATE, createDate).
+ add("user.company", company).
+ add(Contact.BOAT, boat).
+ add(Contact.SAMPLE_ROW, row).
+ executeToEntity();
+ }
+
+ // new contact to import
+ if (contact == null) {
contact = dao.create(
- Contact.USER, user,
+ TopiaEntity.TOPIA_CREATE_DATE, createDate,
+ Contact.USER, observer,
Contact.SAMPLE_ROW, row,
Contact.BOAT, boat);
}
- Date tideBegin = dateFormat.parse(CONTACT.CONT_DEBUT_MAREE.name());
- Date tideEnd = dateFormat.parse(CONTACT.CONT_FIN_MAREE.name());
- int nbObservants = Integer.parseInt(reader.get(CONTACT.CONT_NB_OBSERV.name()));
+
+ String tideBeginString = reader.get(CONTACT.CONT_DEBUT_MAREE.name());
+ String tideEndString = reader.get(CONTACT.CONT_FIN_MAREE.name());
+ String nbObservantsString = reader.get(CONTACT.CONT_NB_OBSERV.name());
+
+ Date tideBegin = !StringUtils.isEmpty(tideBeginString) ? dateFormat.parse(tideBeginString) : null;
+ Date tideEnd = !StringUtils.isEmpty(tideEndString) ? dateFormat.parse(tideEndString) : null;
+ int nbObservants = !StringUtils.isEmpty(nbObservantsString) ? Integer.parseInt(nbObservantsString) : 0;
boolean mammalsCapture =
ImportHelper.parseContactMammals(reader.get(CONTACT.CONT_MAM_CAPT.name()));
boolean mammalsObsv =
@@ -357,11 +417,12 @@
} else if (log.isWarnEnabled()) {
log.warn("Import contact ligne " + currRow + " : " +
- "Navire inexistant avec l'immatriculation : " + boatImmatriculation);
+ "Navire inexistant ou incompatible avec la ligne d'échantillon " +
+ "pour l'immatriculation : " + boatImmatriculation);
}
} else if (log.isWarnEnabled()) {
log.warn("Import contact ligne " + currRow + " : " +
- "Ligne d'échantillon inexistante avec le code : " + rowCode);
+ "Ligne d'échantillon inexistante ou incompatible avec la société pour le code : " + rowCode);
}
} else if (log.isErrorEnabled()) {
log.error("Import contact ligne " + currRow + " : " +
@@ -369,7 +430,7 @@
}
} else if (log.isWarnEnabled()) {
log.warn("Import contact ligne " + currRow + " : " +
- "Utilisateur inexistant avec l'identifiant : " + userId);
+ "Utilisateur inexistant avec l'identifiant : " + observerId);
}
if (result % 1000 == 0) {
@@ -388,10 +449,17 @@
}
}
+ transaction.commitTransaction();
+
transaction.closeContext();
- } catch (Exception eee) {
+ } catch (ParseException eee) {
SuiviObsmerContext.serviceException(transaction,
- "Impossible d'exporter les contacts", eee);
+ "Erreur ligne " + currRow + " : " +
+ "Le format des dates est incorrect, il doit être de la forme : JJ/MM/AAAA " +
+ "(ou JJ/MM/AAAA HH:MM:SS pour la date de création d'un contact existant)", eee);
+ } catch (Exception eee) {
+ SuiviObsmerContext.serviceException(transaction,
+ "Impossible d'importer les contacts", eee);
}
return result;
}
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java 2010-01-05 09:55:40 UTC (rev 163)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/impl/ServiceSamplingImpl.java 2010-01-05 16:39:31 UTC (rev 164)
@@ -248,7 +248,7 @@
query.add(SampleRow.COMPANY, user.getCompany());
}
- results = query.executeToEntityList();
+ results = query.addLoad("program", "profession").executeToEntityList();
// SampleRowDAO dao = SuiviObsmerModelDAOHelper.getSampleRowDAO(transaction);
//
Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceContactMock.java
===================================================================
--- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceContactMock.java 2010-01-05 09:55:40 UTC (rev 163)
+++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/mock/ServiceContactMock.java 2010-01-05 16:39:31 UTC (rev 164)
@@ -30,8 +30,8 @@
import fr.ifremer.suiviobsmer.entity.User;
import fr.ifremer.suiviobsmer.services.ServiceContact;
import java.io.InputStream;
-import java.io.OutputStream;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -262,12 +262,12 @@
}
@Override
- public InputStream exportContactCsv(User user, List<Contact> contacts) throws SuiviObsmerException {
+ public InputStream exportContactCsv(User user, Collection<Contact> contacts) throws SuiviObsmerException {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
- public int importContactCsv(InputStream input) throws SuiviObsmerException {
+ public int importContactCsv(User user, InputStream input) throws SuiviObsmerException {
throw new UnsupportedOperationException("Not supported yet.");
}
Modified: trunk/suiviobsmer-business/src/main/xmi/suiviobsmer.zargo
===================================================================
(Binary files differ)
Added: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/ImportHelperTest.java
===================================================================
--- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/ImportHelperTest.java (rev 0)
+++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/ImportHelperTest.java 2010-01-05 16:39:31 UTC (rev 164)
@@ -0,0 +1,129 @@
+
+package fr.ifremer.suiviobsmer;
+
+import fr.ifremer.suiviobsmer.business.SuiviObsmerRunnerTest;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.Locale;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import static org.junit.Assert.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ *
+ * @author fdesbois
+ */
+public class ImportHelperTest {
+
+ private static SuiviObsmerRunner runner;
+
+ private static final Logger log = LoggerFactory.getLogger(ImportHelperTest.class);
+
+ public ImportHelperTest() {
+ runner = new SuiviObsmerRunnerTest();
+ }
+
+ @BeforeClass
+ public static void setUpClass() throws Exception {
+
+ }
+
+ @AfterClass
+ public static void tearDownClass() throws Exception {
+
+ }
+
+ @Before
+ public void setUp() throws SuiviObsmerException {
+ runner.start();
+ }
+
+ @After
+ public void tearDown() throws SuiviObsmerException {
+ runner.stop();
+ }
+
+ /**
+ * Test of getHeaderForContactCsv method, of class ImportHelper.
+ */
+ //@Test
+ public void testGetHeaderForContactCsv() {
+ System.out.println("getHeaderForContactCsv");
+ }
+
+ /**
+ * Test of formatContactValidation method, of class ImportHelper.
+ */
+ //@Test
+ public void testFormatContactValidation() {
+ System.out.println("formatContactValidation");
+ }
+
+ /**
+ * Test of formatContactMammals method, of class ImportHelper.
+ */
+ //@Test
+ public void testFormatContactMammals() {
+ System.out.println("formatContactMammals");
+ }
+
+ /**
+ * Test of parseContactMammals method, of class ImportHelper.
+ */
+ //@Test
+ public void testParseContactMammals() {
+ System.out.println("parseContactMammals");
+ }
+
+ /**
+ * Test of formatContactCode method, of class ImportHelper.
+ */
+ @Test
+ public void testFormatContactCode() {
+ log.info("formatContactCode");
+ Date createDate = SuiviObsmerContext.getCurrentDate();
+ Calendar calendar = new GregorianCalendar(Locale.FRENCH);
+ calendar.setTime(createDate);
+ calendar.set(Calendar.HOUR_OF_DAY, 10);
+ calendar.set(Calendar.MINUTE, 1);
+ calendar.set(Calendar.SECOND, 50);
+ calendar.set(Calendar.MILLISECOND, 260);
+ String expResult = "100150260";
+ String result = ImportHelper.formatContactCode(calendar.getTime());
+ assertEquals(expResult, result);
+ }
+
+ /**
+ * Test of parseContactCreateDate method, of class ImportHelper.
+ */
+ @Test
+ public void testParseContactCreateDate() throws Exception {
+ System.out.println("parseContactCreateDate");
+ String code = "101250718";
+ Date createDate = SuiviObsmerContext.getCurrentDate();
+ Calendar calendar = new GregorianCalendar(Locale.FRENCH);
+ calendar.setTime(createDate);
+ calendar.set(Calendar.HOUR_OF_DAY, 10);
+ calendar.set(Calendar.MINUTE, 12);
+ calendar.set(Calendar.SECOND, 50);
+ calendar.set(Calendar.MILLISECOND, 718);
+ Date expResult = calendar.getTime();
+ Date result = ImportHelper.parseContactCreateDate(code, "23/10/2009");
+ assertEquals(expResult, result);
+ }
+
+ /**
+ * Test of logTimeAndMemory method, of class ImportHelper.
+ */
+ //@Test
+ public void testLogTimeAndMemory() {
+ System.out.println("logTimeAndMemory");
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/ImportHelperTest.java
___________________________________________________________________
Added: svn:keywords
+ "Author Date Id Revision HeadURL"
Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java 2010-01-05 09:55:40 UTC (rev 163)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Contacts.java 2010-01-05 16:39:31 UTC (rev 164)
@@ -21,6 +21,7 @@
package fr.ifremer.suiviobsmer.ui.pages;
+import fr.ifremer.suiviobsmer.SuiviObsmerBusinessException;
import fr.ifremer.suiviobsmer.SuiviObsmerContext;
import fr.ifremer.suiviobsmer.SuiviObsmerException;
import fr.ifremer.suiviobsmer.bean.ContactState;
@@ -38,6 +39,8 @@
import fr.ifremer.suiviobsmer.ui.base.SuiviObsmerPage;
import fr.ifremer.suiviobsmer.ui.components.Layout;
import fr.ifremer.suiviobsmer.ui.services.ContactModelFactory;
+import java.io.IOException;
+import java.io.InputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -47,6 +50,7 @@
import org.apache.commons.lang.StringUtils;
import org.apache.tapestry5.ComponentResources;
import org.apache.tapestry5.Field;
+import org.apache.tapestry5.StreamResponse;
import org.apache.tapestry5.annotations.IncludeStylesheet;
import org.apache.tapestry5.annotations.InjectComponent;
import org.apache.tapestry5.annotations.Log;
@@ -58,6 +62,8 @@
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.services.PropertyAccess;
import org.apache.tapestry5.services.BeanModelSource;
+import org.apache.tapestry5.services.Response;
+import org.apache.tapestry5.upload.services.UploadedFile;
import org.nuiton.util.DateUtils;
import org.slf4j.Logger;
@@ -108,6 +114,50 @@
contactsForm.clearErrors();
}
+ /**************************** CONTACT IMPORT/EXPORT ***********************/
+
+ @Property
+ private UploadedFile contactsCsvFile;
+
+ @Log
+ void onSuccessFromImportContacts() throws SuiviObsmerException {
+ //importBoatsForm.clearErrors();
+ try {
+ int result = serviceContact.importContactCsv(user, contactsCsvFile.getStream());
+ // Suppress persitant list of contacts
+ contacts = null;
+ layout.getFeedBack().addInfo(result + " contacts importés");
+ } catch (SuiviObsmerBusinessException eee) {
+ layout.getFeedBack().addError(eee.getMessage());
+ }
+ //return importBoatsForm.getHasErrors() ? importBoatsForm : this;
+ }
+
+ StreamResponse onActionFromExportShowContacts() {
+ return new StreamResponse() {
+
+ @Override
+ public String getContentType() {
+ return "text/csv;charset=utf-8";
+ }
+
+ @Override
+ public InputStream getStream() throws IOException {
+ InputStream result = null;
+ try {
+ result = serviceContact.exportContactCsv(user, getContacts().values());
+ } catch (SuiviObsmerException eee) {
+ throw new IOException(eee);
+ }
+ return result;
+ }
+
+ @Override
+ public void prepareResponse(Response response) {
+ }
+ };
+ }
+
/**************************** CONTACT LIST ********************************/
@Inject
Added: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/ExceptionReport.java
===================================================================
--- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/ExceptionReport.java (rev 0)
+++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/ExceptionReport.java 2010-01-05 16:39:31 UTC (rev 164)
@@ -0,0 +1,64 @@
+
+package fr.ifremer.suiviobsmer.ui.pages;
+
+import fr.ifremer.suiviobsmer.SuiviObsmerException;
+import fr.ifremer.suiviobsmer.ui.base.SuiviObsmerPage;
+import fr.ifremer.suiviobsmer.ui.components.Layout;
+import org.apache.tapestry5.annotations.InjectComponent;
+import org.apache.tapestry5.annotations.Property;
+import org.apache.tapestry5.ioc.annotations.Inject;
+import org.apache.tapestry5.runtime.ComponentEventException;
+import org.apache.tapestry5.services.ExceptionReporter;
+import org.slf4j.Logger;
+
+/**
+ * ExceptionReport
+ *
+ * Created: 5 janv. 2010
+ *
+ * @author fdesbois
+ * @version $Revision$
+ *
+ * Mise a jour: $Date$
+ * par : $Author$
+ */
+public class ExceptionReport implements ExceptionReporter, SuiviObsmerPage {
+
+ @InjectComponent
+ private Layout layout;
+
+ @Inject
+ private Logger log;
+
+ @Property
+ private Throwable exception;
+
+ @Override
+ public void reportException(Throwable eee) {
+ this.exception = getSuiviObsmerException(eee);
+ if (exception != null) {
+ layout.getFeedBack().addError(exception.getMessage());
+ this.exception = exception.getCause();
+ } else {
+ this.exception = eee;
+ log.error("Unexpected exception", eee);
+ }
+ layout.getFeedBack().addError("Erreur : " + this.exception.getClass().getSimpleName() + " : " + this.exception.getMessage());
+ }
+
+ protected Throwable getSuiviObsmerException(Throwable eee) {
+ if (eee == null) {
+ return eee;
+ }
+ if (eee instanceof SuiviObsmerException) {
+ return eee;
+ }
+ return getSuiviObsmerException(eee.getCause());
+ }
+
+ @Override
+ public boolean isOnlyForAdmin() {
+ return false;
+ }
+
+}
Property changes on: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/ExceptionReport.java
___________________________________________________________________
Added: svn:keywords
+ "Author Date Id Revision HeadURL"
Modified: trunk/suiviobsmer-ui/src/main/webapp/Administration.tml
===================================================================
--- trunk/suiviobsmer-ui/src/main/webapp/Administration.tml 2010-01-05 09:55:40 UTC (rev 163)
+++ trunk/suiviobsmer-ui/src/main/webapp/Administration.tml 2010-01-05 16:39:31 UTC (rev 164)
@@ -42,7 +42,7 @@
</form>
<fieldset class="user-form clearfix">
- <form t:type="beaneditform" class="clearfix" t:id="user" t:include="firstName, lastName, login, password, phoneNumber, active">
+ <form t:type="beaneditform" class="clearfix" t:id="user" t:include="firstName, lastName, login, password, phoneNumber, admin, active">
<p:password>
<t:label t:for="generatePassword" />
<input t:type="checkbox" t:id="generatePassword" value="generatePassword" />
Modified: trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml
===================================================================
--- trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml 2010-01-05 09:55:40 UTC (rev 163)
+++ trunk/suiviobsmer-ui/src/main/webapp/Contacts.tml 2010-01-05 16:39:31 UTC (rev 164)
@@ -3,6 +3,15 @@
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd" xmlns:p="tapestry:parameter">
<!--t:include="creationDate, lastState, boatName, boatImmatriculation, boatDistrictCode, beginTideDate, endTideDate,
nbObservants, mammals, editDate, comment, validation"-->
+<form t:type="form" t:id="importContacts">
+ <t:errors />
+ <t:label for="contactsCsvFile" /> :
+ <input t:type="upload" t:id="contactsCsvFile" t:validate="required" />
+ <input t:type="submit" class="ico import" value="OK" title="Importer une liste de contacts (format CSV)" />
+</form>
+<a t:type="actionlink" t:id="exportShowContacts">
+ EXPORT
+</a>
<t:zone t:id="gridZone" t:update="show">
<form t:type="form" t:id="contactsForm" t:zone="gridZone">
<t:errors id="so-contact-form-errors" t:banner="message:contactsForm-errors-banner"/>
Added: trunk/suiviobsmer-ui/src/main/webapp/ExceptionReport.tml
===================================================================
--- trunk/suiviobsmer-ui/src/main/webapp/ExceptionReport.tml (rev 0)
+++ trunk/suiviobsmer-ui/src/main/webapp/ExceptionReport.tml 2010-01-05 16:39:31 UTC (rev 164)
@@ -0,0 +1,15 @@
+<t:layout t:pageTitle="Erreur" t:contentId="so-exception-report"
+ xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd">
+
+</t:layout>
+
+<!--<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd" xmlns:p="tapestry:parameter">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>WAO - Web Applicatif Obsmer : Erreur</title>
+ </head>
+ <body>
+ <t:feedback t:id="errorFeedback" />
+ </body>
+</html>-->
Modified: trunk/suiviobsmer-ui/src/main/webapp/css/common.css
===================================================================
--- trunk/suiviobsmer-ui/src/main/webapp/css/common.css 2010-01-05 09:55:40 UTC (rev 163)
+++ trunk/suiviobsmer-ui/src/main/webapp/css/common.css 2010-01-05 16:39:31 UTC (rev 164)
@@ -287,7 +287,7 @@
text-align: center;
}
-div.so-import fieldset form input.import {
+input.import {
width: 22px;
height: 22px;
background: url(../img/file-import-22px.png) no-repeat center center;
1
0