Tutti-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
- 4130 discussions
Author: tchemit
Date: 2013-01-17 09:16:18 +0100 (Thu, 17 Jan 2013)
New Revision: 213
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/213
Log:
add referential page on site
Added:
trunk/src/site/rst/referential.rst
Modified:
trunk/pom.xml
trunk/src/site/site_fr.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-01-16 22:43:39 UTC (rev 212)
+++ trunk/pom.xml 2013-01-17 08:16:18 UTC (rev 213)
@@ -585,6 +585,7 @@
<groupId>org.nuiton</groupId>
<artifactId>nuiton-utils-maven-report-plugin</artifactId>
<version>${nuitonUtilsVersion}</version>
+ <inherited>false</inherited>
<reportSets>
<reportSet>
<reports>
Copied: trunk/src/site/rst/referential.rst (from rev 211, trunk/tutti-persistence-adagio/src/main/site/rst/referential.rst)
===================================================================
--- trunk/src/site/rst/referential.rst (rev 0)
+++ trunk/src/site/rst/referential.rst 2013-01-17 08:16:18 UTC (rev 213)
@@ -0,0 +1,630 @@
+.. -
+.. * #%L
+.. * Tutti :: Persistence Adagio (impl)
+.. * $Id$
+.. * $HeadURL$
+.. * %%
+.. * Copyright (C) 2012 - 2013 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 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>.
+.. * #L%
+.. -
+
+===================
+Tutti - Référentiel
+===================
+
+Présentation
+~~~~~~~~~~~~
+
+Ce document décrit comment sont récupérées les données du référentiel.
+
+Chaque requète a un nom du style **[REF-XXX]**.
+
+Les requètes métier
+~~~~~~~~~~~~~~~~~~~
+
++-----------------------------------------------------+------+-----------------------------------------------------+
+| Nom requète | Etat | Commentaire |
++=====================================================+======+=====================================================+
+| [REF-01] Liste des zones d'une série de campagne | KO | Définir le niveau LocationLevel |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-02] Liste des pays | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-03] Liste des navires (scientifique) | OK | Requète très longue il faut optimiser |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-04] Liste des navires (pro) | OK | Requète très longue il faut optimiser |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-05] Liste des engins (scientifique) | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-06] Liste des engins (pro) | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-07] Liste des utilisateurs | OK | Doit-on utliser limiter aux membres de l'Ifremer ? |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-08] Liste des espèces | OK | Utilisation de synonymes via import refTax ? |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-09] Liste des psfm mesure de classe de taille | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-10] Liste des psfm (mise en oeuvre de l'engin) | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-11] Liste des psfm (environnement) | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-12] Liste des psfm (hydrologique) | KO | Données à regrouper en base avec un ParameterGroup ?|
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-13] Liste des strates | KO | Pouvoir les lier aux zones |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-14] Liste des sous-strates | KO | Pouvoir les lier aux zones / strates |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-15] Liste des localités | KO | Pouvoir les lier aux zones / strates / sous-strates|
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-16] Conversion Taille-poids | TODO | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-17] Liste des espèces (écran benthos) | KO | Valider comment on filtre (sur le protocole ?) |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-18] Liste des espèces (écran plancton) | KO | Valider comment on filtre (sur le protocole ?) |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-19] Catégorie de macro-déchets | KO | Créer les données en base |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-20] Catégorie de taille macro-déchets | KO | Créer les données en base |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-21] Liste des espèces (écran accidentelles) | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-22] Liste des psfm (écran accidentelles) | TODO | Définir ce qu'on peut mettre ici (protocole ?) |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-23] Catégorie H/VC | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-24] Catégorie Classe. Tri | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-25] Catégorie Sexe | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-26] Catégorie Maturité | KO | psfm à utiliser (MATURITY \ MATURITY_STAGE_5_VISUAL)|
++-----------------------------------------------------+------+-----------------------------------------------------+
+
+[REF-01] Liste des zones d'une série de campagne
+------------------------------------------------
+
+::
+
+ SELECT
+ l.id,
+ l.label,
+ l.name,
+ l.status
+ FROM LocationImpl l
+ WHERE
+ l.locationLevel.id = :locationLevelId
+ AND l.status.code IN (1, 2)
+
+Paramètres :
+
+- :locationLevelId = *LocationLevelId.PROGRAM*
+
+*État:* À Valider et définir la valeur de la constante.
+
+[REF-02] Liste des pays
+-----------------------
+
+::
+
+ SELECT
+ l.id,
+ l.label,
+ l.name,
+ l.status
+ FROM LocationImpl l
+ WHERE
+ l.locationLevel.id = :locationLevelId
+ AND l.status.code IN (1, 2)
+
+
+Paramètres :
+
+- :locationLevelId = *LocationLevelId.PAYS_ISO3*
+
+*État:* Valide.
+
+[REF-03] Liste des navires (scientifique)
+-----------------------------------------
+
+::
+
+ SELECT
+ v.code AS vesselCode,
+ vrp.registrationCode AS nationalRegistrationCode,
+ vrp.internationalRegistrationCode as internationalRegistrationCode,
+ vf.name AS vesselName,
+ v.status AS status
+ FROM
+ VesselImpl v
+ INNER JOIN v.vesselRegistrationPeriods AS vrp
+ LEFT OUTER JOIN v.vesselFeatures AS vf
+ WHERE v.vesselType.id = :vesselTypeId
+ AND v.status.code IN (1, 2)
+ AND vrp.vesselRegistrationPeriodPk.startDateTime =
+ (
+ SELECT MAX(vrp2.vesselRegistrationPeriodPk.startDateTime)
+ FROM VesselRegistrationPeriodImpl vrp2 WHERE
+ vrp2.vesselRegistrationPeriodPk.vessel.code = v.code
+ AND (vrp2.vesselRegistrationPeriodPk.startDateTime <= :refDate OR :refDate IS NULL)
+ GROUP BY vrp2.vesselRegistrationPeriodPk.vessel.code
+ )
+ AND vf.startDateTime =
+ (
+ SELECT MAX(vf2.startDateTime)
+ FROM VesselFeaturesImpl vf2 WHERE
+ vf2.vessel.code = v.code
+ AND (vf2.startDateTime <= :refDate OR :refDate IS NULL)
+ GROUP BY vf2.vessel.code
+ )
+
+Paramètres :
+
+- :gearClassificiationId = *VesselTypeId.SCIENTIFIC_RESEARCH_VESSEL*
+- :refDate = date (ou null)
+
+*État:* Valide mais à optimiser.
+
+[REF-04] Liste des navires (pro)
+--------------------------------
+
+::
+
+ SELECT
+ v.code AS vesselCode,
+ vrp.registrationCode AS nationalRegistrationCode,
+ vrp.internationalRegistrationCode as internationalRegistrationCode,
+ vf.name AS vesselName,
+ v.status AS status
+ FROM
+ VesselImpl v
+ INNER JOIN v.vesselRegistrationPeriods AS vrp
+ LEFT OUTER JOIN v.vesselFeatures AS vf
+ WHERE v.vesselType.id = :vesselTypeId
+ AND v.status.code IN (1, 2)
+ AND vrp.vesselRegistrationPeriodPk.startDateTime =
+ (
+ SELECT MAX(vrp2.vesselRegistrationPeriodPk.startDateTime)
+ FROM VesselRegistrationPeriodImpl vrp2 WHERE
+ vrp2.vesselRegistrationPeriodPk.vessel.code = v.code
+ AND (vrp2.vesselRegistrationPeriodPk.startDateTime <= :refDate OR :refDate IS NULL)
+ GROUP BY vrp2.vesselRegistrationPeriodPk.vessel.code
+ )
+ AND vf.startDateTime =
+ (
+ SELECT MAX(vf2.startDateTime)
+ FROM VesselFeaturesImpl vf2 WHERE
+ vf2.vessel.code = v.code
+ AND (vf2.startDateTime <= :refDate OR :refDate IS NULL)
+ GROUP BY vf2.vessel.code
+ )
+
+
+Paramètres :
+
+- :gearClassificiationId = *VesselTypeId.FISHING_VESSEL*
+- :refDate = date (ou null)
+
+*État:* Valide mais à optimiser.
+
+[REF-05] Liste des engins (scientifique)
+----------------------------------------
+
+::
+
+ SELECT
+ g.id,
+ g.label,
+ g.name,
+ g.status AS status
+ FROM GearImpl g
+ WHERE
+ g.gearClassification.id= :gearClassificiationId
+ AND g.status.code IN (1, 2)
+
+
+Paramètres :
+
+- :gearClassificiationId = *GearClassificationId.SCIENTIFIC_CRUISE*
+
+*État:* Valide.
+
+[REF-06] Liste des engins (pro)
+-------------------------------
+
+::
+
+ SELECT
+ g.id,
+ g.label,
+ g.name,
+ g.status AS status
+ FROM GearImpl g
+ WHERE
+ g.gearClassification.id= :gearClassificiationId
+ AND g.status.code IN (1, 2)
+
+Paramètres :
+
+- :gearClassificiationId = *GearClassificationId.FAO*
+
+*État:* Valide.
+
+
+[REF-07] Liste des utilisateurs
+-------------------------------
+
+::
+
+ SELECT DISTINCT
+ p.id,
+ p.lastname,
+ p.firstname,
+ p.department.code,
+ p.status
+ FROM
+ PersonImpl p
+ LEFT OUTER JOIN p.profils pp
+ WHERE
+ p.status.code in (1,2)
+ AND pp.id IN (
+ :observerProfilId,
+ :projectMemberProfilId,
+ :userProfilId
+ )
+ AND p.department.code LIKE 'PDG-%'
+
+Paramètres :
+
+- :observerProfilId = *UserProfilId.OBSERVER*
+- :projectMemberProfilId = *UserProfilId.PROJECT_MEMBER*
+- :userProfilId = *UserProfilId.USER*
+
+*État:* Valide.
+
+
+[REF-08] Liste des espèces
+--------------------------
+
+::
+
+ voir TaxonSpecificDao.getAllTaxonRefTax()
+
+*État:* Valide.
+
+[REF-09] Liste des psfm mesure de classe de taille
+--------------------------------------------------
+
+::
+
+ SELECT
+ p.id AS pmfmId,
+ p.parameter.name AS parameterName,
+ p.matrix.name AS matrixName,
+ p.fraction.name AS fractionName,
+ p.method.name AS methodName,
+ p.parameter.isAlphanumeric AS isAlphanumeric,
+ p.parameter.isQualitative AS isQualitative,
+ p.signifFiguresNumber,
+ p.maximumNumberDecimals,
+ p.precision,
+ p.unit.symbol AS symbol,
+ p.status AS status
+ FROM PmfmImpl p
+ WHERE
+ p.status.code IN (1, 2)
+ AND p.matrix.id = :matrixId
+ AND p.parameter.isQualitative=false
+ AND p.parameter.isAlphanumeric=false
+ AND p.parameter.isCalculated=false
+ AND p.parameter.code not in (:ageParameterCode, :weightParameterCode)
+ AND p.method.id <> :methodDeclarationId
+
+Paramètres :
+
+- :matrixId = *MatrixId.INDIVIDUAL*
+- :ageParameterCode = *ParameterCode.AGE*
+- :weightParameterCode= *ParameterCode.WEIGHT*
+- :methodDeclarationId = *MethodId.DECLARATION*
+
+*État:* Valide.
+
+[REF-10] Liste des psfm (mise en oeuvre de l'engin)
+---------------------------------------------------
+
+[REF-T03] avec :matrixId= *MatrixId.GEAR*
+
+*État:* Valide.
+
+[REF-11] Liste des psfm (environnement)
+---------------------------------------
+
+[REF-T03] avec :parameterGroupId= *ParameterGroupId.ENVIRONEMENT_MEASUREMENT*
+
+*État:* Valide.
+
+[REF-12] Liste des psfm (hydrologique)
+--------------------------------------
+
+[REF-T03] avec :parameterGroupId= *ParameterGroupId.HYDROLOGIC_MEASUREMENT*
+
+*État:* Données non présentes en base.
+
+[REF-13] Liste des strates
+--------------------------
+
+::
+
+ SELECT
+ l.id as locationId,
+ l.label as locationLabel,
+ l.name as locationName,
+ l.locationLevel.id as locationLevelId,
+ l.status as status
+ FROM LocationImpl l
+ WHERE
+ l.status.code IN (1, 2)
+ AND l.locationLevel.id = :locationLevelId
+
+Paramètres :
+
+- :locationLevelId = *LocationLevelId.STRATA*
+
+*État:* A lier aux zones de série de camapgnes et au rectangle statistique.
+
+[REF-14] Liste des sous-strates
+-------------------------------
+
+::
+
+ SELECT
+ l.id as locationId,
+ l.label as locationLabel,
+ l.name as locationName,
+ l.locationLevel.id as locationLevelId,
+ l.status as status
+ FROM LocationImpl l
+ WHERE
+ l.status.code IN (1, 2)
+ AND l.locationLevel.id = :locationLevelId
+
+Paramètres :
+
+- :locationLevelId = *LocationLevelId.SUBSTRATA*
+
+*État:* Pouvoir les lier aux zones et rectangle statistique et strates.
+
+[REF-15] Liste des localités
+----------------------------
+
+::
+
+ SELECT
+ l.id as locationId,
+ l.label as locationLabel,
+ l.name as locationName,
+ l.locationLevel.id as locationLevelId,
+ l.status as status
+ FROM LocationImpl l
+ WHERE
+ l.status.code IN (1, 2)
+ AND l.locationLevel.id = :locationLevelId
+
+Paramètres :
+
+- :locationLevelId = *LocationLevelId.LOCALITE*
+
+*État:* Pouvoir les lier aux zones et rectangle statistique et strates .
+
+[REF-16] Conversion Taille-poids
+--------------------------------
+
+*État:* A faire.
+
+[REF-17] Liste des espèces (écran benthos)
+------------------------------------------
+
+*État:* Valider comment on filtre (sur le protocole ?).
+
+[REF-18] Liste des espèces (écran plancton)
+-------------------------------------------
+
+*État:* Valider comment on filtre (sur le protocole ?).
+
+[REF-19] Catégorie de macro-déchets
+-----------------------------------
+
+[REF-T01] + [REF-T02] avec :pmfmId = *PmfmId.MACRO_WASTE_CATEGORY*
+
+*État:* les données sont à créer en base.
+
+[REF-20] Catégorie de taille macro-déchets
+-------------------------------------------
+
+[REF-T01] + [REF-T02] avec :pmfmId = *PmfmId.MACRO_WASTE_SIZE_CATEGORY*
+
+*État:* les données sont à créer en base.
+
+[REF-21] Liste des espèces (écran capture accidentelles)
+--------------------------------------------------------
+
+*État:* Valide (on prend toutes les espèces).
+
+[REF-22] Liste des psfm pour les captures accidentelles
+-------------------------------------------------------
+
+*État:* A FAIRE.
+
+[REF-23] Catégorie H/VC
+-----------------------
+
+[REF-T01] + [REF-T02] avec :pmfmId = *PmfmId.SORTED_UNSORTED*
+
+*État:* Valide.
+
+[REF-24] Catégorie Classe. Tri
+------------------------------
+
+[REF-T01] + [REF-T02] avec :pmfmId = *PmfmId.SIZE_CATEGORY*
+
+*État:* Valide.
+
+[REF-25] Catégorie Sexe
+-----------------------
+
+[REF-T01] + [REF-T02] avec :pmfmId = *PmfmId.SEX*
+
+*État:* Valide.
+
+[REF-26] Catégorie Maturité
+---------------------------
+
+[REF-T01] + [REF-T02] avec :pmfmId = *PmfmId.MATURITY*
+
+*État:* Valider l'id utilisé.
+
+Les requètes techniques
+~~~~~~~~~~~~~~~~~~~~~~~
+
++-----------------------------------------------------+------+-----------------------------------------------------+
+| Nom requète | Etat | Commentaire |
++=====================================================+======+=====================================================+
+| [REF-T01] Détail d'un psfm par son id | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-T02] Valeurs qualitatives d'un psfm | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-T03] Liste de psfm à partir d'un support | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-T04] Liste de psfm à partir d'un parameterGroup| OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-T05] Lieu statistique à partir de lat/long | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+
+[REF-T01] Détail d'un psfm par son id
+-------------------------------------
+
+::
+
+ SELECT
+ p.id AS pmfmId,
+ p.parameter.name AS parameterName,
+ p.matrix.name AS matrixName,
+ p.fraction.name AS fractionName,
+ p.method.name AS methodName,
+ p.parameter.isAlphanumeric AS isAlphanumeric,
+ p.parameter.isQualitative AS isQualitative,
+ p.signifFiguresNumber,
+ p.maximumNumberDecimals,
+ p.precision,
+ case when (p.unit.id = :unitIdNone) then '' else p.unit.symbol end AS symbol,
+ p.status AS status
+ FROM PmfmImpl p
+ WHERE
+ p.status.code IN (1, 2)
+ AND p.id= :pmfmId
+
+Paramètres :
+
+- :pmfmId = id du psfm
+- :unitIdNone = *UnitId.NONE*
+
+*État:* Valide.
+
+[REF-T02] Valeurs qualitatives d'un psfm
+----------------------------------------
+
+::
+
+ SELECT
+ qv.id AS id,
+ case when (qv.name = qv.description) then qv.name else concat(qv.name, ' - ', qv.description) end AS name,
+ qv.status AS status
+ FROM
+ PmfmImpl p JOIN p.qualitativeValues qv
+ WHERE
+ p.id= :pmfmId
+ AND qv.status.code IN (1, 2)
+
+Paramètres :
+
+- :pmfmId = id du psfm
+
+*État:* Valide.
+
+[REF-T03] Liste de psfm à partir d'un support
+---------------------------------------------
+
+::
+
+ SELECT
+ p.id AS pmfmId,
+ p.parameter.name AS parameterName,
+ p.matrix.name AS matrixName,
+ p.fraction.name AS fractionName,
+ p.method.name AS methodName,
+ p.parameter.isAlphanumeric AS isAlphanumeric,
+ p.parameter.isQualitative AS isQualitative,
+ p.signifFiguresNumber,
+ p.maximumNumberDecimals,
+ p.precision,
+ case when (p.unit.id = :unitIdNone) then '' else p.unit.symbol end AS symbol,
+ p.status AS status
+ FROM PmfmImpl p
+ WHERE
+ p.status.code IN (1, 2)
+ AND p.matrix.id= :matrixId
+
+Paramètres :
+
+- :matrixId = id du support
+- :unitIdNone = *UnitId.NONE*
+
+*État:* Valide.
+
+[REF-T04] Liste de psfm à partir d'un groupe de paramètre
+---------------------------------------------------------
+
+::
+
+ SELECT
+ p.id AS pmfmId,
+ p.parameter.name AS parameterName,
+ p.matrix.name AS matrixName,
+ p.fraction.name AS fractionName,
+ p.method.name AS methodName,
+ p.parameter.isAlphanumeric AS isAlphanumeric,
+ p.parameter.isQualitative AS isQualitative,
+ p.signifFiguresNumber,
+ p.maximumNumberDecimals,
+ p.precision,
+ case when (p.unit.id = :unitIdNone) then '' else p.unit.symbol end AS symbol,
+ p.status AS status
+ FROM PmfmImpl p
+ WHERE
+ p.status.code IN (1, 2)
+ AND p.parameter.parameterGroup.id= :parameterGroupId
+
+Paramètres :
+
+- :parameterGroupId = id du parameterGroup
+- :unitIdNone = *UnitId.NONE*
+
+*État:* Valide.
+
+[REF-T04] Lieu statistique (rectangle statistique) à partir de lat/long
+-----------------------------------------------------------------------
+
+Utiliser *LocationService.getLocationIdByLatLong()* (adagio-core)
+
+*État:* Valide.
\ No newline at end of file
Modified: trunk/src/site/site_fr.xml
===================================================================
--- trunk/src/site/site_fr.xml 2013-01-16 22:43:39 UTC (rev 212)
+++ trunk/src/site/site_fr.xml 2013-01-17 08:16:18 UTC (rev 213)
@@ -104,8 +104,9 @@
<item name="Historique des versions" href="changes-report.html"/>
</menu>
- <!--menu name="Documentation Technique">
- </menu-->
+ <menu name="Documentation Technique">
+ <item name="Référentiel" href="referential.html"/>
+ </menu>
<menu ref="reports"/>
1
0
r212 - in trunk: tutti-persistence tutti-persistence/src/main/java/fr/ifremer/tutti/persistence tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service
by tchemit@users.forge.codelutin.com 16 Jan '13
by tchemit@users.forge.codelutin.com 16 Jan '13
16 Jan '13
Author: tchemit
Date: 2013-01-16 23:43:39 +0100 (Wed, 16 Jan 2013)
New Revision: 212
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/212
Log:
refs #1920: [Persistence] Adagio Donn?\195?\169es th?\195?\169matiques (use Transactional annotation on contract) + reformat code
Modified:
trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceAdagioImpl.java
trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/AccidentalBatchPersistenceServiceImpl.java
trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceServiceImpl.java
trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java
trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java
trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/MacroWasteBatchPersistenceServiceImpl.java
trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/PlanktonBatchPersistenceServiceImpl.java
trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceImpl.java
trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java
trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java
trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceTest.java
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service/PlanktonBatchPersistenceServiceTest.java
trunk/tutti-persistence/pom.xml
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AccidentalBatchPersistenceService.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceService.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceService.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceService.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/MacroWasteBatchPersistenceService.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/PlanktonBatchPersistenceService.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceService.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceService.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceService.java
Modified: trunk/tutti-persistence/pom.xml
===================================================================
--- trunk/tutti-persistence/pom.xml 2013-01-15 17:31:39 UTC (rev 211)
+++ trunk/tutti-persistence/pom.xml 2013-01-16 22:43:39 UTC (rev 212)
@@ -63,6 +63,11 @@
<artifactId>commons-logging</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-tx</artifactId>
+ </dependency>
+
</dependencies>
<build>
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java 2013-01-15 17:31:39 UTC (rev 211)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java 2013-01-16 22:43:39 UTC (rev 212)
@@ -43,6 +43,7 @@
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.persistence.entities.referential.Vessel;
import fr.ifremer.tutti.persistence.entities.referential.Zone;
+import org.springframework.transaction.annotation.Transactional;
import java.io.Closeable;
import java.io.IOException;
@@ -54,6 +55,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.1
*/
+@Transactional(readOnly = true)
public interface TuttiPersistence extends Closeable {
//------------------------------------------------------------------------//
@@ -154,8 +156,10 @@
Program getProgram(String id);
+ @Transactional(readOnly = false)
Program createProgram(Program bean);
+ @Transactional(readOnly = false)
Program saveProgram(Program bean);
//------------------------------------------------------------------------//
@@ -166,8 +170,10 @@
Cruise getCruise(String id);
+ @Transactional(readOnly = false)
Cruise createCruise(Cruise bean);
+ @Transactional(readOnly = false)
Cruise saveCruise(Cruise bean);
//------------------------------------------------------------------------//
@@ -178,8 +184,10 @@
TuttiProtocol getProtocol(String id);
+ @Transactional(readOnly = false)
TuttiProtocol createProtocol(TuttiProtocol bean);
+ @Transactional(readOnly = false)
TuttiProtocol saveProtocol(TuttiProtocol bean);
//------------------------------------------------------------------------//
@@ -190,8 +198,10 @@
FishingOperation getFishingOperation(String id);
+ @Transactional(readOnly = false)
FishingOperation createFishingOperation(FishingOperation bean);
+ @Transactional(readOnly = false)
FishingOperation saveFishingOperation(FishingOperation bean);
//------------------------------------------------------------------------//
@@ -204,17 +214,22 @@
SpeciesBatch getSpeciesBatch(String id);
+ @Transactional(readOnly = false)
SpeciesBatch createSpeciesBatch(SpeciesBatch bean, String parentBatchId);
+ @Transactional(readOnly = false)
SpeciesBatch saveSpeciesBatch(SpeciesBatch bean);
+ @Transactional(readOnly = false)
void deleteSpeciesBatch(String id);
+ @Transactional(readOnly = false)
void deleteSpeciesSubBatch(String id);
List<SpeciesBatchFrequency> getAllSpeciesBatchFrequency(
String speciesBatchId);
+ @Transactional(readOnly = false)
List<SpeciesBatchFrequency> saveSpeciesBatchFrequency(String speciesBatchId,
List<SpeciesBatchFrequency> frequencies);
@@ -226,10 +241,13 @@
BenthosBatch getBenthosBatch(String id);
+ @Transactional(readOnly = false)
BenthosBatch createBenthosBatch(BenthosBatch bean);
+ @Transactional(readOnly = false)
BenthosBatch saveBenthosBatch(BenthosBatch bean);
+ @Transactional(readOnly = false)
void deleteBenthosBatch(String id);
//------------------------------------------------------------------------//
@@ -240,10 +258,13 @@
PlanktonBatch getPlanktonBatch(String id);
+ @Transactional(readOnly = false)
PlanktonBatch createPlanktonBatch(PlanktonBatch bean);
+ @Transactional(readOnly = false)
PlanktonBatch savePlanktonBatch(PlanktonBatch bean);
+ @Transactional(readOnly = false)
void deletePlanktonBatch(String id);
//------------------------------------------------------------------------//
@@ -254,10 +275,13 @@
MacroWasteBatch getMacroWasteBatch(String id);
+ @Transactional(readOnly = false)
MacroWasteBatch createMacroWasteBatch(MacroWasteBatch bean);
+ @Transactional(readOnly = false)
MacroWasteBatch saveMacroWasteBatch(MacroWasteBatch bean);
+ @Transactional(readOnly = false)
void deleteMacroWasteBatch(String id);
//------------------------------------------------------------------------//
@@ -268,9 +292,12 @@
AccidentalBatch getAccidentalBatch(String id);
+ @Transactional(readOnly = false)
AccidentalBatch createAccidentalBatch(AccidentalBatch bean);
+ @Transactional(readOnly = false)
AccidentalBatch saveAccidentalBatch(AccidentalBatch bean);
+ @Transactional(readOnly = false)
void deleteAccidentalBatch(String id);
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AccidentalBatchPersistenceService.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AccidentalBatchPersistenceService.java 2013-01-15 17:31:39 UTC (rev 211)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AccidentalBatchPersistenceService.java 2013-01-16 22:43:39 UTC (rev 212)
@@ -25,6 +25,7 @@
*/
import fr.ifremer.tutti.persistence.entities.data.AccidentalBatch;
+import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -34,15 +35,19 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
*/
+@Transactional(readOnly = true)
public interface AccidentalBatchPersistenceService {
List<AccidentalBatch> getAllAccidentalBatch(String fishingOperationId);
AccidentalBatch getAccidentalBatch(String id);
+ @Transactional(readOnly = false)
AccidentalBatch createAccidentalBatch(AccidentalBatch bean);
+ @Transactional(readOnly = false)
AccidentalBatch saveAccidentalBatch(AccidentalBatch bean);
+ @Transactional(readOnly = false)
void deleteAccidentalBatch(String id);
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceService.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceService.java 2013-01-15 17:31:39 UTC (rev 211)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceService.java 2013-01-16 22:43:39 UTC (rev 212)
@@ -25,6 +25,7 @@
*/
import fr.ifremer.tutti.persistence.entities.data.BenthosBatch;
+import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -34,15 +35,19 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
*/
+@Transactional(readOnly = true)
public interface BenthosBatchPersistenceService {
List<BenthosBatch> getAllBenthosBatch(String fishingOperationId);
BenthosBatch getBenthosBatch(String id);
+ @Transactional(readOnly = false)
BenthosBatch createBenthosBatch(BenthosBatch bean);
+ @Transactional(readOnly = false)
BenthosBatch saveBenthosBatch(BenthosBatch bean);
+ @Transactional(readOnly = false)
void deleteBenthosBatch(String id);
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceService.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceService.java 2013-01-15 17:31:39 UTC (rev 211)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceService.java 2013-01-16 22:43:39 UTC (rev 212)
@@ -25,6 +25,7 @@
*/
import fr.ifremer.tutti.persistence.entities.data.Cruise;
+import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -34,13 +35,16 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
*/
+@Transactional(readOnly = true)
public interface CruisePersistenceService {
List<Cruise> getAllCruise(String programId);
Cruise getCruise(String id);
+ @Transactional(readOnly = false)
Cruise createCruise(Cruise bean);
+ @Transactional(readOnly = false)
Cruise saveCruise(Cruise bean);
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceService.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceService.java 2013-01-15 17:31:39 UTC (rev 211)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceService.java 2013-01-16 22:43:39 UTC (rev 212)
@@ -25,6 +25,7 @@
*/
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
+import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -34,13 +35,16 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
*/
+@Transactional(readOnly = true)
public interface FishingOperationPersistenceService {
List<FishingOperation> getAllFishingOperation(String cruiseId);
FishingOperation getFishingOperation(String id);
+ @Transactional(readOnly = false)
FishingOperation createFishingOperation(FishingOperation bean);
+ @Transactional(readOnly = false)
FishingOperation saveFishingOperation(FishingOperation bean);
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/MacroWasteBatchPersistenceService.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/MacroWasteBatchPersistenceService.java 2013-01-15 17:31:39 UTC (rev 211)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/MacroWasteBatchPersistenceService.java 2013-01-16 22:43:39 UTC (rev 212)
@@ -25,6 +25,7 @@
*/
import fr.ifremer.tutti.persistence.entities.data.MacroWasteBatch;
+import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -34,16 +35,19 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
*/
+@Transactional(readOnly = true)
public interface MacroWasteBatchPersistenceService {
-
List<MacroWasteBatch> getAllMacroWasteBatch(String fishingOperationId);
MacroWasteBatch getMacroWasteBatch(String id);
+ @Transactional(readOnly = false)
MacroWasteBatch createMacroWasteBatch(MacroWasteBatch bean);
+ @Transactional(readOnly = false)
MacroWasteBatch saveMacroWasteBatch(MacroWasteBatch bean);
+ @Transactional(readOnly = false)
void deleteMacroWasteBatch(String id);
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/PlanktonBatchPersistenceService.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/PlanktonBatchPersistenceService.java 2013-01-15 17:31:39 UTC (rev 211)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/PlanktonBatchPersistenceService.java 2013-01-16 22:43:39 UTC (rev 212)
@@ -25,6 +25,7 @@
*/
import fr.ifremer.tutti.persistence.entities.data.PlanktonBatch;
+import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -34,15 +35,19 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
*/
+@Transactional(readOnly = true)
public interface PlanktonBatchPersistenceService {
List<PlanktonBatch> getAllPlanktonBatch(String fishingOperationId);
PlanktonBatch getPlanktonBatch(String id);
+ @Transactional(readOnly = false)
PlanktonBatch createPlanktonBatch(PlanktonBatch bean);
+ @Transactional(readOnly = false)
PlanktonBatch savePlanktonBatch(PlanktonBatch bean);
+ @Transactional(readOnly = false)
void deletePlanktonBatch(String id);
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceService.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceService.java 2013-01-15 17:31:39 UTC (rev 211)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceService.java 2013-01-16 22:43:39 UTC (rev 212)
@@ -25,6 +25,7 @@
*/
import fr.ifremer.tutti.persistence.entities.data.Program;
+import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -34,13 +35,16 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
*/
+@Transactional(readOnly = true)
public interface ProgramPersistenceService {
List<Program> getAllProgram();
Program getProgram(String id);
+ @Transactional(readOnly = false)
Program createProgram(Program bean);
+ @Transactional(readOnly = false)
Program saveProgram(Program bean);
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceService.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceService.java 2013-01-15 17:31:39 UTC (rev 211)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceService.java 2013-01-16 22:43:39 UTC (rev 212)
@@ -25,6 +25,7 @@
*/
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
+import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -34,13 +35,16 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
*/
+@Transactional(readOnly = true)
public interface ProtocolPersistenceService {
List<TuttiProtocol> getAllProtocol();
TuttiProtocol getProtocol(String id);
+ @Transactional(readOnly = false)
TuttiProtocol createProtocol(TuttiProtocol bean);
+ @Transactional(readOnly = false)
TuttiProtocol saveProtocol(TuttiProtocol bean);
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java 2013-01-15 17:31:39 UTC (rev 211)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java 2013-01-16 22:43:39 UTC (rev 212)
@@ -35,6 +35,7 @@
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.persistence.entities.referential.Vessel;
import fr.ifremer.tutti.persistence.entities.referential.Zone;
+import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -44,6 +45,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
*/
+@Transactional(readOnly = true)
public interface ReferentialPersistenceService {
//------------------------------------------------------------------------//
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceService.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceService.java 2013-01-15 17:31:39 UTC (rev 211)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceService.java 2013-01-16 22:43:39 UTC (rev 212)
@@ -26,6 +26,7 @@
import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch;
import fr.ifremer.tutti.persistence.entities.data.SpeciesBatchFrequency;
+import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -35,26 +36,31 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
*/
+@Transactional(readOnly = true)
public interface SpeciesBatchPersistenceService {
-
List<SpeciesBatch> getAllRootSpeciesBatch(String fishingOperationId);
List<SpeciesBatch> getAllSpeciesBatch(String fishingOperationId);
SpeciesBatch getSpeciesBatch(String id);
+ List<SpeciesBatchFrequency> getAllSpeciesBatchFrequency(
+ String speciesBatchId);
+
+ @Transactional(readOnly = false)
SpeciesBatch createSpeciesBatch(SpeciesBatch bean, String parentBatchId);
+ @Transactional(readOnly = false)
SpeciesBatch saveSpeciesBatch(SpeciesBatch bean);
+ @Transactional(readOnly = false)
void deleteSpeciesBatch(String id);
+ @Transactional(readOnly = false)
void deleteSpeciesSubBatch(String id);
- List<SpeciesBatchFrequency> getAllSpeciesBatchFrequency(
- String speciesBatchId);
-
+ @Transactional(readOnly = false)
List<SpeciesBatchFrequency> saveSpeciesBatchFrequency(String speciesBatchId,
List<SpeciesBatchFrequency> frequencies);
Modified: trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceAdagioImpl.java
===================================================================
--- trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceAdagioImpl.java 2013-01-15 17:31:39 UTC (rev 211)
+++ trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceAdagioImpl.java 2013-01-16 22:43:39 UTC (rev 212)
@@ -57,7 +57,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
import java.io.IOException;
import java.util.List;
@@ -66,7 +65,6 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.2
*/
-@Transactional(readOnly = true)
public class TuttiPersistenceAdagioImpl implements TuttiPersistence {
/** Logger. */
@@ -79,7 +77,6 @@
@Autowired(required = true)
protected ProgramPersistenceService programService;
-
@Autowired(required = true)
protected CruisePersistenceService cruiseService;
Modified: trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/AccidentalBatchPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/AccidentalBatchPersistenceServiceImpl.java 2013-01-15 17:31:39 UTC (rev 211)
+++ trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/AccidentalBatchPersistenceServiceImpl.java 2013-01-16 22:43:39 UTC (rev 212)
@@ -28,7 +28,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -37,7 +36,6 @@
* @since 0.3
*/
@Service("accidentalBatchPersistenceService")
-@Transactional(readOnly = true)
public class AccidentalBatchPersistenceServiceImpl extends AbstractPersistenceService implements AccidentalBatchPersistenceService {
/** Logger. */
Modified: trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceServiceImpl.java 2013-01-15 17:31:39 UTC (rev 211)
+++ trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceServiceImpl.java 2013-01-16 22:43:39 UTC (rev 212)
@@ -28,7 +28,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -37,7 +36,6 @@
* @since 0.3
*/
@Service("benthosBatchPersistenceService")
-@Transactional(readOnly = true)
public class BenthosBatchPersistenceServiceImpl extends AbstractPersistenceService implements BenthosBatchPersistenceService {
/** Logger. */
Modified: trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java 2013-01-15 17:31:39 UTC (rev 211)
+++ trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java 2013-01-16 22:43:39 UTC (rev 212)
@@ -47,12 +47,9 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataRetrievalFailureException;
import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
-
import java.sql.Timestamp;
-import java.text.MessageFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
@@ -64,7 +61,6 @@
* @since 0.3
*/
@Service("cruisePersistenceService")
-@Transactional(readOnly = true)
public class CruisePersistenceServiceImpl extends AbstractPersistenceService implements CruisePersistenceService {
/** Logger. */
@@ -124,7 +120,7 @@
"countryLocationLevelId", IntegerType.INSTANCE, enumeration.LOCATION_LEVEL_ID_COUNTRY);
if (source == null) {
- throw new DataRetrievalFailureException("Could not retrieve cruise with id=" + id);
+ throw new DataRetrievalFailureException("Could not retrieve cruise with id=" + id);
}
Cruise result = new Cruise();
result.setId(id);
@@ -147,94 +143,89 @@
Timestamp beginDate = (Timestamp) source[6];
if (beginDate != null && result.getYear() != null) {
- calendar.setTimeInMillis(0);
- calendar.set(Calendar.YEAR, result.getYear());
- calendar.add(Calendar.MILLISECOND, 1);
- // Comparison with getTime() is need, to keep millisecond precision
- if (beginDate.getTime() == calendar.getTimeInMillis()) {
+ calendar.setTimeInMillis(0);
+ calendar.set(Calendar.YEAR, result.getYear());
+ calendar.add(Calendar.MILLISECOND, 1);
+ // Comparison with getTime() is need, to keep millisecond precision
+ if (beginDate.getTime() == calendar.getTimeInMillis()) {
// if BeginDate is fake : set to null (see createCruise for details)
- result.setBeginDate(null);
- }
- else {
- result.setBeginDate(new Date(beginDate.getTime()));
- }
+ result.setBeginDate(null);
+ } else {
+ result.setBeginDate(new Date(beginDate.getTime()));
+ }
}
-
+
result.setEndDate((Date) source[7]);
-
+
String vesselCode = (String) source[8];
Vessel vessel = referentielService.getVessel(vesselCode);
result.setVessel(Lists.newArrayList(vessel));
Integer managerId = (Integer) source[9];
- if (managerId != null && managerId.equals(enumeration.PERSON_ID_UNKNOWN_RECORDER_PERSON)) {
- result.setHeadOfMission(null);
- }
- else {
+ if (managerId != null && managerId.equals(enumeration.PERSON_ID_UNKNOWN_RECORDER_PERSON)) {
+ result.setHeadOfMission(null);
+ } else {
Person manager = referentielService.getPerson(managerId);
result.setHeadOfMission(Lists.newArrayList(manager));
- }
+ }
result.setComment((String) source[10]);
-
+
String miscData = (String) source[11];
if (miscData != null && miscData.length() > 0) {
-
- // Retrieve gears :
- int gearTagIndex = miscData.indexOf(CRUISE_MISC_DATA_GEARS_TAG);
- if (gearTagIndex == -1) {
- result.setGear(null);
- }
- else {
- String gearIdsStr = miscData.substring(gearTagIndex + CRUISE_MISC_DATA_GEARS_TAG.length()).trim();
- miscData = miscData.substring(0, gearTagIndex);
- if (gearIdsStr.isEmpty()) {
- result.setGear(null);
- }
- else {
- List<Gear> gears = Lists.newArrayList();
- String[] gearIds = gearIdsStr.split(",");
- for (int i = 0; i < gearIds.length; i++) {
- Integer gearId = Integer.valueOf(gearIds[i]);
- gears.add(referentielService.getGear(gearId));
- }
- result.setGear(gears);
- }
- }
-
- // Retrieve secondary vessels :
- int vesselTagIndex = miscData.indexOf(CRUISE_MISC_DATA_VESSELS_TAG);
- if (vesselTagIndex != -1) {
- String vesselCodesStr = miscData.substring(vesselTagIndex + CRUISE_MISC_DATA_VESSELS_TAG.length()).trim();
- if (!vesselCodesStr.isEmpty()) {
- String[] vesselCodes = vesselCodesStr.split(",");
- for (int i = 0; i < vesselCodes.length; i++) {
- vesselCode = vesselCodes[i];
- result.addVessel(referentielService.getVessel(vesselCode));
- }
- }
- }
+
+ // Retrieve gears :
+ int gearTagIndex = miscData.indexOf(CRUISE_MISC_DATA_GEARS_TAG);
+ if (gearTagIndex == -1) {
+ result.setGear(null);
+ } else {
+ String gearIdsStr = miscData.substring(gearTagIndex + CRUISE_MISC_DATA_GEARS_TAG.length()).trim();
+ miscData = miscData.substring(0, gearTagIndex);
+ if (gearIdsStr.isEmpty()) {
+ result.setGear(null);
+ } else {
+ List<Gear> gears = Lists.newArrayList();
+ String[] gearIds = gearIdsStr.split(",");
+ for (int i = 0; i < gearIds.length; i++) {
+ Integer gearId = Integer.valueOf(gearIds[i]);
+ gears.add(referentielService.getGear(gearId));
+ }
+ result.setGear(gears);
+ }
+ }
+
+ // Retrieve secondary vessels :
+ int vesselTagIndex = miscData.indexOf(CRUISE_MISC_DATA_VESSELS_TAG);
+ if (vesselTagIndex != -1) {
+ String vesselCodesStr = miscData.substring(vesselTagIndex + CRUISE_MISC_DATA_VESSELS_TAG.length()).trim();
+ if (!vesselCodesStr.isEmpty()) {
+ String[] vesselCodes = vesselCodesStr.split(",");
+ for (int i = 0; i < vesselCodes.length; i++) {
+ vesselCode = vesselCodes[i];
+ result.addVessel(referentielService.getVessel(vesselCode));
+ }
+ }
+ }
}
-
+
// get secondary gears from fishingOperation (first load from Allegro DB only)
if (result.getGear() == null) {
- Iterator<Object[]> list = queryList(
- "allCruiseGears",
- "cruiseId", IntegerType.INSTANCE, Integer.valueOf(id));
-
- List<Gear> gears = Lists.newArrayList();
- while (list.hasNext()) {
- Object[] gearRow = list.next();
- Gear target = referentielService.getGear((Integer)gearRow[0]);
- gears.add(target);
- }
- result.setGear(gears);
+ Iterator<Object[]> list = queryList(
+ "allCruiseGears",
+ "cruiseId", IntegerType.INSTANCE, Integer.valueOf(id));
+
+ List<Gear> gears = Lists.newArrayList();
+ while (list.hasNext()) {
+ Object[] gearRow = list.next();
+ Gear target = referentielService.getGear((Integer) gearRow[0]);
+ gears.add(target);
+ }
+ result.setGear(gears);
}
return result;
}
- @Transactional(readOnly = false)
@Override
public Cruise createCruise(Cruise bean) {
ScientificCruise scientificCruise = ScientificCruise.Factory.newInstance();
@@ -245,19 +236,18 @@
return bean;
}
- @Transactional(readOnly = false)
@Override
public Cruise saveCruise(Cruise bean) {
- if (bean.getId() == null || bean.getId().isEmpty()) {
- throw new IllegalArgumentException("Cruise 'id' must not be null or empty to be saved.");
- }
- ScientificCruise scientificCruise = scientificCruiseDao.load(Integer.valueOf(bean.getId()));
- if (scientificCruise == null) {
- throw new DataRetrievalFailureException("Could not retrieve cruise with id=" + bean.getId());
- }
-
- cruiseToEntity(bean, scientificCruise, true);
- return bean;
+ if (bean.getId() == null || bean.getId().isEmpty()) {
+ throw new IllegalArgumentException("Cruise 'id' must not be null or empty to be saved.");
+ }
+ ScientificCruise scientificCruise = scientificCruiseDao.load(Integer.valueOf(bean.getId()));
+ if (scientificCruise == null) {
+ throw new DataRetrievalFailureException("Could not retrieve cruise with id=" + bean.getId());
+ }
+
+ cruiseToEntity(bean, scientificCruise, true);
+ return bean;
}
protected void cruiseToEntity(Cruise source, ScientificCruise target, boolean copyIfNull) {
@@ -368,8 +358,7 @@
target.getFishingTrips().add(fishingTrip);
fishingTrip.setScientificCruise(target);
}
- }
- else {
+ } else {
fishingTrip = target.getFishingTrips().iterator().next();
}
Modified: trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java 2013-01-15 17:31:39 UTC (rev 211)
+++ trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java 2013-01-16 22:43:39 UTC (rev 212)
@@ -28,7 +28,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -37,7 +36,6 @@
* @since 0.3
*/
@Service("fishingOperationPersistenceService")
-@Transactional(readOnly = true)
public class FishingOperationPersistenceServiceImpl extends AbstractPersistenceService implements FishingOperationPersistenceService {
/** Logger. */
Modified: trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/MacroWasteBatchPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/MacroWasteBatchPersistenceServiceImpl.java 2013-01-15 17:31:39 UTC (rev 211)
+++ trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/MacroWasteBatchPersistenceServiceImpl.java 2013-01-16 22:43:39 UTC (rev 212)
@@ -28,7 +28,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -37,7 +36,6 @@
* @since 0.3
*/
@Service("macroWasteBatchPersistenceService")
-@Transactional(readOnly = true)
public class MacroWasteBatchPersistenceServiceImpl extends AbstractPersistenceService implements MacroWasteBatchPersistenceService {
/** Logger. */
Modified: trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/PlanktonBatchPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/PlanktonBatchPersistenceServiceImpl.java 2013-01-15 17:31:39 UTC (rev 211)
+++ trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/PlanktonBatchPersistenceServiceImpl.java 2013-01-16 22:43:39 UTC (rev 212)
@@ -28,7 +28,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -37,7 +36,6 @@
* @since 0.3
*/
@Service("planktonBatchPersistenceService")
-@Transactional(readOnly = true)
public class PlanktonBatchPersistenceServiceImpl extends AbstractPersistenceService implements PlanktonBatchPersistenceService {
/** Logger. */
Modified: trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceImpl.java 2013-01-15 17:31:39 UTC (rev 211)
+++ trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceImpl.java 2013-01-16 22:43:39 UTC (rev 212)
@@ -31,7 +31,6 @@
import org.apache.commons.logging.LogFactory;
import org.hibernate.type.StringType;
import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
import java.util.Iterator;
import java.util.List;
@@ -41,7 +40,6 @@
* @since 0.3
*/
@Service("programPersistenceService")
-@Transactional(readOnly = true)
public class ProgramPersistenceServiceImpl extends AbstractPersistenceService implements ProgramPersistenceService {
/** Logger. */
Modified: trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java 2013-01-15 17:31:39 UTC (rev 211)
+++ trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java 2013-01-16 22:43:39 UTC (rev 212)
@@ -28,7 +28,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -37,7 +36,6 @@
* @since 0.3
*/
@Service("protocolPersistenceService")
-@Transactional(readOnly = true)
public class ProtocolPersistenceServiceImpl extends AbstractPersistenceService implements ProtocolPersistenceService {
/** Logger. */
Modified: trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java 2013-01-15 17:31:39 UTC (rev 211)
+++ trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java 2013-01-16 22:43:39 UTC (rev 212)
@@ -46,7 +46,6 @@
import org.hibernate.type.IntegerType;
import org.hibernate.type.StringType;
import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
@@ -61,7 +60,6 @@
* @since 0.3
*/
@Service("referentialPersistenceService")
-@Transactional(readOnly = true)
public class ReferentialPersistenceServiceImpl extends AbstractPersistenceService implements ReferentialPersistenceService {
/** Logger. */
@@ -151,8 +149,8 @@
@Override
public Vessel getVessel(String vesselCode) {
- // Warning : return a list because more than one line could be found,
- // but 'order by' assume that the first one in the good row
+ // Warning : return a list because more than one line could be found,
+ // but 'order by' assume that the first one in the good row
Iterator<Object[]> source = queryListWithStatus(
"vessel",
"vesselCode", StringType.INSTANCE, vesselCode,
Modified: trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java 2013-01-15 17:31:39 UTC (rev 211)
+++ trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java 2013-01-16 22:43:39 UTC (rev 212)
@@ -29,7 +29,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -38,7 +37,6 @@
* @since 0.3
*/
@Service("speciesBatchPersistenceService")
-@Transactional(readOnly = true)
public class SpeciesBatchPersistenceServiceImpl extends AbstractPersistenceService implements SpeciesBatchPersistenceService {
/** Logger. */
Modified: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceTest.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceTest.java 2013-01-15 17:31:39 UTC (rev 211)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceTest.java 2013-01-16 22:43:39 UTC (rev 212)
@@ -36,7 +36,6 @@
import org.junit.Assert;
import org.junit.Before;
import org.junit.ClassRule;
-import org.junit.Ignore;
import org.junit.Test;
import java.util.Calendar;
@@ -174,19 +173,19 @@
@Test
public void saveCruise(/*Cruise bean*/) {
- Cruise cruise = service.getCruise(dbResource.getFixtures().cruiseId());
-
- cruise.setId(null);
- cruise = service.createCruise(cruise);
-
- cruise.setName("unit-TEST");
+ Cruise cruise = service.getCruise(dbResource.getFixtures().cruiseId());
- Cruise savedCruise = service.saveCruise(cruise);
- assertNotNull(savedCruise);
- assertEquals(cruise.getId(), savedCruise.getId());
- assertEquals(cruise.getName(), savedCruise.getName());
- assertEquals(cruise.getComment(), savedCruise.getComment());
- assertNotNull(cruise.getGear());
- assertEquals(cruise.getGear().size(), savedCruise.getGear().size());
+ cruise.setId(null);
+ cruise = service.createCruise(cruise);
+
+ cruise.setName("unit-TEST");
+
+ Cruise savedCruise = service.saveCruise(cruise);
+ assertNotNull(savedCruise);
+ assertEquals(cruise.getId(), savedCruise.getId());
+ assertEquals(cruise.getName(), savedCruise.getName());
+ assertEquals(cruise.getComment(), savedCruise.getComment());
+ assertNotNull(cruise.getGear());
+ assertEquals(cruise.getGear().size(), savedCruise.getGear().size());
}
}
Modified: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service/PlanktonBatchPersistenceServiceTest.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service/PlanktonBatchPersistenceServiceTest.java 2013-01-15 17:31:39 UTC (rev 211)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service/PlanktonBatchPersistenceServiceTest.java 2013-01-16 22:43:39 UTC (rev 212)
@@ -25,7 +25,6 @@
*/
import fr.ifremer.tutti.persistence.DatabaseResource;
-import fr.ifremer.tutti.persistence.entities.data.Program;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Ignore;
1
0
r211 - in trunk/tutti-ui-swing/src/main: java/fr/ifremer/tutti/ui/swing java/fr/ifremer/tutti/ui/swing/content/home java/fr/ifremer/tutti/ui/swing/content/protocol resources/icons
by kmorin@users.forge.codelutin.com 15 Jan '13
by kmorin@users.forge.codelutin.com 15 Jan '13
15 Jan '13
Author: kmorin
Date: 2013-01-15 18:31:39 +0100 (Tue, 15 Jan 2013)
New Revision: 211
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/211
Log:
continue replacing the new protocol button by a combo box
Added:
trunk/tutti-ui-swing/src/main/resources/icons/action-copy.png
trunk/tutti-ui-swing/src/main/resources/icons/action-import.png
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiScreen.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java 2013-01-15 17:05:35 UTC (rev 210)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java 2013-01-15 17:31:39 UTC (rev 211)
@@ -36,12 +36,22 @@
import fr.ifremer.tutti.ui.swing.content.program.EditProgramUI;
import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUI;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import java.awt.BorderLayout;
+import java.awt.Component;
import java.awt.Desktop;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.net.URL;
import java.util.Calendar;
+import javax.swing.JButton;
import javax.swing.JComponent;
+import javax.swing.JMenuItem;
+import javax.swing.JPanel;
+import javax.swing.JPopupMenu;
import javax.swing.JToolBar;
import jaxx.runtime.swing.AboutPanel;
import jaxx.runtime.swing.ErrorDialogUI;
@@ -61,6 +71,8 @@
/** Logger. */
private static final Log log = LogFactory.getLog(MainUIHandler.class);
+ public static final String CLONE_PROTOCOL = "cloneProtocol";
+
protected MainUI ui;
protected JComponent currentBody;
@@ -130,6 +142,7 @@
screen = TuttiScreen.SELECT_CRUISE;
context.setScreen(screen);
+
}
@Override
@@ -355,6 +368,12 @@
screenUI = new EditProtocolUI(ui);
break;
+
+ case CLONE_PROTOCOL:
+ screenTitle = _("tutti.title.create.protocol");
+ ui.setContextValue(true, CLONE_PROTOCOL);
+ screenUI = new EditProtocolUI(ui);
+ break;
case EDIT_FISHING_OPERATION:
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiScreen.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiScreen.java 2013-01-15 17:05:35 UTC (rev 210)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiScreen.java 2013-01-15 17:31:39 UTC (rev 211)
@@ -59,6 +59,13 @@
* @since 0.1
*/
EDIT_PROTOCOL,
+
+ /**
+ * To clone a protocol.
+ *
+ * @since 0.4
+ */
+ CLONE_PROTOCOL,
/**
* To fill catches.
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java 2013-01-15 17:05:35 UTC (rev 210)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java 2013-01-15 17:31:39 UTC (rev 211)
@@ -33,7 +33,10 @@
import fr.ifremer.tutti.ui.swing.AbstractTuttiUIHandler;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
+import java.awt.Component;
import java.awt.event.ActionEvent;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
import jaxx.runtime.swing.editor.bean.BeanComboBox;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.logging.Log;
@@ -44,9 +47,14 @@
import java.util.List;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
+import javax.swing.DefaultListCellRenderer;
+import javax.swing.ImageIcon;
import javax.swing.JComboBox;
-import javax.swing.event.ListDataEvent;
-import javax.swing.event.ListDataListener;
+import javax.swing.JList;
+import javax.swing.border.EmptyBorder;
+import javax.swing.event.PopupMenuEvent;
+import javax.swing.event.PopupMenuListener;
+import jaxx.runtime.SwingUtil;
import static org.nuiton.i18n.I18n._;
/**
@@ -61,12 +69,6 @@
private static final Log log =
LogFactory.getLog(SelectCruiseUIHandler.class);
- protected final static String PROTOCOL_ACTION_NEW = "tutti.action.new";
-
- protected final static String PROTOCOL_ACTION_CLONE = "tutti.action.clone";
-
- protected final static String PROTOCOL_ACTION_IMPORT = "tutti.action.import";
-
protected final PersistenceService persistenceService;
protected final SelectCruiseUI ui;
@@ -187,9 +189,54 @@
model.getProtocols(),
model.getProtocol());
- ComboBoxModel<String> protocolActions = new DefaultComboBoxModel<String>(
- new String[]{ _(PROTOCOL_ACTION_NEW), _(PROTOCOL_ACTION_CLONE), _(PROTOCOL_ACTION_IMPORT) });
- JComboBox newProtocolCombo = ui.getNewProtocolCombo();
+ ComboBoxModel<NewProtocolAction> protocolActions = new DefaultComboBoxModel<NewProtocolAction>(NewProtocolAction.values());
+ final JComboBox newProtocolCombo = ui.getNewProtocolCombo();
+ newProtocolCombo.setRenderer(new DefaultListCellRenderer() {
+
+ @Override
+ public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
+ Component defaultComponent = super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
+ DefaultListCellRenderer result = (DefaultListCellRenderer) defaultComponent;
+ NewProtocolAction action = (NewProtocolAction) value;
+ ImageIcon icon = SwingUtil.createActionIcon(action.getIcon());
+ result.setIcon(icon);
+ result.setBorder(new EmptyBorder(4, 8, 4, 8));
+
+ Object selectedItem = SelectCruiseUIHandler.this.ui.getProtocolCombobox().getSelectedItem();
+ result.setEnabled(action != NewProtocolAction.CLONE || selectedItem != null);
+ return result;
+ }
+ });
+ newProtocolCombo.addMouseListener(new MouseAdapter() {
+
+ @Override
+ public void mouseEntered(MouseEvent e) {
+ newProtocolCombo.showPopup();
+ }
+
+ });
+// newProtocolCombo.addPopupMenuListener(new PopupMenuListener() {
+//
+// @Override
+// public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
+// newProtocolCombo.getComponentPopupMenu().addMouseListener(new MouseAdapter() {
+//
+// @Override
+// public void mouseExited(MouseEvent e) {
+// newProtocolCombo.hidePopup();
+// }
+//
+// });
+// }
+//
+// @Override
+// public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
+// }
+//
+// @Override
+// public void popupMenuCanceled(PopupMenuEvent e) {
+// }
+// });
newProtocolCombo.setModel(protocolActions);
model.addPropertyChangeListener(SelectCruiseUIModel.PROPERTY_PROGRAM, new PropertyChangeListener() {
@@ -290,8 +337,55 @@
}
public void showNewProtocol(ActionEvent event) {
- log.info(event.getSource());
- context.setProtocolId(null);
- context.setScreen(TuttiScreen.EDIT_PROTOCOL);
+ JComboBox newProtocolCombo = (JComboBox) event.getSource();
+ NewProtocolAction selectedAction = (NewProtocolAction) newProtocolCombo.getSelectedItem();
+
+ switch (selectedAction) {
+ case NEW:
+ context.setProtocolId(null);
+ context.setScreen(TuttiScreen.EDIT_PROTOCOL);
+ break;
+
+ case CLONE:
+ TuttiProtocol protocol = getModel().getProtocol();
+ if (protocol != null) {
+ context.setProtocolId(protocol.getId());
+ context.setScreen(TuttiScreen.CLONE_PROTOCOL);
+ }
+ break;
+
+ case IMPORT:
+ //TODO kmorin 20130115 import protocol
+ }
}
+
+ protected enum NewProtocolAction {
+
+ NEW("tutti.action.new", "add"),
+ CLONE("tutti.action.clone", "copy"),
+ IMPORT("tutti.action.import", "import");
+
+ protected String label;
+
+ protected String icon;
+
+ private NewProtocolAction(String label, String icon) {
+ this.label = label;
+ this.icon = icon;
+ }
+
+ public String getLabel() {
+ return label;
+ }
+
+ public String getIcon() {
+ return icon;
+ }
+
+ @Override
+ public String toString() {
+ return _(label);
+ }
+
+ }
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-01-15 17:05:35 UTC (rev 210)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-01-15 17:31:39 UTC (rev 211)
@@ -37,6 +37,7 @@
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.ui.swing.MainUI;
+import fr.ifremer.tutti.ui.swing.MainUIHandler;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
import fr.ifremer.tutti.ui.swing.TuttiUI;
import fr.ifremer.tutti.ui.swing.util.HydrologicCaracteristicUtil;
@@ -216,8 +217,13 @@
// load existing protocol
protocol = persistenceService.getProtocol(protocolId);
-
+ Boolean mustClone = ui.getContextValue(Boolean.class, MainUIHandler.CLONE_PROTOCOL);
+
model.fromBean(protocol);
+ if (mustClone != null && mustClone) {
+ ui.setContextValue(false, MainUIHandler.CLONE_PROTOCOL);
+ model.setId(null);
+ }
}
SwingValidator validator = ui.getValidator();
@@ -245,11 +251,14 @@
Map<SampleCategoryEnum, ColumnIdentifier<EditProtocolSpeciesRowModel>> sampleCategoryToColumn = columToSampleCategory.inverse();
- for (SampleCategoryEnum sampleOrder : model.getSampleCategoryOrder()) {
+ List<SampleCategoryEnum> sampleCategoryOrder = model.getSampleCategoryOrder();
+ if (sampleCategoryOrder != null) {
+ for (SampleCategoryEnum sampleOrder : sampleCategoryOrder) {
- ColumnIdentifier<EditProtocolSpeciesRowModel> columnIdentifier = sampleCategoryToColumn.get(sampleOrder);
- if (columnIdentifier != null) {
- addBooleanColumnToModel(columnModel, columnIdentifier, table);
+ ColumnIdentifier<EditProtocolSpeciesRowModel> columnIdentifier = sampleCategoryToColumn.get(sampleOrder);
+ if (columnIdentifier != null) {
+ addBooleanColumnToModel(columnModel, columnIdentifier, table);
+ }
}
}
@@ -420,6 +429,7 @@
bean.setSampleCategoryOrder(sampleOrder);
TuttiProtocol saved;
+ log.info("bean id : " + bean.getId());
if (TuttiEntities.isNew(bean)) {
saved = persistenceService.createProtocol(bean);
Added: trunk/tutti-ui-swing/src/main/resources/icons/action-copy.png
===================================================================
(Binary files differ)
Property changes on: trunk/tutti-ui-swing/src/main/resources/icons/action-copy.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/tutti-ui-swing/src/main/resources/icons/action-import.png
===================================================================
(Binary files differ)
Property changes on: trunk/tutti-ui-swing/src/main/resources/icons/action-import.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
1
0
r210 - in trunk/tutti-persistence-adagio/src/main: java/fr/ifremer/tutti/persistence/service resources
by blavenier@users.forge.codelutin.com 15 Jan '13
by blavenier@users.forge.codelutin.com 15 Jan '13
15 Jan '13
Author: blavenier
Date: 2013-01-15 18:05:35 +0100 (Tue, 15 Jan 2013)
New Revision: 210
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/210
Log:
ref refs #1920: [Persistence] Adagio Donn?\195?\169es th?\195?\169matiques
- Tunning on ReferentialPersistenceService.getVessel() ("vessel" query)
Modified:
trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java
trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml
Modified: trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java 2013-01-15 16:11:50 UTC (rev 209)
+++ trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java 2013-01-15 17:05:35 UTC (rev 210)
@@ -151,14 +151,14 @@
@Override
public Vessel getVessel(String vesselCode) {
- Object[] source = queryUniqueWithStatus(
+ // Warning : return a list because more than one line could be found,
+ // but 'order by' assume that the first one in the good row
+ Iterator<Object[]> source = queryListWithStatus(
"vessel",
"vesselCode", StringType.INSTANCE, vesselCode,
- "refDate", DateType.INSTANCE, new Date(),
- "statusValidCode", StringType.INSTANCE, enumeration.STATUS_VALID_CODE,
- "statusTemporaryCode", StringType.INSTANCE, enumeration.STATUS_TEMPORARY_CODE
+ "refDate", DateType.INSTANCE, new Date()
);
- Vessel result = loadVessel(source);
+ Vessel result = loadVessel(source.next());
return result;
}
Modified: trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml
===================================================================
--- trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml 2013-01-15 16:11:50 UTC (rev 209)
+++ trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml 2013-01-15 17:05:35 UTC (rev 210)
@@ -360,22 +360,10 @@
WHERE
v.code = :vesselCode
AND v.status.code IN (:statusValidCode, :statusTemporaryCode)
- AND vrp.vesselRegistrationPeriodPk.startDateTime =
- (
- SELECT MAX(vrp2.vesselRegistrationPeriodPk.startDateTime)
- FROM VesselRegistrationPeriodImpl vrp2 WHERE
- vrp2.vesselRegistrationPeriodPk.vessel.code = v.code
- AND (vrp2.vesselRegistrationPeriodPk.startDateTime <= :refDate OR :refDate IS NULL)
- GROUP BY vrp2.vesselRegistrationPeriodPk.vessel.code
+ AND NOT(coalesce(vrp.endDateTime, '2999-12-31 00:00:00') < coalesce(:refDate,sysdate)
+ OR vrp.vesselRegistrationPeriodPk.startDateTime > coalesce(:refDate,sysdate)
)
- AND vf.startDateTime =
- (
- SELECT MAX(vf2.startDateTime)
- FROM VesselFeaturesImpl vf2 WHERE
- vf2.vessel.code = v.code
- AND (vf2.startDateTime <= :refDate OR :refDate IS NULL)
- GROUP BY vf2.vessel.code
- )
+ ORDER BY vf.startDateTime DESC
]]>
<query-param name="vesselCode" type="java.lang.String"/>
<query-param name="refDate" type="java.util.Date"/>
1
0
r209 - in trunk: . tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service tutti-persistence-adagio/src/main/resources tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service
by blavenier@users.forge.codelutin.com 15 Jan '13
by blavenier@users.forge.codelutin.com 15 Jan '13
15 Jan '13
Author: blavenier
Date: 2013-01-15 17:11:50 +0100 (Tue, 15 Jan 2013)
New Revision: 209
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/209
Log:
ref refs #1920: [Persistence] Adagio Donn?\195?\169es th?\195?\169matiques
- Add implementation of CruisePersistenceServiceImpl.saveCruise()
Modified:
trunk/
trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java
trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceTest.java
Property changes on: trunk
___________________________________________________________________
Modified: svn:ignore
- target
.idea
*.ipr
*.iws
*.iml
*.log
+ target
.idea
*.ipr
*.iws
*.iml
*.log
*.bat
Modified: trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java 2013-01-15 11:55:11 UTC (rev 208)
+++ trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java 2013-01-15 16:11:50 UTC (rev 209)
@@ -52,6 +52,7 @@
import javax.annotation.Resource;
import java.sql.Timestamp;
+import java.text.MessageFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
@@ -219,16 +220,13 @@
// get secondary gears from fishingOperation (first load from Allegro DB only)
if (result.getGear() == null) {
Iterator<Object[]> list = queryList(
- "cruiseGears",
- "cruiseId", StringType.INSTANCE, id);
+ "allCruiseGears",
+ "cruiseId", IntegerType.INSTANCE, Integer.valueOf(id));
List<Gear> gears = Lists.newArrayList();
while (list.hasNext()) {
- Object[] zoneSource = list.next();
- Gear target = new Gear();
- target.setId(String.valueOf(zoneSource[0]));
- target.setLabel((String) zoneSource[1]);
- target.setName((String) zoneSource[2]);
+ Object[] gearRow = list.next();
+ Gear target = referentielService.getGear((Integer)gearRow[0]);
gears.add(target);
}
result.setGear(gears);
@@ -250,7 +248,16 @@
@Transactional(readOnly = false)
@Override
public Cruise saveCruise(Cruise bean) {
- throw new UnsupportedOperationException();
+ if (bean.getId() == null || bean.getId().isEmpty()) {
+ throw new IllegalArgumentException("Cruise 'id' must not be null or empty to be saved.");
+ }
+ ScientificCruise scientificCruise = scientificCruiseDao.load(Integer.valueOf(bean.getId()));
+ if (scientificCruise == null) {
+ throw new DataRetrievalFailureException("Could not retrieve cruise with id=" + bean.getId());
+ }
+
+ cruiseToEntity(bean, scientificCruise, true);
+ return bean;
}
protected void cruiseToEntity(Cruise source, ScientificCruise target, boolean copyIfNull) {
@@ -362,6 +369,9 @@
fishingTrip.setScientificCruise(target);
}
}
+ else {
+ fishingTrip = target.getFishingTrips().iterator().next();
+ }
// Fill fishing trip with scientificCruise info:
fishingTrip.setDepartureDateTime(target.getDepartureDateTime());
Modified: trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml
===================================================================
--- trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml 2013-01-15 11:55:11 UTC (rev 208)
+++ trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml 2013-01-15 16:11:50 UTC (rev 209)
@@ -129,7 +129,8 @@
<query cacheable="true" name="allCruiseGears">
<![CDATA[
SELECT
- gpf.gear.id AS gearId
+ gpf.gear.id AS gearId,
+ count(o.id) as operationCount
FROM
ScientificCruiseImpl sc
JOIN sc.fishingTrips ft
@@ -137,6 +138,9 @@
LEFT OUTER JOIN gpf.operations o
WHERE
sc.id = :cruiseId
+ GROUP BY
+ gpf.gear.id
+ ORDER BY count(o.id) DESC
]]>
<query-param name="cruiseId" type="java.lang.Integer"/>
</query>
Modified: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceTest.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceTest.java 2013-01-15 11:55:11 UTC (rev 208)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceTest.java 2013-01-15 16:11:50 UTC (rev 209)
@@ -89,7 +89,6 @@
Assert.assertNotNull(result);
}
- @Ignore
@Test
public void createCruise(/*Cruise bean*/) {
String programCode = dbResource.getFixtures().programCode();
@@ -159,7 +158,6 @@
Cruise reloadedCruise = service.getCruise(createdCruise.getId());
- //TODO-TC This is not working, reloadedCruise is not null,...
assertEquals(createdCruise.getBeginDate(), reloadedCruise.getBeginDate());
assertEquals(createdCruise.getEndDate(), reloadedCruise.getEndDate());
assertEquals(createdCruise.getComment(), reloadedCruise.getComment());
@@ -176,6 +174,19 @@
@Test
public void saveCruise(/*Cruise bean*/) {
+ Cruise cruise = service.getCruise(dbResource.getFixtures().cruiseId());
+
+ cruise.setId(null);
+ cruise = service.createCruise(cruise);
+
+ cruise.setName("unit-TEST");
+ Cruise savedCruise = service.saveCruise(cruise);
+ assertNotNull(savedCruise);
+ assertEquals(cruise.getId(), savedCruise.getId());
+ assertEquals(cruise.getName(), savedCruise.getName());
+ assertEquals(cruise.getComment(), savedCruise.getComment());
+ assertNotNull(cruise.getGear());
+ assertEquals(cruise.getGear().size(), savedCruise.getGear().size());
}
}
1
0
r208 - in trunk: . tutti-persistence tutti-persistence-adagio tutti-persistence-dev tutti-service tutti-ui-swing
by maven-release@users.forge.codelutin.com 15 Jan '13
by maven-release@users.forge.codelutin.com 15 Jan '13
15 Jan '13
Author: maven-release
Date: 2013-01-15 12:55:11 +0100 (Tue, 15 Jan 2013)
New Revision: 208
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/208
Log:
[maven-release-plugin] prepare for next development iteration
Modified:
trunk/pom.xml
trunk/tutti-persistence-adagio/pom.xml
trunk/tutti-persistence-dev/pom.xml
trunk/tutti-persistence/pom.xml
trunk/tutti-service/pom.xml
trunk/tutti-ui-swing/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-01-15 11:55:03 UTC (rev 207)
+++ trunk/pom.xml 2013-01-15 11:55:11 UTC (rev 208)
@@ -33,7 +33,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>0.3</version>
+ <version>0.4-SNAPSHOT</version>
<modules>
<module>tutti-persistence</module>
@@ -91,12 +91,12 @@
</developers>
<scm>
- <url>http://svn.forge.codelutin.com/svn/tutti/tags/tutti-0.3</url>
+ <url>http://svn.forge.codelutin.com/svn/tutti/trunk</url>
<connection>
- scm:svn:http://svn.forge.codelutin.com/svn/tutti/tags/tutti-0.3
+ scm:svn:http://svn.forge.codelutin.com/svn/tutti/trunk
</connection>
<developerConnection>
- scm:svn:http://svn.forge.codelutin.com/svn/tutti/tags/tutti-0.3
+ scm:svn:http://svn.forge.codelutin.com/svn/tutti/trunk
</developerConnection>
</scm>
Modified: trunk/tutti-persistence/pom.xml
===================================================================
--- trunk/tutti-persistence/pom.xml 2013-01-15 11:55:03 UTC (rev 207)
+++ trunk/tutti-persistence/pom.xml 2013-01-15 11:55:11 UTC (rev 208)
@@ -28,7 +28,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>0.3</version>
+ <version>0.4-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
Modified: trunk/tutti-persistence-adagio/pom.xml
===================================================================
--- trunk/tutti-persistence-adagio/pom.xml 2013-01-15 11:55:03 UTC (rev 207)
+++ trunk/tutti-persistence-adagio/pom.xml 2013-01-15 11:55:11 UTC (rev 208)
@@ -28,7 +28,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>0.3</version>
+ <version>0.4-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
Modified: trunk/tutti-persistence-dev/pom.xml
===================================================================
--- trunk/tutti-persistence-dev/pom.xml 2013-01-15 11:55:03 UTC (rev 207)
+++ trunk/tutti-persistence-dev/pom.xml 2013-01-15 11:55:11 UTC (rev 208)
@@ -28,7 +28,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>0.3</version>
+ <version>0.4-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
Modified: trunk/tutti-service/pom.xml
===================================================================
--- trunk/tutti-service/pom.xml 2013-01-15 11:55:03 UTC (rev 207)
+++ trunk/tutti-service/pom.xml 2013-01-15 11:55:11 UTC (rev 208)
@@ -28,7 +28,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>0.3</version>
+ <version>0.4-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
Modified: trunk/tutti-ui-swing/pom.xml
===================================================================
--- trunk/tutti-ui-swing/pom.xml 2013-01-15 11:55:03 UTC (rev 207)
+++ trunk/tutti-ui-swing/pom.xml 2013-01-15 11:55:11 UTC (rev 208)
@@ -28,7 +28,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>0.3</version>
+ <version>0.4-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
1
0
Author: maven-release
Date: 2013-01-15 12:55:03 +0100 (Tue, 15 Jan 2013)
New Revision: 207
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/207
Log:
[maven-release-plugin] copy for tag tutti-0.3
Added:
tags/tutti-0.3/
1
0
r206 - in trunk: . tutti-persistence tutti-persistence-adagio tutti-persistence-dev tutti-service tutti-ui-swing
by maven-release@users.forge.codelutin.com 15 Jan '13
by maven-release@users.forge.codelutin.com 15 Jan '13
15 Jan '13
Author: maven-release
Date: 2013-01-15 12:54:55 +0100 (Tue, 15 Jan 2013)
New Revision: 206
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/206
Log:
[maven-release-plugin] prepare release tutti-0.3
Modified:
trunk/pom.xml
trunk/tutti-persistence-adagio/pom.xml
trunk/tutti-persistence-dev/pom.xml
trunk/tutti-persistence/pom.xml
trunk/tutti-service/pom.xml
trunk/tutti-ui-swing/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-01-15 11:46:51 UTC (rev 205)
+++ trunk/pom.xml 2013-01-15 11:54:55 UTC (rev 206)
@@ -33,7 +33,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>0.3-SNAPSHOT</version>
+ <version>0.3</version>
<modules>
<module>tutti-persistence</module>
@@ -91,12 +91,12 @@
</developers>
<scm>
- <url>http://svn.forge.codelutin.com/svn/tutti/trunk</url>
+ <url>http://svn.forge.codelutin.com/svn/tutti/tags/tutti-0.3</url>
<connection>
- scm:svn:http://svn.forge.codelutin.com/svn/tutti/trunk
+ scm:svn:http://svn.forge.codelutin.com/svn/tutti/tags/tutti-0.3
</connection>
<developerConnection>
- scm:svn:http://svn.forge.codelutin.com/svn/tutti/trunk
+ scm:svn:http://svn.forge.codelutin.com/svn/tutti/tags/tutti-0.3
</developerConnection>
</scm>
Modified: trunk/tutti-persistence/pom.xml
===================================================================
--- trunk/tutti-persistence/pom.xml 2013-01-15 11:46:51 UTC (rev 205)
+++ trunk/tutti-persistence/pom.xml 2013-01-15 11:54:55 UTC (rev 206)
@@ -28,7 +28,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>0.3-SNAPSHOT</version>
+ <version>0.3</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
Modified: trunk/tutti-persistence-adagio/pom.xml
===================================================================
--- trunk/tutti-persistence-adagio/pom.xml 2013-01-15 11:46:51 UTC (rev 205)
+++ trunk/tutti-persistence-adagio/pom.xml 2013-01-15 11:54:55 UTC (rev 206)
@@ -28,7 +28,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>0.3-SNAPSHOT</version>
+ <version>0.3</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
Modified: trunk/tutti-persistence-dev/pom.xml
===================================================================
--- trunk/tutti-persistence-dev/pom.xml 2013-01-15 11:46:51 UTC (rev 205)
+++ trunk/tutti-persistence-dev/pom.xml 2013-01-15 11:54:55 UTC (rev 206)
@@ -28,7 +28,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>0.3-SNAPSHOT</version>
+ <version>0.3</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
Modified: trunk/tutti-service/pom.xml
===================================================================
--- trunk/tutti-service/pom.xml 2013-01-15 11:46:51 UTC (rev 205)
+++ trunk/tutti-service/pom.xml 2013-01-15 11:54:55 UTC (rev 206)
@@ -28,7 +28,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>0.3-SNAPSHOT</version>
+ <version>0.3</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
Modified: trunk/tutti-ui-swing/pom.xml
===================================================================
--- trunk/tutti-ui-swing/pom.xml 2013-01-15 11:46:51 UTC (rev 205)
+++ trunk/tutti-ui-swing/pom.xml 2013-01-15 11:54:55 UTC (rev 206)
@@ -28,7 +28,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>0.3-SNAPSHOT</version>
+ <version>0.3</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
1
0
r203 - trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species
by tchemit@users.forge.codelutin.com 15 Jan '13
by tchemit@users.forge.codelutin.com 15 Jan '13
15 Jan '13
Author: tchemit
Date: 2013-01-15 12:33:29 +0100 (Tue, 15 Jan 2013)
New Revision: 203
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/203
Log:
change log level
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-01-15 11:21:48 UTC (rev 202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-01-15 11:33:29 UTC (rev 203)
@@ -602,8 +602,8 @@
tableViewMode = TableViewMode.ALL;
}
- if (log.isInfoEnabled()) {
- log.info("Will use rowfilter for viewMode: " + tableViewMode);
+ if (log.isDebugEnabled()) {
+ log.debug("Will use rowfilter for viewMode: " + tableViewMode);
}
RowFilter<SpeciesBatchTableModel, Integer> filter = tableFilters.get(tableViewMode);
getTable().setRowFilter(filter);
1
0
r202 - in trunk/tutti-ui-swing/src/main: java/fr/ifremer/tutti/ui/swing java/fr/ifremer/tutti/ui/swing/content/operation/catches java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos java/fr/ifremer/tutti/ui/swing/content/operation/catches/species java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split resources/i18n
by tchemit@users.forge.codelutin.com 15 Jan '13
by tchemit@users.forge.codelutin.com 15 Jan '13
15 Jan '13
Author: tchemit
Date: 2013-01-15 12:21:48 +0100 (Tue, 15 Jan 2013)
New Revision: 202
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/202
Log:
fixes #1806: [Onglet Poisson] Pr?\195?\169filtrage du tableau
refs #1804: [CAPTURE] - Mise en place de l'onglet Captures
improve how to decorate a label (using clientProperties strongstyle or italicStyle)
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.css
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiUIHandler.java 2013-01-15 11:07:25 UTC (rev 201)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiUIHandler.java 2013-01-15 11:21:48 UTC (rev 202)
@@ -34,6 +34,32 @@
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
import fr.ifremer.tutti.ui.swing.util.UIMessageNotifier;
import fr.ifremer.tutti.ui.swing.util.editor.SimpleTimeEditor;
+import jaxx.runtime.JAXXUtil;
+import jaxx.runtime.SwingUtil;
+import jaxx.runtime.swing.editor.NumberEditor;
+import jaxx.runtime.swing.editor.bean.BeanComboBox;
+import jaxx.runtime.swing.editor.bean.BeanDoubleList;
+import jaxx.runtime.swing.renderer.DecoratorListCellRenderer;
+import jaxx.runtime.validator.swing.SwingValidator;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jdesktop.swingx.JXDatePicker;
+import org.nuiton.util.decorator.Decorator;
+import org.nuiton.util.decorator.JXPathDecorator;
+import org.nuiton.validator.bean.simple.SimpleBeanValidator;
+
+import javax.swing.AbstractAction;
+import javax.swing.JComponent;
+import javax.swing.JDialog;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.JRootPane;
+import javax.swing.KeyStroke;
+import javax.swing.ListCellRenderer;
+import javax.swing.ListSelectionModel;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.text.JTextComponent;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Frame;
@@ -49,30 +75,6 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
-import javax.swing.AbstractAction;
-import javax.swing.JComponent;
-import javax.swing.JDialog;
-import javax.swing.JList;
-import javax.swing.JRootPane;
-import javax.swing.KeyStroke;
-import javax.swing.ListCellRenderer;
-import javax.swing.ListSelectionModel;
-import javax.swing.event.ListSelectionEvent;
-import javax.swing.text.JTextComponent;
-import jaxx.runtime.JAXXUtil;
-import jaxx.runtime.SwingUtil;
-import jaxx.runtime.swing.editor.NumberEditor;
-import jaxx.runtime.swing.editor.bean.BeanComboBox;
-import jaxx.runtime.swing.editor.bean.BeanDoubleList;
-import jaxx.runtime.swing.renderer.DecoratorListCellRenderer;
-import jaxx.runtime.validator.swing.SwingValidator;
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.jdesktop.swingx.JXDatePicker;
-import org.nuiton.util.decorator.Decorator;
-import org.nuiton.util.decorator.JXPathDecorator;
-import org.nuiton.validator.bean.simple.SimpleBeanValidator;
/**
* Contract of any UI handler.
@@ -91,7 +93,7 @@
public abstract void afterInitUI();
public abstract void onCloseUI();
-
+
protected abstract M getModel();
protected final TuttiUIContext context;
@@ -220,6 +222,23 @@
initDatePicker((JXDatePicker) component);
} else if (component instanceof SimpleTimeEditor) {
initTimeEditor((SimpleTimeEditor) component);
+ } else if (component instanceof JLabel) {
+ JLabel jLabel = (JLabel) component;
+ Boolean strongStyle = (Boolean) jLabel.getClientProperty("strongStyle");
+ Boolean italicStyle = (Boolean) jLabel.getClientProperty("italicStyle");
+ boolean addHtml = strongStyle != null && strongStyle || italicStyle != null && italicStyle;
+ if (addHtml) {
+ String text = jLabel.getText();
+ if (strongStyle != null && strongStyle) {
+ text = "<strong>" + text + "</strong>";
+ }
+ if (italicStyle != null && italicStyle) {
+ text = "<em>" + text + "</em>";
+ }
+ jLabel.setText("<html>" + text + "</strong>");
+ }
+
+
}
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css 2013-01-15 11:07:25 UTC (rev 201)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css 2013-01-15 11:21:48 UTC (rev 202)
@@ -34,8 +34,9 @@
}
#catchTotalWeightLabel {
- text: { "<html><strong>" + _("tutti.label.catches.catchTotalWeight") + "</strong></html>" };
+ text: "tutti.label.catches.catchTotalWeight";
labelFor: {catchTotalWeightField};
+ _strongStyle: true;
}
#catchTotalWeightField {
@@ -50,7 +51,7 @@
}
#catchTotalSortedTremisWeightLabel {
- text: { _("tutti.label.catches.catchTotalSortedTremisWeight") + "*" };
+ text: "tutti.label.catches.catchTotalSortedTremisWeight";
labelFor: {catchTotalSortedTremisWeightField};
}
@@ -62,7 +63,7 @@
}
#catchTotalSortedCarousselWeightLabel {
- text: { _("tutti.label.catches.catchTotalSortedCarousselWeight") + "*" };
+ text: "tutti.label.catches.catchTotalSortedCarousselWeight";
labelFor: {catchTotalSortedCarousselWeightField};
}
@@ -92,11 +93,13 @@
#catchTotalUnsortedWeightField {
editable: false;
+ enabled: false;
text: {getStringValue(model.getCatchTotalUnsortedWeight())};
}
#catchThalassaLabel {
- text: { "* " + _("tutti.label.catches.catchThalassa")};
+ actionIcon: information;
+ text: "tutti.label.catches.catchThalassa";
}
#speciesTable {
@@ -104,8 +107,9 @@
}
#speciesTotalWeightLabel {
- text: { "<html><strong>" + _("tutti.label.catches.speciesTotalWeight") + "</strong></html>" };
+ text: "tutti.label.catches.speciesTotalWeight";
labelFor: {speciesTotalWeightField};
+ _strongStyle: true;
}
#speciesTotalWeightField {
@@ -128,8 +132,9 @@
}
#speciesTotalSampleSortedWeightLabel {
- text: { "<html><em>" + _("tutti.label.catches.speciesTotalSampleSortedWeight") + "</em></html>" };
+ text: "tutti.label.catches.speciesTotalSampleSortedWeight";
labelFor: {speciesTotalSampleSortedWeightField};
+ _italicStyle: true;
}
#speciesTotalSampleSortedWeightField {
@@ -147,6 +152,7 @@
#speciesTotalUnsortedWeightField {
text: {getStringValue(model.getSpeciesTotalUnsortedWeight())};
editable: false;
+ enabled: false;
}
#benthosTable {
@@ -154,8 +160,9 @@
}
#benthosTotalWeightLabel {
- text: { "<html><strong>" + _("tutti.label.catches.benthosTotalWeight") + "</strong></html>" };
+ text: "tutti.label.catches.benthosTotalWeight";
labelFor: {benthosTotalWeightField};
+ _strongStyle: true;
}
#benthosTotalWeightField {
@@ -178,8 +185,9 @@
}
#benthosTotalSampleSortedWeightLabel {
- text: { "<html><em>" + _("tutti.label.catches.benthosTotalSampleSortedWeight") + "</em></html>" };
+ text: "tutti.label.catches.benthosTotalSampleSortedWeight";
labelFor: {benthosTotalSampleSortedWeightField};
+ _italicStyle: true;
}
#benthosTotalSampleSortedWeightField {
@@ -197,6 +205,7 @@
#benthosTotalUnsortedWeightField {
text: {getStringValue(model.getBenthosTotalUnsortedWeight())};
editable: false;
+ enabled: false;
}
#macroWasteTable {
@@ -204,8 +213,9 @@
}
#macroWasteTotalWeightLabel {
- text: { "<html><strong>" + _("tutti.label.catches.macroWasteTotalWeight") + "</strong></html>" };
+ text: "tutti.label.catches.macroWasteTotalWeight";
labelFor: {macroWasteTotalWeightField};
+ _strongStyle: true;
}
#macroWasteTotalWeightField {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx 2013-01-15 11:07:25 UTC (rev 201)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx 2013-01-15 11:21:48 UTC (rev 202)
@@ -152,15 +152,15 @@
constructorParams='this'/>
</cell>
</row>
+ <row>
+ <cell columns='4'>
+ <JLabel id='catchThalassaLabel'/>
+ </cell>
+ </row>
</Table>
</cell>
</row>
<row>
- <cell anchor='west' insets='0, 20, 3, 0'>
- <JLabel id='catchThalassaLabel'/>
- </cell>
- </row>
- <row>
<cell>
<Table id='speciesTable' fill='both'>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.css 2013-01-15 11:07:25 UTC (rev 201)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.css 2013-01-15 11:21:48 UTC (rev 202)
@@ -73,6 +73,7 @@
#benthosTotalUnsortedWeightField {
text: {getStringValue(model.getBenthosTotalUnsortedWeight())};
editable: false;
+ enabled: false;
}
#table {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css 2013-01-15 11:07:25 UTC (rev 201)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css 2013-01-15 11:21:48 UTC (rev 202)
@@ -73,6 +73,7 @@
#speciesTotalUnsortedWeightField {
text: {getStringValue(model.getSpeciesTotalUnsortedWeight())};
editable: false;
+ enabled: false;
}
#tablePopup {
@@ -118,32 +119,35 @@
}
#filterTablePane {
- border: {new TitledBorder(null, _("tutti.legend.filterSpeciesBatchMode"))};
+ border: {new TitledBorder(null, "")};
}
+#filterSpeciesBatchLabel {
+ text: "tutti.label.filterSpeciesBatchMode.label";
+ toolTipText: "tutti.label.filterSpeciesBatchMode.label.tip";
+ _strongStyle: true;
+}
+
#filterSpeciesBatchAllButton {
text: "tutti.label.filterSpeciesBatchMode.mode.all";
- toolTipText: "tutti.label.filterSpeciesBatchMode.mode.all";
+ toolTipText: "tutti.label.filterSpeciesBatchMode.mode.all.tip";
value: "all";
selected: {model.isTableViewModeAll()};
buttonGroup: "filterSpeciesBatchMode";
- enabled: false;
}
#filterSpeciesBatchLeafButton {
text: "tutti.label.filterSpeciesBatchMode.mode.leaf";
- toolTipText: "tutti.label.filterSpeciesBatchMode.mode.leaf";
+ toolTipText: "tutti.label.filterSpeciesBatchMode.mode.leaf.tip";
value: "leaf";
selected: {model.isTableViewModeLeaf()};
buttonGroup: "filterSpeciesBatchMode";
- enabled: false;
}
#filterSpeciesBatchRootButton {
text: "tutti.label.filterSpeciesBatchMode.mode.root";
- toolTipText: "tutti.label.filterSpeciesBatchMode.mode.root";
+ toolTipText: "tutti.label.filterSpeciesBatchMode.mode.root.tip";
value: "root";
selected: {model.isTableViewModeRoot()};
buttonGroup: "filterSpeciesBatchMode";
- enabled: false;
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx 2013-01-15 11:07:25 UTC (rev 201)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx 2013-01-15 11:21:48 UTC (rev 202)
@@ -132,6 +132,7 @@
<JButton id='createSpeciesBatchButton' constraints='BorderLayout.WEST'
onActionPerformed='handler.createSpeciesBatch()'/>
<JPanel id='filterTablePane' constraints='BorderLayout.CENTER'>
+ <JLabel id='filterSpeciesBatchLabel'/>
<JRadioButton id='filterSpeciesBatchAllButton'
onActionPerformed='model.setTableViewMode(TableViewMode.ALL)'/>
<JRadioButton id='filterSpeciesBatchLeafButton'
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-01-15 11:07:25 UTC (rev 201)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-01-15 11:21:48 UTC (rev 202)
@@ -67,9 +67,13 @@
import org.jdesktop.swingx.table.DefaultTableColumnModelExt;
import org.nuiton.util.decorator.Decorator;
+import javax.swing.RowFilter;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableColumnModel;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
import java.io.Serializable;
+import java.util.EnumMap;
import java.util.List;
import java.util.Set;
@@ -116,6 +120,8 @@
private SpeciesFrequencyUI speciesFrequencyEditor;
+ private final EnumMap<TableViewMode, RowFilter<SpeciesBatchTableModel, Integer>> tableFilters;
+
public SpeciesBatchUIHandler(TuttiUI<?, ?> parentUi,
SpeciesBatchUI ui) {
super(parentUi,
@@ -137,6 +143,42 @@
SpeciesBatchRowModel.PROPERTY_ATTACHMENTS,
SpeciesBatchRowModel.PROPERTY_FREQUENCY);
this.ui = ui;
+ tableFilters = new EnumMap<TableViewMode, RowFilter<SpeciesBatchTableModel, Integer>>(TableViewMode.class);
+
+ tableFilters.put(TableViewMode.ALL, new RowFilter<SpeciesBatchTableModel, Integer>() {
+ @Override
+ public boolean include(Entry<? extends SpeciesBatchTableModel, ? extends Integer> entry) {
+ return true;
+ }
+ });
+
+ tableFilters.put(TableViewMode.ROOT, new RowFilter<SpeciesBatchTableModel, Integer>() {
+ @Override
+ public boolean include(Entry<? extends SpeciesBatchTableModel, ? extends Integer> entry) {
+ boolean result = false;
+ Integer rowIndex = entry.getIdentifier();
+ if (rowIndex != null) {
+ SpeciesBatchTableModel model = entry.getModel();
+ SpeciesBatchRowModel row = model.getEntry(rowIndex);
+ result = row != null && row.isBatchRoot();
+ }
+ return result;
+ }
+ });
+
+ tableFilters.put(TableViewMode.LEAF, new RowFilter<SpeciesBatchTableModel, Integer>() {
+ @Override
+ public boolean include(Entry<? extends SpeciesBatchTableModel, ? extends Integer> entry) {
+ boolean result = false;
+ Integer rowIndex = entry.getIdentifier();
+ if (rowIndex != null) {
+ SpeciesBatchTableModel model = entry.getModel();
+ SpeciesBatchRowModel row = model.getEntry(rowIndex);
+ result = row != null && row.isBatchLeaf();
+ }
+ return result;
+ }
+ });
}
//------------------------------------------------------------------------//
@@ -550,8 +592,26 @@
table.setColumnModel(columnModel);
initBatchTable(table, columnModel, tableModel);
+
+ getModel().addPropertyChangeListener(SpeciesBatchUIModel.PROPERTY_TABLE_VIEW_MODE, new PropertyChangeListener() {
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ TableViewMode tableViewMode = (TableViewMode) evt.getNewValue();
+
+ if (tableViewMode == null) {
+ tableViewMode = TableViewMode.ALL;
+ }
+
+ if (log.isInfoEnabled()) {
+ log.info("Will use rowfilter for viewMode: " + tableViewMode);
+ }
+ RowFilter<SpeciesBatchTableModel, Integer> filter = tableFilters.get(tableViewMode);
+ getTable().setRowFilter(filter);
+ }
+ });
}
+
@Override
public void onCloseUI() {
if (log.isInfoEnabled()) {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.css 2013-01-15 11:07:25 UTC (rev 201)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.css 2013-01-15 11:21:48 UTC (rev 202)
@@ -61,6 +61,7 @@
#speciesField {
editable: false;
+ enabled: false;
text: {handler.decorateSpecies(model.getSpecies())};
}
@@ -71,6 +72,7 @@
#batchWeightField {
editable: false;
+ enabled: false;
text: {getStringValue(model.getBatchWeight())};
}
@@ -81,6 +83,7 @@
#sampleWeightField {
editable: false;
+ enabled: false;
text: {getStringValue(model.getSampleWeight())};
}
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-01-15 11:07:25 UTC (rev 201)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-01-15 11:21:48 UTC (rev 202)
@@ -65,10 +65,10 @@
tutti.label.catches.benthosTotalSortedWeight=Poids total VRAC (kg)
tutti.label.catches.benthosTotalUnsortedWeight=Poids total HORS VRAC (kg)
tutti.label.catches.benthosTotalWeight=Poids TOTAL (kg)
-tutti.label.catches.catchThalassa=sur Thalassa
+tutti.label.catches.catchThalassa=(*) uniquement sur Thalassa
tutti.label.catches.catchTotalRejectedWeight=Poids total REJETÉ (kg)
-tutti.label.catches.catchTotalSortedCarousselWeight=Caroussel Observé
-tutti.label.catches.catchTotalSortedTremisWeight=Tremis
+tutti.label.catches.catchTotalSortedCarousselWeight=Caroussel Observé (*)
+tutti.label.catches.catchTotalSortedTremisWeight=Tremis (*)
tutti.label.catches.catchTotalSortedWeight=Poids total VRAC (kg)
tutti.label.catches.catchTotalUnsortedWeight=Poids total HORS VRAC (kg)
tutti.label.catches.catchTotalWeight=Poids TOTAL (kg)
@@ -92,9 +92,14 @@
tutti.label.cruise.program=Série
tutti.label.cruise.surveyPart=Série partielle
tutti.label.cruise.year=Année
-tutti.label.filterSpeciesBatchMode.mode.all=Tout voir
-tutti.label.filterSpeciesBatchMode.mode.leaf=Voir les feuilles
-tutti.label.filterSpeciesBatchMode.mode.root=Voir les parents
+tutti.label.filterSpeciesBatchMode.label=Filtre
+tutti.label.filterSpeciesBatchMode.label.tip=Pour filtrer les lots
+tutti.label.filterSpeciesBatchMode.mode.all=Aucun
+tutti.label.filterSpeciesBatchMode.mode.all.tip=Pas de filtre (tous les lots sont visibles)
+tutti.label.filterSpeciesBatchMode.mode.leaf=Feuilles
+tutti.label.filterSpeciesBatchMode.mode.leaf.tip=Voir uniquement les lots *feuilles*
+tutti.label.filterSpeciesBatchMode.mode.root=Parents
+tutti.label.filterSpeciesBatchMode.mode.root.tip=Voir uniquement les lots *parents*
tutti.label.filterVesselType=Filtre \:
tutti.label.filterVesselType.all=Tout
tutti.label.filterVesselType.all.tip=Tout les navires
1
0