branch develop updated (79078b2 -> 86eadcd)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git from 79078b2 [PS] Forcer l'utilisateur à consulter l'écran "Systèmes observés" (Fixes #6840) Merge branch 'feature/6840' into develop new f17ffef Ajout d'une eénumration ReportType et utilisation dans l'écran de configuration des rapports new b3e25ab Filtrage sur le type de modèle à utiliser pour sélectionner les marées disponibles new c67f4e4 Déplacement de ReportType en ObserveModelType + ajout de ce type sur les rapports new 8483a4e Pour les rapports, proposer un choix sur le type de marées à utiliser (Fixes #6853) Merge branch 'feature/6853' into develop new 7a69690 [PS] Améliorer l'ergonomie de l'écran de saisie des mensurations de non target (Fixes #7511) new 560313e [REFERENTIEL] Automatiser la réattribution de code lors de la désactivation ou la suppression d'une ligne de référentiel (fixes #8338) new 389f441 Ajout du type de marée LL new cabd563 amélioration de l'algorithme de détection du nœud trip new 576bc1d Conditionner l'utilisation selon le type de marée (LL) new 99a2471 [LL] Mode de saisie des captures 'groupé' par défaut dans le cas d'une marée auto-échantillonnage (Fixes #7889) Merge branch 'feature/7889' into develop new ca01bdd fix tests new 4f556bc Passage en modèle 5.1 new 3a0995b Suppression SetSeine.sonarUsed (persistence) new 9555171 Suppression SetSeine.sonarUsed (service) new d50cb7e Suppression SetSeine.sonarUsed (ui) new 521a65e clean i18n new f898510 Retirer le champ relatif à l'utilisation du sonar pendant la calée (Fixes #8374) Merge branch 'feature/8374' into develop new 39dd80c Rendre la collections de captures indexées + correction nommage script de migration new d7fba14 Ajout du menu contextuel pour changer l'ordre des captures new 2c87644 Bien conserver le nouvel ordre lors de la recopie de liste new bc3f80e recopie de la liste avant sauvegarde new 46db19b [LL] numérotation des captures (Fixes #7886) Merge branch 'feature/7886' into develop new fc9004c Suppression champs supportVesselName (persistence) new fa0f031 Suppression champs supportVesselName (service) new 1ec6cd6 Suppression champs supportVesselName (ui) new 86eadcd [PS] Supprimer le champ floattingobject.supportvesselname (Fixes #6997) Merge branch 'feature/6997' into develop The 26 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 86eadcdf38de1db0b6aaf9b0c61e9c839d0fbd66 Merge: 46db19b 1ec6cd6 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Oct 28 09:44:29 2016 +0200 [PS] Supprimer le champ floattingobject.supportvesselname (Fixes #6997) Merge branch 'feature/6997' into develop commit 1ec6cd6ad8d406a87e99ae829a295ac7f1a36e38 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Oct 28 09:44:22 2016 +0200 Suppression champs supportVesselName (ui) commit fa0f031a56c5f32bfa9a3ba93b74228170500182 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Oct 28 09:44:19 2016 +0200 Suppression champs supportVesselName (service) commit fc9004c0c80818729ce4dd316ff8acce9fcd5f0f Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Oct 28 09:43:20 2016 +0200 Suppression champs supportVesselName (persistence) commit 46db19b16947b42bace0ea84fd4fd2fd764803a7 Merge: f898510 bc3f80e Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 20:27:59 2016 +0200 [LL] numérotation des captures (Fixes #7886) Merge branch 'feature/7886' into develop commit bc3f80e1c504033cb8f1104bfe605c9731ed5d24 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 20:27:54 2016 +0200 recopie de la liste avant sauvegarde commit 2c876441e300a8172979d034956208f895390432 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 20:23:48 2016 +0200 Bien conserver le nouvel ordre lors de la recopie de liste commit d7fba14f856776fc96165b6511b70a7e0cf0d900 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 20:06:35 2016 +0200 Ajout du menu contextuel pour changer l'ordre des captures commit 39dd80c11204d8247c9d8c4208c67ce58aaaa205 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 17:30:45 2016 +0200 Rendre la collections de captures indexées + correction nommage script de migration commit f8985105c9d91685a72bf3766e9faee00298c8e8 Merge: ca01bdd 521a65e Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 15:45:19 2016 +0200 Retirer le champ relatif à l'utilisation du sonar pendant la calée (Fixes #8374) Merge branch 'feature/8374' into develop commit 521a65e3787294ae6d2efc1744cbc2e1ef3f2e92 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 15:44:44 2016 +0200 clean i18n commit d50cb7ea608d6673aff10f9eb18bb0477fd476d5 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 15:41:44 2016 +0200 Suppression SetSeine.sonarUsed (ui) commit 95551710c0235a7a70763ab0df7b60383d4b0698 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 15:41:40 2016 +0200 Suppression SetSeine.sonarUsed (service) commit 3a0995b6ef1d8c56e1858cd520429ef3a7348f01 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 15:40:34 2016 +0200 Suppression SetSeine.sonarUsed (persistence) commit 4f556bc64caf86dc8461bd6c2e487b22c8907156 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 15:39:57 2016 +0200 Passage en modèle 5.1 commit ca01bdd44d69557e941217b5e9b61b95157c1c15 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 15:41:57 2016 +0200 fix tests commit 99a247193bd91406cffb5aac01ba3e1742ebf1a2 Merge: 560313e 576bc1d Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 14:54:53 2016 +0200 [LL] Mode de saisie des captures 'groupé' par défaut dans le cas d'une marée auto-échantillonnage (Fixes #7889) Merge branch 'feature/7889' into develop commit 576bc1d13706ec52c0bd31c4addf3cb639a8a1a1 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 14:54:48 2016 +0200 Conditionner l'utilisation selon le type de marée (LL) commit cabd563ef3021707c45833bf75a1076cb3f02b40 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 14:54:05 2016 +0200 amélioration de l'algorithme de détection du nœud trip commit 389f44185d7fa310bb9aeb636771e7c5b9936756 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 14:53:28 2016 +0200 Ajout du type de marée LL commit 560313efe35d4db7f9079b5856deadd5585bc0dc Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 13:40:12 2016 +0200 [REFERENTIEL] Automatiser la réattribution de code lors de la désactivation ou la suppression d'une ligne de référentiel (fixes #8338) commit 7a69690072a4f3f7c10b6d198510d364c37555ca Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 11:37:51 2016 +0200 [PS] Améliorer l'ergonomie de l'écran de saisie des mensurations de non target (Fixes #7511) commit 8483a4ea091bca21526be129e113fd8fe5ac69ee Merge: 79078b2 c67f4e4 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 11:03:15 2016 +0200 Pour les rapports, proposer un choix sur le type de marées à utiliser (Fixes #6853) Merge branch 'feature/6853' into develop commit c67f4e421ec774d2f978dd11870c19747bfa9527 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 11:03:06 2016 +0200 Déplacement de ReportType en ObserveModelType + ajout de ce type sur les rapports commit b3e25ab0c529ae32ef046ed614bb27ca28c48901 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 10:10:29 2016 +0200 Filtrage sur le type de modèle à utiliser pour sélectionner les marées disponibles commit f17ffef1ad018f522ad9fd9776d14d15587fd07d Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 09:39:39 2016 +0200 Ajout d'une eénumration ReportType et utilisation dans l'écran de configuration des rapports Summary of changes: .../application-swing-decoration_en_GB.properties | 4 - .../application-swing-decoration_es_ES.properties | 4 - .../application-swing-decoration_fr_FR.properties | 4 - ...loatingObjectDto-ui-create-error-validation.xml | 13 --- ...loatingObjectDto-ui-update-error-validation.xml | 13 --- .../application-swing-validation_en_GB.properties | 3 - .../application-swing-validation_es_ES.properties | 3 - .../application-swing-validation_fr_FR.properties | 3 - .../validation/BeanValidatorDetectorTest.java | 2 +- application-swing/pom.xml | 1 + .../application/swing/ui/admin/AdminUIModel.java | 62 +++++++---- .../swing/ui/admin/report/ReportConfigUI.jaxx | 15 ++- .../swing/ui/admin/report/ReportConfigUI.jcss | 9 ++ .../swing/ui/admin/report/ReportModel.java | 48 ++++++-- .../swing/ui/admin/report/ReportUIHandler.java | 21 ++-- .../ui/content/impl/seine/FloatingObjectUI.jaxx | 13 --- .../ui/content/impl/seine/FloatingObjectUI.jcss | 16 --- .../impl/seine/FloatingObjectUIHandler.java | 1 - .../swing/ui/content/impl/seine/SetSeineUI.jaxx | 5 - .../swing/ui/content/impl/seine/SetSeineUI.jcss | 7 -- .../ui/content/impl/seine/SetSeineUIHandler.java | 1 - .../ui/content/impl/seine/SetSeineUIModel.java | 5 +- .../ui/content/open/ContentOpenableUIHandler.java | 6 +- .../ui/content/ref/ContentReferenceUIHandler.java | 124 ++++++++++++++++----- .../impl/longline/CatchLonglineTableModel.java | 35 ++++-- .../table/impl/longline/CatchLonglineUI.jaxx | 5 + .../table/impl/longline/CatchLonglineUI.jcss | 14 ++- .../impl/longline/CatchLonglineUIHandler.java | 88 +++++++++++++-- .../table/impl/seine/TargetSampleUIHandler.java | 29 +++-- .../swing/ui/storage/tabs/DataSelectionModel.java | 63 ++++++++++- .../application/swing/ui/usage/UsagesUI.jaxx | 27 +++-- .../swing/ui/usage/UsagesUIHandler.java | 43 +++++-- .../i18n/application-swing_en_GB.properties | 15 ++- .../i18n/application-swing_es_ES.properties | 15 ++- .../i18n/application-swing_fr_FR.properties | 15 ++- .../v1/ReferentialServiceController.java | 5 + application-web/src/main/resources/mapping | 1 + .../ObserveMigrationConfigurationProviderImpl.java | 3 +- ...java => DataSourceMigrationForVersion_5_1.java} | 42 ++----- .../V5_1_01_evol_8374_delete_sonarUsed-H2.sql | 1 + .../V5_1_01_evol_8374_delete_sonarUsed-PG.sql | 1 + .../V5_1_02_evol_7886_catch_add_set_idx-H2.sql | 1 + .../V5_1_02_evol_7886_catch_add_set_idx-PG.sql | 1 + ..._1_03_evol-6997_delete_supportVesselName-H2.sql | 1 + ..._1_03_evol-6997_delete_supportVesselName-PG.sql | 1 + .../entities/longline/TripLonglineTopiaDao.java | 22 +++- .../observe/entities/seine/TripSeineTopiaDao.java | 8 +- entities/src/main/xmi/observe-seine.zargo | Bin 83418 -> 83232 bytes entities/src/main/xmi/observe.ini | 2 +- pom.xml | 2 +- .../ird/observe/services/dto/ObserveModelType.java | 12 ++ .../services/dto/actions/report/Report.java | 20 +++- .../dto/reference/DataReferenceSetDefinitions.java | 3 +- .../src/main/xmi/observe-services-dto-seine.zargo | Bin 58913 -> 58766 bytes services-dto/src/main/xmi/observe-services-dto.ini | 1 + .../FloatingObject-service-error-validation.xml | 13 --- .../services-topia-validation_en_GB.properties | 1 - .../services-topia-validation_es_ES.properties | 1 - .../services-topia-validation_fr_FR.properties | 1 - .../topia/binder/data/DataBinderSupport.java | 56 +++++++--- .../topia/binder/data/FloatingObjectBinder.java | 2 - .../binder/data/SetLonglineCatchDtoBinder.java | 4 +- .../services/topia/binder/data/SetSeineBinder.java | 2 - .../topia/binder/data/TripLonglineBinder.java | 2 + .../topia/service/ReferentialServiceTopia.java | 24 ++++ .../topia/binder/BinderEngineMetadataTest.java | 2 +- .../src/main/filters/observe-reports.properties | 31 +++--- .../services/service/ReferentialService.java | 11 +- .../service/actions/report/ReportBuilder.java | 5 +- .../actions/report/observe-reports-test.properties | 2 + 70 files changed, 671 insertions(+), 345 deletions(-) copy entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/{DataSourceMigrationForVersion_5_0.java => DataSourceMigrationForVersion_5_1.java} (55%) create mode 100644 entities-migration/src/main/resources/db/migration/V5_1_01_evol_8374_delete_sonarUsed-H2.sql create mode 100644 entities-migration/src/main/resources/db/migration/V5_1_01_evol_8374_delete_sonarUsed-PG.sql create mode 100644 entities-migration/src/main/resources/db/migration/V5_1_02_evol_7886_catch_add_set_idx-H2.sql create mode 100644 entities-migration/src/main/resources/db/migration/V5_1_02_evol_7886_catch_add_set_idx-PG.sql create mode 100644 entities-migration/src/main/resources/db/migration/V5_1_03_evol-6997_delete_supportVesselName-H2.sql create mode 100644 entities-migration/src/main/resources/db/migration/V5_1_03_evol-6997_delete_supportVesselName-PG.sql create mode 100644 services-dto/src/main/java/fr/ird/observe/services/dto/ObserveModelType.java -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit f17ffef1ad018f522ad9fd9776d14d15587fd07d Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 09:39:39 2016 +0200 Ajout d'une eénumration ReportType et utilisation dans l'écran de configuration des rapports --- application-swing/pom.xml | 1 + .../swing/ui/admin/report/ReportConfigUI.jaxx | 14 ++++++++++++-- .../swing/ui/admin/report/ReportConfigUI.jcss | 9 +++++++++ .../swing/ui/admin/report/ReportModel.java | 19 +++++++++++++++++-- .../swing/ui/admin/report/ReportType.java | 12 ++++++++++++ .../swing/ui/admin/report/ReportUIHandler.java | 20 +++++++++++++------- .../i18n/application-swing_en_GB.properties | 3 +++ .../i18n/application-swing_es_ES.properties | 3 +++ .../i18n/application-swing_fr_FR.properties | 3 +++ 9 files changed, 73 insertions(+), 11 deletions(-) diff --git a/application-swing/pom.xml b/application-swing/pom.xml index 2173103..1f716c9 100644 --- a/application-swing/pom.xml +++ b/application-swing/pom.xml @@ -440,6 +440,7 @@ <enum>fr.ird.observe.application.swing.ui.storage.ObstunaAdminAction</enum> <enum>fr.ird.observe.application.swing.ui.admin.AdminStep</enum> <enum>fr.ird.observe.application.swing.db.constants.ConnexionStatus</enum> + <enum>fr.ird.observe.application.swing.ui.admin.report.ReportType</enum> </enums> </enumerationSet> <enumerationSet> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportConfigUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportConfigUI.jaxx index 3e06f0b..43cce49 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportConfigUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportConfigUI.jaxx @@ -33,8 +33,7 @@ static fr.ird.observe.application.swing.ui.UIHelper.getStringValue </import> - <ReportUIHandler id='handler' - initializer='getContextValue(ReportUIHandler.class)'/> + <ReportUIHandler id='handler' initializer='getContextValue(ReportUIHandler.class)'/> <AdminUIModel id='model' initializer='getContextValue(AdminUIModel.class)'/> @@ -56,6 +55,17 @@ protected void finalize() throws Throwable { <row> <cell anchor="west"> + <JLabel id='reportTypeLabel'/> + </cell> + <cell weightx='1' fill="horizontal" columns="2"> + <EnumEditor id="reportType" + genericType='ReportType' + constructorParams='ReportType.class' + onItemStateChanged='getHandler().setReportTypeFromEvent(event)'/> + </cell> + </row> + <row> + <cell anchor="west"> <JLabel id='reportFileLabel'/> </cell> <cell weightx='1' fill="horizontal"> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportConfigUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportConfigUI.jcss index 387d78c..1279020 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportConfigUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportConfigUI.jcss @@ -24,6 +24,15 @@ border:{new TitledBorder(t("observe.actions.report.config"))}; } +#reportTypeLabel { + text:"observe.actions.report.report.type"; + labelFor:{reportType}; +} + +#reportType { + selectedItem:{stepModel.getReportType()}; +} + #reportFileLabel { text:"observe.actions.report.select.file"; toolTipText:"observe.actions.report.select.file.tip"; diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportModel.java index 748839d..c107824 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportModel.java @@ -21,10 +21,10 @@ */ package fr.ird.observe.application.swing.ui.admin.report; -import fr.ird.observe.services.dto.actions.report.Report; -import fr.ird.observe.services.service.actions.report.ReportBuilder; import fr.ird.observe.application.swing.ui.admin.AdminActionModel; import fr.ird.observe.application.swing.ui.admin.AdminStep; +import fr.ird.observe.services.dto.actions.report.Report; +import fr.ird.observe.services.service.actions.report.ReportBuilder; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -50,6 +50,8 @@ public class ReportModel extends AdminActionModel { public static final String REPORTS_PROPERTY_NAME = "reports"; + public static final String REPORT_TYPE_PROPERTY_NAME = "reportType"; + public static final String REPORT_FILE_PROPERTY_NAME = "reportFile"; public static final String COPY_ROW_HEADERS_PROPERTY_NAME = "copyRowHeaders"; @@ -67,6 +69,9 @@ public class ReportModel extends AdminActionModel { /** Logger. */ private static final Log log = LogFactory.getLog(ReportModel.class); + /** Type de rapport à charger. */ + protected ReportType reportType = ReportType.PS; + /** la fichier contenant la définition des reports. */ protected File reportFile; @@ -199,6 +204,16 @@ public class ReportModel extends AdminActionModel { firePropertyChange(REPORTS_PROPERTY_NAME, reports); } + public ReportType getReportType() { + return reportType; + } + + public void setReportType(ReportType reportType) { + ReportType oldValue = getReportType(); + this.reportType = reportType; + firePropertyChange(REPORT_TYPE_PROPERTY_NAME, oldValue, reportType); + } + public Report getSelectedReport() { return selectedReport; } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportType.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportType.java new file mode 100644 index 0000000..203d4f9 --- /dev/null +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportType.java @@ -0,0 +1,12 @@ +package fr.ird.observe.application.swing.ui.admin.report; + +/** + * Created on 27/10/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0.2 + */ +public enum ReportType { + PS, + LL +} diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportUIHandler.java index 072f777..f0bf99d 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportUIHandler.java @@ -24,13 +24,6 @@ package fr.ird.observe.application.swing.ui.admin.report; import com.google.common.collect.Lists; import fr.ird.observe.application.swing.ObserveSwingTechnicalException; import fr.ird.observe.application.swing.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.DataDto; -import fr.ird.observe.services.dto.DataReference; -import fr.ird.observe.services.dto.actions.report.DataMatrix; -import fr.ird.observe.services.dto.actions.report.Report; -import fr.ird.observe.services.dto.actions.report.ReportVariable; -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.service.actions.report.ReportService; import fr.ird.observe.application.swing.ui.UIHelper; import fr.ird.observe.application.swing.ui.admin.AdminStep; import fr.ird.observe.application.swing.ui.admin.AdminTabUI; @@ -40,6 +33,13 @@ import fr.ird.observe.application.swing.ui.admin.AdminUIModel; import fr.ird.observe.application.swing.ui.admin.config.ConfigUI; import fr.ird.observe.application.swing.ui.admin.config.SelectDataUI; import fr.ird.observe.application.swing.ui.storage.tabs.DataSelectionModel; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.actions.report.DataMatrix; +import fr.ird.observe.services.dto.actions.report.Report; +import fr.ird.observe.services.dto.actions.report.ReportVariable; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.service.actions.report.ReportService; import jaxx.runtime.context.JAXXInitialContext; import jaxx.runtime.swing.editor.bean.BeanComboBox; import jaxx.runtime.swing.wizard.ext.WizardState; @@ -215,6 +215,12 @@ public class ReportUIHandler extends AdminTabUIHandler { }); } + public void setReportTypeFromEvent(ItemEvent event) { + if (event.getStateChange() == ItemEvent.SELECTED) { + getStepModel().setReportType((ReportType) event.getItem()); + } + } + public void updateSelectedReportFromEvent(ItemEvent event) { if (event.getStateChange() == ItemEvent.SELECTED) { diff --git a/application-swing/src/main/resources/i18n/application-swing_en_GB.properties b/application-swing/src/main/resources/i18n/application-swing_en_GB.properties index a56e6b8..72101c3 100644 --- a/application-swing/src/main/resources/i18n/application-swing_en_GB.properties +++ b/application-swing/src/main/resources/i18n/application-swing_en_GB.properties @@ -175,6 +175,7 @@ observe.actions.report.config=Report configuration observe.actions.report.copy.options=Copy into clipboard options observe.actions.report.description=Generate reports observe.actions.report.report.description=Description of selected report +observe.actions.report.report.type=Model type to use observe.actions.report.result=Results observe.actions.report.select=Select report observe.actions.report.select.file=File of reports definitions @@ -1328,6 +1329,8 @@ observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.SYNCHRONIZE=Upd observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.SYNCHRONIZE.description=Update referential observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.VALIDATE=Validation observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.VALIDATE.description=Validation data +observe.enum.fr.ird.observe.application.swing.ui.admin.report.ReportType.LL=Longline +observe.enum.fr.ird.observe.application.swing.ui.admin.report.ReportType.PS=Seine observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.BOTH=Bi directionnal observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.FROM_LEFT_TO_RIGHT=From left to right observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.FROM_RIGHT_TO_LEFT=From right to left diff --git a/application-swing/src/main/resources/i18n/application-swing_es_ES.properties b/application-swing/src/main/resources/i18n/application-swing_es_ES.properties index 0499c0f..dcd4890 100644 --- a/application-swing/src/main/resources/i18n/application-swing_es_ES.properties +++ b/application-swing/src/main/resources/i18n/application-swing_es_ES.properties @@ -175,6 +175,7 @@ observe.actions.report.config=Configuración de los informes observe.actions.report.copy.options=Opciones de copia en el portapapeles observe.actions.report.description=Generar los cuadros de síntesis del informe de fin del embarque observe.actions.report.report.description=Descripción del informe seleccionado +observe.actions.report.report.type=Model type to use \#TODO observe.actions.report.result=Resultados del informe observe.actions.report.select=Selección del informe observe.actions.report.select.file=Archivo de definición de informes @@ -1328,6 +1329,8 @@ observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.SYNCHRONIZE=Act observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.SYNCHRONIZE.description=Actualizar el referencial con una base central observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.VALIDATE=Validación observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.VALIDATE.description=Validación de los datos de una fuente de datos +observe.enum.fr.ird.observe.application.swing.ui.admin.report.ReportType.LL=Palangre +observe.enum.fr.ird.observe.application.swing.ui.admin.report.ReportType.PS=Senne observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.BOTH=Bidireccional observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.FROM_LEFT_TO_RIGHT=De izquierda a derecha observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.FROM_RIGHT_TO_LEFT=De derecha a izquierda diff --git a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties index a8a846f..129e451 100644 --- a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties +++ b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties @@ -175,6 +175,7 @@ observe.actions.report.config=Configuration des reports observe.actions.report.copy.options=Options de copie dans le presse-papier observe.actions.report.description=Générer les tableaux de synthèse du rapport de fin d'embarquement observe.actions.report.report.description=Description du rapport sélectionné +observe.actions.report.report.type=Type de modèle à utiliser observe.actions.report.result=Résultats du rapport observe.actions.report.select=Sélection du rapport observe.actions.report.select.file=Fichier de définition de reports @@ -1328,6 +1329,8 @@ observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.SYNCHRONIZE=Mis observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.SYNCHRONIZE.description=Mettre à jour le référentiel depuis une base centrale observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.VALIDATE=Validation observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.VALIDATE.description=Validation des données d'une source de données +observe.enum.fr.ird.observe.application.swing.ui.admin.report.ReportType.LL=Palangre +observe.enum.fr.ird.observe.application.swing.ui.admin.report.ReportType.PS=Senne observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.BOTH=Bi directionnel observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.FROM_LEFT_TO_RIGHT=De la gauche vers la droite observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.FROM_RIGHT_TO_LEFT=De la droite vers la gauche -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit c67f4e421ec774d2f978dd11870c19747bfa9527 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 11:03:06 2016 +0200 Déplacement de ReportType en ObserveModelType + ajout de ce type sur les rapports --- application-swing/pom.xml | 2 +- .../application/swing/ui/admin/AdminUIModel.java | 40 ++++++------------ .../swing/ui/admin/report/ReportConfigUI.jaxx | 11 ++--- .../swing/ui/admin/report/ReportConfigUI.jcss | 10 ++--- .../swing/ui/admin/report/ReportModel.java | 47 +++++++++++++--------- .../swing/ui/admin/report/ReportUIHandler.java | 5 ++- .../i18n/application-swing_en_GB.properties | 6 +-- .../i18n/application-swing_es_ES.properties | 6 +-- .../i18n/application-swing_fr_FR.properties | 6 +-- .../ird/observe/services/dto/ObserveModelType.java | 4 +- .../services/dto/actions/report/Report.java | 20 ++++++--- .../src/main/filters/observe-reports.properties | 31 +++++++------- .../service/actions/report/ReportBuilder.java | 5 ++- 13 files changed, 101 insertions(+), 92 deletions(-) diff --git a/application-swing/pom.xml b/application-swing/pom.xml index 1f716c9..88e19be 100644 --- a/application-swing/pom.xml +++ b/application-swing/pom.xml @@ -440,7 +440,7 @@ <enum>fr.ird.observe.application.swing.ui.storage.ObstunaAdminAction</enum> <enum>fr.ird.observe.application.swing.ui.admin.AdminStep</enum> <enum>fr.ird.observe.application.swing.db.constants.ConnexionStatus</enum> - <enum>fr.ird.observe.application.swing.ui.admin.report.ReportType</enum> + <enum>fr.ird.observe.services.dto.ObserveModelType</enum> </enums> </enumerationSet> <enumerationSet> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/AdminUIModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/AdminUIModel.java index f512ad2..24255db 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/AdminUIModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/AdminUIModel.java @@ -25,13 +25,12 @@ import com.google.common.collect.Lists; import fr.ird.observe.application.swing.I18nEnumHelper; import fr.ird.observe.application.swing.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.configuration.ObserveSwingApplicationConfig; -import fr.ird.observe.application.swing.db.ObserveSwingDataSource; import fr.ird.observe.application.swing.configuration.constants.DbMode; +import fr.ird.observe.application.swing.db.ObserveSwingDataSource; import fr.ird.observe.application.swing.ui.admin.config.ConfigUI; import fr.ird.observe.application.swing.ui.admin.consolidate.ConsolidateModel; import fr.ird.observe.application.swing.ui.admin.export.ExportModel; import fr.ird.observe.application.swing.ui.admin.report.ReportModel; -import fr.ird.observe.application.swing.ui.admin.report.ReportType; import fr.ird.observe.application.swing.ui.admin.save.SaveLocalModel; import fr.ird.observe.application.swing.ui.admin.synchronize.data.DataSynchroModel; import fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode; @@ -47,7 +46,7 @@ import fr.ird.observe.services.configuration.ObserveDataSourceInformation; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.IdHelper; -import fr.ird.observe.services.dto.actions.report.Report; +import fr.ird.observe.services.dto.ObserveModelType; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.BabModelVersionException; @@ -277,21 +276,6 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { AdminStep oldStep = (AdminStep) evt.getOldValue(); AdminStep newStep = (AdminStep) evt.getNewValue(); - if (AdminStep.REPORT == newStep) { - - if (oldStep != null && oldStep.ordinal() < newStep.ordinal()) { - - int oldIndex = getStepIndex(oldStep); - int newIndex = getStepIndex(newStep); - - if (oldIndex < newIndex) { - - // on reinitialise le report sélectionné - getReportModel().setSelectedReport(null); - } - } - } - if (AdminStep.CONFIG == newStep) { // on repasse sur l'écran de configuration @@ -338,13 +322,13 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { // on remplit le modèle de sélection uniquement avec le bon type de marées ReportModel reportModel = getReportModel(); - ReportType reportType = reportModel.getReportType(); - boolean loadSeineTrip = ReportType.PS == reportType; + ObserveModelType reportType = reportModel.getModelType(); + boolean loadSeineTrip = ObserveModelType.PS == reportType; ObserveSwingDataSource dataSource = getSafeLocalSource(true); populateSelectionModel(dataSource, loadSeineTrip); return; - + } // on remplit le modèle de sélection @@ -620,8 +604,8 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { if (log.isWarnEnabled()) log.warn("Default report file " + reportFile + " does not exists."); } - // on charge la liste des reports disponilbes - List<Report> reports = getReportModel().getReports(); +// // on charge la liste des reports disponilbes +// List<Report> reports = getReportModel().getReports(); // on ecoute la modification du modèle getReportModel().removePropertyChangeListener(listenReportModified); @@ -631,9 +615,9 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { getSelectionDataModel().removePropertyChangeListener(DataSelectionModel.PROPERTY_SELECTED_DATA, listenerSelectedDataForReport); getSelectionDataModel().addPropertyChangeListener(DataSelectionModel.PROPERTY_SELECTED_DATA, listenerSelectedDataForReport); - if (log.isInfoEnabled()) { - log.info("Detects " + reports.size() + " report(s)."); - } +// if (log.isInfoEnabled()) { +// log.info("Detects " + reports.size() + " report(s)."); +// } } if (containsOperation(AdminStep.CONSOLIDATE)) { @@ -1205,7 +1189,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { if (containsOperation(AdminStep.SYNCHRONIZE)) { if (!localSourceModel.isValid()) { - return false; + return false; } ObserveDataSourceInformation leftDataSourceInformation = getLocalSourceInformation(); @@ -1214,7 +1198,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { } if (!centralSourceModel.isValid()) { - return false; + return false; } ObserveDataSourceInformation rightDataSourceInformation = centralSourceModel.getDataSourceInformation(); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportConfigUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportConfigUI.jaxx index 43cce49..f1cd03d 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportConfigUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportConfigUI.jaxx @@ -27,6 +27,7 @@ <import> fr.ird.observe.application.swing.ui.admin.AdminUIModel + fr.ird.observe.services.dto.ObserveModelType java.io.File @@ -55,13 +56,13 @@ protected void finalize() throws Throwable { <row> <cell anchor="west"> - <JLabel id='reportTypeLabel'/> + <JLabel id='modelTypeLabel'/> </cell> <cell weightx='1' fill="horizontal" columns="2"> - <EnumEditor id="reportType" - genericType='ReportType' - constructorParams='ReportType.class' - onItemStateChanged='getHandler().setReportTypeFromEvent(event)'/> + <EnumEditor id="modelType" + genericType='ObserveModelType' + constructorParams='ObserveModelType.class' + onItemStateChanged='getHandler().setModelTypeFromEvent(event)'/> </cell> </row> <row> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportConfigUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportConfigUI.jcss index 1279020..181406e 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportConfigUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportConfigUI.jcss @@ -24,13 +24,13 @@ border:{new TitledBorder(t("observe.actions.report.config"))}; } -#reportTypeLabel { - text:"observe.actions.report.report.type"; - labelFor:{reportType}; +#modelTypeLabel { + text:"observe.actions.report.model.type"; + labelFor:{modelType}; } -#reportType { - selectedItem:{stepModel.getReportType()}; +#modelType { + selectedItem:{stepModel.getModelType()}; } #reportFileLabel { diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportModel.java index c107824..d5e9c05 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportModel.java @@ -23,6 +23,7 @@ package fr.ird.observe.application.swing.ui.admin.report; import fr.ird.observe.application.swing.ui.admin.AdminActionModel; import fr.ird.observe.application.swing.ui.admin.AdminStep; +import fr.ird.observe.services.dto.ObserveModelType; import fr.ird.observe.services.dto.actions.report.Report; import fr.ird.observe.services.service.actions.report.ReportBuilder; import org.apache.commons.logging.Log; @@ -35,6 +36,7 @@ import java.util.List; import java.util.Map; import java.util.TreeMap; import java.util.regex.Pattern; +import java.util.stream.Collectors; /** * Le modèle utilisé pour la fonctionnalité de génération de rapport. @@ -50,7 +52,7 @@ public class ReportModel extends AdminActionModel { public static final String REPORTS_PROPERTY_NAME = "reports"; - public static final String REPORT_TYPE_PROPERTY_NAME = "reportType"; + public static final String MODEL_TYPE_PROPERTY_NAME = "modelType"; public static final String REPORT_FILE_PROPERTY_NAME = "reportFile"; @@ -70,7 +72,7 @@ public class ReportModel extends AdminActionModel { private static final Log log = LogFactory.getLog(ReportModel.class); /** Type de rapport à charger. */ - protected ReportType reportType = ReportType.PS; + protected ObserveModelType modelType = ObserveModelType.PS; /** la fichier contenant la définition des reports. */ protected File reportFile; @@ -105,6 +107,8 @@ public class ReportModel extends AdminActionModel { public ReportModel() { super(AdminStep.REPORT); variables = new TreeMap<>(); + // quand le type de modèle change, on mets à jour les rapports disponibles + addPropertyChangeListener(MODEL_TYPE_PROPERTY_NAME, evt -> updateReports()); } public List<Report> loadReports(URL resource) throws IOException { @@ -180,38 +184,36 @@ public class ReportModel extends AdminActionModel { return reports != null; } - public List<Report> getReports() { - if (reports == null && reportFile.exists()) { - + private List<Report> allReports; + public List<Report> getAllReports() { + if (allReports == null) { try { URL resource = reportFile.toURI().toURL(); - List<Report> reports = loadReports(resource); + allReports = loadReports(resource); if (log.isDebugEnabled()) { - log.debug("Add loaded " + reports.size() + " report(s)."); + log.debug("Add loaded " + allReports.size() + " report(s)."); } - setReports(reports); } catch (IOException e) { throw new IllegalStateException( "Could not load reports definition file (" + reportFile + ").", e); } } - return reports; + return allReports; } - public void setReports(List<Report> reports) { - this.reports = reports; - firePropertyChange(REPORTS_PROPERTY_NAME, reports); + public List<Report> getReports() { + return reports; } - public ReportType getReportType() { - return reportType; + public ObserveModelType getModelType() { + return modelType; } - public void setReportType(ReportType reportType) { - ReportType oldValue = getReportType(); - this.reportType = reportType; - firePropertyChange(REPORT_TYPE_PROPERTY_NAME, oldValue, reportType); + public void setModelType(ObserveModelType reportType) { + ObserveModelType oldValue = getModelType(); + this.modelType = reportType; + firePropertyChange(MODEL_TYPE_PROPERTY_NAME, oldValue, reportType); } public Report getSelectedReport() { @@ -259,4 +261,13 @@ public class ReportModel extends AdminActionModel { variables.clear(); firePropertyChange(VARIABLES_PROPERTY_NAME, null, variables); } + + public void updateReports() { + setSelectedReport(null); + reports = getAllReports().stream().filter(r -> modelType == r.getModelType()).collect(Collectors.toList()); + firePropertyChange(REPORTS_PROPERTY_NAME, reports); + if (log.isInfoEnabled()) { + log.info("Detects " + (reports.size() - 1) + " report(s)."); + } + } } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportUIHandler.java index f0bf99d..23d45c8 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportUIHandler.java @@ -35,6 +35,7 @@ import fr.ird.observe.application.swing.ui.admin.config.SelectDataUI; import fr.ird.observe.application.swing.ui.storage.tabs.DataSelectionModel; import fr.ird.observe.services.dto.DataDto; import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.ObserveModelType; import fr.ird.observe.services.dto.actions.report.DataMatrix; import fr.ird.observe.services.dto.actions.report.Report; import fr.ird.observe.services.dto.actions.report.ReportVariable; @@ -215,9 +216,9 @@ public class ReportUIHandler extends AdminTabUIHandler { }); } - public void setReportTypeFromEvent(ItemEvent event) { + public void setModelTypeFromEvent(ItemEvent event) { if (event.getStateChange() == ItemEvent.SELECTED) { - getStepModel().setReportType((ReportType) event.getItem()); + getStepModel().setModelType((ObserveModelType) event.getItem()); } } diff --git a/application-swing/src/main/resources/i18n/application-swing_en_GB.properties b/application-swing/src/main/resources/i18n/application-swing_en_GB.properties index 72101c3..cfa4eb7 100644 --- a/application-swing/src/main/resources/i18n/application-swing_en_GB.properties +++ b/application-swing/src/main/resources/i18n/application-swing_en_GB.properties @@ -174,8 +174,8 @@ observe.actions.report=Report observe.actions.report.config=Report configuration observe.actions.report.copy.options=Copy into clipboard options observe.actions.report.description=Generate reports +observe.actions.report.model.type=Model type to use observe.actions.report.report.description=Description of selected report -observe.actions.report.report.type=Model type to use observe.actions.report.result=Results observe.actions.report.select=Select report observe.actions.report.select.file=File of reports definitions @@ -1329,8 +1329,6 @@ observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.SYNCHRONIZE=Upd observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.SYNCHRONIZE.description=Update referential observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.VALIDATE=Validation observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.VALIDATE.description=Validation data -observe.enum.fr.ird.observe.application.swing.ui.admin.report.ReportType.LL=Longline -observe.enum.fr.ird.observe.application.swing.ui.admin.report.ReportType.PS=Seine observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.BOTH=Bi directionnal observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.FROM_LEFT_TO_RIGHT=From left to right observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.FROM_RIGHT_TO_LEFT=From right to left @@ -1379,6 +1377,8 @@ observe.enum.fr.ird.observe.application.swing.validation.ValidationModelMode.DAT observe.enum.fr.ird.observe.application.swing.validation.ValidationModelMode.DATA.description=Only data observe.enum.fr.ird.observe.application.swing.validation.ValidationModelMode.REFERENTIEL=Only referentials observe.enum.fr.ird.observe.application.swing.validation.ValidationModelMode.REFERENTIEL.description=Only referentials +observe.enum.fr.ird.observe.services.dto.ObserveModelType.LL=Longline +observe.enum.fr.ird.observe.services.dto.ObserveModelType.PS=Seine observe.enum.fr.ird.observe.services.dto.constants.GearType.longline=Longline gear type observe.enum.fr.ird.observe.services.dto.constants.GearType.seine=Senne gear type observe.enum.fr.ird.observe.services.dto.constants.ReferenceStatus.disabled=Disabled diff --git a/application-swing/src/main/resources/i18n/application-swing_es_ES.properties b/application-swing/src/main/resources/i18n/application-swing_es_ES.properties index dcd4890..375f23d 100644 --- a/application-swing/src/main/resources/i18n/application-swing_es_ES.properties +++ b/application-swing/src/main/resources/i18n/application-swing_es_ES.properties @@ -174,8 +174,8 @@ observe.actions.report=Cuadros de síntesis observe.actions.report.config=Configuración de los informes observe.actions.report.copy.options=Opciones de copia en el portapapeles observe.actions.report.description=Generar los cuadros de síntesis del informe de fin del embarque +observe.actions.report.model.type=Model type to use \#TODO observe.actions.report.report.description=Descripción del informe seleccionado -observe.actions.report.report.type=Model type to use \#TODO observe.actions.report.result=Resultados del informe observe.actions.report.select=Selección del informe observe.actions.report.select.file=Archivo de definición de informes @@ -1329,8 +1329,6 @@ observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.SYNCHRONIZE=Act observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.SYNCHRONIZE.description=Actualizar el referencial con una base central observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.VALIDATE=Validación observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.VALIDATE.description=Validación de los datos de una fuente de datos -observe.enum.fr.ird.observe.application.swing.ui.admin.report.ReportType.LL=Palangre -observe.enum.fr.ird.observe.application.swing.ui.admin.report.ReportType.PS=Senne observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.BOTH=Bidireccional observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.FROM_LEFT_TO_RIGHT=De izquierda a derecha observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.FROM_RIGHT_TO_LEFT=De derecha a izquierda @@ -1379,6 +1377,8 @@ observe.enum.fr.ird.observe.application.swing.validation.ValidationModelMode.DAT observe.enum.fr.ird.observe.application.swing.validation.ValidationModelMode.DATA.description=Datos del observador observe.enum.fr.ird.observe.application.swing.validation.ValidationModelMode.REFERENTIEL=Referencial observe.enum.fr.ird.observe.application.swing.validation.ValidationModelMode.REFERENTIEL.description=Todos los referenciales +observe.enum.fr.ird.observe.services.dto.ObserveModelType.LL=Palangre +observe.enum.fr.ird.observe.services.dto.ObserveModelType.PS=Senne observe.enum.fr.ird.observe.services.dto.constants.GearType.longline=Palangre observe.enum.fr.ird.observe.services.dto.constants.GearType.seine=Senne observe.enum.fr.ird.observe.services.dto.constants.ReferenceStatus.disabled=Desactivado diff --git a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties index 129e451..16a0fd8 100644 --- a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties +++ b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties @@ -174,8 +174,8 @@ observe.actions.report=Tableaux de synthèse observe.actions.report.config=Configuration des reports observe.actions.report.copy.options=Options de copie dans le presse-papier observe.actions.report.description=Générer les tableaux de synthèse du rapport de fin d'embarquement +observe.actions.report.model.type=Type de modèle à utiliser observe.actions.report.report.description=Description du rapport sélectionné -observe.actions.report.report.type=Type de modèle à utiliser observe.actions.report.result=Résultats du rapport observe.actions.report.select=Sélection du rapport observe.actions.report.select.file=Fichier de définition de reports @@ -1329,8 +1329,6 @@ observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.SYNCHRONIZE=Mis observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.SYNCHRONIZE.description=Mettre à jour le référentiel depuis une base centrale observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.VALIDATE=Validation observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.VALIDATE.description=Validation des données d'une source de données -observe.enum.fr.ird.observe.application.swing.ui.admin.report.ReportType.LL=Palangre -observe.enum.fr.ird.observe.application.swing.ui.admin.report.ReportType.PS=Senne observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.BOTH=Bi directionnel observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.FROM_LEFT_TO_RIGHT=De la gauche vers la droite observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.FROM_RIGHT_TO_LEFT=De la droite vers la gauche @@ -1379,6 +1377,8 @@ observe.enum.fr.ird.observe.application.swing.validation.ValidationModelMode.DAT observe.enum.fr.ird.observe.application.swing.validation.ValidationModelMode.DATA.description=Données observées observe.enum.fr.ird.observe.application.swing.validation.ValidationModelMode.REFERENTIEL=Référentiel observe.enum.fr.ird.observe.application.swing.validation.ValidationModelMode.REFERENTIEL.description=Tous les référentiels +observe.enum.fr.ird.observe.services.dto.ObserveModelType.LL=Palangre +observe.enum.fr.ird.observe.services.dto.ObserveModelType.PS=Senne observe.enum.fr.ird.observe.services.dto.constants.GearType.longline=Longline observe.enum.fr.ird.observe.services.dto.constants.GearType.seine=Senne observe.enum.fr.ird.observe.services.dto.constants.ReferenceStatus.disabled=Désactivé diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportType.java b/services-dto/src/main/java/fr/ird/observe/services/dto/ObserveModelType.java similarity index 58% rename from application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportType.java rename to services-dto/src/main/java/fr/ird/observe/services/dto/ObserveModelType.java index 203d4f9..2dbcf20 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportType.java +++ b/services-dto/src/main/java/fr/ird/observe/services/dto/ObserveModelType.java @@ -1,4 +1,4 @@ -package fr.ird.observe.application.swing.ui.admin.report; +package fr.ird.observe.services.dto; /** * Created on 27/10/16. @@ -6,7 +6,7 @@ package fr.ird.observe.application.swing.ui.admin.report; * @author Tony Chemit - chemit@codelutin.com * @since 5.0.2 */ -public enum ReportType { +public enum ObserveModelType { PS, LL } diff --git a/services-dto/src/main/java/fr/ird/observe/services/dto/actions/report/Report.java b/services-dto/src/main/java/fr/ird/observe/services/dto/actions/report/Report.java index f023039..c05906e 100644 --- a/services-dto/src/main/java/fr/ird/observe/services/dto/actions/report/Report.java +++ b/services-dto/src/main/java/fr/ird/observe/services/dto/actions/report/Report.java @@ -24,6 +24,7 @@ package fr.ird.observe.services.dto.actions.report; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import fr.ird.observe.services.dto.ObserveDto; +import fr.ird.observe.services.dto.ObserveModelType; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -64,9 +65,13 @@ public class Report implements Serializable, ObserveDto { /** la liste des variables de type repeat du report */ protected final ReportVariable[] repeatVariables; + /** Type de modèle utilisable pour ce report. */ + protected final ObserveModelType modelType; + private static final long serialVersionUID = 1L; - public Report(String id, + public Report(ObserveModelType modelType, + String id, String name, String description, String[] rowHeaders, @@ -75,6 +80,7 @@ public class Report implements Serializable, ObserveDto { ReportVariable[] variables, ReportVariable[] repeatVariables, ReportRequest... requests) { + this.modelType = modelType; this.id = id; this.name = name; this.description = description; @@ -86,10 +92,10 @@ public class Report implements Serializable, ObserveDto { this.repeatVariables = repeatVariables; if (log.isDebugEnabled()) { log.debug("New report [" + id + ":" + name + "], nb requests : " + - requests.length + ", nb objectOperations : " + - operations.length + ", nb variables : " + - variables.length + ", nb repeat variables : " + - repeatVariables.length); + requests.length + ", nb objectOperations : " + + operations.length + ", nb variables : " + + variables.length + ", nb repeat variables : " + + repeatVariables.length); } } @@ -188,4 +194,8 @@ public class Report implements Serializable, ObserveDto { return true; } + public ObserveModelType getModelType() { + return modelType; + } + } diff --git a/services/src/main/filters/observe-reports.properties b/services/src/main/filters/observe-reports.properties index ca55046..1ea6616 100644 --- a/services/src/main/filters/observe-reports.properties +++ b/services/src/main/filters/observe-reports.properties @@ -23,7 +23,7 @@ ################################################################################ ## Liste des activit\u00e9s avec des comments ################################################################################ - +report.activityWithComment.modelType=PS report.activityWithComment.name=Activit\u00e9s avec comment et leurs positions report.activityWithComment.description=Afficher les activit\u00e9s avec comment et leurs positions g\u00e9ographiques report.activityWithComment.columns=Jour - Heure observation, Latitude, Longitude, Activit\u00e9, Commentaire @@ -41,7 +41,7 @@ report.activityWithComment.request.1=0,0|row|\ ################################################################################ ## Liste de toutes les activit\u00e9s et leurs positions ################################################################################ - +report.allActivitys.modelType=PS report.allActivitys.name=Toutes les activit\u00e9s et leurs positions report.allActivitys.description=Afficher toutes les activit\u00e9s et leurs positions g\u00e9ographiques report.allActivitys.columns=Jour - Heure observation, Latitude, Longitude, Activit\u00e9, Commentaire @@ -58,7 +58,7 @@ report.allActivitys.request.1=0,0|row|\ ################################################################################ ## Nombre de cal\u00e9es et captures journali\u00e8res d'une mar\u00e9e ################################################################################ - +report.dailySetAndCatch.modelType=PS report.dailySetAndCatch.name=Nombre de cal\u00e9es et captures journali\u00e8res d'une mar\u00e9e report.dailySetAndCatch.description=Afficher le nombre de cal\u00e9es et les captures journali\u00e8res d\u2019une cal\u00e9e report.dailySetAndCatch.columns=Jour observation,Nombre de cal\u00e9es ,Captures thon @@ -77,7 +77,7 @@ report.dailySetAndCatch.request.1=0,0|row|\ ################################################################################ ## Utilisation des DCP ################################################################################ - +report.dcpUsage.modelType=PS report.dcpUsage.name=Utilisation des DCP report.dcpUsage.description=Tableau r\u00e9capitulatif du nombre de DCP visit\u00e9s selon l\u2019action effectu\u00e9e (visites avec et sans p\u00eache, mis \u00e0 l\u2019eau, r\u00e9cuperation), et tortues observ\u00e9es report.dcpUsage.columns=Type de DCP (Tableau 8),Nombre visit\u00e9s,Nombre p\u00each\u00e9s,Nombre mis \u00e0 l\u2019eau seuls,Nombre renforc\u00e9s par radeau balis\u00e9,R\u00e9cup\u00e9r\u00e9 sans p\u00eache,Nombre de tortues associ\u00e9es @@ -176,7 +176,7 @@ report.dcpUsage.request.7.repeat=typeObjetId|column ################################################################################ ## Nombre des cal\u00e9es selon le type d'association ################################################################################ - +report.setByAssociation.modelType=PS report.setByAssociation.name=Nombre de cal\u00e9es selon le type d\u2019association report.setByAssociation.description=Afficher la r\u00e9partitions des cal\u00e9es selon le type d\u2019association l\u2019issue du coup. Les coups sur BL baleine et BO requin-baleine sont sp\u00e9cifi\u00e9s. report.setByAssociation.columns=BL sans baleine, BL avec baleine, BO avec requin-baleine, BO sans requin-baleine, Total @@ -290,7 +290,7 @@ report.setByAssociation.request.8=3,1|column|\ ################################################################################ ## Captures thon par type d'association ################################################################################ - +report.targetCatchByAssociation.modelType=PS report.targetCatchByAssociation.name=Capture de thon selon le type d'association (en t) report.targetCatchByAssociation.description=Afficher la r\u00e9partitions des captures de thons selon le type d'association report.targetCatchByAssociation.columns=YFT, SKJ, BET, LTA, FRI, Autres, Total @@ -429,7 +429,7 @@ report.targetCatchByAssociation.request.19=0,3|row|\ ################################################################################ ## Rejets thons selon le type d'association ################################################################################ - +report.targetDiscardedByAssociation.modelType=PS report.targetDiscardedByAssociation.name=Rejets de thons selon le type d\u2019association (en t) report.targetDiscardedByAssociation.description=Afficher la r\u00e9partitions des rejets de thons selon le type d'association report.targetDiscardedByAssociation.columns=YFT, SKJ, BET, LTA, FRI, Autres, Total @@ -568,8 +568,7 @@ report.targetDiscardedByAssociation.request.19=0,3|row|\ ################################################################################ ## Captures accessoires observ\u00e9es ################################################################################ - - +report.accessoryCatch.modelType=PS report.accessoryCatch.name=Liste des captures accessoires selon le type de banc, filtr\u00e9es par groupe report.accessoryCatch.description=Afficher les captures accessoires par groupe d'esp\u00e8ce\nLes poids sont exprim\u00e9s en tonnes. report.accessoryCatch.columns=Esp\u00e8ce, Banc libre, Banc objet @@ -625,7 +624,7 @@ report.accessoryCatch.request.3.repeat=speciesId|column ################################################################################ ## Captures accessoires par speciesGroup d'esp\u00e8ces ################################################################################ - +report.accessoryCatchByGroup.modelType=PS report.accessoryCatchByGroup.name=D\u00e9nombrement des captures accessoires et devenir, filtr\u00e9s par groupe report.accessoryCatchByGroup.description=Afficher les nombres de captures accessoires par groupe d'esp\u00e8ce selon le type de banc et le devenir report.accessoryCatchByGroup.columns=Esp\u00e8ce, Total BL, Total BO, Sorti vivant/\u00e9chapp\u00e9, Sorti mort, Rejet\u00e9 vivant, Rejet\u00e9 mort, Partiellement conserv\u00e9, Cuve, Cuisine, Autre @@ -677,7 +676,7 @@ report.accessoryCatchByGroup.request.1=0,0|row|\ ########################################################### ## Distribution des tailles par espèces non ciblées ########################################################### - +report.nonTargetDistributionLengths.modelType=PS report.nonTargetDistributionLengths.name=Distribution des tailles par esp\u00e8ces non cibl\u00e9es report.nonTargetDistributionLengths.description=Afficher la nombre d'individus mesur\u00e9s par classe de taille pour les esp\u00e8ces non cibl\u00e9es report.nonTargetDistributionLengths.columns=Classe de taille,Effectif @@ -705,7 +704,7 @@ Order By ntl.length #################################################################### ## Distribution des tailles des conservés par espèces ciblées (LD1) #################################################################### - +report.targetStoredDistributionLengthsLD1.modelType=PS report.targetStoredDistributionLengthsLD1.name=Distribution des tailles des captures par esp\u00e8ces cibl\u00e9es (mesure LD1) report.targetStoredDistributionLengthsLD1.description=Afficher le nombre d'individus captur\u00e9s, mesur\u00e9s par classe de taille LD1 pour les esp\u00e8ces cibl\u00e9es report.targetStoredDistributionLengthsLD1.columns=Classe de taille,Effectif @@ -737,7 +736,7 @@ Order By tl.length ################################################################ ## Distribution des tailles des rejets par espèces ciblées (LD1) ################################################################ - +report.targetDiscardedDistributionLengthsLD1.modelType=PS report.targetDiscardedDistributionLengthsLD1.name=Distribution des tailles des rejets par esp\u00e8ces cibl\u00e9es (mesure LD1) report.targetDiscardedDistributionLengthsLD1.description=Afficher la nombre d'individus rejet\u00e9s, mesur\u00e9s par classe de taille LD1 pour les esp\u00e8ces cibl\u00e9es report.targetDiscardedDistributionLengthsLD1.columns=Classe de taille,Effectif @@ -769,7 +768,7 @@ Order By tl.length ############################################################### ## Distribution des tailles des conservés par espèces ciblées (LF) ############################################################### - +report.targetStoredDistributionLengthsLF.modelType=PS report.targetStoredDistributionLengthsLF.name=Distribution des tailles des captures par esp\u00e8ces cibl\u00e9es (mesure LF) report.targetStoredDistributionLengthsLF.description=Afficher le nombre d'individus captur\u00e9s, mesur\u00e9s par classe de taille LF pour les esp\u00e8ces cibl\u00e9es report.targetStoredDistributionLengthsLF.columns=Classe de taille,Effectif @@ -801,7 +800,7 @@ Order By tl.length ############################################################### ## Distribution des tailles des rejets par espèces ciblées (LF) ############################################################### - +report.targetDiscardedDistributionLengthsLF.modelType=PS report.targetDiscardedDistributionLengthsLF.name=Distribution des tailles des rejets par esp\u00e8ces cibl\u00e9es (mesure LF) report.targetDiscardedDistributionLengthsLF.description=Afficher le nombre d'individus rejet\u00e9s, mesur\u00e9s par classe de taille LF pour les esp\u00e8ces cibl\u00e9es report.targetDiscardedDistributionLengthsLF.columns=Classe de taille,Effectif @@ -833,7 +832,7 @@ Order By tl.length ############################################ ## Répartition des calées par cuves ############################################ - +report.repartionCaleeParCuve.modelType=PS report.repartionCaleeParCuve.name=R\u00e9partition des cal\u00e9es par cuves report.repartionCaleeParCuve.description=R\u00e9partition des cal\u00e9es par cuves, type de banc et esp\u00e8ce report.repartionCaleeParCuve.columns=Jour - Heure observation,Latitude,Longitude,Type de banc,Esp\u00e8ce,Tonnage,Cuve diff --git a/services/src/main/java/fr/ird/observe/services/service/actions/report/ReportBuilder.java b/services/src/main/java/fr/ird/observe/services/service/actions/report/ReportBuilder.java index 13b5d35..cb1d7d1 100644 --- a/services/src/main/java/fr/ird/observe/services/service/actions/report/ReportBuilder.java +++ b/services/src/main/java/fr/ird/observe/services/service/actions/report/ReportBuilder.java @@ -22,6 +22,7 @@ package fr.ird.observe.services.service.actions.report; +import fr.ird.observe.services.dto.ObserveModelType; import fr.ird.observe.services.dto.actions.report.Report; import fr.ird.observe.services.dto.actions.report.ReportOperation; import fr.ird.observe.services.dto.actions.report.ReportRequest; @@ -131,6 +132,7 @@ public class ReportBuilder { log.debug("Will build report [" + reportName + "] with " + dico.size() + " properties (" + dico + ")."); } + ObserveModelType modelType = ObserveModelType.valueOf(getValue(dico, "modelType").trim().toUpperCase()); String name = getValue(dico, "name").trim(); String description = getValue(dico, "description").trim(); String rows = getValue(dico, "rows"); @@ -161,7 +163,8 @@ public class ReportBuilder { } } - return new Report(reportName, + return new Report(modelType, + reportName, name, description, rowHeaders, -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 8483a4ea091bca21526be129e113fd8fe5ac69ee Merge: 79078b2 c67f4e4 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 11:03:15 2016 +0200 Pour les rapports, proposer un choix sur le type de marées à utiliser (Fixes #6853) Merge branch 'feature/6853' into develop application-swing/pom.xml | 1 + .../application/swing/ui/admin/AdminUIModel.java | 62 ++++++++++++--------- .../swing/ui/admin/report/ReportConfigUI.jaxx | 15 +++++- .../swing/ui/admin/report/ReportConfigUI.jcss | 9 ++++ .../swing/ui/admin/report/ReportModel.java | 48 +++++++++++++---- .../swing/ui/admin/report/ReportUIHandler.java | 21 +++++--- .../swing/ui/storage/tabs/DataSelectionModel.java | 63 ++++++++++++++++++++-- .../i18n/application-swing_en_GB.properties | 3 ++ .../i18n/application-swing_es_ES.properties | 3 ++ .../i18n/application-swing_fr_FR.properties | 3 ++ .../ird/observe/services/dto/ObserveModelType.java | 12 +++++ .../services/dto/actions/report/Report.java | 20 +++++-- .../src/main/filters/observe-reports.properties | 31 ++++++----- .../service/actions/report/ReportBuilder.java | 5 +- 14 files changed, 226 insertions(+), 70 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 7a69690072a4f3f7c10b6d198510d364c37555ca Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 11:37:51 2016 +0200 [PS] Améliorer l'ergonomie de l'écran de saisie des mensurations de non target (Fixes #7511) --- .../table/impl/seine/TargetSampleUIHandler.java | 29 +++++++++++----------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/TargetSampleUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/TargetSampleUIHandler.java index 13f5583..3ca2115 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/TargetSampleUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/TargetSampleUIHandler.java @@ -24,6 +24,11 @@ package fr.ird.observe.application.swing.ui.content.table.impl.seine; import fr.ird.observe.application.swing.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.db.DataContext; import fr.ird.observe.application.swing.db.constants.DataContextType; +import fr.ird.observe.application.swing.ui.UIHelper; +import fr.ird.observe.application.swing.ui.content.ContentMode; +import fr.ird.observe.application.swing.ui.content.table.ContentTableModel; +import fr.ird.observe.application.swing.ui.content.table.ContentTableUI; +import fr.ird.observe.application.swing.ui.content.table.ContentTableUIHandler; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; @@ -34,11 +39,6 @@ import fr.ird.observe.services.dto.seine.TargetLengthDto; import fr.ird.observe.services.dto.seine.TargetSampleDto; import fr.ird.observe.services.dto.seine.TargetSampleHelper; import fr.ird.observe.services.service.seine.TargetSampleService; -import fr.ird.observe.application.swing.ui.UIHelper; -import fr.ird.observe.application.swing.ui.content.ContentMode; -import fr.ird.observe.application.swing.ui.content.table.ContentTableModel; -import fr.ird.observe.application.swing.ui.content.table.ContentTableUI; -import fr.ird.observe.application.swing.ui.content.table.ContentTableUIHandler; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.validator.NuitonValidatorScope; @@ -135,21 +135,20 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto JComponent requestFocus; + ModeSaisieEchantillonEnum modeSaisieEchantillonEnum; + if (create) { -// if (model.isCreate() && editingRow > 0) { + modeSaisieEchantillonEnum = ModeSaisieEchantillonEnum.byEffectif; if (model.isCreate()) { if (editingRow > 0) { // on recupere l'species de la ligne precedente TargetLengthDto editBean = model.getValueAt(editingRow - 1); species = editBean.getSpecies(); + modeSaisieEchantillonEnum = ModeSaisieEchantillonEnum.valueOf(editBean.getAcquisitionMode()); } - // on passe le mode de saisie en count - ui.getAcquisitionModeGroup().setSelectedValue(null); - ui.getAcquisitionModeGroup().setSelectedValue(ModeSaisieEchantillonEnum.byEffectif); - // on utilise par défaut le code mesure lf ui.getMeasureType().setSelectedItem(null); ui.getMeasureType().setSelectedItem(CodeMesureEnum.lf); @@ -161,14 +160,14 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto requestFocus = ui.getCount(); - // on passe le mode de saisie int acquisitionMode = bean.getAcquisitionMode(); - ModeSaisieEchantillonEnum enumValue = - ModeSaisieEchantillonEnum.valueOf(acquisitionMode); - ui.getAcquisitionModeGroup().setSelectedValue(null); - ui.getAcquisitionModeGroup().setSelectedValue(enumValue); + modeSaisieEchantillonEnum = ModeSaisieEchantillonEnum.valueOf(acquisitionMode); } + + ui.getAcquisitionModeGroup().setSelectedValue(null); + ui.getAcquisitionModeGroup().setSelectedValue(modeSaisieEchantillonEnum); + // on met a jour l'espce ui.getSpecies().setSelectedItem(null); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 560313efe35d4db7f9079b5856deadd5585bc0dc Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 13:40:12 2016 +0200 [REFERENTIEL] Automatiser la réattribution de code lors de la désactivation ou la suppression d'une ligne de référentiel (fixes #8338) --- .../ui/content/ref/ContentReferenceUIHandler.java | 124 ++++++++++++++++----- .../application/swing/ui/usage/UsagesUI.jaxx | 27 +++-- .../swing/ui/usage/UsagesUIHandler.java | 43 +++++-- .../i18n/application-swing_en_GB.properties | 5 +- .../i18n/application-swing_es_ES.properties | 5 +- .../i18n/application-swing_fr_FR.properties | 5 +- .../v1/ReferentialServiceController.java | 5 + application-web/src/main/resources/mapping | 1 + .../observe/entities/seine/TripSeineTopiaDao.java | 8 +- .../dto/reference/DataReferenceSetDefinitions.java | 2 +- .../topia/service/ReferentialServiceTopia.java | 24 ++++ .../services/service/ReferentialService.java | 11 +- 12 files changed, 197 insertions(+), 63 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ContentReferenceUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ContentReferenceUIHandler.java index 1c33032..5121fa2 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ContentReferenceUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ContentReferenceUIHandler.java @@ -34,7 +34,6 @@ import fr.ird.observe.application.swing.ui.tree.ObserveTreeHelper; import fr.ird.observe.application.swing.ui.usage.UsagesUI; import fr.ird.observe.application.swing.validation.ValidationContext; import fr.ird.observe.services.dto.Form; -import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.ReferenceMap; import fr.ird.observe.services.dto.constants.ReferenceStatus; import fr.ird.observe.services.dto.constants.ReferentialLocale; @@ -53,6 +52,7 @@ import jaxx.runtime.swing.editor.bean.BeanListHeader; import jaxx.runtime.validator.swing.SwingValidatorUtil; import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.decorator.Decorator; @@ -82,6 +82,7 @@ import java.util.Collections; import java.util.LinkedList; import java.util.List; import java.util.Set; +import java.util.stream.Collectors; import static org.nuiton.i18n.I18n.t; @@ -95,8 +96,7 @@ import static org.nuiton.i18n.I18n.t; public class ContentReferenceUIHandler<E extends ReferentialDto> extends ContentUIHandler<E> { /** Logger */ - private static final Log log = - LogFactory.getLog(ContentReferenceUIHandler.class); + private static final Log log = LogFactory.getLog(ContentReferenceUIHandler.class); private final Runnable revalidate; @@ -123,35 +123,53 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content }; } - private static <E extends IdDto> void showUsagesForDelete(JAXXContext tx, - E entity, - ReferenceMap usages) { + private static <E extends ReferentialDto> Pair<Boolean, ReferentialReference<E>> showUsagesForDelete(JAXXContext tx, + E entity, + ReferenceMap usages, + List<ReferentialReference<E>> referenceList) { DecoratorService service = ObserveSwingApplicationContext.get().getDecoratorService(); Decorator<?> decorator = service.getDecoratorByType(entity.getClass()); + + //FIXME utiliser une template String type = ObserveI18nDecoratorHelper.getTypeI18nKey(entity.getClass()); type = t(type); String message = t("observe.message.show.usage.for.delete", type, decorator.toString(entity)); String message2 = t("observe.message.show.usage.for.delete2"); + String message3 = t("observe.message.show.usage.for.delete3"); UsagesUI usagesUI = new UsagesUI(tx); - usagesUI.init(message, message2, null, usages); + usagesUI.init(message, message2, message3, usages, (List) referenceList); - UIHelper.askUser(null, - t("observe.title.can.not.delete.referentiel"), - usagesUI, - JOptionPane.WARNING_MESSAGE, - new Object[]{ - t("observe.choice.cancel")}, - 0); + int reponse = UIHelper.askUser(null, + t("observe.title.can.not.delete.referentiel"), + usagesUI, + JOptionPane.WARNING_MESSAGE, + new Object[]{ + t("observe.choice.replace"), + t("observe.choice.cancel")}, + 0); + + switch (reponse) { + case 0: + // will replace and delete + ReferentialReference<E> selectedReplace = usagesUI.getSelectedReplace(); + return Pair.of(true, selectedReplace); + + } + // any other case : do not replace, do not delete + return Pair.of(false, null); } - private static <E extends IdDto> boolean showUsagesForDesactivated(JAXXContext tx, - E entity, - ReferenceMap usages) { + private static <E extends ReferentialDto> Pair<Boolean, ReferentialReference<E>> showUsagesForDesactivated(JAXXContext tx, + E entity, + ReferenceMap usages, + List<ReferentialReference<E>> referenceList) { DecoratorService service = ObserveSwingApplicationContext.get().getDecoratorService(); Decorator<?> decorator = service.getDecoratorByType(entity.getClass()); + + //FIXME utiliser une template String type = ObserveI18nDecoratorHelper.getTypeI18nKey(entity.getClass()); type = t(type); String message = t("observe.message.show.usage.for.desactivated", type, decorator.toString(entity)); @@ -159,7 +177,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content String message3 = t("observe.message.show.usage.for.desactivated3"); UsagesUI usagesUI = new UsagesUI(tx); - usagesUI.init(message, message2, message3, usages); + usagesUI.init(message, message2, message3, usages, (List) referenceList); int reponse = UIHelper.askUser(null, t("observe.title.need.confirm.to.desactivate.referentiel"), @@ -176,11 +194,12 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content switch (reponse) { case 0: // will save ui - return true; + ReferentialReference<E> selectedReplace = usagesUI.getSelectedReplace(); + return Pair.of(true, selectedReplace); } // any other case : do not save - return false; + return Pair.of(false, null); } public void selectBean(ReferentialReference<E> selectedReference) { @@ -351,7 +370,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content ContentReferenceUI<E> ui = getUi(); UsagesUI usagesUI = new UsagesUI(ui); - usagesUI.init(message, null, null, usages); + usagesUI.init(message, null, null, usages, null); UIHelper.askUser(ui, t("observe.title.show.usage"), @@ -639,6 +658,8 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content // le bean original E oldBean = model.getSelectedBean(); + ReferentialReference<E> replaceReference = null; + if (oldBean != null && oldBean.getStatus() == ReferenceStatus.enabled && bean.getStatus() == ReferenceStatus.disabled) { @@ -647,8 +668,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content // on recherche les objets utilisant cette entitee // on indique a l'utilisateur ce changement if (log.isDebugEnabled()) { - log.debug("entity status was desactivated, looking " + - "for usage"); + log.debug("entity status was desactivated, looking for usage"); } ReferenceMap usages = getReferentialService().findAllUsages(bean); @@ -659,18 +679,33 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content } } else { // some usages were found - boolean willsave = showUsagesForDesactivated(getUi(), bean, - usages); + + // get replacements + Set<ReferentialReference<E>> referentialReferences = getDataSource().getReferentialReferences(getBeanType()); + List<ReferentialReference<E>> referenceList = referentialReferences + .stream() + .filter(ReferentialReference::isEnabled) + .filter(r -> !bean.getId().equals(r.getId())) + .collect(Collectors.toList()); + + Pair<Boolean, ReferentialReference<E>> result = showUsagesForDesactivated(getUi(), bean, usages, referenceList); + boolean willsave = result.getLeft(); + + replaceReference = result.getRight(); if (!willsave) { if (log.isDebugEnabled()) { - log.debug("User refuses to continue, skip " + - "saving..."); + log.debug("User refuses to continue, skip saving..."); } return false; } } } + if (replaceReference != null) { + + // on effectue le remplacement en base + getReferentialService().replaceReference(getBeanType(), bean.getId(), replaceReference.getId()); + } // sauvegarde du bean d'edition dans le bean de la base SaveResultDto saveResult = getReferentialService().save(bean); @@ -703,6 +738,8 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content // recherche des utilisation du bean dans la base ReferenceMap usages = getReferentialService().findAllUsages(bean); + ReferentialReference<E> replaceReference = null; + if (MapUtils.isEmpty(usages)) { if (log.isDebugEnabled()) { log.debug("No usage found, no warning to display"); @@ -710,11 +747,35 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content } else { // some usages were found + + // get replacements + Set<ReferentialReference<E>> referentialReferences = getDataSource().getReferentialReferences(getBeanType()); + List<ReferentialReference<E>> referenceList = referentialReferences + .stream() + .filter(ReferentialReference::isEnabled) + .filter(r -> !bean.getId().equals(r.getId())) + .collect(Collectors.toList()); + if (log.isDebugEnabled()) { - log.debug("can not delete referentiel entity (found usages)"); + log.debug("found some usages, ask user to select a replacement"); + } + + Pair<Boolean, ReferentialReference<E>> result = showUsagesForDelete(ui, bean, usages, referenceList); + Boolean canContinue = result.getLeft(); + if (!canContinue) { + if (log.isDebugEnabled()) { + log.debug("user refuse to continue"); + } + return false; + } + + replaceReference = result.getRight(); + if (replaceReference == null) { + if (log.isDebugEnabled()) { + log.debug("user did not select replace"); + } + return false; } - showUsagesForDelete(ui, bean, usages); - return false; } if (!UIHelper.confirmForEntityDelete(ui, model.getBeanType(), bean)) { @@ -722,6 +783,9 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content } String beanId = bean.getId(); + if (replaceReference != null) { + getReferentialService().replaceReference(getBeanType(), beanId, replaceReference.getId()); + } getReferentialService().delete(getBeanType(), beanId); return true; diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/usage/UsagesUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/usage/UsagesUI.jaxx index 0558ebd..ab1cfd2 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/usage/UsagesUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/usage/UsagesUI.jaxx @@ -26,12 +26,15 @@ Interface graphique pour afficher la liste des usages d'une entitee donnee. <JPanel id='usagePanel' layout='{new BorderLayout()}'> <import> - fr.ird.observe.application.swing.ObserveSwingApplicationContext fr.ird.observe.application.swing.ui.UIHelper + fr.ird.observe.services.dto.AbstractReference fr.ird.observe.services.dto.ReferenceMap - java.awt.Dimension + jaxx.runtime.swing.editor.bean.BeanComboBox + + java.util.List + static org.nuiton.i18n.I18n.t </import> <script><![CDATA[ @@ -41,14 +44,17 @@ private UsagesUIHandler handler = new UsagesUIHandler(); public void init(String message, String message2, String message3, - ReferenceMap usages) { - getHandler().initUI(this, message,message2, message3, usages); + ReferenceMap usages, + List<AbstractReference> referenceList) { + getHandler().initUI(this, message,message2, message3, usages, referenceList); } public void clean() { getHandler().cleanUI(this); } +public <T> T getSelectedReplace() { return (T) replace.getSelectedItem(); } + protected UsagesUIHandler getHandler() { return handler; } @@ -70,21 +76,20 @@ protected void finalize() throws Throwable { ]]> </script> - <JPanel constraints="BorderLayout.NORTH" - layout='{new BorderLayout()}'> + <JPanel constraints="BorderLayout.NORTH" layout='{new BorderLayout()}'> <JPanel layout='{new BorderLayout()}' constraints="BorderLayout.CENTER"> <JLabel id="message" constraints="BorderLayout.NORTH"/> <JLabel id="message2" constraints="BorderLayout.CENTER"/> <JLabel id="message3" constraints="BorderLayout.SOUTH"/> </JPanel> - <JPanel constraints="BorderLayout.SOUTH" - minimumSize='{new Dimension(10,30)}'/> - <!--layout='{new BorderLayout()}'--> - <!--<JSeparator constraints="BorderLayout.SOUTH"/>--> + <JPanel id="replacePanel" border='{new TitledBorder(t("observe.usage.replaceTitle"))}' visible="false" + constraints="BorderLayout.SOUTH" layout="{new GridLayout(0, 1)}"> + <BeanComboBox id="replace"/> + </JPanel> </JPanel> - <JPanel id="usages" constraints="BorderLayout.CENTER" + <JPanel id="usages" border='{new TitledBorder(t("observe.usage.usageTitle"))}' constraints="BorderLayout.CENTER" layout="{new GridLayout(0, 1)}"/> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/usage/UsagesUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/usage/UsagesUIHandler.java index 3b8d083..40990f5 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/usage/UsagesUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/usage/UsagesUIHandler.java @@ -22,6 +22,7 @@ package fr.ird.observe.application.swing.ui.usage; import fr.ird.observe.application.swing.ObserveSwingApplicationContext; +import fr.ird.observe.application.swing.decoration.DecoratorService; import fr.ird.observe.application.swing.decoration.ObserveI18nDecoratorHelper; import fr.ird.observe.services.dto.AbstractReference; import fr.ird.observe.services.dto.DataDto; @@ -30,12 +31,14 @@ import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.ReferenceMap; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; +import jaxx.runtime.swing.editor.bean.BeanComboBox; +import org.apache.commons.collections4.CollectionUtils; import org.nuiton.decorator.Decorator; +import org.nuiton.decorator.JXPathDecorator; import javax.swing.JLabel; import javax.swing.JList; +import javax.swing.JPanel; import javax.swing.JScrollPane; import java.awt.Dimension; import java.util.ArrayList; @@ -54,23 +57,22 @@ import static org.nuiton.i18n.I18n.t; */ public class UsagesUIHandler { - /** Logger */ - private static final Log log = LogFactory.getLog(UsagesUIHandler.class); - /** * Afficher les usages d'une entite donnee. * - * @param ui l'ui - * @param message le message a afficher en haut - * @param message2 message supplementaire a afficher en haut - * @param message3 message supplementaire a afficher en haut - * @param usages les utilisations de l'entite donnee + * @param ui l'ui + * @param message le message a afficher en haut + * @param message2 message supplementaire a afficher en haut + * @param message3 message supplementaire a afficher en haut + * @param usages les utilisations de l'entite donnee + * @param referenceList la liste optionnel des références possibles de remplacement */ public void initUI(UsagesUI ui, String message, String message2, String message3, - ReferenceMap usages) { + ReferenceMap usages, + List<AbstractReference> referenceList) { // toujours nettoyer l'ui avant tout cleanUI(ui); @@ -98,6 +100,25 @@ public class UsagesUIHandler { } } + + JPanel panel = ui.getReplacePanel(); + + if (CollectionUtils.isNotEmpty(referenceList)) { + + panel.setVisible(true); + AbstractReference reference = referenceList.get(0); + Class type = reference.getType(); + BeanComboBox<?> comboBox = ui.getReplace(); + comboBox.setBeanType(type); + comboBox.setI18nPrefix("observe.common."); + DecoratorService decoratorService = ObserveSwingApplicationContext.get().getDecoratorService(); + Decorator referenceDecorator = decoratorService.getReferenceDecorator(type); + + comboBox.init((JXPathDecorator) referenceDecorator, (List) referenceList); + + } else { + panel.setVisible(false); + } } } diff --git a/application-swing/src/main/resources/i18n/application-swing_en_GB.properties b/application-swing/src/main/resources/i18n/application-swing_en_GB.properties index cfa4eb7..36e3454 100644 --- a/application-swing/src/main/resources/i18n/application-swing_en_GB.properties +++ b/application-swing/src/main/resources/i18n/application-swing_en_GB.properties @@ -1470,8 +1470,9 @@ observe.message.referentiel.home=< Referential > observe.message.referentiel.no.editable=You are not allowed to edit referential. observe.message.select.report=Select a report observe.message.server.info=Local database %1$s is ready in server mode. -observe.message.show.usage.for.delete=Referential %1$s "%2$s" can not be deleted. +observe.message.show.usage.for.delete=Referential %1$s "%2$s" can be deleted if you choose a replacement. observe.message.show.usage.for.delete2=Some data are using this referential, see following references. +observe.message.show.usage.for.delete3=Choose a replacement reference to be able to delete. observe.message.show.usage.for.desactivated=Referential %1$s "%2$s" will be disabled. observe.message.show.usage.for.desactivated2=Some data are using this referential, see following reference observe.message.show.usage.for.desactivated3=Those data need to use another enabled referential to be saved. @@ -1698,6 +1699,8 @@ observe.type.setLongline.unsaved=New fishing operation observe.type.setSeine.unsaved=New set observe.type.tripLongline.unsaved=New trip observe.type.tripSeine.unsaved=New trip +observe.usage.replaceTitle=Replacement object +observe.usage.usageTitle=Founded references observe.validator.field.tip=Property '%1$s' observe.validator.message.tip=Message\: %1$s observe.validator.scope.tip=Message type\: '%1$s' diff --git a/application-swing/src/main/resources/i18n/application-swing_es_ES.properties b/application-swing/src/main/resources/i18n/application-swing_es_ES.properties index 375f23d..1f3c1e3 100644 --- a/application-swing/src/main/resources/i18n/application-swing_es_ES.properties +++ b/application-swing/src/main/resources/i18n/application-swing_es_ES.properties @@ -1470,8 +1470,9 @@ observe.message.referentiel.home=< Referencial > observe.message.referentiel.no.editable=No tiene permisos para editar el referencial. observe.message.select.report=Seleccione informe observe.message.server.info=Información modo servidor -observe.message.show.usage.for.delete=El referencial %1$s "%2$s" no se puede eliminar. +observe.message.show.usage.for.delete=El referencial %1$s "%2$s" no se puede eliminar. \#TODO observe.message.show.usage.for.delete2=Los objetos están usando actualmente las referencias que se enumeran a continuación. +observe.message.show.usage.for.delete3=Choose a replacement reference to be able to delete. \#TODO observe.message.show.usage.for.desactivated=El referencial %1$s "%2$s" se desactivará. observe.message.show.usage.for.desactivated2=Los objetos están usando actualmente las referencias que se enumeran a continuación.. observe.message.show.usage.for.desactivated3=Estos objetos deben usar otro referencial (no desactivado) para poder actualizarse. @@ -1698,6 +1699,8 @@ observe.type.setLongline.unsaved=Nuevo lance observe.type.setSeine.unsaved=Nuevo lance observe.type.tripLongline.unsaved=Nueva marea observe.type.tripSeine.unsaved=Nueva marea +observe.usage.replaceTitle=Objet de remplacement \#TODO +observe.usage.usageTitle=Références trouvées \#TODO observe.validator.field.tip=Propriedad '%1$s' observe.validator.message.tip=Mensaje \: %1$s observe.validator.scope.tip=Tipo de mensaje \: '%1$s' diff --git a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties index 16a0fd8..a688252 100644 --- a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties +++ b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties @@ -1470,8 +1470,9 @@ observe.message.referentiel.home=< Référentiel > observe.message.referentiel.no.editable=Vous n'êtes pas autorisé à éditer le référentiel. observe.message.select.report=Choisissez une requête observe.message.server.info=La base locale %1$s est démarrée en mode serveur. -observe.message.show.usage.for.delete=Le référentiel %1$s "%2$s" ne peut pas être supprimé. +observe.message.show.usage.for.delete=Le référentiel %1$s "%2$s" ne peut pas être supprimé sans effectuer au préalable un remplacement. observe.message.show.usage.for.delete2=Des objets utilisent actuellement cet entité dont les références sont citées plus bas. +observe.message.show.usage.for.delete3=Pour pouvoir supprimer l'objet, vous devez choisir une autre référence de remplacement. observe.message.show.usage.for.desactivated=Le référentiel %1$s "%2$s" va être désactivé. observe.message.show.usage.for.desactivated2=Des objets utilisent actuellement cet entité dont les références sont citées plus bas. observe.message.show.usage.for.desactivated3=Ces objets devront utiliser un autre référentiel (non désactivé) pour pouvoir être mis à jour. @@ -1698,6 +1699,8 @@ observe.type.setLongline.unsaved=Nouvelle opération de pêche observe.type.setSeine.unsaved=Nouvelle calée observe.type.tripLongline.unsaved=Nouvelle marée observe.type.tripSeine.unsaved=Nouvelle marée +observe.usage.replaceTitle=Objet de remplacement +observe.usage.usageTitle=Références trouvées observe.validator.field.tip=Propriété '%1$s' observe.validator.message.tip=Message \: %1$s observe.validator.scope.tip=Type de message \: '%1$s' diff --git a/application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java b/application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java index 0fdfe9b..76d4ff6 100644 --- a/application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java +++ b/application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java @@ -94,6 +94,11 @@ public class ReferentialServiceController extends ObserveAuthenticatedServiceCon } @Override + public <E extends ReferentialDto> void replaceReference(Class<E> beanType, String idToReplace, String replaceId) { + service.replaceReference(beanType, idToReplace, replaceId); + } + + @Override public <R extends ReferentialDto> ReferenceMap findAllUsages(R bean) throws DataNotFoundException { return service.findAllUsages(bean); } diff --git a/application-web/src/main/resources/mapping b/application-web/src/main/resources/mapping index e47165f..0435142 100644 --- a/application-web/src/main/resources/mapping +++ b/application-web/src/main/resources/mapping @@ -85,6 +85,7 @@ GET /api/v1/ReferentialService/loadForm GET /api/v1/ReferentialService/loadReference v1.ReferentialServiceController.loadReference GET /api/v1/ReferentialService/loadSpecies v1.ReferentialServiceController.loadSpecies GET /api/v1/ReferentialService/preCreate v1.ReferentialServiceController.preCreate +GET /api/v1/ReferentialService/replaceReference v1.ReferentialServiceController.replaceReference GET /api/v1/SqlScriptProducerService/produceAddSqlScript v1.SqlScriptProducerServiceController.produceAddSqlScript GET /api/v1/SqlScriptProducerService/produceDeleteSqlScript v1.SqlScriptProducerServiceController.produceDeleteSqlScript GET /api/v1/actions/synchro/referential/diff/ReferentialSynchronizeDiffService/getEnabledReferentialReferenceSet v1.actions.synchro.referential.diff.ReferentialSynchronizeDiffServiceController.getEnabledReferentialReferenceSet diff --git a/entities/src/main/java/fr/ird/observe/entities/seine/TripSeineTopiaDao.java b/entities/src/main/java/fr/ird/observe/entities/seine/TripSeineTopiaDao.java index b6df52e..b7c83d1 100644 --- a/entities/src/main/java/fr/ird/observe/entities/seine/TripSeineTopiaDao.java +++ b/entities/src/main/java/fr/ird/observe/entities/seine/TripSeineTopiaDao.java @@ -197,7 +197,7 @@ public class TripSeineTopiaDao extends AbstractTripSeineTopiaDao<TripSeine> { " p.firstName," + " v.topiaId, " + " v." + I18nReferenceEntities.getPropertyName(referenceLocale) + "," + - " select count(*) from observe_seine.route r where r.trip = t.topiaId" + + " (select count(*) from observe_seine.route r where r.trip = t.topiaId) as routeCount" + " FROM observe_seine.trip t, observe_common.person p, observe_common.vessel v,observe_common.program pr " + " WHERE " + " t.program = ?" + @@ -222,7 +222,7 @@ public class TripSeineTopiaDao extends AbstractTripSeineTopiaDao<TripSeine> { " p.firstName," + " v.topiaId," + " v." + I18nReferenceEntities.getPropertyName(referenceLocale) + "," + - " select count(*) from observe_seine.route r where r.trip = t.topiaId" + + " (select count(*) from observe_seine.route r where r.trip = t.topiaId) as routeCount" + " FROM observe_seine.trip t, observe_common.person p, observe_common.vessel v, observe_common.program pr" + " WHERE " + " t.topiaId = ?" + @@ -344,9 +344,7 @@ public class TripSeineTopiaDao extends AbstractTripSeineTopiaDao<TripSeine> { public static Date find(TopiaSqlSupport context, String tripId) { - String sql = "SELECT max(r.date)" + - " FROM observe_seine.route r" + - " WHERE r.trip = ?"; + String sql = "SELECT max(r.date) FROM observe_seine.route r WHERE r.trip = ?"; TheoricalEndOfDateSqlQuery request = new TheoricalEndOfDateSqlQuery(sql, tripId); return context.findSingleResult(request); diff --git a/services-dto/src/main/java/fr/ird/observe/services/dto/reference/DataReferenceSetDefinitions.java b/services-dto/src/main/java/fr/ird/observe/services/dto/reference/DataReferenceSetDefinitions.java index 4b29461..48a19a0 100644 --- a/services-dto/src/main/java/fr/ird/observe/services/dto/reference/DataReferenceSetDefinitions.java +++ b/services-dto/src/main/java/fr/ird/observe/services/dto/reference/DataReferenceSetDefinitions.java @@ -70,7 +70,7 @@ public enum DataReferenceSetDefinitions { .addProperty(Date.class, TripSeineDto.PROPERTY_START_DATE) .addProperty(Date.class, TripSeineDto.PROPERTY_END_DATE) .addProperty(String.class, TripSeineDto.PROPERTY_PROGRAM + "Id") - .addProperty(String.class, TripSeineDto.PROPERTY_ROUTE_COUNT) + .addProperty(int.class, TripSeineDto.PROPERTY_ROUTE_COUNT) .addProperty(String.class, TripSeineDto.PROPERTY_VESSEL) .addProperty(String.class, TripSeineDto.PROPERTY_OBSERVER)), diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/ReferentialServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/ReferentialServiceTopia.java index f04a9b3..12663db 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/ReferentialServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/ReferentialServiceTopia.java @@ -25,6 +25,7 @@ package fr.ird.observe.services.topia.service; import com.google.common.base.Joiner; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; +import fr.ird.observe.ObserveEntityEnum; import fr.ird.observe.entities.EntityMap; import fr.ird.observe.entities.constants.ReferenceStatusPersist; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; @@ -47,10 +48,12 @@ import fr.ird.observe.services.service.ReferenceSetsRequest; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.services.topia.ObserveServiceTopia; import fr.ird.observe.services.topia.binder.referential.ReferentialBinderSupport; +import fr.ird.observe.services.topia.service.actions.synchro.referential.sql.ReplaceSqlStatementGenerator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.TopiaDao; import org.nuiton.topia.persistence.TopiaEntity; +import org.nuiton.topia.persistence.metadata.TopiaMetadataModel; import java.util.Collection; import java.util.Collections; @@ -211,6 +214,27 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe } @Override + public <E extends ReferentialDto> void replaceReference(Class<E> beanType, String idToReplace, String replaceId) { + if (log.isTraceEnabled()) { + log.trace("replaceReference(" + beanType.getName() + ", " + idToReplace + "," + replaceId + ")"); + } + Class<ObserveReferentialEntity> entityType = getReferentialEntityType(beanType); + ObserveEntityEnum entityEnum = ObserveEntityEnum.valueOf(entityType); + + TopiaMetadataModel metadataModel = serviceContext.getTopiaApplicationContext().getMetadataModel(); + + ReplaceSqlStatementGenerator<E> generator = new ReplaceSqlStatementGenerator<E>(metadataModel, entityEnum.name()); + + String sql = generator.generateSql(idToReplace, replaceId); + + if (log.isInfoEnabled()) { + log.info("Replace sql code:\n" + sql); + } + getTopiaPersistenceContext().executeSqlScript(sql.getBytes()); + + } + + @Override public <R extends ReferentialDto> ReferenceMap findAllUsages(R bean) throws DataNotFoundException { if (log.isTraceEnabled()) { log.trace("findAllUsages(" + bean.getId() + ")"); diff --git a/services/src/main/java/fr/ird/observe/services/service/ReferentialService.java b/services/src/main/java/fr/ird/observe/services/service/ReferentialService.java index 5f94e4e..0935387 100644 --- a/services/src/main/java/fr/ird/observe/services/service/ReferentialService.java +++ b/services/src/main/java/fr/ird/observe/services/service/ReferentialService.java @@ -24,8 +24,8 @@ package fr.ird.observe.services.service; import com.google.common.collect.ImmutableSet; import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.ReferenceMap; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.ReferenceMap; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; @@ -36,6 +36,7 @@ import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.ReadDataPermission; import fr.ird.observe.services.spi.ReadReferentialPermission; import fr.ird.observe.services.spi.Write; +import fr.ird.observe.services.spi.WriteDataPermission; import fr.ird.observe.services.spi.WriteReferentialPermission; import java.util.Collection; @@ -52,7 +53,7 @@ public interface ReferentialService extends ObserveService { <R extends ReferentialDto> ReferentialReferenceSet<R> getReferenceSet(Class<R> type, Date lastUpdateDate); @ReadReferentialPermission - ImmutableSet<ReferentialReferenceSet<?>> getReferentialReferenceSets(ReferenceSetsRequest request); + ImmutableSet<ReferentialReferenceSet<?>> getReferentialReferenceSets(ReferenceSetsRequest request); //FIXME charger cela dans le cache côté applicatif @ReadReferentialPermission @@ -82,6 +83,11 @@ public interface ReferentialService extends ObserveService { @DeleteRequest <R extends ReferentialDto> void delete(Class<R> type, Collection<String> ids) throws DataNotFoundException; + @WriteReferentialPermission + @WriteDataPermission + @Write + <E extends ReferentialDto> void replaceReference(Class<E> beanType, String idToReplace, String replaceId); + @ReadReferentialPermission @ReadDataPermission <R extends ReferentialDto> ReferenceMap findAllUsages(R bean) throws DataNotFoundException; @@ -89,4 +95,5 @@ public interface ReferentialService extends ObserveService { @ReadReferentialPermission @ReadDataPermission <R extends ReferentialDto> boolean exists(Class<R> type, String id); + } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 389f44185d7fa310bb9aeb636771e7c5b9936756 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 14:53:28 2016 +0200 Ajout du type de marée LL --- .../entities/longline/TripLonglineTopiaDao.java | 22 ++++++++++++++++------ .../dto/reference/DataReferenceSetDefinitions.java | 1 + .../topia/binder/data/TripLonglineBinder.java | 2 ++ 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java b/entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java index 86f875f..ae0e43f 100644 --- a/entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java +++ b/entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java @@ -33,6 +33,8 @@ import fr.ird.observe.entities.referentiel.Program; import fr.ird.observe.entities.referentiel.ProgramImpl; import fr.ird.observe.entities.referentiel.Vessel; import fr.ird.observe.entities.referentiel.VesselImpl; +import fr.ird.observe.entities.referentiel.longline.TripType; +import fr.ird.observe.entities.referentiel.longline.TripTypeImpl; import org.nuiton.topia.persistence.support.TopiaSqlQuery; import org.nuiton.topia.persistence.support.TopiaSqlSupport; import org.nuiton.util.DateUtil; @@ -251,14 +253,16 @@ public class TripLonglineTopiaDao extends AbstractTripLonglineTopiaDao<TripLongl " t.startDate," + " t.endDate," + " pr.topiaId," + + " tt.topiaId," + " p.lastName," + " p.firstName," + " v.topiaId," + " v." + I18nReferenceEntities.getPropertyName(referenceLocale) + - " FROM observe_longline.trip t, observe_common.person p, observe_common.vessel v, observe_common.program pr" + + " FROM observe_longline.trip t, observe_common.person p, observe_common.vessel v, observe_common.program pr, observe_longline.triptype tt" + " WHERE " + " t.program = ?" + " AND t.program = pr.topiaId" + + " AND t.tripType = tt.topiaId" + " AND t.observer = p.topiaId" + " AND t.vessel = v.topiaId" + " ORDER BY t.endDate"; @@ -275,14 +279,16 @@ public class TripLonglineTopiaDao extends AbstractTripLonglineTopiaDao<TripLongl " t.startDate," + " t.endDate," + " pr.topiaId," + + " tt.topiaId," + " p.lastName," + " p.firstName," + " v.topiaId," + " v." + I18nReferenceEntities.getPropertyName(referenceLocale) + - " FROM observe_longline.trip t, observe_common.person p, observe_common.vessel v, observe_common.program pr" + + " FROM observe_longline.trip t, observe_common.person p, observe_common.vessel v, observe_common.program pr, observe_longline.triptype tt" + " WHERE " + " t.topiaId = ?" + " AND t.program = pr.topiaId" + + " AND t.tripType = tt.topiaId" + " AND t.observer = p.topiaId" + " AND t.vessel = v.topiaId" + " ORDER BY t.endDate"; @@ -311,17 +317,21 @@ public class TripLonglineTopiaDao extends AbstractTripLonglineTopiaDao<TripLongl program.setTopiaId(set.getString(4)); trip.setProgram(program); - String observerLastName = set.getString(5); - String observerFirstName = set.getString(6); + TripType tripType = new TripTypeImpl(); + tripType.setTopiaId(set.getString(5)); + trip.setTripType(tripType); + + String observerLastName = set.getString(6); + String observerFirstName = set.getString(7); Person observer = new PersonImpl(); observer.setFirstName(observerFirstName); observer.setLastName(observerLastName); trip.setObserver(observer); Vessel vessel = new VesselImpl(); - String vesselId = set.getString(7); + String vesselId = set.getString(8); vessel.setTopiaId(vesselId); - String label = set.getString(8); + String label = set.getString(9); I18nReferenceEntities.setLabel(referenceLocale, vessel, label); trip.setVessel(vessel); diff --git a/services-dto/src/main/java/fr/ird/observe/services/dto/reference/DataReferenceSetDefinitions.java b/services-dto/src/main/java/fr/ird/observe/services/dto/reference/DataReferenceSetDefinitions.java index 48a19a0..6bd788d 100644 --- a/services-dto/src/main/java/fr/ird/observe/services/dto/reference/DataReferenceSetDefinitions.java +++ b/services-dto/src/main/java/fr/ird/observe/services/dto/reference/DataReferenceSetDefinitions.java @@ -128,6 +128,7 @@ public enum DataReferenceSetDefinitions { .addProperty(Date.class, TripLonglineDto.PROPERTY_START_DATE) .addProperty(Date.class, TripLonglineDto.PROPERTY_END_DATE) .addProperty(String.class, TripLonglineDto.PROPERTY_PROGRAM + "Id") + .addProperty(String.class, TripLonglineDto.PROPERTY_TRIP_TYPE + "Id") .addProperty(String.class, TripLonglineDto.PROPERTY_VESSEL) .addProperty(String.class, TripLonglineDto.PROPERTY_OBSERVER)), diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/TripLonglineBinder.java b/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/TripLonglineBinder.java index 7e216da..8fa58ec 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/TripLonglineBinder.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/TripLonglineBinder.java @@ -104,6 +104,7 @@ public class TripLonglineBinder extends DataBinderSupport<TripLongline, TripLong entity.getStartDate(), entity.getEndDate(), entity.getProgram().getTopiaId(), + entity.getTripType().getTopiaId(), getLabel(referentialLocale, entity.getVessel()), entity.getObserverLabel()); @@ -116,6 +117,7 @@ public class TripLonglineBinder extends DataBinderSupport<TripLongline, TripLong dto.getStartDate(), dto.getEndDate(), dto.getProgram().getId(), + dto.getTripType().getId(), getLabel(referentialLocale, dto.getVessel()), PersonHelper.getNames(dto.getObserver())); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit cabd563ef3021707c45833bf75a1076cb3f02b40 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 14:54:05 2016 +0200 amélioration de l'algorithme de détection du nœud trip --- .../application/swing/ui/content/open/ContentOpenableUIHandler.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/ContentOpenableUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/ContentOpenableUIHandler.java index 3be7f7e..7f227f3 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/ContentOpenableUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/ContentOpenableUIHandler.java @@ -326,9 +326,9 @@ public abstract class ContentOpenableUIHandler<E extends IdDto> extends ContentU } ObserveTreeHelper treeHelper = getTreeHelper(getUi()); - ObserveNode tripNode = treeHelper.getSelectedNode().getParent().getParent(); - if (tripNode instanceof ProgramSeineNode || tripNode instanceof ProgramLonglineNode) { - tripNode = treeHelper.getSelectedNode().getParent(); + ObserveNode tripNode = treeHelper.getSelectedNode(); + while (!(tripNode instanceof ProgramSeineNode || tripNode instanceof ProgramLonglineNode)) { + tripNode = tripNode.getParent(); } if (log.isInfoEnabled()) { log.info("Refresh trip node : " + tripNode); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 576bc1d13706ec52c0bd31c4addf3cb639a8a1a1 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 14:54:48 2016 +0200 Conditionner l'utilisation selon le type de marée (LL) --- .../table/impl/longline/CatchLonglineUI.jcss | 1 - .../impl/longline/CatchLonglineUIHandler.java | 38 +++++++++++++++++----- 2 files changed, 30 insertions(+), 9 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUI.jcss index 5b6069d..0bb7962 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUI.jcss @@ -155,7 +155,6 @@ #hookWhenDiscarded { _tablePropertyName:{CatchLonglineDto.PROPERTY_HOOK_WHEN_DISCARDED}; - _propertyName:{CatchLonglineDto.PROPERTY_HOOK_WHEN_DISCARDED}; booleanValue:{tableEditBean.getHookWhenDiscarded()}; } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUIHandler.java index bf75e79..9d06255 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUIHandler.java @@ -33,6 +33,9 @@ import fr.ird.observe.application.swing.ui.content.ContentUIInitializer; import fr.ird.observe.application.swing.ui.content.ContentUIModel; import fr.ird.observe.application.swing.ui.content.table.ContentTableModel; import fr.ird.observe.application.swing.ui.content.table.ContentTableUIHandler; +import fr.ird.observe.application.swing.ui.tree.ObserveTreeHelper; +import fr.ird.observe.application.swing.ui.tree.node.ObserveNode; +import fr.ird.observe.application.swing.ui.tree.node.TripLonglineNode; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BasketDto; @@ -43,6 +46,7 @@ import fr.ird.observe.services.dto.longline.SectionDto; import fr.ird.observe.services.dto.longline.SetLonglineCatchDto; import fr.ird.observe.services.dto.longline.SetLonglineCatchHelper; import fr.ird.observe.services.dto.longline.SizeMeasureDto; +import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.longline.WeightMeasureDto; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; @@ -111,6 +115,8 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat private final JAXXContextEntryDef<LonglinePositionHelper<CatchLonglineDto>> POSITION_HELPER_ENTRY = UIHelper.newContextEntryDef("CatchLonglineUI-positionHelper", LonglinePositionHelper.class); + private static final String GROUPED_TRIP_TYPE_ID = "fr.ird.observe.entities.referentiel.longline.TripType#1239832686136#0.1"; + public CatchLonglineUIHandler(CatchLonglineUI ui) { super(ui, DataContextType.SetLongline); computeTabValidStateListener = e -> { @@ -119,7 +125,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat computeTabValidState(source); }; - catchFateChanged = evt -> onCatchFateChanged((ReferentialReference<CatchFateLonglineDto>) evt.getNewValue(), (CatchLonglineDto) evt.getSource()); + catchFateChanged = evt -> onCatchFateChanged((ReferentialReference<CatchFateLonglineDto>) evt.getNewValue()); branchlineChanged = evt -> onBranchlineChanged((DataReference<BranchlineDto>) evt.getNewValue()); weightTableModelModified = evt -> onWeightTableModelModified((Boolean) evt.getNewValue()); sizeTableModelModified = evt -> onSizeTableModelModified((Boolean) evt.getNewValue()); @@ -406,14 +412,28 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat JComponent requestFocus; + CatchAcquisitionModeEnum acquisitionModeEnum; + if (tableModel.isCreate()) { // go back to first pane ui.getFishingOperationTabPane().setSelectedIndex(0); // select by default individual acquisition mode - ui.getAcquisitionModeGroup().setSelectedValue(null); - ui.getAcquisitionModeGroup().setSelectedValue(CatchAcquisitionModeEnum.INDIVIDUAL); + String openTripLonglineId = getDataContext().getOpenTripLonglineId(); + + ObserveTreeHelper treeHelper = ObserveSwingApplicationContext.get().getMainUI().getTreeHelper(); + ObserveNode selectedNode = treeHelper.getSelectedNode(); + while (!(selectedNode instanceof TripLonglineNode)) { + selectedNode = selectedNode.getParent(); + } + DataReference<TripLonglineDto> tripReference = ((TripLonglineNode) selectedNode).getEntity(); + String tripTypeId = (String) tripReference.getPropertyValue(TripLonglineDto.PROPERTY_TRIP_TYPE + "Id"); + if (log.isInfoEnabled()) { + log.info("Use tripId: " + tripTypeId); + } + acquisitionModeEnum = GROUPED_TRIP_TYPE_ID.equals(tripTypeId) + ? CatchAcquisitionModeEnum.GROUPED : CatchAcquisitionModeEnum.INDIVIDUAL; ui.getPredator().setEnabled(false); ui.getHookWhenDiscarded().setEnabled(false); @@ -426,11 +446,10 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat } else { int acquisitionMode = bean.getAcquisitionMode(); - CatchAcquisitionModeEnum enumValue = CatchAcquisitionModeEnum.valueOf(acquisitionMode); - ui.getAcquisitionModeGroup().setSelectedValue(null); - ui.getAcquisitionModeGroup().setSelectedValue(enumValue); - if (enumValue.equals(CatchAcquisitionModeEnum.GROUPED)) { + acquisitionModeEnum = CatchAcquisitionModeEnum.valueOf(acquisitionMode); + + if (acquisitionModeEnum.equals(CatchAcquisitionModeEnum.GROUPED)) { requestFocus = ui.getCount(); @@ -445,6 +464,9 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat } + ui.getAcquisitionModeGroup().setSelectedValue(null); + ui.getAcquisitionModeGroup().setSelectedValue(acquisitionModeEnum); + bean.removePropertyChangeListener(CatchLonglineDto.PROPERTY_CATCH_FATE_LONGLINE, catchFateChanged); bean.addPropertyChangeListener(CatchLonglineDto.PROPERTY_CATCH_FATE_LONGLINE, catchFateChanged); @@ -717,7 +739,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat } - protected void onCatchFateChanged(ReferentialReference<CatchFateLonglineDto> newValue, CatchLonglineDto tableEditBean) { + protected void onCatchFateChanged(ReferentialReference<CatchFateLonglineDto> newValue) { CatchLonglineUI ui = getUi(); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 99a247193bd91406cffb5aac01ba3e1742ebf1a2 Merge: 560313e 576bc1d Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 14:54:53 2016 +0200 [LL] Mode de saisie des captures 'groupé' par défaut dans le cas d'une marée auto-échantillonnage (Fixes #7889) Merge branch 'feature/7889' into develop .../ui/content/open/ContentOpenableUIHandler.java | 6 ++-- .../table/impl/longline/CatchLonglineUI.jcss | 1 - .../impl/longline/CatchLonglineUIHandler.java | 38 +++++++++++++++++----- .../entities/longline/TripLonglineTopiaDao.java | 22 +++++++++---- .../dto/reference/DataReferenceSetDefinitions.java | 1 + .../topia/binder/data/TripLonglineBinder.java | 2 ++ 6 files changed, 52 insertions(+), 18 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit ca01bdd44d69557e941217b5e9b61b95157c1c15 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 15:41:57 2016 +0200 fix tests --- .../observe/application/swing/validation/BeanValidatorDetectorTest.java | 2 +- .../fr/ird/observe/services/topia/binder/BinderEngineMetadataTest.java | 2 +- .../services/service/actions/report/observe-reports-test.properties | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/application-swing-validation/src/test/java/fr/ird/observe/application/swing/validation/BeanValidatorDetectorTest.java b/application-swing-validation/src/test/java/fr/ird/observe/application/swing/validation/BeanValidatorDetectorTest.java index 281bff7..bfd5ac4 100644 --- a/application-swing-validation/src/test/java/fr/ird/observe/application/swing/validation/BeanValidatorDetectorTest.java +++ b/application-swing-validation/src/test/java/fr/ird/observe/application/swing/validation/BeanValidatorDetectorTest.java @@ -274,7 +274,7 @@ public class BeanValidatorDetectorTest extends AbstractValidatorDetectorTest { SortedSet<NuitonValidator<?>> validators = detectValidators(ALL_TYPES); assertFalse(validators.isEmpty()); - assertEquals(176, validators.size()); + assertEquals(175, validators.size()); } diff --git a/services-topia/src/test/java/fr/ird/observe/services/topia/binder/BinderEngineMetadataTest.java b/services-topia/src/test/java/fr/ird/observe/services/topia/binder/BinderEngineMetadataTest.java index 30a72ec..2251851 100644 --- a/services-topia/src/test/java/fr/ird/observe/services/topia/binder/BinderEngineMetadataTest.java +++ b/services-topia/src/test/java/fr/ird/observe/services/topia/binder/BinderEngineMetadataTest.java @@ -103,7 +103,7 @@ public class BinderEngineMetadataTest { ImmutableMap<Class<? extends DataDto>, Class<? extends ObserveDataEntity>> dataDtoToEntityTypes = binderEngine.getDataDtoToEntityTypes(); Assert.assertNotNull(dataDtoToEntityTypes); - Assert.assertEquals(57, dataDtoToEntityTypes.size()); + Assert.assertEquals(56, dataDtoToEntityTypes.size()); Set<Class<? extends ObserveDataEntity>> entityTypesFromEngine = Sets.newConcurrentHashSet(dataDtoToEntityTypes.values()); Set<Class<? extends ObserveDataEntity>> dataEntityTypesFromTopia = getDataEntityTypesFromTopia(); diff --git a/services/src/test/resources/fr/ird/observe/services/service/actions/report/observe-reports-test.properties b/services/src/test/resources/fr/ird/observe/services/service/actions/report/observe-reports-test.properties index 061de75..490841c 100644 --- a/services/src/test/resources/fr/ird/observe/services/service/actions/report/observe-reports-test.properties +++ b/services/src/test/resources/fr/ird/observe/services/service/actions/report/observe-reports-test.properties @@ -23,6 +23,7 @@ ## Rapport 1 : ################################################################################ +report.reportOne.modelType=PS report.reportOne.name=Rapport num\u00e9ro 1 report.reportOne.description=Description du rapport num\u00e9ro 1 report.reportOne.columns=Colonne 1, Colonne 2, Colonne 3, Derni\u00e8re colonne @@ -33,6 +34,7 @@ report.reportOne.request.1=0,0|row|\ ## Rapport 2 : ################################################################################ +report.reportTwo.modelType=PS report.reportTwo.name=Rapport num\u00e9ro 2 report.reportTwo.description=Description du rapport num\u00e9ro 2 report.reportTwo.columns=Colonne 1, Colonne 2, Colonne 3, Avant derni\u00e8re colonne, Total -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 4f556bc64caf86dc8461bd6c2e487b22c8907156 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 15:39:57 2016 +0200 Passage en modèle 5.1 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 430e4c1..7457318 100644 --- a/pom.xml +++ b/pom.xml @@ -202,7 +202,7 @@ <devMode>true</devMode> <!--Modèle version--> - <observe.model.version>5.0</observe.model.version> + <observe.model.version>5.1</observe.model.version> </properties> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 3a0995b6ef1d8c56e1858cd520429ef3a7348f01 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 15:40:34 2016 +0200 Suppression SetSeine.sonarUsed (persistence) --- .../ObserveMigrationConfigurationProviderImpl.java | 3 +- .../DataSourceMigrationForVersion_5_1.java | 52 +++++++++++++++++++++ .../V_5_1_01_evol_8374_delete_sonarUsed-H2.sql | 1 + .../V_5_1_01_evol_8374_delete_sonarUsed-PG.sql | 1 + entities/src/main/xmi/observe-seine.zargo | Bin 83418 -> 83339 bytes 5 files changed, 56 insertions(+), 1 deletion(-) diff --git a/entities-migration/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationConfigurationProviderImpl.java b/entities-migration/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationConfigurationProviderImpl.java index 21734d4..7a993f8 100644 --- a/entities-migration/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationConfigurationProviderImpl.java +++ b/entities-migration/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationConfigurationProviderImpl.java @@ -67,7 +67,8 @@ public final class ObserveMigrationConfigurationProviderImpl extends ObserveMigr V_4_904("4.904"), V_4_905("4.905"), V_4_906("4.906"), - V_5_0("5.0"); + V_5_0("5.0"), + V_5_1("5.1"); private final Version version; diff --git a/entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_1.java b/entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_1.java new file mode 100644 index 0000000..bc7acd5 --- /dev/null +++ b/entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_1.java @@ -0,0 +1,52 @@ +package fr.ird.observe.entities.migration.versions; + +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; + +import java.util.List; + +/** + * Created on 27/10/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.1 + */ +public class DataSourceMigrationForVersion_5_1 extends AbstractObserveMigrationCallBack { + + + public DataSourceMigrationForVersion_5_1(AbstractDataSourceMigration callBack, String scriptSuffix) { + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_5_1.getVersion(), callBack, scriptSuffix); + } + + @Override + protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, + List<String> queries, + boolean showSql, + boolean showProgression) { + + addScript("01", "evol_8374_delete_sonarUsed", queries); + + } + + public static class H2DataSourceMigrationForVersion extends DataSourceMigrationForVersion_5_1 { + + public H2DataSourceMigrationForVersion(AbstractDataSourceMigration callBack) { + super(callBack, H2DataSourceMigration.TYPE); + } + + } + + public static class PGDataSourceMigrationForVersion extends DataSourceMigrationForVersion_5_1 { + + public PGDataSourceMigrationForVersion(AbstractDataSourceMigration callBack) { + super(callBack, PGDataSourceMigration.TYPE); + } + + } + +} + diff --git a/entities-migration/src/main/resources/db/migration/V_5_1_01_evol_8374_delete_sonarUsed-H2.sql b/entities-migration/src/main/resources/db/migration/V_5_1_01_evol_8374_delete_sonarUsed-H2.sql new file mode 100644 index 0000000..883b446 --- /dev/null +++ b/entities-migration/src/main/resources/db/migration/V_5_1_01_evol_8374_delete_sonarUsed-H2.sql @@ -0,0 +1 @@ +ALTER TABLE observe_seine."SET" DROP COLUMN sonarUsed; \ No newline at end of file diff --git a/entities-migration/src/main/resources/db/migration/V_5_1_01_evol_8374_delete_sonarUsed-PG.sql b/entities-migration/src/main/resources/db/migration/V_5_1_01_evol_8374_delete_sonarUsed-PG.sql new file mode 100644 index 0000000..883b446 --- /dev/null +++ b/entities-migration/src/main/resources/db/migration/V_5_1_01_evol_8374_delete_sonarUsed-PG.sql @@ -0,0 +1 @@ +ALTER TABLE observe_seine."SET" DROP COLUMN sonarUsed; \ No newline at end of file diff --git a/entities/src/main/xmi/observe-seine.zargo b/entities/src/main/xmi/observe-seine.zargo index 1184998..16d49a5 100644 Binary files a/entities/src/main/xmi/observe-seine.zargo and b/entities/src/main/xmi/observe-seine.zargo differ -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 95551710c0235a7a70763ab0df7b60383d4b0698 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 15:41:40 2016 +0200 Suppression SetSeine.sonarUsed (service) --- .../src/main/xmi/observe-services-dto-seine.zargo | Bin 58913 -> 58859 bytes .../services/topia/binder/data/SetSeineBinder.java | 2 -- 2 files changed, 2 deletions(-) diff --git a/services-dto/src/main/xmi/observe-services-dto-seine.zargo b/services-dto/src/main/xmi/observe-services-dto-seine.zargo index 10d1a35..375568b 100644 Binary files a/services-dto/src/main/xmi/observe-services-dto-seine.zargo and b/services-dto/src/main/xmi/observe-services-dto-seine.zargo differ diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/SetSeineBinder.java b/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/SetSeineBinder.java index efb6d8e..4fecada 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/SetSeineBinder.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/SetSeineBinder.java @@ -54,7 +54,6 @@ public class SetSeineBinder extends DataBinderSupport<SetSeine, SetSeineDto> { entity.setSchoolTopDepth(dto.getSchoolTopDepth()); entity.setSchoolMeanDepth(dto.getSchoolMeanDepth()); entity.setSchoolThickness(dto.getSchoolThickness()); - entity.setSonarUsed(dto.isSonarUsed()); entity.setSupportVesselName(dto.getSupportVesselName()); entity.setTargetDiscarded(dto.getTargetDiscarded()); entity.setNonTargetDiscarded(dto.getNonTargetDiscarded()); @@ -79,7 +78,6 @@ public class SetSeineBinder extends DataBinderSupport<SetSeine, SetSeineDto> { dto.setSchoolTopDepth(entity.getSchoolTopDepth()); dto.setSchoolMeanDepth(entity.getSchoolMeanDepth()); dto.setSchoolThickness(entity.getSchoolThickness()); - dto.setSonarUsed(entity.isSonarUsed()); dto.setSupportVesselName(entity.getSupportVesselName()); dto.setTargetDiscarded(entity.getTargetDiscarded()); dto.setNonTargetDiscarded(entity.getNonTargetDiscarded()); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit d50cb7ea608d6673aff10f9eb18bb0477fd476d5 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 15:41:44 2016 +0200 Suppression SetSeine.sonarUsed (ui) --- .../application/swing/ui/content/impl/seine/SetSeineUI.jaxx | 5 ----- .../application/swing/ui/content/impl/seine/SetSeineUI.jcss | 7 ------- .../application/swing/ui/content/impl/seine/SetSeineUIHandler.java | 1 - .../application/swing/ui/content/impl/seine/SetSeineUIModel.java | 5 ++--- 4 files changed, 2 insertions(+), 16 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/SetSeineUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/SetSeineUI.jaxx index 441a2cc..1ced60b 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/SetSeineUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/SetSeineUI.jaxx @@ -203,11 +203,6 @@ <NumberEditor id='maxGearDepth' constructorParams='this'/> </cell> </row> - <row> - <cell columns='2' anchor="west"> - <JCheckBox id='sonarUsed'/> - </cell> - </row> </Table> </cell> </row> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/SetSeineUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/SetSeineUI.jcss index ebb6b08..c363595 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/SetSeineUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/SetSeineUI.jcss @@ -214,13 +214,6 @@ _validatorLabel:{t("observe.content.setSeine.maxGearDepth")}; } -#sonarUsed { - _propertyName:{SetSeineDto.PROPERTY_SONAR_USED}; - text:"observe.content.setSeine.sonarUsed"; - selected:{bean.isSonarUsed()}; - _validatorLabel:{t("observe.content.setSeine.sonarUsed")}; -} - #delete { _toolTipText:{t("observe.action.delete.set.tip")}; } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/SetSeineUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/SetSeineUIHandler.java index 7c4ee3b..ddc0df5 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/SetSeineUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/SetSeineUIHandler.java @@ -225,7 +225,6 @@ public class SetSeineUIHandler extends ContentUIHandler<SetSeineDto> { SetSeineUI.BINDING_CURRENT_SPEED_MODEL, SetSeineUI.BINDING_CURRENT_DIRECTION_MODEL, SetSeineUI.BINDING_REASON_FOR_NULL_SET_SELECTED_ITEM, - SetSeineUI.BINDING_SONAR_USED_SELECTED, SetSeineUI.BINDING_CURRENT_SPEED_MODEL, SetSeineUI.BINDING_NON_TARGET_DISCARDED_BOOLEAN_VALUE, SetSeineUI.BINDING_TARGET_DISCARDED_BOOLEAN_VALUE, diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/SetSeineUIModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/SetSeineUIModel.java index 35490ec..df22976 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/SetSeineUIModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/SetSeineUIModel.java @@ -23,8 +23,8 @@ package fr.ird.observe.application.swing.ui.content.impl.seine; */ import com.google.common.collect.ImmutableSet; -import fr.ird.observe.services.dto.seine.SetSeineDto; import fr.ird.observe.application.swing.ui.content.ContentUIModel; +import fr.ird.observe.services.dto.seine.SetSeineDto; import java.util.Set; @@ -57,8 +57,7 @@ public class SetSeineUIModel extends ContentUIModel<SetSeineDto> { SetSeineDto.PROPERTY_CURRENT_SPEED, SetSeineDto.PROPERTY_CURRENT_DIRECTION, SetSeineDto.PROPERTY_CURRENT_MEASURE_DEPTH, - SetSeineDto.PROPERTY_MAX_GEAR_DEPTH, - SetSeineDto.PROPERTY_SONAR_USED).build(); + SetSeineDto.PROPERTY_MAX_GEAR_DEPTH).build(); private static final long serialVersionUID = 1L; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 521a65e3787294ae6d2efc1744cbc2e1ef3f2e92 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 15:44:44 2016 +0200 clean i18n --- .../main/resources/i18n/application-swing-decoration_en_GB.properties | 4 ---- .../main/resources/i18n/application-swing-decoration_es_ES.properties | 4 ---- .../main/resources/i18n/application-swing-decoration_fr_FR.properties | 4 ---- .../main/resources/i18n/application-swing-validation_en_GB.properties | 2 -- .../main/resources/i18n/application-swing-validation_es_ES.properties | 2 -- .../main/resources/i18n/application-swing-validation_fr_FR.properties | 2 -- .../src/main/resources/i18n/application-swing_en_GB.properties | 2 -- .../src/main/resources/i18n/application-swing_es_ES.properties | 2 -- .../src/main/resources/i18n/application-swing_fr_FR.properties | 2 -- 9 files changed, 24 deletions(-) diff --git a/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_en_GB.properties b/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_en_GB.properties index bcd9f8c..479728a 100644 --- a/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_en_GB.properties +++ b/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_en_GB.properties @@ -19,8 +19,6 @@ observe.common.ocean/label7=Ocean observe.common.ocean/label8=Ocean observe.common.program=Program observe.common.scientificLabel=Scientific label -observe.common.setLongline=Set -observe.common.setSeine=Set observe.common.settingIdentifier=Setting observe.common.sex=Sex observe.common.species/scientificLabel=Scientific label @@ -47,8 +45,6 @@ observe.type.activityLonglineSensorUsed=Sensor used observe.type.activityLonglineSensorUseds=Sensors used observe.type.activityLonglines=Activitys observe.type.activitySeine=Activity -observe.type.activitySeineObservedSystem=Observed system -observe.type.activitySeineObservedSystems=Observeds system observe.type.activitySeines=Activitys observe.type.baitHaulingStatus=Bait hauling status observe.type.baitHaulingStatuses=Baits hauling status diff --git a/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_es_ES.properties b/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_es_ES.properties index 209d731..d44dbe6 100644 --- a/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_es_ES.properties +++ b/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_es_ES.properties @@ -19,8 +19,6 @@ observe.common.ocean/label7=Oceano observe.common.ocean/label8=Oceano observe.common.program=Programa observe.common.scientificLabel=Título científico -observe.common.setLongline=Operación de pesca -observe.common.setSeine=Lance observe.common.settingIdentifier=Calada observe.common.sex=Sexo observe.common.species/scientificLabel=Especie @@ -47,8 +45,6 @@ observe.type.activityLonglineSensorUsed=Sensor utilizado observe.type.activityLonglineSensorUseds=Sensores utilizados observe.type.activityLonglines=Actividades observe.type.activitySeine=Actividad -observe.type.activitySeineObservedSystem=Sistema observado -observe.type.activitySeineObservedSystems=Sistemas observados observe.type.activitySeines=Actividades observe.type.baitHaulingStatus=Estatuto del cebo en el arrastre observe.type.baitHaulingStatuses=Estatutos del cebo en el arrastre diff --git a/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_fr_FR.properties b/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_fr_FR.properties index e0071fb..f77afac 100644 --- a/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_fr_FR.properties +++ b/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_fr_FR.properties @@ -19,8 +19,6 @@ observe.common.ocean/label7=Océan observe.common.ocean/label8=Océan observe.common.program=Programme observe.common.scientificLabel=Libellé scientifique -observe.common.setLongline=Opération de pêche -observe.common.setSeine=Calée observe.common.settingIdentifier=Filage observe.common.sex=Sexe observe.common.species/scientificLabel=Espèce @@ -47,8 +45,6 @@ observe.type.activityLonglineSensorUsed=Sonde utilisée observe.type.activityLonglineSensorUseds=Sondes utilisées observe.type.activityLonglines=Activités observe.type.activitySeine=Activité -observe.type.activitySeineObservedSystem=Système observé -observe.type.activitySeineObservedSystems=Systèmes observés observe.type.activitySeines=Activités observe.type.baitHaulingStatus=Statut de l'appât au virage observe.type.baitHaulingStatuses=Statuts de l'appât au virage diff --git a/application-swing-validation/src/main/resources/i18n/application-swing-validation_en_GB.properties b/application-swing-validation/src/main/resources/i18n/application-swing-validation_en_GB.properties index 342d9ea..961e673 100644 --- a/application-swing-validation/src/main/resources/i18n/application-swing-validation_en_GB.properties +++ b/application-swing-validation/src/main/resources/i18n/application-swing-validation_en_GB.properties @@ -116,7 +116,6 @@ observe.common.objectOperation=Object operation observe.common.objectType=Object type observe.common.observedSystem=Observed system observe.common.observedSystemDistance=Observed system distance -observe.common.observedSystemEmpty=Observed system empty observe.common.observer=Observed observe.common.ocean=Ocean observe.common.organism=Organism @@ -227,7 +226,6 @@ validator.ui.activity.required.comment.for.currentFpaZone=A comment is required validator.ui.activity.required.comment.for.detectionMode=A comment is required for the selected dectection mode. validator.ui.activity.required.comment.for.fpaZone=A comment is required for selected Fpa zone. validator.ui.activity.required.comment.for.nextFpaZone=A comment is required for the selected next Fpa zone mode. -validator.ui.activity.required.comment.for.observedSystem=A comment is required for the selected observed system mode. validator.ui.activity.required.comment.for.previousFpaZone=A comment is required for the selected previous Fpa zone mode. validator.ui.activity.required.comment.for.reasonForNoFishing=A comment is required for the selected reason for no fishing mode. validator.ui.activity.required.comment.for.vesselActivity=A comment is required for the selected vessel activity mode. diff --git a/application-swing-validation/src/main/resources/i18n/application-swing-validation_es_ES.properties b/application-swing-validation/src/main/resources/i18n/application-swing-validation_es_ES.properties index c2b032d..e9601b5 100644 --- a/application-swing-validation/src/main/resources/i18n/application-swing-validation_es_ES.properties +++ b/application-swing-validation/src/main/resources/i18n/application-swing-validation_es_ES.properties @@ -116,7 +116,6 @@ observe.common.objectOperation=Operación sobre el objeto observe.common.objectType=Tipo de objeto observe.common.observedSystem=Système observé observe.common.observedSystemDistance=Distancia al sistema observado (millas con 1 decimal) -observe.common.observedSystemEmpty=Sistema observado vacía observe.common.observer=Observador observe.common.ocean=Oceano observe.common.organism=Organismo @@ -227,7 +226,6 @@ validator.ui.activity.required.comment.for.currentFpaZone=Se necesita un comenta validator.ui.activity.required.comment.for.detectionMode=Se necesita un comentario para el modo de detección. validator.ui.activity.required.comment.for.fpaZone=Se necesita un comentario para la zona FPA seleccionada. validator.ui.activity.required.comment.for.nextFpaZone=Se necesita un comentario para la zona FPA posterior seleccionada. -validator.ui.activity.required.comment.for.observedSystem=Se necesita un comentario para uno de los sistemas observados seleccionados. validator.ui.activity.required.comment.for.previousFpaZone=Se necesita un comentario para la zona FPA anterior seleccionada. validator.ui.activity.required.comment.for.reasonForNoFishing=Se necesita un comentario para la causa de no lance. validator.ui.activity.required.comment.for.vesselActivity=Se necesita un comentario para la actividad del barco. diff --git a/application-swing-validation/src/main/resources/i18n/application-swing-validation_fr_FR.properties b/application-swing-validation/src/main/resources/i18n/application-swing-validation_fr_FR.properties index 8deaffe..127a3a9 100644 --- a/application-swing-validation/src/main/resources/i18n/application-swing-validation_fr_FR.properties +++ b/application-swing-validation/src/main/resources/i18n/application-swing-validation_fr_FR.properties @@ -116,7 +116,6 @@ observe.common.objectOperation=Opération sur l'objet observe.common.objectType=Type d'objet observe.common.observedSystem=Système observé observe.common.observedSystemDistance=Distance système observé (en milles avec 1 décimale) -observe.common.observedSystemEmpty=Système observé vide observe.common.observer=Observateur observe.common.ocean=Océan observe.common.organism=Organisme @@ -227,7 +226,6 @@ validator.ui.activity.required.comment.for.currentFpaZone=Un commentaire est req validator.ui.activity.required.comment.for.detectionMode=Un commentaire est requis pour le mode de détection sélectionné. validator.ui.activity.required.comment.for.fpaZone=Un commentaire est requis pour la zone FPA sélectionnée. validator.ui.activity.required.comment.for.nextFpaZone=Un commentaire est requis pour la zone FPA suivante sélectionnée. -validator.ui.activity.required.comment.for.observedSystem=Un commentaire est requis pour un des systèmes observés sélectionnés. validator.ui.activity.required.comment.for.previousFpaZone=Un commentaire est requis pour la zone FPA précédente sélectionnée. validator.ui.activity.required.comment.for.reasonForNoFishing=Un commentaire est requis pour la raison de non pêche sélectionnée. validator.ui.activity.required.comment.for.vesselActivity=Un commentaire est requis pour le type d'activité sélectionné. diff --git a/application-swing/src/main/resources/i18n/application-swing_en_GB.properties b/application-swing/src/main/resources/i18n/application-swing_en_GB.properties index 36e3454..ad778b1 100644 --- a/application-swing/src/main/resources/i18n/application-swing_en_GB.properties +++ b/application-swing/src/main/resources/i18n/application-swing_en_GB.properties @@ -1133,7 +1133,6 @@ observe.content.setSeine.schoolThickness=School thickness (m) observe.content.setSeine.schoolTopDepth=School top depth (m) observe.content.setSeine.schoolType=School type observe.content.setSeine.schoolType.not.fill=Not filled -observe.content.setSeine.sonarUsed=Use sonar while catching observe.content.setSeine.sonarUsedAvantSet=Usage of sonar observe.content.setSeine.startTime=Set start time observe.content.setSeine.supportVesselName=Support vessel name @@ -1546,7 +1545,6 @@ observe.storage.activitySeine.tab.general=General caracteristics observe.storage.activitySeine.tab.measurements=Measurements observe.storage.activitySeine.tab.observedSystem=Observed systems observe.storage.activitySeine.title=Activity -observe.storage.activitySeineObservedSystem.title=Observed systems observe.storage.activitySeines.title=Activities observe.storage.config.data.mode=Data import mode observe.storage.config.data.storage=Data source cConfiguration diff --git a/application-swing/src/main/resources/i18n/application-swing_es_ES.properties b/application-swing/src/main/resources/i18n/application-swing_es_ES.properties index 1f3c1e3..5132994 100644 --- a/application-swing/src/main/resources/i18n/application-swing_es_ES.properties +++ b/application-swing/src/main/resources/i18n/application-swing_es_ES.properties @@ -1133,7 +1133,6 @@ observe.content.setSeine.schoolThickness=Grossor del banco (m) observe.content.setSeine.schoolTopDepth=Profundidad de la cumbre (m) observe.content.setSeine.schoolType=Tipo de banco observe.content.setSeine.schoolType.not.fill=vacío -observe.content.setSeine.sonarUsed=Utilización del sonar durante el lance observe.content.setSeine.sonarUsedAvantSet=Utilización del sonar antes del lance observe.content.setSeine.startTime=Fecha - Heuro de inicio de validez observe.content.setSeine.supportVesselName=Nombre supply @@ -1546,7 +1545,6 @@ observe.storage.activitySeine.tab.general=Características generales observe.storage.activitySeine.tab.measurements=Medidas observe.storage.activitySeine.tab.observedSystem=Sistema observado observe.storage.activitySeine.title=Actividad -observe.storage.activitySeineObservedSystem.title=Sistema observado observe.storage.activitySeines.title=Actividades observe.storage.config.data.mode=Modo de importación de los datos observe.storage.config.data.storage=Configuración de la base de datos diff --git a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties index a688252..c236220 100644 --- a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties +++ b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties @@ -1133,7 +1133,6 @@ observe.content.setSeine.schoolThickness=Épaisseur du banc (m) observe.content.setSeine.schoolTopDepth=Profondeur sommet (m) observe.content.setSeine.schoolType=Type de banc observe.content.setSeine.schoolType.not.fill=Non renseigné -observe.content.setSeine.sonarUsed=Utilisation sonar pendant la calée observe.content.setSeine.sonarUsedAvantSet=Utilisation du sonar observe.content.setSeine.startTime=Date - Heure de début de validité observe.content.setSeine.supportVesselName=Nom supply @@ -1546,7 +1545,6 @@ observe.storage.activitySeine.tab.general=Caractéristiques générales observe.storage.activitySeine.tab.measurements=Mesures observe.storage.activitySeine.tab.observedSystem=Systèmes observés observe.storage.activitySeine.title=Activité -observe.storage.activitySeineObservedSystem.title=Système observé observe.storage.activitySeines.title=Activités observe.storage.config.data.mode=Mode d'import des données observe.storage.config.data.storage=Configuration de la base de données -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit f8985105c9d91685a72bf3766e9faee00298c8e8 Merge: ca01bdd 521a65e Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 15:45:19 2016 +0200 Retirer le champ relatif à l'utilisation du sonar pendant la calée (Fixes #8374) Merge branch 'feature/8374' into develop .../application-swing-decoration_en_GB.properties | 4 -- .../application-swing-decoration_es_ES.properties | 4 -- .../application-swing-decoration_fr_FR.properties | 4 -- .../application-swing-validation_en_GB.properties | 2 - .../application-swing-validation_es_ES.properties | 2 - .../application-swing-validation_fr_FR.properties | 2 - .../swing/ui/content/impl/seine/SetSeineUI.jaxx | 5 -- .../swing/ui/content/impl/seine/SetSeineUI.jcss | 7 --- .../ui/content/impl/seine/SetSeineUIHandler.java | 1 - .../ui/content/impl/seine/SetSeineUIModel.java | 5 +- .../i18n/application-swing_en_GB.properties | 2 - .../i18n/application-swing_es_ES.properties | 2 - .../i18n/application-swing_fr_FR.properties | 2 - .../ObserveMigrationConfigurationProviderImpl.java | 3 +- .../DataSourceMigrationForVersion_5_1.java | 52 +++++++++++++++++++++ .../V_5_1_01_evol_8374_delete_sonarUsed-H2.sql | 1 + .../V_5_1_01_evol_8374_delete_sonarUsed-PG.sql | 1 + entities/src/main/xmi/observe-seine.zargo | Bin 83418 -> 83339 bytes pom.xml | 2 +- .../src/main/xmi/observe-services-dto-seine.zargo | Bin 58913 -> 58859 bytes .../services/topia/binder/data/SetSeineBinder.java | 2 - 21 files changed, 59 insertions(+), 44 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 39dd80c11204d8247c9d8c4208c67ce58aaaa205 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 17:30:45 2016 +0200 Rendre la collections de captures indexées + correction nommage script de migration --- .../DataSourceMigrationForVersion_5_1.java | 3 +- .../V5_1_01_evol_8374_delete_sonarUsed-H2.sql | 1 + .../V5_1_01_evol_8374_delete_sonarUsed-PG.sql | 1 + .../V5_1_02_evol_7886_catch_add_set_idx-H2.sql | 1 + .../V5_1_02_evol_7886_catch_add_set_idx-PG.sql | 1 + .../V_5_1_01_evol_8374_delete_sonarUsed-H2.sql | 1 - .../V_5_1_01_evol_8374_delete_sonarUsed-PG.sql | 1 - entities/src/main/xmi/observe.ini | 2 +- services-dto/src/main/xmi/observe-services-dto.ini | 1 + .../topia/binder/data/DataBinderSupport.java | 44 ++++++++++++++++++++-- .../binder/data/SetLonglineCatchDtoBinder.java | 4 +- 11 files changed, 50 insertions(+), 10 deletions(-) diff --git a/entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_1.java b/entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_1.java index bc7acd5..4c98f86 100644 --- a/entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_1.java +++ b/entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_1.java @@ -17,7 +17,6 @@ import java.util.List; */ public class DataSourceMigrationForVersion_5_1 extends AbstractObserveMigrationCallBack { - public DataSourceMigrationForVersion_5_1(AbstractDataSourceMigration callBack, String scriptSuffix) { super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_5_1.getVersion(), callBack, scriptSuffix); } @@ -29,6 +28,8 @@ public class DataSourceMigrationForVersion_5_1 extends AbstractObserveMigrationC boolean showProgression) { addScript("01", "evol_8374_delete_sonarUsed", queries); + addScript("02", "evol_7886_catch_add_set_idx", queries); + } diff --git a/entities-migration/src/main/resources/db/migration/V5_1_01_evol_8374_delete_sonarUsed-H2.sql b/entities-migration/src/main/resources/db/migration/V5_1_01_evol_8374_delete_sonarUsed-H2.sql new file mode 100644 index 0000000..b1f36ea --- /dev/null +++ b/entities-migration/src/main/resources/db/migration/V5_1_01_evol_8374_delete_sonarUsed-H2.sql @@ -0,0 +1 @@ +ALTER TABLE observe_seine.set DROP COLUMN sonarUsed; \ No newline at end of file diff --git a/entities-migration/src/main/resources/db/migration/V5_1_01_evol_8374_delete_sonarUsed-PG.sql b/entities-migration/src/main/resources/db/migration/V5_1_01_evol_8374_delete_sonarUsed-PG.sql new file mode 100644 index 0000000..b1f36ea --- /dev/null +++ b/entities-migration/src/main/resources/db/migration/V5_1_01_evol_8374_delete_sonarUsed-PG.sql @@ -0,0 +1 @@ +ALTER TABLE observe_seine.set DROP COLUMN sonarUsed; \ No newline at end of file diff --git a/entities-migration/src/main/resources/db/migration/V5_1_02_evol_7886_catch_add_set_idx-H2.sql b/entities-migration/src/main/resources/db/migration/V5_1_02_evol_7886_catch_add_set_idx-H2.sql new file mode 100644 index 0000000..e0d73af --- /dev/null +++ b/entities-migration/src/main/resources/db/migration/V5_1_02_evol_7886_catch_add_set_idx-H2.sql @@ -0,0 +1 @@ +ALTER TABLE observe_longline.catch ADD COLUMN set_idx INTEGER; \ No newline at end of file diff --git a/entities-migration/src/main/resources/db/migration/V5_1_02_evol_7886_catch_add_set_idx-PG.sql b/entities-migration/src/main/resources/db/migration/V5_1_02_evol_7886_catch_add_set_idx-PG.sql new file mode 100644 index 0000000..e0d73af --- /dev/null +++ b/entities-migration/src/main/resources/db/migration/V5_1_02_evol_7886_catch_add_set_idx-PG.sql @@ -0,0 +1 @@ +ALTER TABLE observe_longline.catch ADD COLUMN set_idx INTEGER; \ No newline at end of file diff --git a/entities-migration/src/main/resources/db/migration/V_5_1_01_evol_8374_delete_sonarUsed-H2.sql b/entities-migration/src/main/resources/db/migration/V_5_1_01_evol_8374_delete_sonarUsed-H2.sql deleted file mode 100644 index 883b446..0000000 --- a/entities-migration/src/main/resources/db/migration/V_5_1_01_evol_8374_delete_sonarUsed-H2.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE observe_seine."SET" DROP COLUMN sonarUsed; \ No newline at end of file diff --git a/entities-migration/src/main/resources/db/migration/V_5_1_01_evol_8374_delete_sonarUsed-PG.sql b/entities-migration/src/main/resources/db/migration/V_5_1_01_evol_8374_delete_sonarUsed-PG.sql deleted file mode 100644 index 883b446..0000000 --- a/entities-migration/src/main/resources/db/migration/V_5_1_01_evol_8374_delete_sonarUsed-PG.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE observe_seine."SET" DROP COLUMN sonarUsed; \ No newline at end of file diff --git a/entities/src/main/xmi/observe.ini b/entities/src/main/xmi/observe.ini index b4d52f9..102dfc3 100644 --- a/entities/src/main/xmi/observe.ini +++ b/entities/src/main/xmi/observe.ini @@ -102,7 +102,7 @@ dbName = Set baitsComposition.reverseDbName = set branchlinesComposition.reverseDbName = set catchLongline.reverseDbName = set -catchLongline.unique = true +catchLongline.ordered = true floatlinesComposition.reverseDbName = set haulingEndLatitude.sqlType = numeric haulingEndLongitude.sqlType = numeric diff --git a/services-dto/src/main/xmi/observe-services-dto.ini b/services-dto/src/main/xmi/observe-services-dto.ini index 88d3728..836c60d 100644 --- a/services-dto/src/main/xmi/observe-services-dto.ini +++ b/services-dto/src/main/xmi/observe-services-dto.ini @@ -89,6 +89,7 @@ settingShape.attributeGeneric = fr.ird.observe.services.dto.referential.longline baskets.attributeGeneric = fr.ird.observe.services.dto.longline.BasketDto branchlines.attributeGeneric = fr.ird.observe.services.dto.longline.BranchlineDto sections.attributeGeneric = fr.ird.observe.services.dto.longline.SectionDto +catchLongline.ordered = true [class fr.ird.observe.services.dto.longline.SetLonglineDetailComposition] section.ordered = true diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/DataBinderSupport.java b/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/DataBinderSupport.java index b38df55..259b07a 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/DataBinderSupport.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/DataBinderSupport.java @@ -28,14 +28,14 @@ import com.google.common.collect.Maps; import com.google.common.collect.Sets; import fr.ird.observe.entities.CommentableEntity; import fr.ird.observe.entities.ObserveDataEntity; -import fr.ird.observe.services.topia.binder.BinderEngine; -import fr.ird.observe.services.topia.binder.BinderSupport; import fr.ird.observe.services.dto.CommentableDto; import fr.ird.observe.services.dto.DataDto; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.reference.DataReferenceSetDefinitions; import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; +import fr.ird.observe.services.topia.binder.BinderEngine; +import fr.ird.observe.services.topia.binder.BinderSupport; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -45,9 +45,12 @@ import javax.sql.rowset.serial.SerialBlob; import java.io.Serializable; import java.sql.Blob; import java.sql.SQLException; +import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.LinkedHashSet; +import java.util.LinkedList; +import java.util.List; import java.util.Set; /** @@ -159,6 +162,26 @@ public abstract class DataBinderSupport<E extends ObserveDataEntity, D extends D } + protected <EE extends ObserveDataEntity, DD extends DataDto> List<DD> toListData(ReferentialLocale referentialLocale, Collection<EE> entities, Class<DD> dtoType) { + + List<DD> dtos = null; + if (CollectionUtils.isNotEmpty(entities)) { + + DataBinderSupport<EE, DD> binder = BinderEngine.get().getDataBinder(dtoType); + + dtos = new ArrayList<>(entities.size()); + for (EE entity : entities) { + + DD dto = binder.toData(referentialLocale, entity); + dtos.add(dto); + + } + + } + return dtos; + + } + // -------------------------------------------------------------------------------------------------------------- // // -- DATA → DATA REFERENCE ------------------------------------------------------------------------------------- // // -------------------------------------------------------------------------------------------------------------- // @@ -202,11 +225,24 @@ public abstract class DataBinderSupport<E extends ObserveDataEntity, D extends D } } - protected <DD extends DataDto, EE extends ObserveDataEntity> Set<EE> toEntitySet(ReferentialLocale referentialLocale, Collection<DD> dtos, Class<EE> entityType, Set<EE> entityList) { + protected <DD extends DataDto, EE extends ObserveDataEntity, C extends Set<EE>> C toEntitySet(ReferentialLocale referentialLocale, Collection<DD> dtos, Class<EE> entityType, C entityList) { if (entityList == null) { - entityList = new LinkedHashSet<>(); + entityList = (C) new LinkedHashSet(); + } + + fillEntityCollection(referentialLocale, dtos, entityList); + + return entityList; + + } + + protected <DD extends DataDto, EE extends ObserveDataEntity> List<EE> toEntityList(ReferentialLocale referentialLocale, Collection<DD> dtos, Class<EE> entityType, List<EE> entityList) { + + if (entityList == null) { + + entityList = new LinkedList<>(); } fillEntityCollection(referentialLocale, dtos, entityList); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/SetLonglineCatchDtoBinder.java b/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/SetLonglineCatchDtoBinder.java index 96f68c4..1588118 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/SetLonglineCatchDtoBinder.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/SetLonglineCatchDtoBinder.java @@ -44,7 +44,7 @@ public class SetLonglineCatchDtoBinder extends DataBinderSupport<SetLongline, Se copyDtoDataFieldsToEntity(dto, entity); - entity.setCatchLongline(toEntitySet(referentialLocale, dto.getCatchLongline(), CatchLongline.class, entity.getCatchLongline())); + entity.setCatchLongline(toEntityList(referentialLocale, dto.getCatchLongline(), CatchLongline.class, entity.getCatchLongline())); } @@ -53,7 +53,7 @@ public class SetLonglineCatchDtoBinder extends DataBinderSupport<SetLongline, Se copyEntityDataFieldsToDto(entity, dto); - dto.setCatchLongline(toLinkedHashSetData(referentialLocale, entity.getCatchLongline(), CatchLonglineDto.class)); + dto.setCatchLongline(toListData(referentialLocale, entity.getCatchLongline(), CatchLonglineDto.class)); } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit d7fba14f856776fc96165b6511b70a7e0cf0d900 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 20:06:35 2016 +0200 Ajout du menu contextuel pour changer l'ordre des captures --- .../impl/longline/CatchLonglineTableModel.java | 35 ++++++++++++++---- .../table/impl/longline/CatchLonglineUI.jaxx | 5 +++ .../table/impl/longline/CatchLonglineUI.jcss | 13 +++++++ .../impl/longline/CatchLonglineUIHandler.java | 42 ++++++++++++++++++++++ .../i18n/application-swing_en_GB.properties | 4 +++ .../i18n/application-swing_es_ES.properties | 4 +++ .../i18n/application-swing_fr_FR.properties | 4 +++ 7 files changed, 100 insertions(+), 7 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineTableModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineTableModel.java index c03a5df..6068bb7 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineTableModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineTableModel.java @@ -22,17 +22,18 @@ package fr.ird.observe.application.swing.ui.content.table.impl.longline; * #L% */ +import fr.ird.observe.application.swing.ui.content.table.ContentTableMeta; +import fr.ird.observe.application.swing.ui.content.table.ContentTableModel; +import fr.ird.observe.application.swing.ui.content.table.ObserveContentTableUI; import fr.ird.observe.services.dto.longline.CatchLonglineDto; import fr.ird.observe.services.dto.longline.CatchLonglineHelper; import fr.ird.observe.services.dto.longline.SetLonglineCatchDto; import fr.ird.observe.services.dto.longline.SizeMeasureDto; import fr.ird.observe.services.dto.longline.WeightMeasureDto; -import fr.ird.observe.application.swing.ui.content.table.ContentTableMeta; -import fr.ird.observe.application.swing.ui.content.table.ContentTableModel; -import fr.ird.observe.application.swing.ui.content.table.ObserveContentTableUI; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import javax.swing.SwingUtilities; import java.util.Collection; import java.util.List; import java.util.stream.Collectors; @@ -85,16 +86,16 @@ public class CatchLonglineTableModel extends ContentTableModel<SetLonglineCatchD model.getSizeMeasuresTableModel().storeInCacheForRow(editingRow); List<SizeMeasureDto> sizeMeasures = model.getSizeMeasuresTableModel().getData().stream() - .filter(sizeMeasureDto -> sizeMeasureDto.getSizeMeasureType() != null) - .collect(Collectors.toList()); + .filter(sizeMeasureDto -> sizeMeasureDto.getSizeMeasureType() != null) + .collect(Collectors.toList()); getRowBean().setSizeMeasure(sizeMeasures); model.getWeightMeasuresTableModel().storeInCacheForRow(editingRow); List<WeightMeasureDto> weightMeasures = model.getWeightMeasuresTableModel().getData().stream() - .filter(weightMeasureDto -> weightMeasureDto.getWeightMeasureType() != null) - .collect(Collectors.toList()); + .filter(weightMeasureDto -> weightMeasureDto.getWeightMeasureType() != null) + .collect(Collectors.toList()); getRowBean().setWeightMeasure(weightMeasures); @@ -158,4 +159,24 @@ public class CatchLonglineTableModel extends ContentTableModel<SetLonglineCatchD protected CatchLonglineUIModel getModel() { return (CatchLonglineUIModel) super.getModel(); } + + public void moveUp(int selectedRow) { + CatchLonglineDto remove = data.remove(selectedRow); + data.add(selectedRow - 1, remove); + fireTableRowsUpdated(selectedRow - 1, selectedRow); + setSelectedRow(selectedRow - 1); + getModel().setCanSaveRow(false); + getModel().setCanResetRow(false); + getModel().setModified(true); + } + + public void moveDown(int selectedRow) { + CatchLonglineDto remove = data.remove(selectedRow); + data.add(selectedRow + 1, remove); + fireTableRowsUpdated(selectedRow, selectedRow + 1); + setSelectedRow(selectedRow + 1); + getModel().setCanSaveRow(false); + getModel().setCanResetRow(false); + getModel().setModified(true); + } } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUI.jaxx index 45ab0cd..14815cc 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUI.jaxx @@ -124,6 +124,11 @@ <JMenuItem id='deleteSelectedWeightMeasure' onActionPerformed='getHandler().deleteSelectedWeightMeasure()'/> </JPopupMenu> + <JPopupMenu id='catchLonglinesPopup'> + <JMenuItem id='moveCatchLonglineUp' onActionPerformed='getHandler().moveCatchLonglineUp()'/> + <JMenuItem id='moveCatchLonglineDown' onActionPerformed='getHandler().moveCatchLonglineDown()'/> + </JPopupMenu> + <ButtonGroup id='acquisitionModeGroup' onStateChanged='getHandler().updateCatchAcquisitionMode((CatchAcquisitionModeEnum) acquisitionModeGroup.getSelectedValue())'/> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUI.jcss index 0bb7962..ed5c587 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUI.jcss @@ -28,6 +28,19 @@ /*canResetRow:{getHandler().canResetRow(tableModel.isModified() , validatorTable.isChanged())};*/ } +#moveCatchLonglineUp { + text: "observe.content.catchLongline.action.moveCatchLonglineUp"; + toolTipText: "observe.content.catchLongline.action.moveCatchLonglineUp.tip"; + actionIcon: go-up; +} + +#moveCatchLonglineDown { + text: "observe.content.catchLongline.action.moveCatchLonglineDown"; + toolTipText: "observe.content.catchLongline.action.moveCatchLonglineDown.tip"; + actionIcon: go-down; +} + + /* ***************************************************************************** */ /* CARACTERISTIC TAB ********************************************************** */ /* ***************************************************************************** */ diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUIHandler.java index 9d06255..be10439 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUIHandler.java @@ -36,6 +36,7 @@ import fr.ird.observe.application.swing.ui.content.table.ContentTableUIHandler; import fr.ird.observe.application.swing.ui.tree.ObserveTreeHelper; import fr.ird.observe.application.swing.ui.tree.node.ObserveNode; import fr.ird.observe.application.swing.ui.tree.node.TripLonglineNode; +import fr.ird.observe.application.swing.ui.util.table.AutotSelectRowAndShowPopupActionSupport; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BasketDto; @@ -72,7 +73,10 @@ import org.nuiton.validator.NuitonValidatorScope; import javax.swing.JComponent; import javax.swing.JOptionPane; +import javax.swing.JPopupMenu; +import javax.swing.JScrollPane; import javax.swing.JTable; +import javax.swing.SwingUtilities; import javax.swing.event.TableModelListener; import javax.swing.table.DefaultTableCellRenderer; import java.beans.PropertyChangeListener; @@ -531,6 +535,8 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat UIHelper.setTableColumnRenderer(table, 9, UIHelper.newBooleanTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 10, UIHelper.newStringTableCellRenderer(renderer, 10, true)); + new CatchLonglinesAutotSelectRowAndShowPopupAction(ui, ui.getTableScrollPane(), table, ui.getCatchLonglinesPopup()); + } { @@ -989,4 +995,40 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat return ObserveSwingApplicationContext.get().getMainDataSourceServicesProvider().newBranchlineService(); } + public void moveCatchLonglineUp() { + int selectedRow = getUi().getTable().getSelectedRow(); + getTableModel().moveUp(selectedRow); + } + + public void moveCatchLonglineDown() { + int selectedRow = getUi().getTable().getSelectedRow(); + getTableModel().moveDown(selectedRow); + } + + static class CatchLonglinesAutotSelectRowAndShowPopupAction extends AutotSelectRowAndShowPopupActionSupport { + + private final CatchLonglineUI ui; + + public CatchLonglinesAutotSelectRowAndShowPopupAction(CatchLonglineUI ui, + JScrollPane pane, + JTable table, + JPopupMenu popup) { + super(pane, table, popup); + this.ui = ui; + } + + @Override + protected void beforeOpenPopup(int modelRowIndex, int modelColumnIndex) { + + CatchLonglineTableModel model = (CatchLonglineTableModel) getTable().getModel(); + + boolean canMoveUp = !ui.getModel().isCanSaveRow() && modelRowIndex > 0; + boolean canMoveDown = !ui.getModel().isCanSaveRow() && modelRowIndex < model.getRowCount() - 1; + + ui.getMoveCatchLonglineUp().setEnabled(canMoveUp); + ui.getMoveCatchLonglineDown().setEnabled(canMoveDown); + + } + + } } diff --git a/application-swing/src/main/resources/i18n/application-swing_en_GB.properties b/application-swing/src/main/resources/i18n/application-swing_en_GB.properties index ad778b1..717dd9b 100644 --- a/application-swing/src/main/resources/i18n/application-swing_en_GB.properties +++ b/application-swing/src/main/resources/i18n/application-swing_en_GB.properties @@ -709,6 +709,10 @@ observe.content.catchLongline.action.deleteSelectedSizeMeasure=Delete observe.content.catchLongline.action.deleteSelectedSizeMeasure.tip=Delete selected size measure observe.content.catchLongline.action.deleteSelectedWeightMeasure=Delete observe.content.catchLongline.action.deleteSelectedWeightMeasure.tip=Delete selected weight measure +observe.content.catchLongline.action.moveCatchLonglineDown=Move down +observe.content.catchLongline.action.moveCatchLonglineDown.tip=Move down the catch +observe.content.catchLongline.action.moveCatchLonglineUp=Move up +observe.content.catchLongline.action.moveCatchLonglineUp.tip=Move up the catch observe.content.catchLongline.action.new=New catch observe.content.catchLongline.action.new.tip=Create a new catch observe.content.catchLongline.action.reset.photoReferences.tip=Reset photo references diff --git a/application-swing/src/main/resources/i18n/application-swing_es_ES.properties b/application-swing/src/main/resources/i18n/application-swing_es_ES.properties index 5132994..5807c0f 100644 --- a/application-swing/src/main/resources/i18n/application-swing_es_ES.properties +++ b/application-swing/src/main/resources/i18n/application-swing_es_ES.properties @@ -709,6 +709,10 @@ observe.content.catchLongline.action.deleteSelectedSizeMeasure=Eliminar observe.content.catchLongline.action.deleteSelectedSizeMeasure.tip=Eliminar la medida de tamaño observe.content.catchLongline.action.deleteSelectedWeightMeasure=Eliminar observe.content.catchLongline.action.deleteSelectedWeightMeasure.tip=Eliminar la medida de peso +observe.content.catchLongline.action.moveCatchLonglineDown=Move down \#TODO +observe.content.catchLongline.action.moveCatchLonglineDown.tip=Move down the catch \#TODO +observe.content.catchLongline.action.moveCatchLonglineUp=Move up \#TODO +observe.content.catchLongline.action.moveCatchLonglineUp.tip=Move up the catch \#TODO observe.content.catchLongline.action.new=Nueva captura observe.content.catchLongline.action.new.tip=Crear una nueva captura observe.content.catchLongline.action.reset.photoReferences.tip=Reiniciar las referencias photo diff --git a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties index c236220..d622503 100644 --- a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties +++ b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties @@ -709,6 +709,10 @@ observe.content.catchLongline.action.deleteSelectedSizeMeasure=Supprimer observe.content.catchLongline.action.deleteSelectedSizeMeasure.tip=Supprimer la mesure de la taille observe.content.catchLongline.action.deleteSelectedWeightMeasure=Supprimer observe.content.catchLongline.action.deleteSelectedWeightMeasure.tip=Supprimer la mesure du poids +observe.content.catchLongline.action.moveCatchLonglineDown=Descendre +observe.content.catchLongline.action.moveCatchLonglineDown.tip=Descendre la capture +observe.content.catchLongline.action.moveCatchLonglineUp=Remonter +observe.content.catchLongline.action.moveCatchLonglineUp.tip=Remoter la capture observe.content.catchLongline.action.new=Nouvelle capture observe.content.catchLongline.action.new.tip=Créér une nouvelle capture observe.content.catchLongline.action.reset.photoReferences.tip=Réinitiliser les références photo -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 2c876441e300a8172979d034956208f895390432 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 20:23:48 2016 +0200 Bien conserver le nouvel ordre lors de la recopie de liste --- .../services/topia/binder/data/DataBinderSupport.java | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/DataBinderSupport.java b/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/DataBinderSupport.java index 259b07a..b10fbf2 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/DataBinderSupport.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/DataBinderSupport.java @@ -25,7 +25,6 @@ package fr.ird.observe.services.topia.binder.data; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Iterables; import com.google.common.collect.Maps; -import com.google.common.collect.Sets; import fr.ird.observe.entities.CommentableEntity; import fr.ird.observe.entities.ObserveDataEntity; import fr.ird.observe.services.dto.CommentableDto; @@ -268,9 +267,10 @@ public abstract class DataBinderSupport<E extends ObserveDataEntity, D extends D ImmutableMap<String, EE> entitiesById = Maps.uniqueIndex(entityList, TopiaEntities.getTopiaIdFunction()); + entityList.clear(); + if (CollectionUtils.isNotEmpty(dtos)) { - Set<EE> entitiestoDelete = Sets.newConcurrentHashSet(entityList); DD firstDto = Iterables.get(dtos, 0, null); DataBinderSupport<EE, DD> binder = BinderEngine.get().getDataBinder(firstDto); @@ -288,18 +288,12 @@ public abstract class DataBinderSupport<E extends ObserveDataEntity, D extends D // Reuse existing entity binder.copyToEntity(referentialLocale, dto, entity); - entitiestoDelete.remove(entity); + entityList.add(entity); } } - entityList.removeAll(entitiestoDelete); - - } else { - - entityList.clear(); - } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit bc3f80e1c504033cb8f1104bfe605c9731ed5d24 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 20:27:54 2016 +0200 recopie de la liste avant sauvegarde --- .../ui/content/table/impl/longline/CatchLonglineUIHandler.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUIHandler.java index be10439..b253832 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUIHandler.java @@ -76,7 +76,6 @@ import javax.swing.JOptionPane; import javax.swing.JPopupMenu; import javax.swing.JScrollPane; import javax.swing.JTable; -import javax.swing.SwingUtilities; import javax.swing.event.TableModelListener; import javax.swing.table.DefaultTableCellRenderer; import java.beans.PropertyChangeListener; @@ -620,6 +619,15 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat } @Override + protected boolean prepareSave(SetLonglineCatchDto editBean, List<CatchLonglineDto> objets) throws Exception { + boolean doSave = super.prepareSave(editBean, objets); + if (doSave) { + editBean.setCatchLongline(objets); + } + return doSave; + } + + @Override protected void loadEditBean(String beanId) { Form<SetLonglineCatchDto> form = getSetLonglineCatchService().loadForm(beanId); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 46db19b16947b42bace0ea84fd4fd2fd764803a7 Merge: f898510 bc3f80e Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 20:27:59 2016 +0200 [LL] numérotation des captures (Fixes #7886) Merge branch 'feature/7886' into develop .../impl/longline/CatchLonglineTableModel.java | 35 +++++++++++--- .../table/impl/longline/CatchLonglineUI.jaxx | 5 ++ .../table/impl/longline/CatchLonglineUI.jcss | 13 +++++ .../impl/longline/CatchLonglineUIHandler.java | 50 +++++++++++++++++++ .../i18n/application-swing_en_GB.properties | 4 ++ .../i18n/application-swing_es_ES.properties | 4 ++ .../i18n/application-swing_fr_FR.properties | 4 ++ .../DataSourceMigrationForVersion_5_1.java | 3 +- .../V5_1_01_evol_8374_delete_sonarUsed-H2.sql | 1 + .../V5_1_01_evol_8374_delete_sonarUsed-PG.sql | 1 + .../V5_1_02_evol_7886_catch_add_set_idx-H2.sql | 1 + .../V5_1_02_evol_7886_catch_add_set_idx-PG.sql | 1 + .../V_5_1_01_evol_8374_delete_sonarUsed-H2.sql | 1 - .../V_5_1_01_evol_8374_delete_sonarUsed-PG.sql | 1 - entities/src/main/xmi/observe.ini | 2 +- services-dto/src/main/xmi/observe-services-dto.ini | 1 + .../topia/binder/data/DataBinderSupport.java | 56 +++++++++++++++++----- .../binder/data/SetLonglineCatchDtoBinder.java | 4 +- 18 files changed, 161 insertions(+), 26 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit fc9004c0c80818729ce4dd316ff8acce9fcd5f0f Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Oct 28 09:43:20 2016 +0200 Suppression champs supportVesselName (persistence) --- .../versions/DataSourceMigrationForVersion_5_1.java | 1 + ...5_1_03_evol-6997_delete_supportVesselName-H2.sql | 1 + ...5_1_03_evol-6997_delete_supportVesselName-PG.sql | 1 + entities/src/main/xmi/observe-seine.zargo | Bin 83339 -> 83232 bytes 4 files changed, 3 insertions(+) diff --git a/entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_1.java b/entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_1.java index 4c98f86..4de555b 100644 --- a/entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_1.java +++ b/entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_1.java @@ -29,6 +29,7 @@ public class DataSourceMigrationForVersion_5_1 extends AbstractObserveMigrationC addScript("01", "evol_8374_delete_sonarUsed", queries); addScript("02", "evol_7886_catch_add_set_idx", queries); + addScript("03", "evol_6997_delete_supportVesselName", queries); } diff --git a/entities-migration/src/main/resources/db/migration/V5_1_03_evol-6997_delete_supportVesselName-H2.sql b/entities-migration/src/main/resources/db/migration/V5_1_03_evol-6997_delete_supportVesselName-H2.sql new file mode 100644 index 0000000..fc7374f --- /dev/null +++ b/entities-migration/src/main/resources/db/migration/V5_1_03_evol-6997_delete_supportVesselName-H2.sql @@ -0,0 +1 @@ +ALTER TABLE observe_seine.floatingobject DROP COLUMN supportVesselName; \ No newline at end of file diff --git a/entities-migration/src/main/resources/db/migration/V5_1_03_evol-6997_delete_supportVesselName-PG.sql b/entities-migration/src/main/resources/db/migration/V5_1_03_evol-6997_delete_supportVesselName-PG.sql new file mode 100644 index 0000000..fc7374f --- /dev/null +++ b/entities-migration/src/main/resources/db/migration/V5_1_03_evol-6997_delete_supportVesselName-PG.sql @@ -0,0 +1 @@ +ALTER TABLE observe_seine.floatingobject DROP COLUMN supportVesselName; \ No newline at end of file diff --git a/entities/src/main/xmi/observe-seine.zargo b/entities/src/main/xmi/observe-seine.zargo index 16d49a5..ab48b4f 100644 Binary files a/entities/src/main/xmi/observe-seine.zargo and b/entities/src/main/xmi/observe-seine.zargo differ -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit fa0f031a56c5f32bfa9a3ba93b74228170500182 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Oct 28 09:44:19 2016 +0200 Suppression champs supportVesselName (service) --- .../src/main/xmi/observe-services-dto-seine.zargo | Bin 58859 -> 58766 bytes .../FloatingObject-service-error-validation.xml | 13 ------------- .../i18n/services-topia-validation_en_GB.properties | 1 - .../i18n/services-topia-validation_es_ES.properties | 1 - .../i18n/services-topia-validation_fr_FR.properties | 1 - .../topia/binder/data/FloatingObjectBinder.java | 2 -- 6 files changed, 18 deletions(-) diff --git a/services-dto/src/main/xmi/observe-services-dto-seine.zargo b/services-dto/src/main/xmi/observe-services-dto-seine.zargo index 375568b..8558431 100644 Binary files a/services-dto/src/main/xmi/observe-services-dto-seine.zargo and b/services-dto/src/main/xmi/observe-services-dto-seine.zargo differ diff --git a/services-topia-validation/src/main/resources/fr/ird/observe/entities/seine/FloatingObject-service-error-validation.xml b/services-topia-validation/src/main/resources/fr/ird/observe/entities/seine/FloatingObject-service-error-validation.xml index a73a7ec..69b1e78 100644 --- a/services-topia-validation/src/main/resources/fr/ird/observe/entities/seine/FloatingObject-service-error-validation.xml +++ b/services-topia-validation/src/main/resources/fr/ird/observe/entities/seine/FloatingObject-service-error-validation.xml @@ -60,19 +60,6 @@ </field> - <field name="supportVesselName"> - - <!-- supportVesselName de ${maxLength} caractères maximum --> - <field-validator type="fieldexpressionwithparams"> - <param name="intParams">maxLength:32</param> - <param name="expression"> - <![CDATA[ supportVesselName == null || supportVesselName.length() < ints.maxLength ]]> - </param> - <message>validator.service.floatingObject.size.supportVesselName##${ints.maxLength}</message> - </field-validator> - - </field> - <field name="daysAtSeaCount"> <!-- count de jours a la mer positif --> diff --git a/services-topia-validation/src/main/resources/i18n/services-topia-validation_en_GB.properties b/services-topia-validation/src/main/resources/i18n/services-topia-validation_en_GB.properties index f1287f6..7f81582 100644 --- a/services-topia-validation/src/main/resources/i18n/services-topia-validation_en_GB.properties +++ b/services-topia-validation/src/main/resources/i18n/services-topia-validation_en_GB.properties @@ -293,7 +293,6 @@ validator.service.floatingObject.required.comment.for.type=A comment is required validator.service.floatingObject.required.objectFate=Object fate must be filled. validator.service.floatingObject.required.objectOperation=Object operation must be filled. validator.service.floatingObject.required.type=Type must be filled. -validator.service.floatingObject.size.supportVesselName=Support vessel name length can't exceed %S characters. validator.service.floatlinesComposition.bound.length=Length must be between %1$s and %2$s. validator.service.floatlinesComposition.bound.proportion=Proportion must be between %1$s and %2$s. validator.service.floatlinesComposition.desactivated.lineType=Selected line type is disabled. diff --git a/services-topia-validation/src/main/resources/i18n/services-topia-validation_es_ES.properties b/services-topia-validation/src/main/resources/i18n/services-topia-validation_es_ES.properties index 92ca65d..7337bc0 100644 --- a/services-topia-validation/src/main/resources/i18n/services-topia-validation_es_ES.properties +++ b/services-topia-validation/src/main/resources/i18n/services-topia-validation_es_ES.properties @@ -293,7 +293,6 @@ validator.service.floatingObject.required.comment.for.type=Se requiere un coment validator.service.floatingObject.required.objectFate=Se recomienda seleccionar un futuro (devenir). validator.service.floatingObject.required.objectOperation=Es obligatorio seleccionar un operación. validator.service.floatingObject.required.type=Es obligatorio seleccionar un tipo de objeto. -validator.service.floatingObject.size.supportVesselName=El número introducido debe tener una longitud inferior a %1$s caracteres. validator.service.floatlinesComposition.bound.length=La longitud debe ser entre %s y %s. validator.service.floatlinesComposition.bound.proportion=La proporción debe ser entre %s y %s. validator.service.floatlinesComposition.desactivated.lineType=El tipo seleccionado está desactivado. diff --git a/services-topia-validation/src/main/resources/i18n/services-topia-validation_fr_FR.properties b/services-topia-validation/src/main/resources/i18n/services-topia-validation_fr_FR.properties index 601d730..aca144e 100644 --- a/services-topia-validation/src/main/resources/i18n/services-topia-validation_fr_FR.properties +++ b/services-topia-validation/src/main/resources/i18n/services-topia-validation_fr_FR.properties @@ -293,7 +293,6 @@ validator.service.floatingObject.required.comment.for.type=Un commentaire est re validator.service.floatingObject.required.objectFate=La sélection d'un devenir d'objet est conseillée. validator.service.floatingObject.required.objectOperation=La sélection d'une opération d'objet est obligatoire. validator.service.floatingObject.required.type=La sélection d'un type d'objet est obligatoire. -validator.service.floatingObject.size.supportVesselName=Le nom supply doit avoir une taille inférieure à %1$s caractères. validator.service.floatlinesComposition.bound.length=La longueur doit être comprise entre %s et %s. validator.service.floatlinesComposition.bound.proportion=La proportion doit être comprise entre %s et %s. validator.service.floatlinesComposition.desactivated.lineType=Le type sélectionnée est désactivée. diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/FloatingObjectBinder.java b/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/FloatingObjectBinder.java index 3c234bf..844cfe5 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/FloatingObjectBinder.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/FloatingObjectBinder.java @@ -50,7 +50,6 @@ public class FloatingObjectBinder extends DataBinderSupport<FloatingObject, Floa copyDtoDataFieldsToEntity(dto, entity); entity.setDaysAtSeaCount(dto.getDaysAtSeaCount()); - entity.setSupportVesselName(dto.getSupportVesselName()); entity.setObjectFate(toEntity(dto.getObjectFate(), ObjectFate.class)); entity.setObjectOperation(toEntity(dto.getObjectOperation(), ObjectOperation.class)); entity.setObjectType(toEntity(dto.getObjectType(), ObjectType.class)); @@ -63,7 +62,6 @@ public class FloatingObjectBinder extends DataBinderSupport<FloatingObject, Floa copyEntityDataFieldsToDto(entity, dto); dto.setDaysAtSeaCount(entity.getDaysAtSeaCount()); - dto.setSupportVesselName(entity.getSupportVesselName()); dto.setObjectFate(toReferentialReference(referentialLocale, entity.getObjectFate(), ObjectFateDto.class)); dto.setObjectOperation(toReferentialReference(referentialLocale, entity.getObjectOperation(), ObjectOperationDto.class)); dto.setObjectType(toReferentialReference(referentialLocale, entity.getObjectType(), ObjectTypeDto.class)); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 1ec6cd6ad8d406a87e99ae829a295ac7f1a36e38 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Oct 28 09:44:22 2016 +0200 Suppression champs supportVesselName (ui) --- .../FloatingObjectDto-ui-create-error-validation.xml | 13 ------------- .../FloatingObjectDto-ui-update-error-validation.xml | 13 ------------- .../i18n/application-swing-validation_en_GB.properties | 1 - .../i18n/application-swing-validation_es_ES.properties | 1 - .../i18n/application-swing-validation_fr_FR.properties | 1 - .../swing/ui/content/impl/seine/FloatingObjectUI.jaxx | 13 ------------- .../swing/ui/content/impl/seine/FloatingObjectUI.jcss | 16 ---------------- .../ui/content/impl/seine/FloatingObjectUIHandler.java | 1 - .../resources/i18n/application-swing_en_GB.properties | 1 - .../resources/i18n/application-swing_es_ES.properties | 1 - .../resources/i18n/application-swing_fr_FR.properties | 1 - 11 files changed, 62 deletions(-) diff --git a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/seine/FloatingObjectDto-ui-create-error-validation.xml b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/seine/FloatingObjectDto-ui-create-error-validation.xml index 8d62fbb..07035e2 100644 --- a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/seine/FloatingObjectDto-ui-create-error-validation.xml +++ b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/seine/FloatingObjectDto-ui-create-error-validation.xml @@ -60,19 +60,6 @@ </field> - <field name="supportVesselName"> - - <!-- supportVesselName de ${maxLength} caractères maximum --> - <field-validator type="fieldexpressionwithparams"> - <param name="intParams">maxLength:32</param> - <param name="expression"> - <![CDATA[ supportVesselName == null || supportVesselName.length() < ints.maxLength ]]> - </param> - <message>validator.ui.floatingObject.size.supportVesselName##${ints.maxLength}</message> - </field-validator> - - </field> - <field name="daysAtSeaCount"> <!-- count de jours a la mer positif --> diff --git a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/seine/FloatingObjectDto-ui-update-error-validation.xml b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/seine/FloatingObjectDto-ui-update-error-validation.xml index 1917dc1..7adfcfd 100644 --- a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/seine/FloatingObjectDto-ui-update-error-validation.xml +++ b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/seine/FloatingObjectDto-ui-update-error-validation.xml @@ -60,19 +60,6 @@ </field> - <field name="supportVesselName"> - - <!-- supportVesselName de ${maxLength} caractères maximum --> - <field-validator type="fieldexpressionwithparams"> - <param name="intParams">maxLength:32</param> - <param name="expression"> - <![CDATA[ supportVesselName == null || supportVesselName.length() < ints.maxLength ]]> - </param> - <message>validator.ui.floatingObject.size.supportVesselName##${ints.maxLength}</message> - </field-validator> - - </field> - <field name="daysAtSeaCount"> <!-- count de jours a la mer positif --> diff --git a/application-swing-validation/src/main/resources/i18n/application-swing-validation_en_GB.properties b/application-swing-validation/src/main/resources/i18n/application-swing-validation_en_GB.properties index 961e673..cd26f38 100644 --- a/application-swing-validation/src/main/resources/i18n/application-swing-validation_en_GB.properties +++ b/application-swing-validation/src/main/resources/i18n/application-swing-validation_en_GB.properties @@ -304,7 +304,6 @@ validator.ui.floatingObject.required.comment.for.type=A comment is required for validator.ui.floatingObject.required.objectFate=Object fate must be filled. validator.ui.floatingObject.required.objectOperation=Object operation must be filled. validator.ui.floatingObject.required.type=Type must be filled. -validator.ui.floatingObject.size.supportVesselName=Support vessel name length can't exceed %S characters. validator.ui.floatlinesComposition.bound.length=Length must be between %1$s and %2$s. validator.ui.floatlinesComposition.bound.proportion=Proportion must be between %1$s and %2$s. validator.ui.floatlinesComposition.desactivated.lineType=Selected line type is disabled. diff --git a/application-swing-validation/src/main/resources/i18n/application-swing-validation_es_ES.properties b/application-swing-validation/src/main/resources/i18n/application-swing-validation_es_ES.properties index e9601b5..d7cc884 100644 --- a/application-swing-validation/src/main/resources/i18n/application-swing-validation_es_ES.properties +++ b/application-swing-validation/src/main/resources/i18n/application-swing-validation_es_ES.properties @@ -304,7 +304,6 @@ validator.ui.floatingObject.required.comment.for.type=Se requiere un comentario validator.ui.floatingObject.required.objectFate=Se recomienda seleccionar un futuro (devenir). validator.ui.floatingObject.required.objectOperation=Es obligatorio seleccionar un operación. validator.ui.floatingObject.required.type=Es obligatorio seleccionar un tipo de objeto. -validator.ui.floatingObject.size.supportVesselName=El número introducido debe tener una longitud inferior a %1$s caracteres. validator.ui.floatlinesComposition.bound.length=La longitud debe ser entre %s y %s. validator.ui.floatlinesComposition.bound.proportion=La proporción debe ser entre %s y %s. validator.ui.floatlinesComposition.desactivated.lineType=El tipo seleccionado está desactivado. diff --git a/application-swing-validation/src/main/resources/i18n/application-swing-validation_fr_FR.properties b/application-swing-validation/src/main/resources/i18n/application-swing-validation_fr_FR.properties index 127a3a9..10c1d1d 100644 --- a/application-swing-validation/src/main/resources/i18n/application-swing-validation_fr_FR.properties +++ b/application-swing-validation/src/main/resources/i18n/application-swing-validation_fr_FR.properties @@ -304,7 +304,6 @@ validator.ui.floatingObject.required.comment.for.type=Un commentaire est requis validator.ui.floatingObject.required.objectFate=La sélection d'un devenir d'objet est conseillée. validator.ui.floatingObject.required.objectOperation=La sélection d'une opération d'objet est obligatoire. validator.ui.floatingObject.required.type=La sélection d'un type d'objet est obligatoire. -validator.ui.floatingObject.size.supportVesselName=Le nom supply doit avoir une taille inférieure à %1$s caractères. validator.ui.floatlinesComposition.bound.length=La longueur doit être comprise entre %s et %s. validator.ui.floatlinesComposition.bound.proportion=La proportion doit être comprise entre %s et %s. validator.ui.floatlinesComposition.desactivated.lineType=Le type sélectionnée est désactivée. diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUI.jaxx index 2283918..796d75e 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUI.jaxx @@ -92,19 +92,6 @@ </cell> </row> <row> - <cell anchor="west"> - <JLabel id='supportVesselNameLabel'/> - </cell> - <cell anchor='east' weightx="1" fill="both"> - <JPanel layout='{new BorderLayout()}'> - <JToolBar id='supportVesselNameToolbar' constraints='BorderLayout.WEST'> - <JButton id='resetSupportVesselName' constraints='BorderLayout.WEST' styleClass='resetButton'/> - </JToolBar> - <JTextField id='supportVesselName' constraints='BorderLayout.CENTER'/> - </JPanel> - </cell> - </row> - <row> <cell columns='2' fill="both" weighty="0.7"> <JScrollPane id='comment' onFocusGained='comment2.requestFocus()'> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUI.jcss index 1cff29f..81ba641 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUI.jcss @@ -77,22 +77,6 @@ BeanComboBox { numberPattern:{fr.ird.observe.application.swing.ui.UIHelper.INT_6_DIGITS_PATTERN}; } -#supportVesselNameLabel { - text:"observe.common.supportVesselName"; - labelFor:{supportVesselName}; -} - -#supportVesselName { - _propertyName:{FloatingObjectDto.PROPERTY_SUPPORT_VESSEL_NAME}; - text:{getStringValue(bean.getSupportVesselName())}; - _validatorLabel:{t("observe.common.supportVesselName")}; -} - -#resetSupportVesselName{ - toolTipText:"observe.content.action.reset.supportVesselName.tip"; - _resetPropertyName:{FloatingObjectDto.PROPERTY_SUPPORT_VESSEL_NAME}; -} - #comment { columnHeaderView:{new JLabel(t("observe.common.comment.floatingObject"))}; minimumSize:{new Dimension(10,50)}; diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUIHandler.java index 632387d..f03490c 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUIHandler.java @@ -156,7 +156,6 @@ public class FloatingObjectUIHandler extends ContentUIHandler<FloatingObjectDto> super.startEditUI(FloatingObjectUI.BINDING_DAYS_AT_SEA_COUNT_MODEL, FloatingObjectUI.BINDING_OBJECT_TYPE_SELECTED_ITEM, FloatingObjectUI.BINDING_OBJECT_FATE_SELECTED_ITEM, - FloatingObjectUI.BINDING_SUPPORT_VESSEL_NAME_TEXT, FloatingObjectUI.BINDING_COMMENT2_TEXT); contentUIModel.setModified(create); } diff --git a/application-swing/src/main/resources/i18n/application-swing_en_GB.properties b/application-swing/src/main/resources/i18n/application-swing_en_GB.properties index 717dd9b..a24fca8 100644 --- a/application-swing/src/main/resources/i18n/application-swing_en_GB.properties +++ b/application-swing/src/main/resources/i18n/application-swing_en_GB.properties @@ -487,7 +487,6 @@ observe.common.startLogValue=Start log value observe.common.status=Status observe.common.step.description=Step description observe.common.storage.not.valid=Data source not configured -observe.common.supportVesselName=Support vessel name observe.common.surroundingActivity=Surrounding activity observe.common.taille=Length observe.common.taillePoids.caracteristics=Length-Weight caracteristics diff --git a/application-swing/src/main/resources/i18n/application-swing_es_ES.properties b/application-swing/src/main/resources/i18n/application-swing_es_ES.properties index 5807c0f..7f8ce44 100644 --- a/application-swing/src/main/resources/i18n/application-swing_es_ES.properties +++ b/application-swing/src/main/resources/i18n/application-swing_es_ES.properties @@ -487,7 +487,6 @@ observe.common.startLogValue=Corredera de mañana (millas) observe.common.status=Estado observe.common.step.description=Descripción de la etapa observe.common.storage.not.valid=Fuente de datos no configurada -observe.common.supportVesselName=Nombre del supply observe.common.surroundingActivity=Actividad circundante observe.common.taille=Talla (cm) observe.common.taillePoids.caracteristics=Características Talla-Peso diff --git a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties index d622503..8ca5b83 100644 --- a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties +++ b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties @@ -487,7 +487,6 @@ observe.common.startLogValue=Loch du matin (milles) observe.common.status=Statut observe.common.step.description=Description de l'étape observe.common.storage.not.valid=Source de données non configurée -observe.common.supportVesselName=Nom supply observe.common.surroundingActivity=Activité environnante observe.common.taille=Taille (cm) observe.common.taillePoids.caracteristics=Caractéristiques Taille-Poids -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 86eadcdf38de1db0b6aaf9b0c61e9c839d0fbd66 Merge: 46db19b 1ec6cd6 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Oct 28 09:44:29 2016 +0200 [PS] Supprimer le champ floattingobject.supportvesselname (Fixes #6997) Merge branch 'feature/6997' into develop ...FloatingObjectDto-ui-create-error-validation.xml | 13 ------------- ...FloatingObjectDto-ui-update-error-validation.xml | 13 ------------- .../application-swing-validation_en_GB.properties | 1 - .../application-swing-validation_es_ES.properties | 1 - .../application-swing-validation_fr_FR.properties | 1 - .../ui/content/impl/seine/FloatingObjectUI.jaxx | 13 ------------- .../ui/content/impl/seine/FloatingObjectUI.jcss | 16 ---------------- .../content/impl/seine/FloatingObjectUIHandler.java | 1 - .../i18n/application-swing_en_GB.properties | 1 - .../i18n/application-swing_es_ES.properties | 1 - .../i18n/application-swing_fr_FR.properties | 1 - .../versions/DataSourceMigrationForVersion_5_1.java | 1 + ...5_1_03_evol-6997_delete_supportVesselName-H2.sql | 1 + ...5_1_03_evol-6997_delete_supportVesselName-PG.sql | 1 + entities/src/main/xmi/observe-seine.zargo | Bin 83339 -> 83232 bytes .../src/main/xmi/observe-services-dto-seine.zargo | Bin 58859 -> 58766 bytes .../FloatingObject-service-error-validation.xml | 13 ------------- .../i18n/services-topia-validation_en_GB.properties | 1 - .../i18n/services-topia-validation_es_ES.properties | 1 - .../i18n/services-topia-validation_fr_FR.properties | 1 - .../topia/binder/data/FloatingObjectBinder.java | 2 -- 21 files changed, 3 insertions(+), 80 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm