This is an automated email from the git hooks/post-receive script. New change to branch feature/4309_synchro_referential in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git at 89a4ea3 alignement du service pour les taches sql à generer This branch includes the following new commits: new e164366 -mAdd new icons new 0490642 Review package for all synchros + continue referential synchro dev new a963a62 Reorganize i18n in swing module new 61a2997 Remove unused class new 2dc78e5 Renommage tasks new 5c87573 Invert! new 4764b16 Amélioration api node new 0b59077 amélioration renderer new faf9de4 Do not use the sunchronize mode to build referential diffs new ae5ce60 Simplify noe api new f5b1fc2 La partie graphique est ok new 3687c3d change log level new 89a4ea3 alignement du service pour les taches sql à generer The 13 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 89a4ea3db9529222769f30f087e45cbed16a2b53 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Aug 13 18:07:32 2016 +0200 alignement du service pour les taches sql à generer commit 3687c3dd551c45f5cb7f46da0f45a51ee7f987ce Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Aug 13 18:00:46 2016 +0200 change log level commit f5b1fc241710a563418f1aa60d96c63bb1cb99bf Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Aug 13 18:00:24 2016 +0200 La partie graphique est ok commit ae5ce608209a6674db7fd9d5e0f4685b0ee56ef3 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Aug 11 15:50:29 2016 +0200 Simplify noe api commit faf9de4e17496f1a0549b544f773922ef7c55914 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Aug 11 15:49:44 2016 +0200 Do not use the sunchronize mode to build referential diffs commit 0b59077a182a8478725385eb73c893548a874c48 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Aug 11 11:39:59 2016 +0200 amélioration renderer commit 4764b165876f4a4e968e0c588def13198a17eec2 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Aug 11 11:38:38 2016 +0200 Amélioration api node commit 5c875730241784fe4c609b3cdf7a3213a082f575 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Aug 11 11:38:11 2016 +0200 Invert! commit 2dc78e5109671aca73f02f399a34cb142df3998d Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Aug 11 11:37:55 2016 +0200 Renommage tasks commit 61a29978654c24bb0e2b846d07c5a7bf1028d247 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Aug 10 19:07:06 2016 +0200 Remove unused class commit a963a621c00c53407dc74743620f3707ec1180de Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Aug 10 19:06:44 2016 +0200 Reorganize i18n in swing module commit 049064219dce39cf2a6545b848800d8da056039d Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Aug 10 19:06:14 2016 +0200 Review package for all synchros + continue referential synchro dev commit e164366ca7fd2052e6f57284cbdd5efc02f19385 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Aug 10 14:21:28 2016 +0200 -mAdd new icons -- 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 feature/4309_synchro_referential in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit e164366ca7fd2052e6f57284cbdd5efc02f19385 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Aug 10 14:21:28 2016 +0200 -mAdd new icons --- .../src/main/filters/observe-ui.properties | 13 +++++++++++++ .../src/main/resources/icons/action-copyToBoth.png | Bin 0 -> 685 bytes .../main/resources/icons/action-desactivateFromLeft.png | Bin 0 -> 796 bytes .../icons/action-desactivateFromLeftWithReplace.png | Bin 0 -> 796 bytes .../main/resources/icons/action-desactivateFromRight.png | Bin 0 -> 796 bytes .../icons/action-desactivateFromRightWithReplace.png | Bin 0 -> 796 bytes .../src/main/resources/icons/action-revertFromLeft.png | Bin 0 -> 770 bytes .../src/main/resources/icons/action-revertFromRight.png | Bin 0 -> 770 bytes .../src/main/resources/icons/action-skipFromLeft.png | Bin 0 -> 655 bytes .../src/main/resources/icons/action-skipFromRight.png | Bin 0 -> 655 bytes .../src/main/resources/icons/action-synchroAdd.png | Bin 0 -> 658 bytes .../src/main/resources/icons/action-synchroDelete.png | Bin 0 -> 659 bytes .../src/main/resources/icons/action-synchroRevert.png | Bin 0 -> 770 bytes .../src/main/resources/icons/action-synchroUpdate.png | Bin 0 -> 698 bytes 14 files changed, 13 insertions(+) diff --git a/observe-application-swing/src/main/filters/observe-ui.properties b/observe-application-swing/src/main/filters/observe-ui.properties index ce7bbde..8ff0726 100644 --- a/observe-application-swing/src/main/filters/observe-ui.properties +++ b/observe-application-swing/src/main/filters/observe-ui.properties @@ -101,6 +101,7 @@ icon.action.connect_no=action-connect_no.png icon.action.connect_ok=action-connect_ok.png icon.action.copyToLeft=action-copyToLeft.png icon.action.copyToRight=action-copyToRight.png +icon.action.copyToBoth=action-copyToBoth.png icon.action.close=action-close.png icon.action.db-change=action-db-change.png icon.action.db-local=action-db-local.png @@ -110,6 +111,16 @@ icon.action.db-remote=action-db-remote.png icon.action.db-reload=action-db-reload.png icon.action.db-start-server=action-db-start-server.png icon.action.db-stop-server=action-db-stop-server.png +icon.action.desactivateFromLeft=action-desactivateFromLeft.png +icon.action.desactivateFromRight=action-desactivateFromRight.png +icon.action.desactivateFromLeftWithReplace=action-desactivateFromLeftWithReplace.png +icon.action.desactivateFromRightWithReplace=action-desactivateFromRightWithReplace.png +icon.action.skipFromLeft=action-skipFromLeft.png +icon.action.skipFromRight=action-skipFromRight.png +icon.action.synchroAdd=action-synchroAdd.png +icon.action.synchroUpdate=action-synchroUpdate.png +icon.action.synchroRevert=action-synchroRevert.png +icon.action.synchroDelete=action-synchroDelete.png icon.action.delete=action-delete.png icon.action.deleteFromLeft=action-deleteFromLeft.png icon.action.deleteFromRight=action-deleteFromRight.png @@ -138,6 +149,8 @@ icon.action.remote-export=action-remote-export.png icon.action.remote-import=action-remote-import.png icon.action.remove=action-remove.png icon.action.revert=action-revert.png +icon.action.revertFromLeft=action-revertFromLeft.png +icon.action.revertFromRight=action-revertFromRight.png icon.action.save=action-save.png icon.action.select-ssl-cert=action-select-ssl-cert.png icon.action.show-help=action-show-help.png diff --git a/observe-application-swing/src/main/resources/icons/action-copyToBoth.png b/observe-application-swing/src/main/resources/icons/action-copyToBoth.png new file mode 100644 index 0000000..0de2656 Binary files /dev/null and b/observe-application-swing/src/main/resources/icons/action-copyToBoth.png differ diff --git a/observe-application-swing/src/main/resources/icons/action-desactivateFromLeft.png b/observe-application-swing/src/main/resources/icons/action-desactivateFromLeft.png new file mode 100644 index 0000000..b335cb1 Binary files /dev/null and b/observe-application-swing/src/main/resources/icons/action-desactivateFromLeft.png differ diff --git a/observe-application-swing/src/main/resources/icons/action-desactivateFromLeftWithReplace.png b/observe-application-swing/src/main/resources/icons/action-desactivateFromLeftWithReplace.png new file mode 100644 index 0000000..b335cb1 Binary files /dev/null and b/observe-application-swing/src/main/resources/icons/action-desactivateFromLeftWithReplace.png differ diff --git a/observe-application-swing/src/main/resources/icons/action-desactivateFromRight.png b/observe-application-swing/src/main/resources/icons/action-desactivateFromRight.png new file mode 100644 index 0000000..b335cb1 Binary files /dev/null and b/observe-application-swing/src/main/resources/icons/action-desactivateFromRight.png differ diff --git a/observe-application-swing/src/main/resources/icons/action-desactivateFromRightWithReplace.png b/observe-application-swing/src/main/resources/icons/action-desactivateFromRightWithReplace.png new file mode 100644 index 0000000..b335cb1 Binary files /dev/null and b/observe-application-swing/src/main/resources/icons/action-desactivateFromRightWithReplace.png differ diff --git a/observe-application-swing/src/main/resources/icons/action-revertFromLeft.png b/observe-application-swing/src/main/resources/icons/action-revertFromLeft.png new file mode 100644 index 0000000..ff803be Binary files /dev/null and b/observe-application-swing/src/main/resources/icons/action-revertFromLeft.png differ diff --git a/observe-application-swing/src/main/resources/icons/action-revertFromRight.png b/observe-application-swing/src/main/resources/icons/action-revertFromRight.png new file mode 100644 index 0000000..ff803be Binary files /dev/null and b/observe-application-swing/src/main/resources/icons/action-revertFromRight.png differ diff --git a/observe-application-swing/src/main/resources/icons/action-skipFromLeft.png b/observe-application-swing/src/main/resources/icons/action-skipFromLeft.png new file mode 100644 index 0000000..1514d51 Binary files /dev/null and b/observe-application-swing/src/main/resources/icons/action-skipFromLeft.png differ diff --git a/observe-application-swing/src/main/resources/icons/action-skipFromRight.png b/observe-application-swing/src/main/resources/icons/action-skipFromRight.png new file mode 100644 index 0000000..1514d51 Binary files /dev/null and b/observe-application-swing/src/main/resources/icons/action-skipFromRight.png differ diff --git a/observe-application-swing/src/main/resources/icons/action-synchroAdd.png b/observe-application-swing/src/main/resources/icons/action-synchroAdd.png new file mode 100644 index 0000000..802bd6c Binary files /dev/null and b/observe-application-swing/src/main/resources/icons/action-synchroAdd.png differ diff --git a/observe-application-swing/src/main/resources/icons/action-synchroDelete.png b/observe-application-swing/src/main/resources/icons/action-synchroDelete.png new file mode 100644 index 0000000..cce652e Binary files /dev/null and b/observe-application-swing/src/main/resources/icons/action-synchroDelete.png differ diff --git a/observe-application-swing/src/main/resources/icons/action-synchroRevert.png b/observe-application-swing/src/main/resources/icons/action-synchroRevert.png new file mode 100644 index 0000000..ff803be Binary files /dev/null and b/observe-application-swing/src/main/resources/icons/action-synchroRevert.png differ diff --git a/observe-application-swing/src/main/resources/icons/action-synchroUpdate.png b/observe-application-swing/src/main/resources/icons/action-synchroUpdate.png new file mode 100644 index 0000000..61a8556 Binary files /dev/null and b/observe-application-swing/src/main/resources/icons/action-synchroUpdate.png 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 feature/4309_synchro_referential in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 049064219dce39cf2a6545b848800d8da056039d Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Aug 10 19:06:14 2016 +0200 Review package for all synchros + continue referential synchro dev --- .../data}/DataSynchroModel.java | 3 +- .../data}/DataSynchroUI.jaxx | 0 .../data}/DataSynchroUI.jcss | 22 +- .../data}/DataSynchroUIHandler.java | 64 ++-- .../data}/DataSynchronizeTaskListCellRenderer.java | 4 +- .../data/task}/CopyToLeftDataSynchronizeTask.java | 4 +- .../data/task}/CopyToRightDataSynchronizeTask.java | 4 +- .../data/task}/DataSynchronizeTaskSupport.java | 2 +- .../task}/DeleteFromLeftDataSynchronizeTask.java | 4 +- .../task}/DeleteFromRightDataSynchronizeTask.java | 4 +- .../legacy}/ObsoleteReferentialReference.java | 2 +- ...soleteReferentialReferenceListCellRenderer.java | 2 +- .../{ => referential/legacy}/SynchronizeModel.java | 10 +- .../{ => referential/legacy}/SynchronizeUI.jaxx | 4 +- .../{ => referential/legacy}/SynchronizeUI.jcss | 2 +- .../legacy}/SynchronizeUIHandler.java | 32 +- .../referential/ng/ReferentialSelectionModel.java | 358 ++++++++++++++++++ .../referential/ng/ReferentialSynchroConfigUI.jaxx | 80 ++++ .../referential/ng/ReferentialSynchroConfigUI.jcss | 54 +++ .../referential/ng/ReferentialSynchroModel.java | 123 ++++++ .../referential/ng/ReferentialSynchroUI.jaxx} | 48 +-- .../referential/ng/ReferentialSynchroUI.jcss | 150 ++++++++ .../ng/ReferentialSynchroUIHandler.java | 311 ++++++++++++++++ ...eferentialSynchronizeTaskListCellRenderer.java} | 8 +- .../task/CopyToLeftReferentialSynchronizeTask.java | 25 ++ .../CopyToRightReferentialSynchronizeTask.java | 25 ++ .../DeleteFromLeftReferentialSynchronizeTask.java | 25 ++ .../DeleteFromRightReferentialSynchronizeTask.java | 25 ++ ...activateFromLeftReferentialSynchronizeTask.java | 25 ++ ...mLeftWithReplaceReferentialSynchronizeTask.java | 25 ++ ...ctivateFromRightReferentialSynchronizeTask.java | 25 ++ ...RightWithReplaceReferentialSynchronizeTask.java | 25 ++ .../ng/task/ReferentialSynchronizeTaskSupport.java | 48 +++ .../RevertFromLeftReferentialSynchronizeTask.java | 25 ++ .../RevertFromRightReferentialSynchronizeTask.java | 25 ++ .../SkipFromLeftReferentialSynchronizeTask.java | 25 ++ .../SkipFromRightReferentialSynchronizeTask.java | 25 ++ .../ReferentialSynchronizeTreeCellRenderer.java | 141 +++++++ .../ng/tree/ReferentialSynchronizeTreeModel.java | 411 +++++++++++++++++++++ .../tree/node/ReferenceReferentialSynchroNode.java | 91 +++++ .../node/ReferenceReferentialSynchroNodeType.java | 70 ++++ .../tree/node/ReferentialSynchroNodeSupport.java | 53 +++ .../ng/tree/node/ReferentialSynchroNodeType.java | 13 + .../ng/tree/node/RootReferentialSynchroNode.java | 82 ++++ .../ng/tree/node/TypeReferentialSynchroNode.java | 107 ++++++ .../data}/DataSynchronizeServiceController.java | 6 +- ...eferentialSynchronizeDiffServiceController.java | 34 ++ ...ferentialSynchronizeLocalServiceController.java | 8 +- ...erentialSynchronizeRemoteServiceController.java | 8 +- .../ReferentialSynchronizeServiceController.java | 32 ++ .../observe/services/ObserveServicesProvider.java | 12 +- .../datasynchro/DataSynchronizeCopyTask.java | 27 -- .../datasynchro/DataSynchronizeDeleteTask.java | 27 -- .../datasynchro/DataSyncrhonizeTaskSupport.java | 26 -- .../data}/DataSynchronizeRequest.java | 4 +- .../data}/DataSynchronizeService.java | 2 +- .../synchro/data/task/DataSynchronizeCopyTask.java | 14 + .../data/task/DataSynchronizeDeleteTask.java | 14 + .../data/task/DataSynchronizeTaskSupport.java | 44 +++ .../referential/ReferentialSynchronizeMode.java | 69 ++++ .../diff/ReferentialDataSourceState.java | 65 ++++ .../diff/ReferentialDataSourceStates.java | 47 +++ .../diff/ReferentialSynchronizeDiff.java | 97 +++++ .../diff/ReferentialSynchronizeDiffService.java | 30 ++ .../diff/ReferentialSynchronizeDiffState.java | 67 ++++ .../diff/ReferentialSynchronizeDiffStateType.java | 15 + .../diff/ReferentialSynchronizeDiffs.java | 125 +++++++ .../diff/ReferentialSynchronizeDiffsEngine.java | 111 ++++++ .../legacy}/LocalReferentialStates.java | 2 +- .../legacy}/RemoteReferentialDiff.java | 2 +- ...ionalReferentialSynchronizeCallbackRequest.java | 2 +- ...onalReferentialSynchronizeCallbackRequests.java | 2 +- ...tionalReferentialSynchronizeCallbackResult.java | 2 +- ...ionalReferentialSynchronizeCallbackResults.java | 2 +- ...nidirectionalReferentialSynchronizeContext.java | 2 +- ...UnidirectionalReferentialSynchronizeEngine.java | 2 +- ...ectionalReferentialSynchronizeLocalService.java | 2 +- ...ctionalReferentialSynchronizeRemoteService.java | 2 +- ...nidirectionalReferentialSynchronizeRequest.java | 2 +- ...UnidirectionalReferentialSynchronizeResult.java | 2 +- .../ng/ReferentialSynchronizeRequest.java | 146 ++++++++ .../ng/ReferentialSynchronizeService.java} | 10 +- .../ng/task/ReferentialSynchronizeCopyTask.java | 17 + .../ng/task/ReferentialSynchronizeDeleteTask.java | 17 + .../ReferentialSynchronizeDesactivateTask.java | 17 + ...ntialSynchronizeDesactivateWithReplaceTask.java | 17 + .../ng/task/ReferentialSynchronizeTaskSupport.java | 38 ++ .../i18n/observe-services-api_en_GB.properties | 6 + .../i18n/observe-services-api_es_ES.properties | 6 + .../i18n/observe-services-api_fr_FR.properties | 6 + .../data}/DataSynchronizeServiceTopia.java | 39 +- .../ReferentialSynchronizeDiffServiceTopia.java | 108 ++++++ .../legacy}/DeleteSqlStatementGenerator.java | 2 +- .../legacy}/InsertSqlStatementGenerator.java | 2 +- .../legacy}/ReplaceSqlStatementGenerator.java | 2 +- ...nalReferentialSynchronizeLocalServiceTopia.java | 2 +- ...alReferentialSynchronizeRemoteServiceTopia.java | 2 +- .../legacy}/UpdateSqlStatementGenerator.java | 2 +- .../ng/ReferentialSynchronizeServiceTopia.java | 135 +++++++ .../UnidirectionalSynchronizeReferentialTest.java | 6 + 100 files changed, 3846 insertions(+), 253 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DataSynchroModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/DataSynchroModel.java similarity index 96% rename from observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DataSynchroModel.java rename to observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/DataSynchroModel.java index d41df3c..d77f8d6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DataSynchroModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/DataSynchroModel.java @@ -1,8 +1,9 @@ -package fr.ird.observe.ui.admin.datasynchro; +package fr.ird.observe.ui.admin.synchronize.data; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.ui.admin.AdminActionModel; import fr.ird.observe.ui.admin.AdminStep; +import fr.ird.observe.ui.admin.synchronize.data.task.DataSynchronizeTaskSupport; import fr.ird.observe.ui.storage.tabs.DataSelectionModel; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DataSynchroUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/DataSynchroUI.jaxx similarity index 100% copy from observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DataSynchroUI.jaxx copy to observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/DataSynchroUI.jaxx diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DataSynchroUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/DataSynchroUI.jcss similarity index 82% rename from observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DataSynchroUI.jcss rename to observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/DataSynchroUI.jcss index c512d22..5d4d5cd 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DataSynchroUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/DataSynchroUI.jcss @@ -29,10 +29,6 @@ resizeWeight: 0.8; } -#startAction { - actionIcon:"wizard-start"; -} - #applyAction { actionIcon:accept; text:"observe.action.apply"; @@ -46,7 +42,7 @@ showsRootHandles:false; toggleClickCount:100; selectionModel:{leftSelectionModel}; - cellRenderer:{leftSelectionRenderer}; + cellRenderer:{new DataSelectionTreeCellRenderer()}; } #leftSelectionModel { @@ -66,7 +62,7 @@ showsRootHandles:false; toggleClickCount:100; selectionModel:{rightSelectionModel}; - cellRenderer:{rightSelectionRenderer}; + cellRenderer:{new DataSelectionTreeCellRenderer()}; } #rightSelectionModel { @@ -80,30 +76,30 @@ #copyToLeft { actionIcon:copyToLeft; - toolTipText:"observe.action.copyToLeft.tip"; + toolTipText:"observe.actions.synchro.data.copyToLeft.tip"; enabled:false; } #copyToRight { actionIcon:copyToRight; - toolTipText:"observe.action.copyToRight.tip"; + toolTipText:"observe.actions.synchro.data.copyToRight.tip"; enabled:false; } #deleteFromLeft { - actionIcon:delete; - toolTipText:"observe.action.deleteFromLeft.tip"; + actionIcon:deleteFromLeft; + toolTipText:"observe.actions.synchro.data.deleteFromLeft.tip"; enabled:false; } #deleteFromRight { - actionIcon:delete; - toolTipText:"observe.action.deleteFromRight.tip"; + actionIcon:deleteFromRight; + toolTipText:"observe.actions.synchro.data.deleteFromRight.tip"; enabled:false; } #actionsToConsumePane { - border:{new TitledBorder(t("observe.datasynchro.actionsToPerform"))}; + border:{new TitledBorder(t("observe.actions.synchro.data.actionsToPerform"))}; verticalScrollBarPolicy:{JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DataSynchroUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/DataSynchroUIHandler.java similarity index 83% rename from observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DataSynchroUIHandler.java rename to observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/DataSynchroUIHandler.java index 5629f7b..c44d9fb 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DataSynchroUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/DataSynchroUIHandler.java @@ -1,4 +1,4 @@ -package fr.ird.observe.ui.admin.datasynchro; +package fr.ird.observe.ui.admin.synchronize.data; import fr.ird.observe.application.swing.decoration.DecoratorService; import fr.ird.observe.application.swing.decoration.decorators.ReferentialReferenceDecorator; @@ -7,16 +7,20 @@ import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopia import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ReferentialReference; -import fr.ird.observe.services.service.actions.datasynchro.DataSynchronizeCopyTask; -import fr.ird.observe.services.service.actions.datasynchro.DataSynchronizeDeleteTask; -import fr.ird.observe.services.service.actions.datasynchro.DataSynchronizeRequest; -import fr.ird.observe.services.service.actions.datasynchro.DataSynchronizeService; +import fr.ird.observe.services.service.actions.synchro.data.DataSynchronizeRequest; +import fr.ird.observe.services.service.actions.synchro.data.DataSynchronizeService; +import fr.ird.observe.services.service.actions.synchro.data.task.DataSynchronizeCopyTask; +import fr.ird.observe.services.service.actions.synchro.data.task.DataSynchronizeDeleteTask; +import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.admin.AdminTabUI; import fr.ird.observe.ui.admin.AdminTabUIHandler; import fr.ird.observe.ui.admin.AdminUI; +import fr.ird.observe.ui.admin.synchronize.data.task.CopyToLeftDataSynchronizeTask; +import fr.ird.observe.ui.admin.synchronize.data.task.CopyToRightDataSynchronizeTask; +import fr.ird.observe.ui.admin.synchronize.data.task.DataSynchronizeTaskSupport; +import fr.ird.observe.ui.admin.synchronize.data.task.DeleteFromLeftDataSynchronizeTask; +import fr.ird.observe.ui.admin.synchronize.data.task.DeleteFromRightDataSynchronizeTask; import fr.ird.observe.ui.storage.tabs.DataSelectionModel; -import fr.ird.observe.ui.tree.DataSelectionTreeCellRenderer; -import fr.ird.observe.ui.tree.ObserveNode; import fr.ird.observe.ui.tree.ObserveTreeHelper; import jaxx.runtime.swing.wizard.ext.WizardState; import org.apache.commons.logging.Log; @@ -26,7 +30,6 @@ import javax.swing.DefaultListModel; import javax.swing.border.TitledBorder; import java.util.List; import java.util.Map; -import java.util.Set; import static org.nuiton.i18n.I18n.t; @@ -86,8 +89,8 @@ public class DataSynchroUIHandler extends AdminTabUIHandler { }); - DataSelectionTreeCellRenderer.initUI(tabUI.getLeftTreePane(), tabUI.getLeftTree()); - DataSelectionTreeCellRenderer.initUI(tabUI.getRightTreePane(), tabUI.getRightTree()); + UIHelper.initUI(tabUI.getLeftTreePane(), tabUI.getLeftTree()); + UIHelper.initUI(tabUI.getRightTreePane(), tabUI.getRightTree()); getStepModel().addPropertyChangeListener(DataSynchroModel.LEFT_SOURCE_PROPERTY_NAME, evt -> { @@ -97,7 +100,7 @@ public class DataSynchroUIHandler extends AdminTabUIHandler { tabUI.getLeftTreePane().setBorder(new TitledBorder(getModel().getLocalSourceModel().getLabel())); stepModel.populateLeftSelectionModel(); updateSelectionModel(tabUI, tabUI.getLeftTreeHelper(), tabUI.getLeftTree(), dataSource, stepModel.getLeftSelectionDataModel(), tabUI.getLeftSelectionModel()); - sendMessage(t("observe.message.datasynchro.leftData.loaded")); + sendMessage(t("observe.actions.synchro.referential.message.data.leftData.loaded")); }); getStepModel().addPropertyChangeListener(DataSynchroModel.RIGHT_SOURCE_PROPERTY_NAME, evt -> { @@ -108,7 +111,7 @@ public class DataSynchroUIHandler extends AdminTabUIHandler { tabUI.getRightTreePane().setBorder(new TitledBorder(getModel().getCentralSourceModel().getLabel())); stepModel.populateRightSelectionModel(); updateSelectionModel(tabUI, tabUI.getRightTreeHelper(), tabUI.getRightTree(), dataSource, stepModel.getRightSelectionDataModel(), tabUI.getRightSelectionModel()); - sendMessage(t("observe.message.datasynchro.rightData.loaded")); + sendMessage(t("observe.actions.synchro.referential.message.data.rightData.loaded")); }); @@ -225,35 +228,35 @@ public class DataSynchroUIHandler extends AdminTabUIHandler { if (task instanceof DeleteFromLeftDataSynchronizeTask) { - sendMessage(t("observe.datasynchro.prepare.deleteFromLeftTask", programStr, tripStr)); + sendMessage(t("observe.actions.synchro.data.prepare.deleteFromLeftTask", programStr, tripStr)); leftDataSynchronizeRequestBuilder.addDeleteTask(new DataSynchronizeDeleteTask(task.getProgram().getId(), task.getTrip().getId())); continue; } if (task instanceof DeleteFromRightDataSynchronizeTask) { - sendMessage(t("observe.datasynchro.prepare.deleteFromRightTask", programStr, tripStr)); + sendMessage(t("observe.actions.synchro.data.prepare.deleteFromRightTask", programStr, tripStr)); rightDataSynchronizeRequestBuilder.addDeleteTask(new DataSynchronizeDeleteTask(task.getProgram().getId(), task.getTrip().getId())); continue; } if (task instanceof CopyToLeftDataSynchronizeTask) { - CopyToLeftDataSynchronizeTask copyTask = (CopyToLeftDataSynchronizeTask) task; - if (copyTask.isTripExistOnLeft()) { - sendMessage(t("observe.datasynchro.prepare.deleteFromLeftTask", programStr, tripStr)); + CopyToLeftDataSynchronizeTask task1 = (CopyToLeftDataSynchronizeTask) task; + if (task1.isTripExistOnLeft()) { + sendMessage(t("observe.actions.synchro.data.prepare.deleteFromLeftTask", programStr, tripStr)); leftDataSynchronizeRequestBuilder.addDeleteTask(new DataSynchronizeDeleteTask(task.getProgram().getId(), task.getTrip().getId())); } - sendMessage(t("observe.datasynchro.prepare.copyToLeftTask", programStr, tripStr)); + sendMessage(t("observe.actions.synchro.data.prepare.copyToLeftTask", programStr, tripStr)); leftDataSynchronizeRequestBuilder.addCopyTask(new DataSynchronizeCopyTask(task.getProgram().getId(), task.getTrip().getId())); continue; } if (task instanceof CopyToRightDataSynchronizeTask) { - CopyToRightDataSynchronizeTask copyTask = (CopyToRightDataSynchronizeTask) task; - if (copyTask.isTripExistOnRight()) { - sendMessage(t("observe.datasynchro.prepare.deleteFromRightTask", programStr, tripStr)); + CopyToRightDataSynchronizeTask task1 = (CopyToRightDataSynchronizeTask) task; + if (task1.isTripExistOnRight()) { + sendMessage(t("observe.actions.synchro.data.prepare.deleteFromRightTask", programStr, tripStr)); rightDataSynchronizeRequestBuilder.addDeleteTask(new DataSynchronizeDeleteTask(task.getProgram().getId(), task.getTrip().getId())); } - sendMessage(t("observe.datasynchro.prepare.copyToRightTask", programStr, tripStr)); + sendMessage(t("observe.actions.synchro.data.prepare.copyToRightTask", programStr, tripStr)); rightDataSynchronizeRequestBuilder.addCopyTask(new DataSynchronizeCopyTask(task.getProgram().getId(), task.getTrip().getId())); } @@ -280,21 +283,4 @@ public class DataSynchroUIHandler extends AdminTabUIHandler { } - private void adddTripToTree(ReferentialReference<ProgramDto> program, DataReference trip, ObserveTreeHelper treeHelper, DataSelectionModel selectionDataModel) { - - - Set<ReferentialReference<ProgramDto>> programs = selectionDataModel.getPrograms(); - ObserveNode programNode; - if (programs.contains(program)) { - programNode = treeHelper.getChild(treeHelper.getRootNode(), program.getId()); - } else { - programNode = treeHelper.addProgram(programs, program); - } - - selectionDataModel.addData(program, trip); - ObserveNode observeNode = treeHelper.addSimpleTrip(programNode, trip); - treeHelper.selectNode(observeNode); - - } - } \ No newline at end of file diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DataSynchronizeTaskListCellRenderer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/DataSynchronizeTaskListCellRenderer.java similarity index 84% copy from observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DataSynchronizeTaskListCellRenderer.java copy to observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/DataSynchronizeTaskListCellRenderer.java index 14e77c9..510dda3 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DataSynchronizeTaskListCellRenderer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/DataSynchronizeTaskListCellRenderer.java @@ -1,4 +1,6 @@ -package fr.ird.observe.ui.admin.datasynchro; +package fr.ird.observe.ui.admin.synchronize.data; + +import fr.ird.observe.ui.admin.synchronize.data.task.DataSynchronizeTaskSupport; import javax.swing.DefaultListCellRenderer; import javax.swing.JList; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/CopyToLeftDataSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/task/CopyToLeftDataSynchronizeTask.java similarity index 84% rename from observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/CopyToLeftDataSynchronizeTask.java rename to observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/task/CopyToLeftDataSynchronizeTask.java index b3478ad..8c6313c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/CopyToLeftDataSynchronizeTask.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/task/CopyToLeftDataSynchronizeTask.java @@ -1,4 +1,4 @@ -package fr.ird.observe.ui.admin.datasynchro; +package fr.ird.observe.ui.admin.synchronize.data.task; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.referential.ProgramDto; @@ -23,7 +23,7 @@ public class CopyToLeftDataSynchronizeTask extends DataSynchronizeTaskSupport { @Override public String getLabel() { - return t("observe.datasynchro.copyToLeftTask", decorateProgram(), decorateTrip()); + return t("observe.actions.synchro.data.copyToLeftTask", decorateProgram(), decorateTrip()); } public boolean isTripExistOnLeft() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/CopyToRightDataSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/task/CopyToRightDataSynchronizeTask.java similarity index 84% rename from observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/CopyToRightDataSynchronizeTask.java rename to observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/task/CopyToRightDataSynchronizeTask.java index 46a9067..abf3f53 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/CopyToRightDataSynchronizeTask.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/task/CopyToRightDataSynchronizeTask.java @@ -1,4 +1,4 @@ -package fr.ird.observe.ui.admin.datasynchro; +package fr.ird.observe.ui.admin.synchronize.data.task; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.referential.ProgramDto; @@ -23,7 +23,7 @@ public class CopyToRightDataSynchronizeTask extends DataSynchronizeTaskSupport { @Override public String getLabel() { - return t("observe.datasynchro.copyToRightTask", decorateProgram(), decorateTrip()); + return t("observe.actions.synchro.data.copyToRightTask", decorateProgram(), decorateTrip()); } public boolean isTripExistOnRight() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DataSynchronizeTaskSupport.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/task/DataSynchronizeTaskSupport.java similarity index 96% rename from observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DataSynchronizeTaskSupport.java rename to observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/task/DataSynchronizeTaskSupport.java index 8fda9d5..a363c41 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DataSynchronizeTaskSupport.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/task/DataSynchronizeTaskSupport.java @@ -1,4 +1,4 @@ -package fr.ird.observe.ui.admin.datasynchro; +package fr.ird.observe.ui.admin.synchronize.data.task; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.decoration.DecoratorService; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DeleteFromLeftDataSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/task/DeleteFromLeftDataSynchronizeTask.java similarity index 80% rename from observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DeleteFromLeftDataSynchronizeTask.java rename to observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/task/DeleteFromLeftDataSynchronizeTask.java index 02a4b50..267bf77 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DeleteFromLeftDataSynchronizeTask.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/task/DeleteFromLeftDataSynchronizeTask.java @@ -1,4 +1,4 @@ -package fr.ird.observe.ui.admin.datasynchro; +package fr.ird.observe.ui.admin.synchronize.data.task; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.referential.ProgramDto; @@ -20,6 +20,6 @@ public class DeleteFromLeftDataSynchronizeTask extends DataSynchronizeTaskSuppor @Override public String getLabel() { - return t("observe.datasynchro.deleteFromLeftTask", decorateProgram(), decorateTrip()); + return t("observe.actions.synchro.data.deleteFromLeftTask", decorateProgram(), decorateTrip()); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DeleteFromRightDataSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/task/DeleteFromRightDataSynchronizeTask.java similarity index 80% rename from observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DeleteFromRightDataSynchronizeTask.java rename to observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/task/DeleteFromRightDataSynchronizeTask.java index 214ff4e..d012850 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DeleteFromRightDataSynchronizeTask.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/task/DeleteFromRightDataSynchronizeTask.java @@ -1,4 +1,4 @@ -package fr.ird.observe.ui.admin.datasynchro; +package fr.ird.observe.ui.admin.synchronize.data.task; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.referential.ProgramDto; @@ -20,6 +20,6 @@ public class DeleteFromRightDataSynchronizeTask extends DataSynchronizeTaskSuppo @Override public String getLabel() { - return t("observe.datasynchro.deleteFromRightTask", decorateProgram(), decorateTrip()); + return t("observe.actions.synchro.data.deleteFromRightTask", decorateProgram(), decorateTrip()); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/ObsoleteReferentialReference.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/ObsoleteReferentialReference.java similarity index 97% rename from observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/ObsoleteReferentialReference.java rename to observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/ObsoleteReferentialReference.java index 98e6259..8573212 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/ObsoleteReferentialReference.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/ObsoleteReferentialReference.java @@ -1,4 +1,4 @@ -package fr.ird.observe.ui.admin.synchronize; +package fr.ird.observe.ui.admin.synchronize.referential.legacy; /*- * #%L diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/ObsoleteReferentialReferenceListCellRenderer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/ObsoleteReferentialReferenceListCellRenderer.java similarity index 97% rename from observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/ObsoleteReferentialReferenceListCellRenderer.java rename to observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/ObsoleteReferentialReferenceListCellRenderer.java index 275fdf7..9d50169 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/ObsoleteReferentialReferenceListCellRenderer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/ObsoleteReferentialReferenceListCellRenderer.java @@ -19,7 +19,7 @@ * <http://www.gnu.org/licenses/gpl-3.0.html>. * #L% */ -package fr.ird.observe.ui.admin.synchronize; +package fr.ird.observe.ui.admin.synchronize.referential.legacy; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.decoration.DecoratorService; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/SynchronizeModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/SynchronizeModel.java similarity index 89% rename from observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/SynchronizeModel.java rename to observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/SynchronizeModel.java index 86a3de7..6314771 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/SynchronizeModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/SynchronizeModel.java @@ -19,13 +19,13 @@ * <http://www.gnu.org/licenses/gpl-3.0.html>. * #L% */ -package fr.ird.observe.ui.admin.synchronize; +package fr.ird.observe.ui.admin.synchronize.referential.legacy; import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.service.actions.synchro.UnidirectionalReferentialSynchronizeCallbackResults; -import fr.ird.observe.services.service.actions.synchro.UnidirectionalReferentialSynchronizeContext; -import fr.ird.observe.services.service.actions.synchro.UnidirectionalReferentialSynchronizeEngine; -import fr.ird.observe.services.service.actions.synchro.UnidirectionalReferentialSynchronizeResult; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeCallbackResults; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeContext; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeEngine; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeResult; import fr.ird.observe.ui.admin.AdminActionModel; import fr.ird.observe.ui.admin.AdminStep; import jaxx.runtime.swing.model.JaxxDefaultListModel; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/SynchronizeUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/SynchronizeUI.jaxx similarity index 94% rename from observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/SynchronizeUI.jaxx rename to observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/SynchronizeUI.jaxx index f0d7696..0bc020c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/SynchronizeUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/SynchronizeUI.jaxx @@ -90,11 +90,11 @@ protected void apply() { </JScrollPane> <Table fill='both' constraints='BorderLayout.CENTER' - border='{new TitledBorder(t("observe.synchro.obsolete.entity.fix"))}'> + border='{new TitledBorder(t("observe.actions.synchro.referential.obsolete.entity.fix"))}'> <row> <cell> - <JLabel text='observe.synchro.safe.entity.to.choose.label'/> + <JLabel text='observe.actions.synchro.referential.safe.entity.to.choose.label'/> </cell> <cell weightx='1' fill='both'> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/SynchronizeUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/SynchronizeUI.jcss similarity index 93% rename from observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/SynchronizeUI.jcss rename to observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/SynchronizeUI.jcss index c8327d6..6dfd6e4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/SynchronizeUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/SynchronizeUI.jcss @@ -33,7 +33,7 @@ } #errorsPane { - columnHeaderView:{new JLabel(t("observe.synchro.obsolete.entities.list"))}; + columnHeaderView:{new JLabel(t("observe.actions.synchro.referential.obsolete.entities.list"))}; } #obsoleteReferencesList { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/SynchronizeUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/SynchronizeUIHandler.java similarity index 86% rename from observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/SynchronizeUIHandler.java rename to observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/SynchronizeUIHandler.java index 8ba07a2..ff76fb5 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/SynchronizeUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/SynchronizeUIHandler.java @@ -19,17 +19,17 @@ * <http://www.gnu.org/licenses/gpl-3.0.html>. * #L% */ -package fr.ird.observe.ui.admin.synchronize; +package fr.ird.observe.ui.admin.synchronize.referential.legacy; import com.google.common.collect.ImmutableSet; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.services.dto.referential.ReferentialReference; -import fr.ird.observe.services.service.actions.synchro.UnidirectionalReferentialSynchronizeCallbackRequest; -import fr.ird.observe.services.service.actions.synchro.UnidirectionalReferentialSynchronizeCallbackRequests; -import fr.ird.observe.services.service.actions.synchro.UnidirectionalReferentialSynchronizeCallbackResults; -import fr.ird.observe.services.service.actions.synchro.UnidirectionalReferentialSynchronizeContext; -import fr.ird.observe.services.service.actions.synchro.UnidirectionalReferentialSynchronizeEngine; -import fr.ird.observe.services.service.actions.synchro.UnidirectionalReferentialSynchronizeResult; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeCallbackRequest; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeCallbackRequests; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeCallbackResults; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeContext; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeEngine; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeResult; import fr.ird.observe.ui.admin.AdminStep; import fr.ird.observe.ui.admin.AdminTabUIHandler; import fr.ird.observe.ui.admin.AdminUI; @@ -88,7 +88,7 @@ public class SynchronizeUIHandler extends AdminTabUIHandler { log.debug(" specialized for [" + tabUI.getStep() + "] for main ui " + ui.getClass().getName() + "@" + System.identityHashCode(ui)); } - tabUI.getStartAction().setText(t("observe.action.synchro.launch.operation", t(tabUI.getStep().getOperationLabel()))); + tabUI.getStartAction().setText(t("observe.actions.synchro.referential.launch.operation", t(tabUI.getStep().getOperationLabel()))); DefaultListSelectionModel obsoleteReferenceSelectionModel = tabUI.getModel().getSynchronizeReferentielModel().getObsoleteReferencesSelectionModel(); obsoleteReferenceSelectionModel.addListSelectionListener(this::updateSelectedObsoleteEntity); @@ -122,7 +122,7 @@ public class SynchronizeUIHandler extends AdminTabUIHandler { openSource(centralSource); // construction du différentiel - sendMessage(t("observe.message.synchro.build.diff", centralSource.getLabel())); + sendMessage(t("observe.actions.synchro.referential.message.build.diff", centralSource.getLabel())); UnidirectionalReferentialSynchronizeEngine engine = new UnidirectionalReferentialSynchronizeEngine( @@ -141,7 +141,7 @@ public class SynchronizeUIHandler extends AdminTabUIHandler { // il existe des références obsolètes à traiter - sendMessage(t("observe.message.synchro.operation.needFix")); + sendMessage(t("observe.actions.operation.message.needFix")); stepModel.setReferentialSynchronizeCallbackResults(new UnidirectionalReferentialSynchronizeCallbackResults()); @@ -291,7 +291,7 @@ public class SynchronizeUIHandler extends AdminTabUIHandler { if (referentialSynchronizeResult.isEmpty()) { - sendMessage(t("observe.message.synchro.ref.is.updtodate")); + sendMessage(t("observe.actions.synchro.referential.message.ref.is.updtodate")); } else { @@ -300,7 +300,7 @@ public class SynchronizeUIHandler extends AdminTabUIHandler { Collection<String> referentialAdded = referentialSynchronizeResult.getReferentialAdded(referentialName); if (CollectionUtils.isNotEmpty(referentialAdded)) { - sendMessage(t("observe.message.synchro.referentiel.was.added", referentialName, referentialAdded.size())); + sendMessage(t("observe.actions.synchro.referential.message.referentiel.was.added", referentialName, referentialAdded.size())); for (String id : referentialAdded) { sendMessage(" - " + id); } @@ -310,7 +310,7 @@ public class SynchronizeUIHandler extends AdminTabUIHandler { Collection<String> referentialUpdated = referentialSynchronizeResult.getReferentialUpdated(referentialName); if (CollectionUtils.isNotEmpty(referentialUpdated)) { - sendMessage(t("observe.message.synchro.referentiel.was.modified", referentialName, referentialUpdated.size())); + sendMessage(t("observe.actions.synchro.referential.message.referentiel.was.modified", referentialName, referentialUpdated.size())); for (String id : referentialUpdated) { sendMessage(" - " + id); } @@ -320,7 +320,7 @@ public class SynchronizeUIHandler extends AdminTabUIHandler { Collection<String> referentialRemoved = referentialSynchronizeResult.getReferentialRemoved(referentialName); if (CollectionUtils.isNotEmpty(referentialRemoved)) { - sendMessage(t("observe.message.synchro.referentiel.was.removed", referentialName, referentialRemoved.size())); + sendMessage(t("observe.actions.synchro.referential.message.referentiel.was.removed", referentialName, referentialRemoved.size())); for (String id : referentialRemoved) { sendMessage(" - " + id); } @@ -330,7 +330,7 @@ public class SynchronizeUIHandler extends AdminTabUIHandler { Collection<Pair<String, String>> referentialReplaced = referentialSynchronizeResult.getReferentialReplaced(referentialName); if (CollectionUtils.isNotEmpty(referentialReplaced)) { - sendMessage(t("observe.message.synchro.referentiel.was.replaced", referentialName, referentialReplaced.size())); + sendMessage(t("observe.actions.synchro.referential.message.referentiel.was.replaced", referentialName, referentialReplaced.size())); for (Pair<String, String> ids : referentialReplaced) { sendMessage(" - " + ids.getLeft() + " → " + ids.getRight()); } @@ -343,7 +343,7 @@ public class SynchronizeUIHandler extends AdminTabUIHandler { } - sendMessage(t("observe.message.synchro.operation.done", new Date())); + sendMessage(t("observe.actions.operation.message.done", new Date())); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSelectionModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSelectionModel.java new file mode 100644 index 0000000..86f5698 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSelectionModel.java @@ -0,0 +1,358 @@ +/* + * #%L + * ObServe :: Business + * %% + * Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ +package fr.ird.observe.ui.admin.synchronize.referential.ng; + +import com.google.common.base.Preconditions; +import com.google.common.collect.Lists; +import fr.ird.observe.db.ObserveSwingDataSource; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.service.actions.synchro.referential.ReferentialSynchronizeMode; +import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffService; +import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffs; +import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffsEngine; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.jdesktop.beans.AbstractSerializableBean; + +import java.beans.PropertyChangeListener; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; + +import static com.google.common.collect.Maps.newHashMap; +import static com.google.common.collect.Sets.newHashSet; + +/** + * Un modèle pour représenter la sélection de données. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 1.4 + */ +public class ReferentialSelectionModel extends AbstractSerializableBean { + + private ReferentialSynchronizeMode synchronizeMode; + + public static void populate(ReferentialSelectionModel model, ObserveSwingDataSource leftSource, ObserveSwingDataSource rightSource) { + + Preconditions.checkState(leftSource.isOpen()); + Preconditions.checkState(rightSource.isOpen()); + + ReferentialSynchronizeDiffService leftDiffSynchronizeService = leftSource.newReferentialSynchronizeDiffService(); + ReferentialSynchronizeDiffService rightDiffSynchronizeService = rightSource.newReferentialSynchronizeDiffService(); + + ReferentialSynchronizeDiffsEngine engine = new ReferentialSynchronizeDiffsEngine(leftDiffSynchronizeService, rightDiffSynchronizeService); + + ReferentialSynchronizeDiffs synchronizeDiffs = engine.build(model.getSynchronizeMode()); + + + model.setDatas(null); + + } + + protected static void populate(ReferentialReference<ProgramDto> program, + List<DataReference> trips, + Map<ReferentialReference<ProgramDto>, List<DataReference>> datas) { + + if (!trips.isEmpty()) { + + datas.put(program, trips); + if (log.isDebugEnabled()) { + log.debug("Add program " + program.getPropertyValue(ProgramDto.PROPERTY_LABEL1) + " with " + trips.size() + " trip(s)."); + } + + + } + + } + + public static final String PROPERTY_SELECTED_DATA = "selectedData"; + public static final String PROPERTY_DATAS = "datas"; + public static final String PROPERTY_SYNCHRONIZE_MODE = "syncrhronizeMode"; + + /** Logger */ + private static final Log log = LogFactory.getLog(ReferentialSelectionModel.class); + + private static final long serialVersionUID = 2L; + + protected transient Map<Class<? extends ReferentialDto>, List<ReferentialReference<? extends ReferentialDto>>> datas; + + protected transient Set<ReferentialReference> selectedData; + + /** nb marees */ + protected int nbTrips; + + public void populate() { + throw new UnsupportedOperationException(); + } + + public ReferentialSelectionModel() { + + } + + public boolean isEmpty() { + return selectedData == null || selectedData.isEmpty(); + } + + public boolean isFull() { + return selectedData != null && selectedData.size() == nbTrips; + } + + public int selectDataSize() { + return selectedData == null ? 0 : selectedData.size(); + } + + public ReferentialSynchronizeMode getSynchronizeMode() { + return synchronizeMode; + } + + public void setSynchronizeMode(ReferentialSynchronizeMode synchronizeMode) { + ReferentialSynchronizeMode oldValue = getSynchronizeMode(); + this.synchronizeMode = synchronizeMode; + firePropertyChange(PROPERTY_DATAS, oldValue, synchronizeMode); + } + + public Map<Class<? extends ReferentialDto>, List<ReferentialReference<? extends ReferentialDto>>> getDatas() { + if (datas == null) { + datas = newHashMap(); + } + return datas; + } + + public <Type extends ReferentialDto> boolean containsData(Class<Type> program, ReferentialReference<Type> trip) { + List<ReferentialReference<Type>> datas = getDatas(program); + return datas != null && datas.contains(trip); + } + + public Set<ReferentialReference> getSelectedData() { + if (selectedData == null) { + selectedData = newHashSet(); + } + return selectedData; + } + + public Map<Class<? extends ReferentialDto>, List<ReferentialReference<? extends ReferentialDto>>> getSelectedDataByProgram() { + if (datas == null || selectedData == null || selectedData.isEmpty()) { + return Collections.emptyMap(); + } + Map<Class<? extends ReferentialDto>, List<ReferentialReference<? extends ReferentialDto>>> result = new HashMap<>(); + + for (ReferentialReference referenceDto : selectedData) { + + // on recherche son program + for (Class<? extends ReferentialDto> p : datas.keySet()) { + if (datas.get(p).contains(referenceDto)) { + List<ReferentialReference<?>> referenceDtos = result.get(p); + if (referenceDtos == null) { + referenceDtos = Lists.newArrayList(); + result.put(p, referenceDtos); + } + referenceDtos.add(referenceDto); + break; + } + } + } + return result; + } + + public List<Class<? extends ReferentialDto>> getSelectedProgram() { + if (datas == null || selectedData == null || selectedData.isEmpty()) { + return Collections.emptyList(); + } + + Set<Class<? extends ReferentialDto>> result = new HashSet<>(); + + for (ReferentialReference referenceDto : selectedData) { + + // on recherche son program + for (Class<? extends ReferentialDto> p : datas.keySet()) { + if (datas.get(p).contains(referenceDto)) { + result.add(p); + break; + } + } + } + + return result.stream().collect(Collectors.toList()); + } + + + public <Type extends ReferentialDto> List<ReferentialReference<Type>> getSelectedTripsByProgram(Class<Type> program) { + if (datas == null || selectedData == null || selectedData.isEmpty()) { + return Collections.emptyList(); + } + + List<ReferentialReference<Type>> result = getDatas(program).stream() + .filter(trip -> selectedData.contains(trip)) + .collect(Collectors.toList()); + + return result; + } + + public <Type extends ReferentialDto> boolean isSelectedData(ReferentialReference<Type> referenceDto) { + + boolean result; + + List<ReferentialReference<Type>> trips = getDatas(referenceDto.getType()); + result = CollectionUtils.isNotEmpty(trips); + + if (result) { + for (ReferentialReference trip : trips) { + if (!getSelectedData().contains(trip)) { + result = false; + } + } + } + + return result; + + } + + + public void removeAll() { + getSelectedData().clear(); + firePropertyChange(PROPERTY_SELECTED_DATA, selectedData); + } + + public void setDatas(Map<Class<? extends ReferentialDto>, List<ReferentialReference<? extends ReferentialDto>>> datas) { + this.datas = datas; + + // on compte le count de marées totale + int nbTrips = 0; + if (datas != null) { + for (List<ReferentialReference<? extends ReferentialDto>> marees : datas.values()) { + nbTrips += marees.size(); + } + } + this.nbTrips = nbTrips; + + if (log.isDebugEnabled()) { + log.debug("Nb program registred : " + (datas == null ? 0 : datas.size())); + log.debug("Nb trip registred : " + this.nbTrips); + } + firePropertyChange(PROPERTY_DATAS, datas); + } + + public <Type extends ReferentialDto> void addSelectedData(ReferentialReference<Type> referenceDto) { + + if (log.isDebugEnabled()) { + log.debug("Add referential " + referenceDto.getId()); + } + getSelectedData().add((ReferentialReference) referenceDto); + + firePropertyChange(PROPERTY_SELECTED_DATA, selectedData); + } + + public void addAllSelectedData() { + if (log.isDebugEnabled()) { + log.debug("All all data."); + } + for (List<ReferentialReference<? extends ReferentialDto>> p : datas.values()) { + getSelectedData().addAll(p); + } + firePropertyChange(PROPERTY_SELECTED_DATA, selectedData); + } + + public <Type extends ReferentialDto> void removeSelectedData(ReferentialReference<Type> referenceDto) { + + + // ajout d'une marée + if (log.isDebugEnabled()) { + log.debug("Remove maree " + referenceDto); + } + getSelectedData().remove(referenceDto); + + firePropertyChange(PROPERTY_SELECTED_DATA, selectedData); + } + + public void removeAllSelectedData() { + if (selectedData != null) { + selectedData.clear(); + } + firePropertyChange(PROPERTY_SELECTED_DATA, selectedData); + } + + public void destroy() { + removeAll(); + // suppression de tous les listeners + PropertyChangeListener[] listeners = getPropertyChangeListeners(); + for (PropertyChangeListener l : listeners) { + removePropertyChangeListener(l); + } + } + + @Override + protected void finalize() throws Throwable { + super.finalize(); + destroy(); + } + + public <R extends ReferentialDto> List<ReferentialReference<R>> getDatas(Class<R> programId) { + java.util.Optional<Class<? extends ReferentialDto>> programRefOptional = getDatas().keySet().stream().filter(key -> key.equals(programId)).findFirst(); + + List<ReferentialReference<R>> result; + + if (programRefOptional.isPresent()) { + + result = (List) getDatas().get(programRefOptional.get()); + + } else { + + result = Collections.emptyList(); + + } + + return result; + } + + public <R extends ReferentialDto> void addData(Class<R> program, ReferentialReference<R> trip) { + if (!getDatas().containsKey(program)) { + getDatas().put(program, new ArrayList<>()); + } + getDatas(program).add(trip); + firePropertyChange(PROPERTY_DATAS, getDatas()); + } + + public Set<Class<? extends ReferentialDto>> getPrograms() { + return getDatas().keySet(); + } + + public <R extends ReferentialDto> void removeTrip(Class<R> program, ReferentialReference<R> trip) { + List<ReferentialReference<R>> data = getDatas(program); + data.remove(trip); + if (data.isEmpty()) { + getDatas().remove(program); + } + } + + protected void firePropertyChange(String propertyName, Object newValue) { + super.firePropertyChange(propertyName, null, newValue); + } +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroConfigUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroConfigUI.jaxx new file mode 100644 index 0000000..6092845 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroConfigUI.jaxx @@ -0,0 +1,80 @@ +<!-- + #%L + ObServe :: Swing + %% + Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this program. If not, see + <http://www.gnu.org/licenses/gpl-3.0.html>. + #L% + --> +<!-- ************************************************************* --> +<!-- La configuration de l'import GPS --> +<!-- ************************************************************* --> + +<JPanel id="referentialSynchronizeConfig"> + + <import> + fr.ird.observe.configuration.ObserveSwingApplicationConfig + fr.ird.observe.services.service.actions.synchro.referential.ReferentialSynchronizeMode + fr.ird.observe.ui.admin.AdminUIModel + fr.ird.observe.validation.ValidationModelMode + + org.nuiton.validator.NuitonValidatorScope + + java.io.File + + javax.swing.JComboBox + + static fr.ird.observe.ui.UIHelper.getStringValue + </import> + + <ReferentialSynchroUIHandler id='handler' initializer='getContextValue(ReferentialSynchroUIHandler.class)'/> + + <AdminUIModel id='model' initializer='getContextValue(AdminUIModel.class)'/> + + <ReferentialSynchroModel id='stepModel' initializer='model.getReferentialSynchroModel()'/> + + <ButtonGroup id='synchronizeMode' + onStateChanged='stepModel.setSynchronizeMode((ReferentialSynchronizeMode) synchronizeMode.getSelectedValue())'/> + + <script><![CDATA[ +public void destroy() { + model = null; + stepModel = null; +} + +@Override +protected void finalize() throws Throwable { + super.finalize(); + destroy(); +} + +]]> + </script> + + <JPanel id="referentialSynchronizeConfigPanel" constraints='BorderLayout.CENTER' layout='{new GridLayout(0, 1)}'> + <JToggleButton id="LEFT_TO_RIGHT"/> + <JToggleButton id="RIGHT_TO_LEFT"/> + <JToggleButton id="BOTH"/> + </JPanel> + <Table constraints='BorderLayout.SOUTH' weightx='1' weighty='1'> + <row> + <cell> + <JLabel/> + </cell> + </row> + </Table> + +</JPanel> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroConfigUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroConfigUI.jcss new file mode 100644 index 0000000..3d0ed48 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroConfigUI.jcss @@ -0,0 +1,54 @@ +/* + * #%L + * ObServe :: Swing + * %% + * Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +#referentialSynchronizeConfig { + layout:{new BorderLayout()}; +} +#referentialSynchronizeConfigPanel { + border:{new TitledBorder(t("observe.actions.synchro.referential.config.mode"))}; +} + +#synchronizeMode { + selectedValue:{stepModel.getSynchronizeMode()}; +} + +#BOTH{ + buttonGroup:"synchronizeMode"; + value:{ReferentialSynchronizeMode.BOTH}; + text:{ReferentialSynchronizeMode.BOTH.getLabel()}; + selected:{ReferentialSynchronizeMode.BOTH == stepModel.getSynchronizeMode()}; +} + +#RIGHT_TO_LEFT { + buttonGroup:"synchronizeMode"; + value:{ReferentialSynchronizeMode.FROM_RIGHT_TO_LEFT}; + text:{ReferentialSynchronizeMode.FROM_RIGHT_TO_LEFT.getLabel()}; + selected:{ReferentialSynchronizeMode.FROM_RIGHT_TO_LEFT == stepModel.getSynchronizeMode()}; +} + +#LEFT_TO_RIGHT { + buttonGroup:"synchronizeMode"; + value:{ReferentialSynchronizeMode.FROM_LEFT_TO_RIGHT}; + text:{ReferentialSynchronizeMode.FROM_LEFT_TO_RIGHT.getLabel()}; + selected:{ReferentialSynchronizeMode.FROM_LEFT_TO_RIGHT == stepModel.getSynchronizeMode()}; +} + diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroModel.java new file mode 100644 index 0000000..fa32d20 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroModel.java @@ -0,0 +1,123 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng; + +import fr.ird.observe.db.ObserveSwingDataSource; +import fr.ird.observe.services.service.actions.synchro.referential.ReferentialSynchronizeMode; +import fr.ird.observe.ui.admin.AdminActionModel; +import fr.ird.observe.ui.admin.AdminStep; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.ReferentialSynchronizeTaskSupport; +import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.ReferentialSynchronizeTreeModel; +import org.apache.commons.lang3.tuple.Pair; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import javax.swing.DefaultListModel; +import java.util.Objects; + +/** + * Created on 02/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class ReferentialSynchroModel extends AdminActionModel { + + /** Logger. */ + private static final Log log = LogFactory.getLog(ReferentialSynchroModel.class); + + public static final String LEFT_SOURCE_PROPERTY_NAME = "leftSource"; + public static final String RIGHT_SOURCE_PROPERTY_NAME = "rightSource"; + public static final String TASKS_PROPERTY_NAME = "tasks"; + public static final String SYNCHRONIZE_MODE_PROPERTY_NAME = "synchronizeMode"; + public static final String RIGHT_TREE_MODEL_PROPERTY_NAME = "rightTreeModel"; + public static final String LEFT_TREE_MODEL_PROPERTY_NAME = "lefttTreeModel"; + + public static final String LEFT_SELECTION_MODEL_CHANGED_PROPERTY_NAME = "leftSelectionModelChanged"; + public static final String RIGHT_SELECTION_MODEL_CHANGED_PROPERTY_NAME = "rightSelectionModelChanged"; + + /** la source sur le panneau de gauche. */ + protected ObserveSwingDataSource leftSource; + + /** la source sur le panneau de droite. */ + protected ObserveSwingDataSource rightSource; + + /** le mode de synchronisation **/ + private ReferentialSynchronizeMode synchronizeMode; + + private ReferentialSynchronizeTreeModel leftTreeModel; + + private ReferentialSynchronizeTreeModel rightTreeModel; + + private final DefaultListModel<ReferentialSynchronizeTaskSupport> tasks; + + public ReferentialSynchroModel() { + super(AdminStep.REFERENTIAL_SYNCHRONIZE); + this.tasks = new DefaultListModel<>(); + } + + public ReferentialSynchronizeMode getSynchronizeMode() { + return synchronizeMode; + } + + public void setSynchronizeMode(ReferentialSynchronizeMode synchronizeMode) { + Object oldValue = getSynchronizeMode(); + this.synchronizeMode = synchronizeMode; + firePropertyChange(SYNCHRONIZE_MODE_PROPERTY_NAME, oldValue, synchronizeMode); + } + + public ObserveSwingDataSource getLeftSource() { + return leftSource; + } + + public void setLeftSource(ObserveSwingDataSource leftSource) { + this.leftSource = leftSource; + firePropertyChange(LEFT_SOURCE_PROPERTY_NAME, leftSource); + } + + public ObserveSwingDataSource getRightSource() { + return rightSource; + } + + public void setRightSource(ObserveSwingDataSource rightSource) { + this.rightSource = rightSource; + firePropertyChange(RIGHT_SOURCE_PROPERTY_NAME, rightSource); + } + + public ReferentialSynchronizeTreeModel getLeftTreeModel() { + return leftTreeModel; + } + + public void setLeftTreeModel(ReferentialSynchronizeTreeModel leftTreeModel) { + Object oldValue = getLeftTreeModel(); + this.leftTreeModel = leftTreeModel; + firePropertyChange(LEFT_TREE_MODEL_PROPERTY_NAME, oldValue, leftTreeModel); + } + + public ReferentialSynchronizeTreeModel getRightTreeModel() { + return rightTreeModel; + } + + public void setRightTreeModel(ReferentialSynchronizeTreeModel rightTreeModel) { + Object oldValue = getRightTreeModel(); + this.rightTreeModel = rightTreeModel; + firePropertyChange(RIGHT_TREE_MODEL_PROPERTY_NAME, oldValue, rightTreeModel); + } + + public DefaultListModel<ReferentialSynchronizeTaskSupport> getTasks() { + return tasks; + } + + public void addTask(ReferentialSynchronizeTaskSupport task) { + tasks.addElement(task); + } + + public void populateTreeModels() { + + Objects.nonNull(leftSource); + Objects.nonNull(rightSource); + + Pair<ReferentialSynchronizeTreeModel, ReferentialSynchronizeTreeModel> treePair = ReferentialSynchronizeTreeModel.buildTreeModels(this); + setLeftTreeModel(treePair.getLeft()); + setRightTreeModel(treePair.getRight()); + + } +} \ No newline at end of file diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DataSynchroUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroUI.jaxx similarity index 60% rename from observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DataSynchroUI.jaxx rename to observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroUI.jaxx index fea00d6..8429a6c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DataSynchroUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroUI.jaxx @@ -30,10 +30,9 @@ fr.ird.observe.ui.UIHelper fr.ird.observe.ui.admin.AdminUI fr.ird.observe.ui.admin.AdminStep + fr.ird.observe.ui.admin.synchronize.referential.ng.tree.ReferentialSynchronizeTreeModel + fr.ird.observe.ui.admin.synchronize.referential.ng.tree.ReferentialSynchronizeTreeCellRenderer fr.ird.observe.ui.tree.ObserveTreeHelper - fr.ird.observe.ui.tree.DataSelectionTreeCellRenderer - fr.ird.observe.ui.tree.DataSelectionTreeSelectionModel - fr.ird.observe.ui.storage.tabs.DataSelectionModel jaxx.runtime.SwingUtil @@ -45,25 +44,19 @@ <ObserveTreeHelper id='leftTreeHelper'/> <ObserveTreeHelper id='rightTreeHelper'/> - <DataSynchroUIHandler id='handler' constructorParams='this'/> + <ReferentialSynchroUIHandler id='handler' constructorParams='this'/> - <DataSynchroModel id='stepModel' initializer='getModel().getDataSynchroModel()'/> + <ReferentialSynchroModel id='stepModel' initializer='getModel().getReferentialSynchroModel()'/> - <DataSelectionModel id='leftSelectDataModel' - initializer='getModel().getDataSynchroModel().getLeftSelectionDataModel()'/> - <DataSelectionTreeSelectionModel id='leftSelectionModel'/> - - <DataSelectionModel id='rightSelectDataModel' - initializer='getModel().getDataSynchroModel().getRightSelectionDataModel()'/> - <DataSelectionTreeSelectionModel id='rightSelectionModel'/> + <ReferentialSynchronizeTreeModel id="leftTreeModel" javaBean="getStepModel().getLeftTreeModel()"/> + <ReferentialSynchronizeTreeModel id="rightTreeModel" javaBean="getStepModel().getRightTreeModel()"/> <JPanel id='invisiblePanel'> - <DataSelectionTreeCellRenderer id='leftSelectionRenderer'/> - <DataSelectionTreeCellRenderer id='rightSelectionRenderer'/> + </JPanel> <script><![CDATA[ -public DataSynchroUI(AdminUI parentContext) { - super(AdminStep.DATA_SYNCHRONIZE, parentContext); +public ReferentialSynchroUI(AdminUI parentContext) { + super(AdminStep.REFERENTIAL_SYNCHRONIZE, parentContext); } public void initUI(AdminUI ui) { @@ -72,8 +65,8 @@ public void initUI(AdminUI ui) { @Override public void destroy() { - leftSelectionModel.clearSelection(); - rightSelectionModel.clearSelection(); + leftTreeModel.clearSelection(); + rightTreeModel.clearSelection(); super.destroy(); } ]]> @@ -91,10 +84,21 @@ public void destroy() { <cell weightx="0.1"> <JPanel layout="{new BorderLayout()}" border='{new TitledBorder(" ")}'> <JPanel id="middleActions" layout="{new GridLayout(0, 2)}" constraints='BorderLayout.CENTER'> - <JButton id="copyToRight" onActionPerformed="getHandler().addCopyToRightTasks()"/> - <JButton id="copyToLeft" onActionPerformed="getHandler().addCopyToLeftTasks()"/> - <JButton id="deleteFromLeft" onActionPerformed="getHandler().addDeleteFromLeftTasks()"/> - <JButton id="deleteFromRight" onActionPerformed="getHandler().addDeleteFromRightTasks()"/> + <JButton id="copyRight" onActionPerformed="getHandler().addCopyRightTasks()"/> + <JButton id="copyLeft" onActionPerformed="getHandler().addCopyLeftTasks()"/> + <JButton id="revertLeft" onActionPerformed="getHandler().addRevertLeftTasks()"/> + <JButton id="revertRight" onActionPerformed="getHandler().addRevertRightTasks()"/> + <JButton id="desactivateLeft" onActionPerformed="getHandler().addDesactivateLeftTasks()"/> + <JButton id="desactivateRight" onActionPerformed="getHandler().addDesactivateRightTasks()"/> + <JButton id="desactivateLeftWithReplace" + onActionPerformed="getHandler().addDesactivateLeftWithReplaceTasks()"/> + <JButton id="desactivateRightWithReplace" + onActionPerformed="getHandler().addDesactivateRightWithReplaceTasks()"/> + <JButton id="deleteLeft" onActionPerformed="getHandler().addDeleteLeftTasks()"/> + <JButton id="deleteRight" onActionPerformed="getHandler().addDeleteRightTasks()"/> + <JButton id="skipLeft" onActionPerformed="getHandler().addSkipLeftTasks()"/> + <JButton id="skipRight" onActionPerformed="getHandler().addSkipRightTasks()"/> + </JPanel> </JPanel> </cell> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroUI.jcss new file mode 100644 index 0000000..377ac0c --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroUI.jcss @@ -0,0 +1,150 @@ +/* + * #%L + * ObServe :: Swing + * %% + * Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +#PENDING_content { + layout:{new BorderLayout()}; +} + +#contentSplitPane { + orientation: {JSplitPane.VERTICAL_SPLIT}; + resizeWeight: 0.8; +} + +#applyAction { + actionIcon:accept; + text:"observe.action.apply"; +} + +#leftTree { + rootVisible:false; + largeModel:true; + minimumSize:{UIHelper.newMinDimension()}; + font-size:11; + showsRootHandles:false; + toggleClickCount:100; + model:{getLeftTreeModel()}; + selectionModel:{getLeftTreeModel()}; + cellRenderer:{new ReferentialSynchronizeTreeCellRenderer()}; +} + +#leftTreePane { + verticalScrollBarPolicy:{JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED}; +} + +#rightTree { + rootVisible:false; + largeModel:true; + minimumSize:{UIHelper.newMinDimension()}; + font-size:11; + showsRootHandles:false; + toggleClickCount:100; + model:{getRightTreeModel()}; + selectionModel:{getRightTreeModel()}; + cellRenderer:{new ReferentialSynchronizeTreeCellRenderer()}; +} + +#rightTreePane { + verticalScrollBarPolicy:{JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED}; +} + +#copyLeft { + actionIcon:copyToLeft; + toolTipText:"observe.actions.synchro.referential.copyToLeft.tip"; + enabled:false; +} + +#copyRight { + actionIcon:copyToRight; + toolTipText:"observe.actions.synchro.referential.copyToRight.tip"; + enabled:false; +} + +#revertLeft { + actionIcon:revertToLeft; + toolTipText:"observe.actions.synchro.referential.revertToLeft.tip"; + enabled:false; +} + +#revertRight { + actionIcon:revertToRight; + toolTipText:"observe.actions.synchro.referential.revertToRight.tip"; + enabled:false; +} + +#skipLeft { + actionIcon:skipToLeft; + toolTipText:"observe.actions.synchro.referential.skipToLeft.tip"; + enabled:false; +} + +#skipRight { + actionIcon:skipToRight; + toolTipText:"observe.actions.synchro.referential.skipToRight.tip"; + enabled:false; +} + +#deleteLeft { + actionIcon:deleteFromLeft; + toolTipText:"observe.actions.synchro.referential.deleteFromLeft.tip"; + enabled:false; +} + +#deleteRight { + actionIcon:deleteFromRight; + toolTipText:"observe.actions.synchro.referential.deleteFromRight.tip"; + enabled:false; +} + +#desactivateLeft { + actionIcon:desactivateFromLeft; + toolTipText:"observe.actions.synchro.referential.desactivateFromLeft.tip"; + enabled:false; +} + +#desactivateRight { + actionIcon:desactivateFromRight; + toolTipText:"observe.actions.synchro.referential.desactivateFromRight.tip"; + enabled:false; +} + +#desactivateLeftWithReplace { + actionIcon:desactivateFromLeftWithReplace; + toolTipText:"observe.actions.synchro.referential.desactivateFromLeftWithReplace.tip"; + enabled:false; +} + +#desactivateRightWithReplace { + actionIcon:desactivateFromRightWithReplace; + toolTipText:"observe.actions.synchro.referential.desactivateFromRightWithReplace.tip"; + enabled:false; +} + +#actionsToConsumePane { + border:{new TitledBorder(t("observe.actions.synchro.data.actionsToPerform"))}; + verticalScrollBarPolicy:{JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED}; +} + +#actionsToConsume { + selectionMode:{ListSelectionModel.SINGLE_SELECTION}; + cellRenderer:{new ReferentialSynchronizeTaskListCellRenderer()}; + model:{getStepModel().getTasks()}; +} \ No newline at end of file diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroUIHandler.java new file mode 100644 index 0000000..b5d652e --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroUIHandler.java @@ -0,0 +1,311 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng; + +import fr.ird.observe.application.swing.decoration.DecoratorService; +import fr.ird.observe.application.swing.decoration.decorators.ReferentialReferenceDecorator; +import fr.ird.observe.db.ObserveSwingDataSource; +import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; +import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.service.actions.synchro.referential.ng.ReferentialSynchronizeRequest; +import fr.ird.observe.services.service.actions.synchro.referential.ng.ReferentialSynchronizeService; +import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeCopyTask; +import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeDeleteTask; +import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeDesactivateTask; +import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeDesactivateWithReplaceTask; +import fr.ird.observe.ui.UIHelper; +import fr.ird.observe.ui.admin.AdminStep; +import fr.ird.observe.ui.admin.AdminTabUI; +import fr.ird.observe.ui.admin.AdminTabUIHandler; +import fr.ird.observe.ui.admin.AdminUI; +import fr.ird.observe.ui.admin.config.ConfigUI; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.CopyToLeftReferentialSynchronizeTask; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.CopyToRightReferentialSynchronizeTask; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.DeleteFromLeftReferentialSynchronizeTask; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.DeleteFromRightReferentialSynchronizeTask; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.DesactivateFromLeftReferentialSynchronizeTask; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.DesactivateFromLeftWithReplaceReferentialSynchronizeTask; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.DesactivateFromRightReferentialSynchronizeTask; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.DesactivateFromRightWithReplaceReferentialSynchronizeTask; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.ReferentialSynchronizeTaskSupport; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.SkipFromLeftReferentialSynchronizeTask; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.SkipFromRightReferentialSynchronizeTask; +import jaxx.runtime.context.JAXXInitialContext; +import jaxx.runtime.swing.wizard.ext.WizardState; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import javax.swing.DefaultListModel; +import javax.swing.border.TitledBorder; +import javax.swing.tree.TreeModel; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 02/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class ReferentialSynchroUIHandler extends AdminTabUIHandler { + + /** Logger */ + private static final Log log = LogFactory.getLog(ReferentialSynchroUIHandler.class); + + public ReferentialSynchroUIHandler(ReferentialSynchroUI ui) { + super(ui); + } + + public ReferentialSynchroModel getStepModel() { + return model.getReferentialSynchroModel(); + } + + @Override + public ReferentialSynchroUI getUi() { + return (ReferentialSynchroUI) super.getUi(); + } + + @Override + public void updateState(AdminTabUI ui, WizardState newState) { + super.updateState(ui, newState); + } + + public void initTabUI(AdminUI ui, ReferentialSynchroUI tabUI) { + + super.initTabUI(ui, tabUI); + + if (log.isDebugEnabled()) { + log.debug(" specialized for [" + tabUI.getStep() + "] for main ui " + ui.getClass().getName() + "@" + System.identityHashCode(ui)); + } + + getStepModel().addPropertyChangeListener(ReferentialSynchroModel.LEFT_TREE_MODEL_PROPERTY_NAME, evt -> { + + TreeModel treeModel = (TreeModel) evt.getNewValue(); + + tabUI.getLeftTreePane().setBorder(new TitledBorder(getModel().getLocalSourceModel().getLabel())); + tabUI.getLeftTree().setModel(treeModel); + + UIHelper.initUI(tabUI.getLeftTreePane(), tabUI.getLeftTree()); + + sendMessage(t("observe.actions.synchro.referential.message.referential.leftData.loaded")); + }); + + getStepModel().addPropertyChangeListener(ReferentialSynchroModel.RIGHT_TREE_MODEL_PROPERTY_NAME, evt -> { + + TreeModel treeModel = (TreeModel) evt.getNewValue(); + + tabUI.getRightTreePane().setBorder(new TitledBorder(getModel().getCentralSourceModel().getLabel())); + tabUI.getRightTree().setModel(treeModel); + + UIHelper.initUI(tabUI.getRightTreePane(), tabUI.getRightTree()); + + sendMessage(t("observe.actions.synchro.referential.message.referential.rightData.loaded")); + + }); + + + ConfigUI configUI = (ConfigUI) ui.getStepUI(AdminStep.CONFIG); + JAXXInitialContext tx = new JAXXInitialContext().add(configUI).add(this); + ReferentialSynchroConfigUI extraConfig = new ReferentialSynchroConfigUI(tx); + configUI.getExtraConfig().add(extraConfig); + + } + + public void addCopyLeftTasks() { + +// DataSelectionModel rightSelectionDataModel = getStepModel().getRightSelectionDataModel(); +// DataSelectionModel leftSelectionDataModel = getStepModel().getLeftSelectionDataModel(); +// ObserveTreeHelper rightTreeHelper = getUi().getRightTreeHelper(); +// ObserveTreeHelper leftTreeHelper = getUi().getLeftTreeHelper(); +// Map<ReferentialReference<ProgramDto>, List<DataReference>> selectedDataByProgram = rightSelectionDataModel.getSelectedDataByProgram(); +// rightSelectionDataModel.removeAllSelectedData(); + + } + + public void addCopyRightTasks() { + +// DataSelectionModel leftSelectionDataModel = getStepModel().getLeftSelectionDataModel(); +// DataSelectionModel rightSelectionDataModel = getStepModel().getRightSelectionDataModel(); +// ObserveTreeHelper leftTreeHelper = getUi().getLeftTreeHelper(); +// ObserveTreeHelper rightTreeHelper = getUi().getRightTreeHelper(); +// Map<ReferentialReference<ProgramDto>, List<DataReference>> selectedDataByProgram = leftSelectionDataModel.getSelectedDataByProgram(); +// leftSelectionDataModel.removeAllSelectedData(); + + } + + public void addRevertRightTasks() { + + } + + public void addRevertLeftTasks() { + + } + + public void addSkipRightTasks() { + + } + + public void addSkipLeftTasks() { + + } + + public void addDeleteLeftTasks() { + +// DataSelectionModel selectionDataModel = getStepModel().getLeftSelectionDataModel(); +// ObserveTreeHelper treeHelper = getUi().getLeftTreeHelper(); +// Map<ReferentialReference<ProgramDto>, List<DataReference>> selectedDataByProgram = selectionDataModel.getSelectedDataByProgram(); +// selectionDataModel.removeAllSelectedData(); + + } + + public void addDeleteRightTasks() { + +// DataSelectionModel selectionDataModel = getStepModel().getRightSelectionDataModel(); +// ObserveTreeHelper treeHelper = getUi().getRightTreeHelper(); +// Map<ReferentialReference<ProgramDto>, List<DataReference>> selectedDataByProgram = selectionDataModel.getSelectedDataByProgram(); +// selectionDataModel.removeAllSelectedData(); + + } + + public void addDesactivateLeftTasks() { + +// DataSelectionModel selectionDataModel = getStepModel().getLeftSelectionDataModel(); +// ObserveTreeHelper treeHelper = getUi().getLeftTreeHelper(); +// Map<ReferentialReference<ProgramDto>, List<DataReference>> selectedDataByProgram = selectionDataModel.getSelectedDataByProgram(); +// selectionDataModel.removeAllSelectedData(); + + } + + public void addDesactivateLeftWithReplaceTasks() { + +// DataSelectionModel selectionDataModel = getStepModel().getLeftSelectionDataModel(); +// ObserveTreeHelper treeHelper = getUi().getLeftTreeHelper(); +// Map<ReferentialReference<ProgramDto>, List<DataReference>> selectedDataByProgram = selectionDataModel.getSelectedDataByProgram(); +// selectionDataModel.removeAllSelectedData(); + + } + + public void addDesactivateRightTasks() { + +// DataSelectionModel selectionDataModel = getStepModel().getRightSelectionDataModel(); +// ObserveTreeHelper treeHelper = getUi().getRightTreeHelper(); +// Map<ReferentialReference<ProgramDto>, List<DataReference>> selectedDataByProgram = selectionDataModel.getSelectedDataByProgram(); +// selectionDataModel.removeAllSelectedData(); + + } + + public void addDesactivateRightWithReplaceTasks() { + +// DataSelectionModel selectionDataModel = getStepModel().getRightSelectionDataModel(); +// ObserveTreeHelper treeHelper = getUi().getRightTreeHelper(); +// Map<ReferentialReference<ProgramDto>, List<DataReference>> selectedDataByProgram = selectionDataModel.getSelectedDataByProgram(); +// selectionDataModel.removeAllSelectedData(); + + } + + public void doExecuteAction() { + + ObserveSwingDataSource leftSource = getStepModel().getLeftSource(); + boolean leftSourceIsH2 = leftSource.getConfiguration() instanceof ObserveDataSourceConfigurationTopiaH2; + + ObserveSwingDataSource rightSource = getStepModel().getRightSource(); + boolean rightSourceIsH2 = rightSource.getConfiguration() instanceof ObserveDataSourceConfigurationTopiaH2; + + DefaultListModel<ReferentialSynchronizeTaskSupport> tasks = getStepModel().getTasks(); + int size = tasks.size(); + + DecoratorService decoratorService = getDecoratorService(); + ReferentialReferenceDecorator<ProgramDto> programDecorator = decoratorService.getReferentialReferenceDecorator(ProgramDto.class); + + ReferentialSynchronizeRequest.Builder leftReferentialSynchronizeRequestBuilder = ReferentialSynchronizeRequest.builder(leftSourceIsH2, rightSourceIsH2); + ReferentialSynchronizeRequest.Builder rightReferentialSynchronizeRequestBuilder = ReferentialSynchronizeRequest.builder(rightSourceIsH2, leftSourceIsH2); + for (int i = 0; i < size; i++) { + + ReferentialSynchronizeTaskSupport<?> task = tasks.getElementAt(i); + + String typeStr = task.decorateType(); + String dataStr = task.decorateData(); + + if (task instanceof DeleteFromLeftReferentialSynchronizeTask) { + + sendMessage(t("observe.actions.synchro.referential.prepare.deleteFromLeftTask", typeStr, dataStr)); + leftReferentialSynchronizeRequestBuilder.addDeleteTask(new ReferentialSynchronizeDeleteTask<>(task.getData())); + continue; + } + + if (task instanceof DeleteFromRightReferentialSynchronizeTask) { + sendMessage(t("observe.actions.synchro.referential.prepare.deleteFromRightTask", typeStr, dataStr)); + rightReferentialSynchronizeRequestBuilder.addDeleteTask(new ReferentialSynchronizeDeleteTask<>(task.getData())); + continue; + } + + if (task instanceof DesactivateFromLeftReferentialSynchronizeTask) { + + sendMessage(t("observe.actions.synchro.referential.prepare.desactivateFromLeftTask", typeStr, dataStr)); + leftReferentialSynchronizeRequestBuilder.addDesactivateTask(new ReferentialSynchronizeDesactivateTask<>(task.getData())); + continue; + } + + if (task instanceof DesactivateFromRightReferentialSynchronizeTask) { + sendMessage(t("observe.actions.synchro.referential.prepare.desactivateFromRightTask", typeStr, dataStr)); + rightReferentialSynchronizeRequestBuilder.addDesactivateTask(new ReferentialSynchronizeDesactivateTask<>(task.getData())); + continue; + } + + if (task instanceof DesactivateFromLeftWithReplaceReferentialSynchronizeTask) { + + sendMessage(t("observe.actions.synchro.referential.prepare.desactivateFromLeftWithReplaceTask", typeStr, dataStr)); + leftReferentialSynchronizeRequestBuilder.addDesactivateWithReplaceTask(new ReferentialSynchronizeDesactivateWithReplaceTask<>(task.getData())); + continue; + } + + if (task instanceof DesactivateFromRightWithReplaceReferentialSynchronizeTask) { + sendMessage(t("observe.actions.synchro.referential.prepare.desactivateFromRightWithReplaceTask", typeStr, dataStr)); + rightReferentialSynchronizeRequestBuilder.addDesactivateWithReplaceTask(new ReferentialSynchronizeDesactivateWithReplaceTask<>(task.getData())); + continue; + } + + if (task instanceof CopyToLeftReferentialSynchronizeTask) { + CopyToLeftReferentialSynchronizeTask task1 = (CopyToLeftReferentialSynchronizeTask) task; + sendMessage(t("observe.actions.synchro.referential.prepare.copyToLeftTask", typeStr, dataStr)); + leftReferentialSynchronizeRequestBuilder.addCopyTask(new ReferentialSynchronizeCopyTask<>(task.getData())); + continue; + } + + if (task instanceof CopyToRightReferentialSynchronizeTask) { + CopyToRightReferentialSynchronizeTask task1 = (CopyToRightReferentialSynchronizeTask) task; + sendMessage(t("observe.actions.synchro.referential.prepare.copyToRightTask", typeStr, dataStr)); + rightReferentialSynchronizeRequestBuilder.addCopyTask(new ReferentialSynchronizeCopyTask<>(task.getData())); + continue; + } + + if (task instanceof SkipFromLeftReferentialSynchronizeTask) { + sendMessage(t("observe.actions.synchro.data.prepare.skipFromLeftTask", typeStr, dataStr)); + continue; + } + if (task instanceof SkipFromRightReferentialSynchronizeTask) { + sendMessage(t("observe.actions.synchro.data.prepare.skipFromRightTask", typeStr, dataStr)); + } + + } + + ReferentialSynchronizeService leftReferentialSynchronizeService = leftSource.newReferentialSynchronizeService(); + ReferentialSynchronizeService rightReferentialSynchronizeService = rightSource.newReferentialSynchronizeService(); + + ReferentialSynchronizeRequest leftReferentialSynchronizeRequest = leftReferentialSynchronizeRequestBuilder.build(); + if (leftReferentialSynchronizeRequest.isNotEmpty()) { + rightReferentialSynchronizeService.prepareRequestOnOppositeDataSource(leftReferentialSynchronizeRequest); + leftReferentialSynchronizeService.prepareRequestOnDataSource(leftReferentialSynchronizeRequest); + leftReferentialSynchronizeService.executeRequest(leftReferentialSynchronizeRequest); + } + + ReferentialSynchronizeRequest rightReferentialSynchronizeRequest = rightReferentialSynchronizeRequestBuilder.build(); + if (rightReferentialSynchronizeRequest.isNotEmpty()) { + leftReferentialSynchronizeService.prepareRequestOnOppositeDataSource(rightReferentialSynchronizeRequest); + rightReferentialSynchronizeService.prepareRequestOnDataSource(rightReferentialSynchronizeRequest); + rightReferentialSynchronizeService.executeRequest(rightReferentialSynchronizeRequest); + } + + getModel().setStepState(WizardState.SUCCESSED); + + } + +} \ No newline at end of file diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DataSynchronizeTaskListCellRenderer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchronizeTaskListCellRenderer.java similarity index 62% rename from observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DataSynchronizeTaskListCellRenderer.java rename to observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchronizeTaskListCellRenderer.java index 14e77c9..37ec1b9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/datasynchro/DataSynchronizeTaskListCellRenderer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchronizeTaskListCellRenderer.java @@ -1,4 +1,6 @@ -package fr.ird.observe.ui.admin.datasynchro; +package fr.ird.observe.ui.admin.synchronize.referential.ng; + +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.ReferentialSynchronizeTaskSupport; import javax.swing.DefaultListCellRenderer; import javax.swing.JList; @@ -10,14 +12,14 @@ import java.awt.Component; * @author Tony Chemit - chemit@codelutin.com * @since 5.0 */ -public class DataSynchronizeTaskListCellRenderer extends DefaultListCellRenderer { +public class ReferentialSynchronizeTaskListCellRenderer extends DefaultListCellRenderer { private static final long serialVersionUID = 1L; @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { - DataSynchronizeTaskSupport task = (DataSynchronizeTaskSupport) value; + ReferentialSynchronizeTaskSupport task = (ReferentialSynchronizeTaskSupport) value; super.getListCellRendererComponent(list, task.getLabel(), index, isSelected, cellHasFocus); setIcon(task.getIcon()); return this; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/CopyToLeftReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/CopyToLeftReferentialSynchronizeTask.java new file mode 100644 index 0000000..1b0c340 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/CopyToLeftReferentialSynchronizeTask.java @@ -0,0 +1,25 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.task; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class CopyToLeftReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { + + public CopyToLeftReferentialSynchronizeTask(ReferentialReference<R> data) { + super(data, "copyToLeft"); + } + + @Override + public String getLabel() { + return t("observe.actions.synchro.referential.copyToLeftTask", decorateType(), decorateData()); + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/CopyToRightReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/CopyToRightReferentialSynchronizeTask.java new file mode 100644 index 0000000..9e6f33b --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/CopyToRightReferentialSynchronizeTask.java @@ -0,0 +1,25 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.task; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class CopyToRightReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { + + public CopyToRightReferentialSynchronizeTask(ReferentialReference<R> data) { + super(data, "copyToRight"); + } + + @Override + public String getLabel() { + return t("observe.actions.synchro.referential.copyToRightTask", decorateType(), decorateData()); + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DeleteFromLeftReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DeleteFromLeftReferentialSynchronizeTask.java new file mode 100644 index 0000000..15779b5 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DeleteFromLeftReferentialSynchronizeTask.java @@ -0,0 +1,25 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.task; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class DeleteFromLeftReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { + + public DeleteFromLeftReferentialSynchronizeTask(ReferentialReference<R> data) { + super(data, "deleteFromLeft"); + } + + @Override + public String getLabel() { + return t("observe.actions.synchro.referential.deleteFromLeftTask", decorateType(), decorateData()); + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DeleteFromRightReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DeleteFromRightReferentialSynchronizeTask.java new file mode 100644 index 0000000..bc8806b --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DeleteFromRightReferentialSynchronizeTask.java @@ -0,0 +1,25 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.task; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class DeleteFromRightReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { + + public DeleteFromRightReferentialSynchronizeTask(ReferentialReference<R> data) { + super(data, "deleteFromRight"); + } + + @Override + public String getLabel() { + return t("observe.actions.synchro.referential.deleteFromRightTask", decorateType(), decorateData()); + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateFromLeftReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateFromLeftReferentialSynchronizeTask.java new file mode 100644 index 0000000..eb4325e --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateFromLeftReferentialSynchronizeTask.java @@ -0,0 +1,25 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.task; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class DesactivateFromLeftReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { + + public DesactivateFromLeftReferentialSynchronizeTask(ReferentialReference<R> data) { + super(data, "desactivateFromLeft"); + } + + @Override + public String getLabel() { + return t("observe.actions.synchro.referential.desactivateFromLeftTask", decorateType(), decorateData()); + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateFromLeftWithReplaceReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateFromLeftWithReplaceReferentialSynchronizeTask.java new file mode 100644 index 0000000..eddf0e9 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateFromLeftWithReplaceReferentialSynchronizeTask.java @@ -0,0 +1,25 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.task; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class DesactivateFromLeftWithReplaceReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { + + public DesactivateFromLeftWithReplaceReferentialSynchronizeTask(ReferentialReference<R> data) { + super(data, "desactivateFromLeftWithReplace"); + } + + @Override + public String getLabel() { + return t("observe.actions.synchro.referential.desactivateFromLeftWithReplaceTask", decorateType(), decorateData()); + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateFromRightReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateFromRightReferentialSynchronizeTask.java new file mode 100644 index 0000000..ef8a85a --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateFromRightReferentialSynchronizeTask.java @@ -0,0 +1,25 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.task; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class DesactivateFromRightReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { + + public DesactivateFromRightReferentialSynchronizeTask(ReferentialReference<R> data) { + super(data, "desactivateFromRight"); + } + + @Override + public String getLabel() { + return t("observe.actions.synchro.referential.desactivateFromRightTask", decorateType(), decorateData()); + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateFromRightWithReplaceReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateFromRightWithReplaceReferentialSynchronizeTask.java new file mode 100644 index 0000000..5bfbab8 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateFromRightWithReplaceReferentialSynchronizeTask.java @@ -0,0 +1,25 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.task; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class DesactivateFromRightWithReplaceReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { + + public DesactivateFromRightWithReplaceReferentialSynchronizeTask(ReferentialReference<R> data) { + super(data, "desactivateFromRightWithReplace"); + } + + @Override + public String getLabel() { + return t("observe.actions.synchro.referential.desactivateFromRightWithReplaceTask", decorateType(), decorateData()); + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/ReferentialSynchronizeTaskSupport.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/ReferentialSynchronizeTaskSupport.java new file mode 100644 index 0000000..7ca9c2f --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/ReferentialSynchronizeTaskSupport.java @@ -0,0 +1,48 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.task; + +import fr.ird.observe.ObserveSwingApplicationContext; +import fr.ird.observe.application.swing.decoration.DecoratorService; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import jaxx.runtime.SwingUtil; + +import javax.swing.Icon; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 03/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public abstract class ReferentialSynchronizeTaskSupport<R extends ReferentialDto> { + + private final ReferentialReference<R> data; + private final Icon icon; + + protected ReferentialSynchronizeTaskSupport(ReferentialReference<R> data, String iconName) { + this.data = data; + this.icon = SwingUtil.createActionIcon(iconName); + } + + public abstract String getLabel(); + + public ReferentialReference<R> getData() { + return data; + } + + public Icon getIcon() { + return icon; + } + + public String decorateData() { + DecoratorService decoratorService = ObserveSwingApplicationContext.get().getDecoratorService(); + return decoratorService.getReferentialReferenceDecorator(data.getType()).toString(data); + } + + public String decorateType() { + DecoratorService decoratorService = ObserveSwingApplicationContext.get().getDecoratorService(); + return t(decoratorService.getEntityLabel(data.getType())); + } +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/RevertFromLeftReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/RevertFromLeftReferentialSynchronizeTask.java new file mode 100644 index 0000000..86290f0 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/RevertFromLeftReferentialSynchronizeTask.java @@ -0,0 +1,25 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.task; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class RevertFromLeftReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { + + public RevertFromLeftReferentialSynchronizeTask(ReferentialReference<R> data) { + super(data, "revertFromLeft"); + } + + @Override + public String getLabel() { + return t("observe.actions.synchro.referential.revertFromRightLeft", decorateType(), decorateData()); + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/RevertFromRightReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/RevertFromRightReferentialSynchronizeTask.java new file mode 100644 index 0000000..be1568a --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/RevertFromRightReferentialSynchronizeTask.java @@ -0,0 +1,25 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.task; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class RevertFromRightReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { + + public RevertFromRightReferentialSynchronizeTask(ReferentialReference<R> data) { + super(data, "revertFromRight"); + } + + @Override + public String getLabel() { + return t("observe.actions.synchro.referential.revertFromRightTask", decorateType(), decorateData()); + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/SkipFromLeftReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/SkipFromLeftReferentialSynchronizeTask.java new file mode 100644 index 0000000..8cfb74d --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/SkipFromLeftReferentialSynchronizeTask.java @@ -0,0 +1,25 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.task; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class SkipFromLeftReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { + + public SkipFromLeftReferentialSynchronizeTask(ReferentialReference<R> data) { + super(data, "skipFromLeft"); + } + + @Override + public String getLabel() { + return t("observe.actions.synchro.referential.skipFromLeftTask", decorateType(), decorateData()); + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/SkipFromRightReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/SkipFromRightReferentialSynchronizeTask.java new file mode 100644 index 0000000..24f5772 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/SkipFromRightReferentialSynchronizeTask.java @@ -0,0 +1,25 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.task; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class SkipFromRightReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { + + public SkipFromRightReferentialSynchronizeTask(ReferentialReference<R> data) { + super(data, "skipFromRight"); + } + + @Override + public String getLabel() { + return t("observe.actions.synchro.referential.skipFromRightTask", decorateType(), decorateData()); + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeCellRenderer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeCellRenderer.java new file mode 100644 index 0000000..843511b --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeCellRenderer.java @@ -0,0 +1,141 @@ +/* + * #%L + * ObServe :: Swing + * %% + * Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ +package fr.ird.observe.ui.admin.synchronize.referential.ng.tree; + +import fr.ird.observe.ObserveSwingApplicationContext; +import fr.ird.observe.application.swing.decoration.DecoratorService; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.ReferenceReferentialSynchroNode; +import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.ReferentialSynchroNodeSupport; +import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.TypeReferentialSynchroNode; +import fr.ird.observe.ui.tree.ObserveTreeHelper; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.decorator.Decorator; + +import javax.swing.Icon; +import javax.swing.JComponent; +import javax.swing.JTree; +import javax.swing.UIManager; +import javax.swing.tree.DefaultTreeCellRenderer; +import java.awt.Color; +import java.awt.Component; + +import static org.nuiton.i18n.I18n.t; + +/** + * Le renderer pour décorer l'arbre de sélection des données. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 1.2 + */ +public class ReferentialSynchronizeTreeCellRenderer extends DefaultTreeCellRenderer { + + /** Logger */ + private static final Log log = LogFactory.getLog(ReferentialSynchronizeTreeCellRenderer.class); + + private static final long serialVersionUID = 1L; + + public ReferentialSynchronizeTreeCellRenderer() { + + setBackgroundNonSelectionColor(null); + setBackgroundSelectionColor(null); + setBackground(null); + + setTextNonSelectionColor(Color.BLACK); + setTextSelectionColor(Color.BLUE); + } + + /** service de décoration */ + protected transient DecoratorService decoratorService; + + public DecoratorService getDecoratorService() { + if (decoratorService == null) { + + // on récupère le service commun + decoratorService = ObserveSwingApplicationContext.get().getDecoratorService(); + } + return decoratorService; + } + + @Override + public Component getTreeCellRendererComponent( + JTree tree, + Object value, + boolean sel, + boolean expanded, + boolean leaf, + int row, + boolean hasFocus) { + + // get the icon to set for the node + ReferentialSynchroNodeSupport node = (ReferentialSynchroNodeSupport) value; + + if (node == null) { + return super.getTreeCellRendererComponent( + tree, + value, + sel, + expanded, + leaf, + row, + hasFocus + ); + } + + String text = null; + Icon icon = null; + if (node instanceof TypeReferentialSynchroNode) { + TypeReferentialSynchroNode node1 = (TypeReferentialSynchroNode) node; + icon = UIManager.getIcon("icon.navigation.sub.referentiel16"); + text = t(DecoratorService.getEntityLabel(ObserveTreeHelper.TREE_NODE_PREFIX, node1.getUserObject())); + } else if (node instanceof ReferenceReferentialSynchroNode) { + ReferenceReferentialSynchroNode node1 = (ReferenceReferentialSynchroNode) node; + + icon = node1.getType().icon(); + ReferentialReference reference = node1.getUserObject(); + Decorator<?> decorator = getDecoratorService().getReferentialReferenceDecorator(reference.getType()); + text = decorator.toString(node); + } + + setIcon(icon); + + Component comp = super.getTreeCellRendererComponent( + tree, + text, + sel, + expanded, + leaf, + row, + hasFocus + ); + + ((JComponent) comp).setToolTipText(text); + return comp; + } + + @Override + public Color getBackgroundNonSelectionColor() { + // Fixes http://forge.codelutin.com/issues/830 for jdk 7 + return Color.WHITE; + } +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModel.java new file mode 100644 index 0000000..9a2050f --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModel.java @@ -0,0 +1,411 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.tree; + +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.db.ObserveSwingDataSource; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; +import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiff; +import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffService; +import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffState; +import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffs; +import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffsEngine; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchroModel; +import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.ReferenceReferentialSynchroNode; +import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.ReferentialSynchroNodeSupport; +import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.RootReferentialSynchroNode; +import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.TypeReferentialSynchroNode; +import org.apache.commons.lang3.tuple.Pair; + +import javax.swing.event.TreeModelListener; +import javax.swing.event.TreeSelectionListener; +import javax.swing.tree.DefaultTreeModel; +import javax.swing.tree.DefaultTreeSelectionModel; +import javax.swing.tree.RowMapper; +import javax.swing.tree.TreeModel; +import javax.swing.tree.TreePath; +import javax.swing.tree.TreeSelectionModel; +import java.beans.PropertyChangeListener; +import java.util.Optional; + +/** + * Created on 10/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferentialSynchronizeTreeModel implements TreeSelectionModel, TreeModel { + + private final TreeSelectionModel treeSelectionModel; + private final TreeModel treeModel; + + public static Pair<ReferentialSynchronizeTreeModel, ReferentialSynchronizeTreeModel> buildTreeModels(ReferentialSynchroModel model) { + + ObserveSwingDataSource leftSource = model.getLeftSource(); + Preconditions.checkState(leftSource.isOpen()); + ObserveSwingDataSource rightSource = model.getRightSource(); + Preconditions.checkState(rightSource.isOpen()); + + ReferentialSynchronizeDiffService leftDiffSynchronizeService = leftSource.newReferentialSynchronizeDiffService(); + ReferentialSynchronizeDiffService rightDiffSynchronizeService = rightSource.newReferentialSynchronizeDiffService(); + + ReferentialSynchronizeDiffsEngine engine = new ReferentialSynchronizeDiffsEngine(leftDiffSynchronizeService, rightDiffSynchronizeService); + + ReferentialSynchronizeDiffs synchronizeDiffs = engine.build(model.getSynchronizeMode()); + + ImmutableSet<Class<? extends ReferentialDto>> referentialNames = synchronizeDiffs.getReferentialNames(); + RootReferentialSynchroNode leftRootNode = new RootReferentialSynchroNode(true); + RootReferentialSynchroNode rightRootNode = new RootReferentialSynchroNode(false); + + switch (model.getSynchronizeMode()) { + + case FROM_LEFT_TO_RIGHT: + for (Class<? extends ReferentialDto> referentialName : referentialNames) { + buildFromLeftToRight(engine, referentialName, synchronizeDiffs, leftRootNode, rightRootNode); + } + break; + case FROM_RIGHT_TO_LEFT: + for (Class<? extends ReferentialDto> referentialName : referentialNames) { + buildFromRightToLeft(engine, referentialName, synchronizeDiffs, leftRootNode, rightRootNode); + } + break; + case BOTH: + for (Class<? extends ReferentialDto> referentialName : referentialNames) { + buildFromBoth(engine, referentialName, synchronizeDiffs, leftRootNode, rightRootNode); + } + break; + } + + return Pair.of(new ReferentialSynchronizeTreeModel(leftRootNode), new ReferentialSynchronizeTreeModel(rightRootNode)); + } + + private static <R extends ReferentialDto> void read(ReferentialSynchronizeDiffsEngine engine, + ReferentialSynchronizeDiff synchronizeDiff, + Class<R> referentialName, + RootReferentialSynchroNode rootNode) { + + Optional<ImmutableSet<ReferentialSynchronizeDiffState>> optionalAddedReferentials = synchronizeDiff.getAddedReferentials(referentialName); + Optional<ImmutableSet<ReferentialSynchronizeDiffState>> optionalUpdatedReferentials = synchronizeDiff.getUpdatedReferentials(referentialName); + + boolean withAdd = optionalAddedReferentials.isPresent(); + boolean withUpdate = optionalUpdatedReferentials.isPresent(); + + TypeReferentialSynchroNode typeNode = rootNode.addTypeNode(referentialName); + + if (withAdd) { + + // des référentiels à supprimer + ImmutableSet<ReferentialSynchronizeDiffState> diffStates = optionalAddedReferentials.get(); + ReferentialReferenceSet<R> referenceSet = engine.getRightReferentialReferenceSet(referentialName, diffStates); + + for (ReferentialReference<R> referentialReference : referenceSet.getReferences()) { + + ReferenceReferentialSynchroNode node = typeNode.addDeleteNode(referentialReference); + + } + } + if (withUpdate) { + + // des mises à jour ç annuler + ImmutableSet<ReferentialSynchronizeDiffState> diffStates = optionalUpdatedReferentials.get(); + ReferentialReferenceSet<R> referenceSet = engine.getRightReferentialReferenceSet(referentialName, diffStates); + + for (ReferentialReference<R> referentialReference : referenceSet.getReferences()) { + + ReferenceReferentialSynchroNode node = typeNode.addRevertNode(referentialReference); + + } + + } + + + } + + private static <R extends ReferentialDto> void write(ReferentialSynchronizeDiffsEngine engine, + ReferentialSynchronizeDiff synchronizeDiff, + Class<R> referentialName, + RootReferentialSynchroNode rootNode) { + + Optional<ImmutableSet<ReferentialSynchronizeDiffState>> optionalAddedReferentials = synchronizeDiff.getAddedReferentials(referentialName); + Optional<ImmutableSet<ReferentialSynchronizeDiffState>> optionalUpdatedReferentials = synchronizeDiff.getUpdatedReferentials(referentialName); + + boolean withAdd = optionalAddedReferentials.isPresent(); + boolean withUpdate = optionalUpdatedReferentials.isPresent(); + + TypeReferentialSynchroNode typeNode = rootNode.addTypeNode(referentialName); + + if (withAdd) { + + // des référentiels à ajouter + ImmutableSet<ReferentialSynchronizeDiffState> diffStates = optionalAddedReferentials.get(); + ReferentialReferenceSet<R> referenceSet = engine.getRightReferentialReferenceSet(referentialName, diffStates); + + for (ReferentialReference<R> referentialReference : referenceSet.getReferences()) { + + ReferenceReferentialSynchroNode node = typeNode.addAddNode(referentialReference); + + } + } + if (withUpdate) { + + // des mises à jour + ImmutableSet<ReferentialSynchronizeDiffState> diffStates = optionalUpdatedReferentials.get(); + ReferentialReferenceSet<R> referenceSet = engine.getRightReferentialReferenceSet(referentialName, diffStates); + + for (ReferentialReference<R> referentialReference : referenceSet.getReferences()) { + + ReferenceReferentialSynchroNode node = typeNode.addUpdateNode(referentialReference); + + } + + } + } + + + private static <R extends ReferentialDto> void buildFromLeftToRight(ReferentialSynchronizeDiffsEngine engine, + Class<R> referentialName, + ReferentialSynchronizeDiffs synchronizeDiffs, + RootReferentialSynchroNode leftRootNode, + RootReferentialSynchroNode rightRootNode) { + + boolean inLeft = synchronizeDiffs.isLeftReferentialUsed(referentialName); + boolean inRight = synchronizeDiffs.isRightReferentialUsed(referentialName); + + if (inLeft) { + + read(engine, synchronizeDiffs.getLeftDiff(), referentialName, leftRootNode); + + } + + if (inRight) { + + write(engine, synchronizeDiffs.getRightDiff(), referentialName, rightRootNode); + + } + } + + private static void buildFromRightToLeft(ReferentialSynchronizeDiffsEngine engine, + Class<? extends ReferentialDto> referentialName, + ReferentialSynchronizeDiffs synchronizeDiffs, + RootReferentialSynchroNode leftRootNode, + RootReferentialSynchroNode rightRootNode) { + + boolean inLeft = synchronizeDiffs.isLeftReferentialUsed(referentialName); + boolean inRight = synchronizeDiffs.isRightReferentialUsed(referentialName); + + if (inLeft) { + + write(engine, synchronizeDiffs.getLeftDiff(), referentialName, leftRootNode); + + } + if (inRight) { + + read(engine, synchronizeDiffs.getRightDiff(), referentialName, rightRootNode); + + } + } + + private static void buildFromBoth(ReferentialSynchronizeDiffsEngine engine, + Class<? extends ReferentialDto> referentialName, + ReferentialSynchronizeDiffs synchronizeDiffs, + RootReferentialSynchroNode leftRootNode, + RootReferentialSynchroNode rightRootNode) { + + boolean inLeft = synchronizeDiffs.isLeftReferentialUsed(referentialName); + boolean inRight = synchronizeDiffs.isRightReferentialUsed(referentialName); + + if (inLeft) { + + write(engine, synchronizeDiffs.getLeftDiff(), referentialName, leftRootNode); + read(engine, synchronizeDiffs.getLeftDiff(), referentialName, leftRootNode); + + } + if (inRight) { + + read(engine, synchronizeDiffs.getRightDiff(), referentialName, rightRootNode); + write(engine, synchronizeDiffs.getRightDiff(), referentialName, rightRootNode); + + } + } + + public ReferentialSynchronizeTreeModel(ReferentialSynchroNodeSupport root) { + this.treeModel = new DefaultTreeModel(root); + this.treeSelectionModel = new DefaultTreeSelectionModel(); + setSelectionMode(DISCONTIGUOUS_TREE_SELECTION); + } + + @Override + public ReferentialSynchroNodeSupport getRoot() { + return (ReferentialSynchroNodeSupport) treeModel.getRoot(); + } + + @Override + public Object getChild(Object parent, int index) { + return treeModel.getChild(parent, index); + } + + @Override + public int getChildCount(Object parent) { + return treeModel.getChildCount(parent); + } + + @Override + public boolean isLeaf(Object node) { + return treeModel.isLeaf(node); + } + + @Override + public void valueForPathChanged(TreePath path, Object newValue) { + treeModel.valueForPathChanged(path, newValue); + } + + @Override + public int getIndexOfChild(Object parent, Object child) { + return treeModel.getIndexOfChild(parent, child); + } + + @Override + public void addTreeModelListener(TreeModelListener l) { + treeModel.addTreeModelListener(l); + } + + @Override + public void removeTreeModelListener(TreeModelListener l) { + treeModel.removeTreeModelListener(l); + } + + @Override + public void setSelectionMode(int mode) { + treeSelectionModel.setSelectionMode(mode); + } + + @Override + public int getSelectionMode() { + return treeSelectionModel.getSelectionMode(); + } + + @Override + public void setSelectionPath(TreePath path) { + treeSelectionModel.setSelectionPath(path); + } + + @Override + public void setSelectionPaths(TreePath[] paths) { + treeSelectionModel.setSelectionPaths(paths); + } + + @Override + public void addSelectionPath(TreePath path) { + treeSelectionModel.addSelectionPath(path); + } + + @Override + public void addSelectionPaths(TreePath[] paths) { + treeSelectionModel.addSelectionPaths(paths); + } + + @Override + public void removeSelectionPath(TreePath path) { + treeSelectionModel.removeSelectionPath(path); + } + + @Override + public void removeSelectionPaths(TreePath[] paths) { + treeSelectionModel.removeSelectionPaths(paths); + } + + @Override + public TreePath getSelectionPath() { + return treeSelectionModel.getSelectionPath(); + } + + @Override + public TreePath[] getSelectionPaths() { + return treeSelectionModel.getSelectionPaths(); + } + + @Override + public int getSelectionCount() { + return treeSelectionModel.getSelectionCount(); + } + + @Override + public boolean isPathSelected(TreePath path) { + return treeSelectionModel.isPathSelected(path); + } + + @Override + public boolean isSelectionEmpty() { + return treeSelectionModel.isSelectionEmpty(); + } + + @Override + public void clearSelection() { + treeSelectionModel.clearSelection(); + } + + @Override + public void setRowMapper(RowMapper newMapper) { + treeSelectionModel.setRowMapper(newMapper); + } + + @Override + public RowMapper getRowMapper() { + return treeSelectionModel.getRowMapper(); + } + + @Override + public int[] getSelectionRows() { + return treeSelectionModel.getSelectionRows(); + } + + @Override + public int getMinSelectionRow() { + return treeSelectionModel.getMinSelectionRow(); + } + + @Override + public int getMaxSelectionRow() { + return treeSelectionModel.getMaxSelectionRow(); + } + + @Override + public boolean isRowSelected(int row) { + return treeSelectionModel.isRowSelected(row); + } + + @Override + public void resetRowSelection() { + treeSelectionModel.resetRowSelection(); + } + + @Override + public int getLeadSelectionRow() { + return treeSelectionModel.getLeadSelectionRow(); + } + + @Override + public TreePath getLeadSelectionPath() { + return treeSelectionModel.getLeadSelectionPath(); + } + + @Override + public void addPropertyChangeListener(PropertyChangeListener listener) { + treeSelectionModel.addPropertyChangeListener(listener); + } + + @Override + public void removePropertyChangeListener(PropertyChangeListener listener) { + treeSelectionModel.removePropertyChangeListener(listener); + } + + @Override + public void addTreeSelectionListener(TreeSelectionListener x) { + treeSelectionModel.addTreeSelectionListener(x); + } + + @Override + public void removeTreeSelectionListener(TreeSelectionListener x) { + treeSelectionModel.removeTreeSelectionListener(x); + } +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferenceReferentialSynchroNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferenceReferentialSynchroNode.java new file mode 100644 index 0000000..46b6114 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferenceReferentialSynchroNode.java @@ -0,0 +1,91 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class ReferenceReferentialSynchroNode extends ReferentialSynchroNodeSupport { + + private static final long serialVersionUID = 1L; + + private final ReferenceReferentialSynchroNodeType type; + + public ReferenceReferentialSynchroNode(boolean left, ReferenceReferentialSynchroNodeType type, ReferentialReference<? extends ReferentialDto> referentialReference) { + super(left, ReferentialSynchroNodeType.REFERENCE, referentialReference); + this.type = type; + } + + public ReferenceReferentialSynchroNodeType getType() { + return type; + } + + @Override + public ReferentialReference getUserObject() { + return (ReferentialReference) super.getUserObject(); + } + + @Override + public boolean canRevertToLeft() { + return isLeft() && type.canRevert(); + } + + @Override + public boolean canRevertToRight() { + return isRight() && type.canRevert(); + } + + @Override + public boolean canAddToLeft() { + return isLeft() && type.canAdd(); + } + + @Override + public boolean canAddToRight() { + return isRight() && type.canAdd(); + } + + @Override + public boolean canUpdateToLeft() { + return isLeft() && type.canUpdate(); + } + + @Override + public boolean canUpdateToRight() { + return isRight() && type.canUpdate(); + } + + @Override + public boolean canDeleteFromLeft() { + return isLeft() && type.canDelete(); + } + + @Override + public boolean canDeleteFromRight() { + return isRight() && type.canDelete(); + } + + @Override + public boolean canDesactivateFromLeft() { + return isLeft() && type.canDesactivate(); + } + + @Override + public boolean canDesactivateFromRight() { + return isRight() && type.canDesactivate(); + } + + @Override + public boolean canDesactivateFromLeftWithReplace() { + return isLeft() && type.canDesactivateWithReplace(); + } + + @Override + public boolean canDesactivateFromRightWithReplace() { + return isRight() && type.canDesactivateWithReplace(); + } +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferenceReferentialSynchroNodeType.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferenceReferentialSynchroNodeType.java new file mode 100644 index 0000000..0605f0f --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferenceReferentialSynchroNodeType.java @@ -0,0 +1,70 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node; + +import fr.ird.observe.ui.UIHelper; + +import javax.swing.Icon; + +/** + * Created on 10/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public enum ReferenceReferentialSynchroNodeType { + + ADD(true, false, false, false, false, false, "synchroAdd"), + UPDATE(false, true, false, false, false, false, "synchroUpdate"), + REVERT(false, false, true, false, false, false, "synchroRevert"), + DELETE(false, false, false, true, true, true, "synchroDelete"); + + private final boolean canAdd; + private final boolean canUpdate; + private final boolean canRevert; + private final boolean canDelete; + private final boolean canDesactivate; + private final boolean canDesactivateWithReplace; + private final transient Icon icon; + + ReferenceReferentialSynchroNodeType(boolean canAdd, + boolean canUpdate, + boolean canRevert, + boolean canDelete, + boolean canDesactivate, + boolean canDesactivateWithReplace, + String actionIconName) { + this.canAdd = canAdd; + this.canUpdate = canUpdate; + this.canRevert = canRevert; + this.canDelete = canDelete; + this.canDesactivate = canDesactivate; + this.canDesactivateWithReplace = canDesactivateWithReplace; + this.icon = UIHelper.createActionIcon(actionIconName); + } + + public boolean canAdd() { + return canAdd; + } + + public boolean canUpdate() { + return canUpdate; + } + + public boolean canRevert() { + return canRevert; + } + + public boolean canDelete() { + return canDelete; + } + + public boolean canDesactivate() { + return canDesactivate; + } + + public boolean canDesactivateWithReplace() { + return canDesactivateWithReplace; + } + + public Icon icon() { + return icon; + } +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferentialSynchroNodeSupport.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferentialSynchroNodeSupport.java new file mode 100644 index 0000000..635643f --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferentialSynchroNodeSupport.java @@ -0,0 +1,53 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node; + +import javax.swing.tree.DefaultMutableTreeNode; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public abstract class ReferentialSynchroNodeSupport extends DefaultMutableTreeNode { + + private static final long serialVersionUID = 1L; + + protected ReferentialSynchroNodeSupport(boolean left, ReferentialSynchroNodeType nodeType, Object userObject) { + this.left = left; + this.nodeType = nodeType; + setUserObject(userObject); + } + + private final boolean left; + private final ReferentialSynchroNodeType nodeType; + + public boolean isLeft() { + return left; + } + + public boolean isRight() { + return !left; + } + + public ReferentialSynchroNodeType getNodeType() { + return nodeType; + } + + public abstract boolean canAddToLeft(); + public abstract boolean canAddToRight(); + + public abstract boolean canUpdateToLeft(); + public abstract boolean canUpdateToRight(); + + public abstract boolean canRevertToLeft(); + public abstract boolean canRevertToRight(); + + public abstract boolean canDeleteFromLeft(); + public abstract boolean canDeleteFromRight(); + + public abstract boolean canDesactivateFromLeft(); + public abstract boolean canDesactivateFromRight(); + + public abstract boolean canDesactivateFromLeftWithReplace(); + public abstract boolean canDesactivateFromRightWithReplace(); + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferentialSynchroNodeType.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferentialSynchroNodeType.java new file mode 100644 index 0000000..29be162 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferentialSynchroNodeType.java @@ -0,0 +1,13 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node; + +/** + * Created on 10/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public enum ReferentialSynchroNodeType { + ROOT, + TYPE, + REFERENCE +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/RootReferentialSynchroNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/RootReferentialSynchroNode.java new file mode 100644 index 0000000..05a0f05 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/RootReferentialSynchroNode.java @@ -0,0 +1,82 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node; + +import fr.ird.observe.services.dto.referential.ReferentialDto; + +/** + * Created on 10/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class RootReferentialSynchroNode extends ReferentialSynchroNodeSupport { + private static final long serialVersionUID = 1L; + + public RootReferentialSynchroNode(boolean left) { + super(left, ReferentialSynchroNodeType.ROOT, null); + } + + @Override + public boolean canRevertToLeft() { + return false; + } + + @Override + public boolean canRevertToRight() { + return false; + } + + @Override + public boolean canAddToLeft() { + return false; + } + + @Override + public boolean canAddToRight() { + return false; + } + + @Override + public boolean canUpdateToLeft() { + return false; + } + + @Override + public boolean canUpdateToRight() { + return false; + } + + @Override + public boolean canDeleteFromLeft() { + return false; + } + + @Override + public boolean canDeleteFromRight() { + return false; + } + + @Override + public boolean canDesactivateFromLeft() { + return false; + } + + @Override + public boolean canDesactivateFromRight() { + return false; + } + + @Override + public boolean canDesactivateFromLeftWithReplace() { + return false; + } + + @Override + public boolean canDesactivateFromRightWithReplace() { + return false; + } + + public <R extends ReferentialDto> TypeReferentialSynchroNode addTypeNode(Class<R> referentialName) { + TypeReferentialSynchroNode node = new TypeReferentialSynchroNode(isLeft(), referentialName); + add(node); + return node; + } +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/TypeReferentialSynchroNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/TypeReferentialSynchroNode.java new file mode 100644 index 0000000..ebe382d --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/TypeReferentialSynchroNode.java @@ -0,0 +1,107 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TypeReferentialSynchroNode extends ReferentialSynchroNodeSupport { + + private static final long serialVersionUID = 1L; + + public TypeReferentialSynchroNode(boolean left, Class<? extends ReferentialDto> type) { + super(left, ReferentialSynchroNodeType.TYPE, type); + } + + @Override + public Class<? extends ReferentialDto> getUserObject() { + return (Class) super.getUserObject(); + } + + @Override + public boolean canRevertToLeft() { + return false; + } + + @Override + public boolean canRevertToRight() { + return false; + } + + @Override + public boolean canAddToLeft() { + return false; + } + + @Override + public boolean canAddToRight() { + return false; + } + + @Override + public boolean canUpdateToLeft() { + return false; + } + + @Override + public boolean canUpdateToRight() { + return false; + } + + @Override + public boolean canDeleteFromLeft() { + return false; + } + + @Override + public boolean canDeleteFromRight() { + return false; + } + + @Override + public boolean canDesactivateFromLeft() { + return false; + } + + @Override + public boolean canDesactivateFromRight() { + return false; + } + + @Override + public boolean canDesactivateFromLeftWithReplace() { + return false; + } + + @Override + public boolean canDesactivateFromRightWithReplace() { + return false; + } + + public <R extends ReferentialDto> ReferenceReferentialSynchroNode addDeleteNode(ReferentialReference<R> referentialReference) { + ReferenceReferentialSynchroNode node = new ReferenceReferentialSynchroNode(isLeft(), ReferenceReferentialSynchroNodeType.DELETE, referentialReference); + add(node); + return node; + } + + public <R extends ReferentialDto> ReferenceReferentialSynchroNode addAddNode(ReferentialReference<R> referentialReference) { + ReferenceReferentialSynchroNode node = new ReferenceReferentialSynchroNode(isLeft(), ReferenceReferentialSynchroNodeType.ADD, referentialReference); + add(node); + return node; + } + + public <R extends ReferentialDto> ReferenceReferentialSynchroNode addUpdateNode(ReferentialReference<R> referentialReference) { + ReferenceReferentialSynchroNode node = new ReferenceReferentialSynchroNode(isLeft(), ReferenceReferentialSynchroNodeType.UPDATE, referentialReference); + add(node); + return node; + } + + public <R extends ReferentialDto> ReferenceReferentialSynchroNode addRevertNode(ReferentialReference<R> referentialReference) { + ReferenceReferentialSynchroNode node = new ReferenceReferentialSynchroNode(isLeft(), ReferenceReferentialSynchroNodeType.REVERT, referentialReference); + add(node); + return node; + } +} diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/datasynchro/DataSynchronizeServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/data/DataSynchronizeServiceController.java similarity index 78% rename from observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/datasynchro/DataSynchronizeServiceController.java rename to observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/data/DataSynchronizeServiceController.java index a17ba82..82ea702 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/datasynchro/DataSynchronizeServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/data/DataSynchronizeServiceController.java @@ -1,8 +1,8 @@ -package fr.ird.observe.application.web.controller.v1.actions.datasynchro; +package fr.ird.observe.application.web.controller.v1.actions.synchro.data; import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.service.actions.datasynchro.DataSynchronizeRequest; -import fr.ird.observe.services.service.actions.datasynchro.DataSynchronizeService; +import fr.ird.observe.services.service.actions.synchro.data.DataSynchronizeRequest; +import fr.ird.observe.services.service.actions.synchro.data.DataSynchronizeService; /** * Created on 09/08/16. diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/referential/diff/ReferentialSynchronizeDiffServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/referential/diff/ReferentialSynchronizeDiffServiceController.java new file mode 100644 index 0000000..97041b6 --- /dev/null +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/referential/diff/ReferentialSynchronizeDiffServiceController.java @@ -0,0 +1,34 @@ +package fr.ird.observe.application.web.controller.v1.actions.synchro.referential.diff; + +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; +import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialDataSourceStates; +import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffService; + +/** + * Created on 10/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferentialSynchronizeDiffServiceController extends ObserveAuthenticatedServiceControllerSupport<ReferentialSynchronizeDiffService> implements ReferentialSynchronizeDiffService { + protected ReferentialSynchronizeDiffServiceController() { + super(ReferentialSynchronizeDiffService.class); + } + + @Override + public <R extends ReferentialDto> ReferentialReferenceSet<R> getEnabledReferentialReferenceSet(Class<R> referentialName) { + return service.getEnabledReferentialReferenceSet(referentialName); + } + + @Override + public <R extends ReferentialDto> ReferentialReferenceSet<R> getReferentialReferenceSet(Class<R> referentialName, ImmutableSet<String> ids) { + return service.getReferentialReferenceSet(referentialName, ids); + } + + @Override + public ReferentialDataSourceStates getSourceReferentialStates() { + return service.getSourceReferentialStates(); + } +} diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/UnidirectionalReferentialSynchronizeLocalServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalServiceController.java similarity index 87% rename from observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/UnidirectionalReferentialSynchronizeLocalServiceController.java rename to observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalServiceController.java index a7ce16d..dc0107b 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/UnidirectionalReferentialSynchronizeLocalServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalServiceController.java @@ -1,4 +1,4 @@ -package fr.ird.observe.application.web.controller.v1.actions.synchro; +package fr.ird.observe.application.web.controller.v1.actions.synchro.referential.legacy; /*- * #%L @@ -25,9 +25,9 @@ package fr.ird.observe.application.web.controller.v1.actions.synchro; import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; -import fr.ird.observe.services.service.actions.synchro.LocalReferentialStates; -import fr.ird.observe.services.service.actions.synchro.UnidirectionalReferentialSynchronizeLocalService; -import fr.ird.observe.services.service.actions.synchro.UnidirectionalReferentialSynchronizeRequest; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.LocalReferentialStates; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeLocalService; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeRequest; import java.util.Set; diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/UnidirectionalReferentialSynchronizeRemoteServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeRemoteServiceController.java similarity index 85% rename from observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/UnidirectionalReferentialSynchronizeRemoteServiceController.java rename to observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeRemoteServiceController.java index b23d967..0d451fd 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/UnidirectionalReferentialSynchronizeRemoteServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeRemoteServiceController.java @@ -1,4 +1,4 @@ -package fr.ird.observe.application.web.controller.v1.actions.synchro; +package fr.ird.observe.application.web.controller.v1.actions.synchro.referential.legacy; /*- * #%L @@ -25,9 +25,9 @@ package fr.ird.observe.application.web.controller.v1.actions.synchro; import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; -import fr.ird.observe.services.service.actions.synchro.LocalReferentialStates; -import fr.ird.observe.services.service.actions.synchro.RemoteReferentialDiff; -import fr.ird.observe.services.service.actions.synchro.UnidirectionalReferentialSynchronizeRemoteService; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.LocalReferentialStates; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.RemoteReferentialDiff; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeRemoteService; /** * Created on 20/07/16. diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/referential/ng/ReferentialSynchronizeServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/referential/ng/ReferentialSynchronizeServiceController.java new file mode 100644 index 0000000..b523601 --- /dev/null +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/referential/ng/ReferentialSynchronizeServiceController.java @@ -0,0 +1,32 @@ +package fr.ird.observe.application.web.controller.v1.actions.synchro.referential.ng; + +import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; +import fr.ird.observe.services.service.actions.synchro.referential.ng.ReferentialSynchronizeRequest; +import fr.ird.observe.services.service.actions.synchro.referential.ng.ReferentialSynchronizeService; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferentialSynchronizeServiceController extends ObserveAuthenticatedServiceControllerSupport<ReferentialSynchronizeService> implements ReferentialSynchronizeService { + + public ReferentialSynchronizeServiceController() { + super(ReferentialSynchronizeService.class); + } + + @Override + public void prepareRequestOnOppositeDataSource(ReferentialSynchronizeRequest request) { + service.prepareRequestOnOppositeDataSource(request); + } + + @Override + public void prepareRequestOnDataSource(ReferentialSynchronizeRequest request) { + service.prepareRequestOnDataSource(request); + } + + @Override + public void executeRequest(ReferentialSynchronizeRequest request) { + service.executeRequest(request); + } +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/ObserveServicesProvider.java b/observe-services-api/src/main/java/fr/ird/observe/services/ObserveServicesProvider.java index 0a5e627..f349807 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/ObserveServicesProvider.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/ObserveServicesProvider.java @@ -5,11 +5,13 @@ import fr.ird.observe.services.service.PingService; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.services.service.SqlScriptProducerService; import fr.ird.observe.services.service.actions.consolidate.ConsolidateDataService; -import fr.ird.observe.services.service.actions.datasynchro.DataSynchronizeService; import fr.ird.observe.services.service.actions.export.ReplicateTripService; import fr.ird.observe.services.service.actions.report.ReportService; -import fr.ird.observe.services.service.actions.synchro.UnidirectionalReferentialSynchronizeLocalService; -import fr.ird.observe.services.service.actions.synchro.UnidirectionalReferentialSynchronizeRemoteService; +import fr.ird.observe.services.service.actions.synchro.data.DataSynchronizeService; +import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffService; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeLocalService; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeRemoteService; +import fr.ird.observe.services.service.actions.synchro.referential.ng.ReferentialSynchronizeService; import fr.ird.observe.services.service.actions.validate.ValidateService; import fr.ird.observe.services.service.longline.ActivityLongLineEncounterService; import fr.ird.observe.services.service.longline.ActivityLongLineSensorUsedService; @@ -66,6 +68,10 @@ public interface ObserveServicesProvider { DataSynchronizeService newDataSynchronizeService(); + ReferentialSynchronizeService newReferentialSynchronizeService(); + + ReferentialSynchronizeDiffService newReferentialSynchronizeDiffService(); + DataSourceService newDataSourceService(); ReferentialService newReferentialService(); diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/datasynchro/DataSynchronizeCopyTask.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/datasynchro/DataSynchronizeCopyTask.java deleted file mode 100644 index 2217414..0000000 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/datasynchro/DataSynchronizeCopyTask.java +++ /dev/null @@ -1,27 +0,0 @@ -package fr.ird.observe.services.service.actions.datasynchro; - -/** - * Created on 08/08/16. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 5.0 - */ -public class DataSynchronizeCopyTask extends DataSyncrhonizeTaskSupport { - - /** - * Contient le code sql de la copie de la marée. - */ - private byte[] dataContent; - - public DataSynchronizeCopyTask(String programId, String tripId) { - super(programId, tripId); - } - - public byte[] getDataContent() { - return dataContent; - } - - public void setDataContent(byte[] dataContent) { - this.dataContent = dataContent; - } -} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/datasynchro/DataSynchronizeDeleteTask.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/datasynchro/DataSynchronizeDeleteTask.java deleted file mode 100644 index 4b457ef..0000000 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/datasynchro/DataSynchronizeDeleteTask.java +++ /dev/null @@ -1,27 +0,0 @@ -package fr.ird.observe.services.service.actions.datasynchro; - -/** - * Created on 08/08/16. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 5.0 - */ -public class DataSynchronizeDeleteTask extends DataSyncrhonizeTaskSupport { - - /** - * Contient le code sql de la copie de la marée. - */ - private byte[] dataContent; - - public DataSynchronizeDeleteTask(String programId, String tripId) { - super(programId, tripId); - } - - public byte[] getDataContent() { - return dataContent; - } - - public void setDataContent(byte[] dataContent) { - this.dataContent = dataContent; - } -} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/datasynchro/DataSyncrhonizeTaskSupport.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/datasynchro/DataSyncrhonizeTaskSupport.java deleted file mode 100644 index c90b217..0000000 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/datasynchro/DataSyncrhonizeTaskSupport.java +++ /dev/null @@ -1,26 +0,0 @@ -package fr.ird.observe.services.service.actions.datasynchro; - -/** - * Created on 08/08/16. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 5.0 - */ -public abstract class DataSyncrhonizeTaskSupport { - - private final String programId; - private final String tripId; - - protected DataSyncrhonizeTaskSupport(String programId, String tripId) { - this.programId = programId; - this.tripId = tripId; - } - - public String getProgramId() { - return programId; - } - - public String getTripId() { - return tripId; - } -} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/datasynchro/DataSynchronizeRequest.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/data/DataSynchronizeRequest.java similarity index 92% rename from observe-services-api/src/main/java/fr/ird/observe/services/service/actions/datasynchro/DataSynchronizeRequest.java rename to observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/data/DataSynchronizeRequest.java index d5fd59d..6218431 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/datasynchro/DataSynchronizeRequest.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/data/DataSynchronizeRequest.java @@ -1,6 +1,8 @@ -package fr.ird.observe.services.service.actions.datasynchro; +package fr.ird.observe.services.service.actions.synchro.data; import com.google.common.collect.ImmutableSet; +import fr.ird.observe.services.service.actions.synchro.data.task.DataSynchronizeCopyTask; +import fr.ird.observe.services.service.actions.synchro.data.task.DataSynchronizeDeleteTask; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/datasynchro/DataSynchronizeService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/data/DataSynchronizeService.java similarity index 96% copy from observe-services-api/src/main/java/fr/ird/observe/services/service/actions/datasynchro/DataSynchronizeService.java copy to observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/data/DataSynchronizeService.java index 34882b2..ba500a3 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/datasynchro/DataSynchronizeService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/data/DataSynchronizeService.java @@ -1,4 +1,4 @@ -package fr.ird.observe.services.service.actions.datasynchro; +package fr.ird.observe.services.service.actions.synchro.data; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.spi.PostRequest; diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/data/task/DataSynchronizeCopyTask.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/data/task/DataSynchronizeCopyTask.java new file mode 100644 index 0000000..3f18f6d --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/data/task/DataSynchronizeCopyTask.java @@ -0,0 +1,14 @@ +package fr.ird.observe.services.service.actions.synchro.data.task; + +/** + * Created on 08/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class DataSynchronizeCopyTask extends DataSynchronizeTaskSupport { + + public DataSynchronizeCopyTask(String programId, String tripId) { + super(programId, tripId); + } +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/data/task/DataSynchronizeDeleteTask.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/data/task/DataSynchronizeDeleteTask.java new file mode 100644 index 0000000..8701d52 --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/data/task/DataSynchronizeDeleteTask.java @@ -0,0 +1,14 @@ +package fr.ird.observe.services.service.actions.synchro.data.task; + +/** + * Created on 08/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class DataSynchronizeDeleteTask extends DataSynchronizeTaskSupport { + + public DataSynchronizeDeleteTask(String programId, String tripId) { + super(programId, tripId); + } +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/data/task/DataSynchronizeTaskSupport.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/data/task/DataSynchronizeTaskSupport.java new file mode 100644 index 0000000..018147e --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/data/task/DataSynchronizeTaskSupport.java @@ -0,0 +1,44 @@ +package fr.ird.observe.services.service.actions.synchro.data.task; + +/** + * Created on 08/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public abstract class DataSynchronizeTaskSupport { + + /** + * Identifiant du programme de la marée. + */ + private final String programId; + /** + * Identifiant de la marée. + */ + private final String tripId; + /** + * Contient le code sql de la tâche. + */ + private byte[] dataContent; + + protected DataSynchronizeTaskSupport(String programId, String tripId) { + this.programId = programId; + this.tripId = tripId; + } + + public String getProgramId() { + return programId; + } + + public String getTripId() { + return tripId; + } + + public byte[] getDataContent() { + return dataContent; + } + + public void setDataContent(byte[] dataContent) { + this.dataContent = dataContent; + } +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ReferentialSynchronizeMode.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ReferentialSynchronizeMode.java new file mode 100644 index 0000000..3af0bab --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ReferentialSynchronizeMode.java @@ -0,0 +1,69 @@ +package fr.ird.observe.services.service.actions.synchro.referential; + +import static org.nuiton.i18n.I18n.n; +import static org.nuiton.i18n.I18n.t; + +/** + * Type de synchronisation de référentiel. Définit quelles bases sont en écriture. + * + * Created on 10/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public enum ReferentialSynchronizeMode { + + /** + * La base de gauche est en lecture, la base de droite est en écriture. + */ + FROM_LEFT_TO_RIGHT(false, true, + n("observe.synchro.referential.mode.fromLeftToRight"), + n("observe.synchro.referential.mode.fromLeftToRight.description")), + /** + * La base de gauche est en écriture, la base de droite est en lecture. + */ + FROM_RIGHT_TO_LEFT(true, false,n("observe.synchro.referential.mode.fromRightToLeft"), + n("observe.synchro.referential.mode.fromRightToLeft.description")), + /** + * La base de gauche est en écriture, la base de droite est en écriture. + */ + BOTH(true, true, + n("observe.synchro.referential.mode.both"), + n("observe.synchro.referential.mode.both.description")),; + + /** + * Est ce que la source de gauche est en écriture ? + */ + private final boolean leftWrite; + /** + * Est ce que la source de droite est en écriture ? + */ + private final boolean rightWrite; + + private final String label; + + private final String description; + + ReferentialSynchronizeMode(boolean leftWrite, boolean rightWrite, String label, String description) { + this.leftWrite = leftWrite; + this.rightWrite = rightWrite; + this.label = label; + this.description = description; + } + + public boolean isLeftWrite() { + return leftWrite; + } + + public boolean isRightWrite() { + return rightWrite; + } + + public String getLabel() { + return t(label); + } + + public String getDescription() { + return t(description); + } +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialDataSourceState.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialDataSourceState.java new file mode 100644 index 0000000..1cdedb3 --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialDataSourceState.java @@ -0,0 +1,65 @@ +package fr.ird.observe.services.service.actions.synchro.referential.diff; + +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Maps; +import fr.ird.observe.services.dto.referential.ReferentialDto; + +import java.util.Date; +import java.util.LinkedHashSet; +import java.util.Set; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class ReferentialDataSourceState<R extends ReferentialDto> { + + private final Class<R> type; + + private final Set<ReferentialSynchronizeDiffState> diffStates; + + public ReferentialDataSourceState(Class<R> type) { + this.type = type; + this.diffStates = new LinkedHashSet<>(); + } + + public Class<R> getType() { + return type; + } + + public Set<ReferentialSynchronizeDiffState> getDiffStates() { + return diffStates; + } + + public ImmutableMap<String, ReferentialSynchronizeDiffState> getReferentialStatesById() { + return Maps.uniqueIndex(diffStates, ReferentialSynchronizeDiffState::getId); + } + + public ReferentialSynchronizeDiffState getLatestReferentialDiffState() { + ReferentialSynchronizeDiffState result = null; + for (ReferentialSynchronizeDiffState diffState : diffStates) { + if (result == null) { + result = diffState; + continue; + } + if (result.getLastUpdateDate().before(diffState.getLastUpdateDate()) || result.getVersion() < diffState.getVersion()) { + result = diffState; + } + } + return result; + } + + /** + * Pour ajouter un référentiel. + * + * @param id l'identifiant du référentiel à ajouter + * @param lastUpdateDate la date de dernière mise à jour du référentiel à ajouter + * @param version la version du référentiel à ajouter + * @param disabled {@code true} si le référentiel est désactivé + */ + void addReferentialVersion(String id, Date lastUpdateDate, long version, boolean disabled) { + diffStates.add(new ReferentialSynchronizeDiffState(id, lastUpdateDate, version, disabled)); + } +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialDataSourceStates.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialDataSourceStates.java new file mode 100644 index 0000000..b3efb4a --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialDataSourceStates.java @@ -0,0 +1,47 @@ +package fr.ird.observe.services.service.actions.synchro.referential.diff; + +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.services.dto.referential.ReferentialDto; + +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class ReferentialDataSourceStates { + + /** + * Contient pour chaque type de référentiel la version de chaque référentiel indexé par son nom. + */ + private final Map<Class<? extends ReferentialDto>, ReferentialDataSourceState> diffStatesByType; + + public ReferentialDataSourceStates() { + this.diffStatesByType = new LinkedHashMap<>(); + } + + /** + * @param referentialName le nom de référentiel + * @return la collection des versions de référentiel du nom demandé. + */ + public <R extends ReferentialDto> ReferentialDataSourceState<R> getReferentialVersions(Class<R> referentialName) { + return diffStatesByType.get(referentialName); + } + + public ImmutableSet<Class<? extends ReferentialDto>> getReferentialTypes() { + return ImmutableSet.copyOf(diffStatesByType.keySet()); + } + + /** + * Pour ajouter un référentiel. + * + * @param referentialName le nom du référentiel + * @param sourceState les états pour ce type de référentiel + */ + <R extends ReferentialDto> void addReferentialVersion(Class<R> referentialName, ReferentialDataSourceState<R> sourceState) { + diffStatesByType.put(referentialName, sourceState); + } +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiff.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiff.java new file mode 100644 index 0000000..6faf9f0 --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiff.java @@ -0,0 +1,97 @@ +package fr.ird.observe.services.service.actions.synchro.referential.diff; + +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.ImmutableSetMultimap; +import fr.ird.observe.services.dto.referential.ReferentialDto; + +import java.util.Optional; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferentialSynchronizeDiff { + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + + private final ImmutableSetMultimap.Builder<Class<? extends ReferentialDto>, ReferentialSynchronizeDiffState> addedReferentialsBuilder; + + private final ImmutableSetMultimap.Builder<Class<? extends ReferentialDto>, ReferentialSynchronizeDiffState> updatedReferentialsBuilder; + + public Builder() { + + addedReferentialsBuilder = ImmutableSetMultimap.builder(); + updatedReferentialsBuilder = ImmutableSetMultimap.builder(); + } + + <R extends ReferentialDto> Builder addAddedReferential(Class<R> referentialName, ReferentialSynchronizeDiffState referentialDto) { + addedReferentialsBuilder.put(referentialName, referentialDto); + return this; + } + + <R extends ReferentialDto> Builder addUpdatedReferential(Class<R> referentialName, ReferentialSynchronizeDiffState referentialDto) { + updatedReferentialsBuilder.put(referentialName, referentialDto); + return this; + } + + public ReferentialSynchronizeDiff build() { + return new ReferentialSynchronizeDiff(addedReferentialsBuilder.build(), updatedReferentialsBuilder.build()); + } + + } + + /** + * Tous les types de référentiels décrits pour cette source. + */ + private final ImmutableSet<Class<? extends ReferentialDto>> referentialNames; + + /** + * Les référentiels ajoutés dans cette source (indexé par type de référentiel). + */ + private final ImmutableSetMultimap<Class<? extends ReferentialDto>, ReferentialSynchronizeDiffState> addedReferentials; + /** + * Les référentiels mises à jour dans cette source (indexé par type de référentiel). + */ + private final ImmutableSetMultimap<Class<? extends ReferentialDto>, ReferentialSynchronizeDiffState> updatedReferentials; + + public boolean isEmpty() { + return referentialNames.isEmpty(); + } + + public boolean isNotEmpty() { + return !isEmpty(); + } + + public ImmutableSet<Class<? extends ReferentialDto>> getReferentialNames() { + return referentialNames; + } + + public <R extends ReferentialDto> boolean isReferentialUsed(Class<R> referentialName) { + return referentialNames.contains(referentialName); + } + + public <R extends ReferentialDto> Optional<ImmutableSet<ReferentialSynchronizeDiffState>> getAddedReferentials(Class<R> referentialName) { + return Optional.ofNullable(addedReferentials.get(referentialName)); + } + + public <R extends ReferentialDto> Optional<ImmutableSet<ReferentialSynchronizeDiffState>> getUpdatedReferentials(Class<R> referentialName) { + return Optional.ofNullable(updatedReferentials.get(referentialName)); + } + + private ReferentialSynchronizeDiff(ImmutableSetMultimap<Class<? extends ReferentialDto>, ReferentialSynchronizeDiffState> addedReferentials, + ImmutableSetMultimap<Class<? extends ReferentialDto>, ReferentialSynchronizeDiffState> updatedReferentials) { + this.addedReferentials = addedReferentials; + this.updatedReferentials = updatedReferentials; + this.referentialNames = ImmutableSet.<Class<? extends ReferentialDto>>builder() + .addAll(addedReferentials.keySet()) + .addAll(updatedReferentials.keySet()) + .build(); + + } + +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffService.java new file mode 100644 index 0000000..381dd84 --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffService.java @@ -0,0 +1,30 @@ +package fr.ird.observe.services.service.actions.synchro.referential.diff; + +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.services.ObserveService; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; +import fr.ird.observe.services.spi.ReadReferentialPermission; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public interface ReferentialSynchronizeDiffService extends ObserveService { + + @ReadReferentialPermission + <R extends ReferentialDto> ReferentialReferenceSet<R> getEnabledReferentialReferenceSet(Class<R> referentialName); + + @ReadReferentialPermission + <R extends ReferentialDto> ReferentialReferenceSet<R> getReferentialReferenceSet(Class<R> referentialName, ImmutableSet<String> ids); + + /** + * Récupération sur la source à synchroniser des versions de ses référentiels. + * + * @return les versions de tous les référentiels de la base à synchroniser. + */ + @ReadReferentialPermission + ReferentialDataSourceStates getSourceReferentialStates(); + +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffState.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffState.java new file mode 100644 index 0000000..50bc0f3 --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffState.java @@ -0,0 +1,67 @@ +package fr.ird.observe.services.service.actions.synchro.referential.diff; + +import com.google.common.base.MoreObjects; + +import java.util.Date; +import java.util.Objects; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferentialSynchronizeDiffState implements Comparable<ReferentialSynchronizeDiffState> { + + private final String id; + private final Date lastUpdateDate; + private final long version; + private final boolean disabled; + public static final int EQUALS = 0; + public static final int BEFORE = -1; + public static final int AFTER = 1; + + ReferentialSynchronizeDiffState(String id, Date lastUpdateDate, long version, boolean disabled) { + this.id = id; + this.lastUpdateDate = lastUpdateDate; + this.version = version; + this.disabled = disabled; + } + + public String getId() { + return id; + } + + public boolean isDisabled() { + return disabled; + } + + public boolean isEnabled() { + return !disabled; + } + + public Date getLastUpdateDate() { + return lastUpdateDate; + } + + public long getVersion() { + return version; + } + + @Override + public String toString() { + return MoreObjects.toStringHelper(this) + .add("id", id) + .add("lastUpdateDate", lastUpdateDate) + .add("version", version) + .add("disabled", disabled) + .toString(); + } + + @Override + public int compareTo(ReferentialSynchronizeDiffState o) { + if (Objects.equals(lastUpdateDate, o.lastUpdateDate) && Objects.equals(version, o.getVersion())) { + return EQUALS; + } + return lastUpdateDate.before(o.getLastUpdateDate()) || version < o.getVersion() ? BEFORE : AFTER; + } +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffStateType.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffStateType.java new file mode 100644 index 0000000..e2d5fec --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffStateType.java @@ -0,0 +1,15 @@ +package fr.ird.observe.services.service.actions.synchro.referential.diff; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public enum ReferentialSynchronizeDiffStateType { + + ADDED, + UPDATED, + REMOVED, + DISABLED + +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffs.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffs.java new file mode 100644 index 0000000..52bd198 --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffs.java @@ -0,0 +1,125 @@ +package fr.ird.observe.services.service.actions.synchro.referential.diff; + +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.service.actions.synchro.referential.ReferentialSynchronizeMode; + +import java.util.Objects; +import java.util.Optional; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferentialSynchronizeDiffs { + + public static Builder builder(ReferentialSynchronizeMode mode) { + return new Builder(mode); + } + + public static class Builder { + + private final ReferentialSynchronizeMode mode; + private final ReferentialSynchronizeDiff.Builder leftBuilder; + private final ReferentialSynchronizeDiff.Builder rightBuilder; + + private Builder(ReferentialSynchronizeMode mode) { + Objects.nonNull(mode); + this.mode = mode; + leftBuilder = ReferentialSynchronizeDiff.builder(); + rightBuilder = ReferentialSynchronizeDiff.builder(); + } + + <R extends ReferentialDto> Builder addLeftAddedReferential(Class<R> referentialName, ReferentialSynchronizeDiffState referentialDto) { + if (mode.isLeftWrite()) { + leftBuilder.addAddedReferential(referentialName, referentialDto); + } + return this; + } + + <R extends ReferentialDto> Builder addLeftUpdatedReferential(Class<R> referentialName, ReferentialSynchronizeDiffState referentialDto) { + if (mode.isLeftWrite()) { + leftBuilder.addUpdatedReferential(referentialName, referentialDto); + } + return this; + } + + <R extends ReferentialDto> Builder addRightAddedReferential(Class<R> referentialName, ReferentialSynchronizeDiffState referentialDto) { + if (mode.isRightWrite()) { + rightBuilder.addAddedReferential(referentialName, referentialDto); + } + return this; + } + + <R extends ReferentialDto> Builder addRightUpdatedReferential(Class<R> referentialName, ReferentialSynchronizeDiffState referentialDto) { + if (mode.isRightWrite()) { + rightBuilder.addUpdatedReferential(referentialName, referentialDto); + } + return this; + } + + public ReferentialSynchronizeDiffs build() { + ReferentialSynchronizeDiff leftDiff = leftBuilder.build(); + ReferentialSynchronizeDiff rightDiff = rightBuilder.build(); + return new ReferentialSynchronizeDiffs( + leftDiff, + rightDiff, + ImmutableSet.<Class<? extends ReferentialDto>>builder() + .addAll(leftDiff.getReferentialNames()) + .addAll(rightDiff.getReferentialNames()) + .build() + ); + } + } + + private final ReferentialSynchronizeDiff leftDiff; + private final ReferentialSynchronizeDiff rightDiff; + /** + * Tous les types de référentiels décrits pour cette source. + */ + private final ImmutableSet<Class<? extends ReferentialDto>> referentialNames; + + public ReferentialSynchronizeDiff getLeftDiff() { + return leftDiff; + } + + public ReferentialSynchronizeDiff getRightDiff() { + return rightDiff; + } + + public ImmutableSet<Class<? extends ReferentialDto>> getReferentialNames() { + return referentialNames; + } + + public <R extends ReferentialDto> boolean isLeftReferentialUsed(Class<R> referentialName) { + return leftDiff.isReferentialUsed(referentialName); + } + + public <R extends ReferentialDto> boolean isRightReferentialUsed(Class<R> referentialName) { + return rightDiff.isReferentialUsed(referentialName); + } + + public <R extends ReferentialDto> Optional<ImmutableSet<ReferentialSynchronizeDiffState>> getLeftAddedReferentials(Class<R> referentialName) { + return leftDiff.getAddedReferentials(referentialName); + } + + public <R extends ReferentialDto> Optional<ImmutableSet<ReferentialSynchronizeDiffState>> getLeftUpdatedReferentials(Class<R> referentialName) { + return leftDiff.getUpdatedReferentials(referentialName); + } + + public <R extends ReferentialDto> Optional<ImmutableSet<ReferentialSynchronizeDiffState>> getRightAddedReferentials(Class<R> referentialName) { + return rightDiff.getAddedReferentials(referentialName); + } + + public <R extends ReferentialDto> Optional<ImmutableSet<ReferentialSynchronizeDiffState>> getRightUpdatedReferentials(Class<R> referentialName) { + return rightDiff.getUpdatedReferentials(referentialName); + } + + private ReferentialSynchronizeDiffs(ReferentialSynchronizeDiff leftDiff, ReferentialSynchronizeDiff rightDiff, ImmutableSet<Class<? extends ReferentialDto>> referentialNames) { + this.leftDiff = leftDiff; + this.rightDiff = rightDiff; + this.referentialNames = referentialNames; + } + +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffsEngine.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffsEngine.java new file mode 100644 index 0000000..f20ffc5 --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffsEngine.java @@ -0,0 +1,111 @@ +package fr.ird.observe.services.service.actions.synchro.referential.diff; + +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; +import fr.ird.observe.services.service.actions.synchro.referential.ReferentialSynchronizeMode; + +import java.util.Set; +import java.util.stream.Collectors; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class ReferentialSynchronizeDiffsEngine { + + private final ReferentialSynchronizeDiffService leftDiffService; + private final ReferentialSynchronizeDiffService rightDiffService; + + public ReferentialSynchronizeDiffsEngine(ReferentialSynchronizeDiffService leftDiffService, ReferentialSynchronizeDiffService rightDiffService) { + this.leftDiffService = leftDiffService; + this.rightDiffService = rightDiffService; + } + + public ReferentialSynchronizeDiffs build(ReferentialSynchronizeMode mode) { + + ReferentialSynchronizeDiffs.Builder result = ReferentialSynchronizeDiffs.builder(mode); + + ReferentialDataSourceStates leftSourceReferentialStates = leftDiffService.getSourceReferentialStates(); + ReferentialDataSourceStates rightSourceReferentialStates = rightDiffService.getSourceReferentialStates(); + + ImmutableSet<Class<? extends ReferentialDto>> leftReferentialTypes = leftSourceReferentialStates.getReferentialTypes(); + ImmutableSet<Class<? extends ReferentialDto>> rightReferentialTypes = rightSourceReferentialStates.getReferentialTypes(); + ImmutableSet<Class<? extends ReferentialDto>> allReferentialTypes = ImmutableSet.<Class<? extends ReferentialDto>>builder().addAll(leftReferentialTypes).addAll(rightReferentialTypes).build(); + + for (Class referentialType : allReferentialTypes) { + + build0(referentialType, result, leftSourceReferentialStates.getReferentialVersions(referentialType), rightSourceReferentialStates.getReferentialVersions(referentialType)); + } + + return result.build(); + } + + public <R extends ReferentialDto> ReferentialReferenceSet<R> getLeftReferentialReferenceSet(Class<R> referentialName, ImmutableSet<ReferentialSynchronizeDiffState> diffStates) { + Set<String> ids = diffStates.stream().map(ReferentialSynchronizeDiffState::getId).collect(Collectors.toSet()); + return leftDiffService.getReferentialReferenceSet(referentialName, ImmutableSet.copyOf(ids)); + } + + public <R extends ReferentialDto> ReferentialReferenceSet<R> getRightReferentialReferenceSet(Class<R> referentialName, ImmutableSet<ReferentialSynchronizeDiffState> diffStates) { + Set<String> ids = diffStates.stream().map(ReferentialSynchronizeDiffState::getId).collect(Collectors.toSet()); + return rightDiffService.getReferentialReferenceSet(referentialName, ImmutableSet.copyOf(ids)); + } + + public <R extends ReferentialDto> ReferentialReferenceSet<R> getLeftEnabledReferentialReferenceSet(Class<R> referentialName) { + return leftDiffService.getEnabledReferentialReferenceSet(referentialName); + } + + public <R extends ReferentialDto> ReferentialReferenceSet<R> getRightEnabledReferentialReferenceSet(Class<R> referentialName) { + return rightDiffService.getEnabledReferentialReferenceSet(referentialName); + } + + private <R extends ReferentialDto> void build0(Class<R> referentialName, ReferentialSynchronizeDiffs.Builder result, ReferentialDataSourceState<R> leftStates, ReferentialDataSourceState<R> rightStates) { + + + ImmutableMap<String, ReferentialSynchronizeDiffState> leftLatestReferentialDiffState = leftStates.getReferentialStatesById(); + ImmutableMap<String, ReferentialSynchronizeDiffState> rightLatestReferentialDiffState = rightStates.getReferentialStatesById(); + + ImmutableSet<String> allIds = ImmutableSet.<String>builder().addAll(leftLatestReferentialDiffState.keySet()).addAll(rightLatestReferentialDiffState.keySet()).build(); + + for (String id : allIds) { + + ReferentialSynchronizeDiffState leftReferentialState = leftLatestReferentialDiffState.get(id); + ReferentialSynchronizeDiffState rightReferentialState = rightLatestReferentialDiffState.get(id); + + if (leftReferentialState == null) { + + // ajouté à droite + result.addRightAddedReferential(referentialName, rightReferentialState); + continue; + } + + if (rightReferentialState == null) { + + // ajouté à gauche + result.addLeftAddedReferential(referentialName, leftReferentialState); + continue; + } + + int order = leftReferentialState.compareTo(rightReferentialState); + switch (order) { + + case ReferentialSynchronizeDiffState.BEFORE: + + // la droite est plus récente + result.addRightUpdatedReferential(referentialName, rightReferentialState); + break; + case ReferentialSynchronizeDiffState.AFTER: + + // la gauche est plus récente + result.addLeftUpdatedReferential(referentialName, leftReferentialState); + break; + } + + } + + } + +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/LocalReferentialStates.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/LocalReferentialStates.java similarity index 97% rename from observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/LocalReferentialStates.java rename to observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/LocalReferentialStates.java index 3414794..6cdf58a 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/LocalReferentialStates.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/LocalReferentialStates.java @@ -1,4 +1,4 @@ -package fr.ird.observe.services.service.actions.synchro; +package fr.ird.observe.services.service.actions.synchro.referential.legacy; /*- * #%L diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/RemoteReferentialDiff.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/RemoteReferentialDiff.java similarity index 97% rename from observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/RemoteReferentialDiff.java rename to observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/RemoteReferentialDiff.java index 2460dd9..88fa8aa 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/RemoteReferentialDiff.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/RemoteReferentialDiff.java @@ -1,4 +1,4 @@ -package fr.ird.observe.services.service.actions.synchro; +package fr.ird.observe.services.service.actions.synchro.referential.legacy; /*- * #%L diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeCallbackRequest.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeCallbackRequest.java similarity index 96% rename from observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeCallbackRequest.java rename to observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeCallbackRequest.java index 335cbc2..359da72 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeCallbackRequest.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeCallbackRequest.java @@ -1,4 +1,4 @@ -package fr.ird.observe.services.service.actions.synchro; +package fr.ird.observe.services.service.actions.synchro.referential.legacy; /*- * #%L diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeCallbackRequests.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeCallbackRequests.java similarity index 97% rename from observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeCallbackRequests.java rename to observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeCallbackRequests.java index 63ef003..fa507aa 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeCallbackRequests.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeCallbackRequests.java @@ -1,4 +1,4 @@ -package fr.ird.observe.services.service.actions.synchro; +package fr.ird.observe.services.service.actions.synchro.referential.legacy; /*- * #%L diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeCallbackResult.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeCallbackResult.java similarity index 95% rename from observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeCallbackResult.java rename to observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeCallbackResult.java index c5d59a7..3961ba8 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeCallbackResult.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeCallbackResult.java @@ -1,4 +1,4 @@ -package fr.ird.observe.services.service.actions.synchro; +package fr.ird.observe.services.service.actions.synchro.referential.legacy; /*- * #%L diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeCallbackResults.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeCallbackResults.java similarity index 96% rename from observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeCallbackResults.java rename to observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeCallbackResults.java index 26a5244..d3f00c4 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeCallbackResults.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeCallbackResults.java @@ -1,4 +1,4 @@ -package fr.ird.observe.services.service.actions.synchro; +package fr.ird.observe.services.service.actions.synchro.referential.legacy; /*- * #%L diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeContext.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeContext.java similarity index 96% rename from observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeContext.java rename to observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeContext.java index 0081a9c..7b2652d 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeContext.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeContext.java @@ -1,4 +1,4 @@ -package fr.ird.observe.services.service.actions.synchro; +package fr.ird.observe.services.service.actions.synchro.referential.legacy; /*- * #%L diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeEngine.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeEngine.java similarity index 99% rename from observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeEngine.java rename to observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeEngine.java index 1b7b904..8689492 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeEngine.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeEngine.java @@ -1,4 +1,4 @@ -package fr.ird.observe.services.service.actions.synchro; +package fr.ird.observe.services.service.actions.synchro.referential.legacy; /*- * #%L diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeLocalService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalService.java similarity index 98% rename from observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeLocalService.java rename to observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalService.java index 0de372f..0e9f20f 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeLocalService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalService.java @@ -1,4 +1,4 @@ -package fr.ird.observe.services.service.actions.synchro; +package fr.ird.observe.services.service.actions.synchro.referential.legacy; /*- * #%L diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeRemoteService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeRemoteService.java similarity index 96% rename from observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeRemoteService.java rename to observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeRemoteService.java index c0c2737..849973e 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeRemoteService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeRemoteService.java @@ -1,4 +1,4 @@ -package fr.ird.observe.services.service.actions.synchro; +package fr.ird.observe.services.service.actions.synchro.referential.legacy; /*- * #%L diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeRequest.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeRequest.java similarity index 98% rename from observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeRequest.java rename to observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeRequest.java index d5b7ece..9054a25 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeRequest.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeRequest.java @@ -1,4 +1,4 @@ -package fr.ird.observe.services.service.actions.synchro; +package fr.ird.observe.services.service.actions.synchro.referential.legacy; /*- * #%L diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeResult.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeResult.java similarity index 98% rename from observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeResult.java rename to observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeResult.java index 89e75fb..33f158c 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeResult.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeResult.java @@ -1,4 +1,4 @@ -package fr.ird.observe.services.service.actions.synchro; +package fr.ird.observe.services.service.actions.synchro.referential.legacy; /*- * #%L diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/ReferentialSynchronizeRequest.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/ReferentialSynchronizeRequest.java new file mode 100644 index 0000000..7cc78be --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/ReferentialSynchronizeRequest.java @@ -0,0 +1,146 @@ +package fr.ird.observe.services.service.actions.synchro.referential.ng; + +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeCopyTask; +import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeDeleteTask; +import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeDesactivateTask; +import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeDesactivateWithReplaceTask; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/** + * Created on 08/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class ReferentialSynchronizeRequest { + + /** Logger. */ + private static final Log log = LogFactory.getLog(ReferentialSynchronizeRequest.class); + + public static Builder builder(boolean h2, boolean oppositeH2) { + return new Builder(h2, oppositeH2); + } + + /** + * Is data source use h2 ? + */ + private final boolean h2; + /** + * Is opposite data source use h2 ? + */ + private final boolean oppositeH2; + /** + * Copy tasks. + */ + private final ImmutableSet<ReferentialSynchronizeCopyTask> copyTasks; + /** + * Delete tasks. + */ + private final ImmutableSet<ReferentialSynchronizeDeleteTask> deleteTasks; + /** + * Desactivate tasks. + */ + private final ImmutableSet<ReferentialSynchronizeDesactivateTask> desactivateTasks; + /** + * Desactivate with replace tasks. + */ + private final ImmutableSet<ReferentialSynchronizeDesactivateWithReplaceTask> desactivateWithReplaceTasks; + + public static class Builder { + + private final boolean h2; + private final boolean oppositeH2; + private final ImmutableSet.Builder<ReferentialSynchronizeCopyTask> copyTasksBuilder = ImmutableSet.builder(); + private final ImmutableSet.Builder<ReferentialSynchronizeDeleteTask> deleteTasksBuilder = ImmutableSet.builder(); + private final ImmutableSet.Builder<ReferentialSynchronizeDesactivateTask> desactivateTasksBuilder = ImmutableSet.builder(); + private final ImmutableSet.Builder<ReferentialSynchronizeDesactivateWithReplaceTask> desactivateWithReplaceTasksBuilder = ImmutableSet.builder(); + + public Builder(boolean h2, boolean oppositeH2) { + this.h2 = h2; + this.oppositeH2 = oppositeH2; + } + + public ReferentialSynchronizeRequest build() { + return new ReferentialSynchronizeRequest(h2, oppositeH2, copyTasksBuilder.build(), deleteTasksBuilder.build(), desactivateTasksBuilder.build(), desactivateWithReplaceTasksBuilder.build()); + } + + public Builder addDeleteTask(ReferentialSynchronizeDeleteTask<?> task) { + + if (log.isInfoEnabled()) { + log.info("Add delete task for data: " + task.getReferentialType().getName() + " / " + task.getReferentialId()); + } + deleteTasksBuilder.add(task); + return this; + } + + public Builder addDesactivateTask(ReferentialSynchronizeDesactivateTask<?> task) { + + if (log.isInfoEnabled()) { + log.info("Add desactivate (without replacement) task for data: " + task.getReferentialType().getName() + " / " + task.getReferentialId()); + } + desactivateTasksBuilder.add(task); + return this; + } + + public Builder addDesactivateWithReplaceTask(ReferentialSynchronizeDesactivateWithReplaceTask<?> task) { + + if (log.isInfoEnabled()) { + log.info("Add desactivate (with replacement) task for data: " + task.getReferentialType().getName() + " / " + task.getReferentialId()); + } + desactivateWithReplaceTasksBuilder.add(task); + return this; + } + + public Builder addCopyTask(ReferentialSynchronizeCopyTask<?> task) { + if (log.isInfoEnabled()) { + log.info("Add copy task for trip: " + task.getReferentialType().getName() + " / " + task.getReferentialId()); + } + copyTasksBuilder.add(task); + return this; + } + + } + + public ImmutableSet<ReferentialSynchronizeCopyTask> getCopyTasks() { + return copyTasks; + } + + public ImmutableSet<ReferentialSynchronizeDeleteTask> getDeleteTasks() { + return deleteTasks; + } + + public ImmutableSet<ReferentialSynchronizeDesactivateTask> getDesactivateTasks() { + return desactivateTasks; + } + + public ImmutableSet<ReferentialSynchronizeDesactivateWithReplaceTask> getDesactivateWithReplaceTasks() { + return desactivateWithReplaceTasks; + } + + public boolean isNotEmpty() { + return !(copyTasks.isEmpty() && deleteTasks.isEmpty() && desactivateTasks.isEmpty() && desactivateWithReplaceTasks.isEmpty()); + } + + public boolean isOppositeH2() { + return oppositeH2; + } + + public boolean isH2() { + return h2; + } + + private ReferentialSynchronizeRequest(boolean h2, boolean oppositeH2, + ImmutableSet<ReferentialSynchronizeCopyTask> copyTasks, + ImmutableSet<ReferentialSynchronizeDeleteTask> deleteTasks, + ImmutableSet<ReferentialSynchronizeDesactivateTask> desactivateTasks, + ImmutableSet<ReferentialSynchronizeDesactivateWithReplaceTask> desactivateWithReplaceTasks) { + this.h2 = h2; + this.oppositeH2 = oppositeH2; + this.copyTasks = copyTasks; + this.deleteTasks = deleteTasks; + this.desactivateTasks = desactivateTasks; + this.desactivateWithReplaceTasks = desactivateWithReplaceTasks; + } +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/datasynchro/DataSynchronizeService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/ReferentialSynchronizeService.java similarity index 77% rename from observe-services-api/src/main/java/fr/ird/observe/services/service/actions/datasynchro/DataSynchronizeService.java rename to observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/ReferentialSynchronizeService.java index 34882b2..f84279a 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/datasynchro/DataSynchronizeService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/ReferentialSynchronizeService.java @@ -1,4 +1,4 @@ -package fr.ird.observe.services.service.actions.datasynchro; +package fr.ird.observe.services.service.actions.synchro.referential.ng; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.spi.PostRequest; @@ -12,7 +12,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; * @author Tony Chemit - chemit@codelutin.com * @since 5.0 */ -public interface DataSynchronizeService extends ObserveService { +public interface ReferentialSynchronizeService extends ObserveService { /** * Prépare la demande donnée en paramètre. Par exemple s'il y a des demandes de recopie, on récupère le code sql de recopie. @@ -23,7 +23,7 @@ public interface DataSynchronizeService extends ObserveService { */ @ReadDataPermission @PostRequest - void prepareRequestOnOppositeDataSource(DataSynchronizeRequest request); + void prepareRequestOnOppositeDataSource(ReferentialSynchronizeRequest request); /** * Prépare la demande donnée en paramètre. Par exemple s'il y a des demandes de suppression, on récupère le code sql de suppression. @@ -34,7 +34,7 @@ public interface DataSynchronizeService extends ObserveService { */ @ReadDataPermission @PostRequest - void prepareRequestOnDataSource(DataSynchronizeRequest request); + void prepareRequestOnDataSource(ReferentialSynchronizeRequest request); /** * Exécution de la demande donnée en paramètre. @@ -47,6 +47,6 @@ public interface DataSynchronizeService extends ObserveService { @WriteDataPermission @Write @PostRequest - void executeRequest(DataSynchronizeRequest request); + void executeRequest(ReferentialSynchronizeRequest request); } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeCopyTask.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeCopyTask.java new file mode 100644 index 0000000..82b91ee --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeCopyTask.java @@ -0,0 +1,17 @@ +package fr.ird.observe.services.service.actions.synchro.referential.ng.task; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 08/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class ReferentialSynchronizeCopyTask<Type extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<Type> { + + public ReferentialSynchronizeCopyTask(ReferentialReference<Type> reference) { + super(reference); + } +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDeleteTask.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDeleteTask.java new file mode 100644 index 0000000..b6c0baa --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDeleteTask.java @@ -0,0 +1,17 @@ +package fr.ird.observe.services.service.actions.synchro.referential.ng.task; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 08/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class ReferentialSynchronizeDeleteTask<Type extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<Type> { + + public ReferentialSynchronizeDeleteTask(ReferentialReference<Type> reference) { + super(reference); + } +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDesactivateTask.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDesactivateTask.java new file mode 100644 index 0000000..f55853f --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDesactivateTask.java @@ -0,0 +1,17 @@ +package fr.ird.observe.services.service.actions.synchro.referential.ng.task; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 08/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class ReferentialSynchronizeDesactivateTask<Type extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<Type> { + + public ReferentialSynchronizeDesactivateTask(ReferentialReference<Type> reference) { + super(reference); + } +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDesactivateWithReplaceTask.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDesactivateWithReplaceTask.java new file mode 100644 index 0000000..8a9a7f6 --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDesactivateWithReplaceTask.java @@ -0,0 +1,17 @@ +package fr.ird.observe.services.service.actions.synchro.referential.ng.task; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 08/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class ReferentialSynchronizeDesactivateWithReplaceTask<Type extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<Type> { + + public ReferentialSynchronizeDesactivateWithReplaceTask(ReferentialReference<Type> reference) { + super(reference); + } +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeTaskSupport.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeTaskSupport.java new file mode 100644 index 0000000..9771238 --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeTaskSupport.java @@ -0,0 +1,38 @@ +package fr.ird.observe.services.service.actions.synchro.referential.ng.task; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 08/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public abstract class ReferentialSynchronizeTaskSupport<Type extends ReferentialDto> { + + private final Class<Type> referentialType; + private final String referentialId; + private byte[] dataContent; + + protected ReferentialSynchronizeTaskSupport(ReferentialReference<Type> reference) { + this.referentialType = reference.getType(); + this.referentialId = reference.getId(); + } + + public Class<Type> getReferentialType() { + return referentialType; + } + + public String getReferentialId() { + return referentialId; + } + + public byte[] getDataContent() { + return dataContent; + } + + public void setDataContent(byte[] dataContent) { + this.dataContent = dataContent; + } +} diff --git a/observe-services-api/src/main/resources/i18n/observe-services-api_en_GB.properties b/observe-services-api/src/main/resources/i18n/observe-services-api_en_GB.properties index ecc00df..4f7ef34 100644 --- a/observe-services-api/src/main/resources/i18n/observe-services-api_en_GB.properties +++ b/observe-services-api/src/main/resources/i18n/observe-services-api_en_GB.properties @@ -9,6 +9,12 @@ observe.ownership.unknown=Unknown observe.schoolType.libre=Free school type observe.schoolType.objet=Object school type observe.schoolType.undefined=Undefined school type +observe.synchro.referential.mode.both= +observe.synchro.referential.mode.both.description= +observe.synchro.referential.mode.fromLeftToRight= +observe.synchro.referential.mode.fromLeftToRight.description= +observe.synchro.referential.mode.fromRightToLeft= +observe.synchro.referential.mode.fromRightToLeft.description= observe.tripMapPointType.longlineActivity=Activity observe.tripMapPointType.longlineActivityInHarbour=Au Harbour observe.tripMapPointType.longlineActivityWithHaulingEnd=Hauling end diff --git a/observe-services-api/src/main/resources/i18n/observe-services-api_es_ES.properties b/observe-services-api/src/main/resources/i18n/observe-services-api_es_ES.properties index d6b8300..de318fe 100644 --- a/observe-services-api/src/main/resources/i18n/observe-services-api_es_ES.properties +++ b/observe-services-api/src/main/resources/i18n/observe-services-api_es_ES.properties @@ -9,6 +9,12 @@ observe.ownership.unknown=Desconocido observe.schoolType.libre=Banco libre observe.schoolType.objet=Banco a objeto observe.schoolType.undefined=Banco indeterminado +observe.synchro.referential.mode.both= +observe.synchro.referential.mode.both.description= +observe.synchro.referential.mode.fromLeftToRight= +observe.synchro.referential.mode.fromLeftToRight.description= +observe.synchro.referential.mode.fromRightToLeft= +observe.synchro.referential.mode.fromRightToLeft.description= observe.tripMapPointType.longlineActivity=Activity observe.tripMapPointType.longlineActivityInHarbour=Au Harbour observe.tripMapPointType.longlineActivityWithHaulingEnd=Hauling end diff --git a/observe-services-api/src/main/resources/i18n/observe-services-api_fr_FR.properties b/observe-services-api/src/main/resources/i18n/observe-services-api_fr_FR.properties index 193e4e8..a885f63 100644 --- a/observe-services-api/src/main/resources/i18n/observe-services-api_fr_FR.properties +++ b/observe-services-api/src/main/resources/i18n/observe-services-api_fr_FR.properties @@ -9,6 +9,12 @@ observe.ownership.unknown=Inconnue observe.schoolType.libre=Banc libre observe.schoolType.objet=Banc objet observe.schoolType.undefined=Banc indéterminé +observe.synchro.referential.mode.both=Bi-directionnelle +observe.synchro.referential.mode.both.description=Pour autoriser les modifications sur les deux sources. +observe.synchro.referential.mode.fromLeftToRight=Uni-directionnelle de la gauche vers la droite +observe.synchro.referential.mode.fromLeftToRight.description=Pour autoriser les modification que sur la base de droite. +observe.synchro.referential.mode.fromRightToLeft=Uni-directionnelle de la droite vers la gauche +observe.synchro.referential.mode.fromRightToLeft.description=Pour autoriser les modifications que sur la base de gauche. observe.tripMapPointType.longlineActivity=point d'activité observe.tripMapPointType.longlineActivityInHarbour=Au port observe.tripMapPointType.longlineActivityWithHaulingEnd=Fin de virage diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/datasynchro/DataSynchronizeServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/data/DataSynchronizeServiceTopia.java similarity index 66% rename from observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/datasynchro/DataSynchronizeServiceTopia.java rename to observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/data/DataSynchronizeServiceTopia.java index b4c6e4e..5f577c7 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/datasynchro/DataSynchronizeServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/data/DataSynchronizeServiceTopia.java @@ -1,4 +1,4 @@ -package fr.ird.observe.services.service.actions.datasynchro; +package fr.ird.observe.services.service.actions.synchro.data; import com.google.common.collect.ImmutableSet; import fr.ird.observe.entities.Entities; @@ -7,6 +7,8 @@ import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.service.AddSqlScriptProducerRequest; import fr.ird.observe.services.service.DeleteSqlScriptProducerRequest; import fr.ird.observe.services.service.SqlScriptProducerService; +import fr.ird.observe.services.service.actions.synchro.data.task.DataSynchronizeCopyTask; +import fr.ird.observe.services.service.actions.synchro.data.task.DataSynchronizeDeleteTask; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -32,10 +34,10 @@ public class DataSynchronizeServiceTopia extends ObserveServiceTopia implements @Override public void prepareRequestOnOppositeDataSource(DataSynchronizeRequest request) { - for (DataSynchronizeCopyTask copyTask : request.getCopyTasks()) { + for (DataSynchronizeCopyTask task : request.getCopyTasks()) { if (log.isInfoEnabled()) { - log.info("Obtain trip sql copy content: " + copyTask.getProgramId() + " / " + copyTask.getTripId()); + log.info("Obtain trip sql copy content: " + task.getProgramId() + " / " + task.getTripId()); } // get the data content @@ -46,11 +48,11 @@ public class DataSynchronizeServiceTopia extends ObserveServiceTopia implements } else { sqlRequest = AddSqlScriptProducerRequest.forPostgres(); } - sqlRequest.dataIdsToAdd(ImmutableSet.of(copyTask.getTripId())); + sqlRequest.dataIdsToAdd(ImmutableSet.of(task.getTripId())); byte[] sqlScript = sqlScriptProducerService.produceAddSqlScript(sqlRequest); // store it in task - copyTask.setDataContent(sqlScript); + task.setDataContent(sqlScript); } @@ -59,13 +61,13 @@ public class DataSynchronizeServiceTopia extends ObserveServiceTopia implements @Override public void prepareRequestOnDataSource(DataSynchronizeRequest request) { - for (DataSynchronizeDeleteTask deleteTask : request.getDeleteTasks()) { + for (DataSynchronizeDeleteTask task : request.getDeleteTasks()) { - String tripId = deleteTask.getTripId(); + String tripId = task.getTripId(); boolean longlineId = Entities.isLonglineId(tripId); if (log.isInfoEnabled()) { - log.info("Obtain trip sql delete content: " + deleteTask.getProgramId() + " / " + deleteTask.getTripId()); + log.info("Obtain trip sql delete content: " + task.getProgramId() + " / " + task.getTripId()); } // get the data content @@ -76,11 +78,11 @@ public class DataSynchronizeServiceTopia extends ObserveServiceTopia implements } else { sqlRequest = DeleteSqlScriptProducerRequest.forPostgres(); } - sqlRequest.dataIdsToDelete(ImmutableSet.of(deleteTask.getTripId())); + sqlRequest.dataIdsToDelete(ImmutableSet.of(task.getTripId())); byte[] sqlScript = sqlScriptProducerService.produceDeleteSqlScript(sqlRequest); // store it in task - deleteTask.setDataContent(sqlScript); + task.setDataContent(sqlScript); } } @@ -88,27 +90,24 @@ public class DataSynchronizeServiceTopia extends ObserveServiceTopia implements @Override public void executeRequest(DataSynchronizeRequest request) { - for (DataSynchronizeDeleteTask deleteTask : request.getDeleteTasks()) { + for (DataSynchronizeDeleteTask task : request.getDeleteTasks()) { - String tripId = deleteTask.getTripId(); + String tripId = task.getTripId(); boolean longlineId = Entities.isLonglineId(tripId); if (log.isInfoEnabled()) { - log.info("Delete trip: " + deleteTask.getProgramId() + " / " + deleteTask.getTripId()); + log.info("Delete trip: " + task.getProgramId() + " / " + task.getTripId()); } - serviceContext.getTopiaApplicationContext().executeSqlStatements(deleteTask.getDataContent()); + serviceContext.getTopiaApplicationContext().executeSqlStatements(task.getDataContent()); } - // need to flush to make deletion complete, before to execute the copy sql script - serviceContext.getTopiaPersistenceContext().flush(); - - for (DataSynchronizeCopyTask copyTask : request.getCopyTasks()) { + for (DataSynchronizeCopyTask task : request.getCopyTasks()) { if (log.isInfoEnabled()) { - log.info("Copy trip: " + copyTask.getProgramId() + " / " + copyTask.getTripId()); + log.info("Copy trip: " + task.getProgramId() + " / " + task.getTripId()); } - serviceContext.getTopiaApplicationContext().executeSqlStatements(copyTask.getDataContent()); + serviceContext.getTopiaApplicationContext().executeSqlStatements(task.getDataContent()); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffServiceTopia.java new file mode 100644 index 0000000..4a24685 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffServiceTopia.java @@ -0,0 +1,108 @@ +package fr.ird.observe.services.service.actions.synchro.referential.diff; + +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.ObserveEntityEnum; +import fr.ird.observe.ObserveTopiaPersistenceContext; +import fr.ird.observe.entities.Entities; +import fr.ird.observe.entities.constants.ReferenceStatusPersist; +import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; +import fr.ird.observe.services.ObserveServiceTopia; +import fr.ird.observe.services.binder.BinderEngine; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.topia.persistence.TopiaDao; + +import java.util.List; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class ReferentialSynchronizeDiffServiceTopia extends ObserveServiceTopia implements ReferentialSynchronizeDiffService { + + /** Logger. */ + private static final Log log = LogFactory.getLog(ReferentialSynchronizeDiffServiceTopia.class); + + @Override + public <R extends ReferentialDto> ReferentialReferenceSet<R> getEnabledReferentialReferenceSet(Class<R> referentialName) { + + if (log.isTraceEnabled()) { + log.trace("getEnabledReferentialReferenceSet(" + referentialName + ")"); + } + + ObserveEntityEnum entityEnum = ObserveEntityEnum.valueOf(referentialName); + Class<? extends ObserveReferentialEntity> entityType = (Class) entityEnum.getContract(); + Class<R> dtoType = BinderEngine.get().getReferentialDtoType(entityType); + ReferentialReferenceSet<R> result = getEnabledReferenceSet0(entityType, dtoType); + return result; + } + + @Override + public <R extends ReferentialDto> ReferentialReferenceSet<R> getReferentialReferenceSet(Class<R> referentialName, ImmutableSet<String> ids) { + + if (log.isTraceEnabled()) { + log.trace("getReferentialReferenceSet(" + referentialName + ", " + ids.size() + " element(s)"); + } + Class<? extends ObserveReferentialEntity> entityType = BinderEngine.get().getReferentialEntityType(referentialName); + ObserveEntityEnum entityEnum = ObserveEntityEnum.valueOf(entityType); + return getReferenceSet0(entityType, referentialName, ids); + } + + @Override + public ReferentialDataSourceStates getSourceReferentialStates() { + + if (log.isTraceEnabled()) { + log.trace("getSourceReferentialStates()"); + } + + ReferentialDataSourceStates referentialStates = new ReferentialDataSourceStates(); + for (ObserveEntityEnum referenceEntity : Entities.REFERENCE_ENTITIES) { + if (ObserveEntityEnum.LastUpdateDate.equals(referenceEntity)) { + continue; + } + Class entityType = referenceEntity.getContract(); + Class dtoType = BinderEngine.get().getReferentialDtoType(entityType); + getLocalSourceReferentialVersions0(dtoType, entityType, referentialStates); + } + return referentialStates; + } + + private <E extends ObserveReferentialEntity, R extends ReferentialDto> ReferentialReferenceSet<R> getReferenceSet0(Class<E> entityType, Class<R> dtoType, ImmutableSet<String> ids) { + + ObserveTopiaPersistenceContext persistenceContext = getTopiaPersistenceContext(); + TopiaDao<E> dao = persistenceContext.getDao(entityType); + List<E> entities = dao.forTopiaIdIn(ids).findAll(); + ReferentialReferenceSet<R> result = toReferentialReferenceSet(dtoType, entities, null); + return result; + + } + + private <E extends ObserveReferentialEntity, R extends ReferentialDto> ReferentialReferenceSet<R> getEnabledReferenceSet0(Class<E> entityType, Class<R> dtoType) { + + ObserveTopiaPersistenceContext persistenceContext = getTopiaPersistenceContext(); + TopiaDao<E> dao = persistenceContext.getDao(entityType); + List<E> entities = dao.forEquals(ObserveReferentialEntity.PROPERTY_STATUS, ReferenceStatusPersist.enabled).findAll(); + ReferentialReferenceSet<R> result = toReferentialReferenceSet(dtoType, entities, null); + return result; + + } + + private <E extends ObserveReferentialEntity, R extends ReferentialDto> void getLocalSourceReferentialVersions0(Class<R> referentialName, Class<E> entityType, ReferentialDataSourceStates localReferentialStates) { + + ReferentialDataSourceState<R> referentialDataSourceState = new ReferentialDataSourceState<>(referentialName); + TopiaDao<E> dao = getTopiaPersistenceContext().getDao(entityType); + for (E e : dao) { + + referentialDataSourceState.addReferentialVersion(e.getTopiaId(), e.getLastUpdateDate(), e.getTopiaVersion(), e.isDisabled()); + + + } + localReferentialStates.addReferentialVersion(referentialName, referentialDataSourceState); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/DeleteSqlStatementGenerator.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/DeleteSqlStatementGenerator.java similarity index 96% rename from observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/DeleteSqlStatementGenerator.java rename to observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/DeleteSqlStatementGenerator.java index 89c8bcb..f589084 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/DeleteSqlStatementGenerator.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/DeleteSqlStatementGenerator.java @@ -1,4 +1,4 @@ -package fr.ird.observe.services.service.actions.synchro; +package fr.ird.observe.services.service.actions.synchro.referential.legacy; /*- * #%L diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/InsertSqlStatementGenerator.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/InsertSqlStatementGenerator.java similarity index 99% rename from observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/InsertSqlStatementGenerator.java rename to observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/InsertSqlStatementGenerator.java index 8d3b565..d8643c8 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/InsertSqlStatementGenerator.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/InsertSqlStatementGenerator.java @@ -1,4 +1,4 @@ -package fr.ird.observe.services.service.actions.synchro; +package fr.ird.observe.services.service.actions.synchro.referential.legacy; /*- * #%L diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/ReplaceSqlStatementGenerator.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/ReplaceSqlStatementGenerator.java similarity index 98% rename from observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/ReplaceSqlStatementGenerator.java rename to observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/ReplaceSqlStatementGenerator.java index 24fb13b..57973a2 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/ReplaceSqlStatementGenerator.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/ReplaceSqlStatementGenerator.java @@ -1,4 +1,4 @@ -package fr.ird.observe.services.service.actions.synchro; +package fr.ird.observe.services.service.actions.synchro.referential.legacy; /*- * #%L diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeLocalServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalServiceTopia.java similarity index 99% rename from observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeLocalServiceTopia.java rename to observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalServiceTopia.java index 25fb53d..3de581f 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeLocalServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalServiceTopia.java @@ -1,4 +1,4 @@ -package fr.ird.observe.services.service.actions.synchro; +package fr.ird.observe.services.service.actions.synchro.referential.legacy; /*- * #%L diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeRemoteServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeRemoteServiceTopia.java similarity index 98% rename from observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeRemoteServiceTopia.java rename to observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeRemoteServiceTopia.java index b3cc570..1b0f4b2 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeRemoteServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeRemoteServiceTopia.java @@ -1,4 +1,4 @@ -package fr.ird.observe.services.service.actions.synchro; +package fr.ird.observe.services.service.actions.synchro.referential.legacy; /*- * #%L diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/UpdateSqlStatementGenerator.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UpdateSqlStatementGenerator.java similarity index 99% rename from observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/UpdateSqlStatementGenerator.java rename to observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UpdateSqlStatementGenerator.java index e44164a..b2c5089 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/UpdateSqlStatementGenerator.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UpdateSqlStatementGenerator.java @@ -1,4 +1,4 @@ -package fr.ird.observe.services.service.actions.synchro; +package fr.ird.observe.services.service.actions.synchro.referential.legacy; /*- * #%L diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/ReferentialSynchronizeServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/ReferentialSynchronizeServiceTopia.java new file mode 100644 index 0000000..4feb069 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/ReferentialSynchronizeServiceTopia.java @@ -0,0 +1,135 @@ +package fr.ird.observe.services.service.actions.synchro.referential.ng; + +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.entities.Entities; +import fr.ird.observe.services.ObserveServiceContextTopia; +import fr.ird.observe.services.ObserveServiceTopia; +import fr.ird.observe.services.service.AddSqlScriptProducerRequest; +import fr.ird.observe.services.service.DeleteSqlScriptProducerRequest; +import fr.ird.observe.services.service.SqlScriptProducerService; +import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeCopyTask; +import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeDeleteTask; +import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeDesactivateTask; +import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeDesactivateWithReplaceTask; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/** + * Created on 08/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class ReferentialSynchronizeServiceTopia extends ObserveServiceTopia implements ReferentialSynchronizeService { + + /** Logger. */ + private static final Log log = LogFactory.getLog(ReferentialSynchronizeServiceTopia.class); + + protected SqlScriptProducerService sqlScriptProducerService; + + @Override + public void setServiceContext(ObserveServiceContextTopia serviceContext) { + super.setServiceContext(serviceContext); + sqlScriptProducerService = serviceContext.newService(SqlScriptProducerService.class); + } + + @Override + public void prepareRequestOnOppositeDataSource(ReferentialSynchronizeRequest request) { + + for (ReferentialSynchronizeCopyTask copyTask : request.getCopyTasks()) { + + if (log.isInfoEnabled()) { + log.info("Obtain data sql copy content: " + copyTask.getReferentialType().getName() + " / " + copyTask.getReferentialId()); + } + + // get the data content + + AddSqlScriptProducerRequest sqlRequest; + if (request.isOppositeH2()) { + sqlRequest = AddSqlScriptProducerRequest.forH2(); + } else { + sqlRequest = AddSqlScriptProducerRequest.forPostgres(); + } + sqlRequest.dataIdsToAdd(ImmutableSet.of(copyTask.getReferentialId())); + byte[] sqlScript = sqlScriptProducerService.produceAddSqlScript(sqlRequest); + + // store it in task + copyTask.setDataContent(sqlScript); + + } + + } + + @Override + public void prepareRequestOnDataSource(ReferentialSynchronizeRequest request) { + + for (ReferentialSynchronizeDeleteTask deleteTask : request.getDeleteTasks()) { + + String tripId = deleteTask.getReferentialId(); + boolean longlineId = Entities.isLonglineId(tripId); + + if (log.isInfoEnabled()) { + log.info("Obtain trip sql delete content: " + deleteTask.getReferentialType().getName() + " / " + deleteTask.getReferentialId()); + } + + // get the data content + + DeleteSqlScriptProducerRequest sqlRequest; + if (request.isH2()) { + sqlRequest = DeleteSqlScriptProducerRequest.forH2(); + } else { + sqlRequest = DeleteSqlScriptProducerRequest.forPostgres(); + } + sqlRequest.dataIdsToDelete(ImmutableSet.of(deleteTask.getReferentialId())); + byte[] sqlScript = sqlScriptProducerService.produceDeleteSqlScript(sqlRequest); + + // store it in task + deleteTask.setDataContent(sqlScript); + + } + } + + @Override + public void executeRequest(ReferentialSynchronizeRequest request) { + + for (ReferentialSynchronizeDeleteTask task : request.getDeleteTasks()) { + + String tripId = task.getReferentialId(); + boolean longlineId = Entities.isLonglineId(tripId); + + if (log.isInfoEnabled()) { + log.info("Delete data: " + task.getReferentialType().getName() + " / " + task.getReferentialId()); + } + serviceContext.getTopiaApplicationContext().executeSqlStatements(task.getDataContent()); + + } + + for (ReferentialSynchronizeCopyTask task : request.getCopyTasks()) { + + if (log.isInfoEnabled()) { + log.info("Copy data: " + task.getReferentialType().getName() + " / " + task.getReferentialId()); + } + serviceContext.getTopiaApplicationContext().executeSqlStatements(task.getDataContent()); + + } + + for (ReferentialSynchronizeDesactivateTask task : request.getDesactivateTasks()) { + + if (log.isInfoEnabled()) { + log.info("Desactivate data (without replacement) : " + task.getReferentialType().getName() + " / " + task.getReferentialId()); + } + serviceContext.getTopiaApplicationContext().executeSqlStatements(task.getDataContent()); + + } + + for (ReferentialSynchronizeDesactivateWithReplaceTask task : request.getDesactivateWithReplaceTasks()) { + + if (log.isInfoEnabled()) { + log.info("Desactivate data (with replacement) : " + task.getReferentialType().getName() + " / " + task.getReferentialId()); + } + serviceContext.getTopiaApplicationContext().executeSqlStatements(task.getDataContent()); + + } + } + +} diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalSynchronizeReferentialTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalSynchronizeReferentialTest.java index df69110..5d1cbe2 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalSynchronizeReferentialTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalSynchronizeReferentialTest.java @@ -27,6 +27,12 @@ import fr.ird.observe.entities.Entities; import fr.ird.observe.services.ApplicationContextResource; import fr.ird.observe.services.DataSourceResource; import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeCallbackResults; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeContext; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeEngine; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeLocalService; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeRemoteService; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeResult; import fr.ird.observe.test.DatabaseName; import fr.ird.observe.test.ObserveFixtures; import fr.ird.observe.test.spi.CopyDatabaseConfiguration; -- 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 feature/4309_synchro_referential in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit a963a621c00c53407dc74743620f3707ec1180de Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Aug 10 19:06:44 2016 +0200 Reorganize i18n in swing module --- .../src/main/filters/observe-ui.properties | 2 + .../fr/ird/observe/db/ObserveSwingDataSource.java | 18 +- .../observe/entities/tripMap/TripMapPointType.java | 30 +- .../main/java/fr/ird/observe/ui/ObserveMainUI.jaxx | 1 + .../main/java/fr/ird/observe/ui/ObserveMainUI.jcss | 24 +- .../src/main/java/fr/ird/observe/ui/UIHelper.java | 20 + .../ui/actions/shared/CloseAndCreateUIAction.java | 4 +- .../shared/MoveActivityLonglinesUIAction.java | 4 +- .../actions/shared/MoveActivitySeinesUIAction.java | 4 +- .../ui/actions/shared/MoveRoutesUIAction.java | 4 +- .../ui/actions/shared/MoveTripsUIAction.java | 4 +- .../observe/ui/actions/shared/ReOpenUIAction.java | 4 +- .../ui/actions/shared/ResetEditUIAction.java | 4 +- .../java/fr/ird/observe/ui/admin/AdminStep.java | 121 +- .../fr/ird/observe/ui/admin/AdminTabUIHandler.java | 14 +- .../main/java/fr/ird/observe/ui/admin/AdminUI.jcss | 2 +- .../java/fr/ird/observe/ui/admin/AdminUIModel.java | 157 +- .../fr/ird/observe/ui/admin/config/ConfigUI.jaxx | 12 + .../fr/ird/observe/ui/admin/config/ConfigUI.jcss | 28 +- .../observe/ui/admin/config/ConfigUIHandler.java | 3 +- .../ui/admin/consolidate/ConsolidateUIHandler.java | 12 +- .../observe/ui/admin/export/ExportUIHandler.java | 38 +- .../observe/ui/admin/report/ReportConfigUI.jcss | 6 +- .../fr/ird/observe/ui/admin/report/ReportUI.jcss | 14 +- .../observe/ui/admin/save/SaveLocalUIHandler.java | 20 +- .../ui/admin/validate/ValidateConfigUI.jaxx | 5 - .../ui/admin/validate/ValidateConfigUI.jcss | 16 +- .../ird/observe/ui/admin/validate/ValidateUI.jcss | 6 +- .../ui/admin/validate/ValidateUIHandler.java | 40 +- .../java/fr/ird/observe/ui/content/ContentUI.jaxx | 5 +- .../ui/content/impl/longline/BranchlineUI.jaxx | 2 +- .../ui/content/impl/longline/BranchlineUI.jcss | 80 +- .../content/impl/longline/BranchlineUIHandler.java | 4 +- .../impl/longline/LonglineDetailCompositionUI.jaxx | 2 +- .../impl/longline/LonglineDetailCompositionUI.jcss | 62 +- .../LonglineDetailCompositionUIHandler.java | 18 +- .../LonglineDetailCompositionUIInitializer.java | 52 +- .../LonglineDetailCompositionValidatorService.java | 2 +- .../impl/longline/LonglineGlobalCompositionUI.jaxx | 2 +- .../impl/longline/LonglineGlobalCompositionUI.jcss | 16 +- .../LonglineGlobalCompositionUIHandler.java | 4 +- .../ui/content/impl/longline/SetLonglineUI.jaxx | 2 +- .../ui/content/impl/longline/SetLonglineUI.jcss | 130 +- .../impl/longline/SetLonglineUIHandler.java | 6 +- .../impl/seine/ActivitySeineObservedSystemUI.jaxx | 2 +- .../impl/seine/ActivitySeineObservedSystemUI.jcss | 4 +- .../ActivitySeineObservedSystemUIHandler.java | 4 +- .../FloatingObjectTransmittingBuoyOperationUI.jaxx | 2 +- ...ngObjectTransmittingBuoyOperationUIHandler.java | 2 +- .../ui/content/impl/seine/FloatingObjectUI.jaxx | 2 +- .../ui/content/impl/seine/FloatingObjectUI.jcss | 2 +- .../impl/seine/FloatingObjectUIHandler.java | 6 +- .../observe/ui/content/impl/seine/SetSeineUI.jaxx | 2 +- .../observe/ui/content/impl/seine/SetSeineUI.jcss | 74 +- .../ui/content/impl/seine/SetSeineUIHandler.java | 8 +- .../list/impl/longline/ActivityLonglinesUI.jaxx | 2 +- .../list/impl/longline/ActivityLonglinesUI.jcss | 20 +- .../impl/longline/ActivityLonglinesUIHandler.java | 10 +- .../content/list/impl/longline/CommonListUI.jcss | 16 +- .../list/impl/longline/TripLonglinesUI.jcss | 16 +- .../list/impl/longline/TripLonglinesUIHandler.java | 6 +- .../content/list/impl/seine/ActivitySeinesUI.jaxx | 2 +- .../content/list/impl/seine/ActivitySeinesUI.jcss | 20 +- .../list/impl/seine/ActivitySeinesUIHandler.java | 10 +- .../ui/content/list/impl/seine/CommonListUI.jcss | 24 +- .../ui/content/list/impl/seine/RoutesUI.jaxx | 2 +- .../ui/content/list/impl/seine/RoutesUI.jcss | 16 +- .../content/list/impl/seine/RoutesUIHandler.java | 10 +- .../ui/content/list/impl/seine/TripSeinesUI.jcss | 16 +- .../list/impl/seine/TripSeinesUIHandler.java | 6 +- .../open/impl/longline/ActivityLonglineUI.jaxx | 2 +- .../open/impl/longline/ActivityLonglineUI.jcss | 14 +- .../impl/longline/ActivityLonglineUIHandler.java | 8 +- .../content/open/impl/longline/TripLonglineUI.jaxx | 2 +- .../content/open/impl/longline/TripLonglineUI.jcss | 32 +- .../open/impl/longline/TripLonglineUIHandler.java | 6 +- .../content/open/impl/seine/ActivitySeineUI.jaxx | 2 +- .../content/open/impl/seine/ActivitySeineUI.jcss | 14 +- .../open/impl/seine/ActivitySeineUIHandler.java | 10 +- .../ui/content/open/impl/seine/RouteUI.jaxx | 2 +- .../ui/content/open/impl/seine/RouteUI.jcss | 6 +- .../ui/content/open/impl/seine/RouteUIHandler.java | 8 +- .../ui/content/open/impl/seine/TripSeineUI.jaxx | 2 +- .../ui/content/open/impl/seine/TripSeineUI.jcss | 20 +- .../open/impl/seine/TripSeineUIHandler.java | 6 +- .../ird/observe/ui/content/ref/impl/CountryUI.jaxx | 14 +- .../ird/observe/ui/content/ref/impl/FpaZoneUI.jaxx | 14 +- .../content/ref/impl/GearCaracteristicTypeUI.jaxx | 14 +- .../ui/content/ref/impl/GearCaracteristicUI.jaxx | 14 +- .../ui/content/ref/impl/GearCaracteristicUI.jcss | 4 +- .../fr/ird/observe/ui/content/ref/impl/GearUI.jaxx | 14 +- .../fr/ird/observe/ui/content/ref/impl/GearUI.jcss | 10 +- .../ird/observe/ui/content/ref/impl/HarbourUI.jaxx | 14 +- .../ird/observe/ui/content/ref/impl/HarbourUI.jcss | 6 +- .../content/ref/impl/LengthWeightParameterUI.jaxx | 14 +- .../content/ref/impl/LengthWeightParameterUI.jcss | 10 +- .../ird/observe/ui/content/ref/impl/OceanUI.jaxx | 14 +- .../observe/ui/content/ref/impl/OrganismUI.jaxx | 14 +- .../ird/observe/ui/content/ref/impl/PersonUI.jaxx | 14 +- .../ird/observe/ui/content/ref/impl/PersonUI.jcss | 2 +- .../ird/observe/ui/content/ref/impl/ProgramUI.jaxx | 14 +- .../ird/observe/ui/content/ref/impl/ProgramUI.jcss | 4 +- .../fr/ird/observe/ui/content/ref/impl/SexUI.jaxx | 14 +- .../ui/content/ref/impl/SpeciesGroupUI.jaxx | 14 +- .../observe/ui/content/ref/impl/SpeciesListUI.jaxx | 14 +- .../observe/ui/content/ref/impl/SpeciesListUI.jcss | 8 +- .../ird/observe/ui/content/ref/impl/SpeciesUI.jaxx | 14 +- .../ird/observe/ui/content/ref/impl/SpeciesUI.jcss | 8 +- .../ui/content/ref/impl/VesselSizeCategoryUI.jaxx | 14 +- .../observe/ui/content/ref/impl/VesselTypeUI.jaxx | 14 +- .../ird/observe/ui/content/ref/impl/VesselUI.jaxx | 14 +- .../ird/observe/ui/content/ref/impl/VesselUI.jcss | 4 +- .../ref/impl/longline/BaitHaulingStatusUI.jaxx | 14 +- .../ref/impl/longline/BaitSettingStatusUI.jaxx | 14 +- .../ui/content/ref/impl/longline/BaitTypeUI.jaxx | 14 +- .../ref/impl/longline/CatchFateLonglineUI.jaxx | 14 +- .../content/ref/impl/longline/EncounterTypeUI.jaxx | 14 +- .../ui/content/ref/impl/longline/HealthnessUI.jaxx | 14 +- .../content/ref/impl/longline/HookPositionUI.jaxx | 14 +- .../ui/content/ref/impl/longline/HookSizeUI.jaxx | 14 +- .../ui/content/ref/impl/longline/HookTypeUI.jaxx | 14 +- .../impl/longline/ItemHorizontalPositionUI.jaxx | 14 +- .../ref/impl/longline/ItemVerticalPositionUI.jaxx | 14 +- .../ref/impl/longline/LightsticksColorUI.jaxx | 14 +- .../ref/impl/longline/LightsticksTypeUI.jaxx | 14 +- .../ui/content/ref/impl/longline/LineTypeUI.jaxx | 14 +- .../ref/impl/longline/MaturityStatusUI.jaxx | 14 +- .../ref/impl/longline/MitigationTypeUI.jaxx | 14 +- .../content/ref/impl/longline/SensorBrandUI.jaxx | 14 +- .../ref/impl/longline/SensorDataFormatUI.jaxx | 14 +- .../ui/content/ref/impl/longline/SensorTypeUI.jaxx | 14 +- .../content/ref/impl/longline/SettingShapeUI.jaxx | 14 +- .../ref/impl/longline/SizeMeasureTypeUI.jaxx | 14 +- .../ref/impl/longline/StomacFullnessUI.jaxx | 14 +- .../ui/content/ref/impl/longline/TripTypeUI.jaxx | 14 +- .../impl/longline/VesselActivityLonglineUI.jaxx | 14 +- .../ref/impl/longline/WeightMeasureTypeUI.jaxx | 14 +- .../ui/content/ref/impl/seine/DetectionModeUI.jaxx | 14 +- .../ui/content/ref/impl/seine/ObjectFateUI.jaxx | 14 +- .../content/ref/impl/seine/ObjectOperationUI.jaxx | 14 +- .../ui/content/ref/impl/seine/ObjectTypeUI.jaxx | 14 +- .../content/ref/impl/seine/ObservedSystemUI.jaxx | 14 +- .../content/ref/impl/seine/ReasonForDiscardUI.jaxx | 14 +- .../ref/impl/seine/ReasonForNoFishingUI.jaxx | 14 +- .../content/ref/impl/seine/ReasonForNullSetUI.jaxx | 14 +- .../ui/content/ref/impl/seine/SpeciesFateUI.jaxx | 14 +- .../ui/content/ref/impl/seine/SpeciesStatusUI.jaxx | 14 +- .../ref/impl/seine/SurroundingActivityUI.jaxx | 14 +- .../impl/seine/TransmittingBuoyOperationUI.jaxx | 14 +- .../ref/impl/seine/TransmittingBuoyTypeUI.jaxx | 14 +- .../ref/impl/seine/VesselActivitySeineUI.jaxx | 14 +- .../content/ref/impl/seine/WeightCategoryUI.jaxx | 14 +- .../observe/ui/content/ref/impl/seine/WindUI.jaxx | 14 +- .../observe/ui/content/table/ContentTableUI.jaxx | 10 +- .../ui/content/table/ContentTableUIHandler.java | 4 +- .../table/impl/longline/BaitsCompositionUI.jaxx | 6 +- .../table/impl/longline/BaitsCompositionUI.jcss | 24 +- .../impl/longline/BaitsCompositionUIHandler.java | 20 +- .../impl/longline/BranchlinesCompositionUI.jaxx | 6 +- .../impl/longline/BranchlinesCompositionUI.jcss | 20 +- .../longline/BranchlinesCompositionUIHandler.java | 16 +- .../table/impl/longline/CatchLonglineUI.jaxx | 10 +- .../table/impl/longline/CatchLonglineUI.jcss | 144 +- .../impl/longline/CatchLonglineUIHandler.java | 66 +- .../content/table/impl/longline/EncounterUI.jaxx | 6 +- .../content/table/impl/longline/EncounterUI.jcss | 8 +- .../table/impl/longline/EncounterUIHandler.java | 16 +- .../impl/longline/FloatlinesCompositionUI.jaxx | 6 +- .../impl/longline/FloatlinesCompositionUI.jcss | 16 +- .../longline/FloatlinesCompositionUIHandler.java | 12 +- .../impl/longline/GearUseFeaturesLonglineUI.jaxx | 6 +- .../impl/longline/GearUseFeaturesLonglineUI.jcss | 20 +- .../longline/GearUseFeaturesLonglineUIHandler.java | 30 +- .../table/impl/longline/HooksCompositionUI.jaxx | 6 +- .../table/impl/longline/HooksCompositionUI.jcss | 20 +- .../impl/longline/HooksCompositionUIHandler.java | 16 +- .../content/table/impl/longline/SensorUsedUI.jaxx | 6 +- .../content/table/impl/longline/SensorUsedUI.jcss | 38 +- .../table/impl/longline/SensorUsedUIHandler.java | 32 +- .../ui/content/table/impl/longline/TdrUI.jaxx | 6 +- .../ui/content/table/impl/longline/TdrUI.jcss | 128 +- .../content/table/impl/longline/TdrUIHandler.java | 24 +- .../table/impl/seine/GearUseFeaturesSeineUI.jaxx | 6 +- .../table/impl/seine/GearUseFeaturesSeineUI.jcss | 20 +- .../impl/seine/GearUseFeaturesSeineUIHandler.java | 30 +- .../content/table/impl/seine/NonTargetCatchUI.jaxx | 4 +- .../content/table/impl/seine/NonTargetCatchUI.jcss | 2 +- .../table/impl/seine/NonTargetCatchUIHandler.java | 34 +- .../table/impl/seine/NonTargetSampleUI.jaxx | 4 +- .../table/impl/seine/NonTargetSampleUI.jcss | 2 +- .../table/impl/seine/NonTargetSampleUIHandler.java | 26 +- .../table/impl/seine/ObjectObservedSpeciesUI.jaxx | 4 +- .../impl/seine/ObjectObservedSpeciesUIHandler.java | 12 +- .../table/impl/seine/ObjectSchoolEstimateUI.jaxx | 4 +- .../impl/seine/ObjectSchoolEstimateUIHandler.java | 8 +- .../content/table/impl/seine/SchoolEstimateUI.jaxx | 4 +- .../content/table/impl/seine/SchoolEstimateUI.jcss | 2 +- .../table/impl/seine/SchoolEstimateUIHandler.java | 12 +- .../ui/content/table/impl/seine/TargetCatchUI.jaxx | 4 +- .../ui/content/table/impl/seine/TargetCatchUI.jcss | 12 +- .../table/impl/seine/TargetCatchUIHandler.java | 22 +- .../table/impl/seine/TargetDiscardCatchUI.jaxx | 4 +- .../table/impl/seine/TargetDiscardCatchUI.jcss | 12 +- .../impl/seine/TargetDiscardCatchUIHandler.java | 26 +- .../table/impl/seine/TargetSampleCaptureUI.jaxx | 4 +- .../table/impl/seine/TargetSampleRejeteUI.jaxx | 4 +- .../table/impl/seine/TargetSampleUIHandler.java | 28 +- .../java/fr/ird/observe/ui/storage/StorageUI.jcss | 8 +- .../ird/observe/ui/storage/StorageUIHandler.java | 4 +- .../ird/observe/ui/storage/tabs/ConfigDataUI.jcss | 20 +- .../ui/storage/tabs/ConfigReferentielUI.jcss | 14 +- .../ui/storage/tabs/DataSelectionModel.java | 5 +- .../ui/storage/tabs/StorageTabUIHandler.java | 6 +- .../ui/tree/DataSelectionTreeCellRenderer.java | 19 +- .../tree/ObserveNavigationTreeShowPopupAction.java | 12 +- .../fr/ird/observe/ui/usage/UsagesUIHandler.java | 4 +- .../observe/ui/util/tripMap/ObserveMapPane.java | 10 +- .../ui/util/tripMap/TripMapContentBuilder.java | 8 +- .../fr/ird/observe/ui/util/tripMap/TripMapUI.jcss | 10 +- .../observe/ui/util/tripMap/TripMapUIHandler.java | 8 +- .../observe/validation/ValidationModelMode.java | 12 +- .../observe-application-swing_en_GB.properties | 2775 +++++++++---------- .../observe-application-swing_es_ES.properties | 2775 +++++++++---------- .../observe-application-swing_fr_FR.properties | 2778 ++++++++++---------- 224 files changed, 6022 insertions(+), 5762 deletions(-) diff --git a/observe-application-swing/src/main/filters/observe-ui.properties b/observe-application-swing/src/main/filters/observe-ui.properties index 8ff0726..6891800 100644 --- a/observe-application-swing/src/main/filters/observe-ui.properties +++ b/observe-application-swing/src/main/filters/observe-ui.properties @@ -158,6 +158,8 @@ icon.action.site=action-site.png icon.action.start=action-synchro-start.png icon.action.stop=action-synchro-stop.png icon.action.synchronizeReferentiel=action-synch.png +icon.action.dataSynchronize=action-synch.png +icon.action.referentialSynchronize=action-synch.png icon.action.pause=action-synchro-pause.png icon.action.unconnected=action-unconnected.png icon.action.validate=action-validate.png diff --git a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java index f59896c..861d6dc 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java @@ -60,11 +60,13 @@ import fr.ird.observe.services.service.PingService; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.services.service.SqlScriptProducerService; import fr.ird.observe.services.service.actions.consolidate.ConsolidateDataService; -import fr.ird.observe.services.service.actions.datasynchro.DataSynchronizeService; import fr.ird.observe.services.service.actions.export.ReplicateTripService; import fr.ird.observe.services.service.actions.report.ReportService; -import fr.ird.observe.services.service.actions.synchro.UnidirectionalReferentialSynchronizeLocalService; -import fr.ird.observe.services.service.actions.synchro.UnidirectionalReferentialSynchronizeRemoteService; +import fr.ird.observe.services.service.actions.synchro.data.DataSynchronizeService; +import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffService; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeLocalService; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeRemoteService; +import fr.ird.observe.services.service.actions.synchro.referential.ng.ReferentialSynchronizeService; import fr.ird.observe.services.service.actions.validate.ValidateService; import fr.ird.observe.services.service.longline.ActivityLongLineEncounterService; import fr.ird.observe.services.service.longline.ActivityLongLineSensorUsedService; @@ -581,6 +583,16 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements } @Override + public ReferentialSynchronizeService newReferentialSynchronizeService() { + return newService(ReferentialSynchronizeService.class); + } + + @Override + public ReferentialSynchronizeDiffService newReferentialSynchronizeDiffService() { + return newService(ReferentialSynchronizeDiffService.class); + } + + @Override public DataSourceService newDataSourceService() { return newService(DataSourceService.class); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/entities/tripMap/TripMapPointType.java b/observe-application-swing/src/main/java/fr/ird/observe/entities/tripMap/TripMapPointType.java index 4833ca7..5637f33 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/entities/tripMap/TripMapPointType.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/entities/tripMap/TripMapPointType.java @@ -30,21 +30,21 @@ import static org.nuiton.i18n.I18n.t; */ public enum TripMapPointType { - SEINE_DEPARTURE_HARBOUR(n("observe.map.seine.harbour.departure")), - SEINE_LANDING_HARBOUR(n("observe.map.seine.harbour.landing")), - SEINE_ACTIVITY(n("observe.map.seine.activity")), - SEINE_ACTIVITY_IN_HARBOUR(n("observe.map.seine.activity.inHarbour")), - SEINE_ACTIVITY_WITH_FREE_SCHOOL_TYPE(n("observe.map.seine.activity.schoolType.free")), - SEINE_ACTIVITY_WITH_OBJECT_SCHOOL_TYPE(n("observe.map.seine.activity.schoolType.object")), - - LONGLINE_IN_HARBOUR(n("observe.map.longLine.seine.harbour")), - LONGLINE_ACTIVITY(n("observe.map.longLine.activity")), - LONGLINE_ACTIVITY_WITH_SETTING_START(n("observe.map.longLine.activity.setting.start")), - LONGLINE_ACTIVITY_WITH_SETTING_END(n("observe.map.longLine.activity.setting.end")), - LONGLINE_ACTIVITY_WITH_HAULING_START(n("observe.map.longLine.activity.hauling.start")), - LONGLINE_ACTIVITY_WITH_HAULING_END(n("observe.map.longLine.activity.hauling.end")), - LONGLINE_ACTIVITY_WITH_INTERACTION(n("observe.map.longLine.activity.interaction")), - LONGLINE_ACTIVITY_WITH_STATION(n("observe.map.longLine.activity.station")); + SEINE_DEPARTURE_HARBOUR(n("observe.content.map.seine.harbour.departure")), + SEINE_LANDING_HARBOUR(n("observe.content.map.seine.harbour.landing")), + SEINE_ACTIVITY(n("observe.content.map.seine.activity")), + SEINE_ACTIVITY_IN_HARBOUR(n("observe.content.map.seine.activity.inHarbour")), + SEINE_ACTIVITY_WITH_FREE_SCHOOL_TYPE(n("observe.content.map.seine.activity.schoolType.free")), + SEINE_ACTIVITY_WITH_OBJECT_SCHOOL_TYPE(n("observe.content.map.seine.activity.schoolType.object")), + + LONGLINE_IN_HARBOUR(n("observe.content.map.longLine.seine.harbour")), + LONGLINE_ACTIVITY(n("observe.content.map.longLine.activity")), + LONGLINE_ACTIVITY_WITH_SETTING_START(n("observe.content.map.longLine.activity.setting.start")), + LONGLINE_ACTIVITY_WITH_SETTING_END(n("observe.content.map.longLine.activity.setting.end")), + LONGLINE_ACTIVITY_WITH_HAULING_START(n("observe.content.map.longLine.activity.hauling.start")), + LONGLINE_ACTIVITY_WITH_HAULING_END(n("observe.content.map.longLine.activity.hauling.end")), + LONGLINE_ACTIVITY_WITH_INTERACTION(n("observe.content.map.longLine.activity.interaction")), + LONGLINE_ACTIVITY_WITH_STATION(n("observe.content.map.longLine.activity.station")); private final String label; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jaxx index 5713b92..0b1ef76 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jaxx @@ -174,6 +174,7 @@ void $afterCompleteSetup() { <JMenuItem id='menuActionsReport'/> <JMenuItem id='menuActionsConsolidate'/> <JMenuItem id='menuActionsDataSynchro'/> + <JMenuItem id='menuActionsReferentialSynchro'/> </JMenu> <JMenu id='menuNavigation'> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jcss index 999d7b2..d9bed5c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jcss @@ -208,6 +208,10 @@ JSplitPane { action: {new fr.ird.observe.ui.actions.LaunchAdminAction(this, AdminStep.DATA_SYNCHRONIZE)}; } +#menuActionsReferentialSynchro { + action: {new fr.ird.observe.ui.actions.LaunchAdminAction(this, AdminStep.REFERENTIAL_SYNCHRONIZE)}; +} + #menuActionsSynchronize { action: {new fr.ird.observe.ui.actions.LaunchAdminAction(this, AdminStep.SYNCHRONIZE)}; } @@ -235,40 +239,40 @@ JSplitPane { } #menuNavigationProgram { - text: "observe.action.goto.open.program.short"; - toolTipText: "observe.action.goto.open.program.tip"; + text: "observe.content.action.goto.open.program.short"; + toolTipText: "observe.content.action.goto.open.program.tip"; icon: "navigation.fr.ird.observe.services.dto.referential.ProgramDto"; mnemonic: P; enabled: {getDataContext().isOpenProgram()}; } #menuNavigationTrip { - text: "observe.action.goto.open.trip.short"; - toolTipText: "observe.action.goto.open.trip.tip"; + text: "observe.content.action.goto.open.trip.short"; + toolTipText: "observe.content.action.goto.open.trip.tip"; icon: "navigation.fr.ird.observe.services.dto.TripDto"; mnemonic: M; enabled: {getDataContext().isOpenTrip()}; } #menuNavigationRoute { - text: "observe.action.goto.open.route.short"; - toolTipText: "observe.action.goto.open.route.tip"; + text: "observe.content.action.goto.open.route.short"; + toolTipText: "observe.content.action.goto.open.route.tip"; icon: "navigation.fr.ird.observe.services.dto.seine.RouteDto"; mnemonic: R; enabled: {getDataContext().isOpenRoute()}; } #menuNavigationActivity { - text: "observe.action.goto.open.activity.short"; - toolTipText: "observe.action.goto.open.activity.tip"; + text: "observe.content.action.goto.open.activity.short"; + toolTipText: "observe.content.action.goto.open.activity.tip"; icon: "navigation.fr.ird.observe.services.dto.ActivityDto"; mnemonic: A; enabled: {getDataContext().isOpenActivity()}; } #menuNavigationSet { - text: "observe.action.goto.open.set.short"; - toolTipText: "observe.action.goto.open.set.tip"; + text: "observe.content.action.goto.open.set.short"; + toolTipText: "observe.content.action.goto.open.set.tip"; icon: "navigation.fr.ird.observe.services.dto.SetDto"; mnemonic: C; enabled: {getDataContext().isOpenSet()}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/UIHelper.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/UIHelper.java index 028ff51..ae824cb 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/UIHelper.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/UIHelper.java @@ -38,14 +38,20 @@ import jaxx.runtime.swing.renderer.DecoratorTableCellRenderer; import org.apache.commons.io.FileUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.jdesktop.swingx.painter.Painter; import org.nuiton.decorator.Decorator; +import javax.swing.JComponent; import javax.swing.JOptionPane; +import javax.swing.JScrollPane; import javax.swing.JTable; +import javax.swing.JTree; import javax.swing.SwingUtilities; +import javax.swing.UIDefaults; import javax.swing.event.HyperlinkEvent; import javax.swing.table.TableCellEditor; import javax.swing.table.TableCellRenderer; +import java.awt.Color; import java.awt.Component; import java.awt.Desktop; import java.awt.Toolkit; @@ -572,4 +578,18 @@ public class UIHelper extends SwingUtil { } + public static void initUI(JScrollPane selectedTreePane, JTree tree) { + + // customize tree selection colors + UIDefaults defaults = new UIDefaults(); + + Painter<JComponent> painter = (g, c, w, h) -> g.fillRect(0, 0, w, h); + defaults.put("Tree:TreeCell[Enabled+Selected].backgroundPainter", painter); + defaults.put("Tree:TreeCell[Enabled+Focused].backgroundPainter", painter); + defaults.put("Tree:TreeCell[Focused+Selected].backgroundPainter", painter); + + tree.putClientProperty("Nimbus.Overrides", defaults); + // Fix http://forge.codelutin.com/issues/2781 + selectedTreePane.getViewport().setBackground(Color.WHITE); + } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/CloseAndCreateUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/CloseAndCreateUIAction.java index 1c74f72..4e9bd7b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/CloseAndCreateUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/CloseAndCreateUIAction.java @@ -56,8 +56,8 @@ public class CloseAndCreateUIAction extends AbstractUIAction { public CloseAndCreateUIAction(ObserveMainUI mainUI) { super(mainUI, ACTION_NAME, - n("observe.action.closeAndCreate"), - n("observe.action.closeAndCreate.tip"), + n("observe.content.action.closeAndCreate"), + n("observe.content.action.closeAndCreate.tip"), "add" ); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivityLonglinesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivityLonglinesUIAction.java index 2e02ea6..081dbcf 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivityLonglinesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivityLonglinesUIAction.java @@ -69,8 +69,8 @@ public class MoveActivityLonglinesUIAction extends AbstractUIAction { public MoveActivityLonglinesUIAction(ObserveMainUI mainUI) { super(mainUI, ACTION_NAME, - n("observe.action.move.activities.longline"), - n("observe.action.move.activities.longline.tip"), + n("observe.content.action.move.activities.longline"), + n("observe.content.action.move.activities.longline.tip"), "move-activities" ); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivitySeinesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivitySeinesUIAction.java index 49698d7..11db63a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivitySeinesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivitySeinesUIAction.java @@ -70,8 +70,8 @@ public class MoveActivitySeinesUIAction extends AbstractUIAction { public MoveActivitySeinesUIAction(ObserveMainUI mainUI) { super(mainUI, ACTION_NAME, - n("observe.action.move.activities.seine"), - n("observe.action.move.activities.seine.tip"), + n("observe.content.action.move.activities.seine"), + n("observe.content.action.move.activities.seine.tip"), "move-activities" ); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java index 4804702..b5d2644 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java @@ -69,8 +69,8 @@ public class MoveRoutesUIAction extends AbstractUIAction { public MoveRoutesUIAction(ObserveMainUI mainUI) { super(mainUI, ACTION_NAME, - n("observe.action.move.routes"), - n("observe.action.move.routes.tip"), + n("observe.content.action.move.routes"), + n("observe.content.action.move.routes.tip"), "move-routes" ); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java index e5ac87a..1f093db 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java @@ -67,8 +67,8 @@ public abstract class MoveTripsUIAction<T extends DataDto> extends AbstractUIAct public MoveTripsUIAction(ObserveMainUI mainUI, String actionName) { super(mainUI, actionName, - n("observe.action.move.trips"), - n("observe.action.move.trips.tip"), + n("observe.content.action.move.trips"), + n("observe.content.action.move.trips.tip"), "move-trips" ); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/ReOpenUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/ReOpenUIAction.java index 32478e4..01e12e1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/ReOpenUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/ReOpenUIAction.java @@ -52,8 +52,8 @@ public class ReOpenUIAction extends AbstractUIAction { public ReOpenUIAction(ObserveMainUI mainUI) { super(mainUI, ACTION_NAME, - n("observe.action.reopen"), - n("observe.action.reopen.tip"), + n("observe.content.action.reopen"), + n("observe.content.action.reopen.tip"), "reopen" ); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/ResetEditUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/ResetEditUIAction.java index dc7bee7..a2ae98e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/ResetEditUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/ResetEditUIAction.java @@ -46,8 +46,8 @@ public class ResetEditUIAction extends AbstractUIAction { public ResetEditUIAction(ObserveMainUI mainUI) { super(mainUI, ACTION_NAME, - n("observe.action.reset"), - n("observe.action.reset.tip"), + n("observe.content.action.reset"), + n("observe.content.action.reset.tip"), "revert" ); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminStep.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminStep.java index 2819d66..d010960 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminStep.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminStep.java @@ -27,17 +27,19 @@ import fr.ird.observe.ui.admin.config.ConfigUI; import fr.ird.observe.ui.admin.config.SelectDataUI; import fr.ird.observe.ui.admin.consolidate.ConsolidateModel; import fr.ird.observe.ui.admin.consolidate.ConsolidateUI; -import fr.ird.observe.ui.admin.datasynchro.DataSynchroModel; -import fr.ird.observe.ui.admin.datasynchro.DataSynchroUI; +import fr.ird.observe.ui.admin.synchronize.data.DataSynchroModel; +import fr.ird.observe.ui.admin.synchronize.data.DataSynchroUI; import fr.ird.observe.ui.admin.export.ExportModel; import fr.ird.observe.ui.admin.export.ExportUI; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchroModel; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchroUI; import fr.ird.observe.ui.admin.report.ReportModel; import fr.ird.observe.ui.admin.report.ReportUI; import fr.ird.observe.ui.admin.resume.ShowResumeUI; import fr.ird.observe.ui.admin.save.SaveLocalModel; import fr.ird.observe.ui.admin.save.SaveLocalUI; -import fr.ird.observe.ui.admin.synchronize.SynchronizeModel; -import fr.ird.observe.ui.admin.synchronize.SynchronizeUI; +import fr.ird.observe.ui.admin.synchronize.referential.legacy.SynchronizeModel; +import fr.ird.observe.ui.admin.synchronize.referential.legacy.SynchronizeUI; import fr.ird.observe.ui.admin.validate.ValidateModel; import fr.ird.observe.ui.admin.validate.ValidateUI; import jaxx.runtime.swing.wizard.ext.WizardExtStep; @@ -66,8 +68,8 @@ public enum AdminStep implements WizardExtStep { /** pour configurer les actions à réaliser et voir la progression */ CONFIG( - n("observe.synchro.step.config"), - n("observe.synchro.step.config.description"), + n("observe.actions.config.step"), + n("observe.actions.config.step.description"), null, ConfigUI.class, true @@ -75,8 +77,8 @@ public enum AdminStep implements WizardExtStep { /** pour selectionner les donnes */ SELECT_DATA( - n("observe.synchro.step.selectData"), - n("observe.synchro.step.selectData.description"), + n("observe.actions.selectData.step"), + n("observe.actions.selectData.step.description"), null, SelectDataUI.class, true @@ -84,13 +86,13 @@ public enum AdminStep implements WizardExtStep { /** pour résoudre les entités obosolètes */ SYNCHRONIZE( - n("observe.synchro.step.synchronize"), - n("observe.synchro.step.synchronize.description"), - n("observe.title.synchronize"), - n("observe.title.synchronize.tip"), + n("observe.actions.synchro.referential.legacy.step"), + n("observe.actions.synchro.referential.legacy.step.description"), + n("observe.actions.synchro.referential.legacy"), + n("observe.actions.synchro.referential.legacy.tip"), "synchronizeReferentiel", - n("observe.synchro.operation.synchronize"), - n("observe.synchro.operation.synchronize.description"), + n("observe.actions.synchro.referential.legacy"), + n("observe.actions.synchro.referential.legacy.description"), SynchronizeModel.class, SynchronizeUI.class, true, @@ -102,13 +104,13 @@ public enum AdminStep implements WizardExtStep { ), DATA_SYNCHRONIZE( - n("observe.synchro.step.dataSynchronize"), - n("observe.synchro.step.dataSynchronize.description"), - n("observe.title.dataSynchronize"), - n("observe.title.dataSynchronize.tip"), + n("observe.actions.synchro.data.step"), + n("observe.actions.synchro.data.step.description"), + n("observe.actions.synchro.data.title"), + n("observe.actions.synchro.data.title.tip"), "dataSynchronize", - n("observe.synchro.operation.dataSynchronize"), - n("observe.synchro.operation.dataSynchronize.description"), + n("observe.actions.synchro.data"), + n("observe.actions.synchro.data.description"), DataSynchroModel.class, DataSynchroUI.class, true, @@ -120,15 +122,34 @@ public enum AdminStep implements WizardExtStep { DbMode.USE_SERVER ), + REFERENTIAL_SYNCHRONIZE( + n("observe.actions.synchro.referential.step"), + n("observe.actions.synchro.referential.step.description"), + n("observe.actions.synchro.referential.title"), + n("observe.actions.synchro.referential.title.tip"), + "referentialSynchronize", + n("observe.actions.synchro.referential"), + n("observe.actions.synchro.referential.description"), + ReferentialSynchroModel.class, + ReferentialSynchroUI.class, + true, + false, + false, + false, + DbMode.USE_LOCAL, + DbMode.USE_REMOTE, + DbMode.USE_SERVER + ), + /** pour lancer la validation des donnees */ VALIDATE( - n("observe.synchro.step.validate"), - n("observe.synchro.step.validate.description"), - n("observe.title.validate"), - n("observe.title.validate.tip"), + n("observe.actions.validate.step"), + n("observe.actions.validate.step.description"), + n("observe.actions.validate.title"), + n("observe.actions.validate.title.tip"), "validate", - n("observe.synchro.operation.validate"), - n("observe.synchro.operation.validate.description"), + n("observe.actions.validate"), + n("observe.actions.validate.description"), ValidateModel.class, ValidateUI.class, false, @@ -142,13 +163,13 @@ public enum AdminStep implements WizardExtStep { /** pour lancer la consolidation des données (mesure taille-poids...) */ CONSOLIDATE( - n("observe.synchro.step.consolidate"), - n("observe.synchro.step.consolidate.description"), - n("observe.title.consolidate"), - n("observe.title.consolidate.tip"), + n("observe.actions.consolidate.step"), + n("observe.actions.consolidate.step.description"), + n("observe.actions.consolidate.title"), + n("observe.actions.consolidate.title.tip"), "consolidate", - n("observe.synchro.operation.consolidate"), - n("observe.synchro.operation.consolidate.description"), + n("observe.actions.consolidate"), + n("observe.actions.consolidate.description"), ConsolidateModel.class, ConsolidateUI.class, false, @@ -162,13 +183,13 @@ public enum AdminStep implements WizardExtStep { /** pour lancer la generation des rapports */ REPORT( - n("observe.synchro.step.report"), - n("observe.synchro.step.report.description"), - n("observe.title.report"), - n("observe.title.report.tip"), + n("observe.actions.report.step"), + n("observe.actions.report.step.description"), + n("observe.actions.report.title"), + n("observe.actions.report.title.tip"), "report", - n("observe.synchro.operation.report"), - n("observe.synchro.operation.report.description"), + n("observe.actions.report"), + n("observe.actions.report.description"), ReportModel.class, ReportUI.class, false, @@ -182,13 +203,13 @@ public enum AdminStep implements WizardExtStep { /** pour effectuer les modifications vers la base locale */ SAVE_LOCAL( - n("observe.synchro.step.saveLocal"), - n("observe.synchro.step.saveLocal.description"), + n("observe.actions.saveLocal.step"), + n("observe.actions.saveLocal.step.description"), null, null, "save", - n("observe.synchro.operation.saveLocal"), - n("observe.synchro.operation.saveLocal.description"), + n("observe.actions.saveLocal"), + n("observe.actions.saveLocal.description"), SaveLocalModel.class, SaveLocalUI.class, false, @@ -199,13 +220,13 @@ public enum AdminStep implements WizardExtStep { /** pour effectuer les modifications vers la base distante */ EXPORT_DATA( - n("observe.synchro.step.exportData"), - n("observe.synchro.step.exportData.description"), - n("observe.title.exportData"), - n("observe.title.exportData.tip"), + n("observe.actions.exportData.step"), + n("observe.actions.exportData.step.description"), + n("observe.actions.exportData.title"), + n("observe.actions.exportData.title.tip"), "remote-export", - n("observe.synchro.operation.exportData"), - n("observe.synchro.operation.exportData.description"), + n("observe.actions.exportData"), + n("observe.actions.exportData.description"), ExportModel.class, ExportUI.class, true, @@ -219,8 +240,8 @@ public enum AdminStep implements WizardExtStep { /** pour afficher après les opération un ecran de résumé */ SHOW_RESUME( - n("observe.synchro.step.showResume"), - n("observe.synchro.step.showResume.description"), + n("observe.actions.showResume.step"), + n("observe.actions.showResume.step.description"), null, ShowResumeUI.class, false diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminTabUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminTabUIHandler.java index fde6907..154dba5 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminTabUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminTabUIHandler.java @@ -99,7 +99,7 @@ public class AdminTabUIHandler { if (log.isDebugEnabled()) { log.debug(this, e); } - sendMessage(t("observe.message.synchro.operation.canceled")); + sendMessage(t("observe.actions.operation.message.canceled")); return WizardState.CANCELED; } @@ -108,7 +108,7 @@ public class AdminTabUIHandler { if (log.isErrorEnabled()) { log.error(e.getMessage(), e); } - sendMessage(t("observe.message.synchro.operation.failed")); + sendMessage(t("observe.actions.operation.message.failed")); return WizardState.FAILED; } @@ -124,11 +124,11 @@ public class AdminTabUIHandler { } String stepLabel = t(step.getLabel()); - tabUI.getRUNNING_label().setText(t("observe.synchro.operation.running", stepLabel)); - tabUI.SUCCESSED_label.setText(t("observe.synchro.operation.successed", stepLabel)); - tabUI.NEED_FIX_label.setText(t("observe.synchro.operation.needFix", stepLabel)); - tabUI.CANCELED_label.setText(t("observe.synchro.operation.canceled", stepLabel)); - tabUI.FAILED_label.setText(t("observe.synchro.operation.failed", stepLabel)); + tabUI.getRUNNING_label().setText(t("observe.actions.operation.message.running", stepLabel)); + tabUI.SUCCESSED_label.setText(t("observe.actions.operation.message.successed", stepLabel)); + tabUI.NEED_FIX_label.setText(t("observe.actions.operation.message.needFix", stepLabel)); + tabUI.CANCELED_label.setText(t("observe.actions.operation.message.canceled", stepLabel)); + tabUI.FAILED_label.setText(t("observe.actions.operation.message.failed", stepLabel)); tabUI.progression.setVisible(true); tabUI.progressionTop.setVisible(true); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUI.jcss index 6e504f6..6dd7bf6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUI.jcss @@ -62,7 +62,7 @@ #cancelAction { mnemonic:A; text:"observe.action.cancel"; - toolTipText:"observe.action.synchro.cancel.tip"; + toolTipText:"observe.actions.synchro.cancel.tip"; actionIcon:"cancel"; visible:{WizardExtUtil.rejectStates(model.getModelState(), WizardState.RUNNING, WizardState.CANCELED, WizardState.SUCCESSED, WizardState.FAILED) && model.getStep() != AdminStep.REPORT}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java index d00d536..f2a113c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java @@ -44,11 +44,12 @@ import fr.ird.observe.services.service.actions.validate.ValidateServiceUtils; import fr.ird.observe.services.service.longline.TripLonglineService; import fr.ird.observe.services.service.seine.TripSeineService; import fr.ird.observe.ui.admin.consolidate.ConsolidateModel; -import fr.ird.observe.ui.admin.datasynchro.DataSynchroModel; import fr.ird.observe.ui.admin.export.ExportModel; import fr.ird.observe.ui.admin.report.ReportModel; import fr.ird.observe.ui.admin.save.SaveLocalModel; -import fr.ird.observe.ui.admin.synchronize.SynchronizeModel; +import fr.ird.observe.ui.admin.synchronize.data.DataSynchroModel; +import fr.ird.observe.ui.admin.synchronize.referential.legacy.SynchronizeModel; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchroModel; import fr.ird.observe.ui.admin.validate.ValidateModel; import fr.ird.observe.ui.storage.StorageUIHandler; import fr.ird.observe.ui.storage.StorageUIModel; @@ -135,6 +136,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { private final PropertyChangeListener listenConsolidateModified; private final PropertyChangeListener listenSaveLocalChanged; + private final PropertyChangeListener listenReferentialConfigChanged; public AdminUIModel() { super(AdminStep.class); @@ -199,6 +201,28 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { if (log.isDebugEnabled()) { log.debug("model [" + this + "] is instanciate."); } + + listenReferentialConfigChanged = evt -> { + + + if (isWasStarted()) { + + // on ne propage plus rien (il n'y a plus de configuration possible...) + if (log.isDebugEnabled()) { + log.debug("Stop propagation, was started... " + evt.getPropertyName()); + } + return; + } + + if (!ReferentialSynchroModel.SYNCHRONIZE_MODE_PROPERTY_NAME.equals(evt.getPropertyName())) { + + validate(); + + return; + } + + }; + listenStepChanged = evt -> { if (isWasStarted()) { @@ -213,7 +237,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { AdminStep oldStep = (AdminStep) evt.getOldValue(); AdminStep newStep = (AdminStep) evt.getNewValue(); - if (newStep == AdminStep.REPORT) { + if (AdminStep.REPORT == newStep) { if (oldStep != null && oldStep.ordinal() < newStep.ordinal()) { @@ -228,7 +252,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { } } - if (newStep == AdminStep.CONFIG) { + if (AdminStep.CONFIG == newStep) { // on repasse sur l'écran de configuration @@ -245,13 +269,31 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { // On lance le chargement de la sélection des arbres - DataSynchroModel dataSynchroModel = getDataSynchroModel(); + DataSynchroModel stepModel = getDataSynchroModel(); ObserveSwingDataSource leftSource = getSafeLocalSource(true); - dataSynchroModel.setLeftSource(leftSource); + stepModel.setLeftSource(leftSource); ObserveSwingDataSource rightSource = getSafeCentralSource(true); - dataSynchroModel.setRightSource(rightSource); + stepModel.setRightSource(rightSource); + + return; + + } + + if (AdminStep.CONFIG == oldStep && AdminStep.REFERENTIAL_SYNCHRONIZE == newStep) { + + // On lance le chargement de la sélection des arbres + + ReferentialSynchroModel stepModel = getReferentialSynchroModel(); + + ObserveSwingDataSource leftSource = getSafeLocalSource(true); + stepModel.setLeftSource(leftSource); + + ObserveSwingDataSource rightSource = getSafeCentralSource(true); + stepModel.setRightSource(rightSource); + + stepModel.populateTreeModels(); return; @@ -515,11 +557,13 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { getSaveLocalModel().setBackupFile(backupfile); getSaveLocalModel().setDoBackup(true); + getSaveLocalModel().removePropertyChangeListener(listenSaveLocalChanged); getSaveLocalModel().addPropertyChangeListener(listenSaveLocalChanged); } if (containsOperation(AdminStep.VALIDATE)) { + getValidateModel().removePropertyChangeListener(listenValidationModified); getValidateModel().addPropertyChangeListener(listenValidationModified); getValidateModel().addScope(NuitonValidatorScope.ERROR); getValidateModel().setModelMode(ValidationModelMode.DATA); @@ -556,9 +600,11 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { List<Report> reports = getReportModel().getReports(); // on ecoute la modification du modèle + getReportModel().removePropertyChangeListener(listenReportModified); getReportModel().addPropertyChangeListener(listenReportModified); // on ecoute la modification de la sélection + getSelectionDataModel().removePropertyChangeListener(DataSelectionModel.PROPERTY_SELECTED_DATA, listenerSelectedDataForReport); getSelectionDataModel().addPropertyChangeListener(DataSelectionModel.PROPERTY_SELECTED_DATA, listenerSelectedDataForReport); if (log.isInfoEnabled()) { @@ -569,6 +615,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { if (containsOperation(AdminStep.CONSOLIDATE)) { // Anything to init ? + getConsolidateModel().removePropertyChangeListener(listenConsolidateModified); getConsolidateModel().addPropertyChangeListener(listenConsolidateModified); } @@ -577,10 +624,17 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { //TODO ? } + if (containsOperation(AdminStep.REFERENTIAL_SYNCHRONIZE)) { + + getReferentialSynchroModel().removePropertyChangeListener(listenReferentialConfigChanged); + getReferentialSynchroModel().addPropertyChangeListener(listenReferentialConfigChanged); + + } // on ecoute les modifications d'étapes pour remplir les modèles de sélection // si nécessaire + removePropertyChangeListener(STEP_PROPERTY_NAME, listenStepChanged); addPropertyChangeListener(STEP_PROPERTY_NAME, listenStepChanged); if (log.isInfoEnabled()) { @@ -894,6 +948,10 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { return (DataSynchroModel) getStepModel(AdminStep.DATA_SYNCHRONIZE); } + public ReferentialSynchroModel getReferentialSynchroModel() { + return (ReferentialSynchroModel) getStepModel(AdminStep.REFERENTIAL_SYNCHRONIZE); + } + @Override public void cancel() { super.cancel(); @@ -906,11 +964,11 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { } @Override - public AdminUIModel addOperation(AdminStep objectOperation) { - if (objectOperation == AdminStep.EXPORT_DATA) { + public AdminUIModel addOperation(AdminStep step) { + if (AdminStep.EXPORT_DATA == step) { // pour exporter les données utilisateurs - // l'objectOperation de synchronisation de référentiel est nécessaire + // l'opération de synchronisation de référentiel est nécessaire // FIXME Sbavencoff 30/03/20156 desactivation temproraire de la synchro du référentiel */ //getOperations().add(AdminStep.SYNCHRONIZE); @@ -918,24 +976,24 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { getOperations().add(AdminStep.CONSOLIDATE); } - if (objectOperation == AdminStep.REPORT) { + if (AdminStep.REPORT == step) { // l'objectOperation de calcul des données est obligatoire getOperations().add(AdminStep.CONSOLIDATE); } - return (AdminUIModel) super.addOperation(objectOperation); + return (AdminUIModel) super.addOperation(step); } @Override - public void removeOperation(AdminStep objectOperation) { - if (objectOperation == AdminStep.SYNCHRONIZE) { + public void removeOperation(AdminStep step) { + if (AdminStep.SYNCHRONIZE == step) { // pour exporter les données utilisateurs // l'objectOperation de synchronisation de référentiel est nécessaire getOperations().remove(AdminStep.EXPORT_DATA); } - if (objectOperation == AdminStep.CONSOLIDATE) { + if (AdminStep.CONSOLIDATE == step) { // pour exporter les données utilisateurs ou effectuer des reports // l'objectOperation de calcul des données est nécessaire @@ -943,13 +1001,13 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { getOperations().remove(AdminStep.REPORT); } - super.removeOperation(objectOperation); + super.removeOperation(step); } @Override - public boolean validate(AdminStep s) { + public boolean validate(AdminStep step) { - boolean validate = super.validate(s) && !getOperations().isEmpty(); + boolean validate = super.validate(step) && !getOperations().isEmpty(); if (!validate) { if (log.isDebugEnabled()) { log.debug("not valid from generic states..."); @@ -959,7 +1017,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { DataSelectionModel selectionModel = getSelectionDataModel(); - switch (s) { + switch (step) { case CONFIG: if (isNeedIncomingDataSource()) { if (!localSourceModel.isValid()) { @@ -1094,8 +1152,49 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { } + } + + if (validate && containsOperation(AdminStep.REFERENTIAL_SYNCHRONIZE)) { + + // les deux bases (source et referentiel) doivent etre different + DbMode dbMode = localSourceModel.getDbMode(); + if (dbMode == centralSourceModel.getDbMode()) { + if (dbMode == DbMode.USE_REMOTE) { + validate &= !localSourceModel.getPgConfig().getJdbcUrl().equals(centralSourceModel.getPgConfig().getJdbcUrl()); + } else { + + // pour le moment ce cas n'est pas possible + // la base de référence est obligatoirement une base distante + //FIXME + } + } + + ObserveDataSourceInformation leftDataSourceInformation = getLocalSourceInformation(); + if (!(leftDataSourceInformation.canReadReferential())) { + if (log.isDebugEnabled()) { + log.debug("can not read and write referential on left data source"); + } + return false; + } + + if (centralSourceModel.getDataSourceInformation() != null) { + + ObserveDataSourceInformation rightDataSourceInformation = centralSourceModel.getDataSourceInformation(); + if (!(rightDataSourceInformation.canReadReferential())) { + if (log.isDebugEnabled()) { + log.debug("can not read and write referential on right data source"); + } + return false; + } + + } + + if (getReferentialSynchroModel().getSynchronizeMode() == null) { + return false; + } } + if (containsOperation(AdminStep.SYNCHRONIZE)) { // les deux bases (source et referentiel) doivent etre different @@ -1115,8 +1214,6 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { // il faut une base locale et une connexion distante // avec des droits d'écriture de données -// validate &= centralSourceModel.isValid() && -// centralSourceModel.getPgConfig().isCanWriteData(); validate &= centralSourceModel.getDataSourceInformation() != null && centralSourceModel.getDataSourceInformation().canWriteData(); @@ -1180,15 +1277,15 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { break; case VALIDATE: validate &= validate(AdminStep.SELECT_DATA) && - getStepState(s) == WizardState.SUCCESSED; + getStepState(step) == WizardState.SUCCESSED; break; case EXPORT_DATA: validate &= validate(AdminStep.SELECT_DATA) && - getStepState(s) == WizardState.SUCCESSED; + getStepState(step) == WizardState.SUCCESSED; break; case CONSOLIDATE: validate &= validate(AdminStep.SELECT_DATA) && - getStepState(s) == WizardState.SUCCESSED; + getStepState(step) == WizardState.SUCCESSED; break; case REPORT: @@ -1197,12 +1294,12 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { validate &= validate(AdminStep.SELECT_DATA); break; case SYNCHRONIZE: - validate = getStepState(s) == WizardState.SUCCESSED; + validate = getStepState(step) == WizardState.SUCCESSED; break; case SAVE_LOCAL: // valide si l'action a ete executee avec success validate &= !getSaveLocalModel().isDoBackup() || - getStepState(s) == WizardState.SUCCESSED; + getStepState(step) == WizardState.SUCCESSED; break; case SHOW_RESUME: validate = true; @@ -1215,7 +1312,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { List<AdminStep> universe = new ArrayList<>(); - // toujours l'onglet de configuration des objectOperations + // toujours l'onglet de configuration des opérations universe.add(AdminStep.CONFIG); // pour savoir si on doit ajouter l'onglet de résumé (cas par défaut) @@ -1230,10 +1327,14 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { if (containsOperation(AdminStep.DATA_SYNCHRONIZE)) { - // ajout de l'onglet de resolution des entites obsoletes universe.add(AdminStep.DATA_SYNCHRONIZE); } + if (containsOperation(AdminStep.REFERENTIAL_SYNCHRONIZE)) { + + universe.add(AdminStep.REFERENTIAL_SYNCHRONIZE); + } + if (containsOperation(AdminStep.SYNCHRONIZE)) { // ajout de l'onglet de resolution des entites obsoletes diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/config/ConfigUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/config/ConfigUI.jaxx index 53ec2b9..56e20f7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/config/ConfigUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/config/ConfigUI.jaxx @@ -87,6 +87,18 @@ public void addMessage(AdminStep step, String text) { </row> <row> <cell> + <JCheckBox id='DATA_SYNCHRONIZE' + onItemStateChanged='getHandler().updateOperationState((JCheckBox)event.getSource())'/> + </cell> + </row> + <row> + <cell> + <JCheckBox id='REFERENTIAL_SYNCHRONIZE' + onItemStateChanged='getHandler().updateOperationState((JCheckBox)event.getSource())'/> + </cell> + </row> + <row> + <cell> <JCheckBox id='VALIDATE' onItemStateChanged='getHandler().updateOperationState((JCheckBox)event.getSource())'/> </cell> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/config/ConfigUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/config/ConfigUI.jcss index 772b991..44d14bb 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/config/ConfigUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/config/ConfigUI.jcss @@ -33,13 +33,13 @@ } #configLabel { - text:"observe.synchro.configuration"; + text:"observe.actions.operation.configuration"; actionIcon:"wizard-config"; } #operations { weightx:1; - border:{new TitledBorder(t("observe.synchro.operations"))}; + border:{new TitledBorder(t("observe.actions.operations"))}; } #SYNCHRONIZE { @@ -48,6 +48,18 @@ toolTipText:{AdminStep.SYNCHRONIZE.getDescription()}; } +#REFERENTIAL_SYNCHRONIZE { + selected:{getHandler().isOperationSelected(model.getOperations(), REFERENTIAL_SYNCHRONIZE)}; + text:{AdminStep.REFERENTIAL_SYNCHRONIZE.getLabel()}; + toolTipText:{AdminStep.REFERENTIAL_SYNCHRONIZE.getDescription()}; +} + +#DATA_SYNCHRONIZE { + selected:{getHandler().isOperationSelected(model.getOperations(), DATA_SYNCHRONIZE)}; + text:{AdminStep.DATA_SYNCHRONIZE.getLabel()}; + toolTipText:{AdminStep.DATA_SYNCHRONIZE.getDescription()}; +} + #VALIDATE { selected:{getHandler().isOperationSelected(model.getOperations(), VALIDATE)}; text:{AdminStep.VALIDATE.getLabel()}; @@ -73,12 +85,12 @@ } #localSourceConfig { - border:{new TitledBorder(t("observe.synchro.config.source.storage"))}; + border:{new TitledBorder(t("observe.storage.config.source.storage"))}; visible:{model.isNeedIncomingDataSource()}; } #localSourceLabel { - _no:{n("observe.synchro.no.local.storage")}; + _no:{n("observe.storage.no.local.storage")}; text:{getHandler().updateStorageLabel(localSourceModel, localSourceModel.isValidStep(), localSourceLabel)}; } @@ -98,18 +110,18 @@ /*#localSourceInfoLabel { actionIcon:"information"; - text:"observe.synchro.config.export.required.write.data"; + text:"observe.action.config.export.required.read.referentiel"; visible:{getHandler().isOperationSelected(model.getOperations(), EXPORT_DATA)}; }*/ #centralSourceConfig { visible:{model.isNeedReferentielDataSource()}; /*visible:{getHandler().isNeedReferentiel(model.getOperations())};*/ - border:{new TitledBorder(t("observe.synchro.config.referentiel.storage"))}; + border:{new TitledBorder(t("observe.storage.config.referentiel.storage"))}; } #centralSourceLabel { - _no:{n("observe.synchro.no.remote.storage")}; + _no:{n("observe.storage.no.remote.storage")}; text:{getHandler().updateStorageLabel(centralSourceModel, centralSourceModel.isValid(), centralSourceLabel)}; } @@ -128,7 +140,7 @@ #centralSourceInfoLabel { actionIcon:"information"; - text:"observe.synchro.config.export.required.write.data"; + text:"observe.action.config.export.required.read.referentiel"; visible:{getHandler().isOperationSelected(model.getOperations(), EXPORT_DATA)}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/config/ConfigUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/config/ConfigUIHandler.java index 934ddfd..2f66b60 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/config/ConfigUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/config/ConfigUIHandler.java @@ -33,7 +33,6 @@ import fr.ird.observe.ui.storage.StorageStep; import fr.ird.observe.ui.storage.StorageUIHandler; import fr.ird.observe.ui.storage.StorageUILauncher; import fr.ird.observe.ui.storage.StorageUIModel; -import fr.ird.observe.ui.tree.DataSelectionTreeCellRenderer; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -89,7 +88,7 @@ public class ConfigUIHandler extends AdminTabUIHandler { tabUI.getTreeHelper().setUI(tree, false, null); // customize tree selection colors - DataSelectionTreeCellRenderer.initUI(tabUI.getSelectTreePane(), tree); + UIHelper.initUI(tabUI.getSelectTreePane(), tree); } public void updateOperationState(JCheckBox checkBox) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/consolidate/ConsolidateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/consolidate/ConsolidateUIHandler.java index d6aa2cd..636e43d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/consolidate/ConsolidateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/consolidate/ConsolidateUIHandler.java @@ -76,7 +76,7 @@ public class ConsolidateUIHandler extends AdminTabUIHandler { } tabUI.getStartButton().setText( - t("observe.action.synchro.launch.operation", + t("observe.actions.synchro.launch.operation", t(tabUI.getStep().getOperationLabel()))); final SelectDataUI selectTabUI = (SelectDataUI) @@ -138,7 +138,7 @@ public class ConsolidateUIHandler extends AdminTabUIHandler { if (results.isEmpty()) { - sendMessage(t("observe.message.consolidate.noChanges")); + sendMessage(t("observe.actions.consolidate.message.noChanges")); } else { @@ -146,20 +146,20 @@ public class ConsolidateUIHandler extends AdminTabUIHandler { String tripSeineLabel = tripSeineDataResult.getTripSeineLabel(); - sendMessage(t("observe.message.consolidate.trip", tripSeineLabel)); + sendMessage(t("observe.actions.consolidate.message.trip", tripSeineLabel)); for (ConsolidateActivitySeineDataResult activitySeineDataResult : tripSeineDataResult.getConsolidateActivitySeineDataResults()) { - sendMessage(t("observe.message.consolidate.activity", activitySeineDataResult.getActivitySeineLabel())); + sendMessage(t("observe.actions.consolidate.message.activity", activitySeineDataResult.getActivitySeineLabel())); } } - sendMessage(t("observe.message.consolidate.save.changes", results.size())); + sendMessage(t("observe.actions.consolidate.message.save.changes", results.size())); } - sendMessage(t("observe.message.consolidate.operation.done", + sendMessage(t("observe.actions.consolidate.message.operation.done", new Date())); } finally { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportUIHandler.java index e60a641..843d7d9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportUIHandler.java @@ -86,8 +86,8 @@ public class ExportUIHandler extends AdminTabUIHandler { log.debug(" specialized for [" + tabUI.getStep() + "] for main ui " + ui.getClass().getName() + "@" + System.identityHashCode(ui)); } - tabUI.getPrepareAction().setText(t("observe.action.synchro.prepare.operation", t(tabUI.getStep().getOperationLabel()))); - tabUI.getStartAction().setText(t("observe.action.synchro.launch.operation", t(tabUI.getStep().getOperationLabel()))); + tabUI.getPrepareAction().setText(t("observe.actions.synchro.prepare.operation", t(tabUI.getStep().getOperationLabel()))); + tabUI.getStartAction().setText(t("observe.actions.synchro.launch.operation", t(tabUI.getStep().getOperationLabel()))); final SelectDataUI selectTabUI = (SelectDataUI) ui.getStepUI(AdminStep.SELECT_DATA); @@ -120,14 +120,14 @@ public class ExportUIHandler extends AdminTabUIHandler { UIHelper.setI18nTableHeaderRenderer( table4, - n("observe.synchro.table.exportData.selected"), - n("observe.synchro.table.exportData.selected.tip"), - n("observe.synchro.table.exportData.program.label"), - n("observe.synchro.table.exportData.program.label.tip"), - n("observe.synchro.table.exportData.trip.label"), - n("observe.synchro.table.exportData.trip.label.tip"), - n("observe.synchro.table.exportData.exist.label"), - n("observe.synchro.table.exportData.exist.label.tip")); + n("observe.actions.exportData.table.selected"), + n("observe.actions.exportData.table.selected.tip"), + n("observe.actions.exportData.table.program.label"), + n("observe.actions.exportData.table.program.label.tip"), + n("observe.actions.exportData.table.trip.label"), + n("observe.actions.exportData.table.trip.label.tip"), + n("observe.actions.exportData.table.exist.label"), + n("observe.actions.exportData.table.exist.label.tip")); UIHelper.setTableColumnRenderer(table4, 0, UIHelper.newBooleanTableCellRenderer(renderer5)); UIHelper.setTableColumnRenderer(table4, 1, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer5, ProgramDto.class)); @@ -221,7 +221,7 @@ public class ExportUIHandler extends AdminTabUIHandler { // il s'agit de la première passe : préparation des données - sendMessage(t("observe.message.exportData.prepare.data")); + sendMessage(t("observe.actions.exportData.message.prepare.data")); // récupération des couples (program, marees) sur la base temporaire DataSelectionModel selectionModel = model.getSelectionDataModel(); @@ -231,12 +231,12 @@ public class ExportUIHandler extends AdminTabUIHandler { if (entries.isEmpty()) { // pas de données possible à exporter - sendMessage(t("observe.message.exportData.not.possible")); - sendMessage(t("observe.message.synchro.operation.done", new Date())); + sendMessage(t("observe.actions.exportData.message.not.possible")); + sendMessage(t("observe.actions.operation.message.done", new Date())); return WizardState.CANCELED; } - sendMessage(t("observe.message.exportData.operation.needFix", new Date())); + sendMessage(t("observe.actions.exportData.message.operation.needFix", new Date())); // on rend la main à l'ui pour que l'utilisateur selectionne les marees a exporter return WizardState.NEED_FIX; @@ -265,19 +265,19 @@ public class ExportUIHandler extends AdminTabUIHandler { if (result.isDeleted()) { if (log.isInfoEnabled()) { - log.info(tripId + " → " + t("observe.message.exportData.delete.remote.maree", tripDecorated, programDecorated)); + log.info(tripId + " → " + t("observe.actions.exportData.message.delete.remote.maree", tripDecorated, programDecorated)); } - sendMessage(t("observe.message.exportData.delete.remote.maree", tripDecorated, programDecorated)); + sendMessage(t("observe.actions.exportData.message.delete.remote.maree", tripDecorated, programDecorated)); } if (log.isInfoEnabled()) { - log.info(tripId + " → " + t("observe.message.exportData.replicate.maree", tripDecorated, programDecorated)); + log.info(tripId + " → " + t("observe.actions.exportData.message.replicate.maree", tripDecorated, programDecorated)); } - sendMessage(t("observe.message.exportData.replicate.maree", tripDecorated, programDecorated)); + sendMessage(t("observe.actions.exportData.message.replicate.maree", tripDecorated, programDecorated)); } - sendMessage(t("observe.message.synchro.operation.done", new Date())); + sendMessage(t("observe.actions.operation.message.done", new Date())); return WizardState.SUCCESSED; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/report/ReportConfigUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/report/ReportConfigUI.jcss index fa1bd82..387d78c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/report/ReportConfigUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/report/ReportConfigUI.jcss @@ -21,12 +21,12 @@ */ #reportConfig { - border:{new TitledBorder(t("observe.synchro.config.report"))}; + border:{new TitledBorder(t("observe.actions.report.config"))}; } #reportFileLabel { - text:"observe.common.select.report.file"; - toolTipText:"observe.common.select.report.file.tip"; + text:"observe.actions.report.select.file"; + toolTipText:"observe.actions.report.select.file.tip"; } #reportFile { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/report/ReportUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/report/ReportUI.jcss index 5c9abbe..3c25552 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/report/ReportUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/report/ReportUI.jcss @@ -35,17 +35,17 @@ JToolBar { } #reportVariableSelectorPanel { - border:{new TitledBorder(t("observe.synchro.report.variables"))}; + border:{new TitledBorder(t("observe.actions.report.variables"))}; layout:{new GridLayout(0,1)}; } #copyOptions { - border:{new TitledBorder(t("observe.synchro.report.copy.options"))}; + border:{new TitledBorder(t("observe.actions.report.copy.options"))}; layout:{new GridLayout(0,1)}; } #resultPane { - border:{new TitledBorder(t("observe.synchro.report.result"))}; + border:{new TitledBorder(t("observe.actions.report.result"))}; /*columnHeaderView:{resultTable.getTableHeader()};*/ verticalScrollBarPolicy:{JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED}; } @@ -56,7 +56,7 @@ JToolBar { } #requestSelectorPane { - border:{new TitledBorder(t("observe.synchro.report.select"))}; + border:{new TitledBorder(t("observe.actions.report.select"))}; layout:{new BorderLayout()}; } @@ -66,7 +66,7 @@ JToolBar { } #reportDescriptionPane { - columnHeaderView:{UIHelper.newLabel(t("observe.synchro.report.report.description") ,"information", 10)}; + columnHeaderView:{UIHelper.newLabel(t("observe.actions.report.report.description") ,"information", 10)}; minimumSize:{new Dimension(0,0)}; } @@ -78,7 +78,7 @@ JToolBar { #resetSelectedReport { actionIcon:"combobox-reset"; - toolTipText:"observe.action.synchro.report.reset.tip"; + toolTipText:"observe.actions.synchro.report.reset.tip"; enabled:{stepModel.getSelectedReport() != null}; mnemonic:R; } @@ -106,7 +106,7 @@ JToolBar { #copy { text:"observe.action.copy"; - toolTipText:"observe.action.synchro.copy.tip"; + toolTipText:"observe.actions.synchro.copy.tip"; actionIcon:"report-copy"; /*enabled:{stepModel.getSelectedReport() != null};*/ enabled:{stepModel.isValid() }; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/save/SaveLocalUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/save/SaveLocalUIHandler.java index 8762b78..1ee0b5b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/save/SaveLocalUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/save/SaveLocalUIHandler.java @@ -24,13 +24,13 @@ package fr.ird.observe.ui.admin.save; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.services.service.AddSqlScriptProducerRequest; import fr.ird.observe.services.service.SqlScriptProducerService; -import fr.ird.observe.services.service.actions.synchro.UnidirectionalReferentialSynchronizeContext; -import fr.ird.observe.services.service.actions.synchro.UnidirectionalReferentialSynchronizeEngine; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeContext; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeEngine; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.admin.AdminStep; import fr.ird.observe.ui.admin.AdminTabUIHandler; import fr.ird.observe.ui.admin.AdminUI; -import fr.ird.observe.ui.admin.synchronize.SynchronizeModel; +import fr.ird.observe.ui.admin.synchronize.referential.legacy.SynchronizeModel; import jaxx.runtime.swing.wizard.ext.WizardState; import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; @@ -75,7 +75,7 @@ public class SaveLocalUIHandler extends AdminTabUIHandler { log.debug(" specialized for [" + tabUI.getStep() + "] for main ui " + ui.getClass().getName() + "@" + System.identityHashCode(ui)); } - String message = t("observe.action.synchro.launch.operation", t(tabUI.getStep().getOperationLabel())); + String message = t("observe.actions.synchro.launch.operation", t(tabUI.getStep().getOperationLabel())); tabUI.getStartAction().setText(message); } @@ -83,22 +83,22 @@ public class SaveLocalUIHandler extends AdminTabUIHandler { public void updateText() { String text = ""; if (getUi().getStepModel().containsStepForsave(AdminStep.SYNCHRONIZE)) { - text = t("observe.synchro.message.need.save.for.synchro.operation"); + text = t("observe.actions.synchro.referential.message.need.save.for.synchro.operation"); text += "\n\n"; } if (getUi().getStepModel().containsStepForsave(AdminStep.VALIDATE)) { - text = t("observe.synchro.message.need.save.for.validation.operation"); + text = t("observe.actions.synchro.referential.message.need.save.for.validation.operation"); text += "\n\n"; } getUi().needSaveText.setText(text); } public String updateText(boolean localSourceNeedSave) { - return localSourceNeedSave ? t("observe.message.synchro.local.modification") : t("observe.message.synchro.no.local.modification"); + return localSourceNeedSave ? t("observe.actions.synchro.referential.message.synchro.local.modification") : t("observe.actions.synchro.referential.message.no.local.modification"); } public void skipOperation() { - sendMessage(t("observe.synchro.message.saveLocal.skip")); + sendMessage(t("observe.actions.synchro.referential.message.saveLocal.skip")); getModel().setStepState(AdminStep.SAVE_LOCAL, WizardState.SUCCESSED); // getUi().getProgression().setText(t("observe.synchro.message.saveLocal.skip")); // on passe directement à l'opération suivante @@ -170,7 +170,7 @@ public class SaveLocalUIHandler extends AdminTabUIHandler { saveUnidirectionalSynchronizeReferential(); } - sendMessage(t("observe.message.synchro.operation.done", new Date())); + sendMessage(t("observe.actions.operation.message.done", new Date())); return WizardState.SUCCESSED; } @@ -186,7 +186,7 @@ public class SaveLocalUIHandler extends AdminTabUIHandler { engine.finish(referentialSynchronizeContext); - sendMessage(t("observe.message.synchro.apply.done", new Date())); + sendMessage(t("observe.actions.synchro.referential.message.apply.done", new Date())); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateConfigUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateConfigUI.jaxx index 02f0e06..6bd47ab 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateConfigUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateConfigUI.jaxx @@ -26,7 +26,6 @@ <JPanel id="validateConfig"> <import> - fr.ird.observe.configuration.ObserveSwingApplicationConfig fr.ird.observe.ui.admin.AdminUIModel fr.ird.observe.validation.ValidationModelMode @@ -46,15 +45,11 @@ <ValidateModel id='validateModel' initializer='model.getValidateModel()'/> - <ObserveSwingApplicationConfig id='config' - initializer='getContextValue(ObserveSwingApplicationConfig.class)'/> - <ButtonGroup id='validateContentModel' onStateChanged='validateModel.setModelMode((ValidationModelMode) validateContentModel.getSelectedValue())'/> <script><![CDATA[ public void destroy() { - config = null; model = null; validateModel = null; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateConfigUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateConfigUI.jcss index ec8313a..4c07dc0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateConfigUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateConfigUI.jcss @@ -24,12 +24,12 @@ layout:{new BorderLayout()}; } #validateDataConfig { - border:{new TitledBorder(t("observe.synchro.config.validate"))}; + border:{new TitledBorder(t("observe.actions.validate.config"))}; } #validateModeLabel { - text:"observe.common.select.validate.mode"; - toolTipText:"observe.common.select.validate.mode.tip"; + text:"observe.actions.validate.select.mode"; + toolTipText:"observe.actions.validate.select.mode.tip"; } #validateContextName { model:{getHandler().updateComboModel(validateModel.getAllContextNames())}; @@ -37,13 +37,13 @@ } #validateContextNameLabel { - text:"observe.common.select.validate.context"; - toolTipText:"observe.common.select.validate.context.tip"; + text:"observe.actions.validate.select.context"; + toolTipText:"observe.actions.validate.select.context.tip"; } #validateScopesLabel { - text:"observe.common.select.validate.scope"; - toolTipText:"observe.common.select.validate.scope.tip"; + text:"observe.actions.validate.select.scope"; + toolTipText:"observe.actions.validate.select.scope.tip"; } #credentialsInfo { @@ -101,7 +101,7 @@ } #validationReportConfig { - border:{new TitledBorder(t("observe.synchro.config.validation.report"))}; + border:{new TitledBorder(t("observe.actions.validate.config.report"))}; } #generateValidationReport { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateUI.jcss index e006d48..9989082 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateUI.jcss @@ -79,14 +79,14 @@ } #navigationView { - title:"observe.synchro.validate.invalid.data.list"; + title:"observe.actions.validate.invalid.data.list"; } #messageView { - title:"observe.synchro.validate.message.list"; + title:"observe.actions.validate.message.list"; } #saveReport { - text:"observe.synchro.save.report"; + text:"observe.actions.validate.save"; actionIcon:"save"; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateUIHandler.java index 9266ebf..639832e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateUIHandler.java @@ -138,7 +138,7 @@ public class ValidateUIHandler extends AdminTabUIHandler { tabUI.getTypeList().setCellRenderer(listRenderer); tabUI.getRefList().setCellRenderer(listRenderer); - tabUI.getStartButton().setText(t("observe.action.synchro.launch.operation", t(tabUI.getStep().getOperationLabel()))); + tabUI.getStartButton().setText(t("observe.actions.synchro.launch.operation", t(tabUI.getStep().getOperationLabel()))); // initialisation de l'ui de configuration if (log.isInfoEnabled()) { @@ -207,12 +207,12 @@ public class ValidateUIHandler extends AdminTabUIHandler { if (newState == WizardState.NEED_FIX) { updateTypes(); - tabUI.resumeLabel.setText(t("observe.synchro.validate.save.reportFile", tabUI.getStepModel().getReportFile())); + tabUI.resumeLabel.setText(t("observe.actions.validate.save.reportFile", tabUI.getStepModel().getReportFile())); String actionText; if (tabUI.getStepModel().isGenerateReport()) { - actionText = t("observe.synchro.save.report"); + actionText = t("observe.actions.validate.save"); } else { - actionText = t("observe.synchro.continue.with.no.save.report"); + actionText = t("observe.actions.validate.continue.with.no.save.report"); } tabUI.saveReport.setText(actionText); return; @@ -343,14 +343,14 @@ public class ValidateUIHandler extends AdminTabUIHandler { // pas de validation ou bien pas d'erreurs rencontrées - sendMessage(t("observe.message.validation.nothing.to.do")); - sendMessage(t("observe.message.validation.operation.done", new Date())); + sendMessage(t("observe.actions.validation.message.nothing.to.do")); + sendMessage(t("observe.actions.validation.message.operation.done", new Date())); return WizardState.SUCCESSED; } sendMessage( - t("observe.message.validation.operation.needFix", new Date())); + t("observe.actions.validation.message.operation.needFix", new Date())); return WizardState.NEED_FIX; } @@ -374,10 +374,10 @@ public class ValidateUIHandler extends AdminTabUIHandler { ValidateModel validationModel = model.getValidateModel(); Set<ValidatorDto> validators = validationModel.getValidators(); - sendMessage(t("observe.message.validation.use.storage", + sendMessage(t("observe.actions.validation.message.use.storage", source.getLabel())); - sendMessage(t("observe.message.validation.prepare.validators")); + sendMessage(t("observe.actions.validation.message.prepare.validators")); if (!validators.isEmpty()) { @@ -385,7 +385,7 @@ public class ValidateUIHandler extends AdminTabUIHandler { for (ValidatorDto v : validators) { String label = t(DecoratorService.getEntityLabel(v.getDtoType())); - sendMessage(t("observe.message.validation.detected", label)); + sendMessage(t("observe.actions.validation.message.detected", label)); } } else { sendMessage(t("observe.message.no.validation.detected")); @@ -453,12 +453,12 @@ public class ValidateUIHandler extends AdminTabUIHandler { if (validationModel.isGenerateReport()) { sendMessage( - t("observe.message.validation.save.report", validationModel.getReportFile())); + t("observe.actions.validation.message.save.report", validationModel.getReportFile())); generateReportFile(validationModel); } else { sendMessage( - t("observe.message.validation.not.save.report")); + t("observe.actions.validation.message.not.save.report")); } finalState = WizardState.SUCCESSED; } catch (Exception e) { @@ -480,13 +480,13 @@ public class ValidateUIHandler extends AdminTabUIHandler { StringBuilder builder = new StringBuilder(); builder.append(LINE).append('\n'); - builder.append(t("observe.validation.report.title", new Date())).append('\n'); - builder.append(t("observe.validation.report.scopes", validationModel.getScopes())).append('\n'); - builder.append(t("observe.validation.report.contextName", validationModel.getContextName())).append('\n'); + builder.append(t("observe.actions.validate.report.title", new Date())).append('\n'); + builder.append(t("observe.actions.validate.report.scopes", validationModel.getScopes())).append('\n'); + builder.append(t("observe.actions.validate.report.contextName", validationModel.getContextName())).append('\n'); Map<Class<? extends IdDto>, ValidateResultForDtoType> messages = validationModel.getMessages(); - builder.append(t("observe.validation.report.entities.with.messages", messages.size())).append('\n'); + builder.append(t("observe.actions.validate.report.entities.with.messages", messages.size())).append('\n'); builder.append(LINE).append('\n').append('\n'); for (ValidateResultForDtoType validateResultForDtoType : messages.values()) { @@ -502,7 +502,7 @@ public class ValidateUIHandler extends AdminTabUIHandler { EnumSet<NuitonValidatorScope> scopes = ValidateResultForDtos.getScopes(validateResultForDto); - builder.append(t("observe.validation.report.entity", referenceDto.getId(), refStr, refMessages.size(), scopes)).append('\n'); + builder.append(t("observe.actions.validate.report.entity", referenceDto.getId(), refStr, refMessages.size(), scopes)).append('\n'); for (NuitonValidatorScope scope : scopes) { List<ValidationMessage> messagesByScope = ValidateResultForDtos.scopeMessageFilter(scope, validateResultForDto); @@ -558,7 +558,7 @@ public class ValidateUIHandler extends AdminTabUIHandler { if (validateModel == null) { return null; } - return t("observe.common.selected.validators", validateModel.getValidators().size()); + return t("observe.actions.validate.selected.validators", validateModel.getValidators().size()); } public AdminStep getObjectOperation(JCheckBox checkBox) { @@ -582,8 +582,8 @@ public class ValidateUIHandler extends AdminTabUIHandler { public void chooseValidationReportFile(ValidateConfigUI configUI) { File f = UIHelper.chooseDirectory( configUI, - t("observe.title.choose.report.directory"), - t("observe.action.choose.report.directory"), + t("observe.actions.validate.title.choose.report.directory"), + t("observe.actions.validate.choose.report.directory"), new File(configUI.validationReportDirectoryText.getText()) ); changeValidationReportDirectory(configUI, f); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUI.jaxx index 20899b6..61ace5d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUI.jaxx @@ -61,10 +61,9 @@ <!--FIXME a supprimer a la fin de la migration de service --> <ObserveSwingDataSource id='dataSource' initializer='ObserveSwingApplicationContext.get().getDataSourcesManager().getMainDataSource()'/> - <DataContext id='dataContext' javaBean='getContextValue(DataContext.class)'/> + <DataContext id='dataContext' javaBean='ObserveSwingApplicationContext.get().getDataContext()'/> - <ObserveTreeHelper id='treeHelper' - initializer='getContextValue(ObserveTreeHelper.class)'/> + <ObserveTreeHelper id='treeHelper' initializer='getContextValue(ObserveTreeHelper.class)'/> <ContentUIModel id='model' genericType='E' initializer='ContentUIModel.newModel(this)'/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUI.jaxx index 7f5ed34..c0bb9be 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUI.jaxx @@ -20,7 +20,7 @@ #L% --> -<fr.ird.observe.ui.content.ContentUI superGenericType='BranchlineDto' contentTitle='{n("observe.branchline.title")}'> +<fr.ird.observe.ui.content.ContentUI superGenericType='BranchlineDto' contentTitle='{n("observe.content.branchline.title")}'> <import> fr.ird.observe.services.dto.CommentableDto diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUI.jcss index 820e445..084f82e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUI.jcss @@ -29,7 +29,7 @@ #comment { - columnHeaderView:{new JLabel(t("observe.branchline.comment"))}; + columnHeaderView:{new JLabel(t("observe.content.branchline.comment"))}; } #comment2 { @@ -42,44 +42,44 @@ /* ***************************************************************************** */ #generalTab { - title:{t("observe.branchline.tab.general")}; + title:{t("observe.content.branchline.tab.general")}; icon:{getHandler().getErrorIconIfFalse(model.isGeneralTabValid())}; } #depthRecorder { horizontalTextPosition:{JCheckBox.LEFT}; - text:"observe.branchline.depthRecorder"; + text:"observe.content.branchline.depthRecorder"; _propertyName:{BranchlineDto.PROPERTY_DEPTH_RECORDER}; selected:{BooleanUtils.isTrue(bean.getDepthRecorder())}; - _validatorLabel:{t("observe.branchline.depthRecorder")}; + _validatorLabel:{t("observe.content.branchline.depthRecorder")}; } #hookLost { horizontalTextPosition:{JCheckBox.LEFT}; - text:"observe.branchline.hookLost"; + text:"observe.content.branchline.hookLost"; _propertyName:{BranchlineDto.PROPERTY_HOOK_LOST}; selected:{BooleanUtils.isTrue(bean.getHookLost())}; - _validatorLabel:{t("observe.branchline.hookLost")}; + _validatorLabel:{t("observe.content.branchline.hookLost")}; } #traceCutOff { horizontalTextPosition:{JCheckBox.LEFT}; - text:"observe.branchline.traceCutOff"; + text:"observe.content.branchline.traceCutOff"; _propertyName:{BranchlineDto.PROPERTY_TRACE_CUT_OFF}; selected:{BooleanUtils.isTrue(bean.getTraceCutOff())}; - _validatorLabel:{t("observe.branchline.traceCutOff")}; + _validatorLabel:{t("observe.content.branchline.traceCutOff")}; } #timer { - text:"observe.branchline.timer"; + text:"observe.content.branchline.timer"; horizontalTextPosition:{JCheckBox.LEFT}; _propertyName:{BranchlineDto.PROPERTY_TIMER}; selected:{BooleanUtils.isTrue(bean.getTimer())}; - _validatorLabel:{t("observe.branchline.timer")}; + _validatorLabel:{t("observe.content.branchline.timer")}; } #timeSinceContactLabel { - text:"observe.branchline.timeSinceContact"; + text:"observe.content.branchline.timeSinceContact"; labelFor:{timeSinceContact}; } @@ -88,54 +88,54 @@ property:{BranchlineDto.PROPERTY_TIME_SINCE_CONTACT}; model:{bean.getTimeSinceContact()}; numberPattern:{fr.ird.observe.ui.UIHelper.LONG_10_DIGITS_PATTERN}; - _validatorLabel:{t("observe.branchline.timeSinceContact")}; + _validatorLabel:{t("observe.content.branchline.timeSinceContact")}; } #timerTimeOnBoardLabel { - text:"observe.branchline.timerTimeOnBoard"; + text:"observe.content.branchline.timerTimeOnBoard"; labelFor:{timerTimeOnBoard}; } #timerTimeOnBoard { enabled:{BooleanUtils.isTrue(bean.getTimer())}; - label:{t("observe.branchline.timerTimeOnBoard")}; + label:{t("observe.content.branchline.timerTimeOnBoard")}; date:{bean.getTimerTimeOnBoard()}; propertyDate: {BranchlineDto.PROPERTY_TIMER_TIME_ON_BOARD}; - _validatorLabel:{t("observe.branchline.timerTimeOnBoard")}; + _validatorLabel:{t("observe.content.branchline.timerTimeOnBoard")}; } #topTypeLabel { - text:"observe.branchline.topType"; + text:"observe.content.branchline.topType"; labelFor:{topType}; } #topType { property:{BranchlineDto.PROPERTY_TOP_TYPE}; selectedItem:{bean.getTopType()}; - _validatorLabel:{t("observe.branchline.topType")}; + _validatorLabel:{t("observe.content.branchline.topType")}; } #tracelineTypeLabel { - text:"observe.branchline.tracelineType"; + text:"observe.content.branchline.tracelineType"; labelFor:{tracelineType}; } #tracelineType { property:{BranchlineDto.PROPERTY_TRACELINE_TYPE}; selectedItem:{bean.getTracelineType()}; - _validatorLabel:{t("observe.branchline.tracelineType")}; + _validatorLabel:{t("observe.content.branchline.tracelineType")}; } #weightedSwivel { horizontalTextPosition:{JCheckBox.LEFT}; - text:"observe.branchline.weightedSwivel"; + text:"observe.content.branchline.weightedSwivel"; _propertyName:{BranchlineDto.PROPERTY_WEIGHTED_SWIVEL}; selected:{BooleanUtils.isTrue(bean.getWeightedSwivel())}; - _validatorLabel:{t("observe.branchline.weightedSwivel")}; + _validatorLabel:{t("observe.content.branchline.weightedSwivel")}; } #swivelWeightLabel { - text:"observe.branchline.swivelWeight"; + text:"observe.content.branchline.swivelWeight"; labelFor:{swivelWeight}; } @@ -144,19 +144,19 @@ property:{BranchlineDto.PROPERTY_SWIVEL_WEIGHT}; model:{bean.getSwivelWeight()}; numberPattern:{fr.ird.observe.ui.UIHelper.DECIMAL3_PATTERN}; - _validatorLabel:{t("observe.branchline.swivelWeight")}; + _validatorLabel:{t("observe.content.branchline.swivelWeight")}; } #weightedSnap { horizontalTextPosition:{JCheckBox.LEFT}; - text:"observe.branchline.weightedSnap"; + text:"observe.content.branchline.weightedSnap"; _propertyName:{BranchlineDto.PROPERTY_WEIGHTED_SNAP}; selected:{BooleanUtils.isTrue(bean.getWeightedSnap())}; - _validatorLabel:{t("observe.branchline.weightedSnap")}; + _validatorLabel:{t("observe.content.branchline.weightedSnap")}; } #snapWeightLabel { - text:"observe.branchline.snapWeight"; + text:"observe.content.branchline.snapWeight"; labelFor:{snapWeight}; } @@ -165,7 +165,7 @@ property:{BranchlineDto.PROPERTY_SNAP_WEIGHT}; model:{bean.getSnapWeight()}; numberPattern:{fr.ird.observe.ui.UIHelper.DECIMAL3_PATTERN}; - _validatorLabel:{t("observe.branchline.snapWeight")}; + _validatorLabel:{t("observe.content.branchline.snapWeight")}; } /* ***************************************************************************** */ @@ -173,34 +173,34 @@ /* ***************************************************************************** */ #hookAndBaitTab { - title:{t("observe.branchline.tab.hookAndBait")}; + title:{t("observe.content.branchline.tab.hookAndBait")}; icon:{getHandler().getErrorIconIfFalse(model.isHookAndBaitTabValid())}; } #hookTypeLabel { - text:"observe.branchline.hookType"; + text:"observe.content.branchline.hookType"; labelFor:{hookType}; } #hookType { property:{BranchlineDto.PROPERTY_HOOK_TYPE}; selectedItem:{bean.getHookType()}; - _validatorLabel:{t("observe.branchline.hookType")}; + _validatorLabel:{t("observe.content.branchline.hookType")}; } #hookSizeLabel { - text:"observe.branchline.hookSize"; + text:"observe.content.branchline.hookSize"; labelFor:{hookSize}; } #hookSize { property:{BranchlineDto.PROPERTY_HOOK_SIZE}; selectedItem:{bean.getHookSize()}; - _validatorLabel:{t("observe.branchline.hookSize")}; + _validatorLabel:{t("observe.content.branchline.hookSize")}; } #hookOffsetLabel { - text:"observe.branchline.hookOffset"; + text:"observe.content.branchline.hookOffset"; labelFor:{hookOffset}; } @@ -208,38 +208,38 @@ property:{BranchlineDto.PROPERTY_HOOK_OFFSET}; model:{bean.getHookOffset()}; numberPattern:{fr.ird.observe.ui.UIHelper.INT_6_DIGITS_PATTERN}; - _validatorLabel:{t("observe.branchline.hookOffset")}; + _validatorLabel:{t("observe.content.branchline.hookOffset")}; } #baitSettingStatusLabel { - text:"observe.branchline.baitSettingStatus"; + text:"observe.content.branchline.baitSettingStatus"; labelFor:{baitSettingStatus}; } #baitSettingStatus { property:{BranchlineDto.PROPERTY_BAIT_SETTING_STATUS}; selectedItem:{bean.getBaitSettingStatus()}; - _validatorLabel:{t("observe.branchline.baitSettingStatus")}; + _validatorLabel:{t("observe.content.branchline.baitSettingStatus")}; } #baitHaulingStatusLabel { - text:"observe.branchline.baitHaulingStatus"; + text:"observe.content.branchline.baitHaulingStatus"; labelFor:{baitHaulingStatus}; } #baitHaulingStatus { property:{BranchlineDto.PROPERTY_BAIT_HAULING_STATUS}; selectedItem:{bean.getBaitHaulingStatus()}; - _validatorLabel:{t("observe.branchline.baitHaulingStatus")}; + _validatorLabel:{t("observe.content.branchline.baitHaulingStatus")}; } #baitTypeLabel { - text:"observe.branchline.baitType"; + text:"observe.content.branchline.baitType"; labelFor:{baitType}; } #baitType { property:{BranchlineDto.PROPERTY_BAIT_TYPE}; selectedItem:{bean.getBaitType()}; - _validatorLabel:{t("observe.branchline.baitType")}; + _validatorLabel:{t("observe.content.branchline.baitType")}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUIHandler.java index 309d844..5332563 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUIHandler.java @@ -260,7 +260,7 @@ public class BranchlineUIHandler extends ContentUIHandler<BranchlineDto> { int reponse = UIHelper.askUser( I18n.t("observe.title.need.confirm"), - I18n.t("observe.branchline.message.modified"), + I18n.t("observe.content.branchline.message.modified"), JOptionPane.WARNING_MESSAGE, new Object[]{ I18n.t("observe.choice.save"), @@ -298,7 +298,7 @@ public class BranchlineUIHandler extends ContentUIHandler<BranchlineDto> { int reponse = UIHelper.askUser( I18n.t("observe.title.need.confirm"), - I18n.t("observe.branchline.message.modified.but.invalid"), + I18n.t("observe.content.branchline.message.modified.but.invalid"), JOptionPane.ERROR_MESSAGE, new Object[]{ I18n.t("observe.choice.continue"), diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUI.jaxx index d21c96d..cbd6be6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUI.jaxx @@ -21,7 +21,7 @@ --> <fr.ird.observe.ui.content.ContentUI superGenericType='SetLonglineDetailCompositionDto' - contentTitle='{n("observe.longlineDetailComposition.title")}'> + contentTitle='{n("observe.content.longlineDetailComposition.title")}'> <import> fr.ird.observe.ObserveSwingApplicationContext diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUI.jcss index 39d1678..5c70a50 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUI.jcss @@ -35,19 +35,19 @@ /* ***************************************************************************** */ #generateTab { - title:{t("observe.longlineDetailComposition.tab.generate")}; + title:{t("observe.content.longlineDetailComposition.tab.generate")}; icon:{getHandler().getErrorIconIfFalse(model.isGenerateTabValid())}; } #canGenerate { horizontalTextPosition:{JCheckBox.LEFT}; - text:"observe.longlineDetailComposition.canGenerate"; + text:"observe.content.longlineDetailComposition.canGenerate"; selected:{model.isCanGenerate()}; } #deleteSelectedSectionTemplate { - text: "observe.longlineDetailComposition.action.deleteSelectedSectionTemplate"; - toolTipText: "observe.longlineDetailComposition.action.deleteSelectedSectionTemplate.tip"; + text: "observe.content.longlineDetailComposition.action.deleteSelectedSectionTemplate"; + toolTipText: "observe.content.longlineDetailComposition.action.deleteSelectedSectionTemplate.tip"; actionIcon: delete; } @@ -65,47 +65,47 @@ /* ***************************************************************************** */ #compositionTab { - title: {t("observe.longlineDetailComposition.tab.composition")}; + title: {t("observe.content.longlineDetailComposition.tab.composition")}; icon: {getHandler().getErrorIconIfFalse(model.isCompositionTabValid())}; enabled: {model.isGenerateTabValid()}; } #generateAll { - text: "observe.longlineDetailComposition.action.generateAllSections"; - toolTipText: "observe.longlineDetailComposition.action.generateAllSections.tip"; + text: "observe.content.longlineDetailComposition.action.generateAllSections"; + toolTipText: "observe.content.longlineDetailComposition.action.generateAllSections.tip"; actionIcon: generate; visible: {model.isUpdatingMode()}; enabled: {model.isCanGenerate() && sectionsTableModel.isEmpty()}; } #deleteAll { - text: "observe.longlineDetailComposition.action.deleteAllSections"; - toolTipText: "observe.longlineDetailComposition.action.deleteAllSections.tip"; + text: "observe.content.longlineDetailComposition.action.deleteAllSections"; + toolTipText: "observe.content.longlineDetailComposition.action.deleteAllSections.tip"; actionIcon: delete; visible: {model.isUpdatingMode()}; enabled: {!sectionsTableModel.isEmpty()}; } #sectionsPane { - border: {new TitledBorder(t("observe.longlineDetailComposition.sections"))}; + border: {new TitledBorder(t("observe.content.longlineDetailComposition.sections"))}; _doNotTranslateFieldName: true; } #deleteSelectedSection { - text: "observe.longlineDetailComposition.action.deleteSelectedSection"; - toolTipText: "observe.longlineDetailComposition.action.deleteSelectedSection.tip"; + text: "observe.content.longlineDetailComposition.action.deleteSelectedSection"; + toolTipText: "observe.content.longlineDetailComposition.action.deleteSelectedSection.tip"; actionIcon: delete; } #insertBeforeSelectedSection { - text: "observe.longlineDetailComposition.action.insertBeforeSelectedSection"; - toolTipText: "observe.longlineDetailComposition.action.insertBeforeSelectedSection.tip"; + text: "observe.content.longlineDetailComposition.action.insertBeforeSelectedSection"; + toolTipText: "observe.content.longlineDetailComposition.action.insertBeforeSelectedSection.tip"; actionIcon: insert-before; } #insertAfterSelectedSection { - text: "observe.longlineDetailComposition.action.insertAfterSelectedSection"; - toolTipText: "observe.longlineDetailComposition.action.insertAfterSelectedSection.tip"; + text: "observe.content.longlineDetailComposition.action.insertAfterSelectedSection"; + toolTipText: "observe.content.longlineDetailComposition.action.insertAfterSelectedSection.tip"; actionIcon: insert-after; } @@ -120,25 +120,25 @@ } #basketsPane { - border: {new TitledBorder(t("observe.longlineDetailComposition.baskets"))}; + border: {new TitledBorder(t("observe.content.longlineDetailComposition.baskets"))}; _doNotTranslateFieldName: true; } #deleteSelectedBasket { - text: "observe.longlineDetailComposition.action.deleteSelectedBasket"; - toolTipText: "observe.longlineDetailComposition.action.deleteSelectedBasket.tip"; + text: "observe.content.longlineDetailComposition.action.deleteSelectedBasket"; + toolTipText: "observe.content.longlineDetailComposition.action.deleteSelectedBasket.tip"; actionIcon: delete; } #insertBeforeSelectedBasket { - text: "observe.longlineDetailComposition.action.insertBeforeSelectedBasket"; - toolTipText: "observe.longlineDetailComposition.action.insertBeforeSelectedBasket.tip"; + text: "observe.content.longlineDetailComposition.action.insertBeforeSelectedBasket"; + toolTipText: "observe.content.longlineDetailComposition.action.insertBeforeSelectedBasket.tip"; actionIcon: insert-before; } #insertAfterSelectedBasket { - text: "observe.longlineDetailComposition.action.insertAfterSelectedBasket"; - toolTipText: "observe.longlineDetailComposition.action.insertAfterSelectedBasket.tip"; + text: "observe.content.longlineDetailComposition.action.insertAfterSelectedBasket"; + toolTipText: "observe.content.longlineDetailComposition.action.insertAfterSelectedBasket.tip"; actionIcon: insert-after; } @@ -153,25 +153,25 @@ } #branchlinesPane { - border: {new TitledBorder(t("observe.longlineDetailComposition.branchlines"))}; + border: {new TitledBorder(t("observe.content.longlineDetailComposition.branchlines"))}; _doNotTranslateFieldName: true; } #deleteSelectedBranchline { - text: "observe.longlineDetailComposition.action.deleteSelectedBranchline"; - toolTipText: "observe.longlineDetailComposition.action.deleteSelectedBranchline.tip"; + text: "observe.content.longlineDetailComposition.action.deleteSelectedBranchline"; + toolTipText: "observe.content.longlineDetailComposition.action.deleteSelectedBranchline.tip"; actionIcon: delete; } #insertBeforeSelectedBranchline { - text: "observe.longlineDetailComposition.action.insertBeforeSelectedBranchline"; - toolTipText: "observe.longlineDetailComposition.action.insertBeforeSelectedBranchline.tip"; + text: "observe.content.longlineDetailComposition.action.insertBeforeSelectedBranchline"; + toolTipText: "observe.content.longlineDetailComposition.action.insertBeforeSelectedBranchline.tip"; actionIcon: insert-before; } #insertAfterSelectedBranchline { - text: "observe.longlineDetailComposition.action.insertAfterSelectedBranchline"; - toolTipText: "observe.longlineDetailComposition.action.insertAfterSelectedBranchline.tip"; + text: "observe.content.longlineDetailComposition.action.insertAfterSelectedBranchline"; + toolTipText: "observe.content.longlineDetailComposition.action.insertAfterSelectedBranchline.tip"; actionIcon: insert-after; } @@ -190,7 +190,7 @@ /* ***************************************************************************** */ #branchlineDetailTab { - title: {t("observe.longlineDetailComposition.tab.branchlineDetail")}; + title: {t("observe.content.longlineDetailComposition.tab.branchlineDetail")}; icon: {getHandler().getErrorIconIfFalse(model.isBranchlineDetailTabValid())}; enabled: {compositionTab.isEnabled() && model.isCompositionTabValid() && !branchlinesTableModel.isSelectionEmpty()}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java index 04f09e1..c81ccd5 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java @@ -260,7 +260,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong addMessage(getUi(), NuitonValidatorScope.INFO, getEntityLabel(ActivityLonglineDto.class), - t("observe.activityLongline.message.not.open")); + t("observe.storage.activityLongline.message.not.open")); contentMode = ContentMode.READ; } @@ -430,7 +430,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong public void startEditUI(String... binding) { ContentUIModel<SetLonglineDetailCompositionDto> model = getModel(); - addInfoMessage(t("observe.longlineDetailComposition.message.updating")); + addInfoMessage(t("observe.content.longlineDetailComposition.message.updating")); super.startEditUI(LonglineDetailCompositionUI.BINDING_GENERATE_ALL_ENABLED, LonglineDetailCompositionUI.BINDING_DELETE_ALL_ENABLED); @@ -499,7 +499,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong log.warn("sectionTemplate " + template + " is not compliant with basketCount: " + basketsCount); } - UIHelper.displayWarning(t("observe.longlineDetailComposition.title.section.cant.use.firstTemplate"), t("observe.longlineDetailComposition.firstTemplate.template.notCompilant.basketCount", template.getFloatlineLengths(), basketsCount)); + UIHelper.displayWarning(t("observe.content.longlineDetailComposition.title.section.cant.use.firstTemplate"), t("observe.content.longlineDetailComposition.firstTemplate.template.notCompilant.basketCount", template.getFloatlineLengths(), basketsCount)); template = null; @@ -600,7 +600,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong if (!canDelete) { // there is some references, can't delete - UIHelper.displayWarning(t("observe.section.cant.delete.title"), t("observe.section.cant.delete.message")); + UIHelper.displayWarning(t("observe.content.section.cant.delete.title"), t("observe.content.section.cant.delete.message")); return; } @@ -608,7 +608,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong ObserveMainUI mainUI = ObserveSwingApplicationContext.get().getMainUI(); int response = UIHelper.askUser(mainUI, t("observe.title.delete"), - t("observe.sections.delete.message"), + t("observe.content.sections.delete.message"), JOptionPane.WARNING_MESSAGE, new Object[]{t("observe.choice.confirm.delete"), t("observe.choice.cancel")}, @@ -657,7 +657,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong ObserveMainUI mainUI = ObserveSwingApplicationContext.get().getMainUI(); int response = UIHelper.askUser(mainUI, t("observe.title.delete"), - t("observe.sectionTemplate.delete.message"), + t("observe.content.sectionTemplate.delete.message"), JOptionPane.WARNING_MESSAGE, new Object[]{t("observe.choice.confirm.delete"), t("observe.choice.cancel")}, @@ -689,7 +689,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong if (!canDelete) { // there is some references, can't delete - UIHelper.displayWarning(t("observe.section.cant.delete.title"), t("observe.section.cant.delete.message")); + UIHelper.displayWarning(t("observe.content.section.cant.delete.title"), t("observe.content.section.cant.delete.message")); return; } @@ -791,7 +791,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong if (!canDelete) { // there is some references, can't delete - UIHelper.displayWarning(t("observe.basket.cant.delete.title"), t("observe.basket.cant.delete.message")); + UIHelper.displayWarning(t("observe.content.basket.cant.delete.title"), t("observe.content.basket.cant.delete.message")); return; } @@ -902,7 +902,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong if (!canDelete) { // there is some references, can't delete - UIHelper.displayWarning(t("observe.branchLine.cant.delete.title"), t("observe.branchLine.cant.delete.message")); + UIHelper.displayWarning(t("observe.content.branchLine.cant.delete.title"), t("observe.content.branchLine.cant.delete.message")); return; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIInitializer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIInitializer.java index 25cf484..7a72ff7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIInitializer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIInitializer.java @@ -67,10 +67,10 @@ public class LonglineDetailCompositionUIInitializer extends ContentUIInitializer JTable table = ui.getSectionTemplatesTable(); UIHelper.setI18nTableHeaderRenderer(table, - n("observe.longlineDetailComposition.sectionTemplatesTable.identifier"), - n("observe.longlineDetailComposition.sectionTemplatesTable.identifier.tip"), - n("observe.longlineDetailComposition.sectionTemplatesTable.value"), - n("observe.longlineDetailComposition.sectionTemplatesTable.value.tip")); + n("observe.content.longlineDetailComposition.sectionTemplatesTable.identifier"), + n("observe.content.longlineDetailComposition.sectionTemplatesTable.identifier.tip"), + n("observe.content.longlineDetailComposition.sectionTemplatesTable.value"), + n("observe.content.longlineDetailComposition.sectionTemplatesTable.value.tip")); SectionTemplatesTableModel tableModel = model.getSectionTemplatesTableModel(); tableModel.installTableKeyListener(table); @@ -89,12 +89,12 @@ public class LonglineDetailCompositionUIInitializer extends ContentUIInitializer JTable table = ui.getSectionsTable(); UIHelper.setI18nTableHeaderRenderer(table, - n("observe.longlineDetailComposition.sectionsTable.settingIdentifier"), - n("observe.longlineDetailComposition.sectionsTable.settingIdentifier.tip"), - n("observe.longlineDetailComposition.sectionsTable.haulingIdentifier"), - n("observe.longlineDetailComposition.sectionsTable.haulingIdentifier.tip"), - n("observe.longlineDetailComposition.sectionsTable.template"), - n("observe.longlineDetailComposition.sectionsTable.template.tip")); + n("observe.content.longlineDetailComposition.sectionsTable.settingIdentifier"), + n("observe.content.longlineDetailComposition.sectionsTable.settingIdentifier.tip"), + n("observe.content.longlineDetailComposition.sectionsTable.haulingIdentifier"), + n("observe.content.longlineDetailComposition.sectionsTable.haulingIdentifier.tip"), + n("observe.content.longlineDetailComposition.sectionsTable.template"), + n("observe.content.longlineDetailComposition.sectionsTable.template.tip")); TableCellRenderer renderer = table.getDefaultRenderer(Object.class); UIHelper.setTableColumnRenderer(table, 0, UIHelper.newEmptyNumberTableCellRenderer(renderer)); @@ -126,14 +126,14 @@ public class LonglineDetailCompositionUIInitializer extends ContentUIInitializer JTable table = ui.getBasketsTable(); UIHelper.setI18nTableHeaderRenderer(table, - n("observe.longlineDetailComposition.basketsTable.settingIdentifier"), - n("observe.longlineDetailComposition.basketsTable.settingIdentifier.tip"), - n("observe.longlineDetailComposition.basketsTable.haulingIdentifier"), - n("observe.longlineDetailComposition.basketsTable.haulingIdentifier.tip"), - n("observe.longlineDetailComposition.basketsTable.floatline1Length"), - n("observe.longlineDetailComposition.basketsTable.floatline1Length.tip"), - n("observe.longlineDetailComposition.basketsTable.floatline2Length"), - n("observe.longlineDetailComposition.basketsTable.floatline2Length.tip")); + n("observe.content.longlineDetailComposition.basketsTable.settingIdentifier"), + n("observe.content.longlineDetailComposition.basketsTable.settingIdentifier.tip"), + n("observe.content.longlineDetailComposition.basketsTable.haulingIdentifier"), + n("observe.content.longlineDetailComposition.basketsTable.haulingIdentifier.tip"), + n("observe.content.longlineDetailComposition.basketsTable.floatline1Length"), + n("observe.content.longlineDetailComposition.basketsTable.floatline1Length.tip"), + n("observe.content.longlineDetailComposition.basketsTable.floatline2Length"), + n("observe.content.longlineDetailComposition.basketsTable.floatline2Length.tip")); TableCellRenderer renderer = table.getDefaultRenderer(Object.class); UIHelper.setTableColumnRenderer(table, 0, UIHelper.newEmptyNumberTableCellRenderer(renderer)); @@ -162,14 +162,14 @@ public class LonglineDetailCompositionUIInitializer extends ContentUIInitializer JTable table = ui.getBranchlinesTable(); UIHelper.setI18nTableHeaderRenderer(table, - n("observe.longlineDetailComposition.branchlinesTable.settingIdentifier"), - n("observe.longlineDetailComposition.branchlinesTable.settingIdentifier.tip"), - n("observe.longlineDetailComposition.branchlinesTable.haulingIdentifier"), - n("observe.longlineDetailComposition.branchlinesTable.haulingIdentifier.tip"), - n("observe.longlineDetailComposition.branchlinesTable.branchlineLength"), - n("observe.longlineDetailComposition.branchlinesTable.branchlineLength.tip"), - n("observe.longlineDetailComposition.branchlinesTable.tracelineLength"), - n("observe.longlineDetailComposition.branchlinesTable.tracelineLength.tip")); + n("observe.content.longlineDetailComposition.branchlinesTable.settingIdentifier"), + n("observe.content.longlineDetailComposition.branchlinesTable.settingIdentifier.tip"), + n("observe.content.longlineDetailComposition.branchlinesTable.haulingIdentifier"), + n("observe.content.longlineDetailComposition.branchlinesTable.haulingIdentifier.tip"), + n("observe.content.longlineDetailComposition.branchlinesTable.branchlineLength"), + n("observe.content.longlineDetailComposition.branchlinesTable.branchlineLength.tip"), + n("observe.content.longlineDetailComposition.branchlinesTable.tracelineLength"), + n("observe.content.longlineDetailComposition.branchlinesTable.tracelineLength.tip")); TableCellRenderer renderer = table.getDefaultRenderer(Object.class); UIHelper.setTableColumnRenderer(table, 0, UIHelper.newEmptyNumberTableCellRenderer(renderer)); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionValidatorService.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionValidatorService.java index 1184d22..4836516 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionValidatorService.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionValidatorService.java @@ -92,7 +92,7 @@ public class LonglineDetailCompositionValidatorService { && basketFloatline1Length != null && Math.abs(previousBasketFloatline2Length - basketFloatline1Length) > 0.001f) { - validationContext.addMessage(basketValidator, NuitonValidatorScope.ERROR, "floatline2Length", t("observe.basket.invalid.nextFloatline1Length", previousBasketFloatline2Length, basketFloatline1Length)); + validationContext.addMessage(basketValidator, NuitonValidatorScope.ERROR, "floatline2Length", t("observe.content.basket.invalid.nextFloatline1Length", previousBasketFloatline2Length, basketFloatline1Length)); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.jaxx index f014f65..56e0aba 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.jaxx @@ -21,7 +21,7 @@ --> <fr.ird.observe.ui.content.ContentUI superGenericType='SetLonglineGlobalCompositionDto' - contentTitle='{n("observe.longlineGlobalComposition.title")}'> + contentTitle='{n("observe.content.longlineGlobalComposition.title")}'> <import> fr.ird.observe.ObserveSwingApplicationContext diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.jcss index c826cfb..b4c4541 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.jcss @@ -28,36 +28,36 @@ } #floatlinesCompositionTab { - title:{t("observe.longlineGlobalComposition.tab.floatlinesComposition")}; + title:{t("observe.content.longlineGlobalComposition.tab.floatlinesComposition")}; icon:{getHandler().getErrorIconIfFalse(floatlinesCompositionModel.isValid())}; } #branchlinesCompositionTab { - title:{t("observe.longlineGlobalComposition.tab.branchlinesComposition")}; + title:{t("observe.content.longlineGlobalComposition.tab.branchlinesComposition")}; icon:{getHandler().getErrorIconIfFalse(branchlinesCompositionModel.isValid())}; } #hooksCompositionTab { - title:{t("observe.longlineGlobalComposition.tab.hooksComposition")}; + title:{t("observe.content.longlineGlobalComposition.tab.hooksComposition")}; icon:{getHandler().getErrorIconIfFalse(hooksCompositionModel.isValid())}; } #baitsCompositionTab { - title:{t("observe.longlineGlobalComposition.tab.baitsComposition")}; + title:{t("observe.content.longlineGlobalComposition.tab.baitsComposition")}; icon:{getHandler().getErrorIconIfFalse(baitsCompositionModel.isValid())}; } #mitigationTypeTab { - title:{t("observe.longlineGlobalComposition.tab.mitigationType")}; + title:{t("observe.content.longlineGlobalComposition.tab.mitigationType")}; } #mitigationType { bean:{bean}; property: {SetLonglineGlobalCompositionDto.PROPERTY_MITIGATION_TYPE}; selected:{(Collection)bean.getMitigationType()}; - _validatorLabel: {t("observe.longlineGlobalComposition.mitigationType")}; + _validatorLabel: {t("observe.content.longlineGlobalComposition.mitigationType")}; showListLabel: true; - universeLabel:{t("observe.longlineGlobalComposition.availableMitigationType")}; - selectedLabel:{t("observe.longlineGlobalComposition.selectedMitigationType")}; + universeLabel:{t("observe.content.longlineGlobalComposition.availableMitigationType")}; + selectedLabel:{t("observe.content.longlineGlobalComposition.selectedMitigationType")}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java index 0523e15..e2a4a6c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java @@ -88,7 +88,7 @@ public class LonglineGlobalCompositionUIHandler extends ContentUIHandler<SetLong addMessage(getUi(), NuitonValidatorScope.INFO, getEntityLabel(ActivityLonglineDto.class), - t("observe.activityLongline.message.not.open")); + t("observe.storage.activityLongline.message.not.open")); return ContentMode.READ; } @@ -210,7 +210,7 @@ public class LonglineGlobalCompositionUIHandler extends ContentUIHandler<SetLong @Override public void startEditUI(String... binding) { LonglineGlobalCompositionUIModel model = (LonglineGlobalCompositionUIModel) getModel(); - addInfoMessage(t("observe.longlineGlobalComposition.message.updating")); + addInfoMessage(t("observe.content.longlineGlobalComposition.message.updating")); super.startEditUI(LonglineGlobalCompositionUI.BINDING_COMMENT2_TEXT); model.setModified(false); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUI.jaxx index 70dbe05..ce6efe3 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUI.jaxx @@ -20,7 +20,7 @@ #L% --> -<fr.ird.observe.ui.content.ContentUI superGenericType='SetLonglineDto' contentTitle='{n("observe.setLongline.title")}'> +<fr.ird.observe.ui.content.ContentUI superGenericType='SetLonglineDto' contentTitle='{n("observe.content.setLongline.title")}'> <import> fr.ird.observe.services.dto.CommentableDto diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUI.jcss index 9c65608..c716f72 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUI.jcss @@ -32,28 +32,28 @@ /* ***************************************************************************** */ #settingTab { - title:{t("observe.setLongline.tab.setting")}; + title:{t("observe.content.setLongline.tab.setting")}; icon:{handler.getErrorIconIfFalse(model.isSettingTabValid())}; } #homeIdLabel { - text:"observe.setLongline.homeId"; + text:"observe.content.setLongline.homeId"; labelFor:{homeId}; } #homeId { text: {getStringValue(bean.getHomeId())}; _propertyName: {SetLonglineDto.PROPERTY_HOME_ID}; - _validatorLabel:{t("observe.setLongline.homeId")}; + _validatorLabel:{t("observe.content.setLongline.homeId")}; } #resetHomeId { _resetPropertyName: {SetLonglineDto.PROPERTY_HOME_ID}; - toolTipText:"observe.setLongline.action.reset.homeId.tip"; + toolTipText:"observe.content.setLongline.action.reset.homeId.tip"; } #numberLabel { - text:"observe.setLongline.number"; + text:"observe.content.setLongline.number"; labelFor:{number}; } @@ -62,18 +62,18 @@ model:{bean.getNumber()}; useFloat:false; numberPattern:{fr.ird.observe.ui.UIHelper.INT_6_DIGITS_PATTERN}; - _validatorLabel:{t("observe.setLongline.number")}; + _validatorLabel:{t("observe.content.setLongline.number")}; } #settingStartTimeStamp { - label:{t("observe.setLongline.settingStartTimeStamp")}; + label:{t("observe.content.setLongline.settingStartTimeStamp")}; date:{bean.getSettingStartTimeStamp()}; propertyDate: {SetLonglineDto.PROPERTY_SETTING_START_TIME_STAMP}; - _validatorLabel:{t("observe.setLongline.settingStartTimeStamp")}; + _validatorLabel:{t("observe.content.setLongline.settingStartTimeStamp")}; } #settingStartCoordinatesLabel { - text:"observe.setLongline.settingStartCoordinates"; + text:"observe.content.setLongline.settingStartCoordinates"; } #settingStartCoordinates { @@ -81,18 +81,18 @@ propertyLongitude:{SetLonglineDto.PROPERTY_SETTING_START_LONGITUDE}; latitude:{bean.getSettingStartLatitude()}; longitude:{bean.getSettingStartLongitude()}; - _validatorLabel:{t("observe.setLongline.settingStartCoordinates")}; + _validatorLabel:{t("observe.content.setLongline.settingStartCoordinates")}; } #settingEndTimeStamp { - label:{t("observe.setLongline.settingEndTimeStamp")}; + label:{t("observe.content.setLongline.settingEndTimeStamp")}; date:{bean.getSettingEndTimeStamp()}; propertyDate: {SetLonglineDto.PROPERTY_SETTING_END_TIME_STAMP}; - _validatorLabel:{t("observe.setLongline.settingEndTimeStamp")}; + _validatorLabel:{t("observe.content.setLongline.settingEndTimeStamp")}; } #settingEndCoordinatesLabel { - text:"observe.setLongline.settingEndCoordinates"; + text:"observe.content.setLongline.settingEndCoordinates"; } #settingEndCoordinates { @@ -100,7 +100,7 @@ propertyLongitude:{SetLonglineDto.PROPERTY_SETTING_END_LONGITUDE}; latitude:{bean.getSettingEndLatitude()}; longitude:{bean.getSettingEndLongitude()}; - _validatorLabel:{t("observe.setLongline.settingEndCoordinates")}; + _validatorLabel:{t("observe.content.setLongline.settingEndCoordinates")}; } /* ***************************************************************************** */ @@ -108,12 +108,12 @@ /* ***************************************************************************** */ #settingCaracteristicsTab { - title:{t("observe.setLongline.tab.settingCaracteristics")}; + title:{t("observe.content.setLongline.tab.settingCaracteristics")}; icon:{handler.getErrorIconIfFalse(model.isSettingCaracteristicsTabValid())}; } #settingVesselSpeedLabel { - text:"observe.setLongline.settingVesselSpeed"; + text:"observe.content.setLongline.settingVesselSpeed"; labelFor:{settingVesselSpeed}; } @@ -121,18 +121,18 @@ property:{SetLonglineDto.PROPERTY_SETTING_VESSEL_SPEED}; model:{bean.getSettingVesselSpeed()}; numberPattern:{fr.ird.observe.ui.UIHelper.DECIMAL3_PATTERN}; - _validatorLabel:{t("observe.setLongline.settingVesselSpeed")}; + _validatorLabel:{t("observe.content.setLongline.settingVesselSpeed")}; } #shooterUsed { - text:"observe.setLongline.shooterUsed"; + text:"observe.content.setLongline.shooterUsed"; horizontalTextPosition:{JCheckBox.LEFT}; _propertyName:{SetLonglineDto.PROPERTY_SHOOTER_USED}; selected:{BooleanUtils.isTrue(bean.getShooterUsed())}; } #shooterSpeedLabel { - text:"observe.setLongline.shooterSpeed"; + text:"observe.content.setLongline.shooterSpeed"; labelFor:{shooterSpeed}; } @@ -141,30 +141,30 @@ property:{SetLonglineDto.PROPERTY_SHOOTER_SPEED}; model:{bean.getShooterSpeed()}; numberPattern:{fr.ird.observe.ui.UIHelper.DECIMAL3_PATTERN}; - _validatorLabel:{t("observe.setLongline.shooterSpeed")}; + _validatorLabel:{t("observe.content.setLongline.shooterSpeed")}; } #settingShapeLabel { - text:"observe.setLongline.settingShape"; + text:"observe.content.setLongline.settingShape"; labelFor:{settingShape}; } #settingShape { property:{SetLonglineDto.PROPERTY_SETTING_SHAPE}; selectedItem:{bean.getSettingShape()}; - _validatorLabel:{t("observe.setLongline.settingShape")}; + _validatorLabel:{t("observe.content.setLongline.settingShape")}; } #weightedSwivel { horizontalTextPosition:{JCheckBox.LEFT}; - text:"observe.setLongline.weightedSwivel"; + text:"observe.content.setLongline.weightedSwivel"; _propertyName:{SetLonglineDto.PROPERTY_WEIGHTED_SWIVEL}; selected:{BooleanUtils.isTrue(bean.getWeightedSwivel())}; - _validatorLabel:{t("observe.setLongline.weightedSwivel")}; + _validatorLabel:{t("observe.content.setLongline.weightedSwivel")}; } #swivelWeightLabel { - text:"observe.setLongline.swivelWeight"; + text:"observe.content.setLongline.swivelWeight"; labelFor:{swivelWeight}; } @@ -173,19 +173,19 @@ property:{SetLonglineDto.PROPERTY_SWIVEL_WEIGHT}; model:{bean.getSwivelWeight()}; numberPattern:{fr.ird.observe.ui.UIHelper.DECIMAL3_PATTERN}; - _validatorLabel:{t("observe.setLongline.swivelWeight")}; + _validatorLabel:{t("observe.content.setLongline.swivelWeight")}; } #weightedSnap { horizontalTextPosition:{JCheckBox.LEFT}; - text:"observe.setLongline.weightedSnap"; + text:"observe.content.setLongline.weightedSnap"; _propertyName:{SetLonglineDto.PROPERTY_WEIGHTED_SNAP}; selected:{BooleanUtils.isTrue(bean.getWeightedSnap())}; - _validatorLabel:{t("observe.setLongline.weightedSnap")}; + _validatorLabel:{t("observe.content.setLongline.weightedSnap")}; } #snapWeightLabel { - text:"observe.setLongline.snapWeight"; + text:"observe.content.setLongline.snapWeight"; labelFor:{snapWeight}; } @@ -194,22 +194,22 @@ property:{SetLonglineDto.PROPERTY_SNAP_WEIGHT}; model:{bean.getSnapWeight()}; numberPattern:{fr.ird.observe.ui.UIHelper.DECIMAL3_PATTERN}; - _validatorLabel:{t("observe.setLongline.snapWeight")}; + _validatorLabel:{t("observe.content.setLongline.snapWeight")}; } #lineTypeLabel { - text:"observe.setLongline.lineType"; + text:"observe.content.setLongline.lineType"; labelFor:{lineType}; } #lineType { property:{SetLonglineDto.PROPERTY_LINE_TYPE}; selectedItem:{bean.getLineType()}; - _validatorLabel:{t("observe.setLongline.lineType")}; + _validatorLabel:{t("observe.content.setLongline.lineType")}; } #maxDepthTargetedLabel { - text:"observe.setLongline.maxDepthTargeted"; + text:"observe.content.setLongline.maxDepthTargeted"; labelFor:{maxDepthTargeted}; } @@ -217,41 +217,41 @@ property:{SetLonglineDto.PROPERTY_MAX_DEPTH_TARGETED}; model:{bean.getMaxDepthTargeted()}; numberPattern:{fr.ird.observe.ui.UIHelper.INT_6_DIGITS_PATTERN}; - _validatorLabel:{t("observe.setLongline.maxDepthTargeted")}; + _validatorLabel:{t("observe.content.setLongline.maxDepthTargeted")}; } #monitored { horizontalTextPosition:{JCheckBox.LEFT}; - text:"observe.setLongline.monitored"; + text:"observe.content.setLongline.monitored"; _propertyName:{SetLonglineDto.PROPERTY_MONITORED}; selected:{BooleanUtils.isTrue(bean.getMonitored())}; - _validatorLabel:{t("observe.setLongline.monitored")}; + _validatorLabel:{t("observe.content.setLongline.monitored")}; } #lightsticksTypeLabel { - text:"observe.setLongline.lightsticksType"; + text:"observe.content.setLongline.lightsticksType"; labelFor:{lightsticksType}; } #lightsticksType { property:{SetLonglineDto.PROPERTY_LIGHTSTICKS_TYPE}; selectedItem:{bean.getLightsticksType()}; - _validatorLabel:{t("observe.setLongline.lightsticksType")}; + _validatorLabel:{t("observe.content.setLongline.lightsticksType")}; } #lightsticksColorLabel { - text:"observe.setLongline.lightsticksColor"; + text:"observe.content.setLongline.lightsticksColor"; labelFor:{lightsticksColor}; } #lightsticksColor { property:{SetLonglineDto.PROPERTY_LIGHTSTICKS_COLOR}; selectedItem:{bean.getLightsticksColor()}; - _validatorLabel:{t("observe.setLongline.lightsticksColor")}; + _validatorLabel:{t("observe.content.setLongline.lightsticksColor")}; } #timeBetweenHooksLabel { - text:"observe.setLongline.timeBetweenHooks"; + text:"observe.content.setLongline.timeBetweenHooks"; labelFor:{timeBetweenHooks}; } @@ -260,11 +260,11 @@ model:{bean.getTimeBetweenHooks()}; modelType:{Long.class}; numberPattern:{fr.ird.observe.ui.UIHelper.LONG_10_DIGITS_PATTERN}; - _validatorLabel:{t("observe.setLongline.timeBetweenHooks")}; + _validatorLabel:{t("observe.content.setLongline.timeBetweenHooks")}; } #lightsticksPerBasketCountLabel { - text:"observe.setLongline.lightsticksPerBasketCount"; + text:"observe.content.setLongline.lightsticksPerBasketCount"; labelFor:{lightsticksPerBasketCount}; } @@ -272,11 +272,11 @@ property:{SetLonglineDto.PROPERTY_LIGHTSTICKS_PER_BASKET_COUNT}; model:{bean.getLightsticksPerBasketCount()}; numberPattern:{fr.ird.observe.ui.UIHelper.INT_6_DIGITS_PATTERN}; - _validatorLabel:{t("observe.setLongline.lightsticksPerBasketCount")}; + _validatorLabel:{t("observe.content.setLongline.lightsticksPerBasketCount")}; } #basketsPerSectionCountLabel { - text:"observe.setLongline.basketsPerSectionCount"; + text:"observe.content.setLongline.basketsPerSectionCount"; labelFor:{basketsPerSectionCount}; } @@ -284,11 +284,11 @@ property:{SetLonglineDto.PROPERTY_BASKETS_PER_SECTION_COUNT}; model:{bean.getBasketsPerSectionCount()}; numberPattern:{fr.ird.observe.ui.UIHelper.INT_6_DIGITS_PATTERN}; - _validatorLabel:{t("observe.setLongline.basketsPerSectionCount")}; + _validatorLabel:{t("observe.content.setLongline.basketsPerSectionCount")}; } #totalBasketsCountLabel { - text:"observe.setLongline.totalBasketsCount"; + text:"observe.content.setLongline.totalBasketsCount"; labelFor:{totalBasketsCount}; } @@ -296,11 +296,11 @@ property:{SetLonglineDto.PROPERTY_TOTAL_BASKETS_COUNT}; model:{bean.getTotalBasketsCount()}; numberPattern:{fr.ird.observe.ui.UIHelper.INT_6_DIGITS_PATTERN}; - _validatorLabel:{t("observe.setLongline.totalBasketsCount")}; + _validatorLabel:{t("observe.content.setLongline.totalBasketsCount")}; } #branchlinesPerBasketCountLabel { - text:"observe.setLongline.branchlinesPerBasketCount"; + text:"observe.content.setLongline.branchlinesPerBasketCount"; labelFor:{branchlinesPerBasketCount}; } @@ -308,11 +308,11 @@ property:{SetLonglineDto.PROPERTY_BRANCHLINES_PER_BASKET_COUNT}; model:{bean.getBranchlinesPerBasketCount()}; numberPattern:{fr.ird.observe.ui.UIHelper.INT_6_DIGITS_PATTERN}; - _validatorLabel:{t("observe.setLongline.branchlinesPerBasketCount")}; + _validatorLabel:{t("observe.content.setLongline.branchlinesPerBasketCount")}; } #totalSectionsCountLabel { - text:"observe.setLongline.totalSectionsCount"; + text:"observe.content.setLongline.totalSectionsCount"; labelFor:{totalSectionsCount}; } @@ -320,11 +320,11 @@ property:{SetLonglineDto.PROPERTY_TOTAL_SECTIONS_COUNT}; model:{bean.getTotalSectionsCount()}; numberPattern:{fr.ird.observe.ui.UIHelper.INT_6_DIGITS_PATTERN}; - _validatorLabel:{t("observe.setLongline.totalSectionsCount")}; + _validatorLabel:{t("observe.content.setLongline.totalSectionsCount")}; } #totalHooksCountLabel { - text:"observe.setLongline.totalHooksCount"; + text:"observe.content.setLongline.totalHooksCount"; labelFor:{totalHooksCount}; } @@ -332,7 +332,7 @@ property:{SetLonglineDto.PROPERTY_TOTAL_HOOKS_COUNT}; model:{bean.getTotalHooksCount()}; numberPattern:{fr.ird.observe.ui.UIHelper.INT_6_DIGITS_PATTERN}; - _validatorLabel:{t("observe.setLongline.totalHooksCount")}; + _validatorLabel:{t("observe.content.setLongline.totalHooksCount")}; } /* ***************************************************************************** */ @@ -340,26 +340,26 @@ /* ***************************************************************************** */ #haulingTab { - title:{t("observe.setLongline.tab.hauling")}; + title:{t("observe.content.setLongline.tab.hauling")}; icon:{handler.getErrorIconIfFalse(model.isHaulingTabValid())}; } #haulingDirectionSameAsSettingLabel { - text:"observe.setLongline.haulingDirectionSameAsSetting"; + text:"observe.content.setLongline.haulingDirectionSameAsSetting"; labelFor:{haulingDirectionSameAsSetting}; } #haulingDirectionSameAsSetting { booleanValue:{bean.getHaulingDirectionSameAsSetting()}; _propertyName: {SetLonglineDto.PROPERTY_HAULING_DIRECTION_SAME_AS_SETTING}; - _validatorLabel:{t("observe.setLongline.haulingDirectionSameAsSetting")}; + _validatorLabel:{t("observe.content.setLongline.haulingDirectionSameAsSetting")}; } #haulingStartTimeStamp { - label:{t("observe.setLongline.haulingStartTimeStamp")}; + label:{t("observe.content.setLongline.haulingStartTimeStamp")}; date:{bean.getHaulingStartTimeStamp()}; propertyDate: {SetLonglineDto.PROPERTY_HAULING_START_TIME_STAMP}; - _validatorLabel:{t("observe.setLongline.haulingStartTimeStamp")}; + _validatorLabel:{t("observe.content.setLongline.haulingStartTimeStamp")}; } #haulingStartCoordinates { @@ -367,14 +367,14 @@ propertyLongitude:{SetLonglineDto.PROPERTY_HAULING_START_LONGITUDE}; latitude:{bean.getHaulingStartLatitude()}; longitude:{bean.getHaulingStartLongitude()}; - _validatorLabel:{t("observe.setLongline.haulingStartCoordinates")}; + _validatorLabel:{t("observe.content.setLongline.haulingStartCoordinates")}; } #haulingEndTimeStamp { - label:{t("observe.setLongline.haulingEndTimeStamp")}; + label:{t("observe.content.setLongline.haulingEndTimeStamp")}; date:{bean.getHaulingEndTimeStamp()}; propertyDate: {SetLonglineDto.PROPERTY_HAULING_END_TIME_STAMP}; - _validatorLabel:{t("observe.setLongline.haulingEndTimeStamp")}; + _validatorLabel:{t("observe.content.setLongline.haulingEndTimeStamp")}; } #haulingEndCoordinates { @@ -382,11 +382,11 @@ propertyLongitude:{SetLonglineDto.PROPERTY_HAULING_END_LONGITUDE}; latitude:{bean.getHaulingEndLatitude()}; longitude:{bean.getHaulingEndLongitude()}; - _validatorLabel:{t("observe.setLongline.haulingEndCoordinates")}; + _validatorLabel:{t("observe.content.setLongline.haulingEndCoordinates")}; } #haulingBreaksLabel { - text:"observe.setLongline.haulingBreaks"; + text:"observe.content.setLongline.haulingBreaks"; labelFor:{haulingBreaks}; } @@ -394,5 +394,5 @@ property:{SetLonglineDto.PROPERTY_HAULING_BREAKS}; model:{bean.getHaulingBreaks()}; numberPattern:{fr.ird.observe.ui.UIHelper.INT_6_DIGITS_PATTERN}; - _validatorLabel:{t("observe.setLongline.haulingBreaks")}; + _validatorLabel:{t("observe.content.setLongline.haulingBreaks")}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java index c66d2d4..3f9520f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java @@ -147,7 +147,7 @@ public class SetLonglineUIHandler extends ContentUIHandler<SetLonglineDto> { addMessage(getUi(), NuitonValidatorScope.INFO, getEntityLabel(ActivityLonglineDto.class), - t("observe.activityLongline.message.not.open")); + t("observe.storage.activityLongline.message.not.open")); return ContentMode.READ; @@ -264,9 +264,9 @@ public class SetLonglineUIHandler extends ContentUIHandler<SetLonglineDto> { String contextName = getValidatorContextName(model.getMode()); getUi().getValidator().setContext(contextName); if (create) { - addInfoMessage(t("observe.setLongline.message.creating")); + addInfoMessage(t("observe.content.setLongline.message.creating")); } else { - addInfoMessage(t("observe.setLongline.message.updating")); + addInfoMessage(t("observe.content.setLongline.message.updating")); } super.startEditUI(SetLonglineUI.BINDING_COMMENT2_TEXT, diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.jaxx index fe6310f..adc9102 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.jaxx @@ -20,7 +20,7 @@ #L% --> -<fr.ird.observe.ui.content.ContentUI superGenericType='ActivitySeineObservedSystemDto' contentTitle='{n("observe.activitySeineObservedSystem.title")}'> +<fr.ird.observe.ui.content.ContentUI superGenericType='ActivitySeineObservedSystemDto' contentTitle='{n("observe.storage.activitySeineObservedSystem.title")}'> <import> fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.jcss index 7bde865..8980592 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.jcss @@ -38,8 +38,8 @@ selected:{(Collection)bean.getObservedSystem()}; _validatorLabel: {t("observe.common.observedSystem")}; showListLabel: true; - universeLabel:{t("observe.activityObservedSystem.availableObservedSystem")}; - selectedLabel:{t("observe.activityObservedSystem.selectedObservedSystem")}; + universeLabel:{t("observe.storage.activityObservedSystem.availableObservedSystem")}; + selectedLabel:{t("observe.storage.activityObservedSystem.selectedObservedSystem")}; } #observedSystemDistanceLabel { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java index 17afaa8..e4d6db5 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java @@ -70,7 +70,7 @@ public class ActivitySeineObservedSystemUIHandler extends ContentUIHandler<Activ } // activity courante non ouverte - addInfoMessage(t("observe.activitySeine.message.not.open")); + addInfoMessage(t("observe.storage.activitySeine.message.not.open")); return ContentMode.READ; } @@ -103,7 +103,7 @@ public class ActivitySeineObservedSystemUIHandler extends ContentUIHandler<Activ @Override public void startEditUI(String... binding) { - addInfoMessage(t("observe.activitySeine.message.updating")); + addInfoMessage(t("observe.storage.activitySeine.message.updating")); super.startEditUI(binding); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx index 063d22f..9846344 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx @@ -21,7 +21,7 @@ --> <fr.ird.observe.ui.content.ContentUI superGenericType='FloatingObjectTransmittingBuoyDto' - contentTitle='{n("observe.floatingObjectTransmittingBuoyOperation.title")}'> + contentTitle='{n("observe.content.floatingObjectTransmittingBuoyOperation.title")}'> <import> fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java index b7f8c8f..62da39a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java @@ -95,7 +95,7 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH addMessage(getUi(), NuitonValidatorScope.INFO, getEntityLabel(ActivitySeineDto.class), - t("observe.activitySeine.message.not.open")); + t("observe.storage.activitySeine.message.not.open")); return ContentMode.READ; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUI.jaxx index 029265f..dbe91bd 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUI.jaxx @@ -20,7 +20,7 @@ #L% --> -<fr.ird.observe.ui.content.ContentUI superGenericType='FloatingObjectDto' contentTitle='{n("observe.floatingObject.title")}'> +<fr.ird.observe.ui.content.ContentUI superGenericType='FloatingObjectDto' contentTitle='{n("observe.content.floatingObject.title")}'> <import> fr.ird.observe.services.dto.seine.FloatingObjectDto diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUI.jcss index 0cc0294..18af31c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUI.jcss @@ -89,7 +89,7 @@ BeanComboBox { } #resetSupportVesselName{ - toolTipText:"observe.action.reset.supportVesselName.tip"; + toolTipText:"observe.content.action.reset.supportVesselName.tip"; _resetPropertyName:{FloatingObjectDto.PROPERTY_SUPPORT_VESSEL_NAME}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java index 0968063..93d2313 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java @@ -90,7 +90,7 @@ public class FloatingObjectUIHandler extends ContentUIHandler<FloatingObjectDto> getUi(), NuitonValidatorScope.INFO, getEntityLabel(ActivitySeineDto.class), - t("observe.activitySeine.message.not.open")); + t("observe.storage.activitySeine.message.not.open")); return ContentMode.READ; } @@ -146,12 +146,12 @@ public class FloatingObjectUIHandler extends ContentUIHandler<FloatingObjectDto> addMessage(getUi(), NuitonValidatorScope.INFO, getEntityLabel(FloatingObjectDto.class), - t("observe.floatingObject.message.creating")); + t("observe.content.floatingObject.message.creating")); } else { addMessage(getUi(), NuitonValidatorScope.INFO, getEntityLabel(FloatingObjectDto.class), - t("observe.floatingObject.message.updating")); + t("observe.content.floatingObject.message.updating")); } super.startEditUI(FloatingObjectUI.BINDING_DAYS_AT_SEA_COUNT_MODEL, FloatingObjectUI.BINDING_OBJECT_TYPE_SELECTED_ITEM, diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUI.jaxx index d209135..5c9e545 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUI.jaxx @@ -20,7 +20,7 @@ #L% --> -<fr.ird.observe.ui.content.ContentUI superGenericType='SetSeineDto' contentTitle='{n("observe.setSeine.title")}'> +<fr.ird.observe.ui.content.ContentUI superGenericType='SetSeineDto' contentTitle='{n("observe.content.setSeine.title")}'> <import> fr.ird.observe.services.dto.CommentableDto diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUI.jcss index 2cb0a0a..aa69bd4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUI.jcss @@ -28,109 +28,109 @@ } #generalTab { - title:{t("observe.setSeine.tab.general")}; + title:{t("observe.content.setSeine.tab.general")}; icon:{getHandler().getErrorIconIfFalse(model.isGeneralTabValid())}; } #measurementsTab { - title:{t("observe.setSeine.tab.measurements")}; + title:{t("observe.content.setSeine.tab.measurements")}; icon:{getHandler().getErrorIconIfFalse(model.isMeasurementsTabValid())}; } #startTime { propertyDate:{SetSeineDto.PROPERTY_START_TIME}; - label:{t("observe.setSeine.startTime")}; + label:{t("observe.content.setSeine.startTime")}; date:{bean.getStartTime()}; dateEditable:false; - _validatorLabel:{"observe.setSeine.startTime"}; + _validatorLabel:{"observe.content.setSeine.startTime"}; } #endPursingTimeStamp { propertyDate: {SetSeineDto.PROPERTY_END_PURSING_TIME_STAMP}; propertyDayDate: {SetSeineDto.PROPERTY_END_PURSING_DATE}; propertyTimeDate: {SetSeineDto.PROPERTY_END_PURSING_TIME}; - label:{t("observe.setSeine.endPursingTimeStamp")}; + label:{t("observe.content.setSeine.endPursingTimeStamp")}; date:{bean.getEndPursingTimeStamp()}; - _validatorLabel:{t("observe.setSeine.endPursingTimeStamp")}; + _validatorLabel:{t("observe.content.setSeine.endPursingTimeStamp")}; } #endSetTimeStamp { propertyDate: {SetSeineDto.PROPERTY_END_SET_TIME_STAMP}; propertyDayDate: {SetSeineDto.PROPERTY_END_SET_DATE}; propertyTimeDate: {SetSeineDto.PROPERTY_END_SET_TIME}; - label:{t("observe.setSeine.endSetTimeStamp")}; + label:{t("observe.content.setSeine.endSetTimeStamp")}; date:{bean.getEndSetTimeStamp()}; - _validatorLabel:{t("observe.setSeine.endSetTimeStamp")}; + _validatorLabel:{t("observe.content.setSeine.endSetTimeStamp")}; } #reasonForNullSetLabel { - text:"observe.setSeine.reasonForNullSet"; + text:"observe.content.setSeine.reasonForNullSet"; labelFor:{reasonForNullSet}; } #reasonForNullSet { property:{SetSeineDto.PROPERTY_REASON_FOR_NULL_SET}; selectedItem:{bean.getReasonForNullSet()}; - _validatorLabel:{t("observe.setSeine.reasonForNullSet")}; + _validatorLabel:{t("observe.content.setSeine.reasonForNullSet")}; } #supportVesselNameLabel { - text:"observe.setSeine.supportVesselName"; + text:"observe.content.setSeine.supportVesselName"; labelFor:{supportVesselName}; } #supportVesselName { _propertyName:{SetSeineDto.PROPERTY_SUPPORT_VESSEL_NAME}; text:{getStringValue(bean.getSupportVesselName())}; - _validatorLabel:{t("observe.setSeine.supportVesselName")}; + _validatorLabel:{t("observe.content.setSeine.supportVesselName")}; } #resetSupportVesselName{ - toolTipText:"observe.action.reset.supportVesselName.tip"; + toolTipText:"observe.content.action.reset.supportVesselName.tip"; _resetPropertyName:{SetSeineDto.PROPERTY_SUPPORT_VESSEL_NAME}; } #targetDiscardedLabel { - text:"observe.setSeine.targetDiscarded"; + text:"observe.content.setSeine.targetDiscarded"; labelFor:{targetDiscarded}; } #targetDiscarded { _propertyName:{SetSeineDto.PROPERTY_TARGET_DISCARDED}; booleanValue:{bean.getTargetDiscarded()}; - _validatorLabel:{t("observe.setSeine.targetDiscarded")}; + _validatorLabel:{t("observe.content.setSeine.targetDiscarded")}; } #nonTargetDiscardedLabel { - text:"observe.setSeine.nonTargetDiscarded"; + text:"observe.content.setSeine.nonTargetDiscarded"; labelFor:{nonTargetDiscarded}; } #nonTargetDiscarded { _propertyName:{SetSeineDto.PROPERTY_NON_TARGET_DISCARDED}; booleanValue:{bean.getNonTargetDiscarded()}; - _validatorLabel:{t("observe.setSeine.nonTargetDiscarded")}; + _validatorLabel:{t("observe.content.setSeine.nonTargetDiscarded")}; } #schoolTypeLabel { actionIcon:information; - text:"observe.setSeine.schoolType"; - toolTipText:"observe.setSeine.message.information.schoolType"; + text:"observe.content.setSeine.schoolType"; + toolTipText:"observe.content.setSeine.message.information.schoolType"; labelFor:{schoolType}; } #schoolType { font-weight:bold; text:{getHandler().updateTypeValue(bean.getSchoolType())}; - _validatorLabel:{t("observe.setSeine.schoolType")}; + _validatorLabel:{t("observe.content.setSeine.schoolType")}; } #sonarUsedAvantSetPane { - border:{new TitledBorder(null, t("observe.setSeine.sonarUsedAvantSet", 1, 0, getFont()))}; + border:{new TitledBorder(null, t("observe.content.setSeine.sonarUsedAvantSet", 1, 0, getFont()))}; } #schoolThicknessLabel { - text:"observe.setSeine.schoolThickness"; + text:"observe.content.setSeine.schoolThickness"; labelFor:{schoolThickness}; } @@ -138,11 +138,11 @@ property:{SetSeineDto.PROPERTY_SCHOOL_THICKNESS}; model:{bean.getSchoolThickness()}; numberPattern:{fr.ird.observe.ui.UIHelper.INT_6_DIGITS_PATTERN}; - _validatorLabel:{t("observe.setSeine.schoolThickness")}; + _validatorLabel:{t("observe.content.setSeine.schoolThickness")}; } #schoolMeanDepthLabel { - text:"observe.setSeine.schoolMeanDepth"; + text:"observe.content.setSeine.schoolMeanDepth"; labelFor:{schoolMeanDepth}; } @@ -150,11 +150,11 @@ property:{SetSeineDto.PROPERTY_SCHOOL_MEAN_DEPTH}; model:{bean.getSchoolMeanDepth()}; numberPattern:{fr.ird.observe.ui.UIHelper.INT_6_DIGITS_PATTERN}; - _validatorLabel:{t("observe.setSeine.schoolMeanDepth")}; + _validatorLabel:{t("observe.content.setSeine.schoolMeanDepth")}; } #schoolTopDepthLabel { - text:"observe.setSeine.schoolTopDepth"; + text:"observe.content.setSeine.schoolTopDepth"; labelFor:{schoolTopDepth}; } @@ -162,11 +162,11 @@ property:{SetSeineDto.PROPERTY_SCHOOL_TOP_DEPTH}; model:{bean.getSchoolTopDepth()}; numberPattern:{fr.ird.observe.ui.UIHelper.INT_6_DIGITS_PATTERN}; - _validatorLabel:{t("observe.setSeine.schoolTopDepth")}; + _validatorLabel:{t("observe.content.setSeine.schoolTopDepth")}; } #currentMeasureDepthLabel { - text:"observe.setSeine.currentMeasureDepth"; + text:"observe.content.setSeine.currentMeasureDepth"; labelFor:{currentMeasureDepth}; } @@ -174,11 +174,11 @@ property:{SetSeineDto.PROPERTY_CURRENT_MEASURE_DEPTH}; model:{bean.getCurrentMeasureDepth()}; numberPattern:{fr.ird.observe.ui.UIHelper.INT_6_DIGITS_PATTERN}; - _validatorLabel:{t("observe.setSeine.currentMeasureDepth")}; + _validatorLabel:{t("observe.content.setSeine.currentMeasureDepth")}; } #currentSpeedLabel { - text:"observe.setSeine.currentSpeed"; + text:"observe.content.setSeine.currentSpeed"; labelFor:{currentSpeed}; } @@ -187,11 +187,11 @@ model:{bean.getCurrentSpeed()}; useFloat:true; numberPattern:{fr.ird.observe.ui.UIHelper.DECIMAL1_PATTERN}; - _validatorLabel:{t("observe.setSeine.currentSpeed")}; + _validatorLabel:{t("observe.content.setSeine.currentSpeed")}; } #currentDirectionLabel { - text:"observe.setSeine.currentDirection"; + text:"observe.content.setSeine.currentDirection"; labelFor:{currentDirection}; } @@ -199,11 +199,11 @@ property:{SetSeineDto.PROPERTY_CURRENT_DIRECTION}; model:{bean.getCurrentDirection()}; numberPattern:{fr.ird.observe.ui.UIHelper.INT_3_DIGITS_PATTERN}; - _validatorLabel:{t("observe.setSeine.currentDirection")}; + _validatorLabel:{t("observe.content.setSeine.currentDirection")}; } #maxGearDepthLabel { - text:"observe.setSeine.maxGearDepth"; + text:"observe.content.setSeine.maxGearDepth"; labelFor:{maxGearDepth}; } @@ -211,14 +211,14 @@ property:{SetSeineDto.PROPERTY_MAX_GEAR_DEPTH}; model:{bean.getMaxGearDepth()}; numberPattern:{fr.ird.observe.ui.UIHelper.INT_6_DIGITS_PATTERN}; - _validatorLabel:{t("observe.setSeine.maxGearDepth")}; + _validatorLabel:{t("observe.content.setSeine.maxGearDepth")}; } #sonarUsed { _propertyName:{SetSeineDto.PROPERTY_SONAR_USED}; - text:"observe.setSeine.sonarUsed"; + text:"observe.content.setSeine.sonarUsed"; selected:{bean.isSonarUsed()}; - _validatorLabel:{t("observe.setSeine.sonarUsed")}; + _validatorLabel:{t("observe.content.setSeine.sonarUsed")}; } #delete { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java index cd960c3..5230c9d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java @@ -96,7 +96,7 @@ public class SetSeineUIHandler extends ContentUIHandler<SetSeineDto> { public String updateTypeValue(SchoolType schoolType) { if (schoolType == null) { - return t("observe.setSeine.schoolType.not.fill"); + return t("observe.content.setSeine.schoolType.not.fill"); } return I18nEnumUtil.getLabel(schoolType); } @@ -127,7 +127,7 @@ public class SetSeineUIHandler extends ContentUIHandler<SetSeineDto> { addMessage(getUi(), NuitonValidatorScope.INFO, getEntityLabel(ActivitySeineDto.class), - t("observe.activitySeine.message.not.open")); + t("observe.storage.activitySeine.message.not.open")); return ContentMode.READ; } @@ -211,9 +211,9 @@ public class SetSeineUIHandler extends ContentUIHandler<SetSeineDto> { String contextName = getValidatorContextName(model.getMode()); getUi().getValidator().setContext(contextName); if (create) { - addInfoMessage(t("observe.setSeine.message.creating")); + addInfoMessage(t("observe.content.setSeine.message.creating")); } else { - addInfoMessage(t("observe.setSeine.message.updating")); + addInfoMessage(t("observe.content.setSeine.message.updating")); } super.startEditUI(SetSeineUI.BINDING_SUPPORT_VESSEL_NAME_TEXT, diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUI.jaxx index 354a038..3816466 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUI.jaxx @@ -21,7 +21,7 @@ --> <fr.ird.observe.ui.content.list.ContentListUI superGenericType='TripLonglineDto, ActivityLonglineDto' - contentTitle='{n("observe.activityLonglines.title")}' listText='{n("observe.common.activities.list")}' + contentTitle='{n("observe.storage.activityLonglines.title")}' listText='{n("observe.common.activities.list")}' emptyListMessage='{n("observe.message.no.activity.for.trip")}'> <import> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUI.jcss index e658969..0cff01c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUI.jcss @@ -21,18 +21,18 @@ */ #gotoSelectedChild { - _text:{t("observe.action.goto.selected.activity")}; - _toolTipText:{t("observe.action.goto.selected.activity.tip")}; + _text:{t("observe.content.action.goto.selected.activity")}; + _toolTipText:{t("observe.content.action.goto.selected.activity.tip")}; } #reopenChild { - _text:{t("observe.action.reopen.selected.activity")}; - _toolTipText:{t("observe.action.reopen.selected.activity.tip")}; + _text:{t("observe.content.action.reopen.selected.activity")}; + _toolTipText:{t("observe.content.action.reopen.selected.activity.tip")}; } #createChild { - text:"observe.action.create.activity"; - toolTipText:"observe.action.create.activity.tip"; + text:"observe.content.action.activity"; + toolTipText:"observe.content.action.activity.tip"; } #extraActions { @@ -46,12 +46,12 @@ #closeAndCreate { _observeAction:{CloseAndCreateUIAction.ACTION_NAME}; - _text:{t("observe.action.closeAndCreate.activity")}; - _toolTipText:{t("observe.action.closeAndCreate.activity.tip")}; + _text:{t("observe.content.action.closeAndCreate.activity")}; + _toolTipText:{t("observe.content.action.closeAndCreate.activity.tip")}; } #moveSelectedChildren { - text:"observe.action.move.activities"; - toolTipText:"observe.action.move.activities.tip"; + text:"observe.content.action.move.activities"; + toolTipText:"observe.content.action.move.activities.tip"; _observeAction:{MoveActivityLonglinesUIAction.ACTION_NAME}; } \ No newline at end of file diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIHandler.java index 55bbebe..3161270 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIHandler.java @@ -63,7 +63,7 @@ public class ActivityLonglinesUIHandler extends ContentListUIHandler<TripLonglin if (openTripLonglineId == null) { // pas de marée ouverte, donc on ne peut pas ouvrir une activité - addInfoMessage(n("observe.tripLongline.message.no.active.found")); + addInfoMessage(n("observe.content.tripLongline.message.no.active.found")); return ContentMode.READ; } @@ -83,12 +83,12 @@ public class ActivityLonglinesUIHandler extends ContentListUIHandler<TripLonglin if (openActivity) { // il existe une activite d'ouverte dans la maree courante - addInfoMessage(n("observe.activityLongline.message.active.found")); + addInfoMessage(n("observe.storage.activityLongline.message.active.found")); return ContentMode.UPDATE; } // pas d'activité ouverte, on peut en ouvrir une - addInfoMessage(n("observe.activityLongline.message.no.active.found")); + addInfoMessage(n("observe.storage.activityLongline.message.no.active.found")); return ContentMode.CREATE; } @@ -99,11 +99,11 @@ public class ActivityLonglinesUIHandler extends ContentListUIHandler<TripLonglin if (openActivity) { // il existe une activité ouverte dans la marée ouverte - addInfoMessage(n("observe.activityLongline.message.active.found.for.other.trip")); + addInfoMessage(n("observe.storage.activityLongline.message.active.found.for.other.trip")); } else { // il n'existe pas d'activité ouverte dans la marée ouverte - addInfoMessage(n("observe.activityLongline.message.no.active.found.for.other.trip")); + addInfoMessage(n("observe.storage.activityLongline.message.no.active.found.for.other.trip")); } return ContentMode.READ; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/CommonListUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/CommonListUI.jcss index 517aed0..50bf693 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/CommonListUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/CommonListUI.jcss @@ -28,8 +28,8 @@ visible:{model.isUpdatingMode() && dataContext.isOpenTrip()}; _observeAction:{SelectOpenNodeUIAction.ACTION_NAME}; _type:{TripLonglineDto.class}; - _text:{t("observe.action.goto.open.maree")}; - _toolTipText:{t("observe.action.goto.open.trip.tip")}; + _text:{t("observe.content.action.goto.open.maree")}; + _toolTipText:{t("observe.content.action.goto.open.trip.tip")}; } .gotoOpenTrip2 { @@ -37,16 +37,16 @@ _observeAction:{SelectOpenNodeUIAction.ACTION_NAME}; _type:{TripLonglineDto.class}; _actionIcon:{"go-jump"}; - _text:{t("observe.action.goto.open.other.maree")}; - _toolTipText:{t("observe.action.goto.open.other.maree.tip")}; + _text:{t("observe.content.action.goto.open.other.maree")}; + _toolTipText:{t("observe.content.action.goto.open.other.maree.tip")}; } .gotoOpenActivity { visible:{model.isUpdatingMode() && dataContext.isOpenActivity()}; _observeAction:{SelectOpenNodeUIAction.ACTION_NAME}; _type:{ActivityLonglineDto.class}; - _text:{t("observe.action.goto.open.activity")}; - _toolTipText:{t("observe.action.goto.open.activity.tip")}; + _text:{t("observe.content.action.goto.open.activity")}; + _toolTipText:{t("observe.content.action.goto.open.activity.tip")}; } .gotoOpenActivity2 { @@ -54,7 +54,7 @@ _observeAction:{SelectOpenNodeUIAction.ACTION_NAME}; _type:{ActivityLonglineDto.class}; _actionIcon:{"go-jump"}; - _text:{t("observe.action.goto.open.other.activity")}; - _toolTipText:{t("observe.action.goto.open.other.activity.tip")}; + _text:{t("observe.content.action.goto.open.other.activity")}; + _toolTipText:{t("observe.content.action.goto.open.other.activity.tip")}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.jcss index 4260e0d..e61a170 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.jcss @@ -21,23 +21,23 @@ */ #gotoSelectedChild { - _text:{t("observe.action.goto.selected.maree")}; - _toolTipText:{t("observe.action.goto.selected.maree.tip")}; + _text:{t("observe.content.action.goto.selected.maree")}; + _toolTipText:{t("observe.content.action.goto.selected.maree.tip")}; } #reopenChild { - _text:{t("observe.action.reopen.selected.maree")}; - _toolTipText:{t("observe.action.reopen.selected.maree.tip")}; + _text:{t("observe.content.action.reopen.selected.maree")}; + _toolTipText:{t("observe.content.action.reopen.selected.maree.tip")}; } #createChild { - text:"observe.action.create.maree"; - toolTipText:"observe.action.create.maree.tip"; + text:"observe.content.action.trip"; + toolTipText:"observe.content.action.trip.tip"; } #moveSelectedChildren { - text:"observe.action.move.trips"; - toolTipText:"observe.action.move.trips.tip"; + text:"observe.content.action.move.trips"; + toolTipText:"observe.content.action.move.trips.tip"; _observeAction:{MoveTripLonglinesUIAction.ACTION_NAME}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIHandler.java index 6719578..f5507e1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIHandler.java @@ -65,7 +65,7 @@ public class TripLonglinesUIHandler extends ContentListUIHandler<ProgramDto, Tri // pas de program ouvert (donc pas de maree ouverte) // on peut reouvrir une maree - addInfoMessage(n("observe.tripLongline.message.no.active.found")); + addInfoMessage(n("observe.content.tripLongline.message.no.active.found")); return ContentMode.CREATE; } @@ -76,7 +76,7 @@ public class TripLonglinesUIHandler extends ContentListUIHandler<ProgramDto, Tri if (dataContext.isSelectedOpen(ProgramDto.class)) { // le programme courant a une maree ouverte - addInfoMessage(n("observe.tripLongline.message.active.found")); + addInfoMessage(n("observe.content.tripLongline.message.active.found")); return ContentMode.UPDATE; } @@ -84,7 +84,7 @@ public class TripLonglinesUIHandler extends ContentListUIHandler<ProgramDto, Tri // la marée ouverte est dans un autre programme // - addInfoMessage(n("observe.tripLongline.message.active.found.for.other.program")); + addInfoMessage(n("observe.content.tripLongline.message.active.found.for.other.program")); return ContentMode.READ; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUI.jaxx index 2e94ee9..3353e08 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUI.jaxx @@ -21,7 +21,7 @@ --> <fr.ird.observe.ui.content.list.ContentListUI superGenericType='RouteDto, ActivitySeineDto' - contentTitle='{n("observe.activitySeines.title")}' listText='{n("observe.common.activities.list")}' + contentTitle='{n("observe.storage.activitySeines.title")}' listText='{n("observe.common.activities.list")}' emptyListMessage='{n("observe.message.no.activity.for.route")}'> <import> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUI.jcss index 43e4f44..21da808 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUI.jcss @@ -21,18 +21,18 @@ */ #gotoSelectedChild { - _text:{t("observe.action.goto.selected.activity")}; - _toolTipText:{t("observe.action.goto.selected.activity.tip")}; + _text:{t("observe.content.action.goto.selected.activity")}; + _toolTipText:{t("observe.content.action.goto.selected.activity.tip")}; } #reopenChild { - _text:{t("observe.action.reopen.selected.activity")}; - _toolTipText:{t("observe.action.reopen.selected.activity.tip")}; + _text:{t("observe.content.action.reopen.selected.activity")}; + _toolTipText:{t("observe.content.action.reopen.selected.activity.tip")}; } #createChild { - text:"observe.action.create.activity"; - toolTipText:"observe.action.create.activity.tip"; + text:"observe.content.action.activity"; + toolTipText:"observe.content.action.activity.tip"; } #extraActions { @@ -46,12 +46,12 @@ #closeAndCreate { _observeAction:{CloseAndCreateUIAction.ACTION_NAME}; - _text:{t("observe.action.closeAndCreate.activity")}; - _toolTipText:{t("observe.action.closeAndCreate.activity.tip")}; + _text:{t("observe.content.action.closeAndCreate.activity")}; + _toolTipText:{t("observe.content.action.closeAndCreate.activity.tip")}; } #moveSelectedChildren { - text:"observe.action.move.activities"; - toolTipText:"observe.action.move.activities.tip"; + text:"observe.content.action.move.activities"; + toolTipText:"observe.content.action.move.activities.tip"; _observeAction:{MoveActivitySeinesUIAction.ACTION_NAME}; } \ No newline at end of file diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java index 6e5f959..c8eac64 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java @@ -60,7 +60,7 @@ public class ActivitySeinesUIHandler extends ContentListUIHandler<RouteDto, Acti if (openRouteId == null) { // pas de route ouverte, donc on ne peut pas ouvrir une activité - addInfoMessage(n("observe.route.message.no.active.found")); + addInfoMessage(n("observe.content.route.message.no.active.found")); return ContentMode.READ; } @@ -81,12 +81,12 @@ public class ActivitySeinesUIHandler extends ContentListUIHandler<RouteDto, Acti if (openActivity) { // il existe une activité ouverte dans la route courante - addInfoMessage(n("observe.activitySeine.message.active.found")); + addInfoMessage(n("observe.storage.activitySeine.message.active.found")); return ContentMode.UPDATE; } // pas d'activité ouverte, on peut en ouvrir une - addInfoMessage(n("observe.activitySeine.message.no.active.found")); + addInfoMessage(n("observe.storage.activitySeine.message.no.active.found")); return ContentMode.CREATE; } @@ -97,11 +97,11 @@ public class ActivitySeinesUIHandler extends ContentListUIHandler<RouteDto, Acti if (openActivity) { // il existe une activité ouverte dans la route ouverte - addInfoMessage(n("observe.activitySeine.message.active.found.for.other.route")); + addInfoMessage(n("observe.storage.activitySeine.message.active.found.for.other.route")); } else { // il n'existe pas d'activité ouverte dans la route ouverte - addInfoMessage(n("observe.activitySeine.message.no.active.found.for.other.route")); + addInfoMessage(n("observe.storage.activitySeine.message.no.active.found.for.other.route")); } return ContentMode.READ; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/CommonListUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/CommonListUI.jcss index 8633b3b..a480aab 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/CommonListUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/CommonListUI.jcss @@ -28,8 +28,8 @@ visible:{model.isUpdatingMode() && dataContext.isOpenTrip()}; _observeAction:{SelectOpenNodeUIAction.ACTION_NAME}; _type:{TripSeineDto.class}; - _text:{t("observe.action.goto.open.maree")}; - _toolTipText:{t("observe.action.goto.open.trip.tip")}; + _text:{t("observe.content.action.goto.open.maree")}; + _toolTipText:{t("observe.content.action.goto.open.trip.tip")}; } .gotoOpenTrip2 { @@ -37,16 +37,16 @@ _observeAction:{SelectOpenNodeUIAction.ACTION_NAME}; _type:{TripSeineDto.class}; _actionIcon:{"go-jump"}; - _text:{t("observe.action.goto.open.other.maree")}; - _toolTipText:{t("observe.action.goto.open.other.maree.tip")}; + _text:{t("observe.content.action.goto.open.other.maree")}; + _toolTipText:{t("observe.content.action.goto.open.other.maree.tip")}; } .gotoOpenRoute { visible:{model.isUpdatingMode() && dataContext.isOpenRoute()}; _observeAction:{SelectOpenNodeUIAction.ACTION_NAME}; _type:{RouteDto.class}; - _text:{t("observe.action.goto.open.route")}; - _toolTipText:{t("observe.action.goto.open.route.tip")}; + _text:{t("observe.content.action.goto.open.route")}; + _toolTipText:{t("observe.content.action.goto.open.route.tip")}; } .gotoOpenRoute2 { @@ -54,16 +54,16 @@ _observeAction:{SelectOpenNodeUIAction.ACTION_NAME}; _type:{RouteDto.class}; _actionIcon:{"go-jump"}; - _text:{t("observe.action.goto.open.other.route")}; - _toolTipText:{t("observe.action.goto.open.other.route.tip")}; + _text:{t("observe.content.action.goto.open.other.route")}; + _toolTipText:{t("observe.content.action.goto.open.other.route.tip")}; } .gotoOpenActivity { visible:{model.isUpdatingMode() && dataContext.isOpenActivity()}; _observeAction:{SelectOpenNodeUIAction.ACTION_NAME}; _type:{ActivitySeineDto.class}; - _text:{t("observe.action.goto.open.activity")}; - _toolTipText:{t("observe.action.goto.open.activity.tip")}; + _text:{t("observe.content.action.goto.open.activity")}; + _toolTipText:{t("observe.content.action.goto.open.activity.tip")}; } .gotoOpenActivity2 { @@ -71,7 +71,7 @@ _observeAction:{SelectOpenNodeUIAction.ACTION_NAME}; _type:{ActivitySeineDto.class}; _actionIcon:{"go-jump"}; - _text:{t("observe.action.goto.open.other.activity")}; - _toolTipText:{t("observe.action.goto.open.other.activity.tip")}; + _text:{t("observe.content.action.goto.open.other.activity")}; + _toolTipText:{t("observe.content.action.goto.open.other.activity.tip")}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.jaxx index 4f4f61e..7797f98 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.jaxx @@ -21,7 +21,7 @@ --> <fr.ird.observe.ui.content.list.ContentListUI superGenericType='TripSeineDto, RouteDto' - contentTitle='{n("observe.routes.title")}' listText='{n("observe.common.routes.list")}' + contentTitle='{n("observe.content.routes.title")}' listText='{n("observe.common.routes.list")}' emptyListMessage='{n("observe.message.no.route.for.maree")}'> <import> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.jcss index 0de1951..32e16fc 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.jcss @@ -20,23 +20,23 @@ * #L% */ #gotoSelectedChild { - _text:{t("observe.action.goto.selected.route")}; - _toolTipText:{t("observe.action.goto.selected.route.tip")}; + _text:{t("observe.content.action.goto.selected.route")}; + _toolTipText:{t("observe.content.action.goto.selected.route.tip")}; } #reopenChild { - _text:{t("observe.action.reopen.selected.route")}; - _toolTipText:{t("observe.action.reopen.selected.route.tip")}; + _text:{t("observe.content.action.reopen.selected.route")}; + _toolTipText:{t("observe.content.action.reopen.selected.route.tip")}; } #createChild { - text:"observe.action.create.route"; - toolTipText:"observe.action.create.route.tip"; + text:"observe.content.action.create.route"; + toolTipText:"observe.content.action.create.route.tip"; } #moveSelectedChildren { - text:"observe.action.move.routes"; - toolTipText:"observe.action.move.routes.tip"; + text:"observe.content.action.move.routes"; + toolTipText:"observe.content.action.move.routes.tip"; _observeAction:{MoveRoutesUIAction.ACTION_NAME}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java index 23add6c..ec2a0e9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java @@ -62,7 +62,7 @@ public class RoutesUIHandler extends ContentListUIHandler<TripSeineDto, RouteDto if (openTripId == null) { // pas de marée d'ouverte, donc on ne peut pas ouvrir une route - addInfoMessage(n("observe.tripSeine.message.no.active.found")); + addInfoMessage(n("observe.content.tripSeine.message.no.active.found")); return ContentMode.READ; } @@ -79,12 +79,12 @@ public class RoutesUIHandler extends ContentListUIHandler<TripSeineDto, RouteDto if (openRoute) { // il existe une route ouverte dans la marée courante - addInfoMessage(n("observe.route.message.active.found")); + addInfoMessage(n("observe.content.route.message.active.found")); return ContentMode.UPDATE; } // pas de route ouverte, on peut en ouvrir une - addInfoMessage(n("observe.route.message.no.active.found")); + addInfoMessage(n("observe.content.route.message.no.active.found")); return ContentMode.CREATE; } @@ -95,11 +95,11 @@ public class RoutesUIHandler extends ContentListUIHandler<TripSeineDto, RouteDto if (openRoute) { //il existe une route existe dans la maree ouverte - addInfoMessage(n("observe.route.message.active.found.for.other.trip")); + addInfoMessage(n("observe.content.route.message.active.found.for.other.trip")); } else { // pas de route ouverte dans la maree ouverte - addInfoMessage(n("observe.route.message.no.active.found.for.other.trip")); + addInfoMessage(n("observe.content.route.message.no.active.found.for.other.trip")); } return ContentMode.READ; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.jcss index 40a6244..818ea27 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.jcss @@ -21,23 +21,23 @@ */ #gotoSelectedChild { - _text:{t("observe.action.goto.selected.maree")}; - _toolTipText:{t("observe.action.goto.selected.maree.tip")}; + _text:{t("observe.content.action.goto.selected.maree")}; + _toolTipText:{t("observe.content.action.goto.selected.maree.tip")}; } #reopenChild { - _text:{t("observe.action.reopen.selected.maree")}; - _toolTipText:{t("observe.action.reopen.selected.maree.tip")}; + _text:{t("observe.content.action.reopen.selected.maree")}; + _toolTipText:{t("observe.content.action.reopen.selected.maree.tip")}; } #createChild { - text:"observe.action.create.maree"; - toolTipText:"observe.action.create.maree.tip"; + text:"observe.content.action.trip"; + toolTipText:"observe.content.action.trip.tip"; } #moveSelectedChildren { - text:"observe.action.move.trips"; - toolTipText:"observe.action.move.trips.tip"; + text:"observe.content.action.move.trips"; + toolTipText:"observe.content.action.move.trips.tip"; _observeAction:{MoveTripSeinesUIAction.ACTION_NAME}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIHandler.java index dd70be9..438cb6a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIHandler.java @@ -62,7 +62,7 @@ public class TripSeinesUIHandler extends ContentListUIHandler<ProgramDto, TripSe // pas de program ouvert (donc pas de maree ouverte) // on peut reouvrir une maree - addInfoMessage(n("observe.tripSeine.message.no.active.found")); + addInfoMessage(n("observe.content.tripSeine.message.no.active.found")); return ContentMode.CREATE; } @@ -73,7 +73,7 @@ public class TripSeinesUIHandler extends ContentListUIHandler<ProgramDto, TripSe if (dataContext.isSelectedOpen(ProgramDto.class)) { // le program courant a une maree ouverte - addInfoMessage(n("observe.tripSeine.message.active.found")); + addInfoMessage(n("observe.content.tripSeine.message.active.found")); return ContentMode.UPDATE; } @@ -81,7 +81,7 @@ public class TripSeinesUIHandler extends ContentListUIHandler<ProgramDto, TripSe // la marée ouverte est dans un autre program // - addInfoMessage(n("observe.tripSeine.message.active.found.for.other.program")); + addInfoMessage(n("observe.content.tripSeine.message.active.found.for.other.program")); return ContentMode.READ; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUI.jaxx index 901d702..15da40e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUI.jaxx @@ -21,7 +21,7 @@ --> <fr.ird.observe.ui.content.open.ContentOpenableUI superGenericType='ActivityLonglineDto' - contentTitle='{n("observe.activityLongline.title")}'> + contentTitle='{n("observe.storage.activityLongline.title")}'> <style source="../../../Common.jcss"/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUI.jcss index b961c99..0f9c74b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUI.jcss @@ -30,7 +30,7 @@ propertyDate:{ActivityLonglineDto.PROPERTY_TIME_STAMP}; propertyDayDate:{ActivityLonglineUIModel.PROPERTY_DATE}; propertyTimeDate:{ActivityLonglineUIModel.PROPERTY_TIME}; - label:{t("observe.activityLongline.timeStamp")}; + label:{t("observe.storage.activityLongline.timeStamp")}; date:{bean.getTimeStamp()}; } @@ -41,7 +41,7 @@ } #vesselActivityLonglineLabel { - text:"observe.activityLongline.vesselActivityLongline"; + text:"observe.storage.activityLongline.vesselActivityLongline"; labelFor:{vesselActivityLongline}; } @@ -52,7 +52,7 @@ } #fpaZoneLabel { - text:"observe.activityLongline.fpaZone"; + text:"observe.storage.activityLongline.fpaZone"; labelFor:{fpaZone}; } @@ -62,7 +62,7 @@ } #seaSurfaceTemperatureLabel { - text:"observe.activityLongline.seaSurfaceTemperature"; + text:"observe.storage.activityLongline.seaSurfaceTemperature"; labelFor:{seaSurfaceTemperature}; } @@ -74,7 +74,7 @@ } #reopen { - _toolTipText:{t("observe.action.reopen.activity.tip")}; + _toolTipText:{t("observe.content.action.reopen.activity.tip")}; } #close { @@ -84,8 +84,8 @@ #closeAndCreate { enabled:{!model.isModified() && (model.isHistoricalData() || model.isValid())}; - _text:{t("observe.action.closeAndCreate.activity")}; - _toolTipText:{t("observe.action.closeAndCreate.activity.tip")}; + _text:{t("observe.content.action.closeAndCreate.activity")}; + _toolTipText:{t("observe.content.action.closeAndCreate.activity.tip")}; } #delete { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java index a6fd142..0aefb66 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java @@ -71,7 +71,7 @@ public class ActivityLonglineUIHandler extends ContentOpenableUIHandler<Activity super(ui, DataContextType.TripLongline, DataContextType.ActivityLongline, - n("observe.activityLongline.message.not.open")); + n("observe.storage.activityLongline.message.not.open")); // this.logCoordinatesChanges = new LogPropertyChanges(COORDINATES_PROPERTIES); } @@ -125,7 +125,7 @@ public class ActivityLonglineUIHandler extends ContentOpenableUIHandler<Activity addMessage(ui, NuitonValidatorScope.INFO, getEntityLabel(TripLonglineDto.class), - t("observe.tripLongline.message.not.open")); + t("observe.content.tripLongline.message.not.open")); if (getModel().isHistoricalData()) { @@ -228,12 +228,12 @@ public class ActivityLonglineUIHandler extends ContentOpenableUIHandler<Activity addMessage(ui, NuitonValidatorScope.INFO, getEntityLabel(ActivityLonglineDto.class), - t("observe.activityLongline.message.creating")); + t("observe.storage.activityLongline.message.creating")); } else { addMessage(ui, NuitonValidatorScope.INFO, getEntityLabel(ActivityLonglineDto.class), - t("observe.activityLongline.message.updating")); + t("observe.storage.activityLongline.message.updating")); } super.startEditUI( diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.jaxx index 1735665..06e6106 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.jaxx @@ -21,7 +21,7 @@ --> <fr.ird.observe.ui.content.open.ContentOpenableUI superGenericType='TripLonglineDto' - contentTitle='{n("observe.tripLongline.title")}'> + contentTitle='{n("observe.content.tripLongline.title")}'> <style source="../../../Common.jcss"/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.jcss index 8490def..505f541 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.jcss @@ -27,11 +27,11 @@ NumberEditor { } #generalTab { - title: {t("observe.tripLongline.tab.general")}; + title: {t("observe.content.tripLongline.tab.general")}; } #mapTab { - title: {t("observe.tripLongline.tab.map")}; + title: {t("observe.content.tripLongline.tab.map")}; } #model { @@ -41,7 +41,7 @@ NumberEditor { } #observerLabel { - text:"observe.tripLongline.observer"; + text:"observe.content.tripLongline.observer"; labelFor:{observer}; } @@ -51,7 +51,7 @@ NumberEditor { } #captainLabel { - text:"observe.tripLongline.captain"; + text:"observe.content.tripLongline.captain"; labelFor:{captain}; } @@ -61,7 +61,7 @@ NumberEditor { } #dataEntryOperatorLabel { - text:"observe.tripLongline.dataEntryOperator"; + text:"observe.content.tripLongline.dataEntryOperator"; labelFor:{dataEntryOperator}; } @@ -71,7 +71,7 @@ NumberEditor { } #tripTypeLabel{ - text:"observe.tripLongline.tripType"; + text:"observe.content.tripLongline.tripType"; labelFor:{tripType}; } @@ -81,7 +81,7 @@ NumberEditor { } #vesselLabel{ - text:"observe.tripLongline.vessel"; + text:"observe.content.tripLongline.vessel"; labelFor:{vessel}; } @@ -91,7 +91,7 @@ NumberEditor { } #oceanLabel{ - text:"observe.tripLongline.ocean"; + text:"observe.content.tripLongline.ocean"; labelFor:{ocean}; } @@ -122,7 +122,7 @@ NumberEditor { } #totalFishingOperationsNumberLabel{ - text:"observe.tripLongline.totalFishingOperationsNumber"; + text:"observe.content.tripLongline.totalFishingOperationsNumber"; labelFor:{totalFishingOperationsNumber}; } @@ -133,12 +133,12 @@ NumberEditor { } #homeIdLabel { - text:"observe.tripLongline.homeId"; + text:"observe.content.tripLongline.homeId"; labelFor:{homeId}; } #resetHomeId { - toolTipText:"observe.action.reset.homeId.tip"; + toolTipText:"observe.content.action.reset.homeId.tip"; _resetPropertyName: {TripLonglineDto.PROPERTY_HOME_ID}; } @@ -148,7 +148,7 @@ NumberEditor { } #startDateLabel { - text:"observe.tripLongline.startDate"; + text:"observe.content.tripLongline.startDate"; labelFor:{startDate}; } @@ -158,7 +158,7 @@ NumberEditor { } #endDateLabel { - text:"observe.tripLongline.endDate"; + text:"observe.content.tripLongline.endDate"; labelFor:{endDate}; } @@ -177,7 +177,7 @@ NumberEditor { } #reopen { - _toolTipText:{t("observe.action.reopen.maree.tip")}; + _toolTipText:{t("observe.content.action.reopen.maree.tip")}; } #close { @@ -187,8 +187,8 @@ NumberEditor { #closeAndCreate { enabled:{!model.isModified() && (model.isHistoricalData() || model.isValid()) && !dataContext.isOpenActivity()}; - _text:{t("observe.action.closeAndCreate.maree")}; - _toolTipText:{t("observe.action.closeAndCreate.maree.tip")}; + _text:{t("observe.content.action.closeAndCreate.maree")}; + _toolTipText:{t("observe.content.action.closeAndCreate.maree.tip")}; } #delete { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java index 3f472d6..1af8492 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java @@ -71,7 +71,7 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline super(ui, DataContextType.Program, DataContextType.TripLongline, - n("observe.tripLongline.message.not.open")); + n("observe.content.tripLongline.message.not.open")); } @Override @@ -193,9 +193,9 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline ui.getValidator().setContext(contextName); if (create) { - addInfoMessage(t("observe.tripLongline.message.creating")); + addInfoMessage(t("observe.content.tripLongline.message.creating")); } else { - addInfoMessage(t("observe.tripLongline.message.updating")); + addInfoMessage(t("observe.content.tripLongline.message.updating")); if (model.isHistoricalData()) { addInfoMessage(t("observe.message.historical.data")); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUI.jaxx index f3ac5f3..0f2e6b4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUI.jaxx @@ -21,7 +21,7 @@ --> <fr.ird.observe.ui.content.open.ContentOpenableUI superGenericType='ActivitySeineDto' - contentTitle='{n("observe.activitySeine.title")}'> + contentTitle='{n("observe.storage.activitySeine.title")}'> <style source="../../../Common.jcss"/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUI.jcss index 6831d50..6c7e9e3 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUI.jcss @@ -35,7 +35,7 @@ } #coordinatesLabel { - text:"observe.activityLongline.coordinate"; + text:"observe.storage.activityLongline.coordinate"; labelFor:{coordinatesEditor}; } @@ -46,12 +46,12 @@ } #generalTab { - title:{t("observe.activitySeine.tab.general")}; + title:{t("observe.storage.activitySeine.tab.general")}; icon:{getHandler().getErrorIconIfFalse(model.isGeneralTabValid())}; } #measurementsTab { - title:{t("observe.activitySeine.tab.measurements")}; + title:{t("observe.storage.activitySeine.tab.measurements")}; icon:{getHandler().getErrorIconIfFalse(model.isMeasurementsTabValid())}; } @@ -132,7 +132,7 @@ } #resetErsId{ - toolTipText:"observe.action.reset.ersId.tip"; + toolTipText:"observe.content.action.reset.ersId.tip"; _resetPropertyName:{ActivitySeineDto.PROPERTY_ERS_ID}; } @@ -193,7 +193,7 @@ } #reopen { - _toolTipText:{t("observe.action.reopen.activity.tip")}; + _toolTipText:{t("observe.content.action.reopen.activity.tip")}; } #close { @@ -203,8 +203,8 @@ #closeAndCreate { enabled:{!model.isModified() && (model.isHistoricalData() || model.isValid())}; - _text:{t("observe.action.closeAndCreate.activity")}; - _toolTipText:{t("observe.action.closeAndCreate.activity.tip")}; + _text:{t("observe.content.action.closeAndCreate.activity")}; + _toolTipText:{t("observe.content.action.closeAndCreate.activity.tip")}; } #delete { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java index f5586fc..beb0055 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java @@ -72,7 +72,7 @@ public class ActivitySeineUIHandler extends ContentOpenableUIHandler<ActivitySei super(ui, DataContextType.Route, DataContextType.ActivitySeine, - n("observe.activitySeine.message.not.open")); + n("observe.storage.activitySeine.message.not.open")); // this.logCoordinatesChanges = new LogPropertyChanges(COORDINATES_PROPERTIES); computeTabValidStateListener = e -> { @@ -132,7 +132,7 @@ public class ActivitySeineUIHandler extends ContentOpenableUIHandler<ActivitySei addMessage(ui, NuitonValidatorScope.INFO, getEntityLabel(RouteDto.class), - t("observe.route.message.not.open")); + t("observe.content.route.message.not.open")); } else if (!getOpenDataManager().isOpenTripSeine(dataContext.getSelectedTripSeineId())) { @@ -140,7 +140,7 @@ public class ActivitySeineUIHandler extends ContentOpenableUIHandler<ActivitySei addMessage(ui, NuitonValidatorScope.INFO, getEntityLabel(TripSeineDto.class), - t("observe.tripSeine.message.not.open")); + t("observe.content.tripSeine.message.not.open")); if (getModel().isHistoricalData()) { @@ -251,12 +251,12 @@ public class ActivitySeineUIHandler extends ContentOpenableUIHandler<ActivitySei addMessage(ui, NuitonValidatorScope.INFO, getEntityLabel(ActivitySeineDto.class), - t("observe.activitySeine.message.creating")); + t("observe.storage.activitySeine.message.creating")); } else { addMessage(ui, NuitonValidatorScope.INFO, getEntityLabel(ActivitySeineDto.class), - t("observe.activitySeine.message.updating")); + t("observe.storage.activitySeine.message.updating")); } super.startEditUI(ActivitySeineUI.BINDING_TIME_TIME, diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUI.jaxx index f7cca18..8530c86 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUI.jaxx @@ -20,7 +20,7 @@ #L% --> -<fr.ird.observe.ui.content.open.ContentOpenableUI superGenericType='RouteDto' contentTitle='{n("observe.route.title")}'> +<fr.ird.observe.ui.content.open.ContentOpenableUI superGenericType='RouteDto' contentTitle='{n("observe.content.route.title")}'> <import> fr.ird.observe.services.dto.seine.RouteDto diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUI.jcss index aef4939..670e8a8 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUI.jcss @@ -73,7 +73,7 @@ NumberEditor { } #reopen { - _toolTipText:{t("observe.action.reopen.route.tip")}; + _toolTipText:{t("observe.content.action.reopen.route.tip")}; } #close { @@ -83,8 +83,8 @@ NumberEditor { #closeAndCreate { enabled:{!model.isModified() && (model.isHistoricalData() || model.isValid()) && !dataContext.isOpenActivity()}; - _text:{t("observe.action.closeAndCreate.route")}; - _toolTipText:{t("observe.action.closeAndCreate.route.tip")}; + _text:{t("observe.content.action.closeAndCreate.route")}; + _toolTipText:{t("observe.content.action.closeAndCreate.route.tip")}; } #delete { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java index 8a6fa6b..3eab942 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java @@ -64,7 +64,7 @@ public class RouteUIHandler extends ContentOpenableUIHandler<RouteDto> { super(ui, DataContextType.TripSeine, DataContextType.Route, - n("observe.route.message.not.open")); + n("observe.content.route.message.not.open")); } @Override @@ -97,7 +97,7 @@ public class RouteUIHandler extends ContentOpenableUIHandler<RouteDto> { addMessage(ui, NuitonValidatorScope.INFO, getEntityLabel(TripSeineDto.class), - t("observe.tripSeine.message.not.open")); + t("observe.content.tripSeine.message.not.open")); } else { @@ -169,12 +169,12 @@ public class RouteUIHandler extends ContentOpenableUIHandler<RouteDto> { addMessage(ui, NuitonValidatorScope.INFO, getEntityLabel(RouteDto.class), - t("observe.route.message.creating")); + t("observe.content.route.message.creating")); } else { addMessage(ui, NuitonValidatorScope.INFO, getEntityLabel(RouteDto.class), - t("observe.route.message.updating")); + t("observe.content.route.message.updating")); if (getModel().isHistoricalData()) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUI.jaxx index 07ac37c..8491ce1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUI.jaxx @@ -21,7 +21,7 @@ --> <fr.ird.observe.ui.content.open.ContentOpenableUI superGenericType='TripSeineDto' - contentTitle='{n("observe.tripSeine.title")}'> + contentTitle='{n("observe.content.tripSeine.title")}'> <import> fr.ird.observe.services.dto.seine.TripSeineDto diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUI.jcss index 960ce0d..0262bdf 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUI.jcss @@ -31,11 +31,11 @@ NumberEditor { } #generalTab { - title: {t("observe.tripSeine.tab.general")}; + title: {t("observe.content.tripSeine.tab.general")}; } #mapTab { - title: {t("observe.tripSeine.tab.map")}; + title: {t("observe.content.tripSeine.tab.map")}; } #model { @@ -122,7 +122,7 @@ NumberEditor { } #resetErsId{ - toolTipText:"observe.action.reset.ersId.tip"; + toolTipText:"observe.content.action.reset.ersId.tip"; _resetPropertyName:{TripSeineDto.PROPERTY_ERS_ID}; } @@ -158,7 +158,7 @@ NumberEditor { #resetFormsUrl { _resetPropertyName:{TripSeineDto.PROPERTY_FORMS_URL}; - toolTipText:"observe.action.reset.formsUrl.tip"; + toolTipText:"observe.content.action.reset.formsUrl.tip"; } #formsUrl { @@ -170,7 +170,7 @@ NumberEditor { actionIcon:"openLink"; opaque:false; enabled:{!isEmpty(bean.getFormsUrl())}; - toolTipText:"observe.action.openLink.formsUrl.tip"; + toolTipText:"observe.content.action.openLink.formsUrl.tip"; _notBlocking:true; } @@ -181,7 +181,7 @@ NumberEditor { #resetReportsUrl { _resetPropertyName:{TripSeineDto.PROPERTY_REPORTS_URL}; - toolTipText:"observe.action.reset.reportsUrl.tip"; + toolTipText:"observe.content.action.reset.reportsUrl.tip"; } #reportsUrl { @@ -193,7 +193,7 @@ NumberEditor { actionIcon:"openLink"; opaque:false; enabled:{!isEmpty(bean.getReportsUrl())}; - toolTipText:"observe.action.openLink.reportsUrl.tip"; + toolTipText:"observe.content.action.openLink.reportsUrl.tip"; _notBlocking:true; } @@ -207,7 +207,7 @@ NumberEditor { } #reopen { - _toolTipText:{t("observe.action.reopen.maree.tip")}; + _toolTipText:{t("observe.content.action.reopen.maree.tip")}; } #close { @@ -217,8 +217,8 @@ NumberEditor { #closeAndCreate { enabled:{!model.isModified() && (model.isHistoricalData() || model.isValid()) && !dataContext.isOpenRoute()}; - _text:{t("observe.action.closeAndCreate.maree")}; - _toolTipText:{t("observe.action.closeAndCreate.maree.tip")}; + _text:{t("observe.content.action.closeAndCreate.maree")}; + _toolTipText:{t("observe.content.action.closeAndCreate.maree.tip")}; } #delete { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java index 0c2ed16..8f55cbf 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java @@ -68,7 +68,7 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { super(ui, DataContextType.Program, DataContextType.TripSeine, - n("observe.tripSeine.message.not.open")); + n("observe.content.tripSeine.message.not.open")); } @@ -191,9 +191,9 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { if (create) { - addInfoMessage(t("observe.tripSeine.message.creating")); + addInfoMessage(t("observe.content.tripSeine.message.creating")); } else { - addInfoMessage(t("observe.tripSeine.message.updating")); + addInfoMessage(t("observe.content.tripSeine.message.updating")); if (model.isHistoricalData()) { addInfoMessage(t("observe.message.historical.data")); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/CountryUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/CountryUI.jaxx index ad28d5f..9b6d63c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/CountryUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/CountryUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='CountryDto' - contentTitle='{n("observe.title.content.country")}' - listText='{n("observe.list.country")}' - createToolTip='{n("observe.action.country.create.tip")}' - detailToolTip='{n("observe.action.country.detail.tip")}' - modifyToolTip='{n("observe.action.country.modify.tip")}' - deleteToolTip='{n("observe.action.country.delete.tip")}' - saveToolTip='{n("observe.action.country.save.tip")}' + contentTitle='{n("observe.content.title.country")}' + listText='{n("observe.content.list.country")}' + createToolTip='{n("observe.content.action.country.create.tip")}' + detailToolTip='{n("observe.content.action.country.detail.tip")}' + modifyToolTip='{n("observe.content.action.country.modify.tip")}' + deleteToolTip='{n("observe.content.action.country.delete.tip")}' + saveToolTip='{n("observe.content.action.country.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/FpaZoneUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/FpaZoneUI.jaxx index b9ce0b6..7958675 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/FpaZoneUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/FpaZoneUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='FpaZoneDto' - contentTitle='{n("observe.title.content.fpaZones")}' - listText='{n("observe.list.fpaZone")}' - createToolTip='{n("observe.action.fpaZone.create.tip")}' - detailToolTip='{n("observe.action.fpaZone.detail.tip")}' - modifyToolTip='{n("observe.action.fpaZone.modify.tip")}' - deleteToolTip='{n("observe.action.fpaZone.delete.tip")}' - saveToolTip='{n("observe.action.fpaZone.save.tip")}' + contentTitle='{n("observe.content.title.fpaZones")}' + listText='{n("observe.content.list.fpaZone")}' + createToolTip='{n("observe.content.action.fpaZone.create.tip")}' + detailToolTip='{n("observe.content.action.fpaZone.detail.tip")}' + modifyToolTip='{n("observe.content.action.fpaZone.modify.tip")}' + deleteToolTip='{n("observe.content.action.fpaZone.delete.tip")}' + saveToolTip='{n("observe.content.action.fpaZone.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearCaracteristicTypeUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearCaracteristicTypeUI.jaxx index 6c0dbd6..4acd90a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearCaracteristicTypeUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearCaracteristicTypeUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='GearCaracteristicTypeDto' - contentTitle='{n("observe.title.content.gearCaracteristicTypes")}' - listText='{n("observe.list.gearCaracteristicType")}' - createToolTip='{n("observe.action.gearCaracteristicType.create.tip")}' - detailToolTip='{n("observe.action.gearCaracteristicType.detail.tip")}' - modifyToolTip='{n("observe.action.gearCaracteristicType.modify.tip")}' - deleteToolTip='{n("observe.action.gearCaracteristicType.delete.tip")}' - saveToolTip='{n("observe.action.gearCaracteristicType.save.tip")}'> + contentTitle='{n("observe.content.title.gearCaracteristicTypes")}' + listText='{n("observe.content.list.gearCaracteristicType")}' + createToolTip='{n("observe.content.action.gearCaracteristicType.create.tip")}' + detailToolTip='{n("observe.content.action.gearCaracteristicType.detail.tip")}' + modifyToolTip='{n("observe.content.action.gearCaracteristicType.modify.tip")}' + deleteToolTip='{n("observe.content.action.gearCaracteristicType.delete.tip")}' + saveToolTip='{n("observe.content.action.gearCaracteristicType.save.tip")}'> <style source="ReferenceEntity.jcss"/> <style source="I18nReferenceEntity.jcss"/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearCaracteristicUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearCaracteristicUI.jaxx index e566370..5d3796b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearCaracteristicUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearCaracteristicUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='GearCaracteristicDto' - contentTitle='{n("observe.title.content.gearCaracteristics")}' - listText='{n("observe.list.gearCaracteristic")}' - createToolTip='{n("observe.action.gearCaracteristic.create.tip")}' - detailToolTip='{n("observe.action.gearCaracteristic.detail.tip")}' - modifyToolTip='{n("observe.action.gearCaracteristic.modify.tip")}' - deleteToolTip='{n("observe.action.gearCaracteristic.delete.tip")}' - saveToolTip='{n("observe.action.gearCaracteristic.save.tip")}'> + contentTitle='{n("observe.content.title.gearCaracteristics")}' + listText='{n("observe.content.list.gearCaracteristic")}' + createToolTip='{n("observe.content.action.gearCaracteristic.create.tip")}' + detailToolTip='{n("observe.content.action.gearCaracteristic.detail.tip")}' + modifyToolTip='{n("observe.content.action.gearCaracteristic.modify.tip")}' + deleteToolTip='{n("observe.content.action.gearCaracteristic.delete.tip")}' + saveToolTip='{n("observe.content.action.gearCaracteristic.save.tip")}'> <style source="ReferenceEntity.jcss"/> <style source="I18nReferenceEntity.jcss"/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearCaracteristicUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearCaracteristicUI.jcss index 8334373..ba1e4a8 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearCaracteristicUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearCaracteristicUI.jcss @@ -21,7 +21,7 @@ */ #gearCaracteristicTypeLabel { - text:"observe.gear.gearCaracteristicType"; + text:"observe.content.gear.gearCaracteristicType"; labelFor:{gearCaracteristicType}; } @@ -31,7 +31,7 @@ } #unitLabel { - text:"observe.gear.unit"; + text:"observe.content.gear.unit"; labelFor:{unit}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.jaxx index 0b457cc..53cc049 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='GearDto' - contentTitle='{n("observe.title.content.gears")}' - listText='{n("observe.list.gear")}' - createToolTip='{n("observe.action.gear.create.tip")}' - detailToolTip='{n("observe.action.gear.detail.tip")}' - modifyToolTip='{n("observe.action.gear.modify.tip")}' - deleteToolTip='{n("observe.action.gear.delete.tip")}' - saveToolTip='{n("observe.action.gear.save.tip")}'> + contentTitle='{n("observe.content.title.gears")}' + listText='{n("observe.content.list.gear")}' + createToolTip='{n("observe.content.action.gear.create.tip")}' + detailToolTip='{n("observe.content.action.gear.detail.tip")}' + modifyToolTip='{n("observe.content.action.gear.modify.tip")}' + deleteToolTip='{n("observe.content.action.gear.delete.tip")}' + saveToolTip='{n("observe.content.action.gear.save.tip")}'> <style source="ReferenceEntity.jcss"/> <style source="I18nReferenceEntity.jcss"/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.jcss index e729043..f33ae6e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.jcss @@ -21,12 +21,12 @@ */ #generalTab { - title:{t("observe.gear.tab.general")}; + title:{t("observe.content.gear.tab.general")}; icon:{getHandler().getErrorIconIfFalse(model.isGeneralTabValid())}; } #gearCaracteristicTab { - title:{t("observe.gear.tab.gearCaracteristic")}; + title:{t("observe.content.gear.tab.gearCaracteristic")}; icon:{getHandler().getErrorIconIfFalse(model.isGearCaracteristicTabValid())}; } @@ -42,7 +42,7 @@ #gearCaracteristic { property:{GearDto.PROPERTY_GEAR_CARACTERISTIC}; selected:{(Collection)bean.getGearCaracteristic()}; - _validatorLabel: {t("observe.gear.gearCaracteristic")}; - universeLabel:{t("observe.gear.availableGearCaracteristic")}; - selectedLabel:{t("observe.gear.selectedGearCaracteristic")}; + _validatorLabel: {t("observe.content.gear.gearCaracteristic")}; + universeLabel:{t("observe.content.gear.availableGearCaracteristic")}; + selectedLabel:{t("observe.content.gear.selectedGearCaracteristic")}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/HarbourUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/HarbourUI.jaxx index 416fb68..83a4e5a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/HarbourUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/HarbourUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='HarbourDto' - contentTitle='{n("observe.title.content.harbours")}' - listText='{n("observe.list.harbour")}' - createToolTip='{n("observe.action.harbour.create.tip")}' - detailToolTip='{n("observe.action.harbour.detail.tip")}' - modifyToolTip='{n("observe.action.harbour.modify.tip")}' - deleteToolTip='{n("observe.action.harbour.delete.tip")}' - saveToolTip='{n("observe.action.harbour.save.tip")}' + contentTitle='{n("observe.content.title.harbours")}' + listText='{n("observe.content.list.harbour")}' + createToolTip='{n("observe.content.action.harbour.create.tip")}' + detailToolTip='{n("observe.content.action.harbour.detail.tip")}' + modifyToolTip='{n("observe.content.action.harbour.modify.tip")}' + deleteToolTip='{n("observe.content.action.harbour.delete.tip")}' + saveToolTip='{n("observe.content.action.harbour.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/HarbourUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/HarbourUI.jcss index 6910330..4e807c1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/HarbourUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/HarbourUI.jcss @@ -30,7 +30,7 @@ } #harbourNameLabel { - text:"observe.harbour.name"; + text:"observe.content.harbour.name"; labelFor:{harbourName}; } @@ -39,7 +39,7 @@ } #locodeLabel { - text:"observe.harbour.locode"; + text:"observe.content.harbour.locode"; labelFor:{locode}; } @@ -48,7 +48,7 @@ } #coordinatesLabel { - text:"observe.harbour.coordinates"; + text:"observe.content.harbour.coordinates"; labelFor:{coordinates}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUI.jaxx index 06cb31e..7dc59b9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='LengthWeightParameterDto' - contentTitle='{n("observe.title.content.lengthWeightParameters")}' - listText='{n("observe.list.lengthWeightParameter")}' - createToolTip='{n("observe.action.lengthWeightParameter.create.tip")}' - detailToolTip='{n("observe.action.lengthWeightParameter.detail.tip")}' - modifyToolTip='{n("observe.action.lengthWeightParameter.modify.tip")}' - deleteToolTip='{n("observe.action.lengthWeightParameter.delete.tip")}' - saveToolTip='{n("observe.action.lengthWeightParameter.save.tip")}' + contentTitle='{n("observe.content.title.lengthWeightParameters")}' + listText='{n("observe.content.list.lengthWeightParameter")}' + createToolTip='{n("observe.content.action.lengthWeightParameter.create.tip")}' + detailToolTip='{n("observe.content.action.lengthWeightParameter.detail.tip")}' + modifyToolTip='{n("observe.content.action.lengthWeightParameter.modify.tip")}' + deleteToolTip='{n("observe.content.action.lengthWeightParameter.delete.tip")}' + saveToolTip='{n("observe.content.action.lengthWeightParameter.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUI.jcss index ba07a24..f7b2307 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUI.jcss @@ -21,12 +21,12 @@ */ #generalTab { - title:{t("observe.lengthWeightParameter.tab.general")}; + title:{t("observe.content.lengthWeightParameter.tab.general")}; icon:{getHandler().getErrorIconIfFalse(model.isGeneralTabValid())}; } #otherTab { - title:{t("observe.lengthWeightParameter.tab.other")}; + title:{t("observe.content.lengthWeightParameter.tab.other")}; icon:{getHandler().getErrorIconIfFalse(model.isOtherTabValid())}; } @@ -85,7 +85,7 @@ #lengthWeightFormulaInformation { font-size:11; - text:"observe.label.lengthWeightFormula.info"; + text:"observe.content.label.lengthWeightFormula.info"; actionIcon:"information"; } @@ -100,7 +100,7 @@ #weightLengthFormulaInformation { font-size:11; - text:"observe.label.weightLengthFormula.info"; + text:"observe.content.label.weightLengthFormula.info"; actionIcon:"information"; } #weightLengthFormulaLabel { @@ -114,7 +114,7 @@ #coefficientsInformation { font-size:11; - text:"observe.label.coefficients.info"; + text:"observe.content.label.coefficients.info"; actionIcon:"information"; } #coefficientsLabel { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/OceanUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/OceanUI.jaxx index cf52447..6868726 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/OceanUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/OceanUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='OceanDto' - contentTitle='{n("observe.title.content.oceans")}' - listText='{n("observe.list.ocean")}' - createToolTip='{n("observe.action.ocean.create.tip")}' - detailToolTip='{n("observe.action.ocean.detail.tip")}' - modifyToolTip='{n("observe.action.ocean.modify.tip")}' - deleteToolTip='{n("observe.action.ocean.delete.tip")}' - saveToolTip='{n("observe.action.ocean.save.tip")}' + contentTitle='{n("observe.content.title.oceans")}' + listText='{n("observe.content.list.ocean")}' + createToolTip='{n("observe.content.action.ocean.create.tip")}' + detailToolTip='{n("observe.content.action.ocean.detail.tip")}' + modifyToolTip='{n("observe.content.action.ocean.modify.tip")}' + deleteToolTip='{n("observe.content.action.ocean.delete.tip")}' + saveToolTip='{n("observe.content.action.ocean.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/OrganismUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/OrganismUI.jaxx index a0eab6c..6ca3044 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/OrganismUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/OrganismUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='OrganismDto' - contentTitle='{n("observe.title.content.organisms")}' - listText='{n("observe.list.organism")}' - createToolTip='{n("observe.action.organism.create.tip")}' - detailToolTip='{n("observe.action.organism.detail.tip")}' - modifyToolTip='{n("observe.action.organism.modify.tip")}' - deleteToolTip='{n("observe.action.organism.delete.tip")}' - saveToolTip='{n("observe.action.organism.save.tip")}' + contentTitle='{n("observe.content.title.organisms")}' + listText='{n("observe.content.list.organism")}' + createToolTip='{n("observe.content.action.organism.create.tip")}' + detailToolTip='{n("observe.content.action.organism.detail.tip")}' + modifyToolTip='{n("observe.content.action.organism.modify.tip")}' + deleteToolTip='{n("observe.content.action.organism.delete.tip")}' + saveToolTip='{n("observe.content.action.organism.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/PersonUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/PersonUI.jaxx index 8fb911b..126d010 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/PersonUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/PersonUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='PersonDto' - contentTitle='{n("observe.title.content.persons")}' - listText='{n("observe.list.person")}' - createToolTip='{n("observe.action.person.create.tip")}' - detailToolTip='{n("observe.action.person.detail.tip")}' - modifyToolTip='{n("observe.action.person.modify.tip")}' - deleteToolTip='{n("observe.action.person.delete.tip")}' - saveToolTip='{n("observe.action.person.save.tip")}' + contentTitle='{n("observe.content.title.persons")}' + listText='{n("observe.content.list.person")}' + createToolTip='{n("observe.content.action.person.create.tip")}' + detailToolTip='{n("observe.content.action.person.detail.tip")}' + modifyToolTip='{n("observe.content.action.person.modify.tip")}' + deleteToolTip='{n("observe.content.action.person.delete.tip")}' + saveToolTip='{n("observe.content.action.person.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/PersonUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/PersonUI.jcss index 790a2d2..71fefa7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/PersonUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/PersonUI.jcss @@ -63,7 +63,7 @@ } #countryLabel { - text:"observe.person.country"; + text:"observe.content.person.country"; labelFor:{country}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUI.jaxx index 3710466..73a8eea 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='ProgramDto' - contentTitle='{n("observe.title.content.programs")}' - listText='{n("observe.list.program")}' - createToolTip='{n("observe.action.program.create.tip")}' - detailToolTip='{n("observe.action.program.detail.tip")}' - modifyToolTip='{n("observe.action.program.modify.tip")}' - deleteToolTip='{n("observe.action.program.delete.tip")}' - saveToolTip='{n("observe.action.program.save.tip")}' + contentTitle='{n("observe.content.title.programs")}' + listText='{n("observe.content.list.program")}' + createToolTip='{n("observe.content.action.program.create.tip")}' + detailToolTip='{n("observe.content.action.program.detail.tip")}' + modifyToolTip='{n("observe.content.action.program.modify.tip")}' + deleteToolTip='{n("observe.content.action.program.delete.tip")}' + saveToolTip='{n("observe.content.action.program.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUI.jcss index d3337cf..2facc2a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUI.jcss @@ -21,12 +21,12 @@ */ #generalTab { - title:{t("observe.program.tab.general")}; + title:{t("observe.content.program.tab.general")}; icon:{getHandler().getErrorIconIfFalse(model.isGeneralTabValid())}; } #observationsTab { - title:{t("observe.program.tab.observations")}; + title:{t("observe.content.program.tab.observations")}; icon:{getHandler().getErrorIconIfFalse(model.isObservationsTabValid())}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SexUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SexUI.jaxx index f727f73..b785b57 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SexUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SexUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='SexDto' - contentTitle='{n("observe.title.content.sexx")}' - listText='{n("observe.list.sex")}' - createToolTip='{n("observe.action.sex.create.tip")}' - detailToolTip='{n("observe.action.sex.detail.tip")}' - modifyToolTip='{n("observe.action.sex.modify.tip")}' - deleteToolTip='{n("observe.action.sex.delete.tip")}' - saveToolTip='{n("observe.action.sex.save.tip")}' + contentTitle='{n("observe.content.title.sexx")}' + listText='{n("observe.content.list.sex")}' + createToolTip='{n("observe.content.action.sex.create.tip")}' + detailToolTip='{n("observe.content.action.sex.detail.tip")}' + modifyToolTip='{n("observe.content.action.sex.modify.tip")}' + deleteToolTip='{n("observe.content.action.sex.delete.tip")}' + saveToolTip='{n("observe.content.action.sex.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesGroupUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesGroupUI.jaxx index b0ad224..b5dbf5c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesGroupUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesGroupUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='SpeciesGroupDto' - contentTitle='{n("observe.title.content.speciesGroupSpeciess")}' - listText='{n("observe.list.speciesGroupSpecies")}' - createToolTip='{n("observe.action.speciesGroupSpecies.create.tip")}' - detailToolTip='{n("observe.action.speciesGroupSpecies.detail.tip")}' - modifyToolTip='{n("observe.action.speciesGroupSpecies.modify.tip")}' - deleteToolTip='{n("observe.action.speciesGroupSpecies.delete.tip")}' - saveToolTip='{n("observe.action.speciesGroupSpecies.save.tip")}' + contentTitle='{n("observe.content.title.speciesGroupSpeciess")}' + listText='{n("observe.content.list.speciesGroupSpecies")}' + createToolTip='{n("observe.content.action.speciesGroupSpecies.create.tip")}' + detailToolTip='{n("observe.content.action.speciesGroupSpecies.detail.tip")}' + modifyToolTip='{n("observe.content.action.speciesGroupSpecies.modify.tip")}' + deleteToolTip='{n("observe.content.action.speciesGroupSpecies.delete.tip")}' + saveToolTip='{n("observe.content.action.speciesGroupSpecies.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.jaxx index 93f9c50..2928ff5 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='SpeciesListDto' - contentTitle='{n("observe.title.content.speciesLists")}' - listText='{n("observe.list.speciesList")}' - createToolTip='{n("observe.action.speciesList.create.tip")}' - detailToolTip='{n("observe.action.speciesList.detail.tip")}' - modifyToolTip='{n("observe.action.speciesList.modify.tip")}' - deleteToolTip='{n("observe.action.speciesList.delete.tip")}' - saveToolTip='{n("observe.action.species.save.tip")}' + contentTitle='{n("observe.content.title.speciesLists")}' + listText='{n("observe.content.list.speciesList")}' + createToolTip='{n("observe.content.action.speciesList.create.tip")}' + detailToolTip='{n("observe.content.action.speciesList.detail.tip")}' + modifyToolTip='{n("observe.content.action.speciesList.modify.tip")}' + deleteToolTip='{n("observe.content.action.speciesList.delete.tip")}' + saveToolTip='{n("observe.content.action.species.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.jcss index c2bb915..326c992 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.jcss @@ -21,12 +21,12 @@ */ #generalTab { - title:{t("observe.speciesList.tab.general")}; + title:{t("observe.content.speciesList.tab.general")}; icon:{getHandler().getErrorIconIfFalse(model.isGeneralTabValid())}; } #speciesTab { - title:{t("observe.speciesList.tab.species")}; + title:{t("observe.content.speciesList.tab.species")}; icon:{getHandler().getErrorIconIfFalse(model.isSpeciesTabValid())}; } @@ -43,6 +43,6 @@ property: {SpeciesListDto.PROPERTY_SPECIES}; selected:{(Collection)bean.getSpecies()}; _validatorLabel: {t("observe.common.species")}; - universeLabel:{t("observe.speciesList.availableSpecies")}; - selectedLabel:{t("observe.speciesList.selectedSpecies")}; + universeLabel:{t("observe.content.speciesList.availableSpecies")}; + selectedLabel:{t("observe.content.speciesList.selectedSpecies")}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.jaxx index 5790c25..93816be 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='SpeciesDto' - contentTitle='{n("observe.title.content.speciess")}' - listText='{n("observe.list.speciesFaune")}' - createToolTip='{n("observe.action.species.create.tip")}' - detailToolTip='{n("observe.action.species.detail.tip")}' - modifyToolTip='{n("observe.action.species.modify.tip")}' - deleteToolTip='{n("observe.action.species.delete.tip")}' - saveToolTip='{n("observe.action.species.save.tip")}' + contentTitle='{n("observe.content.title.speciess")}' + listText='{n("observe.content.list.speciesFaune")}' + createToolTip='{n("observe.content.action.species.create.tip")}' + detailToolTip='{n("observe.content.action.species.detail.tip")}' + modifyToolTip='{n("observe.content.action.species.modify.tip")}' + deleteToolTip='{n("observe.content.action.species.delete.tip")}' + saveToolTip='{n("observe.content.action.species.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.jcss index 207f9c8..ee9ed1a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.jcss @@ -21,12 +21,12 @@ */ #generalTab { - title:{t("observe.species.tab.general")}; + title:{t("observe.content.species.tab.general")}; icon:{getHandler().getErrorIconIfFalse(model.isGeneralTabValid())}; } #otherTab { - title:{t("observe.species.tab.other")}; + title:{t("observe.content.species.tab.other")}; icon:{getHandler().getErrorIconIfFalse(model.isOtherTabValid())}; } @@ -75,8 +75,8 @@ property: {SpeciesDto.PROPERTY_OCEAN}; selected:{(Collection)bean.getOcean()}; _validatorLabel: {t("observe.common.ocean")}; - universeLabel:{t("observe.species.availableOcean")}; - selectedLabel:{t("observe.species.selectedOcean")}; + universeLabel:{t("observe.content.species.availableOcean")}; + selectedLabel:{t("observe.content.species.selectedOcean")}; } #speciesGroupLabel { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselSizeCategoryUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselSizeCategoryUI.jaxx index d621e11..c155d65 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselSizeCategoryUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselSizeCategoryUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='VesselSizeCategoryDto' - contentTitle='{n("observe.title.content.vesselSizeCategoryx")}' - listText='{n("observe.list.vesselSizeCategory")}' - createToolTip='{n("observe.action.vesselSizeCategory.create.tip")}' - detailToolTip='{n("observe.action.vesselSizeCategory.detail.tip")}' - modifyToolTip='{n("observe.action.vesselSizeCategory.modify.tip")}' - deleteToolTip='{n("observe.action.vesselSizeCategory.delete.tip")}' - saveToolTip='{n("observe.action.vesselSizeCategory.save.tip")}' + contentTitle='{n("observe.content.title.vesselSizeCategoryx")}' + listText='{n("observe.content.list.vesselSizeCategory")}' + createToolTip='{n("observe.content.action.vesselSizeCategory.create.tip")}' + detailToolTip='{n("observe.content.action.vesselSizeCategory.detail.tip")}' + modifyToolTip='{n("observe.content.action.vesselSizeCategory.modify.tip")}' + deleteToolTip='{n("observe.content.action.vesselSizeCategory.delete.tip")}' + saveToolTip='{n("observe.content.action.vesselSizeCategory.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselTypeUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselTypeUI.jaxx index 3960447..562d7ae 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselTypeUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselTypeUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='VesselTypeDto' - contentTitle='{n("observe.title.content.vesselTypex")}' - listText='{n("observe.list.vesselType")}' - createToolTip='{n("observe.action.vesselType.create.tip")}' - detailToolTip='{n("observe.action.vesselType.detail.tip")}' - modifyToolTip='{n("observe.action.vesselType.modify.tip")}' - deleteToolTip='{n("observe.action.vesselType.delete.tip")}' - saveToolTip='{n("observe.action.vesselType.save.tip")}' + contentTitle='{n("observe.content.title.vesselTypex")}' + listText='{n("observe.content.list.vesselType")}' + createToolTip='{n("observe.content.action.vesselType.create.tip")}' + detailToolTip='{n("observe.content.action.vesselType.detail.tip")}' + modifyToolTip='{n("observe.content.action.vesselType.modify.tip")}' + deleteToolTip='{n("observe.content.action.vesselType.delete.tip")}' + saveToolTip='{n("observe.content.action.vesselType.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUI.jaxx index 585a8fa..892ac68 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='VesselDto' - contentTitle='{n("observe.title.content.vesselx")}' - listText='{n("observe.list.vessel")}' - createToolTip='{n("observe.action.vessel.create.tip")}' - detailToolTip='{n("observe.action.vessel.detail.tip")}' - modifyToolTip='{n("observe.action.vessel.modify.tip")}' - deleteToolTip='{n("observe.action.vessel.delete.tip")}' - saveToolTip='{n("observe.action.vessel.save.tip")}' + contentTitle='{n("observe.content.title.vesselx")}' + listText='{n("observe.content.list.vessel")}' + createToolTip='{n("observe.content.action.vessel.create.tip")}' + detailToolTip='{n("observe.content.action.vessel.detail.tip")}' + modifyToolTip='{n("observe.content.action.vessel.modify.tip")}' + deleteToolTip='{n("observe.content.action.vessel.delete.tip")}' + saveToolTip='{n("observe.content.action.vessel.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUI.jcss index 8201536..2299b2a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUI.jcss @@ -21,12 +21,12 @@ */ #generalTab { - title:{t("observe.vessel.tab.general")}; + title:{t("observe.content.vessel.tab.general")}; icon:{getHandler().getErrorIconIfFalse(model.isGeneralTabValid())}; } #otherTab { - title:{t("observe.vessel.tab.other")}; + title:{t("observe.content.vessel.tab.other")}; icon:{getHandler().getErrorIconIfFalse(model.isOtherTabValid())}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/BaitHaulingStatusUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/BaitHaulingStatusUI.jaxx index 3b440a5..4b0a98e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/BaitHaulingStatusUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/BaitHaulingStatusUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='BaitHaulingStatusDto' - contentTitle='{n("observe.title.content.baitHaulingStatuss")}' - listText='{n("observe.list.baitHaulingStatus")}' - createToolTip='{n("observe.action.baitHaulingStatus.create.tip")}' - detailToolTip='{n("observe.action.baitHaulingStatus.detail.tip")}' - modifyToolTip='{n("observe.action.baitHaulingStatus.modify.tip")}' - deleteToolTip='{n("observe.action.baitHaulingStatus.delete.tip")}' - saveToolTip='{n("observe.action.baitHaulingStatus.save.tip")}' + contentTitle='{n("observe.content.title.baitHaulingStatuss")}' + listText='{n("observe.content.list.baitHaulingStatus")}' + createToolTip='{n("observe.content.action.baitHaulingStatus.create.tip")}' + detailToolTip='{n("observe.content.action.baitHaulingStatus.detail.tip")}' + modifyToolTip='{n("observe.content.action.baitHaulingStatus.modify.tip")}' + deleteToolTip='{n("observe.content.action.baitHaulingStatus.delete.tip")}' + saveToolTip='{n("observe.content.action.baitHaulingStatus.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/BaitSettingStatusUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/BaitSettingStatusUI.jaxx index befc94d..cd260bd 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/BaitSettingStatusUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/BaitSettingStatusUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='BaitSettingStatusDto' - contentTitle='{n("observe.title.content.baitSettingStatuss")}' - listText='{n("observe.list.baitSettingStatus")}' - createToolTip='{n("observe.action.baitSettingStatus.create.tip")}' - detailToolTip='{n("observe.action.baitSettingStatus.detail.tip")}' - modifyToolTip='{n("observe.action.baitSettingStatus.modify.tip")}' - deleteToolTip='{n("observe.action.baitSettingStatus.delete.tip")}' - saveToolTip='{n("observe.action.baitSettingStatus.save.tip")}' + contentTitle='{n("observe.content.title.baitSettingStatuss")}' + listText='{n("observe.content.list.baitSettingStatus")}' + createToolTip='{n("observe.content.action.baitSettingStatus.create.tip")}' + detailToolTip='{n("observe.content.action.baitSettingStatus.detail.tip")}' + modifyToolTip='{n("observe.content.action.baitSettingStatus.modify.tip")}' + deleteToolTip='{n("observe.content.action.baitSettingStatus.delete.tip")}' + saveToolTip='{n("observe.content.action.baitSettingStatus.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/BaitTypeUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/BaitTypeUI.jaxx index 9f234b3..8ee79c5 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/BaitTypeUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/BaitTypeUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='BaitTypeDto' - contentTitle='{n("observe.title.content.baitTypes")}' - listText='{n("observe.list.baitType")}' - createToolTip='{n("observe.action.baitType.create.tip")}' - detailToolTip='{n("observe.action.baitType.detail.tip")}' - modifyToolTip='{n("observe.action.baitType.modify.tip")}' - deleteToolTip='{n("observe.action.baitType.delete.tip")}' - saveToolTip='{n("observe.action.baitType.save.tip")}' + contentTitle='{n("observe.content.title.baitTypes")}' + listText='{n("observe.content.list.baitType")}' + createToolTip='{n("observe.content.action.baitType.create.tip")}' + detailToolTip='{n("observe.content.action.baitType.detail.tip")}' + modifyToolTip='{n("observe.content.action.baitType.modify.tip")}' + deleteToolTip='{n("observe.content.action.baitType.delete.tip")}' + saveToolTip='{n("observe.content.action.baitType.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/CatchFateLonglineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/CatchFateLonglineUI.jaxx index 904bd1e..7378926 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/CatchFateLonglineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/CatchFateLonglineUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='CatchFateLonglineDto' - contentTitle='{n("observe.title.content.catchFateLonglines")}' - listText='{n("observe.list.catchFateLongline")}' - createToolTip='{n("observe.action.catchFateLongline.create.tip")}' - detailToolTip='{n("observe.action.catchFateLongline.detail.tip")}' - modifyToolTip='{n("observe.action.catchFateLongline.modify.tip")}' - deleteToolTip='{n("observe.action.catchFateLongline.delete.tip")}' - saveToolTip='{n("observe.action.catchFateLongline.save.tip")}' + contentTitle='{n("observe.content.title.catchFateLonglines")}' + listText='{n("observe.content.list.catchFateLongline")}' + createToolTip='{n("observe.content.action.catchFateLongline.create.tip")}' + detailToolTip='{n("observe.content.action.catchFateLongline.detail.tip")}' + modifyToolTip='{n("observe.content.action.catchFateLongline.modify.tip")}' + deleteToolTip='{n("observe.content.action.catchFateLongline.delete.tip")}' + saveToolTip='{n("observe.content.action.catchFateLongline.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/EncounterTypeUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/EncounterTypeUI.jaxx index 3d8c2a7..f4a4e3b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/EncounterTypeUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/EncounterTypeUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='EncounterTypeDto' - contentTitle='{n("observe.title.content.encounterTypes")}' - listText='{n("observe.list.encounterType")}' - createToolTip='{n("observe.action.encounterType.create.tip")}' - detailToolTip='{n("observe.action.encounterType.detail.tip")}' - modifyToolTip='{n("observe.action.encounterType.modify.tip")}' - deleteToolTip='{n("observe.action.encounterType.delete.tip")}' - saveToolTip='{n("observe.action.encounterType.save.tip")}' + contentTitle='{n("observe.content.title.encounterTypes")}' + listText='{n("observe.content.list.encounterType")}' + createToolTip='{n("observe.content.action.encounterType.create.tip")}' + detailToolTip='{n("observe.content.action.encounterType.detail.tip")}' + modifyToolTip='{n("observe.content.action.encounterType.modify.tip")}' + deleteToolTip='{n("observe.content.action.encounterType.delete.tip")}' + saveToolTip='{n("observe.content.action.encounterType.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/HealthnessUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/HealthnessUI.jaxx index 608c8c5..04facc2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/HealthnessUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/HealthnessUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='HealthnessDto' - contentTitle='{n("observe.title.content.healthnesss")}' - listText='{n("observe.list.healthness")}' - createToolTip='{n("observe.action.healthness.create.tip")}' - detailToolTip='{n("observe.action.healthness.detail.tip")}' - modifyToolTip='{n("observe.action.healthness.modify.tip")}' - deleteToolTip='{n("observe.action.healthness.delete.tip")}' - saveToolTip='{n("observe.action.healthness.save.tip")}' + contentTitle='{n("observe.content.title.healthnesss")}' + listText='{n("observe.content.list.healthness")}' + createToolTip='{n("observe.content.action.healthness.create.tip")}' + detailToolTip='{n("observe.content.action.healthness.detail.tip")}' + modifyToolTip='{n("observe.content.action.healthness.modify.tip")}' + deleteToolTip='{n("observe.content.action.healthness.delete.tip")}' + saveToolTip='{n("observe.content.action.healthness.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/HookPositionUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/HookPositionUI.jaxx index 378bd71..b4a8590 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/HookPositionUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/HookPositionUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='HookPositionDto' - contentTitle='{n("observe.title.content.hookPositions")}' - listText='{n("observe.list.hookPosition")}' - createToolTip='{n("observe.action.hookPosition.create.tip")}' - detailToolTip='{n("observe.action.hookPosition.detail.tip")}' - modifyToolTip='{n("observe.action.hookPosition.modify.tip")}' - deleteToolTip='{n("observe.action.hookPosition.delete.tip")}' - saveToolTip='{n("observe.action.hookPosition.save.tip")}' + contentTitle='{n("observe.content.title.hookPositions")}' + listText='{n("observe.content.list.hookPosition")}' + createToolTip='{n("observe.content.action.hookPosition.create.tip")}' + detailToolTip='{n("observe.content.action.hookPosition.detail.tip")}' + modifyToolTip='{n("observe.content.action.hookPosition.modify.tip")}' + deleteToolTip='{n("observe.content.action.hookPosition.delete.tip")}' + saveToolTip='{n("observe.content.action.hookPosition.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/HookSizeUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/HookSizeUI.jaxx index be1f4ef..ba5e1e7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/HookSizeUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/HookSizeUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='HookSizeDto' - contentTitle='{n("observe.title.content.HookSizes")}' - listText='{n("observe.list.HookSize")}' - createToolTip='{n("observe.action.hookSize.create.tip")}' - detailToolTip='{n("observe.action.hookSize.detail.tip")}' - modifyToolTip='{n("observe.action.hookSize.modify.tip")}' - deleteToolTip='{n("observe.action.hookSize.delete.tip")}' - saveToolTip='{n("observe.action.hookSize.save.tip")}' + contentTitle='{n("observe.content.title.HookSizes")}' + listText='{n("observe.content.list.HookSize")}' + createToolTip='{n("observe.content.action.hookSize.create.tip")}' + detailToolTip='{n("observe.content.action.hookSize.detail.tip")}' + modifyToolTip='{n("observe.content.action.hookSize.modify.tip")}' + deleteToolTip='{n("observe.content.action.hookSize.delete.tip")}' + saveToolTip='{n("observe.content.action.hookSize.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/HookTypeUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/HookTypeUI.jaxx index a8b512b..19feeb8 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/HookTypeUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/HookTypeUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='HookTypeDto' - contentTitle='{n("observe.title.content.HookTypes")}' - listText='{n("observe.list.HookType")}' - createToolTip='{n("observe.action.hookType.create.tip")}' - detailToolTip='{n("observe.action.hookType.detail.tip")}' - modifyToolTip='{n("observe.action.hookType.modify.tip")}' - deleteToolTip='{n("observe.action.hookType.delete.tip")}' - saveToolTip='{n("observe.action.hookType.save.tip")}' + contentTitle='{n("observe.content.title.HookTypes")}' + listText='{n("observe.content.list.HookType")}' + createToolTip='{n("observe.content.action.hookType.create.tip")}' + detailToolTip='{n("observe.content.action.hookType.detail.tip")}' + modifyToolTip='{n("observe.content.action.hookType.modify.tip")}' + deleteToolTip='{n("observe.content.action.hookType.delete.tip")}' + saveToolTip='{n("observe.content.action.hookType.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/ItemHorizontalPositionUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/ItemHorizontalPositionUI.jaxx index 4fa0b5d..dc96471 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/ItemHorizontalPositionUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/ItemHorizontalPositionUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='ItemHorizontalPositionDto' - contentTitle='{n("observe.title.content.itemHorizontalPositions")}' - listText='{n("observe.list.itemHorizontalPosition")}' - createToolTip='{n("observe.action.itemHorizontalPosition.create.tip")}' - detailToolTip='{n("observe.action.itemHorizontalPosition.detail.tip")}' - modifyToolTip='{n("observe.action.itemHorizontalPosition.modify.tip")}' - deleteToolTip='{n("observe.action.itemHorizontalPosition.delete.tip")}' - saveToolTip='{n("observe.action.itemHorizontalPosition.save.tip")}' + contentTitle='{n("observe.content.title.itemHorizontalPositions")}' + listText='{n("observe.content.list.itemHorizontalPosition")}' + createToolTip='{n("observe.content.action.itemHorizontalPosition.create.tip")}' + detailToolTip='{n("observe.content.action.itemHorizontalPosition.detail.tip")}' + modifyToolTip='{n("observe.content.action.itemHorizontalPosition.modify.tip")}' + deleteToolTip='{n("observe.content.action.itemHorizontalPosition.delete.tip")}' + saveToolTip='{n("observe.content.action.itemHorizontalPosition.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/ItemVerticalPositionUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/ItemVerticalPositionUI.jaxx index 4e2dfc4..c9e6e94 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/ItemVerticalPositionUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/ItemVerticalPositionUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='ItemVerticalPositionDto' - contentTitle='{n("observe.title.content.itemVerticalPositions")}' - listText='{n("observe.list.itemVerticalPosition")}' - createToolTip='{n("observe.action.itemVerticalPosition.create.tip")}' - detailToolTip='{n("observe.action.itemVerticalPosition.detail.tip")}' - modifyToolTip='{n("observe.action.itemVerticalPosition.modify.tip")}' - deleteToolTip='{n("observe.action.itemVerticalPosition.delete.tip")}' - saveToolTip='{n("observe.action.itemVerticalPosition.save.tip")}' + contentTitle='{n("observe.content.title.itemVerticalPositions")}' + listText='{n("observe.content.list.itemVerticalPosition")}' + createToolTip='{n("observe.content.action.itemVerticalPosition.create.tip")}' + detailToolTip='{n("observe.content.action.itemVerticalPosition.detail.tip")}' + modifyToolTip='{n("observe.content.action.itemVerticalPosition.modify.tip")}' + deleteToolTip='{n("observe.content.action.itemVerticalPosition.delete.tip")}' + saveToolTip='{n("observe.content.action.itemVerticalPosition.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/LightsticksColorUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/LightsticksColorUI.jaxx index 879d482..a42ab4e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/LightsticksColorUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/LightsticksColorUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='LightsticksColorDto' - contentTitle='{n("observe.title.content.lightsticksColors")}' - listText='{n("observe.list.lightsticksColor")}' - createToolTip='{n("observe.action.lightsticksColor.create.tip")}' - detailToolTip='{n("observe.action.lightsticksColor.detail.tip")}' - modifyToolTip='{n("observe.action.lightsticksColor.modify.tip")}' - deleteToolTip='{n("observe.action.lightsticksColor.delete.tip")}' - saveToolTip='{n("observe.action.lightsticksColor.save.tip")}' + contentTitle='{n("observe.content.title.lightsticksColors")}' + listText='{n("observe.content.list.lightsticksColor")}' + createToolTip='{n("observe.content.action.lightsticksColor.create.tip")}' + detailToolTip='{n("observe.content.action.lightsticksColor.detail.tip")}' + modifyToolTip='{n("observe.content.action.lightsticksColor.modify.tip")}' + deleteToolTip='{n("observe.content.action.lightsticksColor.delete.tip")}' + saveToolTip='{n("observe.content.action.lightsticksColor.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/LightsticksTypeUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/LightsticksTypeUI.jaxx index b444f09..d3cc3c1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/LightsticksTypeUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/LightsticksTypeUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='LightsticksTypeDto' - contentTitle='{n("observe.title.content.lightsticksTypes")}' - listText='{n("observe.list.lightsticksType")}' - createToolTip='{n("observe.action.lightsticksType.create.tip")}' - detailToolTip='{n("observe.action.lightsticksType.detail.tip")}' - modifyToolTip='{n("observe.action.lightsticksType.modify.tip")}' - deleteToolTip='{n("observe.action.lightsticksType.delete.tip")}' - saveToolTip='{n("observe.action.lightsticksType.save.tip")}' + contentTitle='{n("observe.content.title.lightsticksTypes")}' + listText='{n("observe.content.list.lightsticksType")}' + createToolTip='{n("observe.content.action.lightsticksType.create.tip")}' + detailToolTip='{n("observe.content.action.lightsticksType.detail.tip")}' + modifyToolTip='{n("observe.content.action.lightsticksType.modify.tip")}' + deleteToolTip='{n("observe.content.action.lightsticksType.delete.tip")}' + saveToolTip='{n("observe.content.action.lightsticksType.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/LineTypeUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/LineTypeUI.jaxx index 6947f17..817644e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/LineTypeUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/LineTypeUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='LineTypeDto' - contentTitle='{n("observe.title.content.lineTypes")}' - listText='{n("observe.list.lineType")}' - createToolTip='{n("observe.action.lineType.create.tip")}' - detailToolTip='{n("observe.action.lineType.detail.tip")}' - modifyToolTip='{n("observe.action.lineType.modify.tip")}' - deleteToolTip='{n("observe.action.lineType.delete.tip")}' - saveToolTip='{n("observe.action.lineType.save.tip")}' + contentTitle='{n("observe.content.title.lineTypes")}' + listText='{n("observe.content.list.lineType")}' + createToolTip='{n("observe.content.action.lineType.create.tip")}' + detailToolTip='{n("observe.content.action.lineType.detail.tip")}' + modifyToolTip='{n("observe.content.action.lineType.modify.tip")}' + deleteToolTip='{n("observe.content.action.lineType.delete.tip")}' + saveToolTip='{n("observe.content.action.lineType.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/MaturityStatusUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/MaturityStatusUI.jaxx index b93fa17..a2a3f2d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/MaturityStatusUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/MaturityStatusUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='MaturityStatusDto' - contentTitle='{n("observe.title.content.maturityStatuss")}' - listText='{n("observe.list.maturityStatus")}' - createToolTip='{n("observe.action.maturityStatus.create.tip")}' - detailToolTip='{n("observe.action.maturityStatus.detail.tip")}' - modifyToolTip='{n("observe.action.maturityStatus.modify.tip")}' - deleteToolTip='{n("observe.action.maturityStatus.delete.tip")}' - saveToolTip='{n("observe.action.maturityStatus.save.tip")}' + contentTitle='{n("observe.content.title.maturityStatuss")}' + listText='{n("observe.content.list.maturityStatus")}' + createToolTip='{n("observe.content.action.maturityStatus.create.tip")}' + detailToolTip='{n("observe.content.action.maturityStatus.detail.tip")}' + modifyToolTip='{n("observe.content.action.maturityStatus.modify.tip")}' + deleteToolTip='{n("observe.content.action.maturityStatus.delete.tip")}' + saveToolTip='{n("observe.content.action.maturityStatus.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/MitigationTypeUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/MitigationTypeUI.jaxx index 6bbe5a6..efc4e0f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/MitigationTypeUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/MitigationTypeUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='MitigationTypeDto' - contentTitle='{n("observe.title.content.mitigationTypes")}' - listText='{n("observe.list.mitigationType")}' - createToolTip='{n("observe.action.mitigationType.create.tip")}' - detailToolTip='{n("observe.action.mitigationType.detail.tip")}' - modifyToolTip='{n("observe.action.mitigationType.modify.tip")}' - deleteToolTip='{n("observe.action.mitigationType.delete.tip")}' - saveToolTip='{n("observe.action.mitigationType.save.tip")}' + contentTitle='{n("observe.content.title.mitigationTypes")}' + listText='{n("observe.content.list.mitigationType")}' + createToolTip='{n("observe.content.action.mitigationType.create.tip")}' + detailToolTip='{n("observe.content.action.mitigationType.detail.tip")}' + modifyToolTip='{n("observe.content.action.mitigationType.modify.tip")}' + deleteToolTip='{n("observe.content.action.mitigationType.delete.tip")}' + saveToolTip='{n("observe.content.action.mitigationType.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/SensorBrandUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/SensorBrandUI.jaxx index 4f6ad84..10ab8c2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/SensorBrandUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/SensorBrandUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='SensorBrandDto' - contentTitle='{n("observe.title.content.sensorBrands")}' - listText='{n("observe.list.sensorBrand")}' - createToolTip='{n("observe.action.sensorBrand.create.tip")}' - detailToolTip='{n("observe.action.sensorBrand.detail.tip")}' - modifyToolTip='{n("observe.action.sensorBrand.modify.tip")}' - deleteToolTip='{n("observe.action.sensorBrand.delete.tip")}' - saveToolTip='{n("observe.action.sensorBrand.save.tip")}' + contentTitle='{n("observe.content.title.sensorBrands")}' + listText='{n("observe.content.list.sensorBrand")}' + createToolTip='{n("observe.content.action.sensorBrand.create.tip")}' + detailToolTip='{n("observe.content.action.sensorBrand.detail.tip")}' + modifyToolTip='{n("observe.content.action.sensorBrand.modify.tip")}' + deleteToolTip='{n("observe.content.action.sensorBrand.delete.tip")}' + saveToolTip='{n("observe.content.action.sensorBrand.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/SensorDataFormatUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/SensorDataFormatUI.jaxx index 946bfd0..68854af 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/SensorDataFormatUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/SensorDataFormatUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='SensorDataFormatDto' - contentTitle='{n("observe.title.content.sensorDataFormats")}' - listText='{n("observe.list.sensorDataFormat")}' - createToolTip='{n("observe.action.sensorDataFormat.create.tip")}' - detailToolTip='{n("observe.action.sensorDataFormat.detail.tip")}' - modifyToolTip='{n("observe.action.sensorDataFormat.modify.tip")}' - deleteToolTip='{n("observe.action.sensorDataFormat.delete.tip")}' - saveToolTip='{n("observe.action.sensorDataFormat.save.tip")}' + contentTitle='{n("observe.content.title.sensorDataFormats")}' + listText='{n("observe.content.list.sensorDataFormat")}' + createToolTip='{n("observe.content.action.sensorDataFormat.create.tip")}' + detailToolTip='{n("observe.content.action.sensorDataFormat.detail.tip")}' + modifyToolTip='{n("observe.content.action.sensorDataFormat.modify.tip")}' + deleteToolTip='{n("observe.content.action.sensorDataFormat.delete.tip")}' + saveToolTip='{n("observe.content.action.sensorDataFormat.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/SensorTypeUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/SensorTypeUI.jaxx index 9bdc307..a2d1061 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/SensorTypeUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/SensorTypeUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='SensorTypeDto' - contentTitle='{n("observe.title.content.sensorTypes")}' - listText='{n("observe.list.sensorType")}' - createToolTip='{n("observe.action.sensorType.create.tip")}' - detailToolTip='{n("observe.action.sensorType.detail.tip")}' - modifyToolTip='{n("observe.action.sensorType.modify.tip")}' - deleteToolTip='{n("observe.action.sensorType.delete.tip")}' - saveToolTip='{n("observe.action.sensorType.save.tip")}' + contentTitle='{n("observe.content.title.sensorTypes")}' + listText='{n("observe.content.list.sensorType")}' + createToolTip='{n("observe.content.action.sensorType.create.tip")}' + detailToolTip='{n("observe.content.action.sensorType.detail.tip")}' + modifyToolTip='{n("observe.content.action.sensorType.modify.tip")}' + deleteToolTip='{n("observe.content.action.sensorType.delete.tip")}' + saveToolTip='{n("observe.content.action.sensorType.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/SettingShapeUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/SettingShapeUI.jaxx index 1379fc3..c3bce14 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/SettingShapeUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/SettingShapeUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='SettingShapeDto' - contentTitle='{n("observe.title.content.settingShapes")}' - listText='{n("observe.list.settingShape")}' - createToolTip='{n("observe.action.settingShape.create.tip")}' - detailToolTip='{n("observe.action.settingShape.detail.tip")}' - modifyToolTip='{n("observe.action.settingShape.modify.tip")}' - deleteToolTip='{n("observe.action.settingShape.delete.tip")}' - saveToolTip='{n("observe.action.settingShape.save.tip")}' + contentTitle='{n("observe.content.title.settingShapes")}' + listText='{n("observe.content.list.settingShape")}' + createToolTip='{n("observe.content.action.settingShape.create.tip")}' + detailToolTip='{n("observe.content.action.settingShape.detail.tip")}' + modifyToolTip='{n("observe.content.action.settingShape.modify.tip")}' + deleteToolTip='{n("observe.content.action.settingShape.delete.tip")}' + saveToolTip='{n("observe.content.action.settingShape.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/SizeMeasureTypeUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/SizeMeasureTypeUI.jaxx index aa782ee..bd932c9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/SizeMeasureTypeUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/SizeMeasureTypeUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='SizeMeasureTypeDto' - contentTitle='{n("observe.title.content.sizeMeasureTypes")}' - listText='{n("observe.list.sizeMeasureType")}' - createToolTip='{n("observe.action.sizeMeasureType.create.tip")}' - detailToolTip='{n("observe.action.sizeMeasureType.detail.tip")}' - modifyToolTip='{n("observe.action.sizeMeasureType.modify.tip")}' - deleteToolTip='{n("observe.action.sizeMeasureType.delete.tip")}' - saveToolTip='{n("observe.action.sizeMeasureType.save.tip")}' + contentTitle='{n("observe.content.title.sizeMeasureTypes")}' + listText='{n("observe.content.list.sizeMeasureType")}' + createToolTip='{n("observe.content.action.sizeMeasureType.create.tip")}' + detailToolTip='{n("observe.content.action.sizeMeasureType.detail.tip")}' + modifyToolTip='{n("observe.content.action.sizeMeasureType.modify.tip")}' + deleteToolTip='{n("observe.content.action.sizeMeasureType.delete.tip")}' + saveToolTip='{n("observe.content.action.sizeMeasureType.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/StomacFullnessUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/StomacFullnessUI.jaxx index 90c446b..a862e6d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/StomacFullnessUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/StomacFullnessUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='StomacFullnessDto' - contentTitle='{n("observe.title.content.stomacFullnesss")}' - listText='{n("observe.list.stomacFullness")}' - createToolTip='{n("observe.action.stomacFullness.create.tip")}' - detailToolTip='{n("observe.action.stomacFullness.detail.tip")}' - modifyToolTip='{n("observe.action.stomacFullness.modify.tip")}' - deleteToolTip='{n("observe.action.stomacFullness.delete.tip")}' - saveToolTip='{n("observe.action.stomacFullness.save.tip")}' + contentTitle='{n("observe.content.title.stomacFullnesss")}' + listText='{n("observe.content.list.stomacFullness")}' + createToolTip='{n("observe.content.action.stomacFullness.create.tip")}' + detailToolTip='{n("observe.content.action.stomacFullness.detail.tip")}' + modifyToolTip='{n("observe.content.action.stomacFullness.modify.tip")}' + deleteToolTip='{n("observe.content.action.stomacFullness.delete.tip")}' + saveToolTip='{n("observe.content.action.stomacFullness.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/TripTypeUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/TripTypeUI.jaxx index c5e092a..7642f55 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/TripTypeUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/TripTypeUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='TripTypeDto' - contentTitle='{n("observe.title.content.tripTypes")}' - listText='{n("observe.list.tripType")}' - createToolTip='{n("observe.action.tripType.create.tip")}' - detailToolTip='{n("observe.action.tripType.detail.tip")}' - modifyToolTip='{n("observe.action.tripType.modify.tip")}' - deleteToolTip='{n("observe.action.tripType.delete.tip")}' - saveToolTip='{n("observe.action.tripType.save.tip")}' + contentTitle='{n("observe.content.title.tripTypes")}' + listText='{n("observe.content.list.tripType")}' + createToolTip='{n("observe.content.action.tripType.create.tip")}' + detailToolTip='{n("observe.content.action.tripType.detail.tip")}' + modifyToolTip='{n("observe.content.action.tripType.modify.tip")}' + deleteToolTip='{n("observe.content.action.tripType.delete.tip")}' + saveToolTip='{n("observe.content.action.tripType.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/VesselActivityLonglineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/VesselActivityLonglineUI.jaxx index 29e3f61..2fec0d2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/VesselActivityLonglineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/VesselActivityLonglineUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='VesselActivityLonglineDto' - contentTitle='{n("observe.title.content.vesselActivityLonglines")}' - listText='{n("observe.list.vesselActivityLongline")}' - createToolTip='{n("observe.action.vesselActivityLongline.create.tip")}' - detailToolTip='{n("observe.action.vesselActivityLongline.detail.tip")}' - modifyToolTip='{n("observe.action.vesselActivityLongline.modify.tip")}' - deleteToolTip='{n("observe.action.vesselActivityLongline.delete.tip")}' - saveToolTip='{n("observe.action.vesselActivityLongline.save.tip")}' + contentTitle='{n("observe.content.title.vesselActivityLonglines")}' + listText='{n("observe.content.list.vesselActivityLongline")}' + createToolTip='{n("observe.content.action.vesselActivityLongline.create.tip")}' + detailToolTip='{n("observe.content.action.vesselActivityLongline.detail.tip")}' + modifyToolTip='{n("observe.content.action.vesselActivityLongline.modify.tip")}' + deleteToolTip='{n("observe.content.action.vesselActivityLongline.delete.tip")}' + saveToolTip='{n("observe.content.action.vesselActivityLongline.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/WeightMeasureTypeUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/WeightMeasureTypeUI.jaxx index c0b20b5..b912964 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/WeightMeasureTypeUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/longline/WeightMeasureTypeUI.jaxx @@ -21,13 +21,13 @@ --> <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='WeightMeasureTypeDto' - contentTitle='{n("observe.title.content.weightMeasureTypes")}' - listText='{n("observe.list.weightMeasureType")}' - createToolTip='{n("observe.action.weightMeasureType.create.tip")}' - detailToolTip='{n("observe.action.weightMeasureType.detail.tip")}' - modifyToolTip='{n("observe.action.weightMeasureType.modify.tip")}' - deleteToolTip='{n("observe.action.weightMeasureType.delete.tip")}' - saveToolTip='{n("observe.action.weightMeasureType.save.tip")}' + contentTitle='{n("observe.content.title.weightMeasureTypes")}' + listText='{n("observe.content.list.weightMeasureType")}' + createToolTip='{n("observe.content.action.weightMeasureType.create.tip")}' + detailToolTip='{n("observe.content.action.weightMeasureType.detail.tip")}' + modifyToolTip='{n("observe.content.action.weightMeasureType.modify.tip")}' + deleteToolTip='{n("observe.content.action.weightMeasureType.delete.tip")}' + saveToolTip='{n("observe.content.action.weightMeasureType.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/DetectionModeUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/DetectionModeUI.jaxx index e8dbb96..95ebe2d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/DetectionModeUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/DetectionModeUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='DetectionModeDto' - contentTitle='{n("observe.title.content.detectionModes")}' - listText='{n("observe.list.detectionMode")}' - createToolTip='{n("observe.action.detectionMode.create.tip")}' - detailToolTip='{n("observe.action.detectionMode.detail.tip")}' - modifyToolTip='{n("observe.action.detectionMode.modify.tip")}' - deleteToolTip='{n("observe.action.detectionMode.delete.tip")}' - saveToolTip='{n("observe.action.detectionMode.save.tip")}' + contentTitle='{n("observe.content.title.detectionModes")}' + listText='{n("observe.content.list.detectionMode")}' + createToolTip='{n("observe.content.action.detectionMode.create.tip")}' + detailToolTip='{n("observe.content.action.detectionMode.detail.tip")}' + modifyToolTip='{n("observe.content.action.detectionMode.modify.tip")}' + deleteToolTip='{n("observe.content.action.detectionMode.delete.tip")}' + saveToolTip='{n("observe.content.action.detectionMode.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ObjectFateUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ObjectFateUI.jaxx index 58d1412..d50c102 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ObjectFateUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ObjectFateUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='ObjectFateDto' - contentTitle='{n("observe.title.content.objectFates")}' - listText='{n("observe.list.objectFate")}' - createToolTip='{n("observe.action.objectFate.create.tip")}' - detailToolTip='{n("observe.action.objectFate.detail.tip")}' - modifyToolTip='{n("observe.action.objectFate.modify.tip")}' - deleteToolTip='{n("observe.action.objectFate.delete.tip")}' - saveToolTip='{n("observe.action.objectFate.save.tip")}' + contentTitle='{n("observe.content.title.objectFates")}' + listText='{n("observe.content.list.objectFate")}' + createToolTip='{n("observe.content.action.objectFate.create.tip")}' + detailToolTip='{n("observe.content.action.objectFate.detail.tip")}' + modifyToolTip='{n("observe.content.action.objectFate.modify.tip")}' + deleteToolTip='{n("observe.content.action.objectFate.delete.tip")}' + saveToolTip='{n("observe.content.action.objectFate.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ObjectOperationUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ObjectOperationUI.jaxx index cee807a..633681f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ObjectOperationUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ObjectOperationUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='ObjectOperationDto' - contentTitle='{n("observe.title.content.objectOperations")}' - listText='{n("observe.list.objectOperation")}' - createToolTip='{n("observe.action.objectOperation.create.tip")}' - detailToolTip='{n("observe.action.objectOperation.detail.tip")}' - modifyToolTip='{n("observe.action.objectOperation.modify.tip")}' - deleteToolTip='{n("observe.action.objectOperation.delete.tip")}' - saveToolTip='{n("observe.action.objectOperation.save.tip")}' + contentTitle='{n("observe.content.title.objectOperations")}' + listText='{n("observe.content.list.objectOperation")}' + createToolTip='{n("observe.content.action.objectOperation.create.tip")}' + detailToolTip='{n("observe.content.action.objectOperation.detail.tip")}' + modifyToolTip='{n("observe.content.action.objectOperation.modify.tip")}' + deleteToolTip='{n("observe.content.action.objectOperation.delete.tip")}' + saveToolTip='{n("observe.content.action.objectOperation.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ObjectTypeUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ObjectTypeUI.jaxx index 7cb9454..e71c6c3 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ObjectTypeUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ObjectTypeUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='ObjectTypeDto' - contentTitle='{n("observe.title.content.objectTypes")}' - listText='{n("observe.list.objectType")}' - createToolTip='{n("observe.action.objectType.create.tip")}' - detailToolTip='{n("observe.action.objectType.detail.tip")}' - modifyToolTip='{n("observe.action.objectType.modify.tip")}' - deleteToolTip='{n("observe.action.objectType.delete.tip")}' - saveToolTip='{n("observe.action.objectType.save.tip")}' + contentTitle='{n("observe.content.title.objectTypes")}' + listText='{n("observe.content.list.objectType")}' + createToolTip='{n("observe.content.action.objectType.create.tip")}' + detailToolTip='{n("observe.content.action.objectType.detail.tip")}' + modifyToolTip='{n("observe.content.action.objectType.modify.tip")}' + deleteToolTip='{n("observe.content.action.objectType.delete.tip")}' + saveToolTip='{n("observe.content.action.objectType.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ObservedSystemUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ObservedSystemUI.jaxx index bc5b7ca..d9743b4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ObservedSystemUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ObservedSystemUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='ObservedSystemDto' - contentTitle='{n("observe.title.content.observedSystems")}' - listText='{n("observe.list.observedSystem")}' - createToolTip='{n("observe.action.observedSystem.create.tip")}' - detailToolTip='{n("observe.action.observedSystem.detail.tip")}' - modifyToolTip='{n("observe.action.observedSystem.modify.tip")}' - deleteToolTip='{n("observe.action.observedSystem.delete.tip")}' - saveToolTip='{n("observe.action.observedSystem.save.tip")}' + contentTitle='{n("observe.content.title.observedSystems")}' + listText='{n("observe.content.list.observedSystem")}' + createToolTip='{n("observe.content.action.observedSystem.create.tip")}' + detailToolTip='{n("observe.content.action.observedSystem.detail.tip")}' + modifyToolTip='{n("observe.content.action.observedSystem.modify.tip")}' + deleteToolTip='{n("observe.content.action.observedSystem.delete.tip")}' + saveToolTip='{n("observe.content.action.observedSystem.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ReasonForDiscardUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ReasonForDiscardUI.jaxx index 059b470..1eae8a5 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ReasonForDiscardUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ReasonForDiscardUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='ReasonForDiscardDto' - contentTitle='{n("observe.title.content.reasonForDiscards")}' - listText='{n("observe.list.reasonForDiscard")}' - createToolTip='{n("observe.action.reasonForDiscard.create.tip")}' - detailToolTip='{n("observe.action.reasonForDiscard.detail.tip")}' - modifyToolTip='{n("observe.action.reasonForDiscard.modify.tip")}' - deleteToolTip='{n("observe.action.reasonForDiscard.delete.tip")}' - saveToolTip='{n("observe.action.reasonForDiscard.save.tip")}' + contentTitle='{n("observe.content.title.reasonForDiscards")}' + listText='{n("observe.content.list.reasonForDiscard")}' + createToolTip='{n("observe.content.action.reasonForDiscard.create.tip")}' + detailToolTip='{n("observe.content.action.reasonForDiscard.detail.tip")}' + modifyToolTip='{n("observe.content.action.reasonForDiscard.modify.tip")}' + deleteToolTip='{n("observe.content.action.reasonForDiscard.delete.tip")}' + saveToolTip='{n("observe.content.action.reasonForDiscard.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ReasonForNoFishingUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ReasonForNoFishingUI.jaxx index d225c79..a6dce3b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ReasonForNoFishingUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ReasonForNoFishingUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='ReasonForNoFishingDto' - contentTitle='{n("observe.title.content.reasonForNoFishings")}' - listText='{n("observe.list.reasonForNoFishing")}' - createToolTip='{n("observe.action.reasonForNoFishing.create.tip")}' - detailToolTip='{n("observe.action.reasonForNoFishing.detail.tip")}' - modifyToolTip='{n("observe.action.reasonForNoFishing.modify.tip")}' - deleteToolTip='{n("observe.action.reasonForNoFishing.delete.tip")}' - saveToolTip='{n("observe.action.reasonForNoFishing.save.tip")}' + contentTitle='{n("observe.content.title.reasonForNoFishings")}' + listText='{n("observe.content.list.reasonForNoFishing")}' + createToolTip='{n("observe.content.action.reasonForNoFishing.create.tip")}' + detailToolTip='{n("observe.content.action.reasonForNoFishing.detail.tip")}' + modifyToolTip='{n("observe.content.action.reasonForNoFishing.modify.tip")}' + deleteToolTip='{n("observe.content.action.reasonForNoFishing.delete.tip")}' + saveToolTip='{n("observe.content.action.reasonForNoFishing.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ReasonForNullSetUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ReasonForNullSetUI.jaxx index ce51c4b..dad066b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ReasonForNullSetUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/ReasonForNullSetUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='ReasonForNullSetDto' - contentTitle='{n("observe.title.content.reasonForNullSets")}' - listText='{n("observe.list.reasonForNullSet")}' - createToolTip='{n("observe.action.reasonForNullSet.create.tip")}' - detailToolTip='{n("observe.action.reasonForNullSet.detail.tip")}' - modifyToolTip='{n("observe.action.reasonForNullSet.modify.tip")}' - deleteToolTip='{n("observe.action.reasonForNullSet.delete.tip")}' - saveToolTip='{n("observe.action.reasonForNullSet.save.tip")}' + contentTitle='{n("observe.content.title.reasonForNullSets")}' + listText='{n("observe.content.list.reasonForNullSet")}' + createToolTip='{n("observe.content.action.reasonForNullSet.create.tip")}' + detailToolTip='{n("observe.content.action.reasonForNullSet.detail.tip")}' + modifyToolTip='{n("observe.content.action.reasonForNullSet.modify.tip")}' + deleteToolTip='{n("observe.content.action.reasonForNullSet.delete.tip")}' + saveToolTip='{n("observe.content.action.reasonForNullSet.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/SpeciesFateUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/SpeciesFateUI.jaxx index 4492340..6cec431 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/SpeciesFateUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/SpeciesFateUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='SpeciesFateDto' - contentTitle='{n("observe.title.content.speciesFates")}' - listText='{n("observe.list.speciesFate")}' - createToolTip='{n("observe.action.speciesFate.create.tip")}' - detailToolTip='{n("observe.action.speciesFate.detail.tip")}' - modifyToolTip='{n("observe.action.speciesFate.modify.tip")}' - deleteToolTip='{n("observe.action.speciesFate.delete.tip")}' - saveToolTip='{n("observe.action.speciesFate.save.tip")}' + contentTitle='{n("observe.content.title.speciesFates")}' + listText='{n("observe.content.list.speciesFate")}' + createToolTip='{n("observe.content.action.speciesFate.create.tip")}' + detailToolTip='{n("observe.content.action.speciesFate.detail.tip")}' + modifyToolTip='{n("observe.content.action.speciesFate.modify.tip")}' + deleteToolTip='{n("observe.content.action.speciesFate.delete.tip")}' + saveToolTip='{n("observe.content.action.speciesFate.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/SpeciesStatusUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/SpeciesStatusUI.jaxx index dc91bf9..5e4a337 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/SpeciesStatusUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/SpeciesStatusUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='SpeciesStatusDto' - contentTitle='{n("observe.title.content.speciesStatuss")}' - listText='{n("observe.list.speciesStatus")}' - createToolTip='{n("observe.action.speciesStatus.create.tip")}' - detailToolTip='{n("observe.action.speciesStatus.detail.tip")}' - modifyToolTip='{n("observe.action.speciesStatus.modify.tip")}' - deleteToolTip='{n("observe.action.speciesStatus.delete.tip")}' - saveToolTip='{n("observe.action.speciesStatus.save.tip")}' + contentTitle='{n("observe.content.title.speciesStatuss")}' + listText='{n("observe.content.list.speciesStatus")}' + createToolTip='{n("observe.content.action.speciesStatus.create.tip")}' + detailToolTip='{n("observe.content.action.speciesStatus.detail.tip")}' + modifyToolTip='{n("observe.content.action.speciesStatus.modify.tip")}' + deleteToolTip='{n("observe.content.action.speciesStatus.delete.tip")}' + saveToolTip='{n("observe.content.action.speciesStatus.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/SurroundingActivityUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/SurroundingActivityUI.jaxx index 30a36c4..cc798b1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/SurroundingActivityUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/SurroundingActivityUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='SurroundingActivityDto' - contentTitle='{n("observe.title.content.surroundingActivitys")}' - listText='{n("observe.list.surroundingActivity")}' - createToolTip='{n("observe.action.surroundingActivity.create.tip")}' - detailToolTip='{n("observe.action.surroundingActivity.detail.tip")}' - modifyToolTip='{n("observe.action.surroundingActivity.modify.tip")}' - deleteToolTip='{n("observe.action.surroundingActivity.delete.tip")}' - saveToolTip='{n("observe.action.surroundingActivity.save.tip")}' + contentTitle='{n("observe.content.title.surroundingActivitys")}' + listText='{n("observe.content.list.surroundingActivity")}' + createToolTip='{n("observe.content.action.surroundingActivity.create.tip")}' + detailToolTip='{n("observe.content.action.surroundingActivity.detail.tip")}' + modifyToolTip='{n("observe.content.action.surroundingActivity.modify.tip")}' + deleteToolTip='{n("observe.content.action.surroundingActivity.delete.tip")}' + saveToolTip='{n("observe.content.action.surroundingActivity.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/TransmittingBuoyOperationUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/TransmittingBuoyOperationUI.jaxx index a832669..dd8aa8b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/TransmittingBuoyOperationUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/TransmittingBuoyOperationUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='TransmittingBuoyOperationDto' - contentTitle='{n("observe.title.content.transmittingBuoyOperations")}' - listText='{n("observe.list.operation")}' - createToolTip='{n("observe.action.transmittingBuoyOperation.create.tip")}' - detailToolTip='{n("observe.action.transmittingBuoyOperation.detail.tip")}' - modifyToolTip='{n("observe.action.transmittingBuoyOperation.modify.tip")}' - deleteToolTip='{n("observe.action.transmittingBuoyOperation.delete.tip")}' - saveToolTip='{n("observe.action.transmittingBuoyOperation.save.tip")}' + contentTitle='{n("observe.content.title.transmittingBuoyOperations")}' + listText='{n("observe.content.list.operation")}' + createToolTip='{n("observe.content.action.transmittingBuoyOperation.create.tip")}' + detailToolTip='{n("observe.content.action.transmittingBuoyOperation.detail.tip")}' + modifyToolTip='{n("observe.content.action.transmittingBuoyOperation.modify.tip")}' + deleteToolTip='{n("observe.content.action.transmittingBuoyOperation.delete.tip")}' + saveToolTip='{n("observe.content.action.transmittingBuoyOperation.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/TransmittingBuoyTypeUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/TransmittingBuoyTypeUI.jaxx index f52cb22..b23579c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/TransmittingBuoyTypeUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/TransmittingBuoyTypeUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='TransmittingBuoyTypeDto' - contentTitle='{n("observe.title.content.transmittingBuoyTypes")}' - listText='{n("observe.list.transmittingBuoyType")}' - createToolTip='{n("observe.action.transmittingBuoyType.create.tip")}' - detailToolTip='{n("observe.action.transmittingBuoyType.detail.tip")}' - modifyToolTip='{n("observe.action.transmittingBuoyType.modify.tip")}' - deleteToolTip='{n("observe.action.transmittingBuoyType.delete.tip")}' - saveToolTip='{n("observe.action.transmittingBuoyType.save.tip")}' + contentTitle='{n("observe.content.title.transmittingBuoyTypes")}' + listText='{n("observe.content.list.transmittingBuoyType")}' + createToolTip='{n("observe.content.action.transmittingBuoyType.create.tip")}' + detailToolTip='{n("observe.content.action.transmittingBuoyType.detail.tip")}' + modifyToolTip='{n("observe.content.action.transmittingBuoyType.modify.tip")}' + deleteToolTip='{n("observe.content.action.transmittingBuoyType.delete.tip")}' + saveToolTip='{n("observe.content.action.transmittingBuoyType.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/VesselActivitySeineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/VesselActivitySeineUI.jaxx index 5010cf4..50162d5 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/VesselActivitySeineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/VesselActivitySeineUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='VesselActivitySeineDto' - contentTitle='{n("observe.title.content.vesselActivitySeines")}' - listText='{n("observe.list.vesselActivitySeine")}' - createToolTip='{n("observe.action.vesselActivitySeine.create.tip")}' - detailToolTip='{n("observe.action.vesselActivitySeine.detail.tip")}' - modifyToolTip='{n("observe.action.vesselActivitySeine.modify.tip")}' - deleteToolTip='{n("observe.action.vesselActivitySeine.delete.tip")}' - saveToolTip='{n("observe.action.vesselActivitySeine.save.tip")}' + contentTitle='{n("observe.content.title.vesselActivitySeines")}' + listText='{n("observe.content.list.vesselActivitySeine")}' + createToolTip='{n("observe.content.action.vesselActivitySeine.create.tip")}' + detailToolTip='{n("observe.content.action.vesselActivitySeine.detail.tip")}' + modifyToolTip='{n("observe.content.action.vesselActivitySeine.modify.tip")}' + deleteToolTip='{n("observe.content.action.vesselActivitySeine.delete.tip")}' + saveToolTip='{n("observe.content.action.vesselActivitySeine.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/WeightCategoryUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/WeightCategoryUI.jaxx index bb65223..d5b080e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/WeightCategoryUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/WeightCategoryUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='WeightCategoryDto' - contentTitle='{n("observe.title.content.weightCategory")}' - listText='{n("observe.list.weightCategory")}' - createToolTip='{n("observe.action.weightCategory.create.tip")}' - detailToolTip='{n("observe.action.weightCategory.detail.tip")}' - modifyToolTip='{n("observe.action.weightCategory.modify.tip")}' - deleteToolTip='{n("observe.action.weightCategory.delete.tip")}' - saveToolTip='{n("observe.action.weightCategory.save.tip")}' + contentTitle='{n("observe.content.title.weightCategory")}' + listText='{n("observe.content.list.weightCategory")}' + createToolTip='{n("observe.content.action.weightCategory.create.tip")}' + detailToolTip='{n("observe.content.action.weightCategory.detail.tip")}' + modifyToolTip='{n("observe.content.action.weightCategory.modify.tip")}' + deleteToolTip='{n("observe.content.action.weightCategory.delete.tip")}' + saveToolTip='{n("observe.content.action.weightCategory.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/WindUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/WindUI.jaxx index 2ee1610..500ddd2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/WindUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/WindUI.jaxx @@ -22,13 +22,13 @@ <fr.ird.observe.ui.content.ref.ContentReferenceUI superGenericType='WindDto' - contentTitle='{n("observe.title.content.windSpeeds")}' - listText='{n("observe.list.wind")}' - createToolTip='{n("observe.action.wind.create.tip")}' - detailToolTip='{n("observe.action.wind.detail.tip")}' - modifyToolTip='{n("observe.action.wind.modify.tip")}' - deleteToolTip='{n("observe.action.wind.delete.tip")}' - saveToolTip='{n("observe.action.wind.save.tip")}' + contentTitle='{n("observe.content.title.windSpeeds")}' + listText='{n("observe.content.list.wind")}' + createToolTip='{n("observe.content.action.wind.create.tip")}' + detailToolTip='{n("observe.content.action.wind.detail.tip")}' + modifyToolTip='{n("observe.content.action.wind.modify.tip")}' + deleteToolTip='{n("observe.content.action.wind.delete.tip")}' + saveToolTip='{n("observe.content.action.wind.save.tip")}'
diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUI.jaxx index acf9cb9..9e66d97 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUI.jaxx @@ -46,14 +46,14 @@ <!-- les libellés et info-bulles des actions sur l'éditeur d'un entrée --> <String id='newEntryText' javaBean='n("observe.action.new.entry")'/> <String id='newEntryTip' javaBean='n("observe.action.new.entry.tip")'/> - <String id='resetEntryText' javaBean='n("observe.action.reset")'/> - <String id='resetEntryTip' javaBean='n("observe.action.reset.entry.tip")'/> - <String id='resetNewEntryText' javaBean='n("observe.action.reset")'/> - <String id='resetNewEntryTip' javaBean='n("observe.action.reset.new.entry.tip")'/> + <String id='resetEntryText' javaBean='n("observe.content.action.reset")'/> + <String id='resetEntryTip' javaBean='n("observe.content.action.reset.entry.tip")'/> + <String id='resetNewEntryText' javaBean='n("observe.content.action.reset")'/> + <String id='resetNewEntryTip' javaBean='n("observe.content.action.reset.new.entry.tip")'/> <String id='saveEntryText' javaBean='n("observe.action.save")'/> <String id='saveEntryTip' javaBean='n("observe.action.save.entry.tip")'/> <String id='saveNewEntryText' javaBean='n("observe.action.create")'/> - <String id='saveNewEntryTip' javaBean='n("observe.action.create.entry.tip")'/> + <String id='saveNewEntryTip' javaBean='n("observe.content.action.create.entry.tip")'/> <String id='deleteEntryText' javaBean='n("observe.action.delete")'/> <String id='deleteEntryTip' javaBean='n("observe.action.delete.entry.tip")'/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java index 1af0e7c..c33f1a6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java @@ -107,11 +107,11 @@ public abstract class ContentTableUIHandler<E extends IdDto, D extends IdDto> ex if (dataContext.isSelectedActivityLongline()) { - addInfoMessage(t("observe.activityLongline.message.not.open")); + addInfoMessage(t("observe.storage.activityLongline.message.not.open")); } else { - addInfoMessage(t("observe.activitySeine.message.not.open")); + addInfoMessage(t("observe.storage.activitySeine.message.not.open")); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUI.jaxx index e4a4682..94496a1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUI.jaxx @@ -22,9 +22,9 @@ <fr.ird.observe.ui.content.table.ContentTableUI superGenericType='SetLonglineGlobalCompositionDto, BaitsCompositionDto' - contentTitle='{n("observe.baitsComposition.title")}' - saveNewEntryText='{n("observe.baitsComposition.action.create")}' - saveNewEntryTip='{n("observe.baitsComposition.action.create.tip")}'> + contentTitle='{n("observe.content.baitsComposition.title")}' + saveNewEntryText='{n("observe.content.baitsComposition.action.create")}' + saveNewEntryTip='{n("observe.content.baitsComposition.action.create.tip")}'> <style source="../../CommonTable.jcss"/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUI.jcss index 66367d8..9bfb87e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUI.jcss @@ -21,29 +21,29 @@ */ #baitTypeLabel { - text:"observe.baitsComposition.baitType"; + text:"observe.content.baitsComposition.baitType"; labelFor:{baitType}; } #baitType { property:{BaitsCompositionDto.PROPERTY_BAIT_TYPE}; selectedItem:{tableEditBean.getBaitType()}; - _validatorLabel:{t("observe.baitsComposition.baitType")}; + _validatorLabel:{t("observe.content.baitsComposition.baitType")}; } #baitSettingStatusLabel { - text:"observe.baitsComposition.baitSettingStatus"; + text:"observe.content.baitsComposition.baitSettingStatus"; labelFor:{baitSettingStatus}; } #baitSettingStatus { property:{BaitsCompositionDto.PROPERTY_BAIT_SETTING_STATUS}; selectedItem:{tableEditBean.getBaitSettingStatus()}; - _validatorLabel:{t("observe.baitsComposition.baitSettingStatus")}; + _validatorLabel:{t("observe.content.baitsComposition.baitSettingStatus")}; } #individualSizeLabel { - text:"observe.baitsComposition.individualSize"; + text:"observe.content.baitsComposition.individualSize"; labelFor:{individualSize}; } @@ -51,11 +51,11 @@ property:{BaitsCompositionDto.PROPERTY_INDIVIDUAL_SIZE}; model:{tableEditBean.getIndividualSize()}; numberPattern:{fr.ird.observe.ui.UIHelper.INT_6_DIGITS_PATTERN}; - _validatorLabel:{t("observe.baitsComposition.individualSize")}; + _validatorLabel:{t("observe.content.baitsComposition.individualSize")}; } #individualWeightLabel { - text:"observe.baitsComposition.individualWeight"; + text:"observe.content.baitsComposition.individualWeight"; labelFor:{individualWeight}; } @@ -63,11 +63,11 @@ property:{BaitsCompositionDto.PROPERTY_INDIVIDUAL_WEIGHT}; model:{tableEditBean.getIndividualWeight()}; numberPattern:{fr.ird.observe.ui.UIHelper.DECIMAL3_PATTERN}; - _validatorLabel:{t("observe.baitsComposition.individualWeight")}; + _validatorLabel:{t("observe.content.baitsComposition.individualWeight")}; } #proportionLabel { - text:"observe.baitsComposition.proportion"; + text:"observe.content.baitsComposition.proportion"; labelFor:{proportion}; } @@ -75,16 +75,16 @@ property:{BaitsCompositionDto.PROPERTY_PROPORTION}; model:{tableEditBean.getProportion()}; numberPattern:{fr.ird.observe.ui.UIHelper.INT_6_DIGITS_PATTERN}; - _validatorLabel:{t("observe.baitsComposition.proportion")}; + _validatorLabel:{t("observe.content.baitsComposition.proportion")}; } #baitsCompositionProportionSumLabel { - text:"observe.baitsComposition.proportionSum"; + text:"observe.content.baitsComposition.proportionSum"; labelFor:{baitsCompositionProportionSum}; } #baitsCompositionProportionSum { text:{getStringValue(bean.getBaitsCompositionProportionSum())}; - _validatorLabel:{t("observe.baitsComposition.proportionSum")}; + _validatorLabel:{t("observe.content.baitsComposition.proportionSum")}; font-weight:bold; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUIHandler.java index d1aa5c4..4b2d3dd 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUIHandler.java @@ -76,16 +76,16 @@ public class BaitsCompositionUIHandler extends ContentTableUIHandler<SetLongline UIHelper.setI18nTableHeaderRenderer( table, - n("observe.baitsComposition.table.baitType"), - n("observe.baitsComposition.table.baitType.tip"), - n("observe.baitsComposition.table.baitSettingStatus"), - n("observe.baitsComposition.table.baitSettingStatus.tip"), - n("observe.baitsComposition.table.individualSize"), - n("observe.baitsComposition.table.individualSize.tip"), - n("observe.baitsComposition.table.individualWeight"), - n("observe.baitsComposition.table.individualWeight.tip"), - n("observe.baitsComposition.table.proportion"), - n("observe.baitsComposition.table.proportion.tip")); + n("observe.content.baitsComposition.table.baitType"), + n("observe.content.baitsComposition.table.baitType.tip"), + n("observe.content.baitsComposition.table.baitSettingStatus"), + n("observe.content.baitsComposition.table.baitSettingStatus.tip"), + n("observe.content.baitsComposition.table.individualSize"), + n("observe.content.baitsComposition.table.individualSize.tip"), + n("observe.content.baitsComposition.table.individualWeight"), + n("observe.content.baitsComposition.table.individualWeight.tip"), + n("observe.content.baitsComposition.table.proportion"), + n("observe.content.baitsComposition.table.proportion.tip")); UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, BaitTypeDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, BaitSettingStatusDto.class)); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUI.jaxx index a2c0912..9229af3 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUI.jaxx @@ -22,9 +22,9 @@ <fr.ird.observe.ui.content.table.ContentTableUI superGenericType='SetLonglineGlobalCompositionDto, BranchlinesCompositionDto' - contentTitle='{n("observe.branchlinesComposition.title")}' - saveNewEntryText='{n("observe.branchlinesComposition.action.create")}' - saveNewEntryTip='{n("observe.branchlinesComposition.action.create.tip")}'> + contentTitle='{n("observe.content.branchlinesComposition.title")}' + saveNewEntryText='{n("observe.content.branchlinesComposition.action.create")}' + saveNewEntryTip='{n("observe.content.branchlinesComposition.action.create.tip")}'> <style source="../../CommonTable.jcss"/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUI.jcss index 53be763..0b7b968 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUI.jcss @@ -21,29 +21,29 @@ */ #topTypeLabel { - text:"observe.branchlinesComposition.topType"; + text:"observe.content.branchlinesComposition.topType"; labelFor:{topType}; } #topType { property:{BranchlinesCompositionDto.PROPERTY_TOP_TYPE}; selectedItem:{tableEditBean.getTopType()}; - _validatorLabel:{t("observe.branchlinesComposition.topType")}; + _validatorLabel:{t("observe.content.branchlinesComposition.topType")}; } #tracelineTypeLabel { - text:"observe.branchlinesComposition.tracelineType"; + text:"observe.content.branchlinesComposition.tracelineType"; labelFor:{tracelineType}; } #tracelineType { property:{BranchlinesCompositionDto.PROPERTY_TRACELINE_TYPE}; selectedItem:{tableEditBean.getTracelineType()}; - _validatorLabel:{t("observe.branchlinesComposition.tracelineType")}; + _validatorLabel:{t("observe.content.branchlinesComposition.tracelineType")}; } #lengthLabel { - text:"observe.branchlinesComposition.length"; + text:"observe.content.branchlinesComposition.length"; labelFor:{length}; } @@ -51,11 +51,11 @@ property:{BranchlinesCompositionDto.PROPERTY_LENGTH}; model:{tableEditBean.getLength()}; numberPattern:{fr.ird.observe.ui.UIHelper.DECIMAL3_PATTERN}; - _validatorLabel:{t("observe.branchlinesComposition.length")}; + _validatorLabel:{t("observe.content.branchlinesComposition.length")}; } #proportionLabel { - text:"observe.branchlinesComposition.proportion"; + text:"observe.content.branchlinesComposition.proportion"; labelFor:{proportion}; } @@ -63,16 +63,16 @@ property:{BranchlinesCompositionDto.PROPERTY_PROPORTION}; model:{tableEditBean.getProportion()}; numberPattern:{fr.ird.observe.ui.UIHelper.INT_6_DIGITS_PATTERN}; - _validatorLabel:{t("observe.branchlinesComposition.proportion")}; + _validatorLabel:{t("observe.content.branchlinesComposition.proportion")}; } #branchlinesCompositionProportionSumLabel { - text:"observe.branchlinesComposition.proportionSum"; + text:"observe.content.branchlinesComposition.proportionSum"; labelFor:{branchlinesCompositionProportionSum}; } #branchlinesCompositionProportionSum { text:{getStringValue(bean.getBranchlinesCompositionProportionSum())}; - _validatorLabel:{t("observe.branchlinesComposition.proportionSum")}; + _validatorLabel:{t("observe.content.branchlinesComposition.proportionSum")}; font-weight:bold; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUIHandler.java index cde391e..ffcecef 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUIHandler.java @@ -76,14 +76,14 @@ public class BranchlinesCompositionUIHandler extends ContentTableUIHandler<SetLo UIHelper.setI18nTableHeaderRenderer( table, - n("observe.branchlinesComposition.table.topType"), - n("observe.branchlinesComposition.table.topType.tip"), - n("observe.branchlinesComposition.table.tracelineType"), - n("observe.branchlinesComposition.table.tracelineType.tip"), - n("observe.branchlinesComposition.table.length"), - n("observe.branchlinesComposition.table.length.tip"), - n("observe.branchlinesComposition.table.proportion"), - n("observe.branchlinesComposition.table.proportion.tip")); + n("observe.content.branchlinesComposition.table.topType"), + n("observe.content.branchlinesComposition.table.topType.tip"), + n("observe.content.branchlinesComposition.table.tracelineType"), + n("observe.content.branchlinesComposition.table.tracelineType.tip"), + n("observe.content.branchlinesComposition.table.length"), + n("observe.content.branchlinesComposition.table.length.tip"), + n("observe.content.branchlinesComposition.table.proportion"), + n("observe.content.branchlinesComposition.table.proportion.tip")); UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, HookTypeDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, HookSizeDto.class)); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.jaxx index 26a2e43..e762cb7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.jaxx @@ -21,11 +21,11 @@ --> <fr.ird.observe.ui.content.table.ContentTableUI superGenericType='SetLonglineCatchDto, CatchLonglineDto' - contentTitle='{n("observe.catchLongline.title")}' - newEntryText='{n("observe.catchLongline.action.new")}' - newEntryTip='{n("observe.catchLongline.action.new.tip")}' - saveNewEntryText='{n("observe.catchLongline.action.create")}' - saveNewEntryTip='{n("observe.catchLongline.action.create.tip")}'> + contentTitle='{n("observe.content.catchLongline.title")}' + newEntryText='{n("observe.content.catchLongline.action.new")}' + newEntryTip='{n("observe.content.catchLongline.action.new.tip")}' + saveNewEntryText='{n("observe.content.catchLongline.action.create")}' + saveNewEntryTip='{n("observe.content.catchLongline.action.create.tip")}'> <style source="../../CommonTable.jcss"/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.jcss index 32ede1d..a632997 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.jcss @@ -33,7 +33,7 @@ /* ***************************************************************************** */ #caracteristicTab { - title:{t("observe.catchLongline.tab.caracteristics")}; + title:{t("observe.content.catchLongline.tab.caracteristics")}; icon:{handler.getErrorIconIfFalse(model.isCaracteristicsTabValid())}; } @@ -42,7 +42,7 @@ } #acquisitionModePanel { - border:{new TitledBorder(t("observe.catchLongline.acquisitionMode"))}; + border:{new TitledBorder(t("observe.content.catchLongline.acquisitionMode"))}; layout:{new GridLayout(0,1)}; } @@ -63,10 +63,10 @@ } #locationOnLonglinePanel { - border:{new TitledBorder(t("observe.catchLongline.locationOnLongline"))}; + border:{new TitledBorder(t("observe.content.catchLongline.locationOnLongline"))}; } #sectionLabel { - text:"observe.catchLongline.section"; + text:"observe.content.catchLongline.section"; labelFor:{section}; } @@ -77,7 +77,7 @@ } #basketLabel { - text:"observe.catchLongline.basket"; + text:"observe.content.catchLongline.basket"; labelFor:{basket}; } @@ -88,7 +88,7 @@ } #branchlineLabel { - text:"observe.catchLongline.branchline"; + text:"observe.content.catchLongline.branchline"; labelFor:{branchline}; } @@ -99,23 +99,23 @@ } #speciesCatchLabel { - text:"observe.catchLongline.speciesCatch"; + text:"observe.content.catchLongline.speciesCatch"; labelFor:{speciesCatch}; } #speciesCatch { property:{CatchLonglineDto.PROPERTY_SPECIES_CATCH}; selectedItem:{tableEditBean.getSpeciesCatch()}; - _validatorLabel:{t("observe.catchLongline.speciesCatch")}; + _validatorLabel:{t("observe.content.catchLongline.speciesCatch")}; } #photoReferencesLabel{ - text:"observe.catchLongline.photoReferences"; + text:"observe.content.catchLongline.photoReferences"; labelFor:{photoReferences}; } #resetPhotoReferences{ - toolTipText:"observe.catchLongline.action.reset.photoReferences.tip"; + toolTipText:"observe.content.catchLongline.action.reset.photoReferences.tip"; _resetTablePropertyName:{CatchLonglineDto.PROPERTY_PHOTO_REFERENCES}; } @@ -125,7 +125,7 @@ } #countLabel { - text:"observe.catchLongline.count"; + text:"observe.content.catchLongline.count"; labelFor:{count}; } @@ -133,11 +133,11 @@ property:{CatchLonglineDto.PROPERTY_COUNT}; model:{tableEditBean.getCount()}; numberPattern:{fr.ird.observe.ui.UIHelper.INT_6_DIGITS_PATTERN}; - _validatorLabel: {t("observe.catchLongline.count")}; + _validatorLabel: {t("observe.content.catchLongline.count")}; } #totalWeightLabel { - text:"observe.catchLongline.totalWeight"; + text:"observe.content.catchLongline.totalWeight"; labelFor:{totalWeight}; } @@ -145,73 +145,73 @@ property:{CatchLonglineDto.PROPERTY_TOTAL_WEIGHT}; model:{tableEditBean.getTotalWeight()}; numberPattern:{fr.ird.observe.ui.UIHelper.DECIMAL3_PATTERN}; - _validatorLabel: {t("observe.catchLongline.totalWeight")}; + _validatorLabel: {t("observe.content.catchLongline.totalWeight")}; } #hookWhenDiscarded { horizontalTextPosition:{JCheckBox.LEFT}; - text:"observe.catchLongline.hookWhenDiscarded"; + text:"observe.content.catchLongline.hookWhenDiscarded"; _tablePropertyName:{CatchLonglineDto.PROPERTY_HOOK_WHEN_DISCARDED}; selected:{BooleanUtils.isTrue(tableEditBean.getHookWhenDiscarded())}; } #catchFateLonglineLabel { - text:"observe.catchLongline.catchFateLongline"; + text:"observe.content.catchLongline.catchFateLongline"; labelFor:{catchFateLongline}; } #catchFateLongline { property:{CatchLonglineDto.PROPERTY_CATCH_FATE_LONGLINE}; selectedItem:{tableEditBean.getCatchFateLongline()}; - _validatorLabel: {t("observe.catchLongline.catchFateLongline")}; + _validatorLabel: {t("observe.content.catchLongline.catchFateLongline")}; } #catchHealthnessLabel { - text:"observe.catchLongline.catchHealthness"; + text:"observe.content.catchLongline.catchHealthness"; labelFor:{catchHealthness}; } #catchHealthness { property:{CatchLonglineDto.PROPERTY_CATCH_HEALTHNESS}; selectedItem:{tableEditBean.getCatchHealthness()}; - _validatorLabel: {t("observe.catchLongline.catchHealthness")}; + _validatorLabel: {t("observe.content.catchLongline.catchHealthness")}; } #discardHealthnessLabel { - text:"observe.catchLongline.discardHealthness"; + text:"observe.content.catchLongline.discardHealthness"; labelFor:{discardHealthness}; } #discardHealthness { property:{CatchLonglineDto.PROPERTY_DISCARD_HEALTHNESS}; selectedItem:{tableEditBean.getDiscardHealthness()}; - _validatorLabel: {t("observe.catchLongline.discardHealthness")}; + _validatorLabel: {t("observe.content.catchLongline.discardHealthness")}; } #catchFateLonglineLabel { - text:"observe.catchLongline.catchFateLongline"; + text:"observe.content.catchLongline.catchFateLongline"; labelFor:{catchFateLongline}; } #catchFateLongline { property:{CatchLonglineDto.PROPERTY_CATCH_FATE_LONGLINE}; selectedItem:{tableEditBean.getCatchFateLongline()}; - _validatorLabel: {t("observe.catchLongline.catchFateLongline")}; + _validatorLabel: {t("observe.content.catchLongline.catchFateLongline")}; } #hookPositionLabel { - text:"observe.catchLongline.hookPosition"; + text:"observe.content.catchLongline.hookPosition"; labelFor:{hookPosition}; } #hookPosition { property:{CatchLonglineDto.PROPERTY_HOOK_POSITION}; selectedItem:{tableEditBean.getHookPosition()}; - _validatorLabel: {t("observe.catchLongline.hookPosition")}; + _validatorLabel: {t("observe.content.catchLongline.hookPosition")}; } #comment { - columnHeaderView:{new JLabel(t("observe.catchLongline.comment"))}; + columnHeaderView:{new JLabel(t("observe.content.catchLongline.comment"))}; } #comment2 { @@ -224,12 +224,12 @@ /* ***************************************************************************** */ #depredatedFormTab { - title:{t("observe.catchLongline.tab.depredated")}; + title:{t("observe.content.catchLongline.tab.depredated")}; icon:{handler.getErrorIconIfFalse(model.isDepredatedTabValid())}; } #beatDiameterLabel { - text:"observe.catchLongline.beatDiameter"; + text:"observe.content.catchLongline.beatDiameter"; labelFor:{beatDiameter}; } @@ -237,12 +237,12 @@ property:{CatchLonglineDto.PROPERTY_BEAT_DIAMETER}; model:{tableEditBean.getBeatDiameter()}; numberPattern:{fr.ird.observe.ui.UIHelper.DECIMAL3_PATTERN}; - _validatorLabel: {t("observe.catchLongline.beatDiameter")}; + _validatorLabel: {t("observe.content.catchLongline.beatDiameter")}; } #depredated { horizontalTextPosition:{JCheckBox.LEFT}; - text:"observe.catchLongline.depredated"; + text:"observe.content.catchLongline.depredated"; _tablePropertyName:{CatchLonglineDto.PROPERTY_DEPREDATED}; selected:{BooleanUtils.isTrue(tableEditBean.getDepredated())}; } @@ -254,10 +254,10 @@ #predator { property: predator; selected:{(Collection)tableEditBean.getPredator()}; - _validatorLabel: {t("observe.catchLongline.predator")}; + _validatorLabel: {t("observe.content.catchLongline.predator")}; showListLabel: true; - universeLabel:{t("observe.catchLongline.availablePredator")}; - selectedLabel:{t("observe.catchLongline.selectedPredator")}; + universeLabel:{t("observe.content.catchLongline.availablePredator")}; + selectedLabel:{t("observe.content.catchLongline.selectedPredator")}; } /* ***************************************************************************** */ @@ -265,7 +265,7 @@ /* ***************************************************************************** */ #foodAndSexualFormTab { - title:{t("observe.catchLongline.tab.foodAndSexual")}; + title:{t("observe.content.catchLongline.tab.foodAndSexual")}; icon:{handler.getErrorIconIfFalse(model.isFoodAndSexualTabValid())}; } @@ -274,40 +274,40 @@ } #sexLabel { - text:"observe.catchLongline.sex"; + text:"observe.content.catchLongline.sex"; labelFor:{sex}; } #sex { property:{CatchLonglineDto.PROPERTY_SEX}; selectedItem:{tableEditBean.getSex()}; - _validatorLabel:{t("observe.catchLongline.sex")}; + _validatorLabel:{t("observe.content.catchLongline.sex")}; } #stomacFullnessLabel { - text:"observe.catchLongline.stomacFullness"; + text:"observe.content.catchLongline.stomacFullness"; labelFor:{stomacFullness}; } #stomacFullness { property:{CatchLonglineDto.PROPERTY_STOMAC_FULLNESS}; selectedItem:{tableEditBean.getStomacFullness()}; - _validatorLabel:{t("observe.catchLongline.stomacFullness")}; + _validatorLabel:{t("observe.content.catchLongline.stomacFullness")}; } #maturityStatusLabel { - text:"observe.catchLongline.maturityStatus"; + text:"observe.content.catchLongline.maturityStatus"; labelFor:{maturityStatus}; } #maturityStatus { property:{CatchLonglineDto.PROPERTY_MATURITY_STATUS}; selectedItem:{tableEditBean.getMaturityStatus()}; - _validatorLabel:{t("observe.catchLongline.maturityStatus")}; + _validatorLabel:{t("observe.content.catchLongline.maturityStatus")}; } #gonadeWeightLabel { - text:"observe.catchLongline.gonadeWeight"; + text:"observe.content.catchLongline.gonadeWeight"; labelFor:{gonadeWeight}; } @@ -315,7 +315,7 @@ property:{CatchLonglineDto.PROPERTY_GONADE_WEIGHT}; model:{tableEditBean.getGonadeWeight()}; numberPattern:{fr.ird.observe.ui.UIHelper.DECIMAL3_PATTERN}; - _validatorLabel:{t("observe.catchLongline.gonadeWeight")}; + _validatorLabel:{t("observe.content.catchLongline.gonadeWeight")}; } /* ***************************************************************************** */ @@ -323,7 +323,7 @@ /* ***************************************************************************** */ #sizeMeasuresFormTab { - title:{t("observe.catchLongline.tab.sizeMeasures")}; + title:{t("observe.content.catchLongline.tab.sizeMeasures")}; icon:{handler.getErrorIconIfFalse(sizeMeasuresTableModel.isValid())}; } @@ -332,14 +332,14 @@ } #addSizeMeasure { - text: "observe.catchLongline.action.addSizeMeasure"; - toolTipText: "observe.catchLongline.action.addSizeMeasure.tip"; + text: "observe.content.catchLongline.action.addSizeMeasure"; + toolTipText: "observe.content.catchLongline.action.addSizeMeasure.tip"; actionIcon: add; } #deleteSelectedSizeMeasure { - text: "observe.catchLongline.action.deleteSelectedSizeMeasure"; - toolTipText: "observe.catchLongline.action.deleteSelectedSizeMeasure.tip"; + text: "observe.content.catchLongline.action.deleteSelectedSizeMeasure"; + toolTipText: "observe.content.catchLongline.action.deleteSelectedSizeMeasure.tip"; actionIcon: delete; } @@ -348,7 +348,7 @@ /* ***************************************************************************** */ #weightMeasuresFormTab { - title:{t("observe.catchLongline.tab.weightMeasures")}; + title:{t("observe.content.catchLongline.tab.weightMeasures")}; icon:{handler.getErrorIconIfFalse(weightMeasuresTableModel.isValid())}; } @@ -357,14 +357,14 @@ } #addWeightMeasure { - text: "observe.catchLongline.action.addWeightMeasure"; - toolTipText: "observe.catchLongline.action.addWeightMeasure.tip"; + text: "observe.content.catchLongline.action.addWeightMeasure"; + toolTipText: "observe.content.catchLongline.action.addWeightMeasure.tip"; actionIcon: add; } #deleteSelectedWeightMeasure { - text: "observe.catchLongline.action.deleteSelectedWeightMeasure"; - toolTipText: "observe.catchLongline.action.deleteSelectedWeightMeasure.tip"; + text: "observe.content.catchLongline.action.deleteSelectedWeightMeasure"; + toolTipText: "observe.content.catchLongline.action.deleteSelectedWeightMeasure.tip"; actionIcon: delete; } @@ -373,7 +373,7 @@ /* ***************************************************************************** */ #branchlineFormTab { - title:{t("observe.catchLongline.tab.branchline")}; + title:{t("observe.content.catchLongline.tab.branchline")}; icon:{handler.getErrorIconIfFalse(model.isBranchlineTabValid())}; enabled:{tableEditBean.getBranchline() != null}; } @@ -386,38 +386,38 @@ #depthRecorder { horizontalTextPosition:{JCheckBox.LEFT}; - text:"observe.branchline.depthRecorder"; + text:"observe.content.branchline.depthRecorder"; _branchlineBeanPropertyName:{BranchlineDto.PROPERTY_DEPTH_RECORDER}; selected:{BooleanUtils.isTrue(branchlineBean.getDepthRecorder())}; - _validatorLabel:{t("observe.branchline.depthRecorder")}; + _validatorLabel:{t("observe.content.branchline.depthRecorder")}; } #hookLost { horizontalTextPosition:{JCheckBox.LEFT}; - text:"observe.branchline.hookLost"; + text:"observe.content.branchline.hookLost"; _branchlineBeanPropertyName:{BranchlineDto.PROPERTY_HOOK_LOST}; selected:{BooleanUtils.isTrue(branchlineBean.getHookLost())}; - _validatorLabel:{t("observe.branchline.hookLost")}; + _validatorLabel:{t("observe.content.branchline.hookLost")}; } #traceCutOff { horizontalTextPosition:{JCheckBox.LEFT}; - text:"observe.branchline.traceCutOff"; + text:"observe.content.branchline.traceCutOff"; _branchlineBeanPropertyName:{BranchlineDto.PROPERTY_TRACE_CUT_OFF}; selected:{BooleanUtils.isTrue(branchlineBean.getTraceCutOff())}; - _validatorLabel:{t("observe.branchline.traceCutOff")}; + _validatorLabel:{t("observe.content.branchline.traceCutOff")}; } #timer { - text:"observe.branchline.timer"; + text:"observe.content.branchline.timer"; horizontalTextPosition:{JCheckBox.LEFT}; _branchlineBeanPropertyName:{BranchlineDto.PROPERTY_TIMER}; selected:{BooleanUtils.isTrue(branchlineBean.getTimer())}; - _validatorLabel:{t("observe.branchline.timer")}; + _validatorLabel:{t("observe.content.branchline.timer")}; } #timeSinceContactLabel { - text:"observe.branchline.timeSinceContact"; + text:"observe.content.branchline.timeSinceContact"; labelFor:{timeSinceContact}; } @@ -427,11 +427,11 @@ enabled:{BooleanUtils.isTrue(branchlineBean.getTimer())}; model:{branchlineBean.getTimeSinceContact()}; numberPattern:{fr.ird.observe.ui.UIHelper.LONG_10_DIGITS_PATTERN}; - _validatorLabel:{t("observe.branchline.timeSinceContact")}; + _validatorLabel:{t("observe.content.branchline.timeSinceContact")}; } #timerTimeOnBoardLabel { - text:"observe.branchline.timerTimeOnBoard"; + text:"observe.content.branchline.timerTimeOnBoard"; labelFor:{timerTimeOnBoard}; } @@ -440,12 +440,12 @@ propertyDate: {BranchlineDto.PROPERTY_TIMER_TIME_ON_BOARD}; bean:{branchlineBean}; enabled:{BooleanUtils.isTrue(branchlineBean.getTimer())}; - label:{t("observe.branchline.timerTimeOnBoard")}; - _validatorLabel:{t("observe.branchline.timerTimeOnBoard")}; + label:{t("observe.content.branchline.timerTimeOnBoard")}; + _validatorLabel:{t("observe.content.branchline.timerTimeOnBoard")}; } #baitHaulingStatusLabel { - text:"observe.branchline.baitHaulingStatus"; + text:"observe.content.branchline.baitHaulingStatus"; labelFor:{baitHaulingStatus}; } @@ -453,7 +453,7 @@ property:{BranchlineDto.PROPERTY_BAIT_HAULING_STATUS}; bean:{branchlineBean}; selectedItem:{branchlineBean.getBaitHaulingStatus()}; - _validatorLabel:{t("observe.branchline.baitHaulingStatus")}; + _validatorLabel:{t("observe.content.branchline.baitHaulingStatus")}; } #branchlineActions { @@ -461,15 +461,15 @@ } #resetBranchline { - text:"observe.catchLongline.resetBranchline"; - toolTipText:"observe.catchLongline.resetBranchline.tip"; + text:"observe.content.catchLongline.resetBranchline"; + toolTipText:"observe.content.catchLongline.resetBranchline.tip"; actionIcon:"revert"; enabled:{branchlineValidator.isChanged()}; } #saveBranchline{ - text:"observe.catchLongline.saveBranchline"; - toolTipText:"observe.catchLongline.saveBranchline.tip"; + text:"observe.content.catchLongline.saveBranchline"; + toolTipText:"observe.content.catchLongline.saveBranchline.tip"; actionIcon:"save"; enabled:{branchlineValidator.isChanged() && branchlineValidator.isValid()}; } \ No newline at end of file diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java index bec933e..c02adb3 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java @@ -451,29 +451,29 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat UIHelper.setI18nTableHeaderRenderer( table, - n("observe.catchlongline.table.sectionHaulingId"), - n("observe.catchlongline.table.sectionHaulingId.tip"), - n("observe.catchlongline.table.basketHaulingId"), - n("observe.catchlongline.table.basketHaulingId.tip"), - n("observe.catchlongline.table.branchlineHaulingId"), - n("observe.catchlongline.table.branchlineHaulingId.tip"), - - n("observe.catchlongline.table.speciesCatch"), - n("observe.catchlongline.table.speciesCatch.tip"), - n("observe.catchlongline.table.acquisitionMode"), - n("observe.catchlongline.table.acquisitionMode.tip"), - n("observe.catchlongline.table.count"), - n("observe.catchlongline.table.count.tip"), - n("observe.catchlongline.table.catchHealthness"), - n("observe.catchlongline.table.catchHealthness.tip"), - n("observe.catchlongline.table.catchFateLongline"), - n("observe.catchlongline.table.catchFateLongline.tip"), - n("observe.catchlongline.table.discardHealthness"), - n("observe.catchlongline.table.discardHealthness.tip"), - n("observe.catchlongline.table.depredated"), - n("observe.catchlongline.table.depredated.tip"), - n("observe.catchlongline.table.comment"), - n("observe.catchlongline.table.comment.tip")); + n("observe.content.catchLongline.table.sectionHaulingId"), + n("observe.content.catchLongline.table.sectionHaulingId.tip"), + n("observe.content.catchLongline.table.basketHaulingId"), + n("observe.content.catchLongline.table.basketHaulingId.tip"), + n("observe.content.catchLongline.table.branchlineHaulingId"), + n("observe.content.catchLongline.table.branchlineHaulingId.tip"), + + n("observe.content.catchLongline.table.speciesCatch"), + n("observe.content.catchLongline.table.speciesCatch.tip"), + n("observe.content.catchLongline.table.acquisitionMode"), + n("observe.content.catchLongline.table.acquisitionMode.tip"), + n("observe.content.catchLongline.table.count"), + n("observe.content.catchLongline.table.count.tip"), + n("observe.content.catchLongline.table.catchHealthness"), + n("observe.content.catchLongline.table.catchHealthness.tip"), + n("observe.content.catchLongline.table.catchFateLongline"), + n("observe.content.catchLongline.table.catchFateLongline.tip"), + n("observe.content.catchLongline.table.discardHealthness"), + n("observe.content.catchLongline.table.discardHealthness.tip"), + n("observe.content.catchLongline.table.depredated"), + n("observe.content.catchLongline.table.depredated.tip"), + n("observe.content.catchLongline.table.comment"), + n("observe.content.catchLongline.table.comment.tip")); UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDataReferenceDecorateTableCellRenderer(renderer, SectionDto.class, DecoratorService.HAULING_IDENTIFIER)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newDataReferenceDecorateTableCellRenderer(renderer, BasketDto.class, DecoratorService.HAULING_IDENTIFIER)); @@ -495,10 +495,10 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat JTable table = ui.getSizeMeasuresTable(); UIHelper.setI18nTableHeaderRenderer(table, - n("observe.catchlongline.table.sizeMeasureType"), - n("observe.catchlongline.table.sizeMeasureType.tip"), - n("observe.catchlongline.table.size"), - n("observe.catchlongline.table.size.tip")); + n("observe.content.catchLongline.table.sizeMeasureType"), + n("observe.content.catchLongline.table.sizeMeasureType.tip"), + n("observe.content.catchLongline.table.size"), + n("observe.content.catchLongline.table.size.tip")); UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SizeMeasureTypeDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEmptyNumberTableCellRenderer(renderer)); @@ -526,10 +526,10 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat JTable table = ui.getWeightMeasuresTable(); UIHelper.setI18nTableHeaderRenderer(table, - n("observe.catchlongline.table.weightMeasureType"), - n("observe.catchlongline.table.weightMeasureType.tip"), - n("observe.catchlongline.table.weight"), - n("observe.catchlongline.table.weight.tip")); + n("observe.content.catchLongline.table.weightMeasureType"), + n("observe.content.catchLongline.table.weightMeasureType.tip"), + n("observe.content.catchLongline.table.weight"), + n("observe.content.catchLongline.table.weight.tip")); UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, WeightMeasureTypeDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEmptyNumberTableCellRenderer(renderer)); @@ -804,7 +804,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat ObserveMainUI mainUI = ObserveSwingApplicationContext.get().getMainUI(); int response = UIHelper.askUser(mainUI, t("observe.title.delete"), - t("observe.sizeMeasure.delete.message"), + t("observe.content.sizeMeasure.delete.message"), JOptionPane.WARNING_MESSAGE, new Object[]{t("observe.choice.confirm.delete"), t("observe.choice.cancel")}, @@ -863,7 +863,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat ObserveMainUI mainUI = ObserveSwingApplicationContext.get().getMainUI(); int response = UIHelper.askUser(mainUI, t("observe.title.delete"), - t("observe.weightMeasure.delete.message"), + t("observe.content.weightMeasure.delete.message"), JOptionPane.WARNING_MESSAGE, new Object[]{t("observe.choice.confirm.delete"), t("observe.choice.cancel")}, diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUI.jaxx index a656654..3ac36c2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUI.jaxx @@ -22,9 +22,9 @@ <fr.ird.observe.ui.content.table.ContentTableUI superGenericType='ActivityLonglineEncounterDto, EncounterDto' - contentTitle='{n("observe.encounter.title")}' - saveNewEntryText='{n("observe.encounter.action.create")}' - saveNewEntryTip='{n("observe.encounter.action.create.tip")}'> + contentTitle='{n("observe.content.encounter.title")}' + saveNewEntryText='{n("observe.content.encounter.action.create")}' + saveNewEntryTip='{n("observe.content.encounter.action.create.tip")}'> <style source="../../CommonTable.jcss"/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUI.jcss index 40f6769..dd822cc 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUI.jcss @@ -21,7 +21,7 @@ */ #encounterTypeLabel { - text:"observe.encounter.encounterType"; + text:"observe.content.encounter.encounterType"; labelFor:{encounterType}; } @@ -31,7 +31,7 @@ } #speciesLabel { - text:"observe.encounter.species"; + text:"observe.content.encounter.species"; labelFor:{species}; } @@ -41,7 +41,7 @@ } #countLabel { - text:"observe.encounter.count"; + text:"observe.content.encounter.count"; labelFor:{count}; } @@ -52,7 +52,7 @@ } #distanceLabel { - text:"observe.encounter.distance"; + text:"observe.content.encounter.distance"; labelFor:{distance}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java index 534cc5b..61e834f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java @@ -85,14 +85,14 @@ public class EncounterUIHandler extends ContentTableUIHandler<ActivityLonglineEn JTable table = getUi().getTable(); UIHelper.setI18nTableHeaderRenderer(table, - n("observe.encounter.table.encouterType"), - n("observe.encounter.table.encouterType.tip"), - n("observe.encounter.table.species"), - n("observe.encounter.table.species.tip"), - n("observe.encounter.table.distance"), - n("observe.encounter.table.distance.tip"), - n("observe.encounter.table.count"), - n("observe.encounter.table.count.tip")); + n("observe.content.encounter.table.encouterType"), + n("observe.content.encounter.table.encouterType.tip"), + n("observe.content.encounter.table.species"), + n("observe.content.encounter.table.species.tip"), + n("observe.content.encounter.table.distance"), + n("observe.content.encounter.table.distance.tip"), + n("observe.content.encounter.table.count"), + n("observe.content.encounter.table.count.tip")); UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, EncounterTypeDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SpeciesDto.class)); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUI.jaxx index d7cf379..c74def7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUI.jaxx @@ -22,9 +22,9 @@ <fr.ird.observe.ui.content.table.ContentTableUI superGenericType='SetLonglineGlobalCompositionDto, FloatlinesCompositionDto' - contentTitle='{n("observe.floatlinesComposition.title")}' - saveNewEntryText='{n("observe.floatlinesComposition.action.create")}' - saveNewEntryTip='{n("observe.floatlinesComposition.action.create.tip")}'> + contentTitle='{n("observe.content.floatlinesComposition.title")}' + saveNewEntryText='{n("observe.content.floatlinesComposition.action.create")}' + saveNewEntryTip='{n("observe.content.floatlinesComposition.action.create.tip")}'> <style source="../../CommonTable.jcss"/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUI.jcss index 6b368a9..5599801 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUI.jcss @@ -21,18 +21,18 @@ */ #lineTypeLabel { - text:"observe.floatlinesComposition.lineType"; + text:"observe.content.floatlinesComposition.lineType"; labelFor:{lineType}; } #lineType { property:{FloatlinesCompositionDto.PROPERTY_LINE_TYPE}; selectedItem:{tableEditBean.getLineType()}; - _validatorLabel:{t("observe.floatlinesComposition.lineType")}; + _validatorLabel:{t("observe.content.floatlinesComposition.lineType")}; } #lengthLabel { - text:"observe.floatlinesComposition.length"; + text:"observe.content.floatlinesComposition.length"; labelFor:{length}; } @@ -40,11 +40,11 @@ property:{FloatlinesCompositionDto.PROPERTY_LENGTH}; model:{tableEditBean.getLength()}; numberPattern:{fr.ird.observe.ui.UIHelper.DECIMAL3_PATTERN}; - _validatorLabel:{t("observe.floatlinesComposition.length")}; + _validatorLabel:{t("observe.content.floatlinesComposition.length")}; } #proportionLabel { - text:"observe.floatlinesComposition.proportion"; + text:"observe.content.floatlinesComposition.proportion"; labelFor:{proportion}; } @@ -52,16 +52,16 @@ property:{FloatlinesCompositionDto.PROPERTY_PROPORTION}; model:{tableEditBean.getProportion()}; numberPattern:{fr.ird.observe.ui.UIHelper.INT_6_DIGITS_PATTERN}; - _validatorLabel:{t("observe.floatlinesComposition.proportion")}; + _validatorLabel:{t("observe.content.floatlinesComposition.proportion")}; } #floatlinesCompositionProportionSumLabel { - text:"observe.floatlinesComposition.proportionSum"; + text:"observe.content.floatlinesComposition.proportionSum"; labelFor:{floatlinesCompositionProportionSum}; } #floatlinesCompositionProportionSum { text:{getStringValue(bean.getFloatlinesCompositionProportionSum())}; - _validatorLabel:{t("observe.floatlinesComposition.proportionSum")}; + _validatorLabel:{t("observe.content.floatlinesComposition.proportionSum")}; font-weight:bold; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUIHandler.java index e146c41..fa2a573 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUIHandler.java @@ -75,12 +75,12 @@ public class FloatlinesCompositionUIHandler extends ContentTableUIHandler<SetLon UIHelper.setI18nTableHeaderRenderer( table, - n("observe.floatlinesComposition.table.lineType"), - n("observe.floatlinesComposition.table.lineType.tip"), - n("observe.floatlinesComposition.table.length"), - n("observe.floatlinesComposition.table.length.tip"), - n("observe.floatlinesComposition.table.proportion"), - n("observe.floatlinesComposition.table.proportion.tip")); + n("observe.content.floatlinesComposition.table.lineType"), + n("observe.content.floatlinesComposition.table.lineType.tip"), + n("observe.content.floatlinesComposition.table.length"), + n("observe.content.floatlinesComposition.table.length.tip"), + n("observe.content.floatlinesComposition.table.proportion"), + n("observe.content.floatlinesComposition.table.proportion.tip")); UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, LineTypeDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEmptyNumberTableCellRenderer(renderer)); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUI.jaxx index 3e9d395..91ac447 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUI.jaxx @@ -22,9 +22,9 @@ <fr.ird.observe.ui.content.table.ContentTableUI superGenericType='TripLonglineGearUseDto, GearUseFeaturesLonglineDto' - contentTitle='{n("observe.gearUseFeaturesLongline.title")}' - saveNewEntryText='{n("observe.action.create.gearUseFeaturesLongline")}' - saveNewEntryTip='{n("observe.action.create.gearUseFeaturesLongline.tip")}'> + contentTitle='{n("observe.content.gearUseFeaturesLongline.title")}' + saveNewEntryText='{n("observe.content.action.gearUseFeaturesLongline")}' + saveNewEntryTip='{n("observe.content.action.gearUseFeaturesLongline.tip")}'> <style source="../../CommonTable.jcss"/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUI.jcss index 8843217..c99cca4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUI.jcss @@ -31,12 +31,12 @@ /* ***************************************************************************** */ #generalTab { - title:{t("observe.gearUseFeaturesLongline.tab.general")}; + title:{t("observe.content.gearUseFeaturesLongline.tab.general")}; icon:{handler.getErrorIconIfFalse(model.isGeneralTabValid())}; } #gearLabel { - text:"observe.gearUseFeaturesLongline.gear"; + text:"observe.content.gearUseFeaturesLongline.gear"; labelFor:{gear}; } @@ -46,7 +46,7 @@ } #numberLabel { - text:"observe.gearUseFeaturesLongline.number"; + text:"observe.content.gearUseFeaturesLongline.number"; labelFor:{number}; } @@ -57,7 +57,7 @@ } #usedInTripLabel { - text:"observe.gearUseFeaturesLongline.usedInTrip"; + text:"observe.content.gearUseFeaturesLongline.usedInTrip"; labelFor:{usedInTrip}; } @@ -71,7 +71,7 @@ /* ***************************************************************************** */ #measurementsFormTab { - title:{t("observe.gearUseFeaturesLongline.tab.measurements")}; + title:{t("observe.content.gearUseFeaturesLongline.tab.measurements")}; icon:{handler.getErrorIconIfFalse(measurementsTableModel.isValid())}; enabled:{!tableModel.isCreate()}; } @@ -81,7 +81,7 @@ } #comment { - columnHeaderView:{new JLabel(t("observe.gearUseFeaturesLongline.comment"))}; + columnHeaderView:{new JLabel(t("observe.content.gearUseFeaturesLongline.comment"))}; minimumSize:{new Dimension(10,80)}; } @@ -91,15 +91,15 @@ } #addMeasurement { - text: "observe.gearUseFeaturesLongline.action.addMeasurement"; - toolTipText: "observe.gearUseFeaturesLongline.action.addMeasurement.tip"; + text: "observe.content.gearUseFeaturesLongline.action.addMeasurement"; + toolTipText: "observe.content.gearUseFeaturesLongline.action.addMeasurement.tip"; actionIcon: add; } #deleteSelectedMeasurement { - text: "observe.gearUseFeaturesLongline.action.deleteSelectedMeasurement"; - toolTipText: "observe.gearUseFeaturesLongline.action.deleteSelectedMeasurement.tip"; + text: "observe.content.gearUseFeaturesLongline.action.deleteSelectedMeasurement"; + toolTipText: "observe.content.gearUseFeaturesLongline.action.deleteSelectedMeasurement.tip"; actionIcon: delete; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java index 4c78962..fd9c83d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java @@ -176,7 +176,7 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip ObserveMainUI mainUI = ObserveSwingApplicationContext.get().getMainUI(); int response = UIHelper.askUser(mainUI, t("observe.title.delete"), - t("observe.measurement.delete.message"), + t("observe.content.measurement.delete.message"), JOptionPane.WARNING_MESSAGE, new Object[]{t("observe.choice.confirm.delete"), t("observe.choice.cancel")}, @@ -305,14 +305,14 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip JTable table = getUi().getTable(); UIHelper.setI18nTableHeaderRenderer(table, - n("observe.gearUseFeaturesLongline.table.gear"), - n("observe.gearUseFeaturesLongline.table.gear.tip"), - n("observe.gearUseFeaturesLongline.table.number"), - n("observe.gearUseFeaturesLongline.table.number.tip"), - n("observe.gearUseFeaturesLongline.table.usedInTrip"), - n("observe.gearUseFeaturesLongline.table.usedInTrip.tip"), - n("observe.gearUseFeaturesLongline.table.comment"), - n("observe.gearUseFeaturesLongline.table.comment.tip")); + n("observe.content.gearUseFeaturesLongline.table.gear"), + n("observe.content.gearUseFeaturesLongline.table.gear.tip"), + n("observe.content.gearUseFeaturesLongline.table.number"), + n("observe.content.gearUseFeaturesLongline.table.number.tip"), + n("observe.content.gearUseFeaturesLongline.table.usedInTrip"), + n("observe.content.gearUseFeaturesLongline.table.usedInTrip.tip"), + n("observe.content.gearUseFeaturesLongline.table.comment"), + n("observe.content.gearUseFeaturesLongline.table.comment.tip")); UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, GearDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEmptyNumberTableCellRenderer(renderer)); @@ -325,10 +325,10 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip JTable table = getUi().getMeasurementsTable(); UIHelper.setI18nTableHeaderRenderer(table, - n("observe.gearUseFeaturesLongline.table.gearCaracteristic"), - n("observe.gearUseFeaturesLongline.table.gearCaracteristic.tip"), - n("observe.gearUseFeaturesLongline.table.value"), - n("observe.gearUseFeaturesLongline.table.value.tip")); + n("observe.content.gearUseFeaturesLongline.table.gearCaracteristic"), + n("observe.content.gearUseFeaturesLongline.table.gearCaracteristic.tip"), + n("observe.content.gearUseFeaturesLongline.table.value"), + n("observe.content.gearUseFeaturesLongline.table.value.tip")); UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, GearCaracteristicDto.class)); UIHelper.setTableColumnRenderer(table, 1, new GearUseFeatureMeasurementCellRenderer(0, renderer)); @@ -416,11 +416,11 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip if (dataContext.isSelectedTripLongline()) { - addInfoMessage(t("observe.tripLongline.message.not.open")); + addInfoMessage(t("observe.content.tripLongline.message.not.open")); } else { - addInfoMessage(t("observe.tripLongline.message.not.open")); + addInfoMessage(t("observe.content.tripLongline.message.not.open")); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUI.jaxx index 7b09f87..72c3586 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUI.jaxx @@ -22,9 +22,9 @@ <fr.ird.observe.ui.content.table.ContentTableUI superGenericType='SetLonglineGlobalCompositionDto, HooksCompositionDto' - contentTitle='{n("observe.hooksComposition.title")}' - saveNewEntryText='{n("observe.hooksComposition.action.create")}' - saveNewEntryTip='{n("observe.hooksComposition.action.create.tip")}'> + contentTitle='{n("observe.content.hooksComposition.title")}' + saveNewEntryText='{n("observe.content.hooksComposition.action.create")}' + saveNewEntryTip='{n("observe.content.hooksComposition.action.create.tip")}'> <style source="../../CommonTable.jcss"/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUI.jcss index be9847a..adbd7e2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUI.jcss @@ -21,30 +21,30 @@ */ #hookTypeLabel { - text:"observe.hooksComposition.hookType"; + text:"observe.content.hooksComposition.hookType"; labelFor:{hookType}; } #hookType { property:{HooksCompositionDto.PROPERTY_HOOK_TYPE}; selectedItem:{tableEditBean.getHookType()}; - _validatorLabel:{t("observe.hooksComposition.hookType")}; + _validatorLabel:{t("observe.content.hooksComposition.hookType")}; } #hookSizeLabel { - text:"observe.hooksComposition.hookSize"; + text:"observe.content.hooksComposition.hookSize"; labelFor:{hookSize}; } #hookSize { property:{HooksCompositionDto.PROPERTY_HOOK_SIZE}; selectedItem:{tableEditBean.getHookSize()}; - _validatorLabel:{t("observe.hooksComposition.hookSize")}; + _validatorLabel:{t("observe.content.hooksComposition.hookSize")}; } #hookOffsetLabel { - text:"observe.hooksComposition.hookOffset"; + text:"observe.content.hooksComposition.hookOffset"; labelFor:{hookOffset}; } @@ -52,11 +52,11 @@ property:{HooksCompositionDto.PROPERTY_HOOK_OFFSET}; model:{tableEditBean.getHookOffset()}; numberPattern:{fr.ird.observe.ui.UIHelper.INT_6_DIGITS_PATTERN}; - _validatorLabel:{t("observe.hooksComposition.hookOffset")}; + _validatorLabel:{t("observe.content.hooksComposition.hookOffset")}; } #proportionLabel { - text:"observe.hooksComposition.proportion"; + text:"observe.content.hooksComposition.proportion"; labelFor:{proportion}; } @@ -64,16 +64,16 @@ property:{HooksCompositionDto.PROPERTY_PROPORTION}; model:{tableEditBean.getProportion()}; numberPattern:{fr.ird.observe.ui.UIHelper.INT_6_DIGITS_PATTERN}; - _validatorLabel:{t("observe.hooksComposition.proportion")}; + _validatorLabel:{t("observe.content.hooksComposition.proportion")}; } #hooksCompositionProportionSumLabel { - text:"observe.hooksComposition.proportionSum"; + text:"observe.content.hooksComposition.proportionSum"; labelFor:{hooksCompositionProportionSum}; } #hooksCompositionProportionSum { text:{getStringValue(bean.getHooksCompositionProportionSum())}; - _validatorLabel:{t("observe.hooksComposition.proportionSum")}; + _validatorLabel:{t("observe.content.hooksComposition.proportionSum")}; font-weight:bold; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUIHandler.java index 18f576e..3c914d0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUIHandler.java @@ -76,14 +76,14 @@ public class HooksCompositionUIHandler extends ContentTableUIHandler<SetLongline UIHelper.setI18nTableHeaderRenderer( table, - n("observe.hooksComposition.table.hookType"), - n("observe.hooksComposition.table.hookType.tip"), - n("observe.hooksComposition.table.hookSize"), - n("observe.hooksComposition.table.hookSize.tip"), - n("observe.hooksComposition.table.hookOffset"), - n("observe.hooksComposition.table.hookOffset.tip"), - n("observe.hooksComposition.table.proportion"), - n("observe.hooksComposition.table.proportion.tip")); + n("observe.content.hooksComposition.table.hookType"), + n("observe.content.hooksComposition.table.hookType.tip"), + n("observe.content.hooksComposition.table.hookSize"), + n("observe.content.hooksComposition.table.hookSize.tip"), + n("observe.content.hooksComposition.table.hookOffset"), + n("observe.content.hooksComposition.table.hookOffset.tip"), + n("observe.content.hooksComposition.table.proportion"), + n("observe.content.hooksComposition.table.proportion.tip")); UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, HookTypeDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, HookSizeDto.class)); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUI.jaxx index 2709eb4..71ed4fb 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUI.jaxx @@ -22,9 +22,9 @@ <fr.ird.observe.ui.content.table.ContentTableUI superGenericType='ActivityLonglineSensorUsedDto, SensorUsedDto' - contentTitle='{n("observe.sensorUsed.title")}' - saveNewEntryText='{n("observe.sensorUsed.action.create")}' - saveNewEntryTip='{n("observe.sensorUsed.action.create.tip")}'> + contentTitle='{n("observe.content.sensorUsed.title")}' + saveNewEntryText='{n("observe.content.sensorUsed.action.create")}' + saveNewEntryTip='{n("observe.content.sensorUsed.action.create.tip")}'> <style source="../../CommonTable.jcss"/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUI.jcss index 2b42a73..b1d6374 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUI.jcss @@ -21,57 +21,57 @@ */ #sensorTypeLabel { - text:"observe.sensorUsed.sensorType"; + text:"observe.content.sensorUsed.sensorType"; labelFor:{sensorType}; } #sensorType { property:{SensorUsedDto.PROPERTY_SENSOR_TYPE}; selectedItem:{tableEditBean.getSensorType()}; - _validatorLabel:{t("observe.sensorUsed.sensorType")}; + _validatorLabel:{t("observe.content.sensorUsed.sensorType")}; } #sensorDataFormatLabel { - text:"observe.sensorUsed.sensorDataFormat"; + text:"observe.content.sensorUsed.sensorDataFormat"; labelFor:{sensorDataFormat}; } #sensorDataFormat { property:{SensorUsedDto.PROPERTY_SENSOR_DATA_FORMAT}; selectedItem:{tableEditBean.getSensorDataFormat()}; - _validatorLabel:{t("observe.sensorUsed.sensorDataFormat")}; + _validatorLabel:{t("observe.content.sensorUsed.sensorDataFormat")}; } #sensorBrandLabel { - text:"observe.sensorUsed.sensorBrand"; + text:"observe.content.sensorUsed.sensorBrand"; labelFor:{sensorBrand}; } #sensorBrand { property:{SensorUsedDto.PROPERTY_SENSOR_BRAND}; selectedItem:{tableEditBean.getSensorBrand()}; - _validatorLabel:{t("observe.sensorUsed.sensorBrand")}; + _validatorLabel:{t("observe.content.sensorUsed.sensorBrand")}; } #sensorSerialNoLabel { - text:"observe.sensorUsed.sensorSerialNo"; + text:"observe.content.sensorUsed.sensorSerialNo"; labelFor:{sensorSerialNo}; } #sensorSerialNo { _tablePropertyName:{SensorUsedDto.PROPERTY_SENSOR_SERIAL_NO}; text:{tableEditBean.getSensorSerialNo()}; - _validatorLabel:{t("observe.sensorUsed.sensorSerialNo")}; + _validatorLabel:{t("observe.content.sensorUsed.sensorSerialNo")}; } #resetSensorSerialNo { - toolTipText:"observe.sensorUsed.action.reset.sensorSerialNo.tip"; + toolTipText:"observe.content.sensorUsed.action.reset.sensorSerialNo.tip"; _resetTablePropertyName: {SensorUsedDto.PROPERTY_SENSOR_SERIAL_NO}; } #dataLocationLabel { - text:"observe.sensorUsed.dataLocation"; - toolTipText:"observe.sensorUsed.dataLocation.tip"; + text:"observe.content.sensorUsed.dataLocation"; + toolTipText:"observe.content.sensorUsed.dataLocation.tip"; labelFor:{dataLocation}; } @@ -81,33 +81,33 @@ } #resetDataLocation { - toolTipText:"observe.sensorUsed.action.reset.dataLocation.tip"; + toolTipText:"observe.content.sensorUsed.action.reset.dataLocation.tip"; _resetTablePropertyName: {SensorUsedDto.PROPERTY_DATA_LOCATION}; focusable:false; } #dataLabel { - text:"observe.sensorUsed.data"; + text:"observe.content.sensorUsed.data"; } #importDataButton { actionIcon:data-import; - text:"observe.sensorUsed.importData"; - toolTipText:"observe.sensorUsed.importData.tip"; + text:"observe.content.sensorUsed.importData"; + toolTipText:"observe.content.sensorUsed.importData.tip"; enabled:{! tableEditBean.isHasData()}; } #exportDataButton { actionIcon:data-export; - text:"observe.sensorUsed.exportData"; - toolTipText:"observe.sensorUsed.exportData.tip"; + text:"observe.content.sensorUsed.exportData"; + toolTipText:"observe.content.sensorUsed.exportData.tip"; enabled:{tableEditBean.isHasData()}; } #deleteDataButton { actionIcon:delete; - text:"observe.sensorUsed.deleteData"; - toolTipText:"observe.sensorUsed.deleteData.tip"; + text:"observe.content.sensorUsed.deleteData"; + toolTipText:"observe.content.sensorUsed.deleteData.tip"; enabled:{tableEditBean.isHasData()}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java index e18fb9d..28e1cd8 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java @@ -88,18 +88,18 @@ public class SensorUsedUIHandler extends ContentTableUIHandler<ActivityLonglineS JTable table = getUi().getTable(); UIHelper.setI18nTableHeaderRenderer(table, - n("observe.sensorUsed.table.sensorType"), - n("observe.sensorUsed.table.sensorType.tip"), - n("observe.sensorUsed.table.sensorBrand"), - n("observe.sensorUsed.table.sensorBrand.tip"), - n("observe.sensorUsed.table.sensorDataFormat"), - n("observe.sensorUsed.table.sensorDataFormat.tip"), - n("observe.sensorUsed.table.sensorSerialNo"), - n("observe.sensorUsed.table.sensorSerialNo.tip"), - n("observe.sensorUsed.table.data"), - n("observe.sensorUsed.table.data.tip"), - n("observe.sensorUsed.table.dataLocation"), - n("observe.sensorUsed.table.dataLocation.tip")); + n("observe.content.sensorUsed.table.sensorType"), + n("observe.content.sensorUsed.table.sensorType.tip"), + n("observe.content.sensorUsed.table.sensorBrand"), + n("observe.content.sensorUsed.table.sensorBrand.tip"), + n("observe.content.sensorUsed.table.sensorDataFormat"), + n("observe.content.sensorUsed.table.sensorDataFormat.tip"), + n("observe.content.sensorUsed.table.sensorSerialNo"), + n("observe.content.sensorUsed.table.sensorSerialNo.tip"), + n("observe.content.sensorUsed.table.data"), + n("observe.content.sensorUsed.table.data.tip"), + n("observe.content.sensorUsed.table.dataLocation"), + n("observe.content.sensorUsed.table.dataLocation.tip")); UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SensorTypeDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SensorBrandDto.class)); @@ -117,7 +117,7 @@ public class SensorUsedUIHandler extends ContentTableUIHandler<ActivityLonglineS public void importData() { File file = UIHelper.chooseFile((Component) ui, - t("observe.title.choose.sensorUsed.importData"), + t("observe.content.choose.sensorUsed.title.importData"), t("observe.action.choose.sensorUsed.importData"), null); @@ -139,7 +139,7 @@ public class SensorUsedUIHandler extends ContentTableUIHandler<ActivityLonglineS int response = UIHelper.askUser((Component) ui, t("observe.title.delete"), - t("observe.sensorUsed.delete.data.message"), + t("observe.content.sensorUsed.delete.data.message"), JOptionPane.WARNING_MESSAGE, new Object[]{t("observe.choice.confirm.delete"), t("observe.choice.cancel")}, @@ -171,7 +171,7 @@ public class SensorUsedUIHandler extends ContentTableUIHandler<ActivityLonglineS File file = JaxxFileChooser .forSaving() .setParent(getUi()) - .setTitle(t("observe.title.choose.sensorUsed.exportData")) + .setTitle(t("observe.content.choose.sensorUsed.title.exportData")) .setApprovalText(t("observe.action.choose.sensorUsed.exportData")) .setFilename(dataFile.getName()) .setUseAcceptAllFileFilter(true) @@ -188,7 +188,7 @@ public class SensorUsedUIHandler extends ContentTableUIHandler<ActivityLonglineS Files.write(file.toPath(), dataFile.getContent()); ObserveMainUI mainUI = ObserveSwingApplicationContext.get().getMainUI(); - mainUI.getStatus().setStatus(t("observe.sensorUsed.message.data.exported", file)); + mainUI.getStatus().setStatus(t("observe.content.sensorUsed.message.data.exported", file)); } catch (IOException e) { throw new ObserveSwingTechnicalException("Could not save binary data to " + file, e); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.jaxx index e5c45f4..d08bdfc 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.jaxx @@ -21,9 +21,9 @@ --> <fr.ird.observe.ui.content.table.ContentTableUI superGenericType='SetLonglineTdrDto, TdrDto' - contentTitle='{n("observe.tdr.title")}' - saveNewEntryText='{n("observe.tdr.action.create")}' - saveNewEntryTip='{n("observe.tdr.action.create.tip")}'> + contentTitle='{n("observe.content.tdr.title")}' + saveNewEntryText='{n("observe.content.tdr.action.create")}' + saveNewEntryTip='{n("observe.content.tdr.action.create.tip")}'> <style source="../../CommonTable.jcss"/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.jcss index 78dcc66..25ce7cc 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.jcss @@ -25,12 +25,12 @@ /* ***************************************************************************** */ #caracteristicsTab { - title:{t("observe.tdr.tab.caracteristics")}; + title:{t("observe.content.tdr.tab.caracteristics")}; icon:{handler.getErrorIconIfFalse(model.isCaracteristicsTabValid())}; } #homeIdLabel { - text:"observe.tdr.homeId"; + text:"observe.content.tdr.homeId"; labelFor:{homeId}; } @@ -40,12 +40,12 @@ } #resetHomeId { - toolTipText:"observe.tdr.action.reset.homeId.tip"; + toolTipText:"observe.content.tdr.action.reset.homeId.tip"; _resetTablePropertyName: {TdrDto.PROPERTY_HOME_ID}; } #serialNoLabel { - text:"observe.tdr.serialNo"; + text:"observe.content.tdr.serialNo"; labelFor:{serialNo}; } @@ -55,13 +55,13 @@ } #resetSerialNo { - toolTipText:"observe.tdr.action.reset.serialNo.tip"; + toolTipText:"observe.content.tdr.action.reset.serialNo.tip"; _resetTablePropertyName: {TdrDto.PROPERTY_SERIAL_NO}; } #sensorBrandLabel { - text:"observe.tdr.sensorBrand"; + text:"observe.content.tdr.sensorBrand"; labelFor:{sensorBrand}; } @@ -71,8 +71,8 @@ } #dataLocationLabel { - text:"observe.tdr.dataLocation"; - toolTipText:"observe.tdr.dataLocation.tip"; + text:"observe.content.tdr.dataLocation"; + toolTipText:"observe.content.tdr.dataLocation.tip"; labelFor:{dataLocation}; } @@ -82,33 +82,33 @@ } #resetDataLocation { - toolTipText:"observe.tdr.action.reset.dataLocation.tip"; + toolTipText:"observe.content.tdr.action.reset.dataLocation.tip"; _resetTablePropertyName: {TdrDto.PROPERTY_DATA_LOCATION}; focusable:false; } #dataLabel { - text:"observe.tdr.data"; + text:"observe.content.tdr.data"; } #importDataButton { actionIcon:data-import; - text:"observe.tdr.importData"; - toolTipText:"observe.tdr.importData.tip"; + text:"observe.content.tdr.importData"; + toolTipText:"observe.content.tdr.importData.tip"; enabled:{! tableEditBean.isHasData()}; } #exportDataButton { actionIcon:data-export; - text:"observe.tdr.exportData"; - toolTipText:"observe.tdr.exportData.tip"; + text:"observe.content.tdr.exportData"; + toolTipText:"observe.content.tdr.exportData.tip"; enabled:{tableEditBean.isHasData()}; } #deleteDataButton { actionIcon:delete; - text:"observe.tdr.deleteData"; - toolTipText:"observe.tdr.deleteData.tip"; + text:"observe.content.tdr.deleteData"; + toolTipText:"observe.content.tdr.deleteData.tip"; enabled:{tableEditBean.isHasData()}; } @@ -117,16 +117,16 @@ /* ***************************************************************************** */ #localisationTab { - title:{t("observe.tdr.tab.localisation")}; + title:{t("observe.content.tdr.tab.localisation")}; icon:{handler.getErrorIconIfFalse(model.isLocalisationTabValid())}; } #locationOnLonglinePanel { - border:{new TitledBorder(t("observe.tdr.locationOnLongline"))}; + border:{new TitledBorder(t("observe.content.tdr.locationOnLongline"))}; } #sectionLabel { - text:"observe.tdr.section"; + text:"observe.content.tdr.section"; labelFor:{section}; } @@ -134,11 +134,11 @@ property:{TdrDto.PROPERTY_SECTION}; selectedItem:{tableEditBean.getSection()}; _listNoLoad:{true}; - _validatorLabel: {t("observe.tdr.section")}; + _validatorLabel: {t("observe.content.tdr.section")}; } #basketLabel { - text:"observe.tdr.basket"; + text:"observe.content.tdr.basket"; labelFor:{basket}; } @@ -146,11 +146,11 @@ property:{TdrDto.PROPERTY_BASKET}; selectedItem:{tableEditBean.getBasket()}; _listNoLoad:{true}; - _validatorLabel: {t("observe.tdr.basket")}; + _validatorLabel: {t("observe.content.tdr.basket")}; } #branchlineLabel { - text:"observe.tdr.branchline"; + text:"observe.content.tdr.branchline"; labelFor:{branchline}; } @@ -158,33 +158,33 @@ property:{TdrDto.PROPERTY_BRANCHLINE}; selectedItem:{tableEditBean.getBranchline()}; _listNoLoad:{true}; - _validatorLabel: {t("observe.tdr.branchline")}; + _validatorLabel: {t("observe.content.tdr.branchline")}; } #itemHorizontalPositionLabel { - text:"observe.tdr.itemHorizontalPosition"; + text:"observe.content.tdr.itemHorizontalPosition"; labelFor:{itemHorizontalPosition}; } #itemHorizontalPosition { property:{TdrDto.PROPERTY_ITEM_HORIZONTAL_POSITION}; selectedItem:{tableEditBean.getItemHorizontalPosition()}; - _validatorLabel: {t("observe.tdr.itemHorizontalPosition")}; + _validatorLabel: {t("observe.content.tdr.itemHorizontalPosition")}; } #itemVerticalPositionLabel { - text:"observe.tdr.itemVerticalPosition"; + text:"observe.content.tdr.itemVerticalPosition"; labelFor:{itemVerticalPosition}; } #itemVerticalPosition { property:{TdrDto.PROPERTY_ITEM_VERTICAL_POSITION}; selectedItem:{tableEditBean.getItemVerticalPosition()}; - _validatorLabel: {t("observe.tdr.itemVerticalPosition")}; + _validatorLabel: {t("observe.content.tdr.itemVerticalPosition")}; } #floatline1LengthLabel { - text:"observe.tdr.floatline1Length"; + text:"observe.content.tdr.floatline1Length"; labelFor:{floatline1Length}; } @@ -192,11 +192,11 @@ property:{TdrDto.PROPERTY_FLOATLINE1_LENGTH}; model:{tableEditBean.getFloatline1Length()}; numberPattern:{fr.ird.observe.ui.UIHelper.DECIMAL3_PATTERN}; - _validatorLabel: {t("observe.tdr.floatline1Length")}; + _validatorLabel: {t("observe.content.tdr.floatline1Length")}; } #floatline2LengthLabel { - text:"observe.tdr.floatline2Length"; + text:"observe.content.tdr.floatline2Length"; labelFor:{floatline2Length}; } @@ -204,7 +204,7 @@ property:{TdrDto.PROPERTY_FLOATLINE2_LENGTH}; model:{tableEditBean.getFloatline2Length()}; numberPattern:{fr.ird.observe.ui.UIHelper.DECIMAL3_PATTERN}; - _validatorLabel: {t("observe.tdr.floatline2Length")}; + _validatorLabel: {t("observe.content.tdr.floatline2Length")}; } @@ -213,13 +213,13 @@ /* ***************************************************************************** */ #timestampTab { - title:{t("observe.tdr.tab.timestamp")}; + title:{t("observe.content.tdr.tab.timestamp")}; icon:{handler.getErrorIconIfFalse(model.isTimestampTabValid())}; } #enableTimestamp { - text:"observe.tdr.enableTimestamp"; - toolTipText:"observe.tdr.enableTimestamp.tip"; + text:"observe.content.tdr.enableTimestamp"; + toolTipText:"observe.content.tdr.enableTimestamp.tip"; } #timestampPanel { @@ -227,31 +227,31 @@ } #deployementStart { - label:{t("observe.tdr.deployementStart")}; + label:{t("observe.content.tdr.deployementStart")}; date:{tableEditBean.getDeployementStart()}; propertyDate: {TdrDto.PROPERTY_DEPLOYEMENT_START}; - _validatorLabel: {t("observe.tdr.deployementStart")}; + _validatorLabel: {t("observe.content.tdr.deployementStart")}; } #deployementEnd { - label:{t("observe.tdr.deployementEnd")}; + label:{t("observe.content.tdr.deployementEnd")}; date:{tableEditBean.getDeployementEnd()}; propertyDate: {TdrDto.PROPERTY_DEPLOYEMENT_END}; - _validatorLabel: {t("observe.tdr.deployementEnd")}; + _validatorLabel: {t("observe.content.tdr.deployementEnd")}; } #fishingStart { - label:{t("observe.tdr.fishingStart")}; + label:{t("observe.content.tdr.fishingStart")}; date:{tableEditBean.getFishingStart()}; propertyDate: {TdrDto.PROPERTY_FISHING_START}; - _validatorLabel: {t("observe.tdr.fishingStart")}; + _validatorLabel: {t("observe.content.tdr.fishingStart")}; } #fishingEnd { - label:{t("observe.tdr.fishingEnd")}; + label:{t("observe.content.tdr.fishingEnd")}; date:{tableEditBean.getFishingEnd()}; propertyDate: {TdrDto.PROPERTY_FISHING_END}; - _validatorLabel: {t("observe.tdr.fishingEnd")}; + _validatorLabel: {t("observe.content.tdr.fishingEnd")}; } /* ***************************************************************************** */ @@ -259,96 +259,96 @@ /* ***************************************************************************** */ #keyDataTab { - title:{t("observe.tdr.tab.keyData")}; + title:{t("observe.content.tdr.tab.keyData")}; icon:{handler.getErrorIconIfFalse(model.isKeyDataTabValid())}; } #fishingStartDepthLabel { - text:"observe.tdr.fishingStartDepth"; + text:"observe.content.tdr.fishingStartDepth"; labelFor:{fishingStartDepth}; } #fishingStartDepth { property:{TdrDto.PROPERTY_FISHING_START_DEPTH}; model:{tableEditBean.getFishingStartDepth()}; - _validatorLabel: {t("observe.tdr.fishingStartDepth")}; + _validatorLabel: {t("observe.content.tdr.fishingStartDepth")}; } #fishingEndDepthLabel { - text:"observe.tdr.fishingEndDepth"; + text:"observe.content.tdr.fishingEndDepth"; labelFor:{fishingEndDepth}; } #fishingEndDepth { property:{TdrDto.PROPERTY_FISHING_END_DEPTH}; model:{tableEditBean.getFishingEndDepth()}; - _validatorLabel: {t("observe.tdr.fishingEndDepth")}; + _validatorLabel: {t("observe.content.tdr.fishingEndDepth")}; } #meanDeployementDepthLabel { - text:"observe.tdr.meanDeployementDepth"; + text:"observe.content.tdr.meanDeployementDepth"; labelFor:{meanDeployementDepth}; } #meanDeployementDepth { property:{TdrDto.PROPERTY_MEAN_DEPLOYEMENT_DEPTH}; model:{tableEditBean.getMeanDeployementDepth()}; - _validatorLabel: {t("observe.tdr.meanDeployementDepth")}; + _validatorLabel: {t("observe.content.tdr.meanDeployementDepth")}; } #medianDeployementDepthLabel { - text:"observe.tdr.medianDeployementDepth"; + text:"observe.content.tdr.medianDeployementDepth"; labelFor:{medianDeployementDepth}; } #medianDeployementDepth { property:{TdrDto.PROPERTY_MEDIAN_DEPLOYEMENT_DEPTH}; model:{tableEditBean.getMedianDeployementDepth()}; - _validatorLabel: {t("observe.tdr.medianDeployementDepth")}; + _validatorLabel: {t("observe.content.tdr.medianDeployementDepth")}; } #minFishingDepthLabel { - text:"observe.tdr.minFishingDepth"; + text:"observe.content.tdr.minFishingDepth"; labelFor:{minFishingDepth}; } #minFishingDepth { property:{TdrDto.PROPERTY_MIN_FISHING_DEPTH}; model:{tableEditBean.getMinFishingDepth()}; - _validatorLabel: {t("observe.tdr.minFishingDepth")}; + _validatorLabel: {t("observe.content.tdr.minFishingDepth")}; } #maxFishingDepthLabel { - text:"observe.tdr.maxFishingDepth"; + text:"observe.content.tdr.maxFishingDepth"; labelFor:{maxFishingDepth}; } #maxFishingDepth { property:{TdrDto.PROPERTY_MAX_FISHING_DEPTH}; model:{tableEditBean.getMaxFishingDepth()}; - _validatorLabel: {t("observe.tdr.maxFishingDepth")}; + _validatorLabel: {t("observe.content.tdr.maxFishingDepth")}; } #meanFishingDepthLabel { - text:"observe.tdr.meanFishingDepth"; + text:"observe.content.tdr.meanFishingDepth"; labelFor:{meanFishingDepth}; } #meanFishingDepth { property:{TdrDto.PROPERTY_MEAN_FISHING_DEPTH}; model:{tableEditBean.getMeanFishingDepth()}; - _validatorLabel: {t("observe.tdr.meanFishingDepth")}; + _validatorLabel: {t("observe.content.tdr.meanFishingDepth")}; } #medianFishingDepthLabel { - text:"observe.tdr.medianFishingDepth"; + text:"observe.content.tdr.medianFishingDepth"; labelFor:{medianFishingDepth}; } #medianFishingDepth { property:{TdrDto.PROPERTY_MEDIAN_FISHING_DEPTH}; model:{tableEditBean.getMedianFishingDepth()}; - _validatorLabel: {t("observe.tdr.medianFishingDepth")}; + _validatorLabel: {t("observe.content.tdr.medianFishingDepth")}; } /* ***************************************************************************** */ @@ -356,15 +356,15 @@ /* ***************************************************************************** */ #speciesTab { - title:{t("observe.tdr.tab.species")}; + title:{t("observe.content.tdr.tab.species")}; icon:{handler.getErrorIconIfFalse(model.isSpeciesTabValid())}; } #species { property: {TdrDto.PROPERTY_SPECIES}; selected:{(java.util.Collection)tableEditBean.getSpecies()}; - _validatorLabel: {t("observe.tdr.species")}; + _validatorLabel: {t("observe.content.tdr.species")}; showListLabel: true; - universeLabel:{t("observe.tdr.availableSpecies")}; - selectedLabel:{t("observe.tdr.selectedSpecies")}; + universeLabel:{t("observe.content.tdr.availableSpecies")}; + selectedLabel:{t("observe.content.tdr.selectedSpecies")}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java index d0d5cb7..00568c9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java @@ -168,14 +168,14 @@ public class TdrUIHandler extends ContentTableUIHandler<SetLonglineTdrDto, TdrDt JTable table = getUi().getTable(); UIHelper.setI18nTableHeaderRenderer(table, - n("observe.tdr.table.homeId"), - n("observe.tdr.table.homeId.tip"), - n("observe.tdr.table.serialNo"), - n("observe.tdr.table.serialNo.tip"), - n("observe.tdr.table.sensorBrand"), - n("observe.tdr.table.sensorBrand.tip"), - n("observe.tdr.table.data"), - n("observe.sensorUsed.table.data.tip")); + n("observe.content.tdr.table.homeId"), + n("observe.content.tdr.table.homeId.tip"), + n("observe.content.tdr.table.serialNo"), + n("observe.content.tdr.table.serialNo.tip"), + n("observe.content.tdr.table.sensorBrand"), + n("observe.content.tdr.table.sensorBrand.tip"), + n("observe.content.tdr.table.data"), + n("observe.content.sensorUsed.table.data.tip")); UIHelper.setTableColumnRenderer(table, 0, UIHelper.newStringTableCellRenderer(renderer, 10, true)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newStringTableCellRenderer(renderer, 10, true)); @@ -277,7 +277,7 @@ public class TdrUIHandler extends ContentTableUIHandler<SetLonglineTdrDto, TdrDt public void importData() { File file = UIHelper.chooseFile((Component) ui, - t("observe.title.choose.tdr.importData"), + t("observe.content.choose.tdr.title.importData"), t("observe.action.choose.tdr.importData"), null); @@ -299,7 +299,7 @@ public class TdrUIHandler extends ContentTableUIHandler<SetLonglineTdrDto, TdrDt int response = UIHelper.askUser((Component) ui, t("observe.title.delete"), - t("observe.tdr.delete.data.message"), + t("observe.content.tdr.delete.data.message"), JOptionPane.WARNING_MESSAGE, new Object[]{t("observe.choice.confirm.delete"), t("observe.choice.cancel")}, @@ -330,7 +330,7 @@ public class TdrUIHandler extends ContentTableUIHandler<SetLonglineTdrDto, TdrDt File file = JaxxFileChooser .forSaving() .setParent(getUi()) - .setTitle(t("observe.title.choose.tdr.exportData")) + .setTitle(t("observe.content.choose.tdr.title.exportData")) .setApprovalText(t("observe.action.choose.tdr.exportData")) .setFilename(dataFile.getName()) .setUseAcceptAllFileFilter(true) @@ -347,7 +347,7 @@ public class TdrUIHandler extends ContentTableUIHandler<SetLonglineTdrDto, TdrDt Files.write(file.toPath(), dataFile.getContent()); ObserveMainUI mainUI = ObserveSwingApplicationContext.get().getMainUI(); - mainUI.getStatus().setStatus(t("observe.sensorUsed.message.data.exported", file)); + mainUI.getStatus().setStatus(t("observe.content.sensorUsed.message.data.exported", file)); } catch (IOException e) { throw new ObserveSwingTechnicalException("Could not save binary data to " + file, e); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUI.jaxx index a9ea4b4..656dc48 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUI.jaxx @@ -22,9 +22,9 @@ <fr.ird.observe.ui.content.table.ContentTableUI superGenericType='TripSeineGearUseDto, GearUseFeaturesSeineDto' - contentTitle='{n("observe.gearUseFeaturesSeine.title")}' - saveNewEntryText='{n("observe.action.create.gearUseFeaturesSeine")}' - saveNewEntryTip='{n("observe.action.create.gearUseFeaturesSeine.tip")}'> + contentTitle='{n("observe.content.gearUseFeaturesSeine.title")}' + saveNewEntryText='{n("observe.content.action.create.gearUseFeaturesSeine")}' + saveNewEntryTip='{n("observe.content.action.create.gearUseFeaturesSeine.tip")}'> <style source="../../CommonTable.jcss"/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUI.jcss index ce7cf6e..52961c3 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUI.jcss @@ -31,12 +31,12 @@ /* ***************************************************************************** */ #generalTab { - title:{t("observe.gearUseFeaturesSeine.tab.general")}; + title:{t("observe.content.gearUseFeaturesSeine.tab.general")}; icon:{handler.getErrorIconIfFalse(model.isGeneralTabValid())}; } #gearLabel { - text:"observe.gearUseFeaturesSeine.gear"; + text:"observe.content.gearUseFeaturesSeine.gear"; labelFor:{gear}; } @@ -46,7 +46,7 @@ } #numberLabel { - text:"observe.gearUseFeaturesSeine.number"; + text:"observe.content.gearUseFeaturesSeine.number"; labelFor:{number}; } @@ -57,7 +57,7 @@ } #usedInTripLabel { - text:"observe.gearUseFeaturesSeine.usedInTrip"; + text:"observe.content.gearUseFeaturesSeine.usedInTrip"; labelFor:{usedInTrip}; } @@ -71,7 +71,7 @@ /* ***************************************************************************** */ #measurementsFormTab { - title:{t("observe.gearUseFeaturesSeine.tab.measurements")}; + title:{t("observe.content.gearUseFeaturesSeine.tab.measurements")}; icon:{handler.getErrorIconIfFalse(measurementsTableModel.isValid())}; enabled:{!tableModel.isCreate()}; } @@ -81,7 +81,7 @@ } #comment { - columnHeaderView:{new JLabel(t("observe.gearUseFeaturesSeine.comment"))}; + columnHeaderView:{new JLabel(t("observe.content.gearUseFeaturesSeine.comment"))}; minimumSize:{new Dimension(10,80)}; } @@ -91,13 +91,13 @@ } #addMeasurement { - text: "observe.gearUseFeaturesSeine.action.addMeasurement"; - toolTipText: "observe.gearUseFeaturesSeine.action.addMeasurement.tip"; + text: "observe.content.gearUseFeaturesSeine.action.addMeasurement"; + toolTipText: "observe.content.gearUseFeaturesSeine.action.addMeasurement.tip"; actionIcon: add; } #deleteSelectedMeasurement { - text: "observe.gearUseFeaturesSeine.action.deleteSelectedMeasurement"; - toolTipText: "observe.gearUseFeaturesSeine.action.deleteSelectedMeasurement.tip"; + text: "observe.content.gearUseFeaturesSeine.action.deleteSelectedMeasurement"; + toolTipText: "observe.content.gearUseFeaturesSeine.action.deleteSelectedMeasurement.tip"; actionIcon: delete; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java index 1746fca..02d5880 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java @@ -174,7 +174,7 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei ObserveMainUI mainUI = ObserveSwingApplicationContext.get().getMainUI(); int response = UIHelper.askUser(mainUI, t("observe.title.delete"), - t("observe.measurement.delete.message"), + t("observe.content.measurement.delete.message"), JOptionPane.WARNING_MESSAGE, new Object[]{t("observe.choice.confirm.delete"), t("observe.choice.cancel")}, @@ -302,14 +302,14 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei JTable table = getUi().getTable(); UIHelper.setI18nTableHeaderRenderer(table, - n("observe.gearUseFeaturesSeine.table.gear"), - n("observe.gearUseFeaturesSeine.table.gear.tip"), - n("observe.gearUseFeaturesSeine.table.number"), - n("observe.gearUseFeaturesSeine.table.number.tip"), - n("observe.gearUseFeaturesSeine.table.usedInTrip"), - n("observe.gearUseFeaturesSeine.table.usedInTrip.tip"), - n("observe.gearUseFeaturesSeine.table.comment"), - n("observe.gearUseFeaturesSeine.table.comment.tip")); + n("observe.content.gearUseFeaturesSeine.table.gear"), + n("observe.content.gearUseFeaturesSeine.table.gear.tip"), + n("observe.content.gearUseFeaturesSeine.table.number"), + n("observe.content.gearUseFeaturesSeine.table.number.tip"), + n("observe.content.gearUseFeaturesSeine.table.usedInTrip"), + n("observe.content.gearUseFeaturesSeine.table.usedInTrip.tip"), + n("observe.content.gearUseFeaturesSeine.table.comment"), + n("observe.content.gearUseFeaturesSeine.table.comment.tip")); UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, GearDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEmptyNumberTableCellRenderer(renderer)); @@ -322,10 +322,10 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei JTable table = getUi().getMeasurementsTable(); UIHelper.setI18nTableHeaderRenderer(table, - n("observe.gearUseFeaturesSeine.table.gearCaracteristic"), - n("observe.gearUseFeaturesSeine.table.gearCaracteristic.tip"), - n("observe.gearUseFeaturesSeine.table.value"), - n("observe.gearUseFeaturesSeine.table.value.tip")); + n("observe.content.gearUseFeaturesSeine.table.gearCaracteristic"), + n("observe.content.gearUseFeaturesSeine.table.gearCaracteristic.tip"), + n("observe.content.gearUseFeaturesSeine.table.value"), + n("observe.content.gearUseFeaturesSeine.table.value.tip")); UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, GearCaracteristicDto.class)); UIHelper.setTableColumnRenderer(table, 1, new GearUseFeatureMeasurementCellRenderer(0, renderer)); @@ -413,11 +413,11 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei if (dataContext.isSelectedTripLongline()) { - addInfoMessage(t("observe.tripLongline.message.not.open")); + addInfoMessage(t("observe.content.tripLongline.message.not.open")); } else { - addInfoMessage(t("observe.tripSeine.message.not.open")); + addInfoMessage(t("observe.content.tripSeine.message.not.open")); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUI.jaxx index 4434aa6..4471f0b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUI.jaxx @@ -24,8 +24,8 @@ <fr.ird.observe.ui.content.table.ContentTableUI superGenericType='SetSeineNonTargetCatchDto, NonTargetCatchDto' contentTitle='{n("observe.common.nonTargetCatch")}' - saveNewEntryText='{n("observe.action.create.nonTargetCatch")}' - saveNewEntryTip='{n("observe.action.create.nonTargetCatch.tip")}'> + saveNewEntryText='{n("observe.content.action.create.nonTargetCatch")}' + saveNewEntryTip='{n("observe.content.action.create.nonTargetCatch.tip")}'> <style source="../../CommonTable.jcss"/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUI.jcss index e2cc569..60d169c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUI.jcss @@ -21,7 +21,7 @@ */ #tableModel{ - deleteExtraMessage:{t("observe.nonTargetCatch.table.deleteExtraMessage")}; + deleteExtraMessage:{t("observe.content.nonTargetCatch.table.deleteExtraMessage")}; } #speciesLabel { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java index db559a1..f74641e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java @@ -259,22 +259,22 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa UIHelper.setI18nTableHeaderRenderer( table, - n("observe.nonTargetCatch.table.speciesFaune"), - n("observe.nonTargetCatch.table.speciesFaune.tip"), - n("observe.nonTargetCatch.table.speciesFate"), - n("observe.nonTargetCatch.table.speciesFate.tip"), - n("observe.nonTargetCatch.table.reasonForDiscard"), - n("observe.nonTargetCatch.table.reasonForDiscard.tip"), - n("observe.nonTargetCatch.table.catchWeight"), - n("observe.nonTargetCatch.table.catchWeight.tip"), - n("observe.nonTargetCatch.table.totalCount"), - n("observe.nonTargetCatch.table.totalCount.tip"), - n("observe.nonTargetCatch.table.meanWeight"), - n("observe.nonTargetCatch.table.meanWeight.tip"), - n("observe.nonTargetCatch.table.meanLength"), - n("observe.nonTargetCatch.table.meanLength.tip"), - n("observe.nonTargetCatch.table.comment"), - n("observe.nonTargetCatch.table.comment.tip")); + n("observe.content.nonTargetCatch.table.speciesFaune"), + n("observe.content.nonTargetCatch.table.speciesFaune.tip"), + n("observe.content.nonTargetCatch.table.speciesFate"), + n("observe.content.nonTargetCatch.table.speciesFate.tip"), + n("observe.content.nonTargetCatch.table.reasonForDiscard"), + n("observe.content.nonTargetCatch.table.reasonForDiscard.tip"), + n("observe.content.nonTargetCatch.table.catchWeight"), + n("observe.content.nonTargetCatch.table.catchWeight.tip"), + n("observe.content.nonTargetCatch.table.totalCount"), + n("observe.content.nonTargetCatch.table.totalCount.tip"), + n("observe.content.nonTargetCatch.table.meanWeight"), + n("observe.content.nonTargetCatch.table.meanWeight.tip"), + n("observe.content.nonTargetCatch.table.meanLength"), + n("observe.content.nonTargetCatch.table.meanLength.tip"), + n("observe.content.nonTargetCatch.table.comment"), + n("observe.content.nonTargetCatch.table.comment.tip")); UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SpeciesDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SpeciesFateDto.class)); @@ -326,7 +326,7 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa } int reponse = UIHelper.askUser( t("observe.title.need.confirm"), - t("observe.nonTargetCatch.message.table.will.delete.nonTargetSample", sb.toString()), + t("observe.content.nonTargetCatch.message.table.will.delete.nonTargetSample", sb.toString()), JOptionPane.ERROR_MESSAGE, new Object[]{ t("observe.choice.continue"), diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jaxx index 745a1ef..c5951b8 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jaxx @@ -23,8 +23,8 @@ <fr.ird.observe.ui.content.table.ContentTableUI superGenericType='NonTargetSampleDto, NonTargetLengthDto' contentTitle='{n("observe.common.nonTargetSample")}' - saveNewEntryText='{n("observe.action.create.nonTargetSample")}' - saveNewEntryTip='{n("observe.action.create.nonTargetSample.tip")}'> + saveNewEntryText='{n("observe.content.action.create.nonTargetSample")}' + saveNewEntryTip='{n("observe.content.action.create.nonTargetSample.tip")}'> <style source="../../CommonTable.jcss"/> <style source="AbstractSampleUI.jcss"/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jcss index 39dbdf5..73c39f4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jcss @@ -89,7 +89,7 @@ } #resetPicturesReferences{ - toolTipText:"observe.action.reset.picturesReferences.tip"; + toolTipText:"observe.content.action.reset.picturesReferences.tip"; _resetTablePropertyName:{NonTargetLengthDto.PROPERTY_PICTURES_REFERENCES}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java index b8890ad..14e6920 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java @@ -181,18 +181,18 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam UIHelper.setI18nTableHeaderRenderer( table, - n("observe.nonTargetSample.table.speciesFaune"), - n("observe.nonTargetSample.table.speciesFaune.tip"), - n("observe.nonTargetSample.table.length"), - n("observe.nonTargetSample.table.length.tip"), - n("observe.nonTargetSample.table.meanWeight"), - n("observe.nonTargetSample.table.meanWeight.tip"), - n("observe.nonTargetSample.table.count"), - n("observe.nonTargetSample.table.count.tip"), - n("observe.nonTargetSample.table.gender"), - n("observe.nonTargetSample.table.gender.tip"), - n("observe.nonTargetSample.table.picturesReferences"), - n("observe.nonTargetSample.table.picturesReferences.tip")); + n("observe.content.nonTargetSample.table.speciesFaune"), + n("observe.content.nonTargetSample.table.speciesFaune.tip"), + n("observe.content.nonTargetSample.table.length"), + n("observe.content.nonTargetSample.table.length.tip"), + n("observe.content.nonTargetSample.table.meanWeight"), + n("observe.content.nonTargetSample.table.meanWeight.tip"), + n("observe.content.nonTargetSample.table.count"), + n("observe.content.nonTargetSample.table.count.tip"), + n("observe.content.nonTargetSample.table.gender"), + n("observe.content.nonTargetSample.table.gender.tip"), + n("observe.content.nonTargetSample.table.picturesReferences"), + n("observe.content.nonTargetSample.table.picturesReferences.tip")); UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SpeciesDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEmptyNumberTableCellRenderer(renderer)); @@ -220,7 +220,7 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam addMessage(getUi(), NuitonValidatorScope.INFO, getEntityLabel(SetSeineDto.class), - t("observe.setSeine.message.no.nonTargetDiscarded")); + t("observe.content.setSeine.message.no.nonTargetDiscarded")); } return mode; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUI.jaxx index 29db4cd..4414791 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUI.jaxx @@ -23,8 +23,8 @@ <fr.ird.observe.ui.content.table.ContentTableUI superGenericType='FloatingObjectObservedSpeciesDto, ObjectObservedSpeciesDto' contentTitle='{n("observe.common.objectObservedSpecies")}' - saveNewEntryText='{n("observe.action.create.objectObservedSpecies")}' - saveNewEntryTip='{n("observe.action.create.objectObservedSpecies.tip")}'> + saveNewEntryText='{n("observe.content.action.create.objectObservedSpecies")}' + saveNewEntryTip='{n("observe.content.action.create.objectObservedSpecies.tip")}'> <style source="../../CommonTable.jcss"/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java index aab061e..b105219 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java @@ -88,12 +88,12 @@ public class ObjectObservedSpeciesUIHandler extends ContentTableUIHandler<Floati JTable table = getUi().getTable(); UIHelper.setI18nTableHeaderRenderer(table, - n("observe.objectObservedSpecies.table.speciesFaune"), - n("observe.objectObservedSpecies.table.speciesFaune.tip"), - n("observe.objectObservedSpecies.table.speciesStatus"), - n("observe.objectObservedSpecies.table.speciesStatus.tip"), - n("observe.objectObservedSpecies.table.count"), - n("observe.objectObservedSpecies.table.count.tip")); + n("observe.content.objectObservedSpecies.table.speciesFaune"), + n("observe.content.objectObservedSpecies.table.speciesFaune.tip"), + n("observe.content.objectObservedSpecies.table.speciesStatus"), + n("observe.content.objectObservedSpecies.table.speciesStatus.tip"), + n("observe.content.objectObservedSpecies.table.count"), + n("observe.content.objectObservedSpecies.table.count.tip")); UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SpeciesDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SpeciesStatusDto.class)); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUI.jaxx index c4bf110..8d755f4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUI.jaxx @@ -23,8 +23,8 @@ <fr.ird.observe.ui.content.table.ContentTableUI superGenericType='FloatingObjectSchoolEstimateDto, ObjectSchoolEstimateDto' contentTitle='{n("observe.common.schoolEstimate")}' - saveNewEntryText='{n("observe.action.create.schoolEstimate")}' - saveNewEntryTip='{n("observe.action.create.schoolEstimate.tip")}'> + saveNewEntryText='{n("observe.content.action.create.schoolEstimate")}' + saveNewEntryTip='{n("observe.content.action.create.schoolEstimate.tip")}'> <style source="../../CommonTable.jcss"/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java index 45a6892..a5bc97d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java @@ -87,10 +87,10 @@ public class ObjectSchoolEstimateUIHandler extends ContentTableUIHandler<Floatin JTable table = getUi().getTable(); UIHelper.setI18nTableHeaderRenderer(table, - n("observe.schoolEstimate.table.speciesThon"), - n("observe.schoolEstimate.table.speciesThon.tip"), - n("observe.schoolEstimate.table.weight"), - n("observe.schoolEstimate.table.weight.tip")); + n("observe.content.schoolEstimate.table.speciesThon"), + n("observe.content.schoolEstimate.table.speciesThon.tip"), + n("observe.content.schoolEstimate.table.weight"), + n("observe.content.schoolEstimate.table.weight.tip")); UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SpeciesDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEmptyNumberTableCellRenderer(renderer)); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUI.jaxx index 1b9d511..032cb74 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUI.jaxx @@ -25,8 +25,8 @@ contentTitle='{n("observe.common.schoolEstimate")}' - saveNewEntryText='{n("observe.action.create.schoolEstimate")}' - saveNewEntryTip='{n("observe.action.create.schoolEstimate.tip")}'> + saveNewEntryText='{n("observe.content.action.create.schoolEstimate")}' + saveNewEntryTip='{n("observe.content.action.create.schoolEstimate.tip")}'> <style source="../../CommonTable.jcss"/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUI.jcss index b6cc3e0..221c0b9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUI.jcss @@ -23,7 +23,7 @@ #speciesLabel { text:"observe.common.speciesThon"; labelFor:{species}; - toolTipText:"observe.schoolEstimate.table.speciesThon.tip"; + toolTipText:"observe.content.schoolEstimate.table.speciesThon.tip"; } #species { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java index a6014d8..c52f94e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java @@ -116,12 +116,12 @@ public class SchoolEstimateUIHandler extends ContentTableUIHandler<SetSeineSchoo UIHelper.setI18nTableHeaderRenderer( table, - n("observe.schoolEstimate.table.speciesThon"), - n("observe.schoolEstimate.table.speciesThon.tip"), - n("observe.schoolEstimate.table.weight"), - n("observe.schoolEstimate.table.weight.tip"), - n("observe.schoolEstimate.table.meanWeight"), - n("observe.schoolEstimate.table.meanWeight.tip")); + n("observe.content.schoolEstimate.table.speciesThon"), + n("observe.content.schoolEstimate.table.speciesThon.tip"), + n("observe.content.schoolEstimate.table.weight"), + n("observe.content.schoolEstimate.table.weight.tip"), + n("observe.content.schoolEstimate.table.meanWeight"), + n("observe.content.schoolEstimate.table.meanWeight.tip")); UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SpeciesDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEmptyNumberTableCellRenderer(renderer)); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUI.jaxx index d731158..e78c626 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUI.jaxx @@ -23,8 +23,8 @@ <fr.ird.observe.ui.content.table.ContentTableUI superGenericType='SetSeineTargetCatchDto, TargetCatchDto' contentTitle='{n("observe.common.targetCatch")}' - saveNewEntryText='{n("observe.action.create.targetCatch")}' - saveNewEntryTip='{n("observe.action.create.targetCatch.tip")}'> + saveNewEntryText='{n("observe.content.action.create.targetCatch")}' + saveNewEntryTip='{n("observe.content.action.create.targetCatch.tip")}'> <style source="../../CommonTable.jcss"/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUI.jcss index 8642bb4..e4d6334 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUI.jcss @@ -21,12 +21,12 @@ */ #tableModel { - deleteExtraMessage:{t("observe.targetCatch.table.deleteExtraMessage")}; + deleteExtraMessage:{t("observe.content.targetCatch.table.deleteExtraMessage")}; } #speciesLabel { - text:"observe.targetCatch.table.speciesThon"; - toolTipText:"observe.targetCatch.table.speciesThon.tip"; + text:"observe.content.targetCatch.table.speciesThon"; + toolTipText:"observe.content.targetCatch.table.speciesThon.tip"; labelFor:{species}; } @@ -38,7 +38,7 @@ #weightCategoryLabel { text:"observe.common.weightCategory"; - toolTipText:"observe.targetCatch.table.weightCategory.tip"; + toolTipText:"observe.content.targetCatch.table.weightCategory.tip"; labelFor:{weightCategory}; } @@ -62,12 +62,12 @@ #wellLabel { text:"observe.common.well"; - toolTipText:"observe.targetCatch.table.well.tip"; + toolTipText:"observe.content.targetCatch.table.well.tip"; labelFor:{well}; } #resetWell { - toolTipText:"observe.action.reset.well.tip"; + toolTipText:"observe.content.action.reset.well.tip"; enabled:{!tableModel.isEditable() || !model.isRowSaved()}; _resetTablePropertyName:{TargetCatchDto.PROPERTY_WELL}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java index e92f12f..0fc00e7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java @@ -146,7 +146,7 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa } int reponse = UIHelper.askUser( t("observe.title.need.confirm"), - t("observe.targetDiscarded.message.table.will.delete.targetLength", sb.toString()), + t("observe.content.targetDiscarded.message.table.will.delete.targetLength", sb.toString()), JOptionPane.ERROR_MESSAGE, new Object[]{ t("observe.choice.continue"), @@ -230,16 +230,16 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa UIHelper.setI18nTableHeaderRenderer( table, - n("observe.targetCatch.table.speciesThon"), - n("observe.targetCatch.table.speciesThon.tip"), - n("observe.targetCatch.table.weightCategory"), - n("observe.targetCatch.table.weightCategory.tip"), - n("observe.targetCatch.table.well"), - n("observe.targetCatch.table.well.tip"), - n("observe.targetCatch.table.weight"), - n("observe.targetCatch.table.weight.tip"), - n("observe.targetCatch.table.comment"), - n("observe.targetCatch.table.comment.tip")); + n("observe.content.targetCatch.table.speciesThon"), + n("observe.content.targetCatch.table.speciesThon.tip"), + n("observe.content.targetCatch.table.weightCategory"), + n("observe.content.targetCatch.table.weightCategory.tip"), + n("observe.content.targetCatch.table.well"), + n("observe.content.targetCatch.table.well.tip"), + n("observe.content.targetCatch.table.weight"), + n("observe.content.targetCatch.table.weight.tip"), + n("observe.content.targetCatch.table.comment"), + n("observe.content.targetCatch.table.comment.tip")); UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SpeciesDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, WeightCategoryDto.class)); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUI.jaxx index fe98c61..b3b452c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUI.jaxx @@ -23,8 +23,8 @@ <fr.ird.observe.ui.content.table.ContentTableUI superGenericType='SetSeineTargetCatchDto, TargetCatchDto' contentTitle='{n("observe.common.targetDiscarded")}' - saveNewEntryText='{n("observe.action.create.targetDiscarded")}' - saveNewEntryTip='{n("observe.action.create.targetDiscarded.tip")}'> + saveNewEntryText='{n("observe.content.action.create.targetDiscarded")}' + saveNewEntryTip='{n("observe.content.action.create.targetDiscarded.tip")}'> <style source="../../CommonTable.jcss"/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUI.jcss index 52b181d..f193531 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUI.jcss @@ -21,12 +21,12 @@ */ #tableModel { - deleteExtraMessage:{t("observe.targetDiscarded.table.deleteExtraMessage")}; + deleteExtraMessage:{t("observe.content.targetDiscarded.table.deleteExtraMessage")}; } #speciesLabel { text:"observe.common.speciesThon"; - toolTipText:"observe.targetDiscarded.table.speciesThon.tip"; + toolTipText:"observe.content.targetDiscarded.table.speciesThon.tip"; labelFor:{species}; } @@ -38,7 +38,7 @@ #weightCategoryLabel { text:"observe.common.weightCategory"; - toolTipText:"observe.targetDiscarded.table.weightCategory.tip"; + toolTipText:"observe.content.targetDiscarded.table.weightCategory.tip"; labelFor:{weightCategory}; } @@ -50,7 +50,7 @@ #reasonForDiscardLabel { text:"observe.common.reasonForDiscard"; - toolTipText:"observe.targetDiscarded.table.reasonForDiscard.tip"; + toolTipText:"observe.content.targetDiscarded.table.reasonForDiscard.tip"; labelFor:{reasonForDiscard}; } @@ -73,8 +73,8 @@ } #broughtOnDeckInformation { - text:"observe.broughtOnDeck.comment"; - toolTipText:"observe.broughtOnDeck.comment"; + text:"observe.content.broughtOnDeck.comment"; + toolTipText:"observe.content.broughtOnDeck.comment"; actionIcon:"information"; font-size:11; verticalAlignment:"center"; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java index 858b84c..95d64f2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java @@ -201,7 +201,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT } int reponse = UIHelper.askUser( t("observe.title.need.confirm"), - t("observe.targetDiscarded.message.table.will.delete.targetLength", sb.toString()), + t("observe.content.targetDiscarded.message.table.will.delete.targetLength", sb.toString()), JOptionPane.ERROR_MESSAGE, new Object[]{ t("observe.choice.continue"), @@ -299,18 +299,18 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT UIHelper.setI18nTableHeaderRenderer( table, - n("observe.targetDiscarded.table.speciesThon"), - n("observe.targetDiscarded.table.speciesThon.tip"), - n("observe.targetDiscarded.table.weightCategory"), - n("observe.targetDiscarded.table.weightCategory.tip"), - n("observe.targetDiscarded.table.reasonForDiscard"), - n("observe.targetDiscarded.table.reasonForDiscard.tip"), - n("observe.targetDiscarded.table.weight"), - n("observe.targetDiscarded.table.weight.tip"), - n("observe.targetDiscarded.table.broughtOnDeck"), - n("observe.targetDiscarded.table.broughtOnDeck.tip"), - n("observe.targetDiscarded.table.comment"), - n("observe.targetDiscarded.table.comment.tip")); + n("observe.content.targetDiscarded.table.speciesThon"), + n("observe.content.targetDiscarded.table.speciesThon.tip"), + n("observe.content.targetDiscarded.table.weightCategory"), + n("observe.content.targetDiscarded.table.weightCategory.tip"), + n("observe.content.targetDiscarded.table.reasonForDiscard"), + n("observe.content.targetDiscarded.table.reasonForDiscard.tip"), + n("observe.content.targetDiscarded.table.weight"), + n("observe.content.targetDiscarded.table.weight.tip"), + n("observe.content.targetDiscarded.table.broughtOnDeck"), + n("observe.content.targetDiscarded.table.broughtOnDeck.tip"), + n("observe.content.targetDiscarded.table.comment"), + n("observe.content.targetDiscarded.table.comment.tip")); UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SpeciesDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, WeightCategoryDto.class)); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleCaptureUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleCaptureUI.jaxx index 2963936..4d905f7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleCaptureUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleCaptureUI.jaxx @@ -22,8 +22,8 @@ <TargetSampleUI contentTitle='{n("observe.common.targetSampleCapture")}' - saveNewEntryText='{n("observe.action.create.targetSampleCapture")}' - saveNewEntryTip='{n("observe.action.create.targetSampleCapture.tip")}'> + saveNewEntryText='{n("observe.content.action.create.targetSampleCapture")}' + saveNewEntryTip='{n("observe.content.action.create.targetSampleCapture.tip")}'> <import> static org.nuiton.i18n.I18n.n diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleRejeteUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleRejeteUI.jaxx index e0fdf34..7e8380a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleRejeteUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleRejeteUI.jaxx @@ -22,8 +22,8 @@ <TargetSampleUI contentTitle='{n("observe.common.targetSample")}' - saveNewEntryText='{n("observe.action.create.targetSample")}' - saveNewEntryTip='{n("observe.action.create.targetSample.tip")}'> + saveNewEntryText='{n("observe.content.action.create.targetSample")}' + saveNewEntryTip='{n("observe.content.action.create.targetSample.tip")}'> <import> static org.nuiton.i18n.I18n.n diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java index 38ad6ff..71b1b6f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java @@ -196,18 +196,18 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto UIHelper.setI18nTableHeaderRenderer( table, - n("observe.targetSample.table.speciesThon"), - n("observe.targetSample.table.speciesThon.tip"), - n("observe.targetSample.table.measureType"), - n("observe.targetSample.table.measureType.tip"), - n("observe.targetSample.table.length"), - n("observe.targetSample.table.length.tip"), - n("observe.targetSample.table.meanWeight"), - n("observe.targetSample.table.meanWeight.tip"), - n("observe.targetSample.table.count"), - n("observe.targetSample.table.count.tip"), - n("observe.targetSample.table.totalWeight"), - n("observe.targetSample.table.totalWeight.tip")); + n("observe.content.targetSample.table.speciesThon"), + n("observe.content.targetSample.table.speciesThon.tip"), + n("observe.content.targetSample.table.measureType"), + n("observe.content.targetSample.table.measureType.tip"), + n("observe.content.targetSample.table.length"), + n("observe.content.targetSample.table.length.tip"), + n("observe.content.targetSample.table.meanWeight"), + n("observe.content.targetSample.table.meanWeight.tip"), + n("observe.content.targetSample.table.count"), + n("observe.content.targetSample.table.count.tip"), + n("observe.content.targetSample.table.totalWeight"), + n("observe.content.targetSample.table.totalWeight.tip")); UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SpeciesDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEnumTableCellRenderer(renderer, CodeMesureEnum.class)); @@ -235,8 +235,8 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto NuitonValidatorScope.INFO, getEntityLabel(SetSeineDto.class), discarded ? - t("observe.setSeine.message.no.targetCatch") : - t("observe.setSeine.message.no.targetDiscarded") + t("observe.content.setSeine.message.no.targetCatch") : + t("observe.content.setSeine.message.no.targetDiscarded") ); } return mode; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUI.jcss index 173ea78..92cbaca 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUI.jcss @@ -22,7 +22,7 @@ #storageMain { - title:"observe.title.change.storage"; + title:"observe.storage.title.change"; modal:true; resizable:true; defaultCloseOperation:"dispose_on_close"; @@ -40,7 +40,7 @@ #cancelAction { mnemonic:A; text:"observe.action.cancel"; - toolTipText:"observe.action.storage.cancel.tip"; + toolTipText:"observe.storage.action.cancel.tip"; actionIcon:"cancel"; } @@ -63,8 +63,8 @@ #applyAction { mnemonic:U; - text:"observe.action.storage.apply"; - toolTipText:"observe.action.storage.apply.tip"; + text:"observe.storage.action.apply"; + toolTipText:"observe.storage.action.apply.tip"; actionIcon:"accept"; enabled:{getModel().isValidStep()}; visible:{getModel().getNextStep() == null}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java index c750e77..194711f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java @@ -305,7 +305,7 @@ public class StorageUIHandler { } else { ObserveActionExecutor executor = ObserveRunner.getActionExecutor(); - executor.addAction(t("observe.action.storage.applyAction"), action); + executor.addAction(t("observe.storage.action.applyAction"), action); } } @@ -324,7 +324,7 @@ public class StorageUIHandler { } } else { ObserveActionExecutor executor = ObserveRunner.getActionExecutor(); - executor.addAction(t("observe.action.storage.cancel"), action); + executor.addAction(t("observe.storage.action.cancel"), action); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/ConfigDataUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/ConfigDataUI.jcss index f89d8e5..c438e8b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/ConfigDataUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/ConfigDataUI.jcss @@ -26,35 +26,35 @@ #configContent { layout:{configLayout}; - border:{new TitledBorder(t("observe.synchro.config.data.storage"))}; + border:{new TitledBorder(t("observe.storage.config.data.storage"))}; } #dataModeConfig { layout:{new GridLayout(0,1)}; - border:{new TitledBorder(t("observe.synchro.config.data.mode"))}; + border:{new TitledBorder(t("observe.storage.config.data.mode"))}; } #noImportData { value:{CreationMode.EMPTY}; - text:"observe.synchro.no.data.import"; + text:"observe.storage.no.data.import"; selected:{model.getDataImportMode() == CreationMode.EMPTY}; } #importDataFromBackup { value:{CreationMode.IMPORT_EXTERNAL_DUMP}; - text:"observe.synchro.import.data.fromBackup"; + text:"observe.storage.import.data.fromBackup"; selected:{model.getDataImportMode() == CreationMode.IMPORT_EXTERNAL_DUMP}; } #importDataFromRemote { value:{CreationMode.IMPORT_REMOTE_STORAGE}; - text:"observe.synchro.import.data.fromRemoteStorage"; + text:"observe.storage.import.data.fromRemoteStorage"; selected:{model.getDataImportMode() == CreationMode.IMPORT_REMOTE_STORAGE}; } #importDataFromServer { value:{CreationMode.IMPORT_SERVER_STORAGE}; - text:"observe.synchro.import.data.fromServerStorage"; + text:"observe.storage.import.data.fromServerStorage"; selected:{model.getDataImportMode() == CreationMode.IMPORT_SERVER_STORAGE}; } @@ -64,7 +64,7 @@ } #centralSourceLabel { - _no:{n("observe.synchro.no.remote.storage")}; + _no:{n("observe.storage.no.remote.storage")}; text:{getHandler().updateStorageLabel(centralSourceModel, centralSourceModel.isValid(), centralSourceLabel, true)}; } @@ -83,11 +83,11 @@ #centralSourceInfoLabel { actionIcon:"information"; - text:"observe.synchro.config.export.required.read.data"; + text:"observe.storage.config.export.required.read.data"; } #centralSourceServerLabel { - _no:{n("observe.synchro.no.server.storage")}; + _no:{n("observe.storage.no.server.storage")}; text:{getHandler().updateStorageLabel(centralSourceModel, centralSourceModel.isValid(), centralSourceLabel, false)}; } @@ -106,7 +106,7 @@ #centralSourceServerInfoLabel { actionIcon:"information"; - text:"observe.synchro.config.export.required.read.data"; + text:"observe.storage.config.export.required.read.data"; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/ConfigReferentielUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/ConfigReferentielUI.jcss index 09c7921..6b70d6c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/ConfigReferentielUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/ConfigReferentielUI.jcss @@ -26,17 +26,17 @@ #configContent { layout:{configLayout}; - border:{new TitledBorder(t("observe.synchro.config.referentiel.storage"))}; + border:{new TitledBorder(t("observe.storage.config.referentiel.storage"))}; } #referentielModeConfig { layout:{new GridLayout(0,1)}; - border:{new TitledBorder(t("observe.synchro.config.referentiel.mode"))}; + border:{new TitledBorder(t("observe.storage.config.referentiel.mode"))}; } #noImportReferentiel { value:{CreationMode.EMPTY}; - text:"observe.synchro.no.referentiel.import"; + text:"observe.storage.no.referentiel.import"; selected:{model.getReferentielImportMode() == CreationMode.EMPTY}; } @@ -64,7 +64,7 @@ } #centralSourceLabel { - _no:{n("observe.synchro.no.remote.storage")}; + _no:{n("observe.storage.no.remote.storage")}; text:{getHandler().updateStorageLabel(centralSourceModel, centralSourceModel.isValid(), centralSourceLabel, true)}; } @@ -83,11 +83,11 @@ #centralSourceInfoLabel { actionIcon:"information"; - text:"observe.synchro.config.export.required.read.referentiel"; + text:"observe.storage.config.export.required.read.referentiel"; } #centralSourceServerLabel { - _no:{n("observe.synchro.no.server.storage")}; + _no:{n("observe.storage.no.server.storage")}; text:{getHandler().updateStorageLabel(centralSourceModel, centralSourceModel.isValid(), centralSourceLabel, false)}; } @@ -106,7 +106,7 @@ #centralSourceServerInfoLabel { actionIcon:"information"; - text:"observe.synchro.config.export.required.read.referentiel"; + text:"observe.storage.config.export.required.read.referentiel"; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/DataSelectionModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/DataSelectionModel.java index cf6e505..b20c955 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/DataSelectionModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/DataSelectionModel.java @@ -90,15 +90,14 @@ public class DataSelectionModel implements Serializable { } - populate(model, program, referenceDtos, datas); + populate(program, referenceDtos, datas); } model.setDatas(datas); } - protected static void populate(DataSelectionModel model, - ReferentialReference<ProgramDto> program, + protected static void populate(ReferentialReference<ProgramDto> program, List<DataReference> trips, Map<ReferentialReference<ProgramDto>, List<DataReference>> datas) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/StorageTabUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/StorageTabUIHandler.java index 77004c4..5321444 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/StorageTabUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/StorageTabUIHandler.java @@ -32,7 +32,6 @@ import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.storage.StorageStep; import fr.ird.observe.ui.storage.StorageUILauncher; import fr.ird.observe.ui.storage.StorageUIModel; -import fr.ird.observe.ui.tree.DataSelectionTreeCellRenderer; import fr.ird.observe.ui.tree.DataSelectionTreeSelectionModel; import fr.ird.observe.ui.tree.ObserveTreeHelper; import jaxx.runtime.swing.editor.MyDefaultCellEditor; @@ -114,7 +113,7 @@ public class StorageTabUIHandler { StorageUIModel model = (StorageUIModel) evt.getSource(); String propertyName = evt.getPropertyName(); if (StorageUIModel.CREATION_MODE_PROPERTY_NAME.equals(propertyName) || - StorageUIModel.DB_MODE_PROPERTY_NAME.equals(propertyName)) { + StorageUIModel.DB_MODE_PROPERTY_NAME.equals(propertyName)) { String id = null; if (model.getDbMode() == DbMode.USE_REMOTE) { id = DbMode.USE_REMOTE.name(); @@ -225,7 +224,7 @@ public class StorageTabUIHandler { } // customize tree selection colors - DataSelectionTreeCellRenderer.initUI(ui.getSelectedTreePane(), ui.getSelectTree()); + UIHelper.initUI(ui.getSelectedTreePane(), ui.getSelectTree()); } public void initUI(BackupUI ui) { @@ -315,6 +314,7 @@ public class StorageTabUIHandler { String text = textGenerator.getConnexionTestResultMessage(ui.getModel()); return text; } + public void chooseDumpFile(ConfigUI ui) { File f = UIHelper.chooseFile( ui, diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataSelectionTreeCellRenderer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataSelectionTreeCellRenderer.java index 5509875..5e3c121 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataSelectionTreeCellRenderer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataSelectionTreeCellRenderer.java @@ -25,12 +25,9 @@ import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.seine.TripSeineDto; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.jdesktop.swingx.painter.Painter; import javax.swing.JComponent; -import javax.swing.JScrollPane; import javax.swing.JTree; -import javax.swing.UIDefaults; import java.awt.Color; import java.awt.Component; import java.util.List; @@ -104,7 +101,7 @@ public class DataSelectionTreeCellRenderer extends AbstractObserveTreeCellRender if (log.isDebugEnabled()) { text += " (" + row + ')'; log.debug("repaint node " + text + " (selected:" + sel + - ") for node " + node.getId()); + ") for node " + node.getId()); } boolean exist = false; @@ -138,18 +135,4 @@ public class DataSelectionTreeCellRenderer extends AbstractObserveTreeCellRender return comp; } - public static void initUI(JScrollPane selectedTreePane, JTree tree) { - - // customize tree selection colors - UIDefaults defaults = new UIDefaults(); - - Painter<JComponent> painter = (g, c, w, h) -> g.fillRect(0, 0, w, h); - defaults.put("Tree:TreeCell[Enabled+Selected].backgroundPainter", painter); - defaults.put("Tree:TreeCell[Enabled+Focused].backgroundPainter", painter); - defaults.put("Tree:TreeCell[Focused+Selected].backgroundPainter", painter); - - tree.putClientProperty("Nimbus.Overrides", defaults); - // Fix http://forge.codelutin.com/issues/2781 - selectedTreePane.getViewport().setBackground(Color.WHITE); - } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNavigationTreeShowPopupAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNavigationTreeShowPopupAction.java index 5623495..17c1b59 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNavigationTreeShowPopupAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNavigationTreeShowPopupAction.java @@ -75,10 +75,10 @@ public class ObserveNavigationTreeShowPopupAction { private static final String ACTIVITY_LONGLINE_MENU_ITEMS = "activityLongline"; static { - n("observe.navigationMenu.move.trip"); - n("observe.navigationMenu.move.route"); - n("observe.navigationMenu.move.activitySeine"); - n("observe.navigationMenu.move.activityLongline"); + n("observe.menu.move.trip"); + n("observe.menu.move.route"); + n("observe.menu.move.activitySeine"); + n("observe.menu.move.activityLongline"); } private final ObserveTreeHelper treeHelper; @@ -309,8 +309,8 @@ public class ObserveNavigationTreeShowPopupAction { closeAction.putClientProperty("ui", applicationContext.getContentUIManager().getSelectedContentUI()); popup.add(closeAction); - moveAction.setText(t("observe.navigationMenu.move." + nodeType)); - moveAction.setToolTipText(t("observe.navigationMenu.move." + nodeType)); + moveAction.setText(t("observe.menu.move." + nodeType)); + moveAction.setToolTipText(t("observe.menu.move." + nodeType)); moveAction.setIcon(SwingUtil.getUIManagerActionIcon("move-" + nodeType)); popup.add(moveAction); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/usage/UsagesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/usage/UsagesUIHandler.java index 13f282f..ec2a7e5 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/usage/UsagesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/usage/UsagesUIHandler.java @@ -116,7 +116,7 @@ public class UsagesUIHandler { String typeTitle) { int size = references.size(); - String typetitle = n("observe.label.usage.data.title"); + String typetitle = n("observe.content.label.usage.data.title"); typetitle = t(typetitle, typeTitle, size); Decorator<?> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getDataReferenceDecorator(dtoType); @@ -144,7 +144,7 @@ public class UsagesUIHandler { String typeTitle) { int size = references.size(); - String typetitle = n("observe.label.usage.referentiel.title"); + String typetitle = n("observe.content.label.usage.referentiel.title"); typetitle = t(typetitle, typeTitle, size); Decorator<?> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferentialReferenceDecorator(dtoType); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/tripMap/ObserveMapPane.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/tripMap/ObserveMapPane.java index 3db6f45..c02bff8 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/tripMap/ObserveMapPane.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/tripMap/ObserveMapPane.java @@ -113,7 +113,7 @@ public class ObserveMapPane extends JMapPane { scaleWidth = (int) Math.round(scaleInMiles * METERS_BY_MILES / meterPerPixel); - labelScaleUp = String.format("%,d " + t("observe.map.miles"), scaleInMiles); + labelScaleUp = String.format("%,d " + t("observe.content.map.miles"), scaleInMiles); } catch (Exception e) { if (log.isErrorEnabled()) { @@ -313,10 +313,10 @@ public class ObserveMapPane extends JMapPane { } protected enum CardinalPoint { - NORTH(-1, 0, 0, -1, n("observe.map.north")), - SOUTH( 1, 0, 0, 1, n("observe.map.south")), - WEST ( 0, -1, 1, 0, n("observe.map.west")), - EST ( 0, 1, -1, 0, n("observe.map.east")); + NORTH(-1, 0, 0, -1, n("observe.content.map.north")), + SOUTH( 1, 0, 0, 1, n("observe.content.map.south")), + WEST ( 0, -1, 1, 0, n("observe.content.map.west")), + EST ( 0, 1, -1, 0, n("observe.content.map.east")); protected int matrix00; protected int matrix01; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/tripMap/TripMapContentBuilder.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/tripMap/TripMapContentBuilder.java index 2458001..14917ef 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/tripMap/TripMapContentBuilder.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/tripMap/TripMapContentBuilder.java @@ -211,7 +211,7 @@ public class TripMapContentBuilder { ObserveMapPaneLegendItem legendTripDay = new ObserveMapPaneLegendItem( lineBuilder.buildFeature(null), styleLines, - t("observe.map.legend.tripDay")); + t("observe.content.map.legend.tripDay")); legendItems.add(legendTripDay); lineBuilder.add(line); @@ -220,7 +220,7 @@ public class TripMapContentBuilder { ObserveMapPaneLegendItem legendTripBetweenTwoDays = new ObserveMapPaneLegendItem( lineBuilder.buildFeature(null), styleLines, - t("observe.map.legend.tripBetweenTwoDays")); + t("observe.content.map.legend.tripBetweenTwoDays")); legendItems.add(legendTripBetweenTwoDays); } @@ -348,7 +348,7 @@ public class TripMapContentBuilder { ObserveMapPaneLegendItem legendTripDay = new ObserveMapPaneLegendItem( lineBuilder.buildFeature(null), styleLines, - t("observe.map.legend.setting")); + t("observe.content.map.legend.setting")); legendItems.add(legendTripDay); line = geometryFactory.createLineString(ObserveMapPaneLegendItem.lineCoordinates()); @@ -358,7 +358,7 @@ public class TripMapContentBuilder { legendTripDay = new ObserveMapPaneLegendItem( lineBuilder.buildFeature(null), styleLines, - t("observe.map.legend.hauling")); + t("observe.content.map.legend.hauling")); legendItems.add(legendTripDay); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/tripMap/TripMapUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/tripMap/TripMapUI.jcss index 46432f8..aeae90e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/tripMap/TripMapUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/tripMap/TripMapUI.jcss @@ -21,20 +21,20 @@ */ #waitLoadingLabel { - text: "observe.map.waitLoading"; + text: "observe.content.map.waitLoading"; horizontalAlignment : {JLabel.CENTER}; verticalAlignment : {JLabel.CENTER}; enabled: false; } #zoomIt { - text: "observe.map.action.zoomIt"; - toolTipText: "observe.map.action.zoomIt.tip"; + text: "observe.content.map.action.zoomIt"; + toolTipText: "observe.content.map.action.zoomIt.tip"; actionIcon: center; } #exportPng { - text: "observe.map.action.exportPng"; - toolTipText: "observe.map.action.exportPng.tip"; + text: "observe.content.map.action.exportPng"; + toolTipText: "observe.content.map.action.exportPng.tip"; actionIcon: save; } \ No newline at end of file diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/tripMap/TripMapUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/tripMap/TripMapUIHandler.java index 391971e..3fe4634 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/tripMap/TripMapUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/tripMap/TripMapUIHandler.java @@ -175,11 +175,11 @@ public class TripMapUIHandler { File file = UIHelper.chooseFile( view, - t("observe.map.export.chooseFile.title"), - t("observe.map.export.chooseFile.ok"), + t("observe.content.map.export.chooseFile.title"), + t("observe.content.map.export.chooseFile.ok"), null, "^.+\\.png|.+\\.PNG$", - t("observe.map.export.chooseFile.png")); + t("observe.content.map.export.chooseFile.png")); if (file != null && UIHelper.confirmOverwriteFileIfExist(view, file)) { @@ -191,7 +191,7 @@ public class TripMapUIHandler { throw new ObserveSwingTechnicalException("unable to export map ", e); } - UIHelper.displayInfo(t("observe.map.export.success", file)); + UIHelper.displayInfo(t("observe.content.map.export.success", file)); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/validation/ValidationModelMode.java b/observe-application-swing/src/main/java/fr/ird/observe/validation/ValidationModelMode.java index df7ff87..0926594 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/validation/ValidationModelMode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/validation/ValidationModelMode.java @@ -33,20 +33,20 @@ public enum ValidationModelMode { /** validation du referentiel */ REFERENTIEL( - n("observe.validation.model.type.referentiel"), - n("observe.validation.model.type.referentiel.description"), + n("observe.actions.validate.model.type.referentiel"), + n("observe.actions.validate.model.type.referentiel.description"), true, false), /** validation de donnees observer */ DATA( - n("observe.validation.model.type.data"), - n("observe.validation.model.type.data.description"), + n("observe.actions.validate.model.type.data"), + n("observe.actions.validate.model.type.data.description"), false, true), /** validation du referentiel et de donnees observer */ ALL( - n("observe.validation.model.type.all"), - n("observe.validation.model.type.all.description"), + n("observe.actions.validate.model.type.all"), + n("observe.actions.validate.model.type.all.description"), true, false); private final String label; diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties index b82f923..3e58b10 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties @@ -19,28 +19,8 @@ observe.action.auto.copy.to.clipboard=Automatic copy in clipboard observe.action.auto.copy.to.clipboard.tip=Copy automaticly in clipboard with report result observe.action.back.to.list=Back to list observe.action.back.to.list.tip=Go back to the list -observe.action.baitHaulingStatus.create.tip= -observe.action.baitHaulingStatus.delete.tip= -observe.action.baitHaulingStatus.detail.tip= -observe.action.baitHaulingStatus.modify.tip= -observe.action.baitHaulingStatus.save.tip= -observe.action.baitSettingStatus.create.tip= -observe.action.baitSettingStatus.delete.tip= -observe.action.baitSettingStatus.detail.tip= -observe.action.baitSettingStatus.modify.tip= -observe.action.baitSettingStatus.save.tip= -observe.action.baitType.create.tip= -observe.action.baitType.delete.tip= -observe.action.baitType.detail.tip= -observe.action.baitType.modify.tip= -observe.action.baitType.save.tip= observe.action.cancel=Cancel observe.action.cancel.create.tip=Cancel object creation -observe.action.catchFateLongline.create.tip= -observe.action.catchFateLongline.delete.tip= -observe.action.catchFateLongline.detail.tip= -observe.action.catchFateLongline.modify.tip= -observe.action.catchFateLongline.save.tip= observe.action.change.storage=Change storage observe.action.change.storage.tip=To change current storage observe.action.choose.db.dump=Choose the backup @@ -48,7 +28,6 @@ observe.action.choose.db.dump.description=Database backup (*.sql.gz) observe.action.choose.db.dump.directory=Choose the backup directory observe.action.choose.program.message= observe.action.choose.program.title= -observe.action.choose.report.directory=Choose reports directory observe.action.choose.reportFile=Choose the reports directory observe.action.choose.reportFile.description=Report's file (*.properties) observe.action.choose.route.message= @@ -70,14 +49,6 @@ observe.action.close.route.tip=Close road observe.action.close.storage=Close storage observe.action.close.storage.tip=Close current storage observe.action.close.synchro.tip=close window -observe.action.closeAndCreate= -observe.action.closeAndCreate.activity= -observe.action.closeAndCreate.activity.tip= -observe.action.closeAndCreate.maree= -observe.action.closeAndCreate.maree.tip= -observe.action.closeAndCreate.route= -observe.action.closeAndCreate.route.tip= -observe.action.closeAndCreate.tip= observe.action.commandline.configure.ui=Configure application observe.action.commandline.create.id=Générer des topiaIds.\nDeux paramètres sont nécessaires \: le FQN de la classe et le nombre d'id à générer. observe.action.commandline.disable.main.ui=Do NOT launch main gui @@ -87,6 +58,7 @@ observe.action.commandline.launch.admin.ui=Launch a administration task observe.action.commandline.launch.h2.server.mode= observe.action.commandline.launch.obstuna.admin.ui= observe.action.commandline.use.jmx=Add JMX support +observe.action.config.export.required.read.referentiel= observe.action.configuration=Preferences observe.action.configuration.tip=Change preferences observe.action.configure=Configure @@ -96,44 +68,7 @@ observe.action.copy.column.headers= observe.action.copy.column.headers.tip= observe.action.copy.row.headers= observe.action.copy.row.headers.tip= -observe.action.copyToLeft= -observe.action.copyToLeft.tip= -observe.action.copyToRight= -observe.action.copyToRight.tip= -observe.action.country.create.tip= -observe.action.country.delete.tip= -observe.action.country.detail.tip= -observe.action.country.modify.tip= -observe.action.country.save.tip= observe.action.create=Create -observe.action.create.activity=Create a new activity -observe.action.create.activity.tip=Create a new activity -observe.action.create.entry.tip= -observe.action.create.gearUseFeaturesLongline=Create a new gear use feature -observe.action.create.gearUseFeaturesLongline.tip=Create a new gear use feature -observe.action.create.gearUseFeaturesSeine=Create a new gear use feature -observe.action.create.gearUseFeaturesSeine.tip=Create a new gear use feature -observe.action.create.maree=Create a new maree -observe.action.create.maree.tip=Create a new maree -observe.action.create.nonTargetCatch= -observe.action.create.nonTargetCatch.tip= -observe.action.create.nonTargetSample= -observe.action.create.nonTargetSample.tip= -observe.action.create.objectObservedSpecies= -observe.action.create.objectObservedSpecies.tip= -observe.action.create.route=Create a new road -observe.action.create.route.tip= -observe.action.create.schoolEstimate= -observe.action.create.schoolEstimate.tip= -observe.action.create.targetCatch= -observe.action.create.targetCatch.tip= -observe.action.create.targetDiscarded= -observe.action.create.targetDiscarded.tip= -observe.action.create.targetSample= -observe.action.create.targetSample.tip= -observe.action.create.targetSampleCapture= -observe.action.create.targetSampleCapture.tip= -observe.action.datasynchro.launch.operation= observe.action.db.locale.es.tip=Change database language in spanish observe.action.db.locale.fr.tip=Change database language in french observe.action.db.locale.uk.tip=Change database language in english @@ -145,138 +80,23 @@ observe.action.delete.maree.tip= observe.action.delete.route.tip= observe.action.delete.set.tip= observe.action.delete.tip=Delete -observe.action.deleteFromBoth= -observe.action.deleteFromLeft= -observe.action.deleteFromLeft.tip= -observe.action.deleteFromRight= -observe.action.deleteFromRight.tip= observe.action.detail=Details -observe.action.detectionMode.create.tip= -observe.action.detectionMode.delete.tip= -observe.action.detectionMode.detail.tip= -observe.action.detectionMode.modify.tip= -observe.action.detectionMode.save.tip= observe.action.do.backup=Backup local database observe.action.do.backup.tip=Make a backup of local database before applying modifications. -observe.action.encounterType.create.tip= -observe.action.encounterType.delete.tip= -observe.action.encounterType.detail.tip= -observe.action.encounterType.modify.tip= -observe.action.encounterType.save.tip= observe.action.exit=Quit observe.action.exit.tip=quit Observe -observe.action.fpaZone.create.tip=Create an FPA zone -observe.action.fpaZone.delete.tip=Delete the selected FPA zone -observe.action.fpaZone.detail.tip=View details about the selected FPA zone -observe.action.fpaZone.modify.tip=Edit the selected FPA zone -observe.action.fpaZone.save.tip=Save modifications -observe.action.gear.create.tip=Create an gear -observe.action.gear.delete.tip=Delete the selected gear -observe.action.gear.detail.tip=View details about the selected gear -observe.action.gear.modify.tip=Edit the selected gear -observe.action.gear.save.tip=Save modifications -observe.action.gearCaracteristic.create.tip=Create an gear caracteristic -observe.action.gearCaracteristic.delete.tip=Delete the selected gear caracteristic -observe.action.gearCaracteristic.detail.tip=View details about the selected gear caracteristic -observe.action.gearCaracteristic.modify.tip=Edit the selected gear caracteristic -observe.action.gearCaracteristic.save.tip=Save modifications -observe.action.gearCaracteristicType.create.tip=Create an gear caracteristic type -observe.action.gearCaracteristicType.delete.tip=Delete the selected gear caracteristic type -observe.action.gearCaracteristicType.detail.tip=View details about the selected gear caracteristic type -observe.action.gearCaracteristicType.modify.tip=Edit the selected gear caracteristic type -observe.action.gearCaracteristicType.save.tip=Save modifications observe.action.goDown=Down... observe.action.goDown.tip=Go down in navigation tree observe.action.goUp=Up... observe.action.goUp.tip=Go up in navigation tree observe.action.goto.next.stage=Next step observe.action.goto.next.stage.tip=Go to next step -observe.action.goto.open.activity=Go to opened activity -observe.action.goto.open.activity.short=Open activity -observe.action.goto.open.activity.tip=Go to opened activity -observe.action.goto.open.maree=Got to opened trip -observe.action.goto.open.other.activity=Go to opened activity in other road -observe.action.goto.open.other.activity.tip=Got to opened activity in other road -observe.action.goto.open.other.maree=Go to opened trip in other program -observe.action.goto.open.other.maree.tip=Got to opened trip in other program -observe.action.goto.open.other.route=Go to opened road in other trip -observe.action.goto.open.other.route.tip=Go to opened road in other trip -observe.action.goto.open.program.short=Open program -observe.action.goto.open.program.tip=Go to opened program -observe.action.goto.open.route=Go to opened route -observe.action.goto.open.route.short=Open route -observe.action.goto.open.route.tip=Go to opened route -observe.action.goto.open.set.short=Open set -observe.action.goto.open.set.tip= -observe.action.goto.open.trip.short=Open trip -observe.action.goto.open.trip.tip=go to opened trip observe.action.goto.previous.stage=Previous step observe.action.goto.previous.stage.tip=go to previous step observe.action.goto.referentiel.short=Referentiel observe.action.goto.referentiel.tip=Go to referentiel -observe.action.goto.selected.activity= -observe.action.goto.selected.activity.tip= -observe.action.goto.selected.maree= -observe.action.goto.selected.maree.tip= -observe.action.goto.selected.route= -observe.action.goto.selected.route.tip= -observe.action.harbour.create.tip= -observe.action.harbour.delete.tip= -observe.action.harbour.detail.tip= -observe.action.harbour.modify.tip= -observe.action.harbour.save.tip= -observe.action.healthness.create.tip= -observe.action.healthness.delete.tip= -observe.action.healthness.detail.tip= -observe.action.healthness.modify.tip= -observe.action.healthness.save.tip= -observe.action.hookPosition.create.tip= -observe.action.hookPosition.delete.tip= -observe.action.hookPosition.detail.tip= -observe.action.hookPosition.modify.tip= -observe.action.hookPosition.save.tip= -observe.action.hookSize.create.tip= -observe.action.hookSize.delete.tip= -observe.action.hookSize.detail.tip= -observe.action.hookSize.modify.tip= -observe.action.hookSize.save.tip= -observe.action.hookType.create.tip= -observe.action.hookType.delete.tip= -observe.action.hookType.detail.tip= -observe.action.hookType.modify.tip= -observe.action.hookType.save.tip= observe.action.info.storage=Storage details observe.action.info.storage.tip=Show storage informations -observe.action.itemHorizontalPosition.create.tip= -observe.action.itemHorizontalPosition.delete.tip= -observe.action.itemHorizontalPosition.detail.tip= -observe.action.itemHorizontalPosition.modify.tip= -observe.action.itemHorizontalPosition.save.tip= -observe.action.itemVerticalPosition.create.tip= -observe.action.itemVerticalPosition.delete.tip= -observe.action.itemVerticalPosition.detail.tip= -observe.action.itemVerticalPosition.modify.tip= -observe.action.itemVerticalPosition.save.tip= -observe.action.lengthWeightParameter.create.tip= -observe.action.lengthWeightParameter.delete.tip= -observe.action.lengthWeightParameter.detail.tip= -observe.action.lengthWeightParameter.modify.tip= -observe.action.lengthWeightParameter.save.tip= -observe.action.lightsticksColor.create.tip= -observe.action.lightsticksColor.delete.tip= -observe.action.lightsticksColor.detail.tip= -observe.action.lightsticksColor.modify.tip= -observe.action.lightsticksColor.save.tip= -observe.action.lightsticksType.create.tip= -observe.action.lightsticksType.delete.tip= -observe.action.lightsticksType.detail.tip= -observe.action.lightsticksType.modify.tip= -observe.action.lightsticksType.save.tip= -observe.action.lineType.create.tip= -observe.action.lineType.delete.tip= -observe.action.lineType.detail.tip= -observe.action.lineType.modify.tip= -observe.action.lineType.save.tip= observe.action.load.from.file=Import backup observe.action.load.from.file.tip=Load a storage from a database backup observe.action.locale.es=Spain @@ -285,88 +105,11 @@ observe.action.locale.fr=French observe.action.locale.fr.tip=Change application's language in french observe.action.locale.uk=English observe.action.locale.uk.tip=Change application's language in english -observe.action.maturityStatus.create.tip= -observe.action.maturityStatus.delete.tip= -observe.action.maturityStatus.detail.tip= -observe.action.maturityStatus.modify.tip= -observe.action.maturityStatus.save.tip= -observe.action.mitigationType.create.tip= -observe.action.mitigationType.delete.tip= -observe.action.mitigationType.detail.tip= -observe.action.mitigationType.modify.tip= -observe.action.mitigationType.save.tip= observe.action.modify=Modify -observe.action.move.activities= -observe.action.move.activities.longline= -observe.action.move.activities.longline.tip= -observe.action.move.activities.seine= -observe.action.move.activities.seine.tip= -observe.action.move.activities.tip= -observe.action.move.routes= -observe.action.move.routes.tip= -observe.action.move.trips= -observe.action.move.trips.tip= observe.action.new.entry=Add observe.action.new.entry.tip= -observe.action.objectFate.create.tip= -observe.action.objectFate.delete.tip= -observe.action.objectFate.detail.tip= -observe.action.objectFate.modify.tip= -observe.action.objectFate.save.tip= -observe.action.objectOperation.create.tip= -observe.action.objectOperation.delete.tip= -observe.action.objectOperation.detail.tip= -observe.action.objectOperation.modify.tip= -observe.action.objectOperation.save.tip= -observe.action.objectType.create.tip= -observe.action.objectType.delete.tip= -observe.action.objectType.detail.tip= -observe.action.objectType.modify.tip= -observe.action.objectType.save.tip= -observe.action.observedSystem.create.tip= -observe.action.observedSystem.delete.tip= -observe.action.observedSystem.detail.tip= -observe.action.observedSystem.modify.tip= -observe.action.observedSystem.save.tip= -observe.action.ocean.create.tip= -observe.action.ocean.delete.tip= -observe.action.ocean.detail.tip= -observe.action.ocean.modify.tip= -observe.action.ocean.save.tip= observe.action.open.screen= -observe.action.openLink.formsUrl.tip= -observe.action.openLink.reportsUrl.tip= -observe.action.organism.create.tip= -observe.action.organism.delete.tip= -observe.action.organism.detail.tip= -observe.action.organism.modify.tip= -observe.action.organism.save.tip= -observe.action.person.create.tip= -observe.action.person.delete.tip= -observe.action.person.detail.tip= -observe.action.person.modify.tip= -observe.action.person.save.tip= -observe.action.program.create.tip= -observe.action.program.delete.tip= -observe.action.program.detail.tip= -observe.action.program.modify.tip= -observe.action.program.save.tip= observe.action.quitHelp.tip= -observe.action.reasonForDiscard.create.tip= -observe.action.reasonForDiscard.delete.tip= -observe.action.reasonForDiscard.detail.tip= -observe.action.reasonForDiscard.modify.tip= -observe.action.reasonForDiscard.save.tip= -observe.action.reasonForNoFishing.create.tip= -observe.action.reasonForNoFishing.delete.tip= -observe.action.reasonForNoFishing.detail.tip= -observe.action.reasonForNoFishing.modify.tip= -observe.action.reasonForNoFishing.save.tip= -observe.action.reasonForNullSet.create.tip= -observe.action.reasonForNullSet.delete.tip= -observe.action.reasonForNullSet.detail.tip= -observe.action.reasonForNullSet.modify.tip= -observe.action.reasonForNullSet.save.tip= observe.action.reload.application=reload application observe.action.reload.storage=Reload storage observe.action.reload.storage.tip=Reload current storage @@ -375,28 +118,6 @@ observe.action.reloadDefaultConfiguration=Reload default resources observe.action.reloadDefaultConfiguration.tip=Reload default resources observe.action.reloadResources=Reload i18n observe.action.reloadResources.tip=Reload i18n translations -observe.action.reopen=Re-open -observe.action.reopen.activity.tip= -observe.action.reopen.maree.tip= -observe.action.reopen.route.tip= -observe.action.reopen.selected.activity= -observe.action.reopen.selected.activity.tip= -observe.action.reopen.selected.maree= -observe.action.reopen.selected.maree.tip= -observe.action.reopen.selected.route= -observe.action.reopen.selected.route.tip= -observe.action.reopen.tip= -observe.action.reset=Reset -observe.action.reset.entry.tip= -observe.action.reset.ersId.tip= -observe.action.reset.formsUrl.tip= -observe.action.reset.homeId.tip= -observe.action.reset.new.entry.tip= -observe.action.reset.picturesReferences.tip= -observe.action.reset.reportsUrl.tip= -observe.action.reset.supportVesselName.tip= -observe.action.reset.tip=Cancel modifications -observe.action.reset.well.tip= observe.action.restart.application=Restart observe.action.restart.application.tip=Restart application observe.action.save=Save @@ -407,179 +128,215 @@ observe.action.save.to.file=Backup storage observe.action.save.to.file.tip=Make a backup of opened storage observe.action.selectNode=Select a node observe.action.selectNode.tip=Select a node -observe.action.sensorBrand.create.tip= -observe.action.sensorBrand.delete.tip= -observe.action.sensorBrand.detail.tip= -observe.action.sensorBrand.modify.tip= -observe.action.sensorBrand.save.tip= -observe.action.sensorDataFormat.create.tip= -observe.action.sensorDataFormat.delete.tip= -observe.action.sensorDataFormat.detail.tip= -observe.action.sensorDataFormat.modify.tip= -observe.action.sensorDataFormat.save.tip= -observe.action.sensorType.create.tip= -observe.action.sensorType.delete.tip= -observe.action.sensorType.detail.tip= -observe.action.sensorType.modify.tip= -observe.action.sensorType.save.tip= -observe.action.settingShape.create.tip= -observe.action.settingShape.delete.tip= -observe.action.settingShape.detail.tip= -observe.action.settingShape.modify.tip= -observe.action.settingShape.save.tip= -observe.action.sex.create.tip= -observe.action.sex.delete.tip= -observe.action.sex.detail.tip= -observe.action.sex.modify.tip= -observe.action.sex.save.tip= observe.action.show.technical.informations.tip=Show technical informations observe.action.show.unique.keys.tip=Show all natural ids for this type of object observe.action.show.usages.tip=Show all usages of this object observe.action.showConfig.title= observe.action.site=Site observe.action.site.tip=Go to ObServe's website -observe.action.sizeMeasureType.create.tip= -observe.action.sizeMeasureType.delete.tip= -observe.action.sizeMeasureType.detail.tip= -observe.action.sizeMeasureType.modify.tip= -observe.action.sizeMeasureType.save.tip= -observe.action.species.create.tip= -observe.action.species.delete.tip= -observe.action.species.detail.tip= -observe.action.species.modify.tip= -observe.action.species.save.tip= -observe.action.speciesFate.create.tip= -observe.action.speciesFate.delete.tip= -observe.action.speciesFate.detail.tip= -observe.action.speciesFate.modify.tip= -observe.action.speciesFate.save.tip= -observe.action.speciesGroupSpecies.create.tip= -observe.action.speciesGroupSpecies.delete.tip= -observe.action.speciesGroupSpecies.detail.tip= -observe.action.speciesGroupSpecies.modify.tip= -observe.action.speciesGroupSpecies.save.tip= -observe.action.speciesList.create.tip= -observe.action.speciesList.delete.tip= -observe.action.speciesList.detail.tip= -observe.action.speciesList.modify.tip= -observe.action.speciesStatus.create.tip= -observe.action.speciesStatus.delete.tip= -observe.action.speciesStatus.detail.tip= -observe.action.speciesStatus.modify.tip= -observe.action.speciesStatus.save.tip= observe.action.start.h2.web.server= observe.action.start.h2.web.server.tip= observe.action.start.server.mode= observe.action.start.server.mode.tip= -observe.action.stomacFullness.create.tip= -observe.action.stomacFullness.delete.tip= -observe.action.stomacFullness.detail.tip= -observe.action.stomacFullness.modify.tip= -observe.action.stomacFullness.save.tip= observe.action.stop.h2.web.server= observe.action.stop.h2.web.server.tip= observe.action.stop.server.mode= observe.action.stop.server.mode.tip= -observe.action.storage.apply=Apply -observe.action.storage.apply.tip=Apply configured storage -observe.action.storage.applyAction=Change storage -observe.action.storage.cancel=Cancel change storage -observe.action.storage.cancel.tip=Cancel change of storage -observe.action.surroundingActivity.create.tip= -observe.action.surroundingActivity.delete.tip= -observe.action.surroundingActivity.detail.tip= -observe.action.surroundingActivity.modify.tip= -observe.action.surroundingActivity.save.tip= -observe.action.synchro.cancel.tip=Cancel -observe.action.synchro.copy.tip=Copy result of report in clipboard -observe.action.synchro.launch.operation=Launch operation < %1$S > -observe.action.synchro.prepare.operation=Prepare operation < %1$s > -observe.action.synchro.report.reset.tip=Reset selected report. observe.action.test.remote=Test connexion observe.action.test.remote.tip=Click here to validate remote connexion -observe.action.transmittingBuoyOperation.create.tip= -observe.action.transmittingBuoyOperation.delete.tip= -observe.action.transmittingBuoyOperation.detail.tip= -observe.action.transmittingBuoyOperation.modify.tip= -observe.action.transmittingBuoyOperation.save.tip= -observe.action.transmittingBuoyType.create.tip= -observe.action.transmittingBuoyType.delete.tip= -observe.action.transmittingBuoyType.detail.tip= -observe.action.transmittingBuoyType.modify.tip= -observe.action.transmittingBuoyType.save.tip= -observe.action.tripType.create.tip= -observe.action.tripType.delete.tip= -observe.action.tripType.detail.tip= -observe.action.tripType.modify.tip= -observe.action.tripType.save.tip= -observe.action.vessel.create.tip= -observe.action.vessel.delete.tip= -observe.action.vessel.detail.tip= -observe.action.vessel.modify.tip= -observe.action.vessel.save.tip= -observe.action.vesselActivityLongline.create.tip= -observe.action.vesselActivityLongline.delete.tip= -observe.action.vesselActivityLongline.detail.tip= -observe.action.vesselActivityLongline.modify.tip= -observe.action.vesselActivityLongline.save.tip= -observe.action.vesselActivitySeine.create.tip=Create a new boat activity -observe.action.vesselActivitySeine.delete.tip=Delete selected boat activity -observe.action.vesselActivitySeine.detail.tip=Show detail of selected boat activity -observe.action.vesselActivitySeine.modify.tip= -observe.action.vesselActivitySeine.save.tip= -observe.action.vesselSizeCategory.create.tip= -observe.action.vesselSizeCategory.delete.tip= -observe.action.vesselSizeCategory.detail.tip= -observe.action.vesselSizeCategory.modify.tip= -observe.action.vesselSizeCategory.save.tip= -observe.action.vesselType.create.tip= -observe.action.vesselType.delete.tip= -observe.action.vesselType.detail.tip= -observe.action.vesselType.modify.tip= -observe.action.vesselType.save.tip= -observe.action.weightCategory.create.tip= -observe.action.weightCategory.delete.tip= -observe.action.weightCategory.detail.tip= -observe.action.weightCategory.modify.tip= -observe.action.weightCategory.save.tip= -observe.action.weightMeasureType.create.tip= -observe.action.weightMeasureType.delete.tip= -observe.action.weightMeasureType.detail.tip= -observe.action.weightMeasureType.modify.tip= -observe.action.weightMeasureType.save.tip= -observe.action.wind.create.tip= -observe.action.wind.delete.tip= -observe.action.wind.detail.tip= -observe.action.wind.modify.tip= -observe.action.wind.save.tip= -observe.activityLongline.coordinate=Coordinates -observe.activityLongline.fpaZone=FPA Zone -observe.activityLongline.message.active.found=An activity is opened. -observe.activityLongline.message.active.found.for.other.trip=An activity is opened in another trip. -observe.activityLongline.message.creating=Creating an activity -observe.activityLongline.message.no.active.found=No opened activity found, you can create a new one, or open an existing one. -observe.activityLongline.message.no.active.found.for.other.trip=No opened activity found on current trip. -observe.activityLongline.message.not.open=Activity is not opened, no edit possible. -observe.activityLongline.message.updating=Updating an activity -observe.activityLongline.seaSurfaceTemperature=SST (°c) -observe.activityLongline.timeStamp=timestamp -observe.activityLongline.title=Activity -observe.activityLongline.vesselActivityLongline=Vessel activity -observe.activityLonglines.title=Activities -observe.activityObservedSystem.availableObservedSystem=Available observed systems -observe.activityObservedSystem.selectedObservedSystem=Selected observed systems -observe.activitySeine.message.active.found=An activity is opened. -observe.activitySeine.message.active.found.for.other.route=An activity is opened in another route. -observe.activitySeine.message.creating=Creating an activity -observe.activitySeine.message.no.active.found=No opened activity found, you can create a new one, or open an existing one. -observe.activitySeine.message.no.active.found.for.other.route=No opened activity found on current route. -observe.activitySeine.message.not.open=Activity is not opened, no edit possible. -observe.activitySeine.message.updating=Updating an activity -observe.activitySeine.tab.general=General caracteristics -observe.activitySeine.tab.measurements=Measurements -observe.activitySeine.title=Activity -observe.activitySeineObservedSystem.title= -observe.activitySeines.title=Activities +observe.actions.config.step= +observe.actions.config.step.description= +observe.actions.consolidate= +observe.actions.consolidate.description= +observe.actions.consolidate.message.activity= +observe.actions.consolidate.message.noChanges= +observe.actions.consolidate.message.operation.done= +observe.actions.consolidate.message.save.changes= +observe.actions.consolidate.message.trip= +observe.actions.consolidate.step= +observe.actions.consolidate.step.description= +observe.actions.consolidate.title= +observe.actions.consolidate.title.tip= +observe.actions.exportData= +observe.actions.exportData.description= +observe.actions.exportData.message.delete.remote.maree= +observe.actions.exportData.message.not.possible= +observe.actions.exportData.message.operation.needFix= +observe.actions.exportData.message.prepare.data= +observe.actions.exportData.message.replicate.maree= +observe.actions.exportData.step= +observe.actions.exportData.step.description= +observe.actions.exportData.table.exist.label= +observe.actions.exportData.table.exist.label.tip= +observe.actions.exportData.table.program.label= +observe.actions.exportData.table.program.label.tip= +observe.actions.exportData.table.selected= +observe.actions.exportData.table.selected.tip= +observe.actions.exportData.table.trip.label= +observe.actions.exportData.table.trip.label.tip= +observe.actions.exportData.title=Export datas +observe.actions.exportData.title.tip=Export datas to Obstuna +observe.actions.operation.configuration= +observe.actions.operation.message.canceled= +observe.actions.operation.message.done= +observe.actions.operation.message.failed= +observe.actions.operation.message.needFix= +observe.actions.operation.message.running= +observe.actions.operation.message.successed= +observe.actions.operations= +observe.actions.report= +observe.actions.report.config= +observe.actions.report.copy.options= +observe.actions.report.description= +observe.actions.report.report.description= +observe.actions.report.result= +observe.actions.report.select= +observe.actions.report.select.file= +observe.actions.report.select.file.tip= +observe.actions.report.step= +observe.actions.report.step.description= +observe.actions.report.title=Help to generat reports +observe.actions.report.title.tip=Help to generate reports +observe.actions.report.variables= +observe.actions.saveLocal= +observe.actions.saveLocal.description= +observe.actions.saveLocal.step= +observe.actions.saveLocal.step.description= +observe.actions.selectData.step= +observe.actions.selectData.step.description= +observe.actions.showResume.step= +observe.actions.showResume.step.description= +observe.actions.synchro.cancel.tip=Cancel +observe.actions.synchro.copy.tip=Copy result of report in clipboard +observe.actions.synchro.data= +observe.actions.synchro.data.actionsToPerform= +observe.actions.synchro.data.copyToLeft.tip= +observe.actions.synchro.data.copyToLeftTask= +observe.actions.synchro.data.copyToRight.tip= +observe.actions.synchro.data.copyToRightTask= +observe.actions.synchro.data.deleteFromLeft.tip= +observe.actions.synchro.data.deleteFromLeftTask= +observe.actions.synchro.data.deleteFromRight.tip= +observe.actions.synchro.data.deleteFromRightTask= +observe.actions.synchro.data.description= +observe.actions.synchro.data.prepare.copyToLeftTask= +observe.actions.synchro.data.prepare.copyToRightTask= +observe.actions.synchro.data.prepare.deleteFromLeftTask= +observe.actions.synchro.data.prepare.deleteFromRightTask= +observe.actions.synchro.data.prepare.skipFromLeftTask= +observe.actions.synchro.data.prepare.skipFromRightTask= +observe.actions.synchro.data.step= +observe.actions.synchro.data.step.description= +observe.actions.synchro.data.title= +observe.actions.synchro.data.title.tip= +observe.actions.synchro.launch.operation=Launch operation < %1$S > +observe.actions.synchro.prepare.operation=Prepare operation < %1$s > +observe.actions.synchro.referential= +observe.actions.synchro.referential.config.mode= +observe.actions.synchro.referential.copyToLeft.tip= +observe.actions.synchro.referential.copyToLeftTask= +observe.actions.synchro.referential.copyToRight.tip= +observe.actions.synchro.referential.copyToRightTask= +observe.actions.synchro.referential.deleteFromLeft.tip= +observe.actions.synchro.referential.deleteFromLeftTask= +observe.actions.synchro.referential.deleteFromRight.tip= +observe.actions.synchro.referential.deleteFromRightTask= +observe.actions.synchro.referential.desactivateFromLeft.tip= +observe.actions.synchro.referential.desactivateFromLeftTask= +observe.actions.synchro.referential.desactivateFromLeftWithReplace.tip= +observe.actions.synchro.referential.desactivateFromLeftWithReplaceTask= +observe.actions.synchro.referential.desactivateFromRight.tip= +observe.actions.synchro.referential.desactivateFromRightTask= +observe.actions.synchro.referential.desactivateFromRightWithReplace.tip= +observe.actions.synchro.referential.desactivateFromRightWithReplaceTask= +observe.actions.synchro.referential.description= +observe.actions.synchro.referential.launch.operation= +observe.actions.synchro.referential.legacy=Synchronize +observe.actions.synchro.referential.legacy.description= +observe.actions.synchro.referential.legacy.step= +observe.actions.synchro.referential.legacy.step.description= +observe.actions.synchro.referential.legacy.tip=Synchronize objectOperation on local database +observe.actions.synchro.referential.message.apply.done= +observe.actions.synchro.referential.message.build.diff= +observe.actions.synchro.referential.message.data.leftData.loaded= +observe.actions.synchro.referential.message.data.rightData.loaded= +observe.actions.synchro.referential.message.need.save.for.synchro.operation= +observe.actions.synchro.referential.message.need.save.for.validation.operation= +observe.actions.synchro.referential.message.no.local.modification= +observe.actions.synchro.referential.message.ref.is.updtodate= +observe.actions.synchro.referential.message.referential.leftData.loaded= +observe.actions.synchro.referential.message.referential.rightData.loaded= +observe.actions.synchro.referential.message.referentiel.was.added= +observe.actions.synchro.referential.message.referentiel.was.modified= +observe.actions.synchro.referential.message.referentiel.was.removed= +observe.actions.synchro.referential.message.referentiel.was.replaced= +observe.actions.synchro.referential.message.saveLocal.skip= +observe.actions.synchro.referential.message.synchro.local.modification= +observe.actions.synchro.referential.obsolete.entities.list= +observe.actions.synchro.referential.obsolete.entity.fix= +observe.actions.synchro.referential.prepare.copyToLeftTask= +observe.actions.synchro.referential.prepare.copyToRightTask= +observe.actions.synchro.referential.prepare.deleteFromLeftTask= +observe.actions.synchro.referential.prepare.deleteFromRightTask= +observe.actions.synchro.referential.prepare.desactivateFromLeftTask= +observe.actions.synchro.referential.prepare.desactivateFromLeftWithReplaceTask= +observe.actions.synchro.referential.prepare.desactivateFromRightTask= +observe.actions.synchro.referential.prepare.desactivateFromRightWithReplaceTask= +observe.actions.synchro.referential.revertFromRightLeft= +observe.actions.synchro.referential.revertFromRightTask= +observe.actions.synchro.referential.revertToLeft.tip= +observe.actions.synchro.referential.revertToRight.tip= +observe.actions.synchro.referential.safe.entity.to.choose.label= +observe.actions.synchro.referential.skipFromLeftTask= +observe.actions.synchro.referential.skipFromRightTask= +observe.actions.synchro.referential.skipToLeft.tip= +observe.actions.synchro.referential.skipToRight.tip= +observe.actions.synchro.referential.step= +observe.actions.synchro.referential.step.description= +observe.actions.synchro.referential.title= +observe.actions.synchro.referential.title.tip= +observe.actions.synchro.report.reset.tip=Reset selected report. +observe.actions.validate= +observe.actions.validate.choose.report.directory=Choose reports directory +observe.actions.validate.config= +observe.actions.validate.config.report= +observe.actions.validate.continue.with.no.save.report= +observe.actions.validate.description= +observe.actions.validate.invalid.data.list= +observe.actions.validate.message.list= +observe.actions.validate.model.type.all= +observe.actions.validate.model.type.all.description= +observe.actions.validate.model.type.data= +observe.actions.validate.model.type.data.description= +observe.actions.validate.model.type.referentiel= +observe.actions.validate.model.type.referentiel.description= +observe.actions.validate.report.contextName= +observe.actions.validate.report.entities.with.messages= +observe.actions.validate.report.entity= +observe.actions.validate.report.scopes= +observe.actions.validate.report.title= +observe.actions.validate.save= +observe.actions.validate.save.reportFile= +observe.actions.validate.select.context= +observe.actions.validate.select.context.tip= +observe.actions.validate.select.mode= +observe.actions.validate.select.mode.tip= +observe.actions.validate.select.scope= +observe.actions.validate.select.scope.tip= +observe.actions.validate.selected.validators= +observe.actions.validate.step= +observe.actions.validate.step.description= +observe.actions.validate.title=Validate datas +observe.actions.validate.title.choose.report.directory= +observe.actions.validate.title.tip=Validate datas of a storage +observe.actions.validation.message.detected= +observe.actions.validation.message.not.save.report= +observe.actions.validation.message.nothing.to.do= +observe.actions.validation.message.operation.done= +observe.actions.validation.message.operation.needFix= +observe.actions.validation.message.prepare.validators= +observe.actions.validation.message.save.report= +observe.actions.validation.message.use.storage= observe.admin.resume.no.operation.done= observe.admin.resume.operation.canceled= observe.admin.resume.operation.done= @@ -588,151 +345,8 @@ observe.admin.resume.operation.need.fix= observe.admin.resume.operation.not.started= observe.admin.resume.operation.running= observe.application.config=ObServe Configuration -observe.baitsComposition.action.create=Insert this bait -observe.baitsComposition.action.create.tip=Insert this bait -observe.baitsComposition.baitSettingStatus=Bait setting status -observe.baitsComposition.baitType=Bait type -observe.baitsComposition.individualSize=Size -observe.baitsComposition.individualWeight=Weight -observe.baitsComposition.proportion=Proportion -observe.baitsComposition.proportionSum=Proportion sum -observe.baitsComposition.table.baitSettingStatus=Status -observe.baitsComposition.table.baitSettingStatus.tip=Bait setting status -observe.baitsComposition.table.baitType=Type -observe.baitsComposition.table.baitType.tip=Bait type -observe.baitsComposition.table.individualSize=Size -observe.baitsComposition.table.individualSize.tip=Individual size -observe.baitsComposition.table.individualWeight=Weight -observe.baitsComposition.table.individualWeight.tip=Individual weight -observe.baitsComposition.table.proportion=Proportion -observe.baitsComposition.table.proportion.tip=Proportion -observe.baitsComposition.title=Baits -observe.basket.cant.delete.message=The current basket can not be deleted since it used by other data. -observe.basket.cant.delete.title=Can't delete basket -observe.basket.invalid.nextFloatline1Length= -observe.branchLine.cant.delete.message=The current branchline can not be deleted since it used by other data. -observe.branchLine.cant.delete.title=Can't delete branchline -observe.branchline.baitHaulingStatus=Bait hauling status -observe.branchline.baitSettingStatus=Bait setting status -observe.branchline.baitType=Bait type -observe.branchline.comment=Comment -observe.branchline.depthRecorder=Depth recorder -observe.branchline.hookLost=Hook lost -observe.branchline.hookOffset=Hook offset -observe.branchline.hookSize=Hook size -observe.branchline.hookType=Hook type -observe.branchline.message.modified= -observe.branchline.message.modified.but.invalid= -observe.branchline.snapWeight=Snap weight (kg) -observe.branchline.swivelWeight=Swivel weight (kg) -observe.branchline.tab.general= -observe.branchline.tab.hookAndBait= -observe.branchline.timeSinceContact=Time since contact -observe.branchline.timer=Timer -observe.branchline.timerTimeOnBoard=Time on board -observe.branchline.title=Branchline detail -observe.branchline.topType=Top part type -observe.branchline.traceCutOff=Trace cut off -observe.branchline.tracelineType=Traceline type -observe.branchline.weightedSnap=Weighted snap -observe.branchline.weightedSwivel=Weighted swivel -observe.branchlinesComposition.action.create=Insert this branchline -observe.branchlinesComposition.action.create.tip=Insert this branchline -observe.branchlinesComposition.length=Length -observe.branchlinesComposition.proportion=Proportion -observe.branchlinesComposition.proportionSum=Proportion sum -observe.branchlinesComposition.table.length=Length -observe.branchlinesComposition.table.length.tip=Length -observe.branchlinesComposition.table.proportion=Proportion -observe.branchlinesComposition.table.proportion.tip=Proportion -observe.branchlinesComposition.table.topType=Top part type -observe.branchlinesComposition.table.topType.tip=Top part type -observe.branchlinesComposition.table.tracelineType=Traceline type -observe.branchlinesComposition.table.tracelineType.tip=Traceline type -observe.branchlinesComposition.title=Branchlines -observe.branchlinesComposition.topType=Top part type -observe.branchlinesComposition.tracelineType=Traceline type -observe.broughtOnDeck.comment=Only species brought on deck can be sampled observe.catchAcquisitionModeEnum.GROUPED=Batch observe.catchAcquisitionModeEnum.INDIVIDUAL=Individual -observe.catchLongline.acquisitionMode=Acquisition mode -observe.catchLongline.action.addSizeMeasure=Add -observe.catchLongline.action.addSizeMeasure.tip=Add size measure -observe.catchLongline.action.addWeightMeasure=add -observe.catchLongline.action.addWeightMeasure.tip=Add weight measure -observe.catchLongline.action.create=Insert this catch -observe.catchLongline.action.create.tip=Insert this catch -observe.catchLongline.action.deleteSelectedSizeMeasure=Delete -observe.catchLongline.action.deleteSelectedSizeMeasure.tip=Delete selected size measure -observe.catchLongline.action.deleteSelectedWeightMeasure=Delete -observe.catchLongline.action.deleteSelectedWeightMeasure.tip=Delete selected weight measure -observe.catchLongline.action.new= -observe.catchLongline.action.new.tip= -observe.catchLongline.action.reset.photoReferences.tip=Reset photo references -observe.catchLongline.availablePredator=Avaiable predators -observe.catchLongline.basket=Bakset -observe.catchLongline.beatDiameter=Beat diameter -observe.catchLongline.branchline=Branchline -observe.catchLongline.catchFateLongline=Fate -observe.catchLongline.catchHealthness=Catch healthness -observe.catchLongline.comment=Comment -observe.catchLongline.count=Count -observe.catchLongline.depredated=Depredated -observe.catchLongline.discardHealthness=Discard healthness -observe.catchLongline.gonadeWeight=Gonade weigth (g) -observe.catchLongline.hookPosition=Hook position -observe.catchLongline.hookWhenDiscarded=Discarded with hook -observe.catchLongline.locationOnLongline=Location on longline -observe.catchLongline.maturityStatus=Sexual maturity -observe.catchLongline.photoReferences=Photo references -observe.catchLongline.predator=Predators -observe.catchLongline.resetBranchline= -observe.catchLongline.resetBranchline.tip= -observe.catchLongline.saveBranchline= -observe.catchLongline.saveBranchline.tip= -observe.catchLongline.section=Section -observe.catchLongline.selectedPredator=Selected predators -observe.catchLongline.sex=Sex -observe.catchLongline.speciesCatch=Species -observe.catchLongline.stomacFullness=Stomac fullness -observe.catchLongline.tab.branchline= -observe.catchLongline.tab.caracteristics=Caracteristics -observe.catchLongline.tab.depredated=Depredation -observe.catchLongline.tab.foodAndSexual=Food and sexual maturity -observe.catchLongline.tab.sizeMeasures=Sizes -observe.catchLongline.tab.weightMeasures=Weights -observe.catchLongline.title=Catches -observe.catchLongline.totalWeight=Total weight (kg) -observe.catchlongline.table.acquisitionMode=Acquisition mode -observe.catchlongline.table.acquisitionMode.tip=Acquisition mode -observe.catchlongline.table.basketHaulingId= -observe.catchlongline.table.basketHaulingId.tip= -observe.catchlongline.table.branchlineHaulingId= -observe.catchlongline.table.branchlineHaulingId.tip= -observe.catchlongline.table.catchFateLongline=Fate -observe.catchlongline.table.catchFateLongline.tip=Fate -observe.catchlongline.table.catchHealthness=Catch healthness -observe.catchlongline.table.catchHealthness.tip=Catch healthness -observe.catchlongline.table.comment=Comment -observe.catchlongline.table.comment.tip=Comment -observe.catchlongline.table.count=Count -observe.catchlongline.table.count.tip=Count -observe.catchlongline.table.depredated=Depredated -observe.catchlongline.table.depredated.tip=Depredated -observe.catchlongline.table.discardHealthness=Discard healthness -observe.catchlongline.table.discardHealthness.tip=Discard healthness -observe.catchlongline.table.sectionHaulingId= -observe.catchlongline.table.sectionHaulingId.tip= -observe.catchlongline.table.size=Size (cm) -observe.catchlongline.table.size.tip=Size (cm) -observe.catchlongline.table.sizeMeasureType=Measure type -observe.catchlongline.table.sizeMeasureType.tip=Measure type -observe.catchlongline.table.speciesCatch=Species -observe.catchlongline.table.speciesCatch.tip=Species -observe.catchlongline.table.weight=Measure (kg) -observe.catchlongline.table.weight.tip=Measure (kg) -observe.catchlongline.table.weightMeasureType=Measure type -observe.catchlongline.table.weightMeasureType.tip=Measure type observe.choice.cancel=Cancel observe.choice.confirm.delete=Confirm delete observe.choice.continue=Continue @@ -882,15 +496,6 @@ observe.common.schoolType= observe.common.scientificLabel= observe.common.seaSurfaceTemperature= observe.common.searchMaximum= -observe.common.select.report.file= -observe.common.select.report.file.tip= -observe.common.select.validate.context= -observe.common.select.validate.context.tip= -observe.common.select.validate.mode= -observe.common.select.validate.mode.tip= -observe.common.select.validate.scope= -observe.common.select.validate.scope.tip= -observe.common.selected.validators= observe.common.sex= observe.common.species=Species observe.common.speciesFate= @@ -1038,304 +643,1178 @@ observe.config.ui.showTimeEditorSlider=Show timer slider observe.config.ui.storeRemoteStorage=Flag sets to true to store in config a remote connexion (except passwords) observe.config.ui.treeOpenNodes= observe.configuration.description= +observe.content.action.activity=Create a new activity +observe.content.action.activity.tip=Create a new activity +observe.content.action.baitHaulingStatus.create.tip= +observe.content.action.baitHaulingStatus.delete.tip= +observe.content.action.baitHaulingStatus.detail.tip= +observe.content.action.baitHaulingStatus.modify.tip= +observe.content.action.baitHaulingStatus.save.tip= +observe.content.action.baitSettingStatus.create.tip= +observe.content.action.baitSettingStatus.delete.tip= +observe.content.action.baitSettingStatus.detail.tip= +observe.content.action.baitSettingStatus.modify.tip= +observe.content.action.baitSettingStatus.save.tip= +observe.content.action.baitType.create.tip= +observe.content.action.baitType.delete.tip= +observe.content.action.baitType.detail.tip= +observe.content.action.baitType.modify.tip= +observe.content.action.baitType.save.tip= +observe.content.action.catchFateLongline.create.tip= +observe.content.action.catchFateLongline.delete.tip= +observe.content.action.catchFateLongline.detail.tip= +observe.content.action.catchFateLongline.modify.tip= +observe.content.action.catchFateLongline.save.tip= +observe.content.action.closeAndCreate= +observe.content.action.closeAndCreate.activity= +observe.content.action.closeAndCreate.activity.tip= +observe.content.action.closeAndCreate.maree= +observe.content.action.closeAndCreate.maree.tip= +observe.content.action.closeAndCreate.route= +observe.content.action.closeAndCreate.route.tip= +observe.content.action.closeAndCreate.tip= +observe.content.action.country.create.tip= +observe.content.action.country.delete.tip= +observe.content.action.country.detail.tip= +observe.content.action.country.modify.tip= +observe.content.action.country.save.tip= +observe.content.action.create.entry.tip= +observe.content.action.create.gearUseFeaturesSeine=Create a new gear use feature +observe.content.action.create.gearUseFeaturesSeine.tip=Create a new gear use feature +observe.content.action.create.nonTargetCatch= +observe.content.action.create.nonTargetCatch.tip= +observe.content.action.create.nonTargetSample= +observe.content.action.create.nonTargetSample.tip= +observe.content.action.create.objectObservedSpecies= +observe.content.action.create.objectObservedSpecies.tip= +observe.content.action.create.route=Create a new road +observe.content.action.create.route.tip= +observe.content.action.create.schoolEstimate= +observe.content.action.create.schoolEstimate.tip= +observe.content.action.create.targetCatch= +observe.content.action.create.targetCatch.tip= +observe.content.action.create.targetDiscarded= +observe.content.action.create.targetDiscarded.tip= +observe.content.action.create.targetSample= +observe.content.action.create.targetSample.tip= +observe.content.action.create.targetSampleCapture= +observe.content.action.create.targetSampleCapture.tip= +observe.content.action.detectionMode.create.tip= +observe.content.action.detectionMode.delete.tip= +observe.content.action.detectionMode.detail.tip= +observe.content.action.detectionMode.modify.tip= +observe.content.action.detectionMode.save.tip= +observe.content.action.encounterType.create.tip= +observe.content.action.encounterType.delete.tip= +observe.content.action.encounterType.detail.tip= +observe.content.action.encounterType.modify.tip= +observe.content.action.encounterType.save.tip= +observe.content.action.fpaZone.create.tip= +observe.content.action.fpaZone.delete.tip= +observe.content.action.fpaZone.detail.tip= +observe.content.action.fpaZone.modify.tip= +observe.content.action.fpaZone.save.tip= +observe.content.action.gear.create.tip= +observe.content.action.gear.delete.tip= +observe.content.action.gear.detail.tip= +observe.content.action.gear.modify.tip= +observe.content.action.gear.save.tip= +observe.content.action.gearCaracteristic.create.tip= +observe.content.action.gearCaracteristic.delete.tip= +observe.content.action.gearCaracteristic.detail.tip= +observe.content.action.gearCaracteristic.modify.tip= +observe.content.action.gearCaracteristic.save.tip= +observe.content.action.gearCaracteristicType.create.tip= +observe.content.action.gearCaracteristicType.delete.tip= +observe.content.action.gearCaracteristicType.detail.tip= +observe.content.action.gearCaracteristicType.modify.tip= +observe.content.action.gearCaracteristicType.save.tip= +observe.content.action.gearUseFeaturesLongline=Create a new gear use feature +observe.content.action.gearUseFeaturesLongline.tip=Create a new gear use feature +observe.content.action.goto.open.activity=Go to opened activity +observe.content.action.goto.open.activity.short=Open activity +observe.content.action.goto.open.activity.tip=Go to opened activity +observe.content.action.goto.open.maree=Got to opened trip +observe.content.action.goto.open.other.activity=Go to opened activity in other road +observe.content.action.goto.open.other.activity.tip=Got to opened activity in other road +observe.content.action.goto.open.other.maree=Go to opened trip in other program +observe.content.action.goto.open.other.maree.tip=Got to opened trip in other program +observe.content.action.goto.open.other.route=Go to opened road in other trip +observe.content.action.goto.open.other.route.tip=Go to opened road in other trip +observe.content.action.goto.open.program.short=Open program +observe.content.action.goto.open.program.tip=Go to opened program +observe.content.action.goto.open.route=Go to opened route +observe.content.action.goto.open.route.short=Open route +observe.content.action.goto.open.route.tip=Go to opened route +observe.content.action.goto.open.set.short=Open set +observe.content.action.goto.open.set.tip= +observe.content.action.goto.open.trip.short=Open trip +observe.content.action.goto.open.trip.tip=go to opened trip +observe.content.action.goto.selected.activity= +observe.content.action.goto.selected.activity.tip= +observe.content.action.goto.selected.maree= +observe.content.action.goto.selected.maree.tip= +observe.content.action.goto.selected.route= +observe.content.action.goto.selected.route.tip= +observe.content.action.harbour.create.tip= +observe.content.action.harbour.delete.tip= +observe.content.action.harbour.detail.tip= +observe.content.action.harbour.modify.tip= +observe.content.action.harbour.save.tip= +observe.content.action.healthness.create.tip= +observe.content.action.healthness.delete.tip= +observe.content.action.healthness.detail.tip= +observe.content.action.healthness.modify.tip= +observe.content.action.healthness.save.tip= +observe.content.action.hookPosition.create.tip= +observe.content.action.hookPosition.delete.tip= +observe.content.action.hookPosition.detail.tip= +observe.content.action.hookPosition.modify.tip= +observe.content.action.hookPosition.save.tip= +observe.content.action.hookSize.create.tip= +observe.content.action.hookSize.delete.tip= +observe.content.action.hookSize.detail.tip= +observe.content.action.hookSize.modify.tip= +observe.content.action.hookSize.save.tip= +observe.content.action.hookType.create.tip= +observe.content.action.hookType.delete.tip= +observe.content.action.hookType.detail.tip= +observe.content.action.hookType.modify.tip= +observe.content.action.hookType.save.tip= +observe.content.action.itemHorizontalPosition.create.tip= +observe.content.action.itemHorizontalPosition.delete.tip= +observe.content.action.itemHorizontalPosition.detail.tip= +observe.content.action.itemHorizontalPosition.modify.tip= +observe.content.action.itemHorizontalPosition.save.tip= +observe.content.action.itemVerticalPosition.create.tip= +observe.content.action.itemVerticalPosition.delete.tip= +observe.content.action.itemVerticalPosition.detail.tip= +observe.content.action.itemVerticalPosition.modify.tip= +observe.content.action.itemVerticalPosition.save.tip= +observe.content.action.lengthWeightParameter.create.tip= +observe.content.action.lengthWeightParameter.delete.tip= +observe.content.action.lengthWeightParameter.detail.tip= +observe.content.action.lengthWeightParameter.modify.tip= +observe.content.action.lengthWeightParameter.save.tip= +observe.content.action.lightsticksColor.create.tip= +observe.content.action.lightsticksColor.delete.tip= +observe.content.action.lightsticksColor.detail.tip= +observe.content.action.lightsticksColor.modify.tip= +observe.content.action.lightsticksColor.save.tip= +observe.content.action.lightsticksType.create.tip= +observe.content.action.lightsticksType.delete.tip= +observe.content.action.lightsticksType.detail.tip= +observe.content.action.lightsticksType.modify.tip= +observe.content.action.lightsticksType.save.tip= +observe.content.action.lineType.create.tip= +observe.content.action.lineType.delete.tip= +observe.content.action.lineType.detail.tip= +observe.content.action.lineType.modify.tip= +observe.content.action.lineType.save.tip= +observe.content.action.maturityStatus.create.tip= +observe.content.action.maturityStatus.delete.tip= +observe.content.action.maturityStatus.detail.tip= +observe.content.action.maturityStatus.modify.tip= +observe.content.action.maturityStatus.save.tip= +observe.content.action.mitigationType.create.tip= +observe.content.action.mitigationType.delete.tip= +observe.content.action.mitigationType.detail.tip= +observe.content.action.mitigationType.modify.tip= +observe.content.action.mitigationType.save.tip= +observe.content.action.move.activities= +observe.content.action.move.activities.longline= +observe.content.action.move.activities.longline.tip= +observe.content.action.move.activities.seine= +observe.content.action.move.activities.seine.tip= +observe.content.action.move.activities.tip= +observe.content.action.move.routes= +observe.content.action.move.routes.tip= +observe.content.action.move.trips= +observe.content.action.move.trips.tip= +observe.content.action.objectFate.create.tip= +observe.content.action.objectFate.delete.tip= +observe.content.action.objectFate.detail.tip= +observe.content.action.objectFate.modify.tip= +observe.content.action.objectFate.save.tip= +observe.content.action.objectOperation.create.tip= +observe.content.action.objectOperation.delete.tip= +observe.content.action.objectOperation.detail.tip= +observe.content.action.objectOperation.modify.tip= +observe.content.action.objectOperation.save.tip= +observe.content.action.objectType.create.tip= +observe.content.action.objectType.delete.tip= +observe.content.action.objectType.detail.tip= +observe.content.action.objectType.modify.tip= +observe.content.action.objectType.save.tip= +observe.content.action.observedSystem.create.tip= +observe.content.action.observedSystem.delete.tip= +observe.content.action.observedSystem.detail.tip= +observe.content.action.observedSystem.modify.tip= +observe.content.action.observedSystem.save.tip= +observe.content.action.ocean.create.tip= +observe.content.action.ocean.delete.tip= +observe.content.action.ocean.detail.tip= +observe.content.action.ocean.modify.tip= +observe.content.action.ocean.save.tip= +observe.content.action.openLink.formsUrl.tip= +observe.content.action.openLink.reportsUrl.tip= +observe.content.action.organism.create.tip= +observe.content.action.organism.delete.tip= +observe.content.action.organism.detail.tip= +observe.content.action.organism.modify.tip= +observe.content.action.organism.save.tip= +observe.content.action.person.create.tip= +observe.content.action.person.delete.tip= +observe.content.action.person.detail.tip= +observe.content.action.person.modify.tip= +observe.content.action.person.save.tip= +observe.content.action.program.create.tip= +observe.content.action.program.delete.tip= +observe.content.action.program.detail.tip= +observe.content.action.program.modify.tip= +observe.content.action.program.save.tip= +observe.content.action.reasonForDiscard.create.tip= +observe.content.action.reasonForDiscard.delete.tip= +observe.content.action.reasonForDiscard.detail.tip= +observe.content.action.reasonForDiscard.modify.tip= +observe.content.action.reasonForDiscard.save.tip= +observe.content.action.reasonForNoFishing.create.tip= +observe.content.action.reasonForNoFishing.delete.tip= +observe.content.action.reasonForNoFishing.detail.tip= +observe.content.action.reasonForNoFishing.modify.tip= +observe.content.action.reasonForNoFishing.save.tip= +observe.content.action.reasonForNullSet.create.tip= +observe.content.action.reasonForNullSet.delete.tip= +observe.content.action.reasonForNullSet.detail.tip= +observe.content.action.reasonForNullSet.modify.tip= +observe.content.action.reasonForNullSet.save.tip= +observe.content.action.reopen=Re-open +observe.content.action.reopen.activity.tip= +observe.content.action.reopen.maree.tip= +observe.content.action.reopen.route.tip= +observe.content.action.reopen.selected.activity= +observe.content.action.reopen.selected.activity.tip= +observe.content.action.reopen.selected.maree= +observe.content.action.reopen.selected.maree.tip= +observe.content.action.reopen.selected.route= +observe.content.action.reopen.selected.route.tip= +observe.content.action.reopen.tip= +observe.content.action.reset=Reset +observe.content.action.reset.entry.tip= +observe.content.action.reset.ersId.tip= +observe.content.action.reset.formsUrl.tip= +observe.content.action.reset.homeId.tip= +observe.content.action.reset.new.entry.tip= +observe.content.action.reset.picturesReferences.tip= +observe.content.action.reset.reportsUrl.tip= +observe.content.action.reset.supportVesselName.tip= +observe.content.action.reset.tip=Cancel modifications +observe.content.action.reset.well.tip= +observe.content.action.sensorBrand.create.tip= +observe.content.action.sensorBrand.delete.tip= +observe.content.action.sensorBrand.detail.tip= +observe.content.action.sensorBrand.modify.tip= +observe.content.action.sensorBrand.save.tip= +observe.content.action.sensorDataFormat.create.tip= +observe.content.action.sensorDataFormat.delete.tip= +observe.content.action.sensorDataFormat.detail.tip= +observe.content.action.sensorDataFormat.modify.tip= +observe.content.action.sensorDataFormat.save.tip= +observe.content.action.sensorType.create.tip= +observe.content.action.sensorType.delete.tip= +observe.content.action.sensorType.detail.tip= +observe.content.action.sensorType.modify.tip= +observe.content.action.sensorType.save.tip= +observe.content.action.settingShape.create.tip= +observe.content.action.settingShape.delete.tip= +observe.content.action.settingShape.detail.tip= +observe.content.action.settingShape.modify.tip= +observe.content.action.settingShape.save.tip= +observe.content.action.sex.create.tip= +observe.content.action.sex.delete.tip= +observe.content.action.sex.detail.tip= +observe.content.action.sex.modify.tip= +observe.content.action.sex.save.tip= +observe.content.action.sizeMeasureType.create.tip= +observe.content.action.sizeMeasureType.delete.tip= +observe.content.action.sizeMeasureType.detail.tip= +observe.content.action.sizeMeasureType.modify.tip= +observe.content.action.sizeMeasureType.save.tip= +observe.content.action.species.create.tip= +observe.content.action.species.delete.tip= +observe.content.action.species.detail.tip= +observe.content.action.species.modify.tip= +observe.content.action.species.save.tip= +observe.content.action.speciesFate.create.tip= +observe.content.action.speciesFate.delete.tip= +observe.content.action.speciesFate.detail.tip= +observe.content.action.speciesFate.modify.tip= +observe.content.action.speciesFate.save.tip= +observe.content.action.speciesGroupSpecies.create.tip= +observe.content.action.speciesGroupSpecies.delete.tip= +observe.content.action.speciesGroupSpecies.detail.tip= +observe.content.action.speciesGroupSpecies.modify.tip= +observe.content.action.speciesGroupSpecies.save.tip= +observe.content.action.speciesList.create.tip= +observe.content.action.speciesList.delete.tip= +observe.content.action.speciesList.detail.tip= +observe.content.action.speciesList.modify.tip= +observe.content.action.speciesStatus.create.tip= +observe.content.action.speciesStatus.delete.tip= +observe.content.action.speciesStatus.detail.tip= +observe.content.action.speciesStatus.modify.tip= +observe.content.action.speciesStatus.save.tip= +observe.content.action.stomacFullness.create.tip= +observe.content.action.stomacFullness.delete.tip= +observe.content.action.stomacFullness.detail.tip= +observe.content.action.stomacFullness.modify.tip= +observe.content.action.stomacFullness.save.tip= +observe.content.action.surroundingActivity.create.tip= +observe.content.action.surroundingActivity.delete.tip= +observe.content.action.surroundingActivity.detail.tip= +observe.content.action.surroundingActivity.modify.tip= +observe.content.action.surroundingActivity.save.tip= +observe.content.action.transmittingBuoyOperation.create.tip= +observe.content.action.transmittingBuoyOperation.delete.tip= +observe.content.action.transmittingBuoyOperation.detail.tip= +observe.content.action.transmittingBuoyOperation.modify.tip= +observe.content.action.transmittingBuoyOperation.save.tip= +observe.content.action.transmittingBuoyType.create.tip= +observe.content.action.transmittingBuoyType.delete.tip= +observe.content.action.transmittingBuoyType.detail.tip= +observe.content.action.transmittingBuoyType.modify.tip= +observe.content.action.transmittingBuoyType.save.tip= +observe.content.action.trip=Create a new maree +observe.content.action.trip.tip=Create a new maree +observe.content.action.tripType.create.tip= +observe.content.action.tripType.delete.tip= +observe.content.action.tripType.detail.tip= +observe.content.action.tripType.modify.tip= +observe.content.action.tripType.save.tip= +observe.content.action.vessel.create.tip= +observe.content.action.vessel.delete.tip= +observe.content.action.vessel.detail.tip= +observe.content.action.vessel.modify.tip= +observe.content.action.vessel.save.tip= +observe.content.action.vesselActivityLongline.create.tip= +observe.content.action.vesselActivityLongline.delete.tip= +observe.content.action.vesselActivityLongline.detail.tip= +observe.content.action.vesselActivityLongline.modify.tip= +observe.content.action.vesselActivityLongline.save.tip= +observe.content.action.vesselActivitySeine.create.tip= +observe.content.action.vesselActivitySeine.delete.tip= +observe.content.action.vesselActivitySeine.detail.tip= +observe.content.action.vesselActivitySeine.modify.tip= +observe.content.action.vesselActivitySeine.save.tip= +observe.content.action.vesselSizeCategory.create.tip= +observe.content.action.vesselSizeCategory.delete.tip= +observe.content.action.vesselSizeCategory.detail.tip= +observe.content.action.vesselSizeCategory.modify.tip= +observe.content.action.vesselSizeCategory.save.tip= +observe.content.action.vesselType.create.tip= +observe.content.action.vesselType.delete.tip= +observe.content.action.vesselType.detail.tip= +observe.content.action.vesselType.modify.tip= +observe.content.action.vesselType.save.tip= +observe.content.action.weightCategory.create.tip= +observe.content.action.weightCategory.delete.tip= +observe.content.action.weightCategory.detail.tip= +observe.content.action.weightCategory.modify.tip= +observe.content.action.weightCategory.save.tip= +observe.content.action.weightMeasureType.create.tip= +observe.content.action.weightMeasureType.delete.tip= +observe.content.action.weightMeasureType.detail.tip= +observe.content.action.weightMeasureType.modify.tip= +observe.content.action.weightMeasureType.save.tip= +observe.content.action.wind.create.tip= +observe.content.action.wind.delete.tip= +observe.content.action.wind.detail.tip= +observe.content.action.wind.modify.tip= +observe.content.action.wind.save.tip= +observe.content.baitsComposition.action.create=Insert this bait +observe.content.baitsComposition.action.create.tip=Insert this bait +observe.content.baitsComposition.baitSettingStatus=Bait setting status +observe.content.baitsComposition.baitType=Bait type +observe.content.baitsComposition.individualSize=Size +observe.content.baitsComposition.individualWeight=Weight +observe.content.baitsComposition.proportion=Proportion +observe.content.baitsComposition.proportionSum=Proportion sum +observe.content.baitsComposition.table.baitSettingStatus=Status +observe.content.baitsComposition.table.baitSettingStatus.tip=Bait setting status +observe.content.baitsComposition.table.baitType=Type +observe.content.baitsComposition.table.baitType.tip=Bait type +observe.content.baitsComposition.table.individualSize=Size +observe.content.baitsComposition.table.individualSize.tip=Individual size +observe.content.baitsComposition.table.individualWeight=Weight +observe.content.baitsComposition.table.individualWeight.tip=Individual weight +observe.content.baitsComposition.table.proportion=Proportion +observe.content.baitsComposition.table.proportion.tip=Proportion +observe.content.baitsComposition.title=Baits +observe.content.basket.cant.delete.message=The current basket can not be deleted since it used by other data. +observe.content.basket.cant.delete.title=Can't delete basket +observe.content.basket.invalid.nextFloatline1Length= +observe.content.branchLine.cant.delete.message=The current branchline can not be deleted since it used by other data. +observe.content.branchLine.cant.delete.title=Can't delete branchline +observe.content.branchline.baitHaulingStatus=Bait hauling status +observe.content.branchline.baitSettingStatus=Bait setting status +observe.content.branchline.baitType=Bait type +observe.content.branchline.comment=Comment +observe.content.branchline.depthRecorder=Depth recorder +observe.content.branchline.hookLost=Hook lost +observe.content.branchline.hookOffset=Hook offset +observe.content.branchline.hookSize=Hook size +observe.content.branchline.hookType=Hook type +observe.content.branchline.message.modified= +observe.content.branchline.message.modified.but.invalid= +observe.content.branchline.snapWeight=Snap weight (kg) +observe.content.branchline.swivelWeight=Swivel weight (kg) +observe.content.branchline.tab.general= +observe.content.branchline.tab.hookAndBait= +observe.content.branchline.timeSinceContact=Time since contact +observe.content.branchline.timer=Timer +observe.content.branchline.timerTimeOnBoard=Time on board +observe.content.branchline.title=Branchline detail +observe.content.branchline.topType=Top part type +observe.content.branchline.traceCutOff=Trace cut off +observe.content.branchline.tracelineType=Traceline type +observe.content.branchline.weightedSnap=Weighted snap +observe.content.branchline.weightedSwivel=Weighted swivel +observe.content.branchlinesComposition.action.create=Insert this branchline +observe.content.branchlinesComposition.action.create.tip=Insert this branchline +observe.content.branchlinesComposition.length=Length +observe.content.branchlinesComposition.proportion=Proportion +observe.content.branchlinesComposition.proportionSum=Proportion sum +observe.content.branchlinesComposition.table.length=Length +observe.content.branchlinesComposition.table.length.tip=Length +observe.content.branchlinesComposition.table.proportion=Proportion +observe.content.branchlinesComposition.table.proportion.tip=Proportion +observe.content.branchlinesComposition.table.topType=Top part type +observe.content.branchlinesComposition.table.topType.tip=Top part type +observe.content.branchlinesComposition.table.tracelineType=Traceline type +observe.content.branchlinesComposition.table.tracelineType.tip=Traceline type +observe.content.branchlinesComposition.title=Branchlines +observe.content.branchlinesComposition.topType=Top part type +observe.content.branchlinesComposition.tracelineType=Traceline type +observe.content.broughtOnDeck.comment=Only species brought on deck can be sampled +observe.content.catchLongline.acquisitionMode=Acquisition mode +observe.content.catchLongline.action.addSizeMeasure=Add +observe.content.catchLongline.action.addSizeMeasure.tip=Add size measure +observe.content.catchLongline.action.addWeightMeasure=add +observe.content.catchLongline.action.addWeightMeasure.tip=Add weight measure +observe.content.catchLongline.action.create=Insert this catch +observe.content.catchLongline.action.create.tip=Insert this catch +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.new= +observe.content.catchLongline.action.new.tip= +observe.content.catchLongline.action.reset.photoReferences.tip=Reset photo references +observe.content.catchLongline.availablePredator=Avaiable predators +observe.content.catchLongline.basket=Bakset +observe.content.catchLongline.beatDiameter=Beat diameter +observe.content.catchLongline.branchline=Branchline +observe.content.catchLongline.catchFateLongline=Fate +observe.content.catchLongline.catchHealthness=Catch healthness +observe.content.catchLongline.comment=Comment +observe.content.catchLongline.count=Count +observe.content.catchLongline.depredated=Depredated +observe.content.catchLongline.discardHealthness=Discard healthness +observe.content.catchLongline.gonadeWeight=Gonade weigth (g) +observe.content.catchLongline.hookPosition=Hook position +observe.content.catchLongline.hookWhenDiscarded=Discarded with hook +observe.content.catchLongline.locationOnLongline=Location on longline +observe.content.catchLongline.maturityStatus=Sexual maturity +observe.content.catchLongline.photoReferences=Photo references +observe.content.catchLongline.predator=Predators +observe.content.catchLongline.resetBranchline= +observe.content.catchLongline.resetBranchline.tip= +observe.content.catchLongline.saveBranchline= +observe.content.catchLongline.saveBranchline.tip= +observe.content.catchLongline.section=Section +observe.content.catchLongline.selectedPredator=Selected predators +observe.content.catchLongline.sex=Sex +observe.content.catchLongline.speciesCatch=Species +observe.content.catchLongline.stomacFullness=Stomac fullness +observe.content.catchLongline.tab.branchline= +observe.content.catchLongline.tab.caracteristics=Caracteristics +observe.content.catchLongline.tab.depredated=Depredation +observe.content.catchLongline.tab.foodAndSexual=Food and sexual maturity +observe.content.catchLongline.tab.sizeMeasures=Sizes +observe.content.catchLongline.tab.weightMeasures=Weights +observe.content.catchLongline.table.acquisitionMode=Acquisition mode +observe.content.catchLongline.table.acquisitionMode.tip=Acquisition mode +observe.content.catchLongline.table.basketHaulingId= +observe.content.catchLongline.table.basketHaulingId.tip= +observe.content.catchLongline.table.branchlineHaulingId= +observe.content.catchLongline.table.branchlineHaulingId.tip= +observe.content.catchLongline.table.catchFateLongline=Fate +observe.content.catchLongline.table.catchFateLongline.tip=Fate +observe.content.catchLongline.table.catchHealthness=Catch healthness +observe.content.catchLongline.table.catchHealthness.tip=Catch healthness +observe.content.catchLongline.table.comment=Comment +observe.content.catchLongline.table.comment.tip=Comment +observe.content.catchLongline.table.count=Count +observe.content.catchLongline.table.count.tip=Count +observe.content.catchLongline.table.depredated=Depredated +observe.content.catchLongline.table.depredated.tip=Depredated +observe.content.catchLongline.table.discardHealthness=Discard healthness +observe.content.catchLongline.table.discardHealthness.tip=Discard healthness +observe.content.catchLongline.table.sectionHaulingId= +observe.content.catchLongline.table.sectionHaulingId.tip= +observe.content.catchLongline.table.size=Size (cm) +observe.content.catchLongline.table.size.tip=Size (cm) +observe.content.catchLongline.table.sizeMeasureType=Measure type +observe.content.catchLongline.table.sizeMeasureType.tip=Measure type +observe.content.catchLongline.table.speciesCatch=Species +observe.content.catchLongline.table.speciesCatch.tip=Species +observe.content.catchLongline.table.weight=Measure (kg) +observe.content.catchLongline.table.weight.tip=Measure (kg) +observe.content.catchLongline.table.weightMeasureType=Measure type +observe.content.catchLongline.table.weightMeasureType.tip=Measure type +observe.content.catchLongline.title=Catches +observe.content.catchLongline.totalWeight=Total weight (kg) +observe.content.choose.sensorUsed.title.exportData= +observe.content.choose.sensorUsed.title.importData= +observe.content.choose.tdr.title.exportData= +observe.content.choose.tdr.title.importData= +observe.content.encounter.action.create=Insert this encounter +observe.content.encounter.action.create.tip=Insert this encounter +observe.content.encounter.count=Count +observe.content.encounter.distance=Distance (m) +observe.content.encounter.encounterType=Type +observe.content.encounter.species=species +observe.content.encounter.table.count=Count +observe.content.encounter.table.count.tip=Count +observe.content.encounter.table.distance=Distance (m) +observe.content.encounter.table.distance.tip=Distance (m) +observe.content.encounter.table.encouterType=Type +observe.content.encounter.table.encouterType.tip=Type +observe.content.encounter.table.species=Species +observe.content.encounter.table.species.tip=Species +observe.content.encounter.title=Encounters +observe.content.floatingObject.message.creating=Creating a floating object +observe.content.floatingObject.message.updating=updating a floating object +observe.content.floatingObject.title=DCP +observe.content.floatingObjectTransmittingBuoyOperation.title= +observe.content.floatlinesComposition.action.create=Insert this floatline +observe.content.floatlinesComposition.action.create.tip=Insert this floatline +observe.content.floatlinesComposition.length=Length +observe.content.floatlinesComposition.lineType=Line type +observe.content.floatlinesComposition.proportion=Proportion +observe.content.floatlinesComposition.proportionSum=Proportion sum +observe.content.floatlinesComposition.table.length=Length +observe.content.floatlinesComposition.table.length.tip=Length +observe.content.floatlinesComposition.table.lineType=Type +observe.content.floatlinesComposition.table.lineType.tip=Line type +observe.content.floatlinesComposition.table.proportion=Proportion +observe.content.floatlinesComposition.table.proportion.tip=Proportion +observe.content.floatlinesComposition.title=Floatines +observe.content.gear.availableGearCaracteristic=Available caracteristics +observe.content.gear.gearCaracteristic=Gear caracteristic +observe.content.gear.gearCaracteristicType=Gear caracteristic type +observe.content.gear.selectedGearCaracteristic=Selected caracteristics +observe.content.gear.tab.gearCaracteristic=Caracteristics of the gear +observe.content.gear.tab.general=General caracteristics +observe.content.gear.unit=Unit +observe.content.gearUseFeaturesLongline.action.addMeasurement=Add +observe.content.gearUseFeaturesLongline.action.addMeasurement.tip=Add a new measurement +observe.content.gearUseFeaturesLongline.action.deleteSelectedMeasurement=Delete selected measurement +observe.content.gearUseFeaturesLongline.action.deleteSelectedMeasurement.tip=Delete selected measurement +observe.content.gearUseFeaturesLongline.comment=Comment +observe.content.gearUseFeaturesLongline.gear=Gear +observe.content.gearUseFeaturesLongline.number=Number +observe.content.gearUseFeaturesLongline.tab.general=General +observe.content.gearUseFeaturesLongline.tab.measurements=Measurements +observe.content.gearUseFeaturesLongline.table.comment=Comment +observe.content.gearUseFeaturesLongline.table.comment.tip=Comment +observe.content.gearUseFeaturesLongline.table.gear=Gear +observe.content.gearUseFeaturesLongline.table.gear.tip=Gear +observe.content.gearUseFeaturesLongline.table.gearCaracteristic=Caracteristic +observe.content.gearUseFeaturesLongline.table.gearCaracteristic.tip=Gear caracteristic +observe.content.gearUseFeaturesLongline.table.number=Number +observe.content.gearUseFeaturesLongline.table.number.tip=Number +observe.content.gearUseFeaturesLongline.table.usedInTrip=Used +observe.content.gearUseFeaturesLongline.table.usedInTrip.tip=Used in trip +observe.content.gearUseFeaturesLongline.table.value=Value +observe.content.gearUseFeaturesLongline.table.value.tip=Caracteristic value +observe.content.gearUseFeaturesLongline.title=Gears +observe.content.gearUseFeaturesLongline.usedInTrip=Used in trip +observe.content.gearUseFeaturesSeine.action.addMeasurement=Add +observe.content.gearUseFeaturesSeine.action.addMeasurement.tip=Add a new measurement +observe.content.gearUseFeaturesSeine.action.deleteSelectedMeasurement=Delete selected measurement +observe.content.gearUseFeaturesSeine.action.deleteSelectedMeasurement.tip=Delete selected measurement +observe.content.gearUseFeaturesSeine.comment=Comment +observe.content.gearUseFeaturesSeine.gear=Gear +observe.content.gearUseFeaturesSeine.number=Number +observe.content.gearUseFeaturesSeine.tab.general=General +observe.content.gearUseFeaturesSeine.tab.measurements=Measurements +observe.content.gearUseFeaturesSeine.table.comment=Comment +observe.content.gearUseFeaturesSeine.table.comment.tip=Comment +observe.content.gearUseFeaturesSeine.table.gear=Gear +observe.content.gearUseFeaturesSeine.table.gear.tip=Gear +observe.content.gearUseFeaturesSeine.table.gearCaracteristic=Caracteristic +observe.content.gearUseFeaturesSeine.table.gearCaracteristic.tip=Gear caracteristic +observe.content.gearUseFeaturesSeine.table.number=Number +observe.content.gearUseFeaturesSeine.table.number.tip=Number +observe.content.gearUseFeaturesSeine.table.usedInTrip=Used +observe.content.gearUseFeaturesSeine.table.usedInTrip.tip=Used in trip +observe.content.gearUseFeaturesSeine.table.value=Value +observe.content.gearUseFeaturesSeine.table.value.tip=Caracteristic value +observe.content.gearUseFeaturesSeine.title=Gears +observe.content.gearUseFeaturesSeine.usedInTrip=Used in trip +observe.content.harbour.coordinates= +observe.content.harbour.locode= +observe.content.harbour.name= +observe.content.hooksComposition.action.create=Insert this hook +observe.content.hooksComposition.action.create.tip=Insert this hook +observe.content.hooksComposition.hookOffset=Offset +observe.content.hooksComposition.hookSize=Size +observe.content.hooksComposition.hookType=Type +observe.content.hooksComposition.proportion=Proportion +observe.content.hooksComposition.proportionSum=Proportion sum +observe.content.hooksComposition.table.hookOffset=Offset +observe.content.hooksComposition.table.hookOffset.tip=Offset +observe.content.hooksComposition.table.hookSize=Size +observe.content.hooksComposition.table.hookSize.tip=Size +observe.content.hooksComposition.table.hookType=Type +observe.content.hooksComposition.table.hookType.tip=Type +observe.content.hooksComposition.table.proportion=Proportion +observe.content.hooksComposition.table.proportion.tip=Proportion +observe.content.hooksComposition.title=Hooks +observe.content.label.coefficients.info=TODO Expliquer la syntaxe des coefficients +observe.content.label.lengthWeightFormula.info= +observe.content.label.usage.data.title=Data '%1$s' (%2$d occurrences) +observe.content.label.usage.referentiel.title=Referentiel '%1$s' (%2$d occurrences) +observe.content.label.weightLengthFormula.info= +observe.content.lengthWeightParameter.tab.general=General caracteristics +observe.content.lengthWeightParameter.tab.other=Other caracteristics +observe.content.list.HookSize= +observe.content.list.HookType= +observe.content.list.baitHaulingStatus= +observe.content.list.baitSettingStatus= +observe.content.list.baitType= +observe.content.list.catchFateLongline= +observe.content.list.country= +observe.content.list.detectionMode= +observe.content.list.encounterType= +observe.content.list.fpaZone= +observe.content.list.gear= +observe.content.list.gearCaracteristic= +observe.content.list.gearCaracteristicType= +observe.content.list.harbour= +observe.content.list.healthness= +observe.content.list.hookPosition= +observe.content.list.itemHorizontalPosition= +observe.content.list.itemVerticalPosition= +observe.content.list.lengthWeightParameter= +observe.content.list.lightsticksColor= +observe.content.list.lightsticksType= +observe.content.list.lineType= +observe.content.list.maturityStatus= +observe.content.list.mitigationType= +observe.content.list.objectFate= +observe.content.list.objectOperation= +observe.content.list.objectType= +observe.content.list.observedSystem= +observe.content.list.ocean= +observe.content.list.operation= +observe.content.list.organism= +observe.content.list.person= +observe.content.list.program= +observe.content.list.reasonForDiscard= +observe.content.list.reasonForNoFishing= +observe.content.list.reasonForNullSet= +observe.content.list.sensorBrand= +observe.content.list.sensorDataFormat= +observe.content.list.sensorType= +observe.content.list.settingShape= +observe.content.list.sex= +observe.content.list.sizeMeasureType= +observe.content.list.speciesFate= +observe.content.list.speciesFaune= +observe.content.list.speciesGroupSpecies= +observe.content.list.speciesList= +observe.content.list.speciesStatus= +observe.content.list.stomacFullness= +observe.content.list.surroundingActivity= +observe.content.list.transmittingBuoyType= +observe.content.list.tripType= +observe.content.list.vessel= +observe.content.list.vesselActivityLongline= +observe.content.list.vesselActivitySeine= +observe.content.list.vesselSizeCategory= +observe.content.list.vesselType= +observe.content.list.weightCategory= +observe.content.list.weightMeasureType= +observe.content.list.wind= +observe.content.longlineDetailComposition.action.deleteAllSections=Remove all +observe.content.longlineDetailComposition.action.deleteAllSections.tip=Remove all sections - baskets - branchlines +observe.content.longlineDetailComposition.action.deleteSelectedBasket=Delete basket +observe.content.longlineDetailComposition.action.deleteSelectedBasket.tip=Delete selected basket +observe.content.longlineDetailComposition.action.deleteSelectedBranchline=Delete branchline +observe.content.longlineDetailComposition.action.deleteSelectedBranchline.tip=Delete selected branchline +observe.content.longlineDetailComposition.action.deleteSelectedSection=Delete section +observe.content.longlineDetailComposition.action.deleteSelectedSection.tip=Delete selected section +observe.content.longlineDetailComposition.action.deleteSelectedSectionTemplate=Delete section template +observe.content.longlineDetailComposition.action.deleteSelectedSectionTemplate.tip=Delete selected section template +observe.content.longlineDetailComposition.action.generateAllSections=Generate all +observe.content.longlineDetailComposition.action.generateAllSections.tip=Generate all sections - baskets and branchlines +observe.content.longlineDetailComposition.action.insertAfterSelectedBasket=Insert after +observe.content.longlineDetailComposition.action.insertAfterSelectedBasket.tip=Insert after selected basket +observe.content.longlineDetailComposition.action.insertAfterSelectedBranchline=Insert after +observe.content.longlineDetailComposition.action.insertAfterSelectedBranchline.tip=Insert after selected branchline +observe.content.longlineDetailComposition.action.insertAfterSelectedSection=Insert after +observe.content.longlineDetailComposition.action.insertAfterSelectedSection.tip=Insert after selected section +observe.content.longlineDetailComposition.action.insertBeforeSelectedBasket=Insert before +observe.content.longlineDetailComposition.action.insertBeforeSelectedBasket.tip=Insert before selected basket +observe.content.longlineDetailComposition.action.insertBeforeSelectedBranchline=Insert before +observe.content.longlineDetailComposition.action.insertBeforeSelectedBranchline.tip=Insert before selected branchline +observe.content.longlineDetailComposition.action.insertBeforeSelectedSection=Insert before +observe.content.longlineDetailComposition.action.insertBeforeSelectedSection.tip=Insert before selected section +observe.content.longlineDetailComposition.baskets=Baskets +observe.content.longlineDetailComposition.basketsTable.floatline1Length=Floatline 1 length (m) +observe.content.longlineDetailComposition.basketsTable.floatline1Length.tip=Floatline 1 length (m) +observe.content.longlineDetailComposition.basketsTable.floatline2Length=Floatline 2 length (m) +observe.content.longlineDetailComposition.basketsTable.floatline2Length.tip=Floatline 2 length (m) +observe.content.longlineDetailComposition.basketsTable.haulingIdentifier=Hauling Id +observe.content.longlineDetailComposition.basketsTable.haulingIdentifier.tip=Hauling Identifier +observe.content.longlineDetailComposition.basketsTable.settingIdentifier=Setting Identifier +observe.content.longlineDetailComposition.basketsTable.settingIdentifier.tip=Setting Id +observe.content.longlineDetailComposition.branchlines=Branchlines +observe.content.longlineDetailComposition.branchlinesTable.branchlineLength=Branchline length (m) +observe.content.longlineDetailComposition.branchlinesTable.branchlineLength.tip=Branchline length (m) +observe.content.longlineDetailComposition.branchlinesTable.haulingIdentifier=Hauling Id +observe.content.longlineDetailComposition.branchlinesTable.haulingIdentifier.tip=Hauling Identifier +observe.content.longlineDetailComposition.branchlinesTable.settingIdentifier=Setting Identifier +observe.content.longlineDetailComposition.branchlinesTable.settingIdentifier.tip=Setting Id +observe.content.longlineDetailComposition.branchlinesTable.tracelineLength=Traceline length (m) +observe.content.longlineDetailComposition.branchlinesTable.tracelineLength.tip=Traceline length (m) +observe.content.longlineDetailComposition.canGenerate=Can generate +observe.content.longlineDetailComposition.firstTemplate.template.notCompilant.basketCount= +observe.content.longlineDetailComposition.message.updating=Updating composition details +observe.content.longlineDetailComposition.sectionTemplatesTable.identifier=Identifier +observe.content.longlineDetailComposition.sectionTemplatesTable.identifier.tip=Unique section template identifier +observe.content.longlineDetailComposition.sectionTemplatesTable.value=Value +observe.content.longlineDetailComposition.sectionTemplatesTable.value.tip=Template value +observe.content.longlineDetailComposition.sections=Sections +observe.content.longlineDetailComposition.sectionsTable.haulingIdentifier=Hauling Id +observe.content.longlineDetailComposition.sectionsTable.haulingIdentifier.tip=Hauling Identifier +observe.content.longlineDetailComposition.sectionsTable.settingIdentifier=Setting Id +observe.content.longlineDetailComposition.sectionsTable.settingIdentifier.tip=Setting Identifier +observe.content.longlineDetailComposition.sectionsTable.template=Template +observe.content.longlineDetailComposition.sectionsTable.template.tip=Template used to generate baskets floatline lengths +observe.content.longlineDetailComposition.tab.branchlineDetail=Branchline detail +observe.content.longlineDetailComposition.tab.composition=Composition +observe.content.longlineDetailComposition.tab.generate=generation +observe.content.longlineDetailComposition.title=Detailed composition +observe.content.longlineDetailComposition.title.section.cant.use.firstTemplate= +observe.content.longlineGlobalComposition.availableMitigationType=Available mitigations +observe.content.longlineGlobalComposition.message.updating=Updating global composition +observe.content.longlineGlobalComposition.mitigationType=Mitigation +observe.content.longlineGlobalComposition.selectedMitigationType=Selected mitigations +observe.content.longlineGlobalComposition.tab.baitsComposition=Baits +observe.content.longlineGlobalComposition.tab.branchlinesComposition=Branchlines +observe.content.longlineGlobalComposition.tab.floatlinesComposition=Floatines +observe.content.longlineGlobalComposition.tab.hooksComposition=Hooks +observe.content.longlineGlobalComposition.tab.mitigationType=Mitigation +observe.content.longlineGlobalComposition.title=Global composition +observe.content.map.action.exportPng= +observe.content.map.action.exportPng.tip= +observe.content.map.action.zoomIt= +observe.content.map.action.zoomIt.tip= +observe.content.map.east= +observe.content.map.export.chooseFile.ok= +observe.content.map.export.chooseFile.png= +observe.content.map.export.chooseFile.title= +observe.content.map.export.success= +observe.content.map.legend.hauling= +observe.content.map.legend.setting= +observe.content.map.legend.tripBetweenTwoDays= +observe.content.map.legend.tripDay= +observe.content.map.longLine.activity= +observe.content.map.longLine.activity.hauling.end= +observe.content.map.longLine.activity.hauling.start= +observe.content.map.longLine.activity.interaction= +observe.content.map.longLine.activity.setting.end= +observe.content.map.longLine.activity.setting.start= +observe.content.map.longLine.activity.station= +observe.content.map.longLine.seine.harbour= +observe.content.map.miles= +observe.content.map.north= +observe.content.map.seine.activity= +observe.content.map.seine.activity.inHarbour= +observe.content.map.seine.activity.schoolType.free= +observe.content.map.seine.activity.schoolType.object= +observe.content.map.seine.harbour.departure= +observe.content.map.seine.harbour.landing= +observe.content.map.south= +observe.content.map.waitLoading=< Please wait while loading the map > +observe.content.map.west= +observe.content.measurement.delete.message= observe.content.mode.create.tip= observe.content.mode.read.tip= observe.content.mode.update.tip= -observe.datasynchro.actionsToPerform= -observe.datasynchro.copyToLeftTask= -observe.datasynchro.copyToRightTask= -observe.datasynchro.deleteFromLeftTask= -observe.datasynchro.deleteFromRightTask= -observe.datasynchro.prepare.copyToLeftTask= -observe.datasynchro.prepare.copyToRightTask= -observe.datasynchro.prepare.deleteFromLeftTask= -observe.datasynchro.prepare.deleteFromRightTask= -observe.encounter.action.create=Insert this encounter -observe.encounter.action.create.tip=Insert this encounter -observe.encounter.count=Count -observe.encounter.distance=Distance (m) -observe.encounter.encounterType=Type -observe.encounter.species=species -observe.encounter.table.count=Count -observe.encounter.table.count.tip=Count -observe.encounter.table.distance=Distance (m) -observe.encounter.table.distance.tip=Distance (m) -observe.encounter.table.encouterType=Type -observe.encounter.table.encouterType.tip=Type -observe.encounter.table.species=Species -observe.encounter.table.species.tip=Species -observe.encounter.title=Encounters +observe.content.nonTargetCatch.message.table.will.delete.nonTargetSample= +observe.content.nonTargetCatch.table.catchWeight= +observe.content.nonTargetCatch.table.catchWeight.tip= +observe.content.nonTargetCatch.table.comment= +observe.content.nonTargetCatch.table.comment.tip= +observe.content.nonTargetCatch.table.deleteExtraMessage= +observe.content.nonTargetCatch.table.meanLength= +observe.content.nonTargetCatch.table.meanLength.tip= +observe.content.nonTargetCatch.table.meanWeight= +observe.content.nonTargetCatch.table.meanWeight.tip= +observe.content.nonTargetCatch.table.reasonForDiscard= +observe.content.nonTargetCatch.table.reasonForDiscard.tip= +observe.content.nonTargetCatch.table.speciesFate= +observe.content.nonTargetCatch.table.speciesFate.tip= +observe.content.nonTargetCatch.table.speciesFaune= +observe.content.nonTargetCatch.table.speciesFaune.tip= +observe.content.nonTargetCatch.table.totalCount= +observe.content.nonTargetCatch.table.totalCount.tip= +observe.content.nonTargetSample.table.count= +observe.content.nonTargetSample.table.count.tip= +observe.content.nonTargetSample.table.gender= +observe.content.nonTargetSample.table.gender.tip= +observe.content.nonTargetSample.table.length= +observe.content.nonTargetSample.table.length.tip= +observe.content.nonTargetSample.table.meanWeight= +observe.content.nonTargetSample.table.meanWeight.tip= +observe.content.nonTargetSample.table.picturesReferences= +observe.content.nonTargetSample.table.picturesReferences.tip= +observe.content.nonTargetSample.table.speciesFaune= +observe.content.nonTargetSample.table.speciesFaune.tip= +observe.content.objectObservedSpecies.table.count= +observe.content.objectObservedSpecies.table.count.tip= +observe.content.objectObservedSpecies.table.speciesFaune= +observe.content.objectObservedSpecies.table.speciesFaune.tip= +observe.content.objectObservedSpecies.table.speciesStatus= +observe.content.objectObservedSpecies.table.speciesStatus.tip= +observe.content.person.country=Nationality +observe.content.program.tab.general=General caracteristics +observe.content.program.tab.observations=Observations +observe.content.route.message.active.found= +observe.content.route.message.active.found.for.other.trip= +observe.content.route.message.creating= +observe.content.route.message.no.active.found= +observe.content.route.message.no.active.found.for.other.trip= +observe.content.route.message.not.open= +observe.content.route.message.updating= +observe.content.route.title=Route +observe.content.routes.title=Routes +observe.content.schoolEstimate.table.meanWeight= +observe.content.schoolEstimate.table.meanWeight.tip= +observe.content.schoolEstimate.table.speciesThon= +observe.content.schoolEstimate.table.speciesThon.tip= +observe.content.schoolEstimate.table.weight= +observe.content.schoolEstimate.table.weight.tip= +observe.content.section.cant.delete.message=The current section can not be deleted since it used by other data. +observe.content.section.cant.delete.title=Can't delete section +observe.content.sectionTemplate.delete.message=Confirm to delete current template. +observe.content.sections.delete.message=Confirm to delete all sections. +observe.content.sensorUsed.action.create=Insert the sensor +observe.content.sensorUsed.action.create.tip=Insert this new sensor used +observe.content.sensorUsed.action.reset.dataLocation.tip=Reset data location +observe.content.sensorUsed.action.reset.sensorSerialNo.tip=Reset serial no +observe.content.sensorUsed.data=Data +observe.content.sensorUsed.dataLocation=Data location +observe.content.sensorUsed.dataLocation.tip=Data file location +observe.content.sensorUsed.delete.data.message=Confirm to delete the data file +observe.content.sensorUsed.deleteData=Delete +observe.content.sensorUsed.deleteData.tip=Delete the data file +observe.content.sensorUsed.exportData=Export +observe.content.sensorUsed.exportData.tip=Export data file +observe.content.sensorUsed.importData=Import +observe.content.sensorUsed.importData.tip=Import the data file +observe.content.sensorUsed.message.data.exported=the data file was exported at %s. +observe.content.sensorUsed.sensorBrand=Brand +observe.content.sensorUsed.sensorDataFormat=Data format +observe.content.sensorUsed.sensorSerialNo=Serial no +observe.content.sensorUsed.sensorType=Type +observe.content.sensorUsed.table.data=Data +observe.content.sensorUsed.table.data.tip=Data +observe.content.sensorUsed.table.dataLocation=Data location +observe.content.sensorUsed.table.dataLocation.tip=Data location +observe.content.sensorUsed.table.sensorBrand=Brand +observe.content.sensorUsed.table.sensorBrand.tip=Sensor brand +observe.content.sensorUsed.table.sensorDataFormat=Data format +observe.content.sensorUsed.table.sensorDataFormat.tip=Data format +observe.content.sensorUsed.table.sensorSerialNo=Serial no +observe.content.sensorUsed.table.sensorSerialNo.tip=Sensor serial no +observe.content.sensorUsed.table.sensorType=Type +observe.content.sensorUsed.table.sensorType.tip=Sensor type +observe.content.sensorUsed.title=Sensors ursed +observe.content.setLongline.action.reset.homeId.tip=Reset home id +observe.content.setLongline.basketsPerSectionCount=Baskets per section count +observe.content.setLongline.branchlinesPerBasketCount=Hooks per basket count +observe.content.setLongline.haulingBreaks=Number of cuts +observe.content.setLongline.haulingDirectionSameAsSetting=Direction same as setting +observe.content.setLongline.haulingEndCoordinates=Hauling end coordinates +observe.content.setLongline.haulingEndTimeStamp=End timestamp +observe.content.setLongline.haulingStartCoordinates=Hauling start coordinates +observe.content.setLongline.haulingStartTimeStamp=Start timestamp +observe.content.setLongline.homeId=Home id +observe.content.setLongline.lightsticksColor=Lightsticks color +observe.content.setLongline.lightsticksPerBasketCount=lightsticks per basket count +observe.content.setLongline.lightsticksType=Lightsticks type +observe.content.setLongline.lineType=Line type +observe.content.setLongline.maxDepthTargeted=Max depth targeted (m) +observe.content.setLongline.message.creating=Creating fishing operation +observe.content.setLongline.message.updating=Updating fishing operation +observe.content.setLongline.monitored=Monitored +observe.content.setLongline.number=Number +observe.content.setLongline.settingEndCoordinates=Setting end coordinates +observe.content.setLongline.settingEndTimeStamp=End timestamp +observe.content.setLongline.settingShape=Setting shape +observe.content.setLongline.settingStartCoordinates=Setting start coordinates +observe.content.setLongline.settingStartTimeStamp=Start timestamp +observe.content.setLongline.settingVesselSpeed=Vessel spped (kts) +observe.content.setLongline.shooterSpeed=Shooter speed (kts) +observe.content.setLongline.shooterUsed=Shooter used +observe.content.setLongline.snapWeight=Snap weight (kg) +observe.content.setLongline.swivelWeight=swivel weight (kg) +observe.content.setLongline.tab.hauling=Hauling +observe.content.setLongline.tab.setting=Setting +observe.content.setLongline.tab.settingCaracteristics=Caracteristics +observe.content.setLongline.timeBetweenHooks=time between hooks +observe.content.setLongline.title=Fishing operation +observe.content.setLongline.totalBasketsCount=Total baskets count +observe.content.setLongline.totalHooksCount=Total hooks count +observe.content.setLongline.totalSectionsCount=Total sections count +observe.content.setLongline.weightedSnap=Weighted snap +observe.content.setLongline.weightedSwivel=Weighted swvel +observe.content.setSeine.currentDirection= +observe.content.setSeine.currentMeasureDepth= +observe.content.setSeine.currentSpeed= +observe.content.setSeine.endPursingTimeStamp= +observe.content.setSeine.endSetTimeStamp= +observe.content.setSeine.maxGearDepth= +observe.content.setSeine.message.creating= +observe.content.setSeine.message.information.schoolType= +observe.content.setSeine.message.no.nonTargetDiscarded= +observe.content.setSeine.message.no.targetCatch= +observe.content.setSeine.message.no.targetDiscarded= +observe.content.setSeine.message.updating= +observe.content.setSeine.nonTargetDiscarded= +observe.content.setSeine.reasonForNullSet= +observe.content.setSeine.schoolMeanDepth= +observe.content.setSeine.schoolThickness= +observe.content.setSeine.schoolTopDepth= +observe.content.setSeine.schoolType= +observe.content.setSeine.schoolType.not.fill= +observe.content.setSeine.sonarUsed= +observe.content.setSeine.sonarUsedAvantSet= +observe.content.setSeine.startTime= +observe.content.setSeine.supportVesselName= +observe.content.setSeine.tab.general=General caracteristics +observe.content.setSeine.tab.measurements=Measurements +observe.content.setSeine.targetDiscarded= +observe.content.setSeine.title=Set +observe.content.sizeMeasure.delete.message=Confirm to delete current size measure. +observe.content.species.availableOcean=Available oceans +observe.content.species.selectedOcean=Selected oceans +observe.content.species.tab.general=General caracteristics +observe.content.species.tab.other=Other caracteristics +observe.content.speciesList.availableSpecies=Available species +observe.content.speciesList.selectedSpecies=Selected species +observe.content.speciesList.tab.general=General caracteristics +observe.content.speciesList.tab.species=Species +observe.content.targetCatch.table.comment= +observe.content.targetCatch.table.comment.tip= +observe.content.targetCatch.table.deleteExtraMessage= +observe.content.targetCatch.table.speciesThon= +observe.content.targetCatch.table.speciesThon.tip= +observe.content.targetCatch.table.weight= +observe.content.targetCatch.table.weight.tip= +observe.content.targetCatch.table.weightCategory= +observe.content.targetCatch.table.weightCategory.tip= +observe.content.targetCatch.table.well= +observe.content.targetCatch.table.well.tip= +observe.content.targetDiscarded.message.table.will.delete.targetLength= +observe.content.targetDiscarded.table.broughtOnDeck= +observe.content.targetDiscarded.table.broughtOnDeck.tip= +observe.content.targetDiscarded.table.comment= +observe.content.targetDiscarded.table.comment.tip= +observe.content.targetDiscarded.table.deleteExtraMessage= +observe.content.targetDiscarded.table.reasonForDiscard= +observe.content.targetDiscarded.table.reasonForDiscard.tip= +observe.content.targetDiscarded.table.speciesThon= +observe.content.targetDiscarded.table.speciesThon.tip= +observe.content.targetDiscarded.table.weight= +observe.content.targetDiscarded.table.weight.tip= +observe.content.targetDiscarded.table.weightCategory= +observe.content.targetDiscarded.table.weightCategory.tip= +observe.content.targetSample.table.count= +observe.content.targetSample.table.count.tip= +observe.content.targetSample.table.length= +observe.content.targetSample.table.length.tip= +observe.content.targetSample.table.meanWeight= +observe.content.targetSample.table.meanWeight.tip= +observe.content.targetSample.table.measureType= +observe.content.targetSample.table.measureType.tip= +observe.content.targetSample.table.speciesThon= +observe.content.targetSample.table.speciesThon.tip= +observe.content.targetSample.table.totalWeight= +observe.content.targetSample.table.totalWeight.tip= +observe.content.tdr.action.create=Insert this recorder +observe.content.tdr.action.create.tip=Insert this recorder +observe.content.tdr.action.reset.dataLocation.tip=Reset data location +observe.content.tdr.action.reset.homeId.tip=Reset homeId +observe.content.tdr.action.reset.serialNo.tip=Reset serail no +observe.content.tdr.availableSpecies=Available species +observe.content.tdr.basket=Basket +observe.content.tdr.branchline=Branchline +observe.content.tdr.data=Data +observe.content.tdr.dataLocation=Data location +observe.content.tdr.dataLocation.tip=Data location +observe.content.tdr.delete.data.message=Confirm to delete saved data +observe.content.tdr.deleteData=Delete +observe.content.tdr.deleteData.tip=Delete data +observe.content.tdr.deployementEnd=Deployement end +observe.content.tdr.deployementStart=Deployement start +observe.content.tdr.enableTimestamp= +observe.content.tdr.enableTimestamp.tip= +observe.content.tdr.exportData=Export +observe.content.tdr.exportData.tip=Export data +observe.content.tdr.fishingEnd=Fishing End +observe.content.tdr.fishingEndDepth=Depth at fishing end (m) +observe.content.tdr.fishingStart=Fishing start +observe.content.tdr.fishingStartDepth=Depth at fishing start (m) +observe.content.tdr.floatline1Length=Floatline 1 length (m) +observe.content.tdr.floatline2Length=Floatline 2 ength (m) +observe.content.tdr.homeId=Home id +observe.content.tdr.importData=Import +observe.content.tdr.importData.tip=Import data +observe.content.tdr.itemHorizontalPosition=Element position on main line +observe.content.tdr.itemVerticalPosition=Element position on branchline +observe.content.tdr.locationOnLongline=Location on longline +observe.content.tdr.maxFishingDepth=Maximum fishing depth (m) +observe.content.tdr.meanDeployementDepth=Mean deployement depth (m) +observe.content.tdr.meanFishingDepth=Maximum fishing depth (m) +observe.content.tdr.medianDeployementDepth=Median deployement depth (m) +observe.content.tdr.medianFishingDepth=Median fishing depth (m) +observe.content.tdr.minFishingDepth=Minimum fishing depth (m) +observe.content.tdr.section=Section +observe.content.tdr.selectedSpecies=Selected species +observe.content.tdr.sensorBrand=Brand +observe.content.tdr.serialNo=Serial No +observe.content.tdr.species=Species +observe.content.tdr.tab.caracteristics=Caracteristics +observe.content.tdr.tab.keyData=Data keys +observe.content.tdr.tab.localisation= +observe.content.tdr.tab.species=Associated species +observe.content.tdr.tab.timestamp=Timestamps +observe.content.tdr.table.data=Data +observe.content.tdr.table.homeId=Home id +observe.content.tdr.table.homeId.tip=Home id +observe.content.tdr.table.sensorBrand=Brand +observe.content.tdr.table.sensorBrand.tip=Brand +observe.content.tdr.table.serialNo=Serial no +observe.content.tdr.table.serialNo.tip=Serial no +observe.content.tdr.title=Depth recorders +observe.content.title.HookSizes= +observe.content.title.HookTypes= +observe.content.title.baitHaulingStatuss= +observe.content.title.baitSettingStatuss= +observe.content.title.baitTypes= +observe.content.title.catchFateLonglines= +observe.content.title.country= +observe.content.title.detectionModes= +observe.content.title.encounterTypes= +observe.content.title.fpaZones= +observe.content.title.gearCaracteristicTypes= +observe.content.title.gearCaracteristics= +observe.content.title.gears= +observe.content.title.harbours= +observe.content.title.healthnesss= +observe.content.title.hookPositions= +observe.content.title.itemHorizontalPositions= +observe.content.title.itemVerticalPositions= +observe.content.title.lengthWeightParameters= +observe.content.title.lightsticksColors= +observe.content.title.lightsticksTypes= +observe.content.title.lineTypes= +observe.content.title.maturityStatuss= +observe.content.title.mitigationTypes= +observe.content.title.objectFates= +observe.content.title.objectOperations= +observe.content.title.objectTypes= +observe.content.title.observedSystems= +observe.content.title.oceans= +observe.content.title.organisms= +observe.content.title.persons= +observe.content.title.programs= +observe.content.title.reasonForDiscards= +observe.content.title.reasonForNoFishings= +observe.content.title.reasonForNullSets= +observe.content.title.sensorBrands= +observe.content.title.sensorDataFormats= +observe.content.title.sensorTypes= +observe.content.title.settingShapes= +observe.content.title.sexx= +observe.content.title.sizeMeasureTypes= +observe.content.title.speciesFates= +observe.content.title.speciesGroupSpeciess= +observe.content.title.speciesLists= +observe.content.title.speciesStatuss= +observe.content.title.speciess= +observe.content.title.stomacFullnesss= +observe.content.title.surroundingActivitys= +observe.content.title.transmittingBuoyOperations= +observe.content.title.transmittingBuoyTypes= +observe.content.title.tripTypes= +observe.content.title.vesselActivityLonglines= +observe.content.title.vesselActivitySeines= +observe.content.title.vesselSizeCategoryx= +observe.content.title.vesselTypex= +observe.content.title.vesselx= +observe.content.title.weightCategory= +observe.content.title.weightMeasureTypes= +observe.content.title.windSpeeds= +observe.content.tripLongline.captain=Capitain +observe.content.tripLongline.dataEntryOperator=Data entry operator +observe.content.tripLongline.endDate=End date +observe.content.tripLongline.homeId=Home id +observe.content.tripLongline.message.active.found=A trip is opened. +observe.content.tripLongline.message.active.found.for.other.program=A trip is opened in another program. +observe.content.tripLongline.message.creating=Creating a trip +observe.content.tripLongline.message.no.active.found=No opened trip found, you can create a new one or open an existing one. +observe.content.tripLongline.message.not.open=Current trip is not opened, no edit possible. +observe.content.tripLongline.message.updating=Updating a trip +observe.content.tripLongline.observer=Observer +observe.content.tripLongline.ocean=Ocean +observe.content.tripLongline.startDate=Start date +observe.content.tripLongline.tab.general= +observe.content.tripLongline.tab.map= +observe.content.tripLongline.title=Trip +observe.content.tripLongline.totalFishingOperationsNumber=Total fishing operation count +observe.content.tripLongline.tripType=Trip type +observe.content.tripLongline.vessel=Vessel +observe.content.tripSeine.message.active.found=A trip is opened. +observe.content.tripSeine.message.active.found.for.other.program=A trip is opened in another program. +observe.content.tripSeine.message.creating=Creating a trip +observe.content.tripSeine.message.no.active.found=No opened trip found, you can create a new one or open an existing one. +observe.content.tripSeine.message.not.open=Current trip is not opened, no edit possible. +observe.content.tripSeine.message.updating=Updating a trip +observe.content.tripSeine.tab.general=Caracteristics +observe.content.tripSeine.tab.map=Map +observe.content.tripSeine.title=Trip +observe.content.vessel.tab.general=General caracteristics +observe.content.vessel.tab.other=Other caracteristics +observe.content.weightMeasure.delete.message=Confirm to delete current weight measure. observe.entity.message.updating= observe.error.can.not.create.directory= observe.error.no.activity.6= observe.error.storage.could.not.backup.unsane.local.db= observe.error.storage.could.not.load.local.db= -observe.floatingObject.message.creating=Creating a floating object -observe.floatingObject.message.updating=updating a floating object -observe.floatingObject.title=DCP -observe.floatingObjectTransmittingBuoyOperation.title= -observe.floatlinesComposition.action.create=Insert this floatline -observe.floatlinesComposition.action.create.tip=Insert this floatline -observe.floatlinesComposition.length=Length -observe.floatlinesComposition.lineType=Line type -observe.floatlinesComposition.proportion=Proportion -observe.floatlinesComposition.proportionSum=Proportion sum -observe.floatlinesComposition.table.length=Length -observe.floatlinesComposition.table.length.tip=Length -observe.floatlinesComposition.table.lineType=Type -observe.floatlinesComposition.table.lineType.tip=Line type -observe.floatlinesComposition.table.proportion=Proportion -observe.floatlinesComposition.table.proportion.tip=Proportion -observe.floatlinesComposition.title=Floatines -observe.gear.availableGearCaracteristic=Available caracteristics -observe.gear.gearCaracteristic=Gear caracteristic -observe.gear.gearCaracteristicType=Gear caracteristic type -observe.gear.selectedGearCaracteristic=Selected caracteristics -observe.gear.tab.gearCaracteristic=Caracteristics of the gear -observe.gear.tab.general=General caracteristics -observe.gear.unit=Unit -observe.gearUseFeaturesLongline.action.addMeasurement=Add -observe.gearUseFeaturesLongline.action.addMeasurement.tip=Add a new measurement -observe.gearUseFeaturesLongline.action.deleteSelectedMeasurement=Delete selected measurement -observe.gearUseFeaturesLongline.action.deleteSelectedMeasurement.tip=Delete selected measurement -observe.gearUseFeaturesLongline.comment=Comment -observe.gearUseFeaturesLongline.gear=Gear -observe.gearUseFeaturesLongline.number=Number -observe.gearUseFeaturesLongline.tab.general=General -observe.gearUseFeaturesLongline.tab.measurements=Measurements -observe.gearUseFeaturesLongline.table.comment=Comment -observe.gearUseFeaturesLongline.table.comment.tip=Comment -observe.gearUseFeaturesLongline.table.gear=Gear -observe.gearUseFeaturesLongline.table.gear.tip=Gear -observe.gearUseFeaturesLongline.table.gearCaracteristic=Caracteristic -observe.gearUseFeaturesLongline.table.gearCaracteristic.tip=Gear caracteristic -observe.gearUseFeaturesLongline.table.number=Number -observe.gearUseFeaturesLongline.table.number.tip=Number -observe.gearUseFeaturesLongline.table.usedInTrip=Used -observe.gearUseFeaturesLongline.table.usedInTrip.tip=Used in trip -observe.gearUseFeaturesLongline.table.value=Value -observe.gearUseFeaturesLongline.table.value.tip=Caracteristic value -observe.gearUseFeaturesLongline.title=Gears -observe.gearUseFeaturesLongline.usedInTrip=Used in trip -observe.gearUseFeaturesSeine.action.addMeasurement=Add -observe.gearUseFeaturesSeine.action.addMeasurement.tip=Add a new measurement -observe.gearUseFeaturesSeine.action.deleteSelectedMeasurement=Delete selected measurement -observe.gearUseFeaturesSeine.action.deleteSelectedMeasurement.tip=Delete selected measurement -observe.gearUseFeaturesSeine.comment=Comment -observe.gearUseFeaturesSeine.gear=Gear -observe.gearUseFeaturesSeine.number=Number -observe.gearUseFeaturesSeine.tab.general=General -observe.gearUseFeaturesSeine.tab.measurements=Measurements -observe.gearUseFeaturesSeine.table.comment=Comment -observe.gearUseFeaturesSeine.table.comment.tip=Comment -observe.gearUseFeaturesSeine.table.gear=Gear -observe.gearUseFeaturesSeine.table.gear.tip=Gear -observe.gearUseFeaturesSeine.table.gearCaracteristic=Caracteristic -observe.gearUseFeaturesSeine.table.gearCaracteristic.tip=Gear caracteristic -observe.gearUseFeaturesSeine.table.number=Number -observe.gearUseFeaturesSeine.table.number.tip=Number -observe.gearUseFeaturesSeine.table.usedInTrip=Used -observe.gearUseFeaturesSeine.table.usedInTrip.tip=Used in trip -observe.gearUseFeaturesSeine.table.value=Value -observe.gearUseFeaturesSeine.table.value.tip=Caracteristic value -observe.gearUseFeaturesSeine.title=Gears -observe.gearUseFeaturesSeine.usedInTrip=Used in trip observe.generateHtml.error= -observe.harbour.coordinates= -observe.harbour.locode= -observe.harbour.name= -observe.hooksComposition.action.create=Insert this hook -observe.hooksComposition.action.create.tip=Insert this hook -observe.hooksComposition.hookOffset=Offset -observe.hooksComposition.hookSize=Size -observe.hooksComposition.hookType=Type -observe.hooksComposition.proportion=Proportion -observe.hooksComposition.proportionSum=Proportion sum -observe.hooksComposition.table.hookOffset=Offset -observe.hooksComposition.table.hookOffset.tip=Offset -observe.hooksComposition.table.hookSize=Size -observe.hooksComposition.table.hookSize.tip=Size -observe.hooksComposition.table.hookType=Type -observe.hooksComposition.table.hookType.tip=Type -observe.hooksComposition.table.proportion=Proportion -observe.hooksComposition.table.proportion.tip=Proportion -observe.hooksComposition.title=Hooks observe.info.selected.validators=You must select at least one validator to continue. observe.info.validation.credentials=To validate referentiel (resp. data), You must have rw credentials. observe.init.local.db.detected=%1$s detected. observe.init.no.initial.dump.detected=Internal data source %1$s not detected. observe.init.no.local.db.detected=Local data source %1$s not detected. observe.init.storage.done=Init of Persistent Service done. -observe.label.coefficients.info=TODO Expliquer la syntaxe des coefficients -observe.label.lengthWeightFormula.info= -observe.label.usage.data.title=Data '%1$s' (%2$d occurrences) -observe.label.usage.referentiel.title=Referentiel '%1$s' (%2$d occurrences) -observe.label.weightLengthFormula.info= -observe.lengthWeightParameter.tab.general=General caracteristics -observe.lengthWeightParameter.tab.other=Other caracteristics -observe.list.HookSize= -observe.list.HookType= -observe.list.baitHaulingStatus= -observe.list.baitSettingStatus= -observe.list.baitType= -observe.list.catchFateLongline= -observe.list.country= -observe.list.detectionMode= -observe.list.encounterType= -observe.list.fpaZone= -observe.list.gear= -observe.list.gearCaracteristic= -observe.list.gearCaracteristicType= -observe.list.harbour= -observe.list.healthness= -observe.list.hookPosition= -observe.list.itemHorizontalPosition= -observe.list.itemVerticalPosition= -observe.list.lengthWeightParameter= -observe.list.lightsticksColor= -observe.list.lightsticksType= -observe.list.lineType= -observe.list.maturityStatus= -observe.list.mitigationType= -observe.list.objectFate= -observe.list.objectOperation= -observe.list.objectType= -observe.list.observedSystem= -observe.list.ocean= -observe.list.operation= -observe.list.organism= -observe.list.person= -observe.list.program= -observe.list.reasonForDiscard= -observe.list.reasonForNoFishing= -observe.list.reasonForNullSet= -observe.list.sensorBrand= -observe.list.sensorDataFormat= -observe.list.sensorType= -observe.list.settingShape= -observe.list.sex= -observe.list.sizeMeasureType= -observe.list.speciesFate= -observe.list.speciesFaune= -observe.list.speciesGroupSpecies= -observe.list.speciesList= -observe.list.speciesStatus= -observe.list.stomacFullness= -observe.list.surroundingActivity= -observe.list.transmittingBuoyType= -observe.list.tripType= -observe.list.vessel= -observe.list.vesselActivityLongline= -observe.list.vesselActivitySeine= -observe.list.vesselSizeCategory= -observe.list.vesselType= -observe.list.weightCategory= -observe.list.weightMeasureType= -observe.list.wind= -observe.longlineDetailComposition.action.deleteAllSections=Remove all -observe.longlineDetailComposition.action.deleteAllSections.tip=Remove all sections - baskets - branchlines -observe.longlineDetailComposition.action.deleteSelectedBasket=Delete basket -observe.longlineDetailComposition.action.deleteSelectedBasket.tip=Delete selected basket -observe.longlineDetailComposition.action.deleteSelectedBranchline=Delete branchline -observe.longlineDetailComposition.action.deleteSelectedBranchline.tip=Delete selected branchline -observe.longlineDetailComposition.action.deleteSelectedSection=Delete section -observe.longlineDetailComposition.action.deleteSelectedSection.tip=Delete selected section -observe.longlineDetailComposition.action.deleteSelectedSectionTemplate=Delete section template -observe.longlineDetailComposition.action.deleteSelectedSectionTemplate.tip=Delete selected section template -observe.longlineDetailComposition.action.generateAllSections=Generate all -observe.longlineDetailComposition.action.generateAllSections.tip=Generate all sections - baskets and branchlines -observe.longlineDetailComposition.action.insertAfterSelectedBasket=Insert after -observe.longlineDetailComposition.action.insertAfterSelectedBasket.tip=Insert after selected basket -observe.longlineDetailComposition.action.insertAfterSelectedBranchline=Insert after -observe.longlineDetailComposition.action.insertAfterSelectedBranchline.tip=Insert after selected branchline -observe.longlineDetailComposition.action.insertAfterSelectedSection=Insert after -observe.longlineDetailComposition.action.insertAfterSelectedSection.tip=Insert after selected section -observe.longlineDetailComposition.action.insertBeforeSelectedBasket=Insert before -observe.longlineDetailComposition.action.insertBeforeSelectedBasket.tip=Insert before selected basket -observe.longlineDetailComposition.action.insertBeforeSelectedBranchline=Insert before -observe.longlineDetailComposition.action.insertBeforeSelectedBranchline.tip=Insert before selected branchline -observe.longlineDetailComposition.action.insertBeforeSelectedSection=Insert before -observe.longlineDetailComposition.action.insertBeforeSelectedSection.tip=Insert before selected section -observe.longlineDetailComposition.baskets=Baskets -observe.longlineDetailComposition.basketsTable.floatline1Length=Floatline 1 length (m) -observe.longlineDetailComposition.basketsTable.floatline1Length.tip=Floatline 1 length (m) -observe.longlineDetailComposition.basketsTable.floatline2Length=Floatline 2 length (m) -observe.longlineDetailComposition.basketsTable.floatline2Length.tip=Floatline 2 length (m) -observe.longlineDetailComposition.basketsTable.haulingIdentifier=Hauling Id -observe.longlineDetailComposition.basketsTable.haulingIdentifier.tip=Hauling Identifier -observe.longlineDetailComposition.basketsTable.settingIdentifier=Setting Identifier -observe.longlineDetailComposition.basketsTable.settingIdentifier.tip=Setting Id -observe.longlineDetailComposition.branchlines=Branchlines -observe.longlineDetailComposition.branchlinesTable.branchlineLength=Branchline length (m) -observe.longlineDetailComposition.branchlinesTable.branchlineLength.tip=Branchline length (m) -observe.longlineDetailComposition.branchlinesTable.haulingIdentifier=Hauling Id -observe.longlineDetailComposition.branchlinesTable.haulingIdentifier.tip=Hauling Identifier -observe.longlineDetailComposition.branchlinesTable.settingIdentifier=Setting Identifier -observe.longlineDetailComposition.branchlinesTable.settingIdentifier.tip=Setting Id -observe.longlineDetailComposition.branchlinesTable.tracelineLength=Traceline length (m) -observe.longlineDetailComposition.branchlinesTable.tracelineLength.tip=Traceline length (m) -observe.longlineDetailComposition.canGenerate=Can generate -observe.longlineDetailComposition.firstTemplate.template.notCompilant.basketCount= -observe.longlineDetailComposition.message.updating=Updating composition details -observe.longlineDetailComposition.sectionTemplatesTable.identifier=Identifier -observe.longlineDetailComposition.sectionTemplatesTable.identifier.tip=Unique section template identifier -observe.longlineDetailComposition.sectionTemplatesTable.value=Value -observe.longlineDetailComposition.sectionTemplatesTable.value.tip=Template value -observe.longlineDetailComposition.sections=Sections -observe.longlineDetailComposition.sectionsTable.haulingIdentifier=Hauling Id -observe.longlineDetailComposition.sectionsTable.haulingIdentifier.tip=Hauling Identifier -observe.longlineDetailComposition.sectionsTable.settingIdentifier=Setting Id -observe.longlineDetailComposition.sectionsTable.settingIdentifier.tip=Setting Identifier -observe.longlineDetailComposition.sectionsTable.template=Template -observe.longlineDetailComposition.sectionsTable.template.tip=Template used to generate baskets floatline lengths -observe.longlineDetailComposition.tab.branchlineDetail=Branchline detail -observe.longlineDetailComposition.tab.composition=Composition -observe.longlineDetailComposition.tab.generate=generation -observe.longlineDetailComposition.title=Detailed composition -observe.longlineDetailComposition.title.section.cant.use.firstTemplate= -observe.longlineGlobalComposition.availableMitigationType=Available mitigations -observe.longlineGlobalComposition.message.updating=Updating global composition -observe.longlineGlobalComposition.mitigationType=Mitigation -observe.longlineGlobalComposition.selectedMitigationType=Selected mitigations -observe.longlineGlobalComposition.tab.baitsComposition=Baits -observe.longlineGlobalComposition.tab.branchlinesComposition=Branchlines -observe.longlineGlobalComposition.tab.floatlinesComposition=Floatines -observe.longlineGlobalComposition.tab.hooksComposition=Hooks -observe.longlineGlobalComposition.tab.mitigationType=Mitigation -observe.longlineGlobalComposition.title=Global composition -observe.map.action.exportPng= -observe.map.action.exportPng.tip= -observe.map.action.zoomIt= -observe.map.action.zoomIt.tip= -observe.map.east= -observe.map.export.chooseFile.ok= -observe.map.export.chooseFile.png= -observe.map.export.chooseFile.title= -observe.map.export.success= -observe.map.legend.hauling= -observe.map.legend.setting= -observe.map.legend.tripBetweenTwoDays= -observe.map.legend.tripDay= -observe.map.longLine.activity= -observe.map.longLine.activity.hauling.end= -observe.map.longLine.activity.hauling.start= -observe.map.longLine.activity.interaction= -observe.map.longLine.activity.setting.end= -observe.map.longLine.activity.setting.start= -observe.map.longLine.activity.station= -observe.map.longLine.seine.harbour= -observe.map.miles= -observe.map.north= -observe.map.seine.activity= -observe.map.seine.activity.inHarbour= -observe.map.seine.activity.schoolType.free= -observe.map.seine.activity.schoolType.object= -observe.map.seine.harbour.departure= -observe.map.seine.harbour.landing= -observe.map.south= -observe.map.waitLoading=< Please wait while loading the map > -observe.map.west= -observe.measurement.delete.message= observe.menu.actions=Actions observe.menu.application.locale=Application observe.menu.configuration=Configuration @@ -1344,21 +1823,17 @@ observe.menu.db.locale=Storage observe.menu.file=File observe.menu.help=Help observe.menu.locale=Languages +observe.menu.move.activityLongline= +observe.menu.move.activitySeine= +observe.menu.move.route= +observe.menu.move.trip= observe.menu.navigation=Navigation observe.menu.storage=Storage observe.message.can.not.write.data= observe.message.cant.add.echantillonRejetThon= observe.message.cant.add.echantillonTargetCatch= observe.message.cant.add.nonTargetSample= -observe.message.consolidate.activity= -observe.message.consolidate.noChanges= -observe.message.consolidate.operation.done= -observe.message.consolidate.save.changes= -observe.message.consolidate.trip= observe.message.creating.referentiel= -observe.message.datasynchro.leftData.loaded= -observe.message.datasynchro.ready= -observe.message.datasynchro.rightData.loaded= observe.message.db.closed=%1$s was closed observe.message.db.loaded=%1$s was loaded observe.message.db.loading=%1$s loading... @@ -1367,11 +1842,6 @@ observe.message.db.none.loaded.tip=No data source loaded... observe.message.delete=Confirm to delete object\:\n\n '%1$s' - '%2$s'\n observe.message.delete.directory=Delete directory %1$s observe.message.delete.new=Confirm to delete object\:\n\n '%1$s'\n -observe.message.exportData.delete.remote.maree= -observe.message.exportData.not.possible= -observe.message.exportData.operation.needFix= -observe.message.exportData.prepare.data= -observe.message.exportData.replicate.maree= observe.message.goto.site= observe.message.h2.server.login= observe.message.h2.server.password= @@ -1403,85 +1873,21 @@ observe.message.show.usage.for.desactivated= observe.message.show.usage.for.desactivated2= observe.message.show.usage.for.desactivated3= observe.message.show.usages= -observe.message.synchro.apply.done= -observe.message.synchro.build.diff= -observe.message.synchro.local.modification= -observe.message.synchro.no.local.modification= -observe.message.synchro.operation.canceled= -observe.message.synchro.operation.done= -observe.message.synchro.operation.failed= -observe.message.synchro.operation.needFix= -observe.message.synchro.ref.is.updtodate= -observe.message.synchro.referentiel.was.added= -observe.message.synchro.referentiel.was.modified= -observe.message.synchro.referentiel.was.removed= -observe.message.synchro.referentiel.was.replaced= observe.message.table.editBean.modified= observe.message.table.editBean.modified.but.invalid= observe.message.updating.floatingObject= observe.message.updating.referentiel= -observe.message.validation.detected= -observe.message.validation.not.save.report= -observe.message.validation.nothing.to.do= -observe.message.validation.operation.done= -observe.message.validation.operation.needFix= -observe.message.validation.prepare.validators= -observe.message.validation.save.report= -observe.message.validation.use.storage= observe.message.warning.will.be.delete= observe.modeSaisieEchantillonEnum.byEffectif= observe.modeSaisieEchantillonEnum.byIndividu= observe.model.version= -observe.navigationMenu.move.activityLongline= -observe.navigationMenu.move.activitySeine= -observe.navigationMenu.move.route= -observe.navigationMenu.move.trip= observe.navigationMenu.noAction=< No action > -observe.nonTargetCatch.message.table.will.delete.nonTargetSample= -observe.nonTargetCatch.table.catchWeight= -observe.nonTargetCatch.table.catchWeight.tip= -observe.nonTargetCatch.table.comment= -observe.nonTargetCatch.table.comment.tip= -observe.nonTargetCatch.table.deleteExtraMessage= -observe.nonTargetCatch.table.meanLength= -observe.nonTargetCatch.table.meanLength.tip= -observe.nonTargetCatch.table.meanWeight= -observe.nonTargetCatch.table.meanWeight.tip= -observe.nonTargetCatch.table.reasonForDiscard= -observe.nonTargetCatch.table.reasonForDiscard.tip= -observe.nonTargetCatch.table.speciesFate= -observe.nonTargetCatch.table.speciesFate.tip= -observe.nonTargetCatch.table.speciesFaune= -observe.nonTargetCatch.table.speciesFaune.tip= -observe.nonTargetCatch.table.totalCount= -observe.nonTargetCatch.table.totalCount.tip= -observe.nonTargetSample.table.count= -observe.nonTargetSample.table.count.tip= -observe.nonTargetSample.table.gender= -observe.nonTargetSample.table.gender.tip= -observe.nonTargetSample.table.length= -observe.nonTargetSample.table.length.tip= -observe.nonTargetSample.table.meanWeight= -observe.nonTargetSample.table.meanWeight.tip= -observe.nonTargetSample.table.picturesReferences= -observe.nonTargetSample.table.picturesReferences.tip= -observe.nonTargetSample.table.speciesFaune= -observe.nonTargetSample.table.speciesFaune.tip= -observe.objectObservedSpecies.table.count= -observe.objectObservedSpecies.table.count.tip= -observe.objectObservedSpecies.table.speciesFaune= -observe.objectObservedSpecies.table.speciesFaune.tip= -observe.objectObservedSpecies.table.speciesStatus= -observe.objectObservedSpecies.table.speciesStatus.tip= observe.obstuna.action.create= observe.obstuna.action.create.description= observe.obstuna.action.security= observe.obstuna.action.security.description= observe.obstuna.action.update= observe.obstuna.action.update.description= -observe.person.country=Nationality -observe.program.tab.general=General caracteristics -observe.program.tab.observations=Observations observe.programObservationEnum.value0=observed observe.programObservationEnum.value1=non observed observe.programObservationEnum.value2=value not defined @@ -1492,15 +1898,6 @@ observe.programObservationEnum.value6=value not defined observe.programObservationEnum.value7=value not defined observe.programObservationEnum.value8=value not defined observe.programObservationEnum.value9=value not defined -observe.route.message.active.found= -observe.route.message.active.found.for.other.trip= -observe.route.message.creating= -observe.route.message.no.active.found= -observe.route.message.no.active.found.for.other.trip= -observe.route.message.not.open= -observe.route.message.updating= -observe.route.title=Route -observe.routes.title=Routes observe.runner.config.loaded= observe.runner.config.migrate.file= observe.runner.context.loaded= @@ -1519,16 +1916,6 @@ observe.runner.quit.withno.ui= observe.runner.start= observe.runner.ui.loaded= observe.runner.user.directories.loaded= -observe.schoolEstimate.table.meanWeight= -observe.schoolEstimate.table.meanWeight.tip= -observe.schoolEstimate.table.speciesThon= -observe.schoolEstimate.table.speciesThon.tip= -observe.schoolEstimate.table.weight= -observe.schoolEstimate.table.weight.tip= -observe.section.cant.delete.message=The current section can not be deleted since it used by other data. -observe.section.cant.delete.title=Can't delete section -observe.sectionTemplate.delete.message=Confirm to delete current template. -observe.sections.delete.message=Confirm to delete all sections. observe.security.referentiel= observe.security.referentiel.tip= observe.security.role= @@ -1539,114 +1926,47 @@ observe.security.unused= observe.security.unused.tip= observe.security.utilisateur= observe.security.utilisateur.tip= -observe.sensorUsed.action.create=Insert the sensor -observe.sensorUsed.action.create.tip=Insert this new sensor used -observe.sensorUsed.action.reset.dataLocation.tip=Reset data location -observe.sensorUsed.action.reset.sensorSerialNo.tip=Reset serial no -observe.sensorUsed.data=Data -observe.sensorUsed.dataLocation=Data location -observe.sensorUsed.dataLocation.tip=Data file location -observe.sensorUsed.delete.data.message=Confirm to delete the data file -observe.sensorUsed.deleteData=Delete -observe.sensorUsed.deleteData.tip=Delete the data file -observe.sensorUsed.exportData=Export -observe.sensorUsed.exportData.tip=Export data file -observe.sensorUsed.importData=Import -observe.sensorUsed.importData.tip=Import the data file -observe.sensorUsed.message.data.exported=the data file was exported at %s. -observe.sensorUsed.sensorBrand=Brand -observe.sensorUsed.sensorDataFormat=Data format -observe.sensorUsed.sensorSerialNo=Serial no -observe.sensorUsed.sensorType=Type -observe.sensorUsed.table.data=Data -observe.sensorUsed.table.data.tip=Data -observe.sensorUsed.table.dataLocation=Data location -observe.sensorUsed.table.dataLocation.tip=Data location -observe.sensorUsed.table.sensorBrand=Brand -observe.sensorUsed.table.sensorBrand.tip=Sensor brand -observe.sensorUsed.table.sensorDataFormat=Data format -observe.sensorUsed.table.sensorDataFormat.tip=Data format -observe.sensorUsed.table.sensorSerialNo=Serial no -observe.sensorUsed.table.sensorSerialNo.tip=Sensor serial no -observe.sensorUsed.table.sensorType=Type -observe.sensorUsed.table.sensorType.tip=Sensor type -observe.sensorUsed.title=Sensors ursed -observe.setLongline.action.reset.homeId.tip=Reset home id -observe.setLongline.basketsPerSectionCount=Baskets per section count -observe.setLongline.branchlinesPerBasketCount=Hooks per basket count -observe.setLongline.haulingBreaks=Number of cuts -observe.setLongline.haulingDirectionSameAsSetting=Direction same as setting -observe.setLongline.haulingEndCoordinates=Hauling end coordinates -observe.setLongline.haulingEndTimeStamp=End timestamp -observe.setLongline.haulingStartCoordinates=Hauling start coordinates -observe.setLongline.haulingStartTimeStamp=Start timestamp -observe.setLongline.homeId=Home id -observe.setLongline.lightsticksColor=Lightsticks color -observe.setLongline.lightsticksPerBasketCount=lightsticks per basket count -observe.setLongline.lightsticksType=Lightsticks type -observe.setLongline.lineType=Line type -observe.setLongline.maxDepthTargeted=Max depth targeted (m) -observe.setLongline.message.creating=Creating fishing operation -observe.setLongline.message.updating=Updating fishing operation -observe.setLongline.monitored=Monitored -observe.setLongline.number=Number -observe.setLongline.settingEndCoordinates=Setting end coordinates -observe.setLongline.settingEndTimeStamp=End timestamp -observe.setLongline.settingShape=Setting shape -observe.setLongline.settingStartCoordinates=Setting start coordinates -observe.setLongline.settingStartTimeStamp=Start timestamp -observe.setLongline.settingVesselSpeed=Vessel spped (kts) -observe.setLongline.shooterSpeed=Shooter speed (kts) -observe.setLongline.shooterUsed=Shooter used -observe.setLongline.snapWeight=Snap weight (kg) -observe.setLongline.swivelWeight=swivel weight (kg) -observe.setLongline.tab.hauling=Hauling -observe.setLongline.tab.setting=Setting -observe.setLongline.tab.settingCaracteristics=Caracteristics -observe.setLongline.timeBetweenHooks=time between hooks -observe.setLongline.title=Fishing operation -observe.setLongline.totalBasketsCount=Total baskets count -observe.setLongline.totalHooksCount=Total hooks count -observe.setLongline.totalSectionsCount=Total sections count -observe.setLongline.weightedSnap=Weighted snap -observe.setLongline.weightedSwivel=Weighted swvel -observe.setSeine.currentDirection= -observe.setSeine.currentMeasureDepth= -observe.setSeine.currentSpeed= -observe.setSeine.endPursingTimeStamp= -observe.setSeine.endSetTimeStamp= -observe.setSeine.maxGearDepth= -observe.setSeine.message.creating= -observe.setSeine.message.information.schoolType= -observe.setSeine.message.no.nonTargetDiscarded= -observe.setSeine.message.no.targetCatch= -observe.setSeine.message.no.targetDiscarded= -observe.setSeine.message.updating= -observe.setSeine.nonTargetDiscarded= -observe.setSeine.reasonForNullSet= -observe.setSeine.schoolMeanDepth= -observe.setSeine.schoolThickness= -observe.setSeine.schoolTopDepth= -observe.setSeine.schoolType= -observe.setSeine.schoolType.not.fill= -observe.setSeine.sonarUsed= -observe.setSeine.sonarUsedAvantSet= -observe.setSeine.startTime= -observe.setSeine.supportVesselName= -observe.setSeine.tab.general=General caracteristics -observe.setSeine.tab.measurements=Measurements -observe.setSeine.targetDiscarded= -observe.setSeine.title=Set -observe.sizeMeasure.delete.message=Confirm to delete current size measure. -observe.species.availableOcean=Available oceans -observe.species.selectedOcean=Selected oceans -observe.species.tab.general=General caracteristics -observe.species.tab.other=Other caracteristics -observe.speciesList.availableSpecies=Available species -observe.speciesList.selectedSpecies=Selected species -observe.speciesList.tab.general=General caracteristics -observe.speciesList.tab.species=Species +observe.storage.action.apply=Apply +observe.storage.action.apply.tip=Apply configured storage +observe.storage.action.applyAction=Change storage observe.storage.action.canMigrate= +observe.storage.action.cancel=Cancel change storage +observe.storage.action.cancel.tip=Cancel change of storage +observe.storage.activityLongline.coordinate=Coordinates +observe.storage.activityLongline.fpaZone=FPA Zone +observe.storage.activityLongline.message.active.found=An activity is opened. +observe.storage.activityLongline.message.active.found.for.other.trip=An activity is opened in another trip. +observe.storage.activityLongline.message.creating=Creating an activity +observe.storage.activityLongline.message.no.active.found=No opened activity found, you can create a new one, or open an existing one. +observe.storage.activityLongline.message.no.active.found.for.other.trip=No opened activity found on current trip. +observe.storage.activityLongline.message.not.open=Activity is not opened, no edit possible. +observe.storage.activityLongline.message.updating=Updating an activity +observe.storage.activityLongline.seaSurfaceTemperature=SST (°c) +observe.storage.activityLongline.timeStamp=timestamp +observe.storage.activityLongline.title=Activity +observe.storage.activityLongline.vesselActivityLongline=Vessel activity +observe.storage.activityLonglines.title=Activities +observe.storage.activityObservedSystem.availableObservedSystem=Available observed systems +observe.storage.activityObservedSystem.selectedObservedSystem=Selected observed systems +observe.storage.activitySeine.message.active.found=An activity is opened. +observe.storage.activitySeine.message.active.found.for.other.route=An activity is opened in another route. +observe.storage.activitySeine.message.creating=Creating an activity +observe.storage.activitySeine.message.no.active.found=No opened activity found, you can create a new one, or open an existing one. +observe.storage.activitySeine.message.no.active.found.for.other.route=No opened activity found on current route. +observe.storage.activitySeine.message.not.open=Activity is not opened, no edit possible. +observe.storage.activitySeine.message.updating=Updating an activity +observe.storage.activitySeine.tab.general=General caracteristics +observe.storage.activitySeine.tab.measurements=Measurements +observe.storage.activitySeine.title=Activity +observe.storage.activitySeineObservedSystem.title= +observe.storage.activitySeines.title=Activities +observe.storage.config.data.mode= +observe.storage.config.data.storage= +observe.storage.config.export.required.read.data= +observe.storage.config.export.required.read.referentiel= +observe.storage.config.referentiel.mode= +observe.storage.config.referentiel.storage= +observe.storage.config.source.storage= observe.storage.connexionStatut.failed= observe.storage.connexionStatut.failed.description= observe.storage.connexionStatut.success= @@ -1681,6 +2001,9 @@ observe.storage.error.rest.pasword.required= observe.storage.error.rest.user.required= observe.storage.error.rest.user.unknown= observe.storage.error.serverVersionMismatch= +observe.storage.import.data.fromBackup= +observe.storage.import.data.fromRemoteStorage= +observe.storage.import.data.fromServerStorage= observe.storage.importExternalDump.config= observe.storage.importExternalDump.description= observe.storage.importExternalDumpData.config= @@ -1725,6 +2048,11 @@ observe.storage.migrate.askUser.message=Database use version %1$s,\n\nYou need t observe.storage.migrate.askUser.title=Database update to version %1$s is required observe.storage.migrate.not.possible.before.version.3.0.message=<html><body>The application version requires a database in minimum version <strong>3.0</strong>. You database is actually in version %s<br/>Do first a migration using ObServe 3.0 or 3.1, you will then be able to migrate your database using this version of ObServe</body></html> observe.storage.migrate.not.possible.before.version.3.0.title=Can not migrate to databse in version %s +observe.storage.no.data.import= +observe.storage.no.local.storage= +observe.storage.no.referentiel.import= +observe.storage.no.remote.storage= +observe.storage.no.server.storage= observe.storage.noImportData.config= observe.storage.noImportReferentiel.config= observe.storage.remote.db= @@ -1768,290 +2096,37 @@ observe.storage.step.selectData= observe.storage.step.selectData.description= observe.storage.store.remote.config= observe.storage.store.remote.config.tip= +observe.storage.title.change=Change storage observe.storage.useRemoteStorage.config= observe.storage.useRemoteStorage.description= observe.storage.useServerStorage.config= observe.storage.useServerStorage.description= -observe.synchro.config.data.mode= -observe.synchro.config.data.storage= -observe.synchro.config.export.required.read.data= -observe.synchro.config.export.required.read.referentiel= -observe.synchro.config.export.required.write.data= -observe.synchro.config.referentiel.mode= -observe.synchro.config.referentiel.storage= -observe.synchro.config.report= -observe.synchro.config.source.storage= -observe.synchro.config.validate= -observe.synchro.config.validation.report= -observe.synchro.configuration= -observe.synchro.continue.with.no.save.report= -observe.synchro.import.data.fromBackup= -observe.synchro.import.data.fromRemoteStorage= -observe.synchro.import.data.fromServerStorage= -observe.synchro.message.need.save.for.synchro.operation= -observe.synchro.message.need.save.for.validation.operation= -observe.synchro.message.saveLocal.skip= -observe.synchro.no.data.import= -observe.synchro.no.local.storage= -observe.synchro.no.referentiel.import= -observe.synchro.no.remote.storage= -observe.synchro.no.server.storage= -observe.synchro.obsolete.entities.list= -observe.synchro.obsolete.entity.fix= -observe.synchro.operation.canceled= -observe.synchro.operation.consolidate= -observe.synchro.operation.consolidate.description= -observe.synchro.operation.dataSynchronize= -observe.synchro.operation.dataSynchronize.description= -observe.synchro.operation.exportData= -observe.synchro.operation.exportData.description= -observe.synchro.operation.failed= -observe.synchro.operation.needFix= -observe.synchro.operation.report= -observe.synchro.operation.report.description= -observe.synchro.operation.running= -observe.synchro.operation.saveLocal= -observe.synchro.operation.saveLocal.description= -observe.synchro.operation.successed= -observe.synchro.operation.synchronize= -observe.synchro.operation.synchronize.description= -observe.synchro.operation.validate= -observe.synchro.operation.validate.description= -observe.synchro.operations= -observe.synchro.report.copy.options= -observe.synchro.report.report.description= -observe.synchro.report.result= -observe.synchro.report.select= -observe.synchro.report.variables= -observe.synchro.safe.entity.to.choose.label= -observe.synchro.save.report= -observe.synchro.step.config= -observe.synchro.step.config.description= -observe.synchro.step.consolidate= -observe.synchro.step.consolidate.description= -observe.synchro.step.dataSynchronize= -observe.synchro.step.dataSynchronize.description= -observe.synchro.step.exportData= -observe.synchro.step.exportData.description= -observe.synchro.step.report= -observe.synchro.step.report.description= -observe.synchro.step.saveLocal= -observe.synchro.step.saveLocal.description= -observe.synchro.step.selectData= -observe.synchro.step.selectData.description= -observe.synchro.step.showResume= -observe.synchro.step.showResume.description= -observe.synchro.step.synchronize= -observe.synchro.step.synchronize.description= -observe.synchro.step.validate= -observe.synchro.step.validate.description= -observe.synchro.table.exportData.exist.label= -observe.synchro.table.exportData.exist.label.tip= -observe.synchro.table.exportData.program.label= -observe.synchro.table.exportData.program.label.tip= -observe.synchro.table.exportData.selected= -observe.synchro.table.exportData.selected.tip= -observe.synchro.table.exportData.trip.label= -observe.synchro.table.exportData.trip.label.tip= -observe.synchro.validate.invalid.data.list= -observe.synchro.validate.message.list= -observe.synchro.validate.save.reportFile= -observe.targetCatch.table.comment= -observe.targetCatch.table.comment.tip= -observe.targetCatch.table.deleteExtraMessage= -observe.targetCatch.table.speciesThon= -observe.targetCatch.table.speciesThon.tip= -observe.targetCatch.table.weight= -observe.targetCatch.table.weight.tip= -observe.targetCatch.table.weightCategory= -observe.targetCatch.table.weightCategory.tip= -observe.targetCatch.table.well= -observe.targetCatch.table.well.tip= -observe.targetDiscarded.message.table.will.delete.targetLength= -observe.targetDiscarded.table.broughtOnDeck= -observe.targetDiscarded.table.broughtOnDeck.tip= -observe.targetDiscarded.table.comment= -observe.targetDiscarded.table.comment.tip= -observe.targetDiscarded.table.deleteExtraMessage= -observe.targetDiscarded.table.reasonForDiscard= -observe.targetDiscarded.table.reasonForDiscard.tip= -observe.targetDiscarded.table.speciesThon= -observe.targetDiscarded.table.speciesThon.tip= -observe.targetDiscarded.table.weight= -observe.targetDiscarded.table.weight.tip= -observe.targetDiscarded.table.weightCategory= -observe.targetDiscarded.table.weightCategory.tip= -observe.targetSample.table.count= -observe.targetSample.table.count.tip= -observe.targetSample.table.length= -observe.targetSample.table.length.tip= -observe.targetSample.table.meanWeight= -observe.targetSample.table.meanWeight.tip= -observe.targetSample.table.measureType= -observe.targetSample.table.measureType.tip= -observe.targetSample.table.speciesThon= -observe.targetSample.table.speciesThon.tip= -observe.targetSample.table.totalWeight= -observe.targetSample.table.totalWeight.tip= -observe.tdr.action.create=Insert this recorder -observe.tdr.action.create.tip=Insert this recorder -observe.tdr.action.reset.dataLocation.tip=Reset data location -observe.tdr.action.reset.homeId.tip=Reset homeId -observe.tdr.action.reset.serialNo.tip=Reset serail no -observe.tdr.availableSpecies=Available species -observe.tdr.basket=Basket -observe.tdr.branchline=Branchline -observe.tdr.data=Data -observe.tdr.dataLocation=Data location -observe.tdr.dataLocation.tip=Data location -observe.tdr.delete.data.message=Confirm to delete saved data -observe.tdr.deleteData=Delete -observe.tdr.deleteData.tip=Delete data -observe.tdr.deployementEnd=Deployement end -observe.tdr.deployementStart=Deployement start -observe.tdr.enableTimestamp= -observe.tdr.enableTimestamp.tip= -observe.tdr.exportData=Export -observe.tdr.exportData.tip=Export data -observe.tdr.fishingEnd=Fishing End -observe.tdr.fishingEndDepth=Depth at fishing end (m) -observe.tdr.fishingStart=Fishing start -observe.tdr.fishingStartDepth=Depth at fishing start (m) -observe.tdr.floatline1Length=Floatline 1 length (m) -observe.tdr.floatline2Length=Floatline 2 ength (m) -observe.tdr.homeId=Home id -observe.tdr.importData=Import -observe.tdr.importData.tip=Import data -observe.tdr.itemHorizontalPosition=Element position on main line -observe.tdr.itemVerticalPosition=Element position on branchline -observe.tdr.locationOnLongline=Location on longline -observe.tdr.maxFishingDepth=Maximum fishing depth (m) -observe.tdr.meanDeployementDepth=Mean deployement depth (m) -observe.tdr.meanFishingDepth=Maximum fishing depth (m) -observe.tdr.medianDeployementDepth=Median deployement depth (m) -observe.tdr.medianFishingDepth=Median fishing depth (m) -observe.tdr.minFishingDepth=Minimum fishing depth (m) -observe.tdr.section=Section -observe.tdr.selectedSpecies=Selected species -observe.tdr.sensorBrand=Brand -observe.tdr.serialNo=Serial No -observe.tdr.species=Species -observe.tdr.tab.caracteristics=Caracteristics -observe.tdr.tab.keyData=Data keys -observe.tdr.tab.localisation= -observe.tdr.tab.species=Associated species -observe.tdr.tab.timestamp=Timestamps -observe.tdr.table.data=Data -observe.tdr.table.homeId=Home id -observe.tdr.table.homeId.tip=Home id -observe.tdr.table.sensorBrand=Brand -observe.tdr.table.sensorBrand.tip=Brand -observe.tdr.table.serialNo=Serial no -observe.tdr.table.serialNo.tip=Serial no -observe.tdr.title=Depth recorders observe.title.about=About observe.title.can.not.delete.referentiel=Impossible to delete a referentiel data... observe.title.can.not.export.obstuna= -observe.title.change.storage=Change storage observe.title.choose.db.dump= observe.title.choose.db.dump.directory= -observe.title.choose.report.directory= observe.title.choose.reportFile= -observe.title.choose.sensorUsed.exportData= -observe.title.choose.sensorUsed.importData= -observe.title.choose.tdr.exportData= -observe.title.choose.tdr.importData= observe.title.config.migrate= observe.title.connect.existingDB= observe.title.connect.localDB= observe.title.connect.remoteDB= observe.title.connect.serverDB= -observe.title.consolidate= -observe.title.consolidate.tip= -observe.title.content.HookSizes= -observe.title.content.HookTypes= -observe.title.content.baitHaulingStatuss= -observe.title.content.baitSettingStatuss= -observe.title.content.baitTypes= -observe.title.content.catchFateLonglines= -observe.title.content.country= -observe.title.content.detectionModes= -observe.title.content.encounterTypes= -observe.title.content.fpaZones= -observe.title.content.gearCaracteristicTypes= -observe.title.content.gearCaracteristics= -observe.title.content.gears= -observe.title.content.harbours= -observe.title.content.healthnesss= -observe.title.content.hookPositions= -observe.title.content.itemHorizontalPositions= -observe.title.content.itemVerticalPositions= -observe.title.content.lengthWeightParameters= -observe.title.content.lightsticksColors= -observe.title.content.lightsticksTypes= -observe.title.content.lineTypes= -observe.title.content.maturityStatuss= -observe.title.content.mitigationTypes= -observe.title.content.objectFates= -observe.title.content.objectOperations= -observe.title.content.objectTypes= -observe.title.content.observedSystems= -observe.title.content.oceans= -observe.title.content.organisms= -observe.title.content.persons= -observe.title.content.programs= -observe.title.content.reasonForDiscards= -observe.title.content.reasonForNoFishings= -observe.title.content.reasonForNullSets= -observe.title.content.sensorBrands= -observe.title.content.sensorDataFormats= -observe.title.content.sensorTypes= -observe.title.content.settingShapes= -observe.title.content.sexx= -observe.title.content.sizeMeasureTypes= -observe.title.content.speciesFates= -observe.title.content.speciesGroupSpeciess= -observe.title.content.speciesLists= -observe.title.content.speciesStatuss= -observe.title.content.speciess= -observe.title.content.stomacFullnesss= -observe.title.content.surroundingActivitys= -observe.title.content.transmittingBuoyOperations= -observe.title.content.transmittingBuoyTypes= -observe.title.content.tripTypes= -observe.title.content.vesselActivityLonglines= -observe.title.content.vesselActivitySeines= -observe.title.content.vesselSizeCategoryx= -observe.title.content.vesselTypex= -observe.title.content.vesselx= -observe.title.content.weightCategory= -observe.title.content.weightMeasureTypes= -observe.title.content.windSpeeds= observe.title.create.local.db=Loading local database -observe.title.dataSynchronize= -observe.title.dataSynchronize.tip= observe.title.delete=Confirm a delete observe.title.error.dialog=An error occurs\! -observe.title.exportData=Export datas -observe.title.exportData.tip=Export datas to Obstuna observe.title.h2.server.parameters= observe.title.import.localDB=Import a local database from a backup observe.title.load.remote.db=Load remote database observe.title.need.confirm=Need a confirmation... observe.title.need.confirm.to.desactivate.referentiel=Need a confirmation to disable a referentiel data... observe.title.no.local.db.found=No local database found. -observe.title.report=Help to generat reports -observe.title.report.tip=Help to generate reports observe.title.save.localDB=Save local storage to a file observe.title.save.remoteDB=Save remote database to a file observe.title.show.usage=Show usages observe.title.storage.info=Storage details -observe.title.synchronize=Synchronize -observe.title.synchronize.tip=Synchronize objectOperation on local database observe.title.technical.informations=Technical information of %1$s observe.title.unique.key=Unique keys used in a referentiel -observe.title.validate=Validate datas -observe.title.validate.tip=Validate datas of a storage observe.title.welcome.admin=Observe Admin observe.tree.activityLongline=Activity observe.tree.activityLongline.unsaved=New activity @@ -2145,53 +2220,11 @@ observe.tree.vesselType=Boat type observe.tree.weightCategory=Weight category observe.tree.weightMeasureType=Weight measure type observe.tree.wind=Wind -observe.tripLongline.captain=Capitain -observe.tripLongline.dataEntryOperator=Data entry operator -observe.tripLongline.endDate=End date -observe.tripLongline.homeId=Home id -observe.tripLongline.message.active.found=A trip is opened. -observe.tripLongline.message.active.found.for.other.program=A trip is opened in another program. -observe.tripLongline.message.creating=Creating a trip -observe.tripLongline.message.no.active.found=No opened trip found, you can create a new one or open an existing one. -observe.tripLongline.message.not.open=Current trip is not opened, no edit possible. -observe.tripLongline.message.updating=Updating a trip -observe.tripLongline.observer=Observer -observe.tripLongline.ocean=Ocean -observe.tripLongline.startDate=Start date -observe.tripLongline.tab.general= -observe.tripLongline.tab.map= -observe.tripLongline.title=Trip -observe.tripLongline.totalFishingOperationsNumber=Total fishing operation count -observe.tripLongline.tripType=Trip type -observe.tripLongline.vessel=Vessel -observe.tripSeine.message.active.found=A trip is opened. -observe.tripSeine.message.active.found.for.other.program=A trip is opened in another program. -observe.tripSeine.message.creating=Creating a trip -observe.tripSeine.message.no.active.found=No opened trip found, you can create a new one or open an existing one. -observe.tripSeine.message.not.open=Current trip is not opened, no edit possible. -observe.tripSeine.message.updating=Updating a trip -observe.tripSeine.tab.general=Caracteristics -observe.tripSeine.tab.map=Map -observe.tripSeine.title=Trip -observe.validation.model.type.all= -observe.validation.model.type.all.description= -observe.validation.model.type.data= -observe.validation.model.type.data.description= -observe.validation.model.type.referentiel= -observe.validation.model.type.referentiel.description= -observe.validation.report.contextName= -observe.validation.report.entities.with.messages= -observe.validation.report.entity= -observe.validation.report.scopes= -observe.validation.report.title= -observe.vessel.tab.general=General caracteristics -observe.vessel.tab.other=Other caracteristics observe.view.message=Messages observe.view.navigation=Navigation observe.view.server= observe.warning.nimbus.landf=Could not use Look and Fell Nimbus, need at least version 1.6u10 of java. observe.warning.no.ui=No gui environment found -observe.weightMeasure.delete.message=Confirm to delete current weight measure. ui.main.body.synchro.action.copy.to.clipBoard= validator.field.header= validator.field.header.tip= diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties index 11418c7..e4cf149 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties @@ -19,28 +19,8 @@ observe.action.auto.copy.to.clipboard=Copia automatica al portapapeles observe.action.auto.copy.to.clipboard.tip=Puesta a punto automáticamente el contenido del portapapeles con los resultados observe.action.back.to.list=Volver a la lista observe.action.back.to.list.tip=Volver a la lista de datos -observe.action.baitHaulingStatus.create.tip= -observe.action.baitHaulingStatus.delete.tip= -observe.action.baitHaulingStatus.detail.tip= -observe.action.baitHaulingStatus.modify.tip= -observe.action.baitHaulingStatus.save.tip= -observe.action.baitSettingStatus.create.tip= -observe.action.baitSettingStatus.delete.tip= -observe.action.baitSettingStatus.detail.tip= -observe.action.baitSettingStatus.modify.tip= -observe.action.baitSettingStatus.save.tip= -observe.action.baitType.create.tip= -observe.action.baitType.delete.tip= -observe.action.baitType.detail.tip= -observe.action.baitType.modify.tip= -observe.action.baitType.save.tip= observe.action.cancel=Cancelar observe.action.cancel.create.tip=Cancelar la creación del objeto -observe.action.catchFateLongline.create.tip= -observe.action.catchFateLongline.delete.tip= -observe.action.catchFateLongline.detail.tip= -observe.action.catchFateLongline.modify.tip= -observe.action.catchFateLongline.save.tip= observe.action.change.storage=Cambiar el origen de datos observe.action.change.storage.tip=Para cambiar el origen de datos de la aplicación observe.action.choose.db.dump=Elegir la copia de seguridad @@ -48,7 +28,6 @@ observe.action.choose.db.dump.description=Copia de seguridad de la base (*.sql.g observe.action.choose.db.dump.directory=Elegir el directorio de la copia de seguridad observe.action.choose.program.message= observe.action.choose.program.title= -observe.action.choose.report.directory=Elegir el directorio de los informes observe.action.choose.reportFile=Elegir el archivo de definición de informe observe.action.choose.reportFile.description=Archivo de definición (*.properties) observe.action.choose.route.message= @@ -70,14 +49,6 @@ observe.action.close.route.tip=Cierre de la ruta abierta observe.action.close.storage=Cerrar el origen de datos observe.action.close.storage.tip=Cerrar el origen de datos usado actualmente observe.action.close.synchro.tip=Cerrar la ventana -observe.action.closeAndCreate=Cerrar y crear -observe.action.closeAndCreate.activity=Actividad siguiente -observe.action.closeAndCreate.activity.tip=Cierre de la actividad actual y creación de una nueva -observe.action.closeAndCreate.maree=Marea siguiente -observe.action.closeAndCreate.maree.tip=Cierre de la marea actual y creación de una nueva -observe.action.closeAndCreate.route=Ruta siguiente -observe.action.closeAndCreate.route.tip=Cierre de la ruta actual y creación de una nueva -observe.action.closeAndCreate.tip= observe.action.commandline.configure.ui=Configurara la aplicación observe.action.commandline.create.id= observe.action.commandline.disable.main.ui=No ejecutar la interfaz grafica @@ -87,6 +58,7 @@ observe.action.commandline.launch.admin.ui=Ejecutar una operación de administra observe.action.commandline.launch.h2.server.mode=Ejecutar ObServe en modo servidor observe.action.commandline.launch.obstuna.admin.ui=Ejecutar una operación de administración sobre Obstuna observe.action.commandline.use.jmx=Mostrar el soporte JMX +observe.action.config.export.required.read.referentiel=Debe tener derechos de escritura sobre los datos de la base remota observe.action.configuration=Configuración observe.action.configuration.tip=Modificar la configuración observe.action.configure=Configurar @@ -96,44 +68,7 @@ observe.action.copy.column.headers=Copiar los encabezados de columnas observe.action.copy.column.headers.tip=Añadir al resultado las cabeceras de columna observe.action.copy.row.headers=Copiar las cabeceras de linea observe.action.copy.row.headers.tip=Añadir al resultado las cabeceras de linea (ej. la primera columna) -observe.action.copyToLeft= -observe.action.copyToLeft.tip= -observe.action.copyToRight= -observe.action.copyToRight.tip= -observe.action.country.create.tip=Crear un nuevo país -observe.action.country.delete.tip=Eliminar el país seleccionado -observe.action.country.detail.tip=Ver los detalles del país seleccionado -observe.action.country.modify.tip=Modificar el país seleccionado -observe.action.country.save.tip=Guardar las modificaciones del país observe.action.create=Crear -observe.action.create.activity=Crear una nueva actividad -observe.action.create.activity.tip=Crear una nueva actividad para la ruta actual -observe.action.create.entry.tip=Crear una nueva entrada -observe.action.create.gearUseFeaturesLongline= -observe.action.create.gearUseFeaturesLongline.tip= -observe.action.create.gearUseFeaturesSeine= -observe.action.create.gearUseFeaturesSeine.tip= -observe.action.create.maree=Crear nueva marea -observe.action.create.maree.tip=Crear nueva marea para el programa actual -observe.action.create.nonTargetCatch=Insertar esta especie/peso/objectFate -observe.action.create.nonTargetCatch.tip=Insertar esta especie/peso/objectFate -observe.action.create.nonTargetSample=Insertar este muestreo -observe.action.create.nonTargetSample.tip=Insertar muestreo de fauna asociada -observe.action.create.objectObservedSpecies= -observe.action.create.objectObservedSpecies.tip=Insertar la especie de fauna observada -observe.action.create.route=Crear una nueva ruta -observe.action.create.route.tip=Crear nueva ruta para la marea actual -observe.action.create.schoolEstimate=Insertar estimación -observe.action.create.schoolEstimate.tip=Insertar la nueva estimación en la tabla -observe.action.create.targetCatch=Insertar esta captura/categoria -observe.action.create.targetCatch.tip=Insertar esta captura/categoria -observe.action.create.targetDiscarded=Insertar descarte/categoría/razón -observe.action.create.targetDiscarded.tip=Insertar descarte/categoría/razón -observe.action.create.targetSample=Insertar muestreo -observe.action.create.targetSample.tip=Insertar muestreo de atún descartado -observe.action.create.targetSampleCapture=Insertar muestreo -observe.action.create.targetSampleCapture.tip=Insertar muestreo de atún capturado -observe.action.datasynchro.launch.operation= observe.action.db.locale.es.tip=Cambia el idioma del referencial al español observe.action.db.locale.fr.tip=Cambiar el idioma del referencial al francés observe.action.db.locale.uk.tip=Cambiar el idioma del referencial al inglés @@ -145,138 +80,23 @@ observe.action.delete.maree.tip=Eliminar la marea observe.action.delete.route.tip=Eliminar la ruta observe.action.delete.set.tip=Eliminar el lance observe.action.delete.tip=Eliminar -observe.action.deleteFromBoth= -observe.action.deleteFromLeft= -observe.action.deleteFromLeft.tip= -observe.action.deleteFromRight= -observe.action.deleteFromRight.tip= observe.action.detail=Ver detalles -observe.action.detectionMode.create.tip=Crear un nuevo modo de detección -observe.action.detectionMode.delete.tip=Eliminar el modo de detección seleccionado -observe.action.detectionMode.detail.tip=Ver los detalles del modo de detección seleccionado -observe.action.detectionMode.modify.tip=Modificar el modo de detección seleccionado -observe.action.detectionMode.save.tip=Guardar las modificaciones del modo de detección observe.action.do.backup=Guardar la base local observe.action.do.backup.tip=Hacer copia de seguridad de la base local antes de aplicar los cambios -observe.action.encounterType.create.tip= -observe.action.encounterType.delete.tip= -observe.action.encounterType.detail.tip= -observe.action.encounterType.modify.tip= -observe.action.encounterType.save.tip= observe.action.exit=Salir observe.action.exit.tip=Salir de ObServe -observe.action.fpaZone.create.tip= -observe.action.fpaZone.delete.tip= -observe.action.fpaZone.detail.tip= -observe.action.fpaZone.modify.tip= -observe.action.fpaZone.save.tip= -observe.action.gear.create.tip= -observe.action.gear.delete.tip= -observe.action.gear.detail.tip= -observe.action.gear.modify.tip= -observe.action.gear.save.tip= -observe.action.gearCaracteristic.create.tip= -observe.action.gearCaracteristic.delete.tip= -observe.action.gearCaracteristic.detail.tip= -observe.action.gearCaracteristic.modify.tip= -observe.action.gearCaracteristic.save.tip= -observe.action.gearCaracteristicType.create.tip= -observe.action.gearCaracteristicType.delete.tip= -observe.action.gearCaracteristicType.detail.tip= -observe.action.gearCaracteristicType.modify.tip= -observe.action.gearCaracteristicType.save.tip= observe.action.goDown=Descender hacia ... observe.action.goDown.tip=Descender hacia etapas porteriores observe.action.goUp=Ascender hacia... observe.action.goUp.tip=Ascender hacia etapas anteriores observe.action.goto.next.stage=Siguiente observe.action.goto.next.stage.tip=Etapa siguiente -observe.action.goto.open.activity=Acceder a la actividad abierta -observe.action.goto.open.activity.short=Actividad abierta -observe.action.goto.open.activity.tip=Acceder a la actividad abierta -observe.action.goto.open.maree=Acceder a la marea abierta -observe.action.goto.open.other.activity=Acceder a la actividad abierta en otra ruta -observe.action.goto.open.other.activity.tip=Accder a la actividad abierta (en otra ruta) -observe.action.goto.open.other.maree=Acceder a la marea abierta en otro programa -observe.action.goto.open.other.maree.tip=Acceder a la marea abierta (en otro programa) -observe.action.goto.open.other.route=Acceder a la ruta abierta en otra marea -observe.action.goto.open.other.route.tip=Acceder a la route abierta (en otre marea) -observe.action.goto.open.program.short=Programa abierto -observe.action.goto.open.program.tip=Acceder al programa abierto -observe.action.goto.open.route=Acceder a la route abierta -observe.action.goto.open.route.short=Ruta abierta -observe.action.goto.open.route.tip=Acceder a la ruta abierta -observe.action.goto.open.set.short=Lance abierto -observe.action.goto.open.set.tip=Acceder al lance abierto -observe.action.goto.open.trip.short=Marea abierta -observe.action.goto.open.trip.tip=Acceder a la marea abierta observe.action.goto.previous.stage=Anterior observe.action.goto.previous.stage.tip=Acceder a la etapa anterior observe.action.goto.referentiel.short=Referencial observe.action.goto.referentiel.tip=Acceder al referencial -observe.action.goto.selected.activity=Acceder a la actividad -observe.action.goto.selected.activity.tip=Acceder a la actividad seleccionada -observe.action.goto.selected.maree=Acceder a la marea -observe.action.goto.selected.maree.tip=Acceder a la marea seleccionada -observe.action.goto.selected.route=Acceder a la ruta -observe.action.goto.selected.route.tip=Acceder a la ruta seleccionada -observe.action.harbour.create.tip= -observe.action.harbour.delete.tip= -observe.action.harbour.detail.tip= -observe.action.harbour.modify.tip= -observe.action.harbour.save.tip= -observe.action.healthness.create.tip= -observe.action.healthness.delete.tip= -observe.action.healthness.detail.tip= -observe.action.healthness.modify.tip= -observe.action.healthness.save.tip= -observe.action.hookPosition.create.tip= -observe.action.hookPosition.delete.tip= -observe.action.hookPosition.detail.tip= -observe.action.hookPosition.modify.tip= -observe.action.hookPosition.save.tip= -observe.action.hookSize.create.tip= -observe.action.hookSize.delete.tip= -observe.action.hookSize.detail.tip= -observe.action.hookSize.modify.tip= -observe.action.hookSize.save.tip= -observe.action.hookType.create.tip= -observe.action.hookType.delete.tip= -observe.action.hookType.detail.tip= -observe.action.hookType.modify.tip= -observe.action.hookType.save.tip= observe.action.info.storage=Información del origen de datos observe.action.info.storage.tip=Ver las informaciones del origen de datos actualmente usado -observe.action.itemHorizontalPosition.create.tip= -observe.action.itemHorizontalPosition.delete.tip= -observe.action.itemHorizontalPosition.detail.tip= -observe.action.itemHorizontalPosition.modify.tip= -observe.action.itemHorizontalPosition.save.tip= -observe.action.itemVerticalPosition.create.tip= -observe.action.itemVerticalPosition.delete.tip= -observe.action.itemVerticalPosition.detail.tip= -observe.action.itemVerticalPosition.modify.tip= -observe.action.itemVerticalPosition.save.tip= -observe.action.lengthWeightParameter.create.tip=Crear un nuevo valor de talla-peso -observe.action.lengthWeightParameter.delete.tip=Eliminar el valor de talla-peso seleccionado -observe.action.lengthWeightParameter.detail.tip=Ver los detalles de los valores talla-peso -observe.action.lengthWeightParameter.modify.tip=Modificar los valores talla-peso -observe.action.lengthWeightParameter.save.tip=Guardar las modificaciones de los valores talla-peso -observe.action.lightsticksColor.create.tip= -observe.action.lightsticksColor.delete.tip= -observe.action.lightsticksColor.detail.tip= -observe.action.lightsticksColor.modify.tip= -observe.action.lightsticksColor.save.tip= -observe.action.lightsticksType.create.tip= -observe.action.lightsticksType.delete.tip= -observe.action.lightsticksType.detail.tip= -observe.action.lightsticksType.modify.tip= -observe.action.lightsticksType.save.tip= -observe.action.lineType.create.tip= -observe.action.lineType.delete.tip= -observe.action.lineType.detail.tip= -observe.action.lineType.modify.tip= -observe.action.lineType.save.tip= observe.action.load.from.file=Importar una copia de seguridad observe.action.load.from.file.tip=Cargar una base local desde una copia de seguridad observe.action.locale.es=Español @@ -285,88 +105,11 @@ observe.action.locale.fr=Francés observe.action.locale.fr.tip=Cambiar el idioma de la applicación al francés observe.action.locale.uk=Inglés observe.action.locale.uk.tip=Cambiar el idioma de la applicación al inglés -observe.action.maturityStatus.create.tip= -observe.action.maturityStatus.delete.tip= -observe.action.maturityStatus.detail.tip= -observe.action.maturityStatus.modify.tip= -observe.action.maturityStatus.save.tip= -observe.action.mitigationType.create.tip= -observe.action.mitigationType.delete.tip= -observe.action.mitigationType.detail.tip= -observe.action.mitigationType.modify.tip= -observe.action.mitigationType.save.tip= observe.action.modify=Modificar -observe.action.move.activities= -observe.action.move.activities.longline= -observe.action.move.activities.longline.tip= -observe.action.move.activities.seine= -observe.action.move.activities.seine.tip= -observe.action.move.activities.tip= -observe.action.move.routes= -observe.action.move.routes.tip= -observe.action.move.trips= -observe.action.move.trips.tip= observe.action.new.entry=Nuevo observe.action.new.entry.tip=Crear una nueva entrada -observe.action.objectFate.create.tip=Crear un nuevo devenir de objeto -observe.action.objectFate.delete.tip=Eliminar el devenir de objeto seleccionado -observe.action.objectFate.detail.tip=Ver detalles de devenir de objeto seleccionado -observe.action.objectFate.modify.tip=Modificar el devenir de objeto seleccionado -observe.action.objectFate.save.tip=Guardar modificaciones de devenir de objeto -observe.action.objectOperation.create.tip=Crear una nueva operación de objeto -observe.action.objectOperation.delete.tip=Eliminar la operación de objeto seleccionada -observe.action.objectOperation.detail.tip=Ver los detalles de la operación de objeto seleccionada -observe.action.objectOperation.modify.tip=Modificar la operación de objeto seleccionada -observe.action.objectOperation.save.tip=Guardar las modificaciones de la operación de objeto -observe.action.objectType.create.tip=Crera un nuevo tipo de objeto -observe.action.objectType.delete.tip=Eliminar el tipo de objeto seleccionado -observe.action.objectType.detail.tip=Ver los detalles del tipo de objeto seleccionado -observe.action.objectType.modify.tip=Modificar el tipo de objeto seleccionado -observe.action.objectType.save.tip=Guardar las modificaciones de tipo de objeto -observe.action.observedSystem.create.tip=Crear un nuevo sistema observado -observe.action.observedSystem.delete.tip=Eliminar el sistema observado seleccionado -observe.action.observedSystem.detail.tip=Ver los detalles del sistema observado seleccionado -observe.action.observedSystem.modify.tip=Modificar el sistema observado seleccionado -observe.action.observedSystem.save.tip=Guardar las modificaciones del sistema observado -observe.action.ocean.create.tip=Crear un nuevo océano -observe.action.ocean.delete.tip=Eliminar el océano seleccionado -observe.action.ocean.detail.tip=Ver los detalles del océano seleccionado -observe.action.ocean.modify.tip=Modificar el océano seleccionado -observe.action.ocean.save.tip=Guardar las modificaciones del océano observe.action.open.screen=Abrir pantalla <%1$s> -observe.action.openLink.formsUrl.tip=Acceder a los formularios en un navegador web -observe.action.openLink.reportsUrl.tip=Acceder a los informes en un navegador web -observe.action.organism.create.tip=Crear un nuevo organismo -observe.action.organism.delete.tip=Eliminar el organismo seleccionado -observe.action.organism.detail.tip=Ver los detalles del organismo -observe.action.organism.modify.tip=Modificar el organismo seleccionado -observe.action.organism.save.tip=Guardar las modificaciones del organismo -observe.action.person.create.tip=Crear un nuevo observador -observe.action.person.delete.tip=Eliminar el observador seleccionado -observe.action.person.detail.tip=Ver los detalles del observador seleccionado -observe.action.person.modify.tip=Modificar el observador seleccionado -observe.action.person.save.tip=Guardar las modificaciones del observador -observe.action.program.create.tip=Crear un nuevo programa -observe.action.program.delete.tip=Eliminar el programa seleccionado -observe.action.program.detail.tip=Ver los detalles del programa seleccionado -observe.action.program.modify.tip=Modificar el programa seleccionado -observe.action.program.save.tip=Guardar las modificaciones del programa observe.action.quitHelp.tip=Salir de la pantalla de ayuda -observe.action.reasonForDiscard.create.tip=Crear una nueva razón de descarte -observe.action.reasonForDiscard.delete.tip=Eliminar la razón de descarte seleccionada -observe.action.reasonForDiscard.detail.tip=Ver los detalles de la razón de descarte seleccionada -observe.action.reasonForDiscard.modify.tip=Modificar la razón de descarte seleccionada -observe.action.reasonForDiscard.save.tip=Guardar las modificaciones de la razón de descarte -observe.action.reasonForNoFishing.create.tip=Crear un nueva causa de non coup de senne -observe.action.reasonForNoFishing.delete.tip=Eliminar la causa del lance nulo seleccionado -observe.action.reasonForNoFishing.detail.tip=Ver los detalles de la cause del lance nulo seleccionado -observe.action.reasonForNoFishing.modify.tip=Modificar la cuasa del lance nulo seleccionado -observe.action.reasonForNoFishing.save.tip=Guardar las modificaciones -observe.action.reasonForNullSet.create.tip=Crear una nueva causa de lance nulo -observe.action.reasonForNullSet.delete.tip=Eliminar la causa de lance nulo seleccionada -observe.action.reasonForNullSet.detail.tip=Ver los detalles de la causa de lance nulo seleccionado -observe.action.reasonForNullSet.modify.tip=Modificar la causa de lance nulo seleccionado -observe.action.reasonForNullSet.save.tip=Guardar las modificaciones de la causa de lance nulo observe.action.reload.application=Reinicializar la aplicación observe.action.reload.storage=Recargar el origen de datos observe.action.reload.storage.tip=Cerrar y reabrir el origen de datos @@ -375,28 +118,6 @@ observe.action.reloadDefaultConfiguration=Configuración por defecto observe.action.reloadDefaultConfiguration.tip=Restablecer la configuración por defecto observe.action.reloadResources=Recargar las traducciones observe.action.reloadResources.tip=Recargar las traducciones i18n -observe.action.reopen=Reabrir -observe.action.reopen.activity.tip=Reabrir la actividad -observe.action.reopen.maree.tip=Reabrir la marea -observe.action.reopen.route.tip=Reabrir la ruta -observe.action.reopen.selected.activity=Reabrir la actividad -observe.action.reopen.selected.activity.tip=Reabrir la actividad seleccionada -observe.action.reopen.selected.maree=Reabrir la marea -observe.action.reopen.selected.maree.tip=Reabrir la marea seleccionada -observe.action.reopen.selected.route=Reabrir la ruta -observe.action.reopen.selected.route.tip=Reabrir la ruta seleccionada -observe.action.reopen.tip=Reabrir la base de datos -observe.action.reset=Cancelar -observe.action.reset.entry.tip=Cancelar la introducción de datos actual. -observe.action.reset.ersId.tip=Reiniciar Id ERS -observe.action.reset.formsUrl.tip=Reiniciar la URL de los formularios -observe.action.reset.homeId.tip= -observe.action.reset.new.entry.tip=Cancelar la creación de la entrada -observe.action.reset.picturesReferences.tip= -observe.action.reset.reportsUrl.tip=Reiniciar la URL de los informes -observe.action.reset.supportVesselName.tip= -observe.action.reset.tip=Cancelar las modificaciones -observe.action.reset.well.tip= observe.action.restart.application=Reiniciar observe.action.restart.application.tip=Reiniciar la aplicación observe.action.save=Grabar @@ -407,179 +128,215 @@ observe.action.save.to.file=Guardar la base de datos observe.action.save.to.file.tip=Hacer una copia de seguridad de la base de datos abierta observe.action.selectNode=Seleccionar el nodo observe.action.selectNode.tip=Seleccionar el nodo -observe.action.sensorBrand.create.tip= -observe.action.sensorBrand.delete.tip= -observe.action.sensorBrand.detail.tip= -observe.action.sensorBrand.modify.tip= -observe.action.sensorBrand.save.tip= -observe.action.sensorDataFormat.create.tip= -observe.action.sensorDataFormat.delete.tip= -observe.action.sensorDataFormat.detail.tip= -observe.action.sensorDataFormat.modify.tip= -observe.action.sensorDataFormat.save.tip= -observe.action.sensorType.create.tip= -observe.action.sensorType.delete.tip= -observe.action.sensorType.detail.tip= -observe.action.sensorType.modify.tip= -observe.action.sensorType.save.tip= -observe.action.settingShape.create.tip= -observe.action.settingShape.delete.tip= -observe.action.settingShape.detail.tip= -observe.action.settingShape.modify.tip= -observe.action.settingShape.save.tip= -observe.action.sex.create.tip= -observe.action.sex.delete.tip= -observe.action.sex.detail.tip= -observe.action.sex.modify.tip= -observe.action.sex.save.tip= observe.action.show.technical.informations.tip=Ver la información técnica observe.action.show.unique.keys.tip=Ver la tabla de todas las claves métier usadas por este refencial observe.action.show.usages.tip=Ver todos los usos de este referencial observe.action.showConfig.title=Configuración observe.action.site=Sitio web observe.action.site.tip=Acceder al sitio web de la apliación -observe.action.sizeMeasureType.create.tip= -observe.action.sizeMeasureType.delete.tip= -observe.action.sizeMeasureType.detail.tip= -observe.action.sizeMeasureType.modify.tip= -observe.action.sizeMeasureType.save.tip= -observe.action.species.create.tip=Crear una nueva especie de fauna -observe.action.species.delete.tip=Eliminar la especie de fauna seleccionada -observe.action.species.detail.tip=Ver detalles de la especie de fauna seleccionada -observe.action.species.modify.tip=Modificar la especie de fauna seleccionada -observe.action.species.save.tip=Guardar las modificaciones de especie de fauna -observe.action.speciesFate.create.tip=Crear un nuevo objectFate de fauna -observe.action.speciesFate.delete.tip=Eliminar el objectFate de fauna seleccionado -observe.action.speciesFate.detail.tip=Ver detalles de objectFate de fauna seleccionado -observe.action.speciesFate.modify.tip=Modificar el objectFate de fauna seleccionado -observe.action.speciesFate.save.tip=Guardar las modificaciones de objectFate de fauna -observe.action.speciesGroupSpecies.create.tip=Crear un nuevo grupo de especie de fauna -observe.action.speciesGroupSpecies.delete.tip=Eliminar un grupo de especie de fauna seleccionada -observe.action.speciesGroupSpecies.detail.tip=Ver los detalles del grupo de especie de faune seleccionada -observe.action.speciesGroupSpecies.modify.tip=Modificar el grupo de especie de fauna seleccionada -observe.action.speciesGroupSpecies.save.tip=Guardar las modificaciones del grupo de especie de fauna -observe.action.speciesList.create.tip= -observe.action.speciesList.delete.tip= -observe.action.speciesList.detail.tip= -observe.action.speciesList.modify.tip= -observe.action.speciesStatus.create.tip=Crear un nuevo estado de especie -observe.action.speciesStatus.delete.tip=Eliminar el estado de especie seleccionado -observe.action.speciesStatus.detail.tip=Ver los detalles de estado de especie seleccionado -observe.action.speciesStatus.modify.tip=Modificar el estado de especie seleccionado -observe.action.speciesStatus.save.tip=Guardar las modificaciones de estado de especie observe.action.start.h2.web.server=Iniciar modo servidor Web (H2) observe.action.start.h2.web.server.tip=Puesta en marcha del servidor web H2 observe.action.start.server.mode=Iniciar modo servidor observe.action.start.server.mode.tip=Puesta en marcha de la base local en modo servidor -observe.action.stomacFullness.create.tip= -observe.action.stomacFullness.delete.tip= -observe.action.stomacFullness.detail.tip= -observe.action.stomacFullness.modify.tip= -observe.action.stomacFullness.save.tip= observe.action.stop.h2.web.server=Terminar modo servidor Web (H2) observe.action.stop.h2.web.server.tip=Parar el servidor web H2 observe.action.stop.server.mode=Terminar modo servidor observe.action.stop.server.mode.tip=Parar el modo servidor de la base local -observe.action.storage.apply=Utilizar -observe.action.storage.apply.tip=Utilizar el origen de datos configuarado -observe.action.storage.applyAction=Cambiar el origen de datos -observe.action.storage.cancel=Cancelar el cambio del origen de datos -observe.action.storage.cancel.tip=Cancelar el cambio del origen de datos -observe.action.surroundingActivity.create.tip=Crear una nueva actividad circundante -observe.action.surroundingActivity.delete.tip=Eliminar la actividad circundante seleccionada -observe.action.surroundingActivity.detail.tip=Ver los detalles de la actividad circundante seleccionada -observe.action.surroundingActivity.modify.tip=Modificar la actividad circundante seleccionada -observe.action.surroundingActivity.save.tip=Guardar las modificaciones de la actividad circundante -observe.action.synchro.cancel.tip=Cancelar -observe.action.synchro.copy.tip=Copiar el informe en el portapapeles -observe.action.synchro.launch.operation=Comenzar la operación < %1$s > -observe.action.synchro.prepare.operation=Prepara la operación <%1$s> -observe.action.synchro.report.reset.tip=Deseleccionar el informe actual observe.action.test.remote=Comprobar la conexión observe.action.test.remote.tip=Pulsar para comprobar la conexión con el servidor remoto -observe.action.transmittingBuoyOperation.create.tip=Crear una nueva operación de baliza -observe.action.transmittingBuoyOperation.delete.tip=Eliminar la operación de baliza seleccionada -observe.action.transmittingBuoyOperation.detail.tip=Ver los detalles de la operación de baliza seleccionada -observe.action.transmittingBuoyOperation.modify.tip=Modificar la operación de baliza seleccionada -observe.action.transmittingBuoyOperation.save.tip=Guardar las modificaciones de operación de baliza -observe.action.transmittingBuoyType.create.tip=Crear un nuevo tipo de baliza -observe.action.transmittingBuoyType.delete.tip=Eliminar el tipo de baliza seleccionado -observe.action.transmittingBuoyType.detail.tip=Ver los detalles del tipo de baliza seleccionado -observe.action.transmittingBuoyType.modify.tip=Modificar el tipo de baliza seleccionado -observe.action.transmittingBuoyType.save.tip=Guardar las modificaciones del tipo de baliza -observe.action.tripType.create.tip= -observe.action.tripType.delete.tip= -observe.action.tripType.detail.tip= -observe.action.tripType.modify.tip= -observe.action.tripType.save.tip= -observe.action.vessel.create.tip=Crear un nuevo barco -observe.action.vessel.delete.tip=Eliminar el barco seleccionado -observe.action.vessel.detail.tip=Ver los detalles del barco seleccionado -observe.action.vessel.modify.tip=Modificar el barco seleccionado -observe.action.vessel.save.tip=Guardar las modificaciones del barco -observe.action.vesselActivityLongline.create.tip= -observe.action.vesselActivityLongline.delete.tip= -observe.action.vesselActivityLongline.detail.tip= -observe.action.vesselActivityLongline.modify.tip= -observe.action.vesselActivityLongline.save.tip= -observe.action.vesselActivitySeine.create.tip=Crear una nueva actividad del barco -observe.action.vesselActivitySeine.delete.tip=Eliminar la actividad del barco seleccionada -observe.action.vesselActivitySeine.detail.tip=Ver los detalles de la actividad del barco seleccionada -observe.action.vesselActivitySeine.modify.tip=Modificar la actividad del barco seleccionada -observe.action.vesselActivitySeine.save.tip=Guardar las modificaciones de la actividad del barco -observe.action.vesselSizeCategory.create.tip=Crear una nueva categoria de barco -observe.action.vesselSizeCategory.delete.tip=Eliminar la categoria de barco seleccionada -observe.action.vesselSizeCategory.detail.tip=Ver los detalles de la categoria de barco seleccionada -observe.action.vesselSizeCategory.modify.tip=Modificar el barco seleccionado -observe.action.vesselSizeCategory.save.tip=Guardar las modificaciones de la categoria de barco -observe.action.vesselType.create.tip=Crear un nuevo tipo de barco -observe.action.vesselType.delete.tip=Eliminar el tipo de barco seleccioando -observe.action.vesselType.detail.tip=Ver los detalles del tipo de barco seleccionado -observe.action.vesselType.modify.tip=Modificar el tipo de barco seleccionado -observe.action.vesselType.save.tip=Guardar las modificaciones del tipo de barco -observe.action.weightCategory.create.tip=Crear una nueva categoria de peso -observe.action.weightCategory.delete.tip=Eliminar la categoriea de peso seleccionada -observe.action.weightCategory.detail.tip=Ver los detalles de la categoria de peso seleccionada -observe.action.weightCategory.modify.tip=Modificar la categoria de peso seleccionada -observe.action.weightCategory.save.tip=Guardar las modificaciones de la categoria de peso -observe.action.weightMeasureType.create.tip= -observe.action.weightMeasureType.delete.tip= -observe.action.weightMeasureType.detail.tip= -observe.action.weightMeasureType.modify.tip= -observe.action.weightMeasureType.save.tip= -observe.action.wind.create.tip=Crear una nueva velocidad de viento -observe.action.wind.delete.tip=Eliminar la velocidad de viento seleccionada -observe.action.wind.detail.tip=Ver los detalles de velocidad de viento seleccionados -observe.action.wind.modify.tip=Modificar la velocidad de viento seleccionada -observe.action.wind.save.tip=Guardar las modificaciones de velocidad de viento -observe.activityLongline.coordinate= -observe.activityLongline.fpaZone= -observe.activityLongline.message.active.found=Actividad abierta -observe.activityLongline.message.active.found.for.other.trip=Existe una actividad abierta en otra ruta. -observe.activityLongline.message.creating=Actividad en proceso de creación. -observe.activityLongline.message.no.active.found=Ninguna actividad abierta, puede crear una nueva o reabrir una. -observe.activityLongline.message.no.active.found.for.other.trip=Ninguna actividad abierta en esta ruta. -observe.activityLongline.message.not.open=La actividad no está abierta, imposible modificar. -observe.activityLongline.message.updating=Se está modificando la actividad actual. -observe.activityLongline.seaSurfaceTemperature= -observe.activityLongline.timeStamp= -observe.activityLongline.title= -observe.activityLongline.vesselActivityLongline= -observe.activityLonglines.title= -observe.activityObservedSystem.availableObservedSystem= -observe.activityObservedSystem.selectedObservedSystem= -observe.activitySeine.message.active.found=Actividad abierta -observe.activitySeine.message.active.found.for.other.route=Existe una actividad abierta en otra ruta. -observe.activitySeine.message.creating=Actividad en proceso de creación. -observe.activitySeine.message.no.active.found=Ninguna actividad abierta, puede crear una nueva o reabrir una. -observe.activitySeine.message.no.active.found.for.other.route=Ninguna actividad abierta en esta ruta. -observe.activitySeine.message.not.open=La actividad no está abierta, imposible modificar. -observe.activitySeine.message.updating=Se está modificando la actividad actual. -observe.activitySeine.tab.general= -observe.activitySeine.tab.measurements= -observe.activitySeine.title= -observe.activitySeineObservedSystem.title= -observe.activitySeines.title= +observe.actions.config.step= +observe.actions.config.step.description= +observe.actions.consolidate= +observe.actions.consolidate.description= +observe.actions.consolidate.message.activity= +observe.actions.consolidate.message.noChanges= +observe.actions.consolidate.message.operation.done=Operación de calculo de datos terminada en %1$s. +observe.actions.consolidate.message.save.changes=Guardar las modificaciones de la(s) %1$s marea(s) modificada(s). +observe.actions.consolidate.message.trip= +observe.actions.consolidate.step= +observe.actions.consolidate.step.description= +observe.actions.consolidate.title= +observe.actions.consolidate.title.tip= +observe.actions.exportData= +observe.actions.exportData.description= +observe.actions.exportData.message.delete.remote.maree=Eliminación de la marea (%1$s) del programa (%2$s) de la base remota. +observe.actions.exportData.message.not.possible=La exportación no es posible (vea el mensaje anterior). +observe.actions.exportData.message.operation.needFix=Seleccione las mareas a exportar. +observe.actions.exportData.message.prepare.data=Preparación de los datos a exportar... +observe.actions.exportData.message.replicate.maree=Duplicación de la marea (%1$s) del programa (%2$s) hacia la base remota. +observe.actions.exportData.step= +observe.actions.exportData.step.description= +observe.actions.exportData.table.exist.label= +observe.actions.exportData.table.exist.label.tip= +observe.actions.exportData.table.program.label= +observe.actions.exportData.table.program.label.tip= +observe.actions.exportData.table.selected= +observe.actions.exportData.table.selected.tip= +observe.actions.exportData.table.trip.label= +observe.actions.exportData.table.trip.label.tip= +observe.actions.exportData.title= +observe.actions.exportData.title.tip= +observe.actions.operation.configuration=Configuración de las operaciones +observe.actions.operation.message.canceled= +observe.actions.operation.message.done= +observe.actions.operation.message.failed= +observe.actions.operation.message.needFix= +observe.actions.operation.message.running= +observe.actions.operation.message.successed= +observe.actions.operations= +observe.actions.report= +observe.actions.report.config=Configuración de los imformes +observe.actions.report.copy.options= +observe.actions.report.description= +observe.actions.report.report.description= +observe.actions.report.result= +observe.actions.report.select= +observe.actions.report.select.file=Archivo de definición de informes +observe.actions.report.select.file.tip=Elegir el archivo de definición de informes +observe.actions.report.step= +observe.actions.report.step.description= +observe.actions.report.title= +observe.actions.report.title.tip= +observe.actions.report.variables= +observe.actions.saveLocal= +observe.actions.saveLocal.description= +observe.actions.saveLocal.step= +observe.actions.saveLocal.step.description= +observe.actions.selectData.step= +observe.actions.selectData.step.description= +observe.actions.showResume.step= +observe.actions.showResume.step.description= +observe.actions.synchro.cancel.tip=Cancelar +observe.actions.synchro.copy.tip=Copiar el informe en el portapapeles +observe.actions.synchro.data= +observe.actions.synchro.data.actionsToPerform= +observe.actions.synchro.data.copyToLeft.tip= +observe.actions.synchro.data.copyToLeftTask= +observe.actions.synchro.data.copyToRight.tip= +observe.actions.synchro.data.copyToRightTask= +observe.actions.synchro.data.deleteFromLeft.tip= +observe.actions.synchro.data.deleteFromLeftTask= +observe.actions.synchro.data.deleteFromRight.tip= +observe.actions.synchro.data.deleteFromRightTask= +observe.actions.synchro.data.description= +observe.actions.synchro.data.prepare.copyToLeftTask= +observe.actions.synchro.data.prepare.copyToRightTask= +observe.actions.synchro.data.prepare.deleteFromLeftTask= +observe.actions.synchro.data.prepare.deleteFromRightTask= +observe.actions.synchro.data.prepare.skipFromLeftTask= +observe.actions.synchro.data.prepare.skipFromRightTask= +observe.actions.synchro.data.step= +observe.actions.synchro.data.step.description= +observe.actions.synchro.data.title= +observe.actions.synchro.data.title.tip= +observe.actions.synchro.launch.operation=Comenzar la operación < %1$s > +observe.actions.synchro.prepare.operation=Prepara la operación <%1$s> +observe.actions.synchro.referential= +observe.actions.synchro.referential.config.mode= +observe.actions.synchro.referential.copyToLeft.tip= +observe.actions.synchro.referential.copyToLeftTask= +observe.actions.synchro.referential.copyToRight.tip= +observe.actions.synchro.referential.copyToRightTask= +observe.actions.synchro.referential.deleteFromLeft.tip= +observe.actions.synchro.referential.deleteFromLeftTask= +observe.actions.synchro.referential.deleteFromRight.tip= +observe.actions.synchro.referential.deleteFromRightTask= +observe.actions.synchro.referential.desactivateFromLeft.tip= +observe.actions.synchro.referential.desactivateFromLeftTask= +observe.actions.synchro.referential.desactivateFromLeftWithReplace.tip= +observe.actions.synchro.referential.desactivateFromLeftWithReplaceTask= +observe.actions.synchro.referential.desactivateFromRight.tip= +observe.actions.synchro.referential.desactivateFromRightTask= +observe.actions.synchro.referential.desactivateFromRightWithReplace.tip= +observe.actions.synchro.referential.desactivateFromRightWithReplaceTask= +observe.actions.synchro.referential.description= +observe.actions.synchro.referential.launch.operation= +observe.actions.synchro.referential.legacy= +observe.actions.synchro.referential.legacy.description= +observe.actions.synchro.referential.legacy.step= +observe.actions.synchro.referential.legacy.step.description= +observe.actions.synchro.referential.legacy.tip= +observe.actions.synchro.referential.message.apply.done= +observe.actions.synchro.referential.message.build.diff=Construcción del diferencial de referenciales desde\: %1$s +observe.actions.synchro.referential.message.data.leftData.loaded= +observe.actions.synchro.referential.message.data.rightData.loaded= +observe.actions.synchro.referential.message.need.save.for.synchro.operation=La operación de sincronización de referenciales ha generado cambios +observe.actions.synchro.referential.message.need.save.for.validation.operation=la operación de validación de datos ha generado modificaciones. +observe.actions.synchro.referential.message.no.local.modification=No se han modificado datos en la base local, no es necesario guardar. +observe.actions.synchro.referential.message.ref.is.updtodate=El referencial de la base local está actualizado, no se requieren correciones. +observe.actions.synchro.referential.message.referential.leftData.loaded= +observe.actions.synchro.referential.message.referential.rightData.loaded= +observe.actions.synchro.referential.message.referentiel.was.added=Se han añadido los datos al referencial remoto (%1$d objeto(s)) +observe.actions.synchro.referential.message.referentiel.was.modified=Se han modificado los datos en el referencial remoto (%1$d objeto(s)) +observe.actions.synchro.referential.message.referentiel.was.removed=Se han eliminado datos del referencial remoto (%1$d objeto(s)) +observe.actions.synchro.referential.message.referentiel.was.replaced= +observe.actions.synchro.referential.message.saveLocal.skip=No es necesario realizar copia de seguidad de la base local +observe.actions.synchro.referential.message.synchro.local.modification= +observe.actions.synchro.referential.obsolete.entities.list= +observe.actions.synchro.referential.obsolete.entity.fix=Cambiar las referencias del objeto seleccionado +observe.actions.synchro.referential.prepare.copyToLeftTask= +observe.actions.synchro.referential.prepare.copyToRightTask= +observe.actions.synchro.referential.prepare.deleteFromLeftTask= +observe.actions.synchro.referential.prepare.deleteFromRightTask= +observe.actions.synchro.referential.prepare.desactivateFromLeftTask= +observe.actions.synchro.referential.prepare.desactivateFromLeftWithReplaceTask= +observe.actions.synchro.referential.prepare.desactivateFromRightTask= +observe.actions.synchro.referential.prepare.desactivateFromRightWithReplaceTask= +observe.actions.synchro.referential.revertFromRightLeft= +observe.actions.synchro.referential.revertFromRightTask= +observe.actions.synchro.referential.revertToLeft.tip= +observe.actions.synchro.referential.revertToRight.tip= +observe.actions.synchro.referential.safe.entity.to.choose.label= +observe.actions.synchro.referential.skipFromLeftTask= +observe.actions.synchro.referential.skipFromRightTask= +observe.actions.synchro.referential.skipToLeft.tip= +observe.actions.synchro.referential.skipToRight.tip= +observe.actions.synchro.referential.step= +observe.actions.synchro.referential.step.description= +observe.actions.synchro.referential.title= +observe.actions.synchro.referential.title.tip= +observe.actions.synchro.report.reset.tip=Deseleccionar el informe actual +observe.actions.validate= +observe.actions.validate.choose.report.directory=Elegir el directorio de los informes +observe.actions.validate.config=Configuración de la validación +observe.actions.validate.config.report=Informe de validación +observe.actions.validate.continue.with.no.save.report=Continuar sin guardar el informe +observe.actions.validate.description= +observe.actions.validate.invalid.data.list= +observe.actions.validate.message.list= +observe.actions.validate.model.type.all=Datos y referenciales +observe.actions.validate.model.type.all.description=Datos y referenciales +observe.actions.validate.model.type.data=Datos del observador +observe.actions.validate.model.type.data.description=Datos del observador +observe.actions.validate.model.type.referentiel=Referencial +observe.actions.validate.model.type.referentiel.description=Todos los referenciales +observe.actions.validate.report.contextName= +observe.actions.validate.report.entities.with.messages= +observe.actions.validate.report.entity= +observe.actions.validate.report.scopes= +observe.actions.validate.report.title= +observe.actions.validate.save= +observe.actions.validate.save.reportFile= +observe.actions.validate.select.context=Contexto de validación +observe.actions.validate.select.context.tip=Elegir el contexto de validación +observe.actions.validate.select.mode=Tipo de datos a validar +observe.actions.validate.select.mode.tip=Elegir el tipo de datos a validar +observe.actions.validate.select.scope=Nivel de validación +observe.actions.validate.select.scope.tip=Elegir el o los niveles de validación +observe.actions.validate.selected.validators=Número de validadores detectados \: %1$s +observe.actions.validate.step= +observe.actions.validate.step.description= +observe.actions.validate.title= +observe.actions.validate.title.choose.report.directory= +observe.actions.validate.title.tip= +observe.actions.validation.message.detected=Se ha encontrado el validador para el tipo %1$s +observe.actions.validation.message.not.save.report=No hay informe que guardar. +observe.actions.validation.message.nothing.to.do=Los datos son válidos y no necesitan corrección. +observe.actions.validation.message.operation.done=Ha terminado la operación de validación de %1$td/%1$tm/%1$tY à %1$tH\:%1$tM\:%1$ts. +observe.actions.validation.message.operation.needFix=Los datos no son válidos y necesitan ser corregidos. +observe.actions.validation.message.prepare.validators=Detección de validadores +observe.actions.validation.message.save.report=El informe de validación se ha guardado en el archivo %1$s +observe.actions.validation.message.use.storage=Se realizará la validación de %1$s observe.admin.resume.no.operation.done=Ninguna operación realizada observe.admin.resume.operation.canceled=operación cancelada observe.admin.resume.operation.done=operacion realizada @@ -588,151 +345,8 @@ observe.admin.resume.operation.need.fix=la operación nesista correcciones observe.admin.resume.operation.not.started=operación no empezada observe.admin.resume.operation.running=operación en curso... observe.application.config=Configuración de ObServe -observe.baitsComposition.action.create= -observe.baitsComposition.action.create.tip= -observe.baitsComposition.baitSettingStatus= -observe.baitsComposition.baitType= -observe.baitsComposition.individualSize= -observe.baitsComposition.individualWeight= -observe.baitsComposition.proportion= -observe.baitsComposition.proportionSum= -observe.baitsComposition.table.baitSettingStatus= -observe.baitsComposition.table.baitSettingStatus.tip= -observe.baitsComposition.table.baitType= -observe.baitsComposition.table.baitType.tip= -observe.baitsComposition.table.individualSize= -observe.baitsComposition.table.individualSize.tip= -observe.baitsComposition.table.individualWeight= -observe.baitsComposition.table.individualWeight.tip= -observe.baitsComposition.table.proportion= -observe.baitsComposition.table.proportion.tip= -observe.baitsComposition.title= -observe.basket.cant.delete.message= -observe.basket.cant.delete.title= -observe.basket.invalid.nextFloatline1Length= -observe.branchLine.cant.delete.message= -observe.branchLine.cant.delete.title= -observe.branchline.baitHaulingStatus= -observe.branchline.baitSettingStatus= -observe.branchline.baitType= -observe.branchline.comment= -observe.branchline.depthRecorder= -observe.branchline.hookLost= -observe.branchline.hookOffset= -observe.branchline.hookSize= -observe.branchline.hookType= -observe.branchline.message.modified= -observe.branchline.message.modified.but.invalid= -observe.branchline.snapWeight= -observe.branchline.swivelWeight= -observe.branchline.tab.general= -observe.branchline.tab.hookAndBait= -observe.branchline.timeSinceContact= -observe.branchline.timer= -observe.branchline.timerTimeOnBoard= -observe.branchline.title= -observe.branchline.topType= -observe.branchline.traceCutOff= -observe.branchline.tracelineType= -observe.branchline.weightedSnap= -observe.branchline.weightedSwivel= -observe.branchlinesComposition.action.create= -observe.branchlinesComposition.action.create.tip= -observe.branchlinesComposition.length= -observe.branchlinesComposition.proportion= -observe.branchlinesComposition.proportionSum= -observe.branchlinesComposition.table.length= -observe.branchlinesComposition.table.length.tip= -observe.branchlinesComposition.table.proportion= -observe.branchlinesComposition.table.proportion.tip= -observe.branchlinesComposition.table.topType= -observe.branchlinesComposition.table.topType.tip= -observe.branchlinesComposition.table.tracelineType= -observe.branchlinesComposition.table.tracelineType.tip= -observe.branchlinesComposition.title= -observe.branchlinesComposition.topType= -observe.branchlinesComposition.tracelineType= -observe.broughtOnDeck.comment=Sólo las especies subidas a bordo se pueden muestrear. observe.catchAcquisitionModeEnum.GROUPED= observe.catchAcquisitionModeEnum.INDIVIDUAL= -observe.catchLongline.acquisitionMode= -observe.catchLongline.action.addSizeMeasure= -observe.catchLongline.action.addSizeMeasure.tip= -observe.catchLongline.action.addWeightMeasure= -observe.catchLongline.action.addWeightMeasure.tip= -observe.catchLongline.action.create= -observe.catchLongline.action.create.tip= -observe.catchLongline.action.deleteSelectedSizeMeasure= -observe.catchLongline.action.deleteSelectedSizeMeasure.tip= -observe.catchLongline.action.deleteSelectedWeightMeasure= -observe.catchLongline.action.deleteSelectedWeightMeasure.tip= -observe.catchLongline.action.new= -observe.catchLongline.action.new.tip= -observe.catchLongline.action.reset.photoReferences.tip= -observe.catchLongline.availablePredator= -observe.catchLongline.basket= -observe.catchLongline.beatDiameter= -observe.catchLongline.branchline= -observe.catchLongline.catchFateLongline= -observe.catchLongline.catchHealthness= -observe.catchLongline.comment= -observe.catchLongline.count= -observe.catchLongline.depredated= -observe.catchLongline.discardHealthness= -observe.catchLongline.gonadeWeight= -observe.catchLongline.hookPosition=Posición del gancho -observe.catchLongline.hookWhenDiscarded= -observe.catchLongline.locationOnLongline= -observe.catchLongline.maturityStatus= -observe.catchLongline.photoReferences= -observe.catchLongline.predator= -observe.catchLongline.resetBranchline= -observe.catchLongline.resetBranchline.tip= -observe.catchLongline.saveBranchline= -observe.catchLongline.saveBranchline.tip= -observe.catchLongline.section= -observe.catchLongline.selectedPredator= -observe.catchLongline.sex= -observe.catchLongline.speciesCatch= -observe.catchLongline.stomacFullness= -observe.catchLongline.tab.branchline= -observe.catchLongline.tab.caracteristics= -observe.catchLongline.tab.depredated= -observe.catchLongline.tab.foodAndSexual= -observe.catchLongline.tab.sizeMeasures= -observe.catchLongline.tab.weightMeasures= -observe.catchLongline.title= -observe.catchLongline.totalWeight= -observe.catchlongline.table.acquisitionMode= -observe.catchlongline.table.acquisitionMode.tip= -observe.catchlongline.table.basketHaulingId= -observe.catchlongline.table.basketHaulingId.tip= -observe.catchlongline.table.branchlineHaulingId= -observe.catchlongline.table.branchlineHaulingId.tip= -observe.catchlongline.table.catchFateLongline= -observe.catchlongline.table.catchFateLongline.tip= -observe.catchlongline.table.catchHealthness= -observe.catchlongline.table.catchHealthness.tip= -observe.catchlongline.table.comment= -observe.catchlongline.table.comment.tip= -observe.catchlongline.table.count= -observe.catchlongline.table.count.tip= -observe.catchlongline.table.depredated= -observe.catchlongline.table.depredated.tip= -observe.catchlongline.table.discardHealthness= -observe.catchlongline.table.discardHealthness.tip= -observe.catchlongline.table.sectionHaulingId= -observe.catchlongline.table.sectionHaulingId.tip= -observe.catchlongline.table.size= -observe.catchlongline.table.size.tip= -observe.catchlongline.table.sizeMeasureType= -observe.catchlongline.table.sizeMeasureType.tip= -observe.catchlongline.table.speciesCatch= -observe.catchlongline.table.speciesCatch.tip= -observe.catchlongline.table.weight= -observe.catchlongline.table.weight.tip= -observe.catchlongline.table.weightMeasureType= -observe.catchlongline.table.weightMeasureType.tip= observe.choice.cancel=Cancelar observe.choice.confirm.delete=Eliminar observe.choice.continue=Continuar @@ -882,15 +496,6 @@ observe.common.schoolType=Tipo de banco observe.common.scientificLabel=Texto científico observe.common.seaSurfaceTemperature=Temperatura en superficie (°) observe.common.searchMaximum=Velocidad máxima de prospección -observe.common.select.report.file=Archivo de definición de informes -observe.common.select.report.file.tip=Elegir el archivo de definición de informes -observe.common.select.validate.context=Contexto de validación -observe.common.select.validate.context.tip=Elegir el contexto de validación -observe.common.select.validate.mode=Tipo de datos a validar -observe.common.select.validate.mode.tip=Elegir el tipo de datos a validar -observe.common.select.validate.scope=Nivel de validación -observe.common.select.validate.scope.tip=Elegir el o los niveles de validación -observe.common.selected.validators=Número de validadores detectados \: %1$s observe.common.sex=Sexo observe.common.species=Especie observe.common.speciesFate=Devenir de fauna @@ -1038,304 +643,1178 @@ observe.config.ui.showTimeEditorSlider= observe.config.ui.storeRemoteStorage=Para activar la copia de seguridad de la configuración del origen de datos remota observe.config.ui.treeOpenNodes= observe.configuration.description= +observe.content.action.activity=Crear una nueva actividad +observe.content.action.activity.tip=Crear una nueva actividad para la ruta actual +observe.content.action.baitHaulingStatus.create.tip= +observe.content.action.baitHaulingStatus.delete.tip= +observe.content.action.baitHaulingStatus.detail.tip= +observe.content.action.baitHaulingStatus.modify.tip= +observe.content.action.baitHaulingStatus.save.tip= +observe.content.action.baitSettingStatus.create.tip= +observe.content.action.baitSettingStatus.delete.tip= +observe.content.action.baitSettingStatus.detail.tip= +observe.content.action.baitSettingStatus.modify.tip= +observe.content.action.baitSettingStatus.save.tip= +observe.content.action.baitType.create.tip= +observe.content.action.baitType.delete.tip= +observe.content.action.baitType.detail.tip= +observe.content.action.baitType.modify.tip= +observe.content.action.baitType.save.tip= +observe.content.action.catchFateLongline.create.tip= +observe.content.action.catchFateLongline.delete.tip= +observe.content.action.catchFateLongline.detail.tip= +observe.content.action.catchFateLongline.modify.tip= +observe.content.action.catchFateLongline.save.tip= +observe.content.action.closeAndCreate=Cerrar y crear +observe.content.action.closeAndCreate.activity=Actividad siguiente +observe.content.action.closeAndCreate.activity.tip=Cierre de la actividad actual y creación de una nueva +observe.content.action.closeAndCreate.maree=Marea siguiente +observe.content.action.closeAndCreate.maree.tip=Cierre de la marea actual y creación de una nueva +observe.content.action.closeAndCreate.route=Ruta siguiente +observe.content.action.closeAndCreate.route.tip=Cierre de la ruta actual y creación de una nueva +observe.content.action.closeAndCreate.tip= +observe.content.action.country.create.tip= +observe.content.action.country.delete.tip= +observe.content.action.country.detail.tip= +observe.content.action.country.modify.tip= +observe.content.action.country.save.tip= +observe.content.action.create.entry.tip=Crear una nueva entrada +observe.content.action.create.gearUseFeaturesSeine= +observe.content.action.create.gearUseFeaturesSeine.tip= +observe.content.action.create.nonTargetCatch=Insertar esta especie/peso/objectFate +observe.content.action.create.nonTargetCatch.tip=Insertar esta especie/peso/objectFate +observe.content.action.create.nonTargetSample=Insertar este muestreo +observe.content.action.create.nonTargetSample.tip=Insertar muestreo de fauna asociada +observe.content.action.create.objectObservedSpecies= +observe.content.action.create.objectObservedSpecies.tip=Insertar la especie de fauna observada +observe.content.action.create.route=Crear una nueva ruta +observe.content.action.create.route.tip=Crear nueva ruta para la marea actual +observe.content.action.create.schoolEstimate=Insertar estimación +observe.content.action.create.schoolEstimate.tip=Insertar la nueva estimación en la tabla +observe.content.action.create.targetCatch=Insertar esta captura/categoria +observe.content.action.create.targetCatch.tip=Insertar esta captura/categoria +observe.content.action.create.targetDiscarded=Insertar descarte/categoría/razón +observe.content.action.create.targetDiscarded.tip=Insertar descarte/categoría/razón +observe.content.action.create.targetSample=Insertar muestreo +observe.content.action.create.targetSample.tip=Insertar muestreo de atún descartado +observe.content.action.create.targetSampleCapture=Insertar muestreo +observe.content.action.create.targetSampleCapture.tip=Insertar muestreo de atún capturado +observe.content.action.detectionMode.create.tip= +observe.content.action.detectionMode.delete.tip= +observe.content.action.detectionMode.detail.tip= +observe.content.action.detectionMode.modify.tip= +observe.content.action.detectionMode.save.tip= +observe.content.action.encounterType.create.tip= +observe.content.action.encounterType.delete.tip= +observe.content.action.encounterType.detail.tip= +observe.content.action.encounterType.modify.tip= +observe.content.action.encounterType.save.tip= +observe.content.action.fpaZone.create.tip= +observe.content.action.fpaZone.delete.tip= +observe.content.action.fpaZone.detail.tip= +observe.content.action.fpaZone.modify.tip= +observe.content.action.fpaZone.save.tip= +observe.content.action.gear.create.tip= +observe.content.action.gear.delete.tip= +observe.content.action.gear.detail.tip= +observe.content.action.gear.modify.tip= +observe.content.action.gear.save.tip= +observe.content.action.gearCaracteristic.create.tip= +observe.content.action.gearCaracteristic.delete.tip= +observe.content.action.gearCaracteristic.detail.tip= +observe.content.action.gearCaracteristic.modify.tip= +observe.content.action.gearCaracteristic.save.tip= +observe.content.action.gearCaracteristicType.create.tip= +observe.content.action.gearCaracteristicType.delete.tip= +observe.content.action.gearCaracteristicType.detail.tip= +observe.content.action.gearCaracteristicType.modify.tip= +observe.content.action.gearCaracteristicType.save.tip= +observe.content.action.gearUseFeaturesLongline= +observe.content.action.gearUseFeaturesLongline.tip= +observe.content.action.goto.open.activity=Acceder a la actividad abierta +observe.content.action.goto.open.activity.short=Actividad abierta +observe.content.action.goto.open.activity.tip=Acceder a la actividad abierta +observe.content.action.goto.open.maree=Acceder a la marea abierta +observe.content.action.goto.open.other.activity=Acceder a la actividad abierta en otra ruta +observe.content.action.goto.open.other.activity.tip=Accder a la actividad abierta (en otra ruta) +observe.content.action.goto.open.other.maree=Acceder a la marea abierta en otro programa +observe.content.action.goto.open.other.maree.tip=Acceder a la marea abierta (en otro programa) +observe.content.action.goto.open.other.route=Acceder a la ruta abierta en otra marea +observe.content.action.goto.open.other.route.tip=Acceder a la route abierta (en otre marea) +observe.content.action.goto.open.program.short=Programa abierto +observe.content.action.goto.open.program.tip=Acceder al programa abierto +observe.content.action.goto.open.route=Acceder a la route abierta +observe.content.action.goto.open.route.short=Ruta abierta +observe.content.action.goto.open.route.tip=Acceder a la ruta abierta +observe.content.action.goto.open.set.short=Lance abierto +observe.content.action.goto.open.set.tip=Acceder al lance abierto +observe.content.action.goto.open.trip.short=Marea abierta +observe.content.action.goto.open.trip.tip=Acceder a la marea abierta +observe.content.action.goto.selected.activity=Acceder a la actividad +observe.content.action.goto.selected.activity.tip=Acceder a la actividad seleccionada +observe.content.action.goto.selected.maree=Acceder a la marea +observe.content.action.goto.selected.maree.tip=Acceder a la marea seleccionada +observe.content.action.goto.selected.route=Acceder a la ruta +observe.content.action.goto.selected.route.tip=Acceder a la ruta seleccionada +observe.content.action.harbour.create.tip= +observe.content.action.harbour.delete.tip= +observe.content.action.harbour.detail.tip= +observe.content.action.harbour.modify.tip= +observe.content.action.harbour.save.tip= +observe.content.action.healthness.create.tip= +observe.content.action.healthness.delete.tip= +observe.content.action.healthness.detail.tip= +observe.content.action.healthness.modify.tip= +observe.content.action.healthness.save.tip= +observe.content.action.hookPosition.create.tip= +observe.content.action.hookPosition.delete.tip= +observe.content.action.hookPosition.detail.tip= +observe.content.action.hookPosition.modify.tip= +observe.content.action.hookPosition.save.tip= +observe.content.action.hookSize.create.tip= +observe.content.action.hookSize.delete.tip= +observe.content.action.hookSize.detail.tip= +observe.content.action.hookSize.modify.tip= +observe.content.action.hookSize.save.tip= +observe.content.action.hookType.create.tip= +observe.content.action.hookType.delete.tip= +observe.content.action.hookType.detail.tip= +observe.content.action.hookType.modify.tip= +observe.content.action.hookType.save.tip= +observe.content.action.itemHorizontalPosition.create.tip= +observe.content.action.itemHorizontalPosition.delete.tip= +observe.content.action.itemHorizontalPosition.detail.tip= +observe.content.action.itemHorizontalPosition.modify.tip= +observe.content.action.itemHorizontalPosition.save.tip= +observe.content.action.itemVerticalPosition.create.tip= +observe.content.action.itemVerticalPosition.delete.tip= +observe.content.action.itemVerticalPosition.detail.tip= +observe.content.action.itemVerticalPosition.modify.tip= +observe.content.action.itemVerticalPosition.save.tip= +observe.content.action.lengthWeightParameter.create.tip= +observe.content.action.lengthWeightParameter.delete.tip= +observe.content.action.lengthWeightParameter.detail.tip= +observe.content.action.lengthWeightParameter.modify.tip= +observe.content.action.lengthWeightParameter.save.tip= +observe.content.action.lightsticksColor.create.tip= +observe.content.action.lightsticksColor.delete.tip= +observe.content.action.lightsticksColor.detail.tip= +observe.content.action.lightsticksColor.modify.tip= +observe.content.action.lightsticksColor.save.tip= +observe.content.action.lightsticksType.create.tip= +observe.content.action.lightsticksType.delete.tip= +observe.content.action.lightsticksType.detail.tip= +observe.content.action.lightsticksType.modify.tip= +observe.content.action.lightsticksType.save.tip= +observe.content.action.lineType.create.tip= +observe.content.action.lineType.delete.tip= +observe.content.action.lineType.detail.tip= +observe.content.action.lineType.modify.tip= +observe.content.action.lineType.save.tip= +observe.content.action.maturityStatus.create.tip= +observe.content.action.maturityStatus.delete.tip= +observe.content.action.maturityStatus.detail.tip= +observe.content.action.maturityStatus.modify.tip= +observe.content.action.maturityStatus.save.tip= +observe.content.action.mitigationType.create.tip= +observe.content.action.mitigationType.delete.tip= +observe.content.action.mitigationType.detail.tip= +observe.content.action.mitigationType.modify.tip= +observe.content.action.mitigationType.save.tip= +observe.content.action.move.activities= +observe.content.action.move.activities.longline= +observe.content.action.move.activities.longline.tip= +observe.content.action.move.activities.seine= +observe.content.action.move.activities.seine.tip= +observe.content.action.move.activities.tip= +observe.content.action.move.routes= +observe.content.action.move.routes.tip= +observe.content.action.move.trips= +observe.content.action.move.trips.tip= +observe.content.action.objectFate.create.tip= +observe.content.action.objectFate.delete.tip= +observe.content.action.objectFate.detail.tip= +observe.content.action.objectFate.modify.tip= +observe.content.action.objectFate.save.tip= +observe.content.action.objectOperation.create.tip= +observe.content.action.objectOperation.delete.tip= +observe.content.action.objectOperation.detail.tip= +observe.content.action.objectOperation.modify.tip= +observe.content.action.objectOperation.save.tip= +observe.content.action.objectType.create.tip= +observe.content.action.objectType.delete.tip= +observe.content.action.objectType.detail.tip= +observe.content.action.objectType.modify.tip= +observe.content.action.objectType.save.tip= +observe.content.action.observedSystem.create.tip= +observe.content.action.observedSystem.delete.tip= +observe.content.action.observedSystem.detail.tip= +observe.content.action.observedSystem.modify.tip= +observe.content.action.observedSystem.save.tip= +observe.content.action.ocean.create.tip= +observe.content.action.ocean.delete.tip= +observe.content.action.ocean.detail.tip= +observe.content.action.ocean.modify.tip= +observe.content.action.ocean.save.tip= +observe.content.action.openLink.formsUrl.tip=Acceder a los formularios en un navegador web +observe.content.action.openLink.reportsUrl.tip=Acceder a los informes en un navegador web +observe.content.action.organism.create.tip= +observe.content.action.organism.delete.tip= +observe.content.action.organism.detail.tip= +observe.content.action.organism.modify.tip= +observe.content.action.organism.save.tip= +observe.content.action.person.create.tip= +observe.content.action.person.delete.tip= +observe.content.action.person.detail.tip= +observe.content.action.person.modify.tip= +observe.content.action.person.save.tip= +observe.content.action.program.create.tip= +observe.content.action.program.delete.tip= +observe.content.action.program.detail.tip= +observe.content.action.program.modify.tip= +observe.content.action.program.save.tip= +observe.content.action.reasonForDiscard.create.tip= +observe.content.action.reasonForDiscard.delete.tip= +observe.content.action.reasonForDiscard.detail.tip= +observe.content.action.reasonForDiscard.modify.tip= +observe.content.action.reasonForDiscard.save.tip= +observe.content.action.reasonForNoFishing.create.tip= +observe.content.action.reasonForNoFishing.delete.tip= +observe.content.action.reasonForNoFishing.detail.tip= +observe.content.action.reasonForNoFishing.modify.tip= +observe.content.action.reasonForNoFishing.save.tip= +observe.content.action.reasonForNullSet.create.tip= +observe.content.action.reasonForNullSet.delete.tip= +observe.content.action.reasonForNullSet.detail.tip= +observe.content.action.reasonForNullSet.modify.tip= +observe.content.action.reasonForNullSet.save.tip= +observe.content.action.reopen=Reabrir +observe.content.action.reopen.activity.tip=Reabrir la actividad +observe.content.action.reopen.maree.tip=Reabrir la marea +observe.content.action.reopen.route.tip=Reabrir la ruta +observe.content.action.reopen.selected.activity=Reabrir la actividad +observe.content.action.reopen.selected.activity.tip=Reabrir la actividad seleccionada +observe.content.action.reopen.selected.maree=Reabrir la marea +observe.content.action.reopen.selected.maree.tip=Reabrir la marea seleccionada +observe.content.action.reopen.selected.route=Reabrir la ruta +observe.content.action.reopen.selected.route.tip=Reabrir la ruta seleccionada +observe.content.action.reopen.tip=Reabrir la base de datos +observe.content.action.reset=Cancelar +observe.content.action.reset.entry.tip=Cancelar la introducción de datos actual. +observe.content.action.reset.ersId.tip=Reiniciar Id ERS +observe.content.action.reset.formsUrl.tip=Reiniciar la URL de los formularios +observe.content.action.reset.homeId.tip= +observe.content.action.reset.new.entry.tip=Cancelar la creación de la entrada +observe.content.action.reset.picturesReferences.tip= +observe.content.action.reset.reportsUrl.tip=Reiniciar la URL de los informes +observe.content.action.reset.supportVesselName.tip= +observe.content.action.reset.tip=Cancelar las modificaciones +observe.content.action.reset.well.tip= +observe.content.action.sensorBrand.create.tip= +observe.content.action.sensorBrand.delete.tip= +observe.content.action.sensorBrand.detail.tip= +observe.content.action.sensorBrand.modify.tip= +observe.content.action.sensorBrand.save.tip= +observe.content.action.sensorDataFormat.create.tip= +observe.content.action.sensorDataFormat.delete.tip= +observe.content.action.sensorDataFormat.detail.tip= +observe.content.action.sensorDataFormat.modify.tip= +observe.content.action.sensorDataFormat.save.tip= +observe.content.action.sensorType.create.tip= +observe.content.action.sensorType.delete.tip= +observe.content.action.sensorType.detail.tip= +observe.content.action.sensorType.modify.tip= +observe.content.action.sensorType.save.tip= +observe.content.action.settingShape.create.tip= +observe.content.action.settingShape.delete.tip= +observe.content.action.settingShape.detail.tip= +observe.content.action.settingShape.modify.tip= +observe.content.action.settingShape.save.tip= +observe.content.action.sex.create.tip= +observe.content.action.sex.delete.tip= +observe.content.action.sex.detail.tip= +observe.content.action.sex.modify.tip= +observe.content.action.sex.save.tip= +observe.content.action.sizeMeasureType.create.tip= +observe.content.action.sizeMeasureType.delete.tip= +observe.content.action.sizeMeasureType.detail.tip= +observe.content.action.sizeMeasureType.modify.tip= +observe.content.action.sizeMeasureType.save.tip= +observe.content.action.species.create.tip= +observe.content.action.species.delete.tip= +observe.content.action.species.detail.tip= +observe.content.action.species.modify.tip= +observe.content.action.species.save.tip= +observe.content.action.speciesFate.create.tip= +observe.content.action.speciesFate.delete.tip= +observe.content.action.speciesFate.detail.tip= +observe.content.action.speciesFate.modify.tip= +observe.content.action.speciesFate.save.tip= +observe.content.action.speciesGroupSpecies.create.tip= +observe.content.action.speciesGroupSpecies.delete.tip= +observe.content.action.speciesGroupSpecies.detail.tip= +observe.content.action.speciesGroupSpecies.modify.tip= +observe.content.action.speciesGroupSpecies.save.tip= +observe.content.action.speciesList.create.tip= +observe.content.action.speciesList.delete.tip= +observe.content.action.speciesList.detail.tip= +observe.content.action.speciesList.modify.tip= +observe.content.action.speciesStatus.create.tip= +observe.content.action.speciesStatus.delete.tip= +observe.content.action.speciesStatus.detail.tip= +observe.content.action.speciesStatus.modify.tip= +observe.content.action.speciesStatus.save.tip= +observe.content.action.stomacFullness.create.tip= +observe.content.action.stomacFullness.delete.tip= +observe.content.action.stomacFullness.detail.tip= +observe.content.action.stomacFullness.modify.tip= +observe.content.action.stomacFullness.save.tip= +observe.content.action.surroundingActivity.create.tip=Crear una nueva actividad circundante +observe.content.action.surroundingActivity.delete.tip=Eliminar la actividad circundante seleccionada +observe.content.action.surroundingActivity.detail.tip=Ver los detalles de la actividad circundante seleccionada +observe.content.action.surroundingActivity.modify.tip=Modificar la actividad circundante seleccionada +observe.content.action.surroundingActivity.save.tip=Guardar las modificaciones de la actividad circundante +observe.content.action.transmittingBuoyOperation.create.tip=Crear una nueva operación de baliza +observe.content.action.transmittingBuoyOperation.delete.tip=Eliminar la operación de baliza seleccionada +observe.content.action.transmittingBuoyOperation.detail.tip=Ver los detalles de la operación de baliza seleccionada +observe.content.action.transmittingBuoyOperation.modify.tip=Modificar la operación de baliza seleccionada +observe.content.action.transmittingBuoyOperation.save.tip=Guardar las modificaciones de operación de baliza +observe.content.action.transmittingBuoyType.create.tip=Crear un nuevo tipo de baliza +observe.content.action.transmittingBuoyType.delete.tip=Eliminar el tipo de baliza seleccionado +observe.content.action.transmittingBuoyType.detail.tip=Ver los detalles del tipo de baliza seleccionado +observe.content.action.transmittingBuoyType.modify.tip=Modificar el tipo de baliza seleccionado +observe.content.action.transmittingBuoyType.save.tip=Guardar las modificaciones del tipo de baliza +observe.content.action.trip=Crear nueva marea +observe.content.action.trip.tip=Crear nueva marea para el programa actual +observe.content.action.tripType.create.tip= +observe.content.action.tripType.delete.tip= +observe.content.action.tripType.detail.tip= +observe.content.action.tripType.modify.tip= +observe.content.action.tripType.save.tip= +observe.content.action.vessel.create.tip= +observe.content.action.vessel.delete.tip= +observe.content.action.vessel.detail.tip= +observe.content.action.vessel.modify.tip= +observe.content.action.vessel.save.tip= +observe.content.action.vesselActivityLongline.create.tip= +observe.content.action.vesselActivityLongline.delete.tip= +observe.content.action.vesselActivityLongline.detail.tip= +observe.content.action.vesselActivityLongline.modify.tip= +observe.content.action.vesselActivityLongline.save.tip= +observe.content.action.vesselActivitySeine.create.tip= +observe.content.action.vesselActivitySeine.delete.tip= +observe.content.action.vesselActivitySeine.detail.tip= +observe.content.action.vesselActivitySeine.modify.tip= +observe.content.action.vesselActivitySeine.save.tip= +observe.content.action.vesselSizeCategory.create.tip= +observe.content.action.vesselSizeCategory.delete.tip= +observe.content.action.vesselSizeCategory.detail.tip= +observe.content.action.vesselSizeCategory.modify.tip= +observe.content.action.vesselSizeCategory.save.tip= +observe.content.action.vesselType.create.tip= +observe.content.action.vesselType.delete.tip= +observe.content.action.vesselType.detail.tip= +observe.content.action.vesselType.modify.tip= +observe.content.action.vesselType.save.tip= +observe.content.action.weightCategory.create.tip= +observe.content.action.weightCategory.delete.tip= +observe.content.action.weightCategory.detail.tip= +observe.content.action.weightCategory.modify.tip= +observe.content.action.weightCategory.save.tip= +observe.content.action.weightMeasureType.create.tip= +observe.content.action.weightMeasureType.delete.tip= +observe.content.action.weightMeasureType.detail.tip= +observe.content.action.weightMeasureType.modify.tip= +observe.content.action.weightMeasureType.save.tip= +observe.content.action.wind.create.tip=Crear una nueva velocidad de viento +observe.content.action.wind.delete.tip=Eliminar la velocidad de viento seleccionada +observe.content.action.wind.detail.tip=Ver los detalles de velocidad de viento seleccionados +observe.content.action.wind.modify.tip=Modificar la velocidad de viento seleccionada +observe.content.action.wind.save.tip=Guardar las modificaciones de velocidad de viento +observe.content.baitsComposition.action.create= +observe.content.baitsComposition.action.create.tip= +observe.content.baitsComposition.baitSettingStatus= +observe.content.baitsComposition.baitType= +observe.content.baitsComposition.individualSize= +observe.content.baitsComposition.individualWeight= +observe.content.baitsComposition.proportion= +observe.content.baitsComposition.proportionSum= +observe.content.baitsComposition.table.baitSettingStatus= +observe.content.baitsComposition.table.baitSettingStatus.tip= +observe.content.baitsComposition.table.baitType= +observe.content.baitsComposition.table.baitType.tip= +observe.content.baitsComposition.table.individualSize= +observe.content.baitsComposition.table.individualSize.tip= +observe.content.baitsComposition.table.individualWeight= +observe.content.baitsComposition.table.individualWeight.tip= +observe.content.baitsComposition.table.proportion= +observe.content.baitsComposition.table.proportion.tip= +observe.content.baitsComposition.title= +observe.content.basket.cant.delete.message= +observe.content.basket.cant.delete.title= +observe.content.basket.invalid.nextFloatline1Length= +observe.content.branchLine.cant.delete.message= +observe.content.branchLine.cant.delete.title= +observe.content.branchline.baitHaulingStatus= +observe.content.branchline.baitSettingStatus= +observe.content.branchline.baitType= +observe.content.branchline.comment= +observe.content.branchline.depthRecorder= +observe.content.branchline.hookLost= +observe.content.branchline.hookOffset= +observe.content.branchline.hookSize= +observe.content.branchline.hookType= +observe.content.branchline.message.modified= +observe.content.branchline.message.modified.but.invalid= +observe.content.branchline.snapWeight= +observe.content.branchline.swivelWeight= +observe.content.branchline.tab.general= +observe.content.branchline.tab.hookAndBait= +observe.content.branchline.timeSinceContact= +observe.content.branchline.timer= +observe.content.branchline.timerTimeOnBoard= +observe.content.branchline.title= +observe.content.branchline.topType= +observe.content.branchline.traceCutOff= +observe.content.branchline.tracelineType= +observe.content.branchline.weightedSnap= +observe.content.branchline.weightedSwivel= +observe.content.branchlinesComposition.action.create= +observe.content.branchlinesComposition.action.create.tip= +observe.content.branchlinesComposition.length= +observe.content.branchlinesComposition.proportion= +observe.content.branchlinesComposition.proportionSum= +observe.content.branchlinesComposition.table.length= +observe.content.branchlinesComposition.table.length.tip= +observe.content.branchlinesComposition.table.proportion= +observe.content.branchlinesComposition.table.proportion.tip= +observe.content.branchlinesComposition.table.topType= +observe.content.branchlinesComposition.table.topType.tip= +observe.content.branchlinesComposition.table.tracelineType= +observe.content.branchlinesComposition.table.tracelineType.tip= +observe.content.branchlinesComposition.title= +observe.content.branchlinesComposition.topType= +observe.content.branchlinesComposition.tracelineType= +observe.content.broughtOnDeck.comment=Sólo las especies subidas a bordo se pueden muestrear. +observe.content.catchLongline.acquisitionMode= +observe.content.catchLongline.action.addSizeMeasure= +observe.content.catchLongline.action.addSizeMeasure.tip= +observe.content.catchLongline.action.addWeightMeasure= +observe.content.catchLongline.action.addWeightMeasure.tip= +observe.content.catchLongline.action.create= +observe.content.catchLongline.action.create.tip= +observe.content.catchLongline.action.deleteSelectedSizeMeasure= +observe.content.catchLongline.action.deleteSelectedSizeMeasure.tip= +observe.content.catchLongline.action.deleteSelectedWeightMeasure= +observe.content.catchLongline.action.deleteSelectedWeightMeasure.tip= +observe.content.catchLongline.action.new= +observe.content.catchLongline.action.new.tip= +observe.content.catchLongline.action.reset.photoReferences.tip= +observe.content.catchLongline.availablePredator= +observe.content.catchLongline.basket= +observe.content.catchLongline.beatDiameter= +observe.content.catchLongline.branchline= +observe.content.catchLongline.catchFateLongline= +observe.content.catchLongline.catchHealthness= +observe.content.catchLongline.comment= +observe.content.catchLongline.count= +observe.content.catchLongline.depredated= +observe.content.catchLongline.discardHealthness= +observe.content.catchLongline.gonadeWeight= +observe.content.catchLongline.hookPosition=Posición del gancho +observe.content.catchLongline.hookWhenDiscarded= +observe.content.catchLongline.locationOnLongline= +observe.content.catchLongline.maturityStatus= +observe.content.catchLongline.photoReferences= +observe.content.catchLongline.predator= +observe.content.catchLongline.resetBranchline= +observe.content.catchLongline.resetBranchline.tip= +observe.content.catchLongline.saveBranchline= +observe.content.catchLongline.saveBranchline.tip= +observe.content.catchLongline.section= +observe.content.catchLongline.selectedPredator= +observe.content.catchLongline.sex= +observe.content.catchLongline.speciesCatch= +observe.content.catchLongline.stomacFullness= +observe.content.catchLongline.tab.branchline= +observe.content.catchLongline.tab.caracteristics= +observe.content.catchLongline.tab.depredated= +observe.content.catchLongline.tab.foodAndSexual= +observe.content.catchLongline.tab.sizeMeasures= +observe.content.catchLongline.tab.weightMeasures= +observe.content.catchLongline.table.acquisitionMode= +observe.content.catchLongline.table.acquisitionMode.tip= +observe.content.catchLongline.table.basketHaulingId= +observe.content.catchLongline.table.basketHaulingId.tip= +observe.content.catchLongline.table.branchlineHaulingId= +observe.content.catchLongline.table.branchlineHaulingId.tip= +observe.content.catchLongline.table.catchFateLongline= +observe.content.catchLongline.table.catchFateLongline.tip= +observe.content.catchLongline.table.catchHealthness= +observe.content.catchLongline.table.catchHealthness.tip= +observe.content.catchLongline.table.comment= +observe.content.catchLongline.table.comment.tip= +observe.content.catchLongline.table.count= +observe.content.catchLongline.table.count.tip= +observe.content.catchLongline.table.depredated= +observe.content.catchLongline.table.depredated.tip= +observe.content.catchLongline.table.discardHealthness= +observe.content.catchLongline.table.discardHealthness.tip= +observe.content.catchLongline.table.sectionHaulingId= +observe.content.catchLongline.table.sectionHaulingId.tip= +observe.content.catchLongline.table.size= +observe.content.catchLongline.table.size.tip= +observe.content.catchLongline.table.sizeMeasureType= +observe.content.catchLongline.table.sizeMeasureType.tip= +observe.content.catchLongline.table.speciesCatch= +observe.content.catchLongline.table.speciesCatch.tip= +observe.content.catchLongline.table.weight= +observe.content.catchLongline.table.weight.tip= +observe.content.catchLongline.table.weightMeasureType= +observe.content.catchLongline.table.weightMeasureType.tip= +observe.content.catchLongline.title= +observe.content.catchLongline.totalWeight= +observe.content.choose.sensorUsed.title.exportData= +observe.content.choose.sensorUsed.title.importData= +observe.content.choose.tdr.title.exportData= +observe.content.choose.tdr.title.importData= +observe.content.encounter.action.create= +observe.content.encounter.action.create.tip= +observe.content.encounter.count= +observe.content.encounter.distance= +observe.content.encounter.encounterType= +observe.content.encounter.species= +observe.content.encounter.table.count= +observe.content.encounter.table.count.tip= +observe.content.encounter.table.distance= +observe.content.encounter.table.distance.tip= +observe.content.encounter.table.encouterType= +observe.content.encounter.table.encouterType.tip= +observe.content.encounter.table.species= +observe.content.encounter.table.species.tip= +observe.content.encounter.title= +observe.content.floatingObject.message.creating=Objeto en proceso de creación. +observe.content.floatingObject.message.updating=Se está modificando el objeto flotante actual. +observe.content.floatingObject.title= +observe.content.floatingObjectTransmittingBuoyOperation.title= +observe.content.floatlinesComposition.action.create= +observe.content.floatlinesComposition.action.create.tip= +observe.content.floatlinesComposition.length= +observe.content.floatlinesComposition.lineType= +observe.content.floatlinesComposition.proportion= +observe.content.floatlinesComposition.proportionSum= +observe.content.floatlinesComposition.table.length= +observe.content.floatlinesComposition.table.length.tip= +observe.content.floatlinesComposition.table.lineType= +observe.content.floatlinesComposition.table.lineType.tip= +observe.content.floatlinesComposition.table.proportion= +observe.content.floatlinesComposition.table.proportion.tip= +observe.content.floatlinesComposition.title= +observe.content.gear.availableGearCaracteristic= +observe.content.gear.gearCaracteristic= +observe.content.gear.gearCaracteristicType= +observe.content.gear.selectedGearCaracteristic= +observe.content.gear.tab.gearCaracteristic= +observe.content.gear.tab.general= +observe.content.gear.unit= +observe.content.gearUseFeaturesLongline.action.addMeasurement= +observe.content.gearUseFeaturesLongline.action.addMeasurement.tip= +observe.content.gearUseFeaturesLongline.action.deleteSelectedMeasurement= +observe.content.gearUseFeaturesLongline.action.deleteSelectedMeasurement.tip= +observe.content.gearUseFeaturesLongline.comment= +observe.content.gearUseFeaturesLongline.gear= +observe.content.gearUseFeaturesLongline.number= +observe.content.gearUseFeaturesLongline.tab.general= +observe.content.gearUseFeaturesLongline.tab.measurements= +observe.content.gearUseFeaturesLongline.table.comment= +observe.content.gearUseFeaturesLongline.table.comment.tip= +observe.content.gearUseFeaturesLongline.table.gear= +observe.content.gearUseFeaturesLongline.table.gear.tip= +observe.content.gearUseFeaturesLongline.table.gearCaracteristic= +observe.content.gearUseFeaturesLongline.table.gearCaracteristic.tip= +observe.content.gearUseFeaturesLongline.table.number= +observe.content.gearUseFeaturesLongline.table.number.tip= +observe.content.gearUseFeaturesLongline.table.usedInTrip= +observe.content.gearUseFeaturesLongline.table.usedInTrip.tip= +observe.content.gearUseFeaturesLongline.table.value= +observe.content.gearUseFeaturesLongline.table.value.tip= +observe.content.gearUseFeaturesLongline.title= +observe.content.gearUseFeaturesLongline.usedInTrip= +observe.content.gearUseFeaturesSeine.action.addMeasurement= +observe.content.gearUseFeaturesSeine.action.addMeasurement.tip= +observe.content.gearUseFeaturesSeine.action.deleteSelectedMeasurement= +observe.content.gearUseFeaturesSeine.action.deleteSelectedMeasurement.tip= +observe.content.gearUseFeaturesSeine.comment= +observe.content.gearUseFeaturesSeine.gear= +observe.content.gearUseFeaturesSeine.number= +observe.content.gearUseFeaturesSeine.tab.general= +observe.content.gearUseFeaturesSeine.tab.measurements= +observe.content.gearUseFeaturesSeine.table.comment= +observe.content.gearUseFeaturesSeine.table.comment.tip= +observe.content.gearUseFeaturesSeine.table.gear= +observe.content.gearUseFeaturesSeine.table.gear.tip= +observe.content.gearUseFeaturesSeine.table.gearCaracteristic= +observe.content.gearUseFeaturesSeine.table.gearCaracteristic.tip= +observe.content.gearUseFeaturesSeine.table.number= +observe.content.gearUseFeaturesSeine.table.number.tip= +observe.content.gearUseFeaturesSeine.table.usedInTrip= +observe.content.gearUseFeaturesSeine.table.usedInTrip.tip= +observe.content.gearUseFeaturesSeine.table.value= +observe.content.gearUseFeaturesSeine.table.value.tip= +observe.content.gearUseFeaturesSeine.title= +observe.content.gearUseFeaturesSeine.usedInTrip= +observe.content.harbour.coordinates= +observe.content.harbour.locode= +observe.content.harbour.name= +observe.content.hooksComposition.action.create= +observe.content.hooksComposition.action.create.tip= +observe.content.hooksComposition.hookOffset= +observe.content.hooksComposition.hookSize= +observe.content.hooksComposition.hookType= +observe.content.hooksComposition.proportion= +observe.content.hooksComposition.proportionSum= +observe.content.hooksComposition.table.hookOffset= +observe.content.hooksComposition.table.hookOffset.tip= +observe.content.hooksComposition.table.hookSize= +observe.content.hooksComposition.table.hookSize.tip= +observe.content.hooksComposition.table.hookType= +observe.content.hooksComposition.table.hookType.tip= +observe.content.hooksComposition.table.proportion= +observe.content.hooksComposition.table.proportion.tip= +observe.content.hooksComposition.title= +observe.content.label.coefficients.info=Los coeficientes de relaciones son de la forma lastName\=valor y están separados por \: (ejemplo \: a\=1\:b\=2\:c\=3) +observe.content.label.lengthWeightFormula.info=La relación talla-peso permite calcular el peso a partir de la talla, debe contener la variable L +observe.content.label.usage.data.title=Datos '%1$s' (%2$d ocurrencias) +observe.content.label.usage.referentiel.title=Referencial '%1$s' (%2$d ocurrencias) +observe.content.label.weightLengthFormula.info=la relación talla-peso permite calcular la talla a partir del peso, debe contener la varible P +observe.content.lengthWeightParameter.tab.general= +observe.content.lengthWeightParameter.tab.other= +observe.content.list.HookSize= +observe.content.list.HookType= +observe.content.list.baitHaulingStatus= +observe.content.list.baitSettingStatus= +observe.content.list.baitType= +observe.content.list.catchFateLongline= +observe.content.list.country=Paíises registrados +observe.content.list.detectionMode=Modos de detección registradas +observe.content.list.encounterType= +observe.content.list.fpaZone= +observe.content.list.gear= +observe.content.list.gearCaracteristic= +observe.content.list.gearCaracteristicType= +observe.content.list.harbour= +observe.content.list.healthness= +observe.content.list.hookPosition= +observe.content.list.itemHorizontalPosition= +observe.content.list.itemVerticalPosition= +observe.content.list.lengthWeightParameter=Parámetros talla-peso de Fauna +observe.content.list.lightsticksColor= +observe.content.list.lightsticksType= +observe.content.list.lineType= +observe.content.list.maturityStatus= +observe.content.list.mitigationType= +observe.content.list.objectFate=Devenir de objetos registrados +observe.content.list.objectOperation=Operaciones con objeto registradas +observe.content.list.objectType=Tipos de objeto registrado +observe.content.list.observedSystem=Sistemas observados registrados +observe.content.list.ocean=Océanos registrados +observe.content.list.operation=Operaciones de baliza registradas +observe.content.list.organism=Organismos registrados +observe.content.list.person=Observadores registrados +observe.content.list.program=Programas registrados +observe.content.list.reasonForDiscard=Razones de descarte registradas +observe.content.list.reasonForNoFishing=Causas de no pesca registradas +observe.content.list.reasonForNullSet=Causas de lance nulo registradas +observe.content.list.sensorBrand= +observe.content.list.sensorDataFormat= +observe.content.list.sensorType= +observe.content.list.settingShape= +observe.content.list.sex=Sexo registradas +observe.content.list.sizeMeasureType= +observe.content.list.speciesFate=Devenir de fauna registrados +observe.content.list.speciesFaune=Especies de fauna registradas +observe.content.list.speciesGroupSpecies=Grupos de especies de fauna registradas +observe.content.list.speciesList= +observe.content.list.speciesStatus=Estado de especies registradas +observe.content.list.stomacFullness= +observe.content.list.surroundingActivity=Lista de actividades circundantes +observe.content.list.transmittingBuoyType= +observe.content.list.tripType= +observe.content.list.vessel=Lista de barcos registrados +observe.content.list.vesselActivityLongline= +observe.content.list.vesselActivitySeine= +observe.content.list.vesselSizeCategory=Lista de categorías de barcos registrados +observe.content.list.vesselType=Tipos de barco registrados +observe.content.list.weightCategory=Categorías de peso registradas +observe.content.list.weightMeasureType= +observe.content.list.wind=Fuerzas de viento registradas +observe.content.longlineDetailComposition.action.deleteAllSections= +observe.content.longlineDetailComposition.action.deleteAllSections.tip= +observe.content.longlineDetailComposition.action.deleteSelectedBasket= +observe.content.longlineDetailComposition.action.deleteSelectedBasket.tip= +observe.content.longlineDetailComposition.action.deleteSelectedBranchline= +observe.content.longlineDetailComposition.action.deleteSelectedBranchline.tip= +observe.content.longlineDetailComposition.action.deleteSelectedSection= +observe.content.longlineDetailComposition.action.deleteSelectedSection.tip= +observe.content.longlineDetailComposition.action.deleteSelectedSectionTemplate= +observe.content.longlineDetailComposition.action.deleteSelectedSectionTemplate.tip= +observe.content.longlineDetailComposition.action.generateAllSections= +observe.content.longlineDetailComposition.action.generateAllSections.tip= +observe.content.longlineDetailComposition.action.insertAfterSelectedBasket= +observe.content.longlineDetailComposition.action.insertAfterSelectedBasket.tip= +observe.content.longlineDetailComposition.action.insertAfterSelectedBranchline= +observe.content.longlineDetailComposition.action.insertAfterSelectedBranchline.tip= +observe.content.longlineDetailComposition.action.insertAfterSelectedSection= +observe.content.longlineDetailComposition.action.insertAfterSelectedSection.tip= +observe.content.longlineDetailComposition.action.insertBeforeSelectedBasket= +observe.content.longlineDetailComposition.action.insertBeforeSelectedBasket.tip= +observe.content.longlineDetailComposition.action.insertBeforeSelectedBranchline= +observe.content.longlineDetailComposition.action.insertBeforeSelectedBranchline.tip= +observe.content.longlineDetailComposition.action.insertBeforeSelectedSection= +observe.content.longlineDetailComposition.action.insertBeforeSelectedSection.tip= +observe.content.longlineDetailComposition.baskets= +observe.content.longlineDetailComposition.basketsTable.floatline1Length= +observe.content.longlineDetailComposition.basketsTable.floatline1Length.tip= +observe.content.longlineDetailComposition.basketsTable.floatline2Length= +observe.content.longlineDetailComposition.basketsTable.floatline2Length.tip= +observe.content.longlineDetailComposition.basketsTable.haulingIdentifier= +observe.content.longlineDetailComposition.basketsTable.haulingIdentifier.tip= +observe.content.longlineDetailComposition.basketsTable.settingIdentifier= +observe.content.longlineDetailComposition.basketsTable.settingIdentifier.tip= +observe.content.longlineDetailComposition.branchlines= +observe.content.longlineDetailComposition.branchlinesTable.branchlineLength= +observe.content.longlineDetailComposition.branchlinesTable.branchlineLength.tip= +observe.content.longlineDetailComposition.branchlinesTable.haulingIdentifier= +observe.content.longlineDetailComposition.branchlinesTable.haulingIdentifier.tip= +observe.content.longlineDetailComposition.branchlinesTable.settingIdentifier= +observe.content.longlineDetailComposition.branchlinesTable.settingIdentifier.tip= +observe.content.longlineDetailComposition.branchlinesTable.tracelineLength= +observe.content.longlineDetailComposition.branchlinesTable.tracelineLength.tip= +observe.content.longlineDetailComposition.canGenerate= +observe.content.longlineDetailComposition.firstTemplate.template.notCompilant.basketCount= +observe.content.longlineDetailComposition.message.updating= +observe.content.longlineDetailComposition.sectionTemplatesTable.identifier= +observe.content.longlineDetailComposition.sectionTemplatesTable.identifier.tip= +observe.content.longlineDetailComposition.sectionTemplatesTable.value= +observe.content.longlineDetailComposition.sectionTemplatesTable.value.tip= +observe.content.longlineDetailComposition.sections= +observe.content.longlineDetailComposition.sectionsTable.haulingIdentifier= +observe.content.longlineDetailComposition.sectionsTable.haulingIdentifier.tip= +observe.content.longlineDetailComposition.sectionsTable.settingIdentifier= +observe.content.longlineDetailComposition.sectionsTable.settingIdentifier.tip= +observe.content.longlineDetailComposition.sectionsTable.template= +observe.content.longlineDetailComposition.sectionsTable.template.tip= +observe.content.longlineDetailComposition.tab.branchlineDetail= +observe.content.longlineDetailComposition.tab.composition= +observe.content.longlineDetailComposition.tab.generate= +observe.content.longlineDetailComposition.title= +observe.content.longlineDetailComposition.title.section.cant.use.firstTemplate= +observe.content.longlineGlobalComposition.availableMitigationType= +observe.content.longlineGlobalComposition.message.updating= +observe.content.longlineGlobalComposition.mitigationType= +observe.content.longlineGlobalComposition.selectedMitigationType= +observe.content.longlineGlobalComposition.tab.baitsComposition= +observe.content.longlineGlobalComposition.tab.branchlinesComposition= +observe.content.longlineGlobalComposition.tab.floatlinesComposition= +observe.content.longlineGlobalComposition.tab.hooksComposition= +observe.content.longlineGlobalComposition.tab.mitigationType= +observe.content.longlineGlobalComposition.title= +observe.content.map.action.exportPng= +observe.content.map.action.exportPng.tip= +observe.content.map.action.zoomIt= +observe.content.map.action.zoomIt.tip= +observe.content.map.east= +observe.content.map.export.chooseFile.ok= +observe.content.map.export.chooseFile.png= +observe.content.map.export.chooseFile.title= +observe.content.map.export.success= +observe.content.map.legend.hauling= +observe.content.map.legend.setting= +observe.content.map.legend.tripBetweenTwoDays= +observe.content.map.legend.tripDay= +observe.content.map.longLine.activity= +observe.content.map.longLine.activity.hauling.end= +observe.content.map.longLine.activity.hauling.start= +observe.content.map.longLine.activity.interaction= +observe.content.map.longLine.activity.setting.end= +observe.content.map.longLine.activity.setting.start= +observe.content.map.longLine.activity.station= +observe.content.map.longLine.seine.harbour= +observe.content.map.miles= +observe.content.map.north= +observe.content.map.seine.activity= +observe.content.map.seine.activity.inHarbour= +observe.content.map.seine.activity.schoolType.free= +observe.content.map.seine.activity.schoolType.object= +observe.content.map.seine.harbour.departure= +observe.content.map.seine.harbour.landing= +observe.content.map.south= +observe.content.map.waitLoading= +observe.content.map.west= +observe.content.measurement.delete.message= observe.content.mode.create.tip=Objeto en proceso de creación observe.content.mode.read.tip=Objeto no se puede editar observe.content.mode.update.tip=Objeto en proceso de edición -observe.datasynchro.actionsToPerform= -observe.datasynchro.copyToLeftTask= -observe.datasynchro.copyToRightTask= -observe.datasynchro.deleteFromLeftTask= -observe.datasynchro.deleteFromRightTask= -observe.datasynchro.prepare.copyToLeftTask= -observe.datasynchro.prepare.copyToRightTask= -observe.datasynchro.prepare.deleteFromLeftTask= -observe.datasynchro.prepare.deleteFromRightTask= -observe.encounter.action.create= -observe.encounter.action.create.tip= -observe.encounter.count= -observe.encounter.distance= -observe.encounter.encounterType= -observe.encounter.species= -observe.encounter.table.count= -observe.encounter.table.count.tip= -observe.encounter.table.distance= -observe.encounter.table.distance.tip= -observe.encounter.table.encouterType= -observe.encounter.table.encouterType.tip= -observe.encounter.table.species= -observe.encounter.table.species.tip= -observe.encounter.title= +observe.content.nonTargetCatch.message.table.will.delete.nonTargetSample=¡Confirmar la eliminación de los objetos de la copia de seguridad.\!\n\n Las especies siguientes no estarán disponibles en los muestreos\:\n%1$s\nComo consecuencia se suprimiràn los muestreos siguientes \:\n%2$s +observe.content.nonTargetCatch.table.catchWeight=Peso +observe.content.nonTargetCatch.table.catchWeight.tip=Peso estimados (en t) +observe.content.nonTargetCatch.table.comment=Comentario +observe.content.nonTargetCatch.table.comment.tip=Comentario +observe.content.nonTargetCatch.table.deleteExtraMessage=\nLa eliminación de una captura de fauna puede tener como consecuencia la eliminación de muestreo(s) de la especie. +observe.content.nonTargetCatch.table.meanLength=Talla +observe.content.nonTargetCatch.table.meanLength.tip=Talla media (en cm) +observe.content.nonTargetCatch.table.meanWeight=Peso medio +observe.content.nonTargetCatch.table.meanWeight.tip=Peso medio (en Kg) +observe.content.nonTargetCatch.table.reasonForDiscard=Razón del descarte +observe.content.nonTargetCatch.table.reasonForDiscard.tip=Razón del descarte +observe.content.nonTargetCatch.table.speciesFate=Devenir +observe.content.nonTargetCatch.table.speciesFate.tip=Devenir de fauna +observe.content.nonTargetCatch.table.speciesFaune=Especie +observe.content.nonTargetCatch.table.speciesFaune.tip=Especie +observe.content.nonTargetCatch.table.totalCount=Número +observe.content.nonTargetCatch.table.totalCount.tip=Número estimado +observe.content.nonTargetSample.table.count=Grupo de tallas +observe.content.nonTargetSample.table.count.tip=Grupo de tallas +observe.content.nonTargetSample.table.gender=Sexo +observe.content.nonTargetSample.table.gender.tip=Sexo +observe.content.nonTargetSample.table.length=Talla +observe.content.nonTargetSample.table.length.tip=Talla +observe.content.nonTargetSample.table.meanWeight=Peso +observe.content.nonTargetSample.table.meanWeight.tip=Peso del individuo +observe.content.nonTargetSample.table.picturesReferences=Ref. a foto +observe.content.nonTargetSample.table.picturesReferences.tip=Referencia a foto +observe.content.nonTargetSample.table.speciesFaune=Especie +observe.content.nonTargetSample.table.speciesFaune.tip=Especie +observe.content.objectObservedSpecies.table.count=Número +observe.content.objectObservedSpecies.table.count.tip=Número +observe.content.objectObservedSpecies.table.speciesFaune=Especie +observe.content.objectObservedSpecies.table.speciesFaune.tip=Especie +observe.content.objectObservedSpecies.table.speciesStatus=Estado +observe.content.objectObservedSpecies.table.speciesStatus.tip=Estado +observe.content.person.country=Nacionalidad +observe.content.program.tab.general= +observe.content.program.tab.observations= +observe.content.route.message.active.found=Ruta abierta. +observe.content.route.message.active.found.for.other.trip=Existe una ruta abierta en otra marea. +observe.content.route.message.creating=Ruta en proceso de creación. +observe.content.route.message.no.active.found=Ninguna ruta abierta, puede crear una nueva o reabrir una. +observe.content.route.message.no.active.found.for.other.trip= +observe.content.route.message.not.open=la ruta actual no está abierta, no se pueden hacer modificaciones. +observe.content.route.message.updating=Se está modificando la ruta actual. +observe.content.route.title= +observe.content.routes.title= +observe.content.schoolEstimate.table.meanWeight=Peso medio (en Kg) +observe.content.schoolEstimate.table.meanWeight.tip=Peso medio (en Kg) +observe.content.schoolEstimate.table.speciesThon=Especie +observe.content.schoolEstimate.table.speciesThon.tip=Especie de atún (no se puede modificar una vez se haya creado la estimación) +observe.content.schoolEstimate.table.weight=Peso (en t) +observe.content.schoolEstimate.table.weight.tip=Peso (en t) +observe.content.section.cant.delete.message= +observe.content.section.cant.delete.title= +observe.content.sectionTemplate.delete.message= +observe.content.sections.delete.message= +observe.content.sensorUsed.action.create= +observe.content.sensorUsed.action.create.tip= +observe.content.sensorUsed.action.reset.dataLocation.tip= +observe.content.sensorUsed.action.reset.sensorSerialNo.tip= +observe.content.sensorUsed.data= +observe.content.sensorUsed.dataLocation= +observe.content.sensorUsed.dataLocation.tip= +observe.content.sensorUsed.delete.data.message= +observe.content.sensorUsed.deleteData= +observe.content.sensorUsed.deleteData.tip= +observe.content.sensorUsed.exportData= +observe.content.sensorUsed.exportData.tip= +observe.content.sensorUsed.importData= +observe.content.sensorUsed.importData.tip= +observe.content.sensorUsed.message.data.exported= +observe.content.sensorUsed.sensorBrand= +observe.content.sensorUsed.sensorDataFormat= +observe.content.sensorUsed.sensorSerialNo= +observe.content.sensorUsed.sensorType= +observe.content.sensorUsed.table.data= +observe.content.sensorUsed.table.data.tip= +observe.content.sensorUsed.table.dataLocation= +observe.content.sensorUsed.table.dataLocation.tip= +observe.content.sensorUsed.table.sensorBrand= +observe.content.sensorUsed.table.sensorBrand.tip= +observe.content.sensorUsed.table.sensorDataFormat= +observe.content.sensorUsed.table.sensorDataFormat.tip= +observe.content.sensorUsed.table.sensorSerialNo= +observe.content.sensorUsed.table.sensorSerialNo.tip= +observe.content.sensorUsed.table.sensorType= +observe.content.sensorUsed.table.sensorType.tip= +observe.content.sensorUsed.title= +observe.content.setLongline.action.reset.homeId.tip= +observe.content.setLongline.basketsPerSectionCount=Número de cestas por sección +observe.content.setLongline.branchlinesPerBasketCount= +observe.content.setLongline.haulingBreaks= +observe.content.setLongline.haulingDirectionSameAsSetting= +observe.content.setLongline.haulingEndCoordinates= +observe.content.setLongline.haulingEndTimeStamp= +observe.content.setLongline.haulingStartCoordinates= +observe.content.setLongline.haulingStartTimeStamp= +observe.content.setLongline.homeId= +observe.content.setLongline.lightsticksColor= +observe.content.setLongline.lightsticksPerBasketCount= +observe.content.setLongline.lightsticksType= +observe.content.setLongline.lineType= +observe.content.setLongline.maxDepthTargeted= +observe.content.setLongline.message.creating=Lance en proceso de creación. +observe.content.setLongline.message.updating= +observe.content.setLongline.monitored= +observe.content.setLongline.number= +observe.content.setLongline.settingEndCoordinates= +observe.content.setLongline.settingEndTimeStamp= +observe.content.setLongline.settingShape= +observe.content.setLongline.settingStartCoordinates= +observe.content.setLongline.settingStartTimeStamp= +observe.content.setLongline.settingVesselSpeed= +observe.content.setLongline.shooterSpeed= +observe.content.setLongline.shooterUsed= +observe.content.setLongline.snapWeight= +observe.content.setLongline.swivelWeight= +observe.content.setLongline.tab.hauling= +observe.content.setLongline.tab.setting= +observe.content.setLongline.tab.settingCaracteristics= +observe.content.setLongline.timeBetweenHooks= +observe.content.setLongline.title= +observe.content.setLongline.totalBasketsCount= +observe.content.setLongline.totalHooksCount= +observe.content.setLongline.totalSectionsCount= +observe.content.setLongline.weightedSnap= +observe.content.setLongline.weightedSwivel= +observe.content.setSeine.currentDirection= +observe.content.setSeine.currentMeasureDepth= +observe.content.setSeine.currentSpeed= +observe.content.setSeine.endPursingTimeStamp= +observe.content.setSeine.endSetTimeStamp= +observe.content.setSeine.maxGearDepth= +observe.content.setSeine.message.creating=Lance en proceso de creación. +observe.content.setSeine.message.information.schoolType=Tipo de banco calculado a partir de los sistemas observados de su actividad. +observe.content.setSeine.message.no.nonTargetDiscarded=El lance no tiene descartes de fauna. +observe.content.setSeine.message.no.targetCatch=Para los muestreos de atunes capturados, se necesita al menos una captura. +observe.content.setSeine.message.no.targetDiscarded=Para muestreos de atunes, se necesita al menos un descarte de atún izado a bordo. +observe.content.setSeine.message.updating=Se está modificando el lance actual. +observe.content.setSeine.nonTargetDiscarded= +observe.content.setSeine.reasonForNullSet= +observe.content.setSeine.schoolMeanDepth= +observe.content.setSeine.schoolThickness= +observe.content.setSeine.schoolTopDepth= +observe.content.setSeine.schoolType= +observe.content.setSeine.schoolType.not.fill= +observe.content.setSeine.sonarUsed= +observe.content.setSeine.sonarUsedAvantSet=Utilización del sonar antes del lance +observe.content.setSeine.startTime= +observe.content.setSeine.supportVesselName= +observe.content.setSeine.tab.general= +observe.content.setSeine.tab.measurements= +observe.content.setSeine.targetDiscarded= +observe.content.setSeine.title= +observe.content.sizeMeasure.delete.message= +observe.content.species.availableOcean= +observe.content.species.selectedOcean= +observe.content.species.tab.general= +observe.content.species.tab.other= +observe.content.speciesList.availableSpecies= +observe.content.speciesList.selectedSpecies= +observe.content.speciesList.tab.general= +observe.content.speciesList.tab.species= +observe.content.targetCatch.table.comment= +observe.content.targetCatch.table.comment.tip= +observe.content.targetCatch.table.deleteExtraMessage= +observe.content.targetCatch.table.speciesThon= +observe.content.targetCatch.table.speciesThon.tip= +observe.content.targetCatch.table.weight= +observe.content.targetCatch.table.weight.tip= +observe.content.targetCatch.table.weightCategory= +observe.content.targetCatch.table.weightCategory.tip= +observe.content.targetCatch.table.well= +observe.content.targetCatch.table.well.tip= +observe.content.targetDiscarded.message.table.will.delete.targetLength= +observe.content.targetDiscarded.table.broughtOnDeck= +observe.content.targetDiscarded.table.broughtOnDeck.tip= +observe.content.targetDiscarded.table.comment= +observe.content.targetDiscarded.table.comment.tip= +observe.content.targetDiscarded.table.deleteExtraMessage= +observe.content.targetDiscarded.table.reasonForDiscard= +observe.content.targetDiscarded.table.reasonForDiscard.tip= +observe.content.targetDiscarded.table.speciesThon= +observe.content.targetDiscarded.table.speciesThon.tip= +observe.content.targetDiscarded.table.weight= +observe.content.targetDiscarded.table.weight.tip= +observe.content.targetDiscarded.table.weightCategory= +observe.content.targetDiscarded.table.weightCategory.tip= +observe.content.targetSample.table.count= +observe.content.targetSample.table.count.tip= +observe.content.targetSample.table.length= +observe.content.targetSample.table.length.tip= +observe.content.targetSample.table.meanWeight= +observe.content.targetSample.table.meanWeight.tip= +observe.content.targetSample.table.measureType= +observe.content.targetSample.table.measureType.tip= +observe.content.targetSample.table.speciesThon= +observe.content.targetSample.table.speciesThon.tip= +observe.content.targetSample.table.totalWeight= +observe.content.targetSample.table.totalWeight.tip= +observe.content.tdr.action.create= +observe.content.tdr.action.create.tip= +observe.content.tdr.action.reset.dataLocation.tip= +observe.content.tdr.action.reset.homeId.tip= +observe.content.tdr.action.reset.serialNo.tip= +observe.content.tdr.availableSpecies= +observe.content.tdr.basket= +observe.content.tdr.branchline= +observe.content.tdr.data= +observe.content.tdr.dataLocation= +observe.content.tdr.dataLocation.tip= +observe.content.tdr.delete.data.message= +observe.content.tdr.deleteData= +observe.content.tdr.deleteData.tip= +observe.content.tdr.deployementEnd= +observe.content.tdr.deployementStart= +observe.content.tdr.enableTimestamp= +observe.content.tdr.enableTimestamp.tip= +observe.content.tdr.exportData= +observe.content.tdr.exportData.tip= +observe.content.tdr.fishingEnd= +observe.content.tdr.fishingEndDepth= +observe.content.tdr.fishingStart= +observe.content.tdr.fishingStartDepth= +observe.content.tdr.floatline1Length= +observe.content.tdr.floatline2Length= +observe.content.tdr.homeId= +observe.content.tdr.importData= +observe.content.tdr.importData.tip= +observe.content.tdr.itemHorizontalPosition= +observe.content.tdr.itemVerticalPosition= +observe.content.tdr.locationOnLongline= +observe.content.tdr.maxFishingDepth= +observe.content.tdr.meanDeployementDepth= +observe.content.tdr.meanFishingDepth= +observe.content.tdr.medianDeployementDepth= +observe.content.tdr.medianFishingDepth= +observe.content.tdr.minFishingDepth= +observe.content.tdr.section= +observe.content.tdr.selectedSpecies= +observe.content.tdr.sensorBrand= +observe.content.tdr.serialNo= +observe.content.tdr.species= +observe.content.tdr.tab.caracteristics= +observe.content.tdr.tab.keyData= +observe.content.tdr.tab.localisation= +observe.content.tdr.tab.species= +observe.content.tdr.tab.timestamp= +observe.content.tdr.table.data= +observe.content.tdr.table.homeId= +observe.content.tdr.table.homeId.tip= +observe.content.tdr.table.sensorBrand= +observe.content.tdr.table.sensorBrand.tip= +observe.content.tdr.table.serialNo= +observe.content.tdr.table.serialNo.tip= +observe.content.tdr.title= +observe.content.title.HookSizes= +observe.content.title.HookTypes= +observe.content.title.baitHaulingStatuss= +observe.content.title.baitSettingStatuss= +observe.content.title.baitTypes= +observe.content.title.catchFateLonglines= +observe.content.title.country= +observe.content.title.detectionModes= +observe.content.title.encounterTypes= +observe.content.title.fpaZones= +observe.content.title.gearCaracteristicTypes= +observe.content.title.gearCaracteristics= +observe.content.title.gears= +observe.content.title.harbours= +observe.content.title.healthnesss= +observe.content.title.hookPositions= +observe.content.title.itemHorizontalPositions= +observe.content.title.itemVerticalPositions= +observe.content.title.lengthWeightParameters= +observe.content.title.lightsticksColors= +observe.content.title.lightsticksTypes= +observe.content.title.lineTypes= +observe.content.title.maturityStatuss= +observe.content.title.mitigationTypes= +observe.content.title.objectFates= +observe.content.title.objectOperations= +observe.content.title.objectTypes= +observe.content.title.observedSystems= +observe.content.title.oceans= +observe.content.title.organisms= +observe.content.title.persons= +observe.content.title.programs= +observe.content.title.reasonForDiscards= +observe.content.title.reasonForNoFishings= +observe.content.title.reasonForNullSets= +observe.content.title.sensorBrands= +observe.content.title.sensorDataFormats= +observe.content.title.sensorTypes= +observe.content.title.settingShapes= +observe.content.title.sexx= +observe.content.title.sizeMeasureTypes= +observe.content.title.speciesFates= +observe.content.title.speciesGroupSpeciess= +observe.content.title.speciesLists= +observe.content.title.speciesStatuss= +observe.content.title.speciess= +observe.content.title.stomacFullnesss= +observe.content.title.surroundingActivitys= +observe.content.title.transmittingBuoyOperations= +observe.content.title.transmittingBuoyTypes= +observe.content.title.tripTypes= +observe.content.title.vesselActivityLonglines= +observe.content.title.vesselActivitySeines= +observe.content.title.vesselSizeCategoryx= +observe.content.title.vesselTypex= +observe.content.title.vesselx= +observe.content.title.weightCategory= +observe.content.title.weightMeasureTypes= +observe.content.title.windSpeeds= +observe.content.tripLongline.captain= +observe.content.tripLongline.dataEntryOperator= +observe.content.tripLongline.endDate= +observe.content.tripLongline.homeId= +observe.content.tripLongline.message.active.found= +observe.content.tripLongline.message.active.found.for.other.program= +observe.content.tripLongline.message.creating= +observe.content.tripLongline.message.no.active.found= +observe.content.tripLongline.message.not.open= +observe.content.tripLongline.message.updating= +observe.content.tripLongline.observer= +observe.content.tripLongline.ocean= +observe.content.tripLongline.startDate= +observe.content.tripLongline.tab.general= +observe.content.tripLongline.tab.map= +observe.content.tripLongline.title= +observe.content.tripLongline.totalFishingOperationsNumber= +observe.content.tripLongline.tripType= +observe.content.tripLongline.vessel= +observe.content.tripSeine.message.active.found= +observe.content.tripSeine.message.active.found.for.other.program= +observe.content.tripSeine.message.creating= +observe.content.tripSeine.message.no.active.found= +observe.content.tripSeine.message.not.open= +observe.content.tripSeine.message.updating= +observe.content.tripSeine.tab.general= +observe.content.tripSeine.tab.map=Mapa +observe.content.tripSeine.title= +observe.content.vessel.tab.general= +observe.content.vessel.tab.other= +observe.content.weightMeasure.delete.message= observe.entity.message.updating=Se está modificando el objeto actual '%1$s'. observe.error.can.not.create.directory=¡Imposible crear el directorio %1$s\! observe.error.no.activity.6=La actividad con código 6 no se ha encontrado en la base de datos. observe.error.storage.could.not.backup.unsane.local.db= observe.error.storage.could.not.load.local.db= -observe.floatingObject.message.creating=Objeto en proceso de creación. -observe.floatingObject.message.updating=Se está modificando el objeto flotante actual. -observe.floatingObject.title= -observe.floatingObjectTransmittingBuoyOperation.title= -observe.floatlinesComposition.action.create= -observe.floatlinesComposition.action.create.tip= -observe.floatlinesComposition.length= -observe.floatlinesComposition.lineType= -observe.floatlinesComposition.proportion= -observe.floatlinesComposition.proportionSum= -observe.floatlinesComposition.table.length= -observe.floatlinesComposition.table.length.tip= -observe.floatlinesComposition.table.lineType= -observe.floatlinesComposition.table.lineType.tip= -observe.floatlinesComposition.table.proportion= -observe.floatlinesComposition.table.proportion.tip= -observe.floatlinesComposition.title= -observe.gear.availableGearCaracteristic= -observe.gear.gearCaracteristic= -observe.gear.gearCaracteristicType= -observe.gear.selectedGearCaracteristic= -observe.gear.tab.gearCaracteristic= -observe.gear.tab.general= -observe.gear.unit= -observe.gearUseFeaturesLongline.action.addMeasurement= -observe.gearUseFeaturesLongline.action.addMeasurement.tip= -observe.gearUseFeaturesLongline.action.deleteSelectedMeasurement= -observe.gearUseFeaturesLongline.action.deleteSelectedMeasurement.tip= -observe.gearUseFeaturesLongline.comment= -observe.gearUseFeaturesLongline.gear= -observe.gearUseFeaturesLongline.number= -observe.gearUseFeaturesLongline.tab.general= -observe.gearUseFeaturesLongline.tab.measurements= -observe.gearUseFeaturesLongline.table.comment= -observe.gearUseFeaturesLongline.table.comment.tip= -observe.gearUseFeaturesLongline.table.gear= -observe.gearUseFeaturesLongline.table.gear.tip= -observe.gearUseFeaturesLongline.table.gearCaracteristic= -observe.gearUseFeaturesLongline.table.gearCaracteristic.tip= -observe.gearUseFeaturesLongline.table.number= -observe.gearUseFeaturesLongline.table.number.tip= -observe.gearUseFeaturesLongline.table.usedInTrip= -observe.gearUseFeaturesLongline.table.usedInTrip.tip= -observe.gearUseFeaturesLongline.table.value= -observe.gearUseFeaturesLongline.table.value.tip= -observe.gearUseFeaturesLongline.title= -observe.gearUseFeaturesLongline.usedInTrip= -observe.gearUseFeaturesSeine.action.addMeasurement= -observe.gearUseFeaturesSeine.action.addMeasurement.tip= -observe.gearUseFeaturesSeine.action.deleteSelectedMeasurement= -observe.gearUseFeaturesSeine.action.deleteSelectedMeasurement.tip= -observe.gearUseFeaturesSeine.comment= -observe.gearUseFeaturesSeine.gear= -observe.gearUseFeaturesSeine.number= -observe.gearUseFeaturesSeine.tab.general= -observe.gearUseFeaturesSeine.tab.measurements= -observe.gearUseFeaturesSeine.table.comment= -observe.gearUseFeaturesSeine.table.comment.tip= -observe.gearUseFeaturesSeine.table.gear= -observe.gearUseFeaturesSeine.table.gear.tip= -observe.gearUseFeaturesSeine.table.gearCaracteristic= -observe.gearUseFeaturesSeine.table.gearCaracteristic.tip= -observe.gearUseFeaturesSeine.table.number= -observe.gearUseFeaturesSeine.table.number.tip= -observe.gearUseFeaturesSeine.table.usedInTrip= -observe.gearUseFeaturesSeine.table.usedInTrip.tip= -observe.gearUseFeaturesSeine.table.value= -observe.gearUseFeaturesSeine.table.value.tip= -observe.gearUseFeaturesSeine.title= -observe.gearUseFeaturesSeine.usedInTrip= observe.generateHtml.error= -observe.harbour.coordinates= -observe.harbour.locode= -observe.harbour.name= -observe.hooksComposition.action.create= -observe.hooksComposition.action.create.tip= -observe.hooksComposition.hookOffset= -observe.hooksComposition.hookSize= -observe.hooksComposition.hookType= -observe.hooksComposition.proportion= -observe.hooksComposition.proportionSum= -observe.hooksComposition.table.hookOffset= -observe.hooksComposition.table.hookOffset.tip= -observe.hooksComposition.table.hookSize= -observe.hooksComposition.table.hookSize.tip= -observe.hooksComposition.table.hookType= -observe.hooksComposition.table.hookType.tip= -observe.hooksComposition.table.proportion= -observe.hooksComposition.table.proportion.tip= -observe.hooksComposition.title= observe.info.selected.validators=Es necesario seleccionar un validador para continuar. observe.info.validation.credentials=Para validar el referencial (resp. los datos), debe tener los derechos de lectura y escritura correspondientes. observe.init.local.db.detected=%1$s detectado. observe.init.no.initial.dump.detected=Base empotrada %1$s no detectada. observe.init.no.local.db.detected=Base local %1$s no detectada. observe.init.storage.done=Inicialización del servicio de persistencia terminado. -observe.label.coefficients.info=Los coeficientes de relaciones son de la forma lastName\=valor y están separados por \: (ejemplo \: a\=1\:b\=2\:c\=3) -observe.label.lengthWeightFormula.info=La relación talla-peso permite calcular el peso a partir de la talla, debe contener la variable L -observe.label.usage.data.title=Datos '%1$s' (%2$d ocurrencias) -observe.label.usage.referentiel.title=Referencial '%1$s' (%2$d ocurrencias) -observe.label.weightLengthFormula.info=la relación talla-peso permite calcular la talla a partir del peso, debe contener la varible P -observe.lengthWeightParameter.tab.general= -observe.lengthWeightParameter.tab.other= -observe.list.HookSize= -observe.list.HookType= -observe.list.baitHaulingStatus= -observe.list.baitSettingStatus= -observe.list.baitType= -observe.list.catchFateLongline= -observe.list.country=Paíises registrados -observe.list.detectionMode=Modos de detección registradas -observe.list.encounterType= -observe.list.fpaZone= -observe.list.gear= -observe.list.gearCaracteristic= -observe.list.gearCaracteristicType= -observe.list.harbour= -observe.list.healthness= -observe.list.hookPosition= -observe.list.itemHorizontalPosition= -observe.list.itemVerticalPosition= -observe.list.lengthWeightParameter=Parámetros talla-peso de Fauna -observe.list.lightsticksColor= -observe.list.lightsticksType= -observe.list.lineType= -observe.list.maturityStatus= -observe.list.mitigationType= -observe.list.objectFate=Devenir de objetos registrados -observe.list.objectOperation=Operaciones con objeto registradas -observe.list.objectType=Tipos de objeto registrado -observe.list.observedSystem=Sistemas observados registrados -observe.list.ocean=Océanos registrados -observe.list.operation=Operaciones de baliza registradas -observe.list.organism=Organismos registrados -observe.list.person=Observadores registrados -observe.list.program=Programas registrados -observe.list.reasonForDiscard=Razones de descarte registradas -observe.list.reasonForNoFishing=Causas de no pesca registradas -observe.list.reasonForNullSet=Causas de lance nulo registradas -observe.list.sensorBrand= -observe.list.sensorDataFormat= -observe.list.sensorType= -observe.list.settingShape= -observe.list.sex=Sexo registradas -observe.list.sizeMeasureType= -observe.list.speciesFate=Devenir de fauna registrados -observe.list.speciesFaune=Especies de fauna registradas -observe.list.speciesGroupSpecies=Grupos de especies de fauna registradas -observe.list.speciesList= -observe.list.speciesStatus=Estado de especies registradas -observe.list.stomacFullness= -observe.list.surroundingActivity=Lista de actividades circundantes -observe.list.transmittingBuoyType= -observe.list.tripType= -observe.list.vessel=Lista de barcos registrados -observe.list.vesselActivityLongline= -observe.list.vesselActivitySeine= -observe.list.vesselSizeCategory=Lista de categorías de barcos registrados -observe.list.vesselType=Tipos de barco registrados -observe.list.weightCategory=Categorías de peso registradas -observe.list.weightMeasureType= -observe.list.wind=Fuerzas de viento registradas -observe.longlineDetailComposition.action.deleteAllSections= -observe.longlineDetailComposition.action.deleteAllSections.tip= -observe.longlineDetailComposition.action.deleteSelectedBasket= -observe.longlineDetailComposition.action.deleteSelectedBasket.tip= -observe.longlineDetailComposition.action.deleteSelectedBranchline= -observe.longlineDetailComposition.action.deleteSelectedBranchline.tip= -observe.longlineDetailComposition.action.deleteSelectedSection= -observe.longlineDetailComposition.action.deleteSelectedSection.tip= -observe.longlineDetailComposition.action.deleteSelectedSectionTemplate= -observe.longlineDetailComposition.action.deleteSelectedSectionTemplate.tip= -observe.longlineDetailComposition.action.generateAllSections= -observe.longlineDetailComposition.action.generateAllSections.tip= -observe.longlineDetailComposition.action.insertAfterSelectedBasket= -observe.longlineDetailComposition.action.insertAfterSelectedBasket.tip= -observe.longlineDetailComposition.action.insertAfterSelectedBranchline= -observe.longlineDetailComposition.action.insertAfterSelectedBranchline.tip= -observe.longlineDetailComposition.action.insertAfterSelectedSection= -observe.longlineDetailComposition.action.insertAfterSelectedSection.tip= -observe.longlineDetailComposition.action.insertBeforeSelectedBasket= -observe.longlineDetailComposition.action.insertBeforeSelectedBasket.tip= -observe.longlineDetailComposition.action.insertBeforeSelectedBranchline= -observe.longlineDetailComposition.action.insertBeforeSelectedBranchline.tip= -observe.longlineDetailComposition.action.insertBeforeSelectedSection= -observe.longlineDetailComposition.action.insertBeforeSelectedSection.tip= -observe.longlineDetailComposition.baskets= -observe.longlineDetailComposition.basketsTable.floatline1Length= -observe.longlineDetailComposition.basketsTable.floatline1Length.tip= -observe.longlineDetailComposition.basketsTable.floatline2Length= -observe.longlineDetailComposition.basketsTable.floatline2Length.tip= -observe.longlineDetailComposition.basketsTable.haulingIdentifier= -observe.longlineDetailComposition.basketsTable.haulingIdentifier.tip= -observe.longlineDetailComposition.basketsTable.settingIdentifier= -observe.longlineDetailComposition.basketsTable.settingIdentifier.tip= -observe.longlineDetailComposition.branchlines= -observe.longlineDetailComposition.branchlinesTable.branchlineLength= -observe.longlineDetailComposition.branchlinesTable.branchlineLength.tip= -observe.longlineDetailComposition.branchlinesTable.haulingIdentifier= -observe.longlineDetailComposition.branchlinesTable.haulingIdentifier.tip= -observe.longlineDetailComposition.branchlinesTable.settingIdentifier= -observe.longlineDetailComposition.branchlinesTable.settingIdentifier.tip= -observe.longlineDetailComposition.branchlinesTable.tracelineLength= -observe.longlineDetailComposition.branchlinesTable.tracelineLength.tip= -observe.longlineDetailComposition.canGenerate= -observe.longlineDetailComposition.firstTemplate.template.notCompilant.basketCount= -observe.longlineDetailComposition.message.updating= -observe.longlineDetailComposition.sectionTemplatesTable.identifier= -observe.longlineDetailComposition.sectionTemplatesTable.identifier.tip= -observe.longlineDetailComposition.sectionTemplatesTable.value= -observe.longlineDetailComposition.sectionTemplatesTable.value.tip= -observe.longlineDetailComposition.sections= -observe.longlineDetailComposition.sectionsTable.haulingIdentifier= -observe.longlineDetailComposition.sectionsTable.haulingIdentifier.tip= -observe.longlineDetailComposition.sectionsTable.settingIdentifier= -observe.longlineDetailComposition.sectionsTable.settingIdentifier.tip= -observe.longlineDetailComposition.sectionsTable.template= -observe.longlineDetailComposition.sectionsTable.template.tip= -observe.longlineDetailComposition.tab.branchlineDetail= -observe.longlineDetailComposition.tab.composition= -observe.longlineDetailComposition.tab.generate= -observe.longlineDetailComposition.title= -observe.longlineDetailComposition.title.section.cant.use.firstTemplate= -observe.longlineGlobalComposition.availableMitigationType= -observe.longlineGlobalComposition.message.updating= -observe.longlineGlobalComposition.mitigationType= -observe.longlineGlobalComposition.selectedMitigationType= -observe.longlineGlobalComposition.tab.baitsComposition= -observe.longlineGlobalComposition.tab.branchlinesComposition= -observe.longlineGlobalComposition.tab.floatlinesComposition= -observe.longlineGlobalComposition.tab.hooksComposition= -observe.longlineGlobalComposition.tab.mitigationType= -observe.longlineGlobalComposition.title= -observe.map.action.exportPng= -observe.map.action.exportPng.tip= -observe.map.action.zoomIt= -observe.map.action.zoomIt.tip= -observe.map.east= -observe.map.export.chooseFile.ok= -observe.map.export.chooseFile.png= -observe.map.export.chooseFile.title= -observe.map.export.success= -observe.map.legend.hauling= -observe.map.legend.setting= -observe.map.legend.tripBetweenTwoDays= -observe.map.legend.tripDay= -observe.map.longLine.activity= -observe.map.longLine.activity.hauling.end= -observe.map.longLine.activity.hauling.start= -observe.map.longLine.activity.interaction= -observe.map.longLine.activity.setting.end= -observe.map.longLine.activity.setting.start= -observe.map.longLine.activity.station= -observe.map.longLine.seine.harbour= -observe.map.miles= -observe.map.north= -observe.map.seine.activity= -observe.map.seine.activity.inHarbour= -observe.map.seine.activity.schoolType.free= -observe.map.seine.activity.schoolType.object= -observe.map.seine.harbour.departure= -observe.map.seine.harbour.landing= -observe.map.south= -observe.map.waitLoading= -observe.map.west= -observe.measurement.delete.message= observe.menu.actions=Acciones observe.menu.application.locale=Aplicación observe.menu.configuration=Configuración @@ -1344,21 +1823,17 @@ observe.menu.db.locale=Referencial observe.menu.file=Archivo observe.menu.help=Ayuda observe.menu.locale=Idiomas +observe.menu.move.activityLongline= +observe.menu.move.activitySeine= +observe.menu.move.route= +observe.menu.move.trip= observe.menu.navigation=Navegación observe.menu.storage=Origen de datos observe.message.can.not.write.data=No tiene autorización para escribir los datos de observadores en este origen de datos. observe.message.cant.add.echantillonRejetThon=Imposible añadir los muestreos de descartes de atunes (no hay descartes de atunes izados a bordo). observe.message.cant.add.echantillonTargetCatch=Imposible añadir los muestreos de atunes (no hay captura de atunes) observe.message.cant.add.nonTargetSample=Imposible añadir los muestreos (no hay descartes de fauna -observe.message.consolidate.activity= -observe.message.consolidate.noChanges= -observe.message.consolidate.operation.done=Operación de calculo de datos terminada en %1$s. -observe.message.consolidate.save.changes=Guardar las modificaciones de la(s) %1$s marea(s) modificada(s). -observe.message.consolidate.trip= observe.message.creating.referentiel=Objeto en proceso de creación. -observe.message.datasynchro.leftData.loaded= -observe.message.datasynchro.ready= -observe.message.datasynchro.rightData.loaded= observe.message.db.closed=%1$s ha sido cerrado observe.message.db.loaded=%1$s cargado observe.message.db.loading=%1$s cargando @@ -1367,11 +1842,6 @@ observe.message.db.none.loaded.tip=No hay origen de datos cargado... observe.message.delete=Confirmar la eliminación del objeto \:\n\n '%1$s' - '%2$s'\n observe.message.delete.directory=Eliminación del directorio %1$s observe.message.delete.new=Confirme la eliminación del objeto \:\n\n '%1$s'\n -observe.message.exportData.delete.remote.maree=Eliminación de la marea (%1$s) del programa (%2$s) de la base remota. -observe.message.exportData.not.possible=La exportación no es posible (vea el mensaje anterior). -observe.message.exportData.operation.needFix=Seleccione las mareas a exportar. -observe.message.exportData.prepare.data=Preparación de los datos a exportar... -observe.message.exportData.replicate.maree=Duplicación de la marea (%1$s) del programa (%2$s) hacia la base remota. observe.message.goto.site=Acceder al sitio de d'Observe (%1$s) observe.message.h2.server.login=Iniciar sesión observe.message.h2.server.password=Contraseña @@ -1403,85 +1873,21 @@ observe.message.show.usage.for.desactivated=El referencial %1$s "%2$s" se desact 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. observe.message.show.usages=Listas de usos de referenciales %1$s \: '%2$s' -observe.message.synchro.apply.done= -observe.message.synchro.build.diff=Construcción del diferencial de referenciales desde\: %1$s -observe.message.synchro.local.modification=Los datos que han sido modificados en la base local deben ser guardados. -observe.message.synchro.no.local.modification=No se han modificado datos en la base local, no es necesario guardar. -observe.message.synchro.operation.canceled=Operación cancelada -observe.message.synchro.operation.done=Operación terminada el %1$td/%1$tm/%1$tY à %1$tH\:%1$tM\:%1$tS -observe.message.synchro.operation.failed=Error en la operación -observe.message.synchro.operation.needFix=La operación requiere corecciones. -observe.message.synchro.ref.is.updtodate=El referencial de la base local está actualizado, no se requieren correciones. -observe.message.synchro.referentiel.was.added=Se han añadido los datos al referencial remoto (%1$d objeto(s)) -observe.message.synchro.referentiel.was.modified=Se han modificado los datos en el referencial remoto (%1$d objeto(s)) -observe.message.synchro.referentiel.was.removed=Se han eliminado datos del referencial remoto (%1$d objeto(s)) -observe.message.synchro.referentiel.was.replaced= observe.message.table.editBean.modified=El registro actual se ha modificado y es válido. observe.message.table.editBean.modified.but.invalid=El registro actual se ha modificado pero no es válido. observe.message.updating.floatingObject= observe.message.updating.referentiel=Se está actualizando el objeto. -observe.message.validation.detected=Se ha encontrado el validador para el tipo %1$s -observe.message.validation.not.save.report=No hay informe que guardar. -observe.message.validation.nothing.to.do=Los datos son válidos y no necesitan corrección. -observe.message.validation.operation.done=Ha terminado la operación de validación de %1$td/%1$tm/%1$tY à %1$tH\:%1$tM\:%1$ts. -observe.message.validation.operation.needFix=Los datos no son válidos y necesitan ser corregidos. -observe.message.validation.prepare.validators=Detección de validadores -observe.message.validation.save.report=El informe de validación se ha guardado en el archivo %1$s -observe.message.validation.use.storage=Se realizará la validación de %1$s observe.message.warning.will.be.delete=%1$s\n\nAtención, la exportación reemplazará la marea existente. observe.modeSaisieEchantillonEnum.byEffectif=Entrada por grupo de tallas observe.modeSaisieEchantillonEnum.byIndividu=Entrada por individuo observe.model.version= -observe.navigationMenu.move.activityLongline= -observe.navigationMenu.move.activitySeine= -observe.navigationMenu.move.route= -observe.navigationMenu.move.trip= observe.navigationMenu.noAction= -observe.nonTargetCatch.message.table.will.delete.nonTargetSample=¡Confirmar la eliminación de los objetos de la copia de seguridad.\!\n\n Las especies siguientes no estarán disponibles en los muestreos\:\n%1$s\nComo consecuencia se suprimiràn los muestreos siguientes \:\n%2$s -observe.nonTargetCatch.table.catchWeight=Peso -observe.nonTargetCatch.table.catchWeight.tip=Peso estimados (en t) -observe.nonTargetCatch.table.comment=Comentario -observe.nonTargetCatch.table.comment.tip=Comentario -observe.nonTargetCatch.table.deleteExtraMessage=\nLa eliminación de una captura de fauna puede tener como consecuencia la eliminación de muestreo(s) de la especie. -observe.nonTargetCatch.table.meanLength=Talla -observe.nonTargetCatch.table.meanLength.tip=Talla media (en cm) -observe.nonTargetCatch.table.meanWeight=Peso medio -observe.nonTargetCatch.table.meanWeight.tip=Peso medio (en Kg) -observe.nonTargetCatch.table.reasonForDiscard=Razón del descarte -observe.nonTargetCatch.table.reasonForDiscard.tip=Razón del descarte -observe.nonTargetCatch.table.speciesFate=Devenir -observe.nonTargetCatch.table.speciesFate.tip=Devenir de fauna -observe.nonTargetCatch.table.speciesFaune=Especie -observe.nonTargetCatch.table.speciesFaune.tip=Especie -observe.nonTargetCatch.table.totalCount=Número -observe.nonTargetCatch.table.totalCount.tip=Número estimado -observe.nonTargetSample.table.count=Grupo de tallas -observe.nonTargetSample.table.count.tip=Grupo de tallas -observe.nonTargetSample.table.gender=Sexo -observe.nonTargetSample.table.gender.tip=Sexo -observe.nonTargetSample.table.length=Talla -observe.nonTargetSample.table.length.tip=Talla -observe.nonTargetSample.table.meanWeight=Peso -observe.nonTargetSample.table.meanWeight.tip=Peso del individuo -observe.nonTargetSample.table.picturesReferences=Ref. a foto -observe.nonTargetSample.table.picturesReferences.tip=Referencia a foto -observe.nonTargetSample.table.speciesFaune=Especie -observe.nonTargetSample.table.speciesFaune.tip=Especie -observe.objectObservedSpecies.table.count=Número -observe.objectObservedSpecies.table.count.tip=Número -observe.objectObservedSpecies.table.speciesFaune=Especie -observe.objectObservedSpecies.table.speciesFaune.tip=Especie -observe.objectObservedSpecies.table.speciesStatus=Estado -observe.objectObservedSpecies.table.speciesStatus.tip=Estado observe.obstuna.action.create=Creación de Obstuna observe.obstuna.action.create.description=Creación de una nueva base remota Obstuna observe.obstuna.action.security=Actualización de seguridad de Obstuna observe.obstuna.action.security.description=Actualización de securidad de una base remota Obstuna observe.obstuna.action.update=Actualización de Obstuna observe.obstuna.action.update.description=Actualización de una base remota Obstuna -observe.person.country=Nacionalidad -observe.program.tab.general= -observe.program.tab.observations= observe.programObservationEnum.value0=no observado observe.programObservationEnum.value1=observado observe.programObservationEnum.value2=valor 2 no definido @@ -1492,15 +1898,6 @@ observe.programObservationEnum.value6=valor 6 no definido observe.programObservationEnum.value7=valor 7 no definido observe.programObservationEnum.value8=valor 8 no definido observe.programObservationEnum.value9=valor 9 no definido -observe.route.message.active.found=Ruta abierta. -observe.route.message.active.found.for.other.trip=Existe una ruta abierta en otra marea. -observe.route.message.creating=Ruta en proceso de creación. -observe.route.message.no.active.found=Ninguna ruta abierta, puede crear una nueva o reabrir una. -observe.route.message.no.active.found.for.other.trip= -observe.route.message.not.open=la ruta actual no está abierta, no se pueden hacer modificaciones. -observe.route.message.updating=Se está modificando la ruta actual. -observe.route.title= -observe.routes.title= observe.runner.config.loaded=Configuración de Observe v. %1$s cargada. observe.runner.config.migrate.file=El fichero de configuración %1$s ha sido reemplazado por \n%2$s\nvers\n%3$s observe.runner.context.loaded=Finlazada la inicialización del contexto en %1$s. @@ -1519,16 +1916,6 @@ observe.runner.quit.withno.ui=Cierre de la aplicación sin abrir la interfaz gr observe.runner.start=Inicio de ObServe %1$s %2$s observe.runner.ui.loaded=Finalizada la inicialización de la interfaz gráfica observe.runner.user.directories.loaded=Se ha inicializado el directorio del usuario (%1$s). -observe.schoolEstimate.table.meanWeight=Peso medio (en Kg) -observe.schoolEstimate.table.meanWeight.tip=Peso medio (en Kg) -observe.schoolEstimate.table.speciesThon=Especie -observe.schoolEstimate.table.speciesThon.tip=Especie de atún (no se puede modificar una vez se haya creado la estimación) -observe.schoolEstimate.table.weight=Peso (en t) -observe.schoolEstimate.table.weight.tip=Peso (en t) -observe.section.cant.delete.message= -observe.section.cant.delete.title= -observe.sectionTemplate.delete.message= -observe.sections.delete.message= observe.security.referentiel=Referencial observe.security.referentiel.tip=Tiene permiso de solo lectura sobre el referencial (ningún permiso sobre los datos) observe.security.role=Rol @@ -1539,114 +1926,47 @@ observe.security.unused=No utilizado observe.security.unused.tip=No usar este rol observe.security.utilisateur=Usuario observe.security.utilisateur.tip=El rol tiene permisos de lectura sobre el referencial y los datos -observe.sensorUsed.action.create= -observe.sensorUsed.action.create.tip= -observe.sensorUsed.action.reset.dataLocation.tip= -observe.sensorUsed.action.reset.sensorSerialNo.tip= -observe.sensorUsed.data= -observe.sensorUsed.dataLocation= -observe.sensorUsed.dataLocation.tip= -observe.sensorUsed.delete.data.message= -observe.sensorUsed.deleteData= -observe.sensorUsed.deleteData.tip= -observe.sensorUsed.exportData= -observe.sensorUsed.exportData.tip= -observe.sensorUsed.importData= -observe.sensorUsed.importData.tip= -observe.sensorUsed.message.data.exported= -observe.sensorUsed.sensorBrand= -observe.sensorUsed.sensorDataFormat= -observe.sensorUsed.sensorSerialNo= -observe.sensorUsed.sensorType= -observe.sensorUsed.table.data= -observe.sensorUsed.table.data.tip= -observe.sensorUsed.table.dataLocation= -observe.sensorUsed.table.dataLocation.tip= -observe.sensorUsed.table.sensorBrand= -observe.sensorUsed.table.sensorBrand.tip= -observe.sensorUsed.table.sensorDataFormat= -observe.sensorUsed.table.sensorDataFormat.tip= -observe.sensorUsed.table.sensorSerialNo= -observe.sensorUsed.table.sensorSerialNo.tip= -observe.sensorUsed.table.sensorType= -observe.sensorUsed.table.sensorType.tip= -observe.sensorUsed.title= -observe.setLongline.action.reset.homeId.tip= -observe.setLongline.basketsPerSectionCount=Número de cestas por sección -observe.setLongline.branchlinesPerBasketCount= -observe.setLongline.haulingBreaks= -observe.setLongline.haulingDirectionSameAsSetting= -observe.setLongline.haulingEndCoordinates= -observe.setLongline.haulingEndTimeStamp= -observe.setLongline.haulingStartCoordinates= -observe.setLongline.haulingStartTimeStamp= -observe.setLongline.homeId= -observe.setLongline.lightsticksColor= -observe.setLongline.lightsticksPerBasketCount= -observe.setLongline.lightsticksType= -observe.setLongline.lineType= -observe.setLongline.maxDepthTargeted= -observe.setLongline.message.creating=Lance en proceso de creación. -observe.setLongline.message.updating= -observe.setLongline.monitored= -observe.setLongline.number= -observe.setLongline.settingEndCoordinates= -observe.setLongline.settingEndTimeStamp= -observe.setLongline.settingShape= -observe.setLongline.settingStartCoordinates= -observe.setLongline.settingStartTimeStamp= -observe.setLongline.settingVesselSpeed= -observe.setLongline.shooterSpeed= -observe.setLongline.shooterUsed= -observe.setLongline.snapWeight= -observe.setLongline.swivelWeight= -observe.setLongline.tab.hauling= -observe.setLongline.tab.setting= -observe.setLongline.tab.settingCaracteristics= -observe.setLongline.timeBetweenHooks= -observe.setLongline.title= -observe.setLongline.totalBasketsCount= -observe.setLongline.totalHooksCount= -observe.setLongline.totalSectionsCount= -observe.setLongline.weightedSnap= -observe.setLongline.weightedSwivel= -observe.setSeine.currentDirection= -observe.setSeine.currentMeasureDepth= -observe.setSeine.currentSpeed= -observe.setSeine.endPursingTimeStamp= -observe.setSeine.endSetTimeStamp= -observe.setSeine.maxGearDepth= -observe.setSeine.message.creating=Lance en proceso de creación. -observe.setSeine.message.information.schoolType=Tipo de banco calculado a partir de los sistemas observados de su actividad. -observe.setSeine.message.no.nonTargetDiscarded=El lance no tiene descartes de fauna. -observe.setSeine.message.no.targetCatch=Para los muestreos de atunes capturados, se necesita al menos una captura. -observe.setSeine.message.no.targetDiscarded=Para muestreos de atunes, se necesita al menos un descarte de atún izado a bordo. -observe.setSeine.message.updating=Se está modificando el lance actual. -observe.setSeine.nonTargetDiscarded= -observe.setSeine.reasonForNullSet= -observe.setSeine.schoolMeanDepth= -observe.setSeine.schoolThickness= -observe.setSeine.schoolTopDepth= -observe.setSeine.schoolType= -observe.setSeine.schoolType.not.fill= -observe.setSeine.sonarUsed= -observe.setSeine.sonarUsedAvantSet=Utilización del sonar antes del lance -observe.setSeine.startTime= -observe.setSeine.supportVesselName= -observe.setSeine.tab.general= -observe.setSeine.tab.measurements= -observe.setSeine.targetDiscarded= -observe.setSeine.title= -observe.sizeMeasure.delete.message= -observe.species.availableOcean= -observe.species.selectedOcean= -observe.species.tab.general= -observe.species.tab.other= -observe.speciesList.availableSpecies= -observe.speciesList.selectedSpecies= -observe.speciesList.tab.general= -observe.speciesList.tab.species= +observe.storage.action.apply=Utilizar +observe.storage.action.apply.tip=Utilizar el origen de datos configuarado +observe.storage.action.applyAction=Cambiar el origen de datos observe.storage.action.canMigrate=Actualización de la base (versión actual %1$s) +observe.storage.action.cancel=Cancelar el cambio del origen de datos +observe.storage.action.cancel.tip=Cancelar el cambio del origen de datos +observe.storage.activityLongline.coordinate= +observe.storage.activityLongline.fpaZone= +observe.storage.activityLongline.message.active.found=Actividad abierta +observe.storage.activityLongline.message.active.found.for.other.trip=Existe una actividad abierta en otra ruta. +observe.storage.activityLongline.message.creating=Actividad en proceso de creación. +observe.storage.activityLongline.message.no.active.found=Ninguna actividad abierta, puede crear una nueva o reabrir una. +observe.storage.activityLongline.message.no.active.found.for.other.trip=Ninguna actividad abierta en esta ruta. +observe.storage.activityLongline.message.not.open=La actividad no está abierta, imposible modificar. +observe.storage.activityLongline.message.updating=Se está modificando la actividad actual. +observe.storage.activityLongline.seaSurfaceTemperature= +observe.storage.activityLongline.timeStamp= +observe.storage.activityLongline.title= +observe.storage.activityLongline.vesselActivityLongline= +observe.storage.activityLonglines.title= +observe.storage.activityObservedSystem.availableObservedSystem= +observe.storage.activityObservedSystem.selectedObservedSystem= +observe.storage.activitySeine.message.active.found=Actividad abierta +observe.storage.activitySeine.message.active.found.for.other.route=Existe una actividad abierta en otra ruta. +observe.storage.activitySeine.message.creating=Actividad en proceso de creación. +observe.storage.activitySeine.message.no.active.found=Ninguna actividad abierta, puede crear una nueva o reabrir una. +observe.storage.activitySeine.message.no.active.found.for.other.route=Ninguna actividad abierta en esta ruta. +observe.storage.activitySeine.message.not.open=La actividad no está abierta, imposible modificar. +observe.storage.activitySeine.message.updating=Se está modificando la actividad actual. +observe.storage.activitySeine.tab.general= +observe.storage.activitySeine.tab.measurements= +observe.storage.activitySeine.title= +observe.storage.activitySeineObservedSystem.title= +observe.storage.activitySeines.title= +observe.storage.config.data.mode= +observe.storage.config.data.storage= +observe.storage.config.export.required.read.data= +observe.storage.config.export.required.read.referentiel= +observe.storage.config.referentiel.mode=Modo de importación del referencial +observe.storage.config.referentiel.storage=Configuración de la base de referencia +observe.storage.config.source.storage=Configuración de la base origen observe.storage.connexionStatut.failed= observe.storage.connexionStatut.failed.description= observe.storage.connexionStatut.success= @@ -1681,6 +2001,9 @@ observe.storage.error.rest.pasword.required= observe.storage.error.rest.user.required= observe.storage.error.rest.user.unknown= observe.storage.error.serverVersionMismatch= +observe.storage.import.data.fromBackup= +observe.storage.import.data.fromRemoteStorage= +observe.storage.import.data.fromServerStorage= observe.storage.importExternalDump.config=Selección de la copia de seguridad a utilizar observe.storage.importExternalDump.description=Seleccione el archivo de una copia de seguridad (*.sql.gz). observe.storage.importExternalDumpData.config= @@ -1725,6 +2048,11 @@ observe.storage.migrate.askUser.message=La base de datos tiene la versión %1$s, observe.storage.migrate.askUser.title=Se requiera la actualización de la base de datos a la versión %1$s. observe.storage.migrate.not.possible.before.version.3.0.message=<html><body>La version %s d'ObServe nécessite une base de version au moins <strong>3.0</strong>. Votre base est en version %s<br/>Veuillez dans un premier temps utiliser ObServe 3.0 ou 3.1 pour effectuer la migration puis réouvrir la base avec cette nouvelle version d'ObServe</body></html> observe.storage.migrate.not.possible.before.version.3.0.title=Migration de base impossible en version %s +observe.storage.no.data.import= +observe.storage.no.local.storage=No hay base origen definida +observe.storage.no.referentiel.import=No importar el referencial +observe.storage.no.remote.storage=No hay base de referencia definida +observe.storage.no.server.storage= observe.storage.noImportData.config= observe.storage.noImportReferentiel.config=Sin configuración observe.storage.remote.db=(remoto) @@ -1768,290 +2096,37 @@ observe.storage.step.selectData=Selección de datos observe.storage.step.selectData.description=Seleccionar los datos a exportar en la copia de seguridad observe.storage.store.remote.config=Mantener la configuración observe.storage.store.remote.config.tip=Mantener los parámetros de configuración del origen de datos remota (excepto la contraseña por motivos de seguridad) +observe.storage.title.change= observe.storage.useRemoteStorage.config=Configurar la base remota a usar observe.storage.useRemoteStorage.description=Configure la conexión a la base remota\nAntes de continuar, debe validar la conexión. observe.storage.useServerStorage.config= observe.storage.useServerStorage.description= -observe.synchro.config.data.mode= -observe.synchro.config.data.storage= -observe.synchro.config.export.required.read.data= -observe.synchro.config.export.required.read.referentiel= -observe.synchro.config.export.required.write.data=Debe tener derechos de escritura sobre los datos de la base remota -observe.synchro.config.referentiel.mode=Modo de importación del referencial -observe.synchro.config.referentiel.storage=Configuración de la base de referencia -observe.synchro.config.report=Configuración de los imformes -observe.synchro.config.source.storage=Configuración de la base origen -observe.synchro.config.validate=Configuración de la validación -observe.synchro.config.validation.report=Informe de validación -observe.synchro.configuration=Configuración de las operaciones -observe.synchro.continue.with.no.save.report=Continuar sin guardar el informe -observe.synchro.import.data.fromBackup= -observe.synchro.import.data.fromRemoteStorage= -observe.synchro.import.data.fromServerStorage= -observe.synchro.message.need.save.for.synchro.operation=La operación de sincronización de referenciales ha generado cambios -observe.synchro.message.need.save.for.validation.operation=la operación de validación de datos ha generado modificaciones. -observe.synchro.message.saveLocal.skip=No es necesario realizar copia de seguidad de la base local -observe.synchro.no.data.import= -observe.synchro.no.local.storage=No hay base origen definida -observe.synchro.no.referentiel.import=No importar el referencial -observe.synchro.no.remote.storage=No hay base de referencia definida -observe.synchro.no.server.storage= -observe.synchro.obsolete.entities.list=La lista de entidades de referenciales está obsoleta -observe.synchro.obsolete.entity.fix=Cambiar las referencias del objeto seleccionado -observe.synchro.operation.canceled= -observe.synchro.operation.consolidate= -observe.synchro.operation.consolidate.description= -observe.synchro.operation.dataSynchronize= -observe.synchro.operation.dataSynchronize.description= -observe.synchro.operation.exportData= -observe.synchro.operation.exportData.description= -observe.synchro.operation.failed= -observe.synchro.operation.needFix= -observe.synchro.operation.report= -observe.synchro.operation.report.description= -observe.synchro.operation.running= -observe.synchro.operation.saveLocal= -observe.synchro.operation.saveLocal.description= -observe.synchro.operation.successed= -observe.synchro.operation.synchronize= -observe.synchro.operation.synchronize.description= -observe.synchro.operation.validate= -observe.synchro.operation.validate.description= -observe.synchro.operations= -observe.synchro.report.copy.options= -observe.synchro.report.report.description= -observe.synchro.report.result= -observe.synchro.report.select= -observe.synchro.report.variables= -observe.synchro.safe.entity.to.choose.label= -observe.synchro.save.report= -observe.synchro.step.config= -observe.synchro.step.config.description= -observe.synchro.step.consolidate= -observe.synchro.step.consolidate.description= -observe.synchro.step.dataSynchronize= -observe.synchro.step.dataSynchronize.description= -observe.synchro.step.exportData= -observe.synchro.step.exportData.description= -observe.synchro.step.report= -observe.synchro.step.report.description= -observe.synchro.step.saveLocal= -observe.synchro.step.saveLocal.description= -observe.synchro.step.selectData= -observe.synchro.step.selectData.description= -observe.synchro.step.showResume= -observe.synchro.step.showResume.description= -observe.synchro.step.synchronize= -observe.synchro.step.synchronize.description= -observe.synchro.step.validate= -observe.synchro.step.validate.description= -observe.synchro.table.exportData.exist.label= -observe.synchro.table.exportData.exist.label.tip= -observe.synchro.table.exportData.program.label= -observe.synchro.table.exportData.program.label.tip= -observe.synchro.table.exportData.selected= -observe.synchro.table.exportData.selected.tip= -observe.synchro.table.exportData.trip.label= -observe.synchro.table.exportData.trip.label.tip= -observe.synchro.validate.invalid.data.list= -observe.synchro.validate.message.list= -observe.synchro.validate.save.reportFile= -observe.targetCatch.table.comment= -observe.targetCatch.table.comment.tip= -observe.targetCatch.table.deleteExtraMessage= -observe.targetCatch.table.speciesThon= -observe.targetCatch.table.speciesThon.tip= -observe.targetCatch.table.weight= -observe.targetCatch.table.weight.tip= -observe.targetCatch.table.weightCategory= -observe.targetCatch.table.weightCategory.tip= -observe.targetCatch.table.well= -observe.targetCatch.table.well.tip= -observe.targetDiscarded.message.table.will.delete.targetLength= -observe.targetDiscarded.table.broughtOnDeck= -observe.targetDiscarded.table.broughtOnDeck.tip= -observe.targetDiscarded.table.comment= -observe.targetDiscarded.table.comment.tip= -observe.targetDiscarded.table.deleteExtraMessage= -observe.targetDiscarded.table.reasonForDiscard= -observe.targetDiscarded.table.reasonForDiscard.tip= -observe.targetDiscarded.table.speciesThon= -observe.targetDiscarded.table.speciesThon.tip= -observe.targetDiscarded.table.weight= -observe.targetDiscarded.table.weight.tip= -observe.targetDiscarded.table.weightCategory= -observe.targetDiscarded.table.weightCategory.tip= -observe.targetSample.table.count= -observe.targetSample.table.count.tip= -observe.targetSample.table.length= -observe.targetSample.table.length.tip= -observe.targetSample.table.meanWeight= -observe.targetSample.table.meanWeight.tip= -observe.targetSample.table.measureType= -observe.targetSample.table.measureType.tip= -observe.targetSample.table.speciesThon= -observe.targetSample.table.speciesThon.tip= -observe.targetSample.table.totalWeight= -observe.targetSample.table.totalWeight.tip= -observe.tdr.action.create= -observe.tdr.action.create.tip= -observe.tdr.action.reset.dataLocation.tip= -observe.tdr.action.reset.homeId.tip= -observe.tdr.action.reset.serialNo.tip= -observe.tdr.availableSpecies= -observe.tdr.basket= -observe.tdr.branchline= -observe.tdr.data= -observe.tdr.dataLocation= -observe.tdr.dataLocation.tip= -observe.tdr.delete.data.message= -observe.tdr.deleteData= -observe.tdr.deleteData.tip= -observe.tdr.deployementEnd= -observe.tdr.deployementStart= -observe.tdr.enableTimestamp= -observe.tdr.enableTimestamp.tip= -observe.tdr.exportData= -observe.tdr.exportData.tip= -observe.tdr.fishingEnd= -observe.tdr.fishingEndDepth= -observe.tdr.fishingStart= -observe.tdr.fishingStartDepth= -observe.tdr.floatline1Length= -observe.tdr.floatline2Length= -observe.tdr.homeId= -observe.tdr.importData= -observe.tdr.importData.tip= -observe.tdr.itemHorizontalPosition= -observe.tdr.itemVerticalPosition= -observe.tdr.locationOnLongline= -observe.tdr.maxFishingDepth= -observe.tdr.meanDeployementDepth= -observe.tdr.meanFishingDepth= -observe.tdr.medianDeployementDepth= -observe.tdr.medianFishingDepth= -observe.tdr.minFishingDepth= -observe.tdr.section= -observe.tdr.selectedSpecies= -observe.tdr.sensorBrand= -observe.tdr.serialNo= -observe.tdr.species= -observe.tdr.tab.caracteristics= -observe.tdr.tab.keyData= -observe.tdr.tab.localisation= -observe.tdr.tab.species= -observe.tdr.tab.timestamp= -observe.tdr.table.data= -observe.tdr.table.homeId= -observe.tdr.table.homeId.tip= -observe.tdr.table.sensorBrand= -observe.tdr.table.sensorBrand.tip= -observe.tdr.table.serialNo= -observe.tdr.table.serialNo.tip= -observe.tdr.title= observe.title.about= observe.title.can.not.delete.referentiel= observe.title.can.not.export.obstuna= -observe.title.change.storage= observe.title.choose.db.dump= observe.title.choose.db.dump.directory= -observe.title.choose.report.directory= observe.title.choose.reportFile= -observe.title.choose.sensorUsed.exportData= -observe.title.choose.sensorUsed.importData= -observe.title.choose.tdr.exportData= -observe.title.choose.tdr.importData= observe.title.config.migrate= observe.title.connect.existingDB= observe.title.connect.localDB= observe.title.connect.remoteDB= observe.title.connect.serverDB= -observe.title.consolidate= -observe.title.consolidate.tip= -observe.title.content.HookSizes= -observe.title.content.HookTypes= -observe.title.content.baitHaulingStatuss= -observe.title.content.baitSettingStatuss= -observe.title.content.baitTypes= -observe.title.content.catchFateLonglines= -observe.title.content.country= -observe.title.content.detectionModes= -observe.title.content.encounterTypes= -observe.title.content.fpaZones= -observe.title.content.gearCaracteristicTypes= -observe.title.content.gearCaracteristics= -observe.title.content.gears= -observe.title.content.harbours= -observe.title.content.healthnesss= -observe.title.content.hookPositions= -observe.title.content.itemHorizontalPositions= -observe.title.content.itemVerticalPositions= -observe.title.content.lengthWeightParameters= -observe.title.content.lightsticksColors= -observe.title.content.lightsticksTypes= -observe.title.content.lineTypes= -observe.title.content.maturityStatuss= -observe.title.content.mitigationTypes= -observe.title.content.objectFates= -observe.title.content.objectOperations= -observe.title.content.objectTypes= -observe.title.content.observedSystems= -observe.title.content.oceans= -observe.title.content.organisms= -observe.title.content.persons= -observe.title.content.programs= -observe.title.content.reasonForDiscards= -observe.title.content.reasonForNoFishings= -observe.title.content.reasonForNullSets= -observe.title.content.sensorBrands= -observe.title.content.sensorDataFormats= -observe.title.content.sensorTypes= -observe.title.content.settingShapes= -observe.title.content.sexx= -observe.title.content.sizeMeasureTypes= -observe.title.content.speciesFates= -observe.title.content.speciesGroupSpeciess= -observe.title.content.speciesLists= -observe.title.content.speciesStatuss= -observe.title.content.speciess= -observe.title.content.stomacFullnesss= -observe.title.content.surroundingActivitys= -observe.title.content.transmittingBuoyOperations= -observe.title.content.transmittingBuoyTypes= -observe.title.content.tripTypes= -observe.title.content.vesselActivityLonglines= -observe.title.content.vesselActivitySeines= -observe.title.content.vesselSizeCategoryx= -observe.title.content.vesselTypex= -observe.title.content.vesselx= -observe.title.content.weightCategory= -observe.title.content.weightMeasureTypes= -observe.title.content.windSpeeds= observe.title.create.local.db= -observe.title.dataSynchronize= -observe.title.dataSynchronize.tip= observe.title.delete= observe.title.error.dialog= -observe.title.exportData= -observe.title.exportData.tip= observe.title.h2.server.parameters= observe.title.import.localDB= observe.title.load.remote.db= observe.title.need.confirm= observe.title.need.confirm.to.desactivate.referentiel= observe.title.no.local.db.found= -observe.title.report= -observe.title.report.tip= observe.title.save.localDB= observe.title.save.remoteDB= observe.title.show.usage= observe.title.storage.info= -observe.title.synchronize= -observe.title.synchronize.tip= observe.title.technical.informations= observe.title.unique.key= -observe.title.validate= -observe.title.validate.tip= observe.title.welcome.admin= observe.tree.activityLongline=Actividad observe.tree.activityLongline.unsaved=Nueva actividad @@ -2145,53 +2220,11 @@ observe.tree.vesselType=Pesquería observe.tree.weightCategory=Categoría de peso observe.tree.weightMeasureType= observe.tree.wind=Fuerza del viento -observe.tripLongline.captain= -observe.tripLongline.dataEntryOperator= -observe.tripLongline.endDate= -observe.tripLongline.homeId= -observe.tripLongline.message.active.found= -observe.tripLongline.message.active.found.for.other.program= -observe.tripLongline.message.creating= -observe.tripLongline.message.no.active.found= -observe.tripLongline.message.not.open= -observe.tripLongline.message.updating= -observe.tripLongline.observer= -observe.tripLongline.ocean= -observe.tripLongline.startDate= -observe.tripLongline.tab.general= -observe.tripLongline.tab.map= -observe.tripLongline.title= -observe.tripLongline.totalFishingOperationsNumber= -observe.tripLongline.tripType= -observe.tripLongline.vessel= -observe.tripSeine.message.active.found= -observe.tripSeine.message.active.found.for.other.program= -observe.tripSeine.message.creating= -observe.tripSeine.message.no.active.found= -observe.tripSeine.message.not.open= -observe.tripSeine.message.updating= -observe.tripSeine.tab.general= -observe.tripSeine.tab.map=Mapa -observe.tripSeine.title= -observe.validation.model.type.all=Datos y referenciales -observe.validation.model.type.all.description=Datos y referenciales -observe.validation.model.type.data=Datos del observador -observe.validation.model.type.data.description=Datos del observador -observe.validation.model.type.referentiel=Referencial -observe.validation.model.type.referentiel.description=Todos los referenciales -observe.validation.report.contextName= -observe.validation.report.entities.with.messages= -observe.validation.report.entity= -observe.validation.report.scopes= -observe.validation.report.title= -observe.vessel.tab.general= -observe.vessel.tab.other= observe.view.message= observe.view.navigation= observe.view.server= observe.warning.nimbus.landf= observe.warning.no.ui= -observe.weightMeasure.delete.message= ui.main.body.synchro.action.copy.to.clipBoard= validator.field.header= validator.field.header.tip= diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties index 811c813..7ac0633 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties @@ -19,28 +19,8 @@ observe.action.auto.copy.to.clipboard=Copie automatique dans le presse-papier observe.action.auto.copy.to.clipboard.tip=Mettre à jour automatiquement le contenu du presse-papier avec les résultats observe.action.back.to.list=Retour à la liste observe.action.back.to.list.tip=Retour à la liste des données -observe.action.baitHaulingStatus.create.tip=Créer un nouveau statut de l'appât au virage -observe.action.baitHaulingStatus.delete.tip=Supprimer le statut de l'appât au virage sélectionné -observe.action.baitHaulingStatus.detail.tip=Voir les détails du statut de l'appât au virage sélectionné -observe.action.baitHaulingStatus.modify.tip=Modifier le statut de l'appât au virage sélectionné -observe.action.baitHaulingStatus.save.tip=Sauver les modifications du statuts de l'appât au virage -observe.action.baitSettingStatus.create.tip=Créer un nouveau statut de l'appât au filage -observe.action.baitSettingStatus.delete.tip=Supprimer le statut de l'appât au filage sélectionné -observe.action.baitSettingStatus.detail.tip=Voir les détails du statut de l'appât au filage sélectionné -observe.action.baitSettingStatus.modify.tip=Modifier le statut de l'appât au filage sélectionné -observe.action.baitSettingStatus.save.tip=Sauver les modifications du statut de l'appât au filage -observe.action.baitType.create.tip=Créer un nouveau type d'appât -observe.action.baitType.delete.tip=Supprimer le type d'appât sélectionné -observe.action.baitType.detail.tip=Voir les détails du type d'appât sélectionné -observe.action.baitType.modify.tip=Modifier le type d'appât sélectionné -observe.action.baitType.save.tip=Sauver les modifications du type d'appât observe.action.cancel=Annuler observe.action.cancel.create.tip=Annuler la création de l'objet -observe.action.catchFateLongline.create.tip=Créer un nouveau devenir capture -observe.action.catchFateLongline.delete.tip=Supprimer le devenir capture sélectionné -observe.action.catchFateLongline.detail.tip=Voir les détails du devenir capture sélectionné -observe.action.catchFateLongline.modify.tip=Modifier le devenir capture sélectionné -observe.action.catchFateLongline.save.tip=Sauver les modifications du devenir capture observe.action.change.storage=Changer la source de données observe.action.change.storage.tip=Pour changer la source de données de l'application observe.action.choose.db.dump=Choisir la sauvegarde @@ -48,7 +28,6 @@ observe.action.choose.db.dump.description=Sauvegarde de base (*.sql.gz) observe.action.choose.db.dump.directory=Choisir le répertoire de sauvegarde observe.action.choose.program.message=A quel programme voulez-vous associer les marées sélectionnées ? observe.action.choose.program.title=Changer le programme des marées -observe.action.choose.report.directory=Choisir le répertoire des rapports observe.action.choose.reportFile=Choisir le fichier de définition de report observe.action.choose.reportFile.description=Fichier de définition (*.properties) observe.action.choose.route.message=A quelle route voulez-vous associer les activités sélectionnées ? @@ -70,14 +49,6 @@ observe.action.close.route.tip=Clôturer la route ouverte observe.action.close.storage=Fermer la source de données observe.action.close.storage.tip=Fermer la source de données actuellement utilisée observe.action.close.synchro.tip=Fermer la fenêtre -observe.action.closeAndCreate=Clôturer et créer -observe.action.closeAndCreate.activity=Activité suivante -observe.action.closeAndCreate.activity.tip=Clôturer l'activite courante et en créer une nouvelle -observe.action.closeAndCreate.maree=Marée suivante -observe.action.closeAndCreate.maree.tip=Clôturer la marée courante et en créer une nouvelle -observe.action.closeAndCreate.route=Route suivante -observe.action.closeAndCreate.route.tip=Clôturer la route courante et en créer une nouvelle -observe.action.closeAndCreate.tip=Clôturer l'élément courant et en créer un nouveau observe.action.commandline.configure.ui=Configurer l'application observe.action.commandline.create.id=Générer des topiaIds.\nDeux paramètres sont nécessaires\:\n\tLe FQN de la classe\n\tLe nombre d'id à générer. observe.action.commandline.disable.main.ui=Ne pas lancer l'interface graphique @@ -87,6 +58,7 @@ observe.action.commandline.launch.admin.ui=Lancer une opération d'administratio observe.action.commandline.launch.h2.server.mode=Lancer ObServe en mode serveur observe.action.commandline.launch.obstuna.admin.ui=Lancer une opération d'administration sur Obstuna observe.action.commandline.use.jmx=Ajouter le support JMX +observe.action.config.export.required.read.referentiel=Vous devez posséder les droits d'écritures sur les données de la base distante observe.action.configuration=Configuration observe.action.configuration.tip=Modifier la configuration observe.action.configure=Configurer @@ -96,44 +68,7 @@ observe.action.copy.column.headers=Copier les entêtes de colonne observe.action.copy.column.headers.tip=Ajoute dans le résultat les entêtes de colonne (i.e la première ligne) observe.action.copy.row.headers=Copier les entêtes de ligne observe.action.copy.row.headers.tip=Ajoute dans le résultat les entêtes de ligne (i.e la première colonne) -observe.action.copyToLeft=← -observe.action.copyToLeft.tip=Copier vers la base de gauche -observe.action.copyToRight=→ -observe.action.copyToRight.tip=Copier vers la base de droite -observe.action.country.create.tip=Créer un nouveau pays -observe.action.country.delete.tip=Supprimer le pays sélectionné -observe.action.country.detail.tip=Voir les détails du pays sélectionné -observe.action.country.modify.tip=Modifier le pays sélectionné -observe.action.country.save.tip=Sauver les modifications du pays observe.action.create=Créer -observe.action.create.activity=Créer une nouvelle activité -observe.action.create.activity.tip=Créer une nouvelle activité pour la route courante -observe.action.create.entry.tip=Créer une nouvelle entrée -observe.action.create.gearUseFeaturesLongline=Créer un équipement -observe.action.create.gearUseFeaturesLongline.tip=Créer un nouvel équipement -observe.action.create.gearUseFeaturesSeine=Créer un équipement -observe.action.create.gearUseFeaturesSeine.tip=Créer un nouvel équipement -observe.action.create.maree=Créer une nouvelle marée -observe.action.create.maree.tip=Créer une nouvelle marée pour le programme courant -observe.action.create.nonTargetCatch=Insérer cette espèce / poids / devenir -observe.action.create.nonTargetCatch.tip=Insérer cette espèce / poids / devenir -observe.action.create.nonTargetSample=Insérer cet échantillon -observe.action.create.nonTargetSample.tip=Insérer cet échantillon de faune accessoire -observe.action.create.objectObservedSpecies=Insérer -observe.action.create.objectObservedSpecies.tip=Insérer l'espèce faune observée -observe.action.create.route=Créer une nouvelle route -observe.action.create.route.tip=Créer une nouvelle route pour la marée courante -observe.action.create.schoolEstimate=Insérer cette estimation -observe.action.create.schoolEstimate.tip=Insérer la nouvelle estimation dans la table -observe.action.create.targetCatch=Insérer cette capture / catégorie -observe.action.create.targetCatch.tip=Insérer cette capture / catégorie -observe.action.create.targetDiscarded=Insérer ce rejet / catégorie / raison -observe.action.create.targetDiscarded.tip=Insérer ce rejet / catégorie / raison -observe.action.create.targetSample=Insérer cet échantillon -observe.action.create.targetSample.tip=Insérer cet échantillon de thon rejeté -observe.action.create.targetSampleCapture=Insérer cet échantillon -observe.action.create.targetSampleCapture.tip=Insérer cet échantillon de thon capturé -observe.action.datasynchro.launch.operation=Récupération des données observe.action.db.locale.es.tip=Changer la langue du référentiel en espagnol observe.action.db.locale.fr.tip=Changer la langue du référentiel en français observe.action.db.locale.uk.tip=Changer la langue du référentiel en anglais @@ -145,137 +80,23 @@ observe.action.delete.maree.tip=Supprimer la marée observe.action.delete.route.tip=Supprimer la route observe.action.delete.set.tip=Supprimer la calée observe.action.delete.tip=Supprimer -observe.action.deleteFromLeft=Supprimer à gauche -observe.action.deleteFromLeft.tip=Supprimer la ou les marées sélectionnée(s) de la base de gauche -observe.action.deleteFromRight=Supprimer à droite -observe.action.deleteFromRight.tip=Supprimer la ou les marées sélectionnée(s) de la base de droite observe.action.detail=Voir les détails -observe.action.detectionMode.create.tip=Créer un nouveau mode détection -observe.action.detectionMode.delete.tip=Supprimer le mode de détection sélectionné -observe.action.detectionMode.detail.tip=Voir les détails du mode détection sélectionné -observe.action.detectionMode.modify.tip=Modifier le mode de détection sélectionné -observe.action.detectionMode.save.tip=Sauver les modifications du mode de détection observe.action.do.backup=Sauver la base locale observe.action.do.backup.tip=Effectuer une sauvegarde dela base locale avant d'appliquer les changements -observe.action.encounterType.create.tip=Créer un nouveau type de rencontre -observe.action.encounterType.delete.tip=Supprimer le type de rencontre sélectionné -observe.action.encounterType.detail.tip=Voir les détails du type de rencontre sélectionné -observe.action.encounterType.modify.tip=Modifier le type de rencontre sélectionné -observe.action.encounterType.save.tip=Sauver les modifications du type de rencontre observe.action.exit=Quitter observe.action.exit.tip=Quitter ObServe -observe.action.fpaZone.create.tip=Créer une nouvelle zone FPA -observe.action.fpaZone.delete.tip=Supprimer la zone FPA sélectionnée -observe.action.fpaZone.detail.tip=Voir les détails de la zone FPA sélectionnée -observe.action.fpaZone.modify.tip=Modifier la zone FPA sélectionnée -observe.action.fpaZone.save.tip=Sauver les modifications de la zone FPA -observe.action.gear.create.tip=Créer un nouvel équipment -observe.action.gear.delete.tip=Supprimer l'équipment sélectionné -observe.action.gear.detail.tip=Voir les détails de l'équipment sélectionné -observe.action.gear.modify.tip=Modifier l'équipment sélectionné -observe.action.gear.save.tip=Sauver les modifications de l'équipment -observe.action.gearCaracteristic.create.tip=Créer une nouvelle caractéristique -observe.action.gearCaracteristic.delete.tip=Supprimer la caractéristique sélectionnée -observe.action.gearCaracteristic.detail.tip=Voir les détails de la caractéristique sélectionnée -observe.action.gearCaracteristic.modify.tip=Modifier la caractéristique sélectionnée -observe.action.gearCaracteristic.save.tip=Sauver les modifications de la caractéristique -observe.action.gearCaracteristicType.create.tip=Créer un nouveau type de caractéristique -observe.action.gearCaracteristicType.delete.tip=Supprimer le type de caractéristique sélectionné -observe.action.gearCaracteristicType.detail.tip=Voir les détails du type de caractéristique sélectionné -observe.action.gearCaracteristicType.modify.tip=Modifier le type de caractéristique sélectionné -observe.action.gearCaracteristicType.save.tip=Sauver les modifications du type de caractéristique observe.action.goDown=Descendre vers ... observe.action.goDown.tip=Descendre dans la navigation observe.action.goUp=Remonter vers ... observe.action.goUp.tip=Remonter dans la navigation observe.action.goto.next.stage=Suivant observe.action.goto.next.stage.tip=Accéder à l'étape suivante -observe.action.goto.open.activity=Accéder à l'activité ouverte -observe.action.goto.open.activity.short=Activité ouverte -observe.action.goto.open.activity.tip=Accéder à l'activité ouverte -observe.action.goto.open.maree=Accéder à la marée ouverte -observe.action.goto.open.other.activity=Accéder à l'activité ouverte dans une autre route -observe.action.goto.open.other.activity.tip=Accéder à l'activité ouverte (dans une autre route) -observe.action.goto.open.other.maree=Accéder à la marée ouverte dans un autre program -observe.action.goto.open.other.maree.tip=Accéder à la marée ouverte (dans un autre program) -observe.action.goto.open.other.route=Accéder à la route ouverte dans une autre marée -observe.action.goto.open.other.route.tip=Accéder à la route ouverte (dans une autre marée) -observe.action.goto.open.program.short=Programme ouvert -observe.action.goto.open.program.tip=Accéder au programme ouvert -observe.action.goto.open.route=Accéder à la route ouverte -observe.action.goto.open.route.short=Route ouverte -observe.action.goto.open.route.tip=Accéder à la route ouverte -observe.action.goto.open.set.short=Calée ouverte -observe.action.goto.open.set.tip=Accéder à la calée ouverte -observe.action.goto.open.trip.short=Marée ouverte -observe.action.goto.open.trip.tip=Accéder à la marée ouverte observe.action.goto.previous.stage=Précédent observe.action.goto.previous.stage.tip=Accèder à l'étape précédente observe.action.goto.referentiel.short=Référentiel observe.action.goto.referentiel.tip=Accéder au référentiel -observe.action.goto.selected.activity=Accéder à l'activité -observe.action.goto.selected.activity.tip=Accéder à l'activité sélectionnée -observe.action.goto.selected.maree=Accéder à la marée -observe.action.goto.selected.maree.tip=Accéder à la marée sélectionnée -observe.action.goto.selected.route=Accéder à la route -observe.action.goto.selected.route.tip=Accéder à la route sélectionnée -observe.action.harbour.create.tip=Créer un nouveau port -observe.action.harbour.delete.tip=Supprimer le port sélectionné -observe.action.harbour.detail.tip=Voir les détails du port sélectionné -observe.action.harbour.modify.tip=Modifier le port sélectionné -observe.action.harbour.save.tip=Sauver les modifications du port -observe.action.healthness.create.tip=Créer un nouveau statut de capture -observe.action.healthness.delete.tip=Supprimer le statut de santé sélectionné -observe.action.healthness.detail.tip=Voir les détails du statut de santé sélectionné -observe.action.healthness.modify.tip=Modifier le statut de santé sélectionné -observe.action.healthness.save.tip=Sauver les modifications du statut de santé -observe.action.hookPosition.create.tip=Créer une nouvelle position d'hameçon -observe.action.hookPosition.delete.tip=Supprimer la position d'hameçon sélectionnée -observe.action.hookPosition.detail.tip=Voir les détails de la position d'hameçon sélectionnée -observe.action.hookPosition.modify.tip=Modifier la position d'hameçon sélectionnée -observe.action.hookPosition.save.tip=Sauver les modifications de la position d'hameçon -observe.action.hookSize.create.tip=Créer une nouvelle taille d'hameçon -observe.action.hookSize.delete.tip=Supprimer la taille d'hameçon sélectionné -observe.action.hookSize.detail.tip=Voir les détails de la taille d'hameçon sélectionné -observe.action.hookSize.modify.tip=Modifier la taille d'hameçon sélectionné -observe.action.hookSize.save.tip=Sauver les modifications du type de hameçon -observe.action.hookType.create.tip=Créer un nouveau type d'hameçon -observe.action.hookType.delete.tip=Supprimer le type d'hameçon sélectionné -observe.action.hookType.detail.tip=Voir les détails du type d'hameçon sélectionné -observe.action.hookType.modify.tip=Modifier le type d'hameçon sélectionné -observe.action.hookType.save.tip=Sauver les modifications du type d'hameçon observe.action.info.storage=Informations sur la source de données observe.action.info.storage.tip=Voir les informations sur la source de données actuellement utilisée -observe.action.itemHorizontalPosition.create.tip=Créer une nouvelle localisation de l'élément sur la ligne mère -observe.action.itemHorizontalPosition.delete.tip=Supprimer la localisation de l'élément sur la ligne mère sélectionnée -observe.action.itemHorizontalPosition.detail.tip=Voir les détails de la localisation de l'élément sur la ligne mère sélectionnée -observe.action.itemHorizontalPosition.modify.tip=Modifier la localisation de l'élément sur la ligne mère sélectionnée -observe.action.itemHorizontalPosition.save.tip=Sauver les modifications de la localisation de l'élément sur la ligne mère -observe.action.itemVerticalPosition.create.tip=Créer une nouvelle localisation de l'élément sur l'avançon -observe.action.itemVerticalPosition.delete.tip=Supprimer la localisation de l'élément sur l'avançon sélectionnée -observe.action.itemVerticalPosition.detail.tip=Voir les détails de la localisation de l'élément sur l'avançon sélectionnée -observe.action.itemVerticalPosition.modify.tip=Modifier la localisation de l'élément sur l'avançon sélectionnée -observe.action.itemVerticalPosition.save.tip=Sauver les modifications de la localisation de l'élément sur l'avançon -observe.action.lengthWeightParameter.create.tip=Créer un nouveau paramétrage taille-poids -observe.action.lengthWeightParameter.delete.tip=Supprimer le paramétrage taille-poids sélectionné -observe.action.lengthWeightParameter.detail.tip=Voir les détails du paramétrage taille-poids -observe.action.lengthWeightParameter.modify.tip=Modifier le paramétrage taille-poids -observe.action.lengthWeightParameter.save.tip=Sauver les modifications du paramétrage taille-poids -observe.action.lightsticksColor.create.tip=Créer une nouvelle couleur de baton lumineux -observe.action.lightsticksColor.delete.tip=Supprimer la couleur de baton lumineux sélectionnée -observe.action.lightsticksColor.detail.tip=Voir les détails de la couleur de baton lumineux sélectionnée -observe.action.lightsticksColor.modify.tip=Modifier la couleur de baton lumineux sélectionnée -observe.action.lightsticksColor.save.tip=Sauver les modifications de la couleur de baton lumineux -observe.action.lightsticksType.create.tip=Créer un nouveau type de baton lumineux -observe.action.lightsticksType.delete.tip=Supprimer le type de baton lumineux sélectionné -observe.action.lightsticksType.detail.tip=Voir les détails du type de baton lumineux sélectionné -observe.action.lightsticksType.modify.tip=Modifier le type de baton lumineux sélectionné -observe.action.lightsticksType.save.tip=Sauver les modifications du type de baton lumineux -observe.action.lineType.create.tip=Créer un nouveau type de ligne -observe.action.lineType.delete.tip=Supprimer le type de ligne sélectionné -observe.action.lineType.detail.tip=Voir les détails du type de ligne sélectionné -observe.action.lineType.modify.tip=Modifier le type de ligne sélectionné -observe.action.lineType.save.tip=Sauver les modifications du type de ligne observe.action.load.from.file=Importer une sauvegarde observe.action.load.from.file.tip=Charger une base locale depuis un fichier de sauvegarde observe.action.locale.es=Espagnol @@ -284,88 +105,11 @@ observe.action.locale.fr=Français observe.action.locale.fr.tip=Changer la langue de l'application en français observe.action.locale.uk=Anglais observe.action.locale.uk.tip=Changer la langue de l'application en anglais -observe.action.maturityStatus.create.tip=Créer une nouvelle maturité -observe.action.maturityStatus.delete.tip=Supprimer le maturité sélectionnée -observe.action.maturityStatus.detail.tip=Voir les détails de la maturité sélectionnée -observe.action.maturityStatus.modify.tip=Modifier la maturité sélectionnée -observe.action.maturityStatus.save.tip=Sauver les modifications de la maturité -observe.action.mitigationType.create.tip=Créer un nouveau type de mesure d'atténuation -observe.action.mitigationType.delete.tip=Supprimer le type de mesure d'atténuation sélectionné -observe.action.mitigationType.detail.tip=Voir les détails du type de mesure d'atténuation sélectionné -observe.action.mitigationType.modify.tip=Modifier le type de mesure d'atténuation sélectionné -observe.action.mitigationType.save.tip=Sauver les modifications du type de mesure d'atténuation observe.action.modify=Modifier -observe.action.move.activities= -observe.action.move.activities.longline=Changer de marée -observe.action.move.activities.longline.tip=Changer la marée des activités sélectionnées -observe.action.move.activities.seine=Changer de route -observe.action.move.activities.seine.tip=Changer la route des activités sélectionnées -observe.action.move.activities.tip= -observe.action.move.routes=Changer de marée -observe.action.move.routes.tip=Changer la marée des routes sélectionnées -observe.action.move.trips=Changer de programme -observe.action.move.trips.tip=Changer le programme des marées sélectionnées observe.action.new.entry=Nouveau observe.action.new.entry.tip=Créer une nouvelle entrée -observe.action.objectFate.create.tip=Créer un nouveau devenir objet -observe.action.objectFate.delete.tip=Supprimer le devenir objet sélectionné -observe.action.objectFate.detail.tip=Voir les détails du devenir objet sélectionné -observe.action.objectFate.modify.tip=Modifier le devenir objet sélectionné -observe.action.objectFate.save.tip=Sauver les modifications du devenir objet -observe.action.objectOperation.create.tip=Créer une nouvelle opération objet -observe.action.objectOperation.delete.tip=Supprimer l'opération objet sélectionné -observe.action.objectOperation.detail.tip=Voir les détails de l'opération objet sélectionnée -observe.action.objectOperation.modify.tip=Modifier l'opération objet sélectionnée -observe.action.objectOperation.save.tip=Sauver les modifications de l'opération objet -observe.action.objectType.create.tip=Créer un nouveau type d'objet -observe.action.objectType.delete.tip=Supprimer le type d'objet sélectionné -observe.action.objectType.detail.tip=Voir les détails du type d'objet sélectionné -observe.action.objectType.modify.tip=Modifier le type d'objet sélectionné -observe.action.objectType.save.tip=Sauver les modifications du type d'objet -observe.action.observedSystem.create.tip=Créer un nouveau système observé -observe.action.observedSystem.delete.tip=Supprimer le système observé sélectionné -observe.action.observedSystem.detail.tip=Voir les détails du système observé sélectionné -observe.action.observedSystem.modify.tip=Modifier le système observé sélectionné -observe.action.observedSystem.save.tip=Sauver les modifications du système observé -observe.action.ocean.create.tip=Créer un nouvel océan -observe.action.ocean.delete.tip=Supprimer l'océan sélectionné -observe.action.ocean.detail.tip=Voir les détails sur l'océan sélectionné -observe.action.ocean.modify.tip=Modifier l'océan sélectionné -observe.action.ocean.save.tip=Sauver les modifications sur l'ocean observe.action.open.screen=Ouverture de l'écran <%1$s> -observe.action.openLink.formsUrl.tip=Accéder aux formulaires dans un navigateur web -observe.action.openLink.reportsUrl.tip=Accéder aux rapports dans un navigateur web -observe.action.organism.create.tip=Créer un nouvel organisme -observe.action.organism.delete.tip=Supprimer l'organisme sélectionné -observe.action.organism.detail.tip=Voir les détaile de l'organisme -observe.action.organism.modify.tip=Modifier l'organisme sélectionné -observe.action.organism.save.tip=Sauver les modifications de l'organisme -observe.action.person.create.tip=Créer un nouvelle personne -observe.action.person.delete.tip=Supprimer la personne sélectionnée -observe.action.person.detail.tip=Voir les détails de la personne sélectionnée -observe.action.person.modify.tip=Modifier la personne sélectionnée -observe.action.person.save.tip=Sauver les modifications sur la personne -observe.action.program.create.tip=Créer un nouveau programme -observe.action.program.delete.tip=Supprimer le programme sélectionné -observe.action.program.detail.tip=Voir les détails du programme sélectionné -observe.action.program.modify.tip=Modifier le programme sélectionné -observe.action.program.save.tip=Sauver les modifications sur le programme observe.action.quitHelp.tip=Quitter l'écran d'aide -observe.action.reasonForDiscard.create.tip=Créer une nouvelle raison de rejet -observe.action.reasonForDiscard.delete.tip=Supprimer la raison de rejet sélectionnée -observe.action.reasonForDiscard.detail.tip=voir les détail de la raison de rejet sélectionnée -observe.action.reasonForDiscard.modify.tip=Modifier la raison de rejet sélectionnée -observe.action.reasonForDiscard.save.tip=Sauver les modifications du raison de rejet -observe.action.reasonForNoFishing.create.tip=Créer une nouvelle raison de non coup de senne -observe.action.reasonForNoFishing.delete.tip=Supprimer la raison de non coup de senne sélectionné -observe.action.reasonForNoFishing.detail.tip=Voir les détails de la raison de non coup de senne sélectionnée -observe.action.reasonForNoFishing.modify.tip=Modifier la raison de non coup de senne sélectionnée -observe.action.reasonForNoFishing.save.tip=Sauver les modifications de la raison de non coup de senne -observe.action.reasonForNullSet.create.tip=Créer une nouvelle cause de coup nul -observe.action.reasonForNullSet.delete.tip=Supprimer la cause de coup nul sélectionnée -observe.action.reasonForNullSet.detail.tip=Voir les détails de la cause de coup nul sélectionnée -observe.action.reasonForNullSet.modify.tip=Modifier la cause de coup nul sélectionnée -observe.action.reasonForNullSet.save.tip=Sauver les modifications du cause de coup nul observe.action.reload.application=Redémarrer l'application observe.action.reload.storage=Recharger la source de données observe.action.reload.storage.tip=Ferme et réouvre la source de données @@ -374,28 +118,6 @@ observe.action.reloadDefaultConfiguration=Configuration par défaut observe.action.reloadDefaultConfiguration.tip=Rétablir la configuration par défaut observe.action.reloadResources=Resources par défaut observe.action.reloadResources.tip=Rétablir les ressources par défaut (toute modification sera perdue) -observe.action.reopen=Réouvrir -observe.action.reopen.activity.tip=Réouvrir l'activité -observe.action.reopen.maree.tip=Réouvrir la marée -observe.action.reopen.route.tip=Réouvrir la route -observe.action.reopen.selected.activity=Réouvrir l'activité -observe.action.reopen.selected.activity.tip=Réouvrir l'activité sélectionnée -observe.action.reopen.selected.maree=Réouvrir la marée -observe.action.reopen.selected.maree.tip=Réouvrir la marée sélectionnée -observe.action.reopen.selected.route=Réouvrir la route -observe.action.reopen.selected.route.tip=Réouvrir la route sélectionnée -observe.action.reopen.tip=Réouvrir la donnée -observe.action.reset=Annuler -observe.action.reset.entry.tip=Réinitialiser l'entré en cours d'édition -observe.action.reset.ersId.tip=Réinitialiser l'id ERS -observe.action.reset.formsUrl.tip=Réinitialiser l'url des formulaires -observe.action.reset.homeId.tip=Réinitialiser -observe.action.reset.new.entry.tip=Annuler la création de la nouvelle entrée -observe.action.reset.picturesReferences.tip=Réinitialiser -observe.action.reset.reportsUrl.tip=Réinitialiser l'url des rapports -observe.action.reset.supportVesselName.tip=Réinitialiser -observe.action.reset.tip=Annuler les modifications -observe.action.reset.well.tip=Réinitialiser observe.action.restart.application=Redémarrer observe.action.restart.application.tip=Redémarrer l'application observe.action.save=Enregistrer @@ -406,179 +128,215 @@ observe.action.save.to.file=Sauver la base observe.action.save.to.file.tip=Effectuer une sauvegarde de la base ouverte observe.action.selectNode=Sélectionner le noeud observe.action.selectNode.tip=Sélectionner le noeud -observe.action.sensorBrand.create.tip=Créer une nouvelle marque de capteur -observe.action.sensorBrand.delete.tip=Supprimer la marque de capteur sélectionnée -observe.action.sensorBrand.detail.tip=Voir les détails de la marque de capteur sélectionnée -observe.action.sensorBrand.modify.tip=Modifier la marque de capteur sélectionnée -observe.action.sensorBrand.save.tip=Sauver les modifications de la marque de capteur -observe.action.sensorDataFormat.create.tip=Créer un nouveau format de données de capteur -observe.action.sensorDataFormat.delete.tip=Supprimer le format de données de capteur sélectionné -observe.action.sensorDataFormat.detail.tip=Voir les détails du format de données de capteur sélectionné -observe.action.sensorDataFormat.modify.tip=Modifier le format de données de capteur sélectionné -observe.action.sensorDataFormat.save.tip=Sauver les modifications du format de données de capteur -observe.action.sensorType.create.tip=Créer un nouveau type de capteur -observe.action.sensorType.delete.tip=Supprimer le type de capteur sélectionné -observe.action.sensorType.detail.tip=Voir les détails du type de capteur sélectionné -observe.action.sensorType.modify.tip=Modifier le type de capteur sélectionné -observe.action.sensorType.save.tip=Sauver les modifications du type de capteur -observe.action.settingShape.create.tip=Créer une nouvelle forme au filage -observe.action.settingShape.delete.tip=Supprimer la forme au filage sélectionnée -observe.action.settingShape.detail.tip=Voir les détails de la forme au filage sélectionnée -observe.action.settingShape.modify.tip=Modifier la forme au filage sélectionnée -observe.action.settingShape.save.tip=Sauver les modifications de la forme au filage -observe.action.sex.create.tip=Créer un nouveau sexe -observe.action.sex.delete.tip=Supprimer le sexe sélectionné -observe.action.sex.detail.tip=Voir les détails du sexe sélectionné -observe.action.sex.modify.tip=Modifier le sexe sélectionné -observe.action.sex.save.tip=Sauver les modifications du sexe observe.action.show.technical.informations.tip=Voir les information techniques observe.action.show.unique.keys.tip=Voir le tableau de toutes les clefs métier utilisées pour ce référentiel observe.action.show.usages.tip=Voir toutes les utilisations de ce référentiel observe.action.showConfig.title=Configuration observe.action.site=Site internet observe.action.site.tip=Accéder au site de l'application sur internet -observe.action.sizeMeasureType.create.tip=Créer un nouveau type de mesure de taille -observe.action.sizeMeasureType.delete.tip=Supprimer le type de mesure de taille sélectionné -observe.action.sizeMeasureType.detail.tip=Voir les détails du type de mesure de taille sélectionné -observe.action.sizeMeasureType.modify.tip=Modifier le type de mesure de taille sélectionné -observe.action.sizeMeasureType.save.tip=Sauver les modifications du type de mesure de taille -observe.action.species.create.tip=Créer une nouvelle espèce -observe.action.species.delete.tip=Supprimer l'espèce sélectionnée -observe.action.species.detail.tip=Voir les détails de l'espèce sélectionnée -observe.action.species.modify.tip=Modifier l'espèce sélectionnée -observe.action.species.save.tip=Sauver les modifications de l'espèce -observe.action.speciesFate.create.tip=Créer un nouveau devenir -observe.action.speciesFate.delete.tip=Supprimer le devenir sélectionné -observe.action.speciesFate.detail.tip=Voir les détails du devenir sélectionné -observe.action.speciesFate.modify.tip=Modifier le devenir sélectionné -observe.action.speciesFate.save.tip=Sauver les modifications du devenir -observe.action.speciesGroupSpecies.create.tip=Créer un nouveau groupe d'espèce -observe.action.speciesGroupSpecies.delete.tip=Supprimer le groupe d'espèce sélectionné -observe.action.speciesGroupSpecies.detail.tip=Voir les détails du groupe d'espèce sélectionné -observe.action.speciesGroupSpecies.modify.tip=Modifier le groupe d'espèce sélectionné -observe.action.speciesGroupSpecies.save.tip=Sauver les modifications du groupe d'espèce -observe.action.speciesList.create.tip=Créer une nouvelle liste d'espèce -observe.action.speciesList.delete.tip=Supprimer la liste d'espèce sélectionnée -observe.action.speciesList.detail.tip=Voir les détails de la liste d'espèce sélectionnée -observe.action.speciesList.modify.tip=Modifier la liste d'espèce sélectionnée -observe.action.speciesStatus.create.tip=Créer un nouveau statut d'espèce -observe.action.speciesStatus.delete.tip=Supprimer le statut d'espèce sélectionné -observe.action.speciesStatus.detail.tip=Voir les détails du statut d'espèce sélectionné -observe.action.speciesStatus.modify.tip=Modifier le statut d'espèce sélectionné -observe.action.speciesStatus.save.tip=Sauver les modifications du statut d'espèce observe.action.start.h2.web.server=Démarrer le serveur web observe.action.start.h2.web.server.tip=Démarrer le serveur web H2 observe.action.start.server.mode=Mode serveur observe.action.start.server.mode.tip=Démarrer la base locale en mode serveur -observe.action.stomacFullness.create.tip=Créer un nouveau niveau de remplissage de l'estomac -observe.action.stomacFullness.delete.tip=Supprimer le niveau de remplissage de l'estomac sélectionné -observe.action.stomacFullness.detail.tip=Voir les détails du niveau de remplissage de l'estomac sélectionné -observe.action.stomacFullness.modify.tip=Modifier le niveau de remplissage de l'estomac sélectionné -observe.action.stomacFullness.save.tip=Sauver les modifications du niveau de remplissage de l'estomac observe.action.stop.h2.web.server=Arrêter le serveur web observe.action.stop.h2.web.server.tip=Arrêter le serveur web H2 observe.action.stop.server.mode=Arrêter le mode serveur observe.action.stop.server.mode.tip=Arrêter le mode serveur de la base locale -observe.action.storage.apply=Utiliser -observe.action.storage.apply.tip=Utiliser la source de données configurée -observe.action.storage.applyAction=Changement de source de données -observe.action.storage.cancel=Annuler le changement de source de données -observe.action.storage.cancel.tip=Annuler le changement de source de données -observe.action.surroundingActivity.create.tip=Créer un nouvelle activité environnante -observe.action.surroundingActivity.delete.tip=Supprimer l'activité environnante sélectionnée -observe.action.surroundingActivity.detail.tip=Voir les détails de l'activité environnante sélectionnée -observe.action.surroundingActivity.modify.tip=Modifier l'activité environnante sélectionnée -observe.action.surroundingActivity.save.tip=Sauver les modifications de l'activité environnante -observe.action.synchro.cancel.tip=Annuler -observe.action.synchro.copy.tip=Copier le rapport dans le presse-papier -observe.action.synchro.launch.operation=Démarrer l'opération < %1$s > -observe.action.synchro.prepare.operation=Préparer l'opération <%1$s> -observe.action.synchro.report.reset.tip=Déselectionner le report courant. observe.action.test.remote=Valider la connexion observe.action.test.remote.tip=Cliquer pour valider la connexion au serveur distant -observe.action.transmittingBuoyOperation.create.tip=Créer une nouvelle opération sur balise -observe.action.transmittingBuoyOperation.delete.tip=Supprimer l'opération sur balise sélectionné -observe.action.transmittingBuoyOperation.detail.tip=Voir les détails de l'opération sur balise sélectionnée -observe.action.transmittingBuoyOperation.modify.tip=Modifier l'opération sur balise sélectionnée -observe.action.transmittingBuoyOperation.save.tip=Sauver les modifications de l'opération sur balise -observe.action.transmittingBuoyType.create.tip=Créer un nouveau type de balise -observe.action.transmittingBuoyType.delete.tip=Supprimer le type de balise sélectionné -observe.action.transmittingBuoyType.detail.tip=Voir les détails du type de balise sélectionné -observe.action.transmittingBuoyType.modify.tip=Modifier le type de balise sélectionné -observe.action.transmittingBuoyType.save.tip=Sauver les modifications du type de balise -observe.action.tripType.create.tip=Créer un nouveau type de marée -observe.action.tripType.delete.tip=Supprimer le type de marée sélectionné -observe.action.tripType.detail.tip=Voir les détails du type de marée sélectionné -observe.action.tripType.modify.tip=Modifier le type de marée sélectionné -observe.action.tripType.save.tip=Sauver les modifications du type de marée -observe.action.vessel.create.tip=Créer un nouveau bateau -observe.action.vessel.delete.tip=Supprimer le bateau sélectionné -observe.action.vessel.detail.tip=Voir les détails du bateau sélectionné -observe.action.vessel.modify.tip=Modifier le bateau sélectionné -observe.action.vessel.save.tip=Sauver les modifications sur le bateau -observe.action.vesselActivityLongline.create.tip=Créer un nouveau type d'activité -observe.action.vesselActivityLongline.delete.tip=Supprimer le type d'activité sélectionné -observe.action.vesselActivityLongline.detail.tip=Voir les détails du type d'activité sélectionné -observe.action.vesselActivityLongline.modify.tip=Modifier le type d'activité sélectionné -observe.action.vesselActivityLongline.save.tip=Sauver les modifications du type d'activité -observe.action.vesselActivitySeine.create.tip=Créer une nouvelle activité vessel -observe.action.vesselActivitySeine.delete.tip=Supprimer l'activité vessel sélectionnée -observe.action.vesselActivitySeine.detail.tip=Voir les détails de l'activité vessel sélectionnée -observe.action.vesselActivitySeine.modify.tip=Modifier l'activité de vessel sélectionnée -observe.action.vesselActivitySeine.save.tip=Sauver les modifications de l'activité vessel -observe.action.vesselSizeCategory.create.tip=Créer une nouvelle catégorie de vessel -observe.action.vesselSizeCategory.delete.tip=Supprimer le catégorie de vessel sélectionnée -observe.action.vesselSizeCategory.detail.tip=Voir les détails de la catégorie de vessel sélectionnée -observe.action.vesselSizeCategory.modify.tip=Modifier le vessel sélectionné -observe.action.vesselSizeCategory.save.tip=Sauver les modifications de la catégorie de vessel -observe.action.vesselType.create.tip=Créer un nouveau type de vessel -observe.action.vesselType.delete.tip=Supprimer le type de vessel sélectionné -observe.action.vesselType.detail.tip=Voir les détails du type de vessel sélectionné -observe.action.vesselType.modify.tip=Modifier le type de vessel sélectionné -observe.action.vesselType.save.tip=Sauver les modifications du type de vessel -observe.action.weightCategory.create.tip=Créer une nouvelle catégorie de poids -observe.action.weightCategory.delete.tip=Supprimer la catégorie de poids sélectionnée -observe.action.weightCategory.detail.tip=Voir les détails de la catégorie de poids sélectionnée -observe.action.weightCategory.modify.tip=Modifier la catégorie de poids sélectionnée -observe.action.weightCategory.save.tip=Sauver les modifications de la catégorie de poids -observe.action.weightMeasureType.create.tip=Créer un nouveau type de mesure de poids -observe.action.weightMeasureType.delete.tip=Supprimer le type de mesure de poids sélectionné -observe.action.weightMeasureType.detail.tip=Voir les détails du type de mesure de poids sélectionné -observe.action.weightMeasureType.modify.tip=Modifier le type de mesure de poids sélectionné -observe.action.weightMeasureType.save.tip=Sauver les modifications du type de mesure de poids -observe.action.wind.create.tip=Créer un nouveau vent Beaufort -observe.action.wind.delete.tip=Supprimer le vent Beaufort sélectionné -observe.action.wind.detail.tip=Voir les détails du vent Beaufort sélectionné -observe.action.wind.modify.tip=Modifier le vent Beaufort sélectionné -observe.action.wind.save.tip=Sauver les modifications du vent Beaufort -observe.activityLongline.coordinate=Coordonnées -observe.activityLongline.fpaZone=Zone FPA -observe.activityLongline.message.active.found=Une activité est ouverte. -observe.activityLongline.message.active.found.for.other.trip=Une activité ouverte existe dans une autre marée. -observe.activityLongline.message.creating=L'activité est en cours de création. -observe.activityLongline.message.no.active.found=Aucune activité ouverte, vous pouvez soit en créer une nouvelle, soit en réouvrire une. -observe.activityLongline.message.no.active.found.for.other.trip=Aucune activité ouverte sur la marée ouverte -observe.activityLongline.message.not.open=L'opération de pêche n'est pas ouverte, aucune modification possible. -observe.activityLongline.message.updating=L'activité est en cours de modification. -observe.activityLongline.seaSurfaceTemperature=Température surface (°c) -observe.activityLongline.timeStamp=Horodatage -observe.activityLongline.title=Activité -observe.activityLongline.vesselActivityLongline=Activité bateau -observe.activityLonglines.title=Activités -observe.activityObservedSystem.availableObservedSystem=Systèmes observés disponibles -observe.activityObservedSystem.selectedObservedSystem=Systèmes observés sélectionnés -observe.activitySeine.message.active.found=Une activité est ouverte. -observe.activitySeine.message.active.found.for.other.route=Une activité ouverte existe dans une autre route. -observe.activitySeine.message.creating=L'activité est en cours de création. -observe.activitySeine.message.no.active.found=Aucune activité ouverte, vous pouvez soit en créer une nouvelle, soit en réouvrire une. -observe.activitySeine.message.no.active.found.for.other.route=Aucune activité ouverte sur la route ouverte -observe.activitySeine.message.not.open=L'activité n'est pas ouverte, aucune modification possible. -observe.activitySeine.message.updating=L'activité est en cours de modification. -observe.activitySeine.tab.general=Caractéristiques générales -observe.activitySeine.tab.measurements=Mesures -observe.activitySeine.title=Activité -observe.activitySeineObservedSystem.title=Système observé -observe.activitySeines.title=Activités +observe.actions.config.step=Configuration +observe.actions.config.step.description=Configuration des opérations et sources de données à utiliser. +observe.actions.consolidate=Calculer les données +observe.actions.consolidate.description=Calculer les données non observées +observe.actions.consolidate.message.activity=Données calculées pour l'activité %1$s +observe.actions.consolidate.message.noChanges=Aucune donnée nodifiée. +observe.actions.consolidate.message.operation.done=Opération de calcul des données terminée à %1$s. +observe.actions.consolidate.message.save.changes=Sauvegarde des modifications sur la(es) %1$s marée(s) modifiée(s). +observe.actions.consolidate.message.trip=Données calculées pour la marée %1$s +observe.actions.consolidate.step=Calculer les données +observe.actions.consolidate.step.description=Calculer les données non observées +observe.actions.consolidate.title=Consolider les données observateur +observe.actions.consolidate.title.tip=Consolider les données observateur +observe.actions.exportData=Exporter les données observateurs +observe.actions.exportData.description=Exporter les données observateurs vers la base centrale +observe.actions.exportData.message.delete.remote.maree=Suppression de la marée (%1$s) du programme (%2$s) de la base distante. +observe.actions.exportData.message.not.possible=L'opération d'export n'est pas possible (voir les messages précédents). +observe.actions.exportData.message.operation.needFix=Veuillez sélectionner les marées à exporter. +observe.actions.exportData.message.prepare.data=Préparation des données à exporter... +observe.actions.exportData.message.replicate.maree=Duplication de la marée (%1$s) du programme (%2$s) vers la base distante. +observe.actions.exportData.step=Exporter +observe.actions.exportData.step.description=Exporter les données observateurs vers la base centrale +observe.actions.exportData.table.exist.label=E +observe.actions.exportData.table.exist.label.tip=Marée déjà présente sur la base distante +observe.actions.exportData.table.program.label=Programme +observe.actions.exportData.table.program.label.tip=Libellé du programme de la maréee +observe.actions.exportData.table.selected=... +observe.actions.exportData.table.selected.tip=Sélectionner - Désélectionner toutes les marées à exporter +observe.actions.exportData.table.trip.label=Marée +observe.actions.exportData.table.trip.label.tip=Libellé de la marée +observe.actions.exportData.title=Exporter les données +observe.actions.exportData.title.tip=Exporter les données utilisateurs vers obstuna +observe.actions.operation.configuration=Configuration des opérations +observe.actions.operation.message.canceled=L'opération <%1$s> a été annulée. +observe.actions.operation.message.done=Opération terminée le %1$td/%1$tm/%1$tY à %1$tH\:%1$tM\:%1$tS +observe.actions.operation.message.failed=L'opération a échouée +observe.actions.operation.message.needFix=L'opération requière des corrections. +observe.actions.operation.message.running=L'opération < %1$s > est en cours d'exécution... +observe.actions.operation.message.successed=L'opération < %1$s > est terminée. +observe.actions.operations=Opérations à effectuer +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.report.description=Description du rapport sélectionné +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 +observe.actions.report.select.file.tip=Choisir le fichier de définition des reports +observe.actions.report.step=Tableaux de synthèse +observe.actions.report.step.description=Aide à la génération du rapport de fin d'embarquement +observe.actions.report.title=Aide à la génération de rapport +observe.actions.report.title.tip=Aide à la génération du rapport de fin d'embarquement +observe.actions.report.variables=Configuration des variables +observe.actions.saveLocal=Sauvegarde de la base locale +observe.actions.saveLocal.description=Sauvegarder les modifications effectuées vers la base locale +observe.actions.saveLocal.step=Sauvegarde locale +observe.actions.saveLocal.step.description=Sauver les modifications sur votre base source +observe.actions.selectData.step=Sélection des données +observe.actions.selectData.step.description=Sélection des données pour effectuer les opérations +observe.actions.showResume.step=Résumé +observe.actions.showResume.step.description=Voir un résumé des opérations effectuées +observe.actions.synchro.cancel.tip=Annuler +observe.actions.synchro.copy.tip=Copier le rapport dans le presse-papier +observe.actions.synchro.data=Synchronisation bi-directionnelle de données +observe.actions.synchro.data.actionsToPerform=Opérations à réaliser +observe.actions.synchro.data.copyToLeft.tip=Copier la ou les marée(s) sélectionnée(s) vers la base de gauche +observe.actions.synchro.data.copyToLeftTask=Copier vers la base de gauche \: %s - %s +observe.actions.synchro.data.copyToRight.tip=Copier la ou les marée(s) sélectionnée(s) vers la base de droite +observe.actions.synchro.data.copyToRightTask=Copier vers la base de droite \: %s - %s +observe.actions.synchro.data.deleteFromLeft.tip=Supprimer la ou les marées sélectionnée(s) de la base de gauche +observe.actions.synchro.data.deleteFromLeftTask=Supprimer de la base de gauche \: %s - %s +observe.actions.synchro.data.deleteFromRight.tip=Supprimer la ou les marées sélectionnée(s) de la base de droite +observe.actions.synchro.data.deleteFromRightTask=Supprimer de la base de droite \: %s - %s +observe.actions.synchro.data.description=Synchronisation bi-directionnelle des données utilisateurs +observe.actions.synchro.data.prepare.copyToLeftTask=Préparation de la recopie vers la base de gauche \: %s - %s +observe.actions.synchro.data.prepare.copyToRightTask=Préparation de la recopie vers la base de droite \: %s - %s +observe.actions.synchro.data.prepare.deleteFromLeftTask=Préparation de la suppression de la base de gauche \: %s - %s +observe.actions.synchro.data.prepare.deleteFromRightTask=Préparation de la suppression de la base de droite \: %s - %s +observe.actions.synchro.data.prepare.skipFromLeftTask=Préparation de la non prise en compte de la base de gauche \: %s - %s +observe.actions.synchro.data.prepare.skipFromRightTask=Préparation de la non prise en compte de la base de droite \: %s - %s +observe.actions.synchro.data.step=Synchronisation bi-directionnelle de données +observe.actions.synchro.data.step.description=Synchronisation bi-directionnelle des données utilisateurs +observe.actions.synchro.data.title=Synchronisation bi-directionnelle de données +observe.actions.synchro.data.title.tip=Synchronisation bi-directionnelle des données utilisateurs +observe.actions.synchro.launch.operation=Démarrer l'opération < %1$s > +observe.actions.synchro.prepare.operation=Préparer l'opération <%1$s> +observe.actions.synchro.referential=Synchronisation bi-directionnelle de référentiel +observe.actions.synchro.referential.config.mode=Mode synchronisation +observe.actions.synchro.referential.copyToLeft.tip=Copier le référentiel sélectionné vers la base de gauche +observe.actions.synchro.referential.copyToLeftTask=Copier vers la base de gauche \: %s - %s +observe.actions.synchro.referential.copyToRight.tip=Copier le référentiel sélectionné vers la base de droite +observe.actions.synchro.referential.copyToRightTask=Copier vers la base de droite \: %s - %s +observe.actions.synchro.referential.deleteFromLeft.tip=Supprimer le reférentiel sélectionnée de la base de gauche +observe.actions.synchro.referential.deleteFromLeftTask=Supprimer de la base de gauche \: %s - %s +observe.actions.synchro.referential.deleteFromRight.tip=Supprimer le référentiel sélectionnée de la base de droite +observe.actions.synchro.referential.deleteFromRightTask=Supprimer de la base de droite \: %s - %s +observe.actions.synchro.referential.desactivateFromLeft.tip=Désactiver (sans remplacement) le référentiel sélectionné de la base de gauche +observe.actions.synchro.referential.desactivateFromLeftTask=Désactiver de la base de gauche (sans remplacement) \: %s - %s +observe.actions.synchro.referential.desactivateFromLeftWithReplace.tip=Désactiver (avec remplacement) le référentiel sélectionné de la base de gauche +observe.actions.synchro.referential.desactivateFromLeftWithReplaceTask=Désactiver de la base de gauche (avec remplacement) \: %s - %s +observe.actions.synchro.referential.desactivateFromRight.tip=Désactiver (sans remplacement) le référentiel sélectionné de la base de droite +observe.actions.synchro.referential.desactivateFromRightTask=Désactiver de la base de droite (sans remplacement) \: %s - %s +observe.actions.synchro.referential.desactivateFromRightWithReplace.tip=Désactiver (avec remplacement) le référentiel sélectionné de la base de droite +observe.actions.synchro.referential.desactivateFromRightWithReplaceTask=Désactiver de la base de droite (avec remplacement) \: %s - %s +observe.actions.synchro.referential.description=Synchronisation bi-directionnelle de référentiel +observe.actions.synchro.referential.launch.operation=Démarrer l'opération < %1$s > +observe.actions.synchro.referential.legacy=Synchronisation du référentiel +observe.actions.synchro.referential.legacy.description=Synchroniser le référentiel depuis la base centrale +observe.actions.synchro.referential.legacy.step=Synchronisation Référentiel +observe.actions.synchro.referential.legacy.step.description=Synchronizer le référentiel depuis la base centrale +observe.actions.synchro.referential.legacy.tip=Opération de synchronisation du référentiel de la base locale +observe.actions.synchro.referential.message.apply.done=Référentiel mise à jour le %1$td/%1$tm/%1$tY à %1$tH\:%1$tM\:%1$tS +observe.actions.synchro.referential.message.build.diff=Construction du différentiel de référentiel depuis %1$s +observe.actions.synchro.referential.message.data.leftData.loaded=Données du panneau gauche récupérées. +observe.actions.synchro.referential.message.data.rightData.loaded=Données du panneau droit récupérées. +observe.actions.synchro.referential.message.need.save.for.synchro.operation=L'opération de synchronisation du référentiel a engendrée des modifications. +observe.actions.synchro.referential.message.need.save.for.validation.operation=L'opération de validation des données a engendrée des modifications. +observe.actions.synchro.referential.message.no.local.modification=Aucune donnée de la base locale n'a été modifiée, sauvegarde non requise. +observe.actions.synchro.referential.message.ref.is.updtodate=Le référentiel de la base locale est à jour, aucune correction requise. +observe.actions.synchro.referential.message.referential.leftData.loaded=Le différentiel de référentiel de gauche est chargé. +observe.actions.synchro.referential.message.referential.rightData.loaded=Le différentiel de référentiel de droite est chargé. +observe.actions.synchro.referential.message.referentiel.was.added=Des données (type %1$s) ont été ajoutées au référentiel distant (%2$d objet(s)) +observe.actions.synchro.referential.message.referentiel.was.modified=Des données (type %1$s) ont été modifiées sur le référentiel distant (%2$d objet(s)) +observe.actions.synchro.referential.message.referentiel.was.removed=Des données (type %1$s) ont été supprimées du réferentiel distant (%2$d objet(s)) +observe.actions.synchro.referential.message.referentiel.was.replaced=Des données (type %1$s) ont été remplacées dans le référentiel local (%2$d objet(s)) +observe.actions.synchro.referential.message.saveLocal.skip=L'opération de sauvegarde de la base locale n'est pas requise. +observe.actions.synchro.referential.message.synchro.local.modification=Des données ont été modifiées et la base locale doit être sauvée. +observe.actions.synchro.referential.obsolete.entities.list=Liste des entités du référentiel obsolètes +observe.actions.synchro.referential.obsolete.entity.fix=Changer les références sur l'objet sélectionné +observe.actions.synchro.referential.prepare.copyToLeftTask=Préparation de la recopie vers la base de gauche \: %s - %s +observe.actions.synchro.referential.prepare.copyToRightTask=Préparation de la recopie vers la base de droite \: %s - %s +observe.actions.synchro.referential.prepare.deleteFromLeftTask=Préparation de la suppression de la base de gauche \: %s - %s +observe.actions.synchro.referential.prepare.deleteFromRightTask=Préparation de la suppression de la base de droite \: %s - %s +observe.actions.synchro.referential.prepare.desactivateFromLeftTask=Préparation de la désactivation de la base de gauche (sans remplacement) \: %s - %s +observe.actions.synchro.referential.prepare.desactivateFromLeftWithReplaceTask=Préparation de la désactivation de la base de gauche (avec remplacement) \: %s - %s +observe.actions.synchro.referential.prepare.desactivateFromRightTask=Préparation de la désactivation de la base de droite (sans remplacement) \: %s - %s +observe.actions.synchro.referential.prepare.desactivateFromRightWithReplaceTask=Préparation de la désactivation de la base de droite (avec remplacement) \: %s - %s +observe.actions.synchro.referential.revertFromRightLeft=Préparation du retour en arrière de la base de gauche \: %s - %s +observe.actions.synchro.referential.revertFromRightTask=Préparation du retour en arrière de la base de droite \: %s - %s +observe.actions.synchro.referential.revertToLeft.tip=Revenir en arrière du référentiel sélectionné à gauche +observe.actions.synchro.referential.revertToRight.tip=Revenir en arrière du référentiel sélectionné à gauche +observe.actions.synchro.referential.safe.entity.to.choose.label=Objets disponibles +observe.actions.synchro.referential.skipFromLeftTask=Ne pas tenir compte depuis la base de gauche \: %s - %s +observe.actions.synchro.referential.skipFromRightTask=Ne pas tenir compte depuis la base de droite \: %s - %s +observe.actions.synchro.referential.skipToLeft.tip=Ne rien faire sur le référentiel sélectionné à gauche +observe.actions.synchro.referential.skipToRight.tip=Ne rien faire sur le référentiel sélectionné à droite +observe.actions.synchro.referential.step=Synchronisation bi-directionnelle de référentiel +observe.actions.synchro.referential.step.description=Synchronisation bi-directionnelle de référentiel +observe.actions.synchro.referential.title=Synchronisation bi-directionnelle de référentiel +observe.actions.synchro.referential.title.tip=Synchronisation bi-directionnelle de référentiel +observe.actions.synchro.report.reset.tip=Déselectionner le report courant. +observe.actions.validate=Valider les données +observe.actions.validate.choose.report.directory=Choisir le répertoire des rapports +observe.actions.validate.config=Configuration de la validation +observe.actions.validate.config.report=Rapport de validation +observe.actions.validate.continue.with.no.save.report=Continuer sans sauver de rapport +observe.actions.validate.description=Valider les données de la base source +observe.actions.validate.invalid.data.list=Liste des objets invalides +observe.actions.validate.message.list=Liste des messages portant sur l'objet sélectionné +observe.actions.validate.model.type.all=Données et référentiels +observe.actions.validate.model.type.all.description=Données et référentiels +observe.actions.validate.model.type.data=Données observées +observe.actions.validate.model.type.data.description=Données observées +observe.actions.validate.model.type.referentiel=Référentiel +observe.actions.validate.model.type.referentiel.description=Tous les référentiels +observe.actions.validate.report.contextName=Context de validation utilisé \: %1$s +observe.actions.validate.report.entities.with.messages=Nombre d'entités avec des messages \: %1$s +observe.actions.validate.report.entity=Entité %1$s '%2$s' Nombre de messages %3$s (sur %4$s scope(s)). +observe.actions.validate.report.scopes=Scopes de validation utilisés \: %1$s +observe.actions.validate.report.title=Rapport de validation généré le %1$s +observe.actions.validate.save=Sauver le rapport +observe.actions.validate.save.reportFile=Le rapport de validation sera généré ici\n%1$s +observe.actions.validate.select.context=Contexte de validation +observe.actions.validate.select.context.tip=Choisir le context de validation +observe.actions.validate.select.mode=Type de données à valider +observe.actions.validate.select.mode.tip=Choisir le type de données à valider +observe.actions.validate.select.scope=Niveau de validation +observe.actions.validate.select.scope.tip=Choisir le ou les niveaux de validation +observe.actions.validate.selected.validators=Nombre de validateurs détectés \: %1$s +observe.actions.validate.step=Validation +observe.actions.validate.step.description=Validation des données d'une source de données +observe.actions.validate.title=Validation des données +observe.actions.validate.title.choose.report.directory=Choisir le répertoire de destination des rapports +observe.actions.validate.title.tip=Valider les données d'une source de données +observe.actions.validation.message.detected=Validateur détecté pour le type %1$s +observe.actions.validation.message.not.save.report=Pas de rapport à sauvegarder. +observe.actions.validation.message.nothing.to.do=Les données sont valides et ne nécessitent pas de correction. +observe.actions.validation.message.operation.done=L'opération de validation terminé le %1$td/%1$tm/%1$tY à %1$tH\:%1$tM\:%1$ts. +observe.actions.validation.message.operation.needFix=Vos données ne sont valides et nécessitent des corrections. +observe.actions.validation.message.prepare.validators=Détection des validateurs +observe.actions.validation.message.save.report=Le rapport de validation a été sauvegardé dans le fichier %1$s +observe.actions.validation.message.use.storage=La validation sera effectuée sur %1$s observe.admin.resume.no.operation.done=Aucune opération réalisée. observe.admin.resume.operation.canceled=opération annulée observe.admin.resume.operation.done=opération réussie @@ -587,151 +345,8 @@ observe.admin.resume.operation.need.fix=opération nécessitant des corrections observe.admin.resume.operation.not.started=opération non démarrée observe.admin.resume.operation.running=opération en cours... observe.application.config=configuration d'ObServe -observe.baitsComposition.action.create=Inserer cet appât -observe.baitsComposition.action.create.tip=Inserer cet appât -observe.baitsComposition.baitSettingStatus=État au filage -observe.baitsComposition.baitType=Type d'appât -observe.baitsComposition.individualSize=Taille (cm) -observe.baitsComposition.individualWeight=Poids (kg) -observe.baitsComposition.proportion=Proportion (%) -observe.baitsComposition.proportionSum=Somme des proportions d'appâts (%) -observe.baitsComposition.table.baitSettingStatus=Statut -observe.baitsComposition.table.baitSettingStatus.tip=Statut au filage -observe.baitsComposition.table.baitType=Type d'appât -observe.baitsComposition.table.baitType.tip=Type d'appât -observe.baitsComposition.table.individualSize=Taille (cm) -observe.baitsComposition.table.individualSize.tip=Taille (cm) -observe.baitsComposition.table.individualWeight=Poids (kg) -observe.baitsComposition.table.individualWeight.tip=Poids (kg) -observe.baitsComposition.table.proportion=Proportion (%) -observe.baitsComposition.table.proportion.tip=Proportion (%) -observe.baitsComposition.title=Composition des appâts -observe.basket.cant.delete.message=Le panier ne peut pas être supprimé car il est utilisé dans des données. -observe.basket.cant.delete.title=Impossible de supprimer le panier -observe.basket.invalid.nextFloatline1Length=La longueur d'orin 2 (%s) n'est pas égale à la longueur d'orin 1 du panier suivant (%s) -observe.branchLine.cant.delete.message=L'avançon ne peut pas être supprimé car il est utilisé dans des données. -observe.branchLine.cant.delete.title=Impossible de supprimer l'avançon -observe.branchline.baitHaulingStatus=Statut appât au virage -observe.branchline.baitSettingStatus=Statut appât au filage -observe.branchline.baitType=Type d'appât -observe.branchline.comment=Commentaire -observe.branchline.depthRecorder=Enregistreur de profondeur -observe.branchline.hookLost=Hameçon perdu -observe.branchline.hookOffset=Offset hameçon (°) -observe.branchline.hookSize=Taille d'hameçon -observe.branchline.hookType=Type d'hameçon -observe.branchline.message.modified=L'avançon en cours d'édition a été modifié et est valide. -observe.branchline.message.modified.but.invalid=L'avançon en cours d'édition a été modifié, mais n'est pas valide. -observe.branchline.snapWeight=Poids snap (kg) -observe.branchline.swivelWeight=Poids émerillon (kg) -observe.branchline.tab.general=Généralités -observe.branchline.tab.hookAndBait=Hameçon et appât -observe.branchline.timeSinceContact=Temps depuis déclenchement -observe.branchline.timer=Horloge -observe.branchline.timerTimeOnBoard=Horodatage de montée à bord -observe.branchline.title=Détail de l'avançon -observe.branchline.topType=Type partie supérieure -observe.branchline.traceCutOff=Bas de ligne coupé -observe.branchline.tracelineType=Type bas de ligne -observe.branchline.weightedSnap=Snap plombé -observe.branchline.weightedSwivel=Émerillon plombé -observe.branchlinesComposition.action.create=Inserer cet avançon -observe.branchlinesComposition.action.create.tip=Inserer cet avançon -observe.branchlinesComposition.length=Longueur (m) -observe.branchlinesComposition.proportion=Proportion (%) -observe.branchlinesComposition.proportionSum=Somme des proportions d'avançons (%) -observe.branchlinesComposition.table.length=Longueur (m) -observe.branchlinesComposition.table.length.tip=Longueur (m) -observe.branchlinesComposition.table.proportion=Proportion (%) -observe.branchlinesComposition.table.proportion.tip=Proportion (%) -observe.branchlinesComposition.table.topType=Type partie supérieure -observe.branchlinesComposition.table.topType.tip=Type partie supérieure -observe.branchlinesComposition.table.tracelineType=Type basse de ligne -observe.branchlinesComposition.table.tracelineType.tip=Type bas de ligne -observe.branchlinesComposition.title=Composition des avançons -observe.branchlinesComposition.topType=Type partie supérieure -observe.branchlinesComposition.tracelineType=Type bas de ligne -observe.broughtOnDeck.comment=Seules les espèces montées sur le pont pourront être échantillonnées observe.catchAcquisitionModeEnum.GROUPED=Groupé observe.catchAcquisitionModeEnum.INDIVIDUAL=Par individu -observe.catchLongline.acquisitionMode=Mode de saisie -observe.catchLongline.action.addSizeMeasure=Ajout -observe.catchLongline.action.addSizeMeasure.tip=Ajouter une nouvelle mesure de la taille -observe.catchLongline.action.addWeightMeasure=Ajout -observe.catchLongline.action.addWeightMeasure.tip=Ajouter une nouvelle mesure du poids -observe.catchLongline.action.create=Insérer cette capture -observe.catchLongline.action.create.tip=Insérer cette capture -observe.catchLongline.action.deleteSelectedSizeMeasure=Supprimer -observe.catchLongline.action.deleteSelectedSizeMeasure.tip=Supprimer la mesure de la taille -observe.catchLongline.action.deleteSelectedWeightMeasure=Supprimer -observe.catchLongline.action.deleteSelectedWeightMeasure.tip=Supprimer la mesure du poids -observe.catchLongline.action.new=Nouvelle capture -observe.catchLongline.action.new.tip=Créér une nouvelle capture -observe.catchLongline.action.reset.photoReferences.tip=Réinitiliser les références photo -observe.catchLongline.availablePredator=Prédateurs disponibles -observe.catchLongline.basket=Panier -observe.catchLongline.beatDiameter=Diamètre de la morsure -observe.catchLongline.branchline=Avançon -observe.catchLongline.catchFateLongline=Devenir -observe.catchLongline.catchHealthness=Santé à la capture -observe.catchLongline.comment=Commentaire -observe.catchLongline.count=Nombre -observe.catchLongline.depredated=Victime de déprédation -observe.catchLongline.discardHealthness=Santé au rejet -observe.catchLongline.gonadeWeight=Poids des gonades (g) -observe.catchLongline.hookPosition=Position de l'hameçon -observe.catchLongline.hookWhenDiscarded=Rejeté avec hameçon -observe.catchLongline.locationOnLongline=Position sur la ligne -observe.catchLongline.maturityStatus=Maturité sexuelle -observe.catchLongline.photoReferences=Références photo -observe.catchLongline.predator=Prédateurs -observe.catchLongline.resetBranchline=Annuler -observe.catchLongline.resetBranchline.tip=Annuler les modifications sur l'avançon -observe.catchLongline.saveBranchline=Enregister l'avançon -observe.catchLongline.saveBranchline.tip=Enregister les modifications sur l'avançon -observe.catchLongline.section=Section -observe.catchLongline.selectedPredator=Prédateurs sélectionnés -observe.catchLongline.sex=Sexe -observe.catchLongline.speciesCatch=Espèce -observe.catchLongline.stomacFullness=État de l'estomac -observe.catchLongline.tab.branchline=Avançon -observe.catchLongline.tab.caracteristics=Caractéristiques -observe.catchLongline.tab.depredated=Déprédation -observe.catchLongline.tab.foodAndSexual=Alimentation et maturité sexuelle -observe.catchLongline.tab.sizeMeasures=Tailles (cm) -observe.catchLongline.tab.weightMeasures=Poids (kg) -observe.catchLongline.title=Captures -observe.catchLongline.totalWeight=Poids total (kg) -observe.catchlongline.table.acquisitionMode=Mode -observe.catchlongline.table.acquisitionMode.tip=Mode de saisie -observe.catchlongline.table.basketHaulingId=N° panier -observe.catchlongline.table.basketHaulingId.tip=Numéro de virage du panier -observe.catchlongline.table.branchlineHaulingId=N° avançon -observe.catchlongline.table.branchlineHaulingId.tip=Numéro de virage de l'avançon -observe.catchlongline.table.catchFateLongline=Devenir -observe.catchlongline.table.catchFateLongline.tip=Devenir -observe.catchlongline.table.catchHealthness=État -observe.catchlongline.table.catchHealthness.tip=État à la capture -observe.catchlongline.table.comment=Commentaire -observe.catchlongline.table.comment.tip=Commentaire -observe.catchlongline.table.count=Nombre -observe.catchlongline.table.count.tip=Nombre -observe.catchlongline.table.depredated=Déprédation -observe.catchlongline.table.depredated.tip=Victime de déprédation -observe.catchlongline.table.discardHealthness=Santé au rejet -observe.catchlongline.table.discardHealthness.tip=Santé au rejet -observe.catchlongline.table.sectionHaulingId=N° section -observe.catchlongline.table.sectionHaulingId.tip=Numéro de virage de la section -observe.catchlongline.table.size=Mesure (cm) -observe.catchlongline.table.size.tip=Mesure (cm) -observe.catchlongline.table.sizeMeasureType=Type de mesure -observe.catchlongline.table.sizeMeasureType.tip=Type de mesure -observe.catchlongline.table.speciesCatch=Espèce -observe.catchlongline.table.speciesCatch.tip=Espèce -observe.catchlongline.table.weight=Mesure (kg) -observe.catchlongline.table.weight.tip=Mesure (kg) -observe.catchlongline.table.weightMeasureType=Type de mesure -observe.catchlongline.table.weightMeasureType.tip=Type de mesure observe.choice.cancel=Annuler observe.choice.confirm.delete=Supprimer observe.choice.continue=Continuer @@ -881,15 +496,6 @@ observe.common.schoolType=Type de banc observe.common.scientificLabel=Libellé scientifique observe.common.seaSurfaceTemperature=Température surface (°) observe.common.searchMaximum=Vitesse maximale -observe.common.select.report.file=Fichier de définition de reports -observe.common.select.report.file.tip=Choisir le fichier de définition des reports -observe.common.select.validate.context=Contexte de validation -observe.common.select.validate.context.tip=Choisir le context de validation -observe.common.select.validate.mode=Type de données à valider -observe.common.select.validate.mode.tip=Choisir le type de données à valider -observe.common.select.validate.scope=Niveau de validation -observe.common.select.validate.scope.tip=Choisir le ou les niveaux de validation -observe.common.selected.validators=Nombre de validateurs détectés \: %1$s observe.common.sex=Sexe observe.common.species=Espèce observe.common.speciesFate=Devenir espèce @@ -1036,305 +642,1179 @@ observe.config.ui.showNumberEditorButton=Pour afficher le bouton qui permet d'ut observe.config.ui.showTimeEditorSlider=Pour afficher la réglette d'édition des heures observe.config.ui.storeRemoteStorage=Pour activer la sauvegarde de la configuration de la source distante observe.config.ui.treeOpenNodes=Noeuds de l'arbre ouverts lors de la dernière fermeture de la base -observe.configuration.description= +observe.configuration.description=Configuration de l'application +observe.content.action.activity=Créer une nouvelle activité +observe.content.action.activity.tip=Créer une nouvelle activité pour la route courante +observe.content.action.baitHaulingStatus.create.tip=Créer un nouveau statut de l'appât au virage +observe.content.action.baitHaulingStatus.delete.tip=Supprimer le statut de l'appât au virage sélectionné +observe.content.action.baitHaulingStatus.detail.tip=Voir les détails du statut de l'appât au virage sélectionné +observe.content.action.baitHaulingStatus.modify.tip=Modifier le statut de l'appât au virage sélectionné +observe.content.action.baitHaulingStatus.save.tip=Sauver les modifications du statuts de l'appât au virage +observe.content.action.baitSettingStatus.create.tip=Créer un nouveau statut de l'appât au filage +observe.content.action.baitSettingStatus.delete.tip=Supprimer le statut de l'appât au filage sélectionné +observe.content.action.baitSettingStatus.detail.tip=Voir les détails du statut de l'appât au filage sélectionné +observe.content.action.baitSettingStatus.modify.tip=Modifier le statut de l'appât au filage sélectionné +observe.content.action.baitSettingStatus.save.tip=Sauver les modifications du statut de l'appât au filage +observe.content.action.baitType.create.tip=Créer un nouveau type d'appât +observe.content.action.baitType.delete.tip=Supprimer le type d'appât sélectionné +observe.content.action.baitType.detail.tip=Voir les détails du type d'appât sélectionné +observe.content.action.baitType.modify.tip=Modifier le type d'appât sélectionné +observe.content.action.baitType.save.tip=Sauver les modifications du type d'appât +observe.content.action.catchFateLongline.create.tip=Créer un nouveau devenir capture +observe.content.action.catchFateLongline.delete.tip=Supprimer le devenir capture sélectionné +observe.content.action.catchFateLongline.detail.tip=Voir les détails du devenir capture sélectionné +observe.content.action.catchFateLongline.modify.tip=Modifier le devenir capture sélectionné +observe.content.action.catchFateLongline.save.tip=Sauver les modifications du devenir capture +observe.content.action.closeAndCreate=Clôturer et créer +observe.content.action.closeAndCreate.activity=Activité suivante +observe.content.action.closeAndCreate.activity.tip=Clôturer l'activite courante et en créer une nouvelle +observe.content.action.closeAndCreate.maree=Marée suivante +observe.content.action.closeAndCreate.maree.tip=Clôturer la marée courante et en créer une nouvelle +observe.content.action.closeAndCreate.route=Route suivante +observe.content.action.closeAndCreate.route.tip=Clôturer la route courante et en créer une nouvelle +observe.content.action.closeAndCreate.tip=Clôturer l'élément courant et en créer un nouveau +observe.content.action.country.create.tip=Créer un nouveau pays +observe.content.action.country.delete.tip=Supprimer le pays sélectionné +observe.content.action.country.detail.tip=Voir les détails du pays sélectionné +observe.content.action.country.modify.tip=Modifier le pays sélectionné +observe.content.action.country.save.tip=Sauver les modifications du pays +observe.content.action.create.entry.tip=Créer une nouvelle entrée +observe.content.action.create.gearUseFeaturesSeine=Créer un équipement +observe.content.action.create.gearUseFeaturesSeine.tip=Créer un nouvel équipement +observe.content.action.create.nonTargetCatch=Insérer cette espèce / poids / devenir +observe.content.action.create.nonTargetCatch.tip=Insérer cette espèce / poids / devenir +observe.content.action.create.nonTargetSample=Insérer cet échantillon +observe.content.action.create.nonTargetSample.tip=Insérer cet échantillon de faune accessoire +observe.content.action.create.objectObservedSpecies=Insérer +observe.content.action.create.objectObservedSpecies.tip=Insérer l'espèce faune observée +observe.content.action.create.route=Créer une nouvelle route +observe.content.action.create.route.tip=Créer une nouvelle route pour la marée courante +observe.content.action.create.schoolEstimate=Insérer cette estimation +observe.content.action.create.schoolEstimate.tip=Insérer la nouvelle estimation dans la table +observe.content.action.create.targetCatch=Insérer cette capture / catégorie +observe.content.action.create.targetCatch.tip=Insérer cette capture / catégorie +observe.content.action.create.targetDiscarded=Insérer ce rejet / catégorie / raison +observe.content.action.create.targetDiscarded.tip=Insérer ce rejet / catégorie / raison +observe.content.action.create.targetSample=Insérer cet échantillon +observe.content.action.create.targetSample.tip=Insérer cet échantillon de thon rejeté +observe.content.action.create.targetSampleCapture=Insérer cet échantillon +observe.content.action.create.targetSampleCapture.tip=Insérer cet échantillon de thon capturé +observe.content.action.detectionMode.create.tip=Créer un nouveau mode détection +observe.content.action.detectionMode.delete.tip=Supprimer le mode de détection sélectionné +observe.content.action.detectionMode.detail.tip=Voir les détails du mode détection sélectionné +observe.content.action.detectionMode.modify.tip=Modifier le mode de détection sélectionné +observe.content.action.detectionMode.save.tip=Sauver les modifications du mode de détection +observe.content.action.encounterType.create.tip=Créer un nouveau type de rencontre +observe.content.action.encounterType.delete.tip=Supprimer le type de rencontre sélectionné +observe.content.action.encounterType.detail.tip=Voir les détails du type de rencontre sélectionné +observe.content.action.encounterType.modify.tip=Modifier le type de rencontre sélectionné +observe.content.action.encounterType.save.tip=Sauver les modifications du type de rencontre +observe.content.action.fpaZone.create.tip=Créer une nouvelle zone FPA +observe.content.action.fpaZone.delete.tip=Supprimer la zone FPA sélectionnée +observe.content.action.fpaZone.detail.tip=Voir les détails de la zone FPA sélectionnée +observe.content.action.fpaZone.modify.tip=Modifier la zone FPA sélectionnée +observe.content.action.fpaZone.save.tip=Sauver les modifications de la zone FPA +observe.content.action.gear.create.tip=Créer un nouvel équipment +observe.content.action.gear.delete.tip=Supprimer l'équipment sélectionné +observe.content.action.gear.detail.tip=Voir les détails de l'équipment sélectionné +observe.content.action.gear.modify.tip=Modifier l'équipment sélectionné +observe.content.action.gear.save.tip=Sauver les modifications de l'équipment +observe.content.action.gearCaracteristic.create.tip=Créer une nouvelle caractéristique +observe.content.action.gearCaracteristic.delete.tip=Supprimer la caractéristique sélectionnée +observe.content.action.gearCaracteristic.detail.tip=Voir les détails de la caractéristique sélectionnée +observe.content.action.gearCaracteristic.modify.tip=Modifier la caractéristique sélectionnée +observe.content.action.gearCaracteristic.save.tip=Sauver les modifications de la caractéristique +observe.content.action.gearCaracteristicType.create.tip=Créer un nouveau type de caractéristique +observe.content.action.gearCaracteristicType.delete.tip=Supprimer le type de caractéristique sélectionné +observe.content.action.gearCaracteristicType.detail.tip=Voir les détails du type de caractéristique sélectionné +observe.content.action.gearCaracteristicType.modify.tip=Modifier le type de caractéristique sélectionné +observe.content.action.gearCaracteristicType.save.tip=Sauver les modifications du type de caractéristique +observe.content.action.gearUseFeaturesLongline=Créer un équipement +observe.content.action.gearUseFeaturesLongline.tip=Créer un nouvel équipement +observe.content.action.goto.open.activity=Accéder à l'activité ouverte +observe.content.action.goto.open.activity.short=Activité ouverte +observe.content.action.goto.open.activity.tip=Accéder à l'activité ouverte +observe.content.action.goto.open.maree=Accéder à la marée ouverte +observe.content.action.goto.open.other.activity=Accéder à l'activité ouverte dans une autre route +observe.content.action.goto.open.other.activity.tip=Accéder à l'activité ouverte (dans une autre route) +observe.content.action.goto.open.other.maree=Accéder à la marée ouverte dans un autre program +observe.content.action.goto.open.other.maree.tip=Accéder à la marée ouverte (dans un autre program) +observe.content.action.goto.open.other.route=Accéder à la route ouverte dans une autre marée +observe.content.action.goto.open.other.route.tip=Accéder à la route ouverte (dans une autre marée) +observe.content.action.goto.open.program.short=Programme ouvert +observe.content.action.goto.open.program.tip=Accéder au programme ouvert +observe.content.action.goto.open.route=Accéder à la route ouverte +observe.content.action.goto.open.route.short=Route ouverte +observe.content.action.goto.open.route.tip=Accéder à la route ouverte +observe.content.action.goto.open.set.short=Calée ouverte +observe.content.action.goto.open.set.tip=Accéder à la calée ouverte +observe.content.action.goto.open.trip.short=Marée ouverte +observe.content.action.goto.open.trip.tip=Accéder à la marée ouverte +observe.content.action.goto.selected.activity=Accéder à l'activité +observe.content.action.goto.selected.activity.tip=Accéder à l'activité sélectionnée +observe.content.action.goto.selected.maree=Accéder à la marée +observe.content.action.goto.selected.maree.tip=Accéder à la marée sélectionnée +observe.content.action.goto.selected.route=Accéder à la route +observe.content.action.goto.selected.route.tip=Accéder à la route sélectionnée +observe.content.action.harbour.create.tip=Créer un nouveau port +observe.content.action.harbour.delete.tip=Supprimer le port sélectionné +observe.content.action.harbour.detail.tip=Voir les détails du port sélectionné +observe.content.action.harbour.modify.tip=Modifier le port sélectionné +observe.content.action.harbour.save.tip=Sauver les modifications du port +observe.content.action.healthness.create.tip=Créer un nouveau statut de capture +observe.content.action.healthness.delete.tip=Supprimer le statut de santé sélectionné +observe.content.action.healthness.detail.tip=Voir les détails du statut de santé sélectionné +observe.content.action.healthness.modify.tip=Modifier le statut de santé sélectionné +observe.content.action.healthness.save.tip=Sauver les modifications du statut de santé +observe.content.action.hookPosition.create.tip=Créer une nouvelle position d'hameçon +observe.content.action.hookPosition.delete.tip=Supprimer la position d'hameçon sélectionnée +observe.content.action.hookPosition.detail.tip=Voir les détails de la position d'hameçon sélectionnée +observe.content.action.hookPosition.modify.tip=Modifier la position d'hameçon sélectionnée +observe.content.action.hookPosition.save.tip=Sauver les modifications de la position d'hameçon +observe.content.action.hookSize.create.tip=Créer une nouvelle taille d'hameçon +observe.content.action.hookSize.delete.tip=Supprimer la taille d'hameçon sélectionné +observe.content.action.hookSize.detail.tip=Voir les détails de la taille d'hameçon sélectionné +observe.content.action.hookSize.modify.tip=Modifier la taille d'hameçon sélectionné +observe.content.action.hookSize.save.tip=Sauver les modifications du type de hameçon +observe.content.action.hookType.create.tip=Créer un nouveau type d'hameçon +observe.content.action.hookType.delete.tip=Supprimer le type d'hameçon sélectionné +observe.content.action.hookType.detail.tip=Voir les détails du type d'hameçon sélectionné +observe.content.action.hookType.modify.tip=Modifier le type d'hameçon sélectionné +observe.content.action.hookType.save.tip=Sauver les modifications du type d'hameçon +observe.content.action.itemHorizontalPosition.create.tip=Créer une nouvelle localisation de l'élément sur la ligne mère +observe.content.action.itemHorizontalPosition.delete.tip=Supprimer la localisation de l'élément sur la ligne mère sélectionnée +observe.content.action.itemHorizontalPosition.detail.tip=Voir les détails de la localisation de l'élément sur la ligne mère sélectionnée +observe.content.action.itemHorizontalPosition.modify.tip=Modifier la localisation de l'élément sur la ligne mère sélectionnée +observe.content.action.itemHorizontalPosition.save.tip=Sauver les modifications de la localisation de l'élément sur la ligne mère +observe.content.action.itemVerticalPosition.create.tip=Créer une nouvelle localisation de l'élément sur l'avançon +observe.content.action.itemVerticalPosition.delete.tip=Supprimer la localisation de l'élément sur l'avançon sélectionnée +observe.content.action.itemVerticalPosition.detail.tip=Voir les détails de la localisation de l'élément sur l'avançon sélectionnée +observe.content.action.itemVerticalPosition.modify.tip=Modifier la localisation de l'élément sur l'avançon sélectionnée +observe.content.action.itemVerticalPosition.save.tip=Sauver les modifications de la localisation de l'élément sur l'avançon +observe.content.action.lengthWeightParameter.create.tip=Créer un nouveau paramétrage taille-poids +observe.content.action.lengthWeightParameter.delete.tip=Supprimer le paramétrage taille-poids sélectionné +observe.content.action.lengthWeightParameter.detail.tip=Voir les détails du paramétrage taille-poids +observe.content.action.lengthWeightParameter.modify.tip=Modifier le paramétrage taille-poids +observe.content.action.lengthWeightParameter.save.tip=Sauver les modifications du paramétrage taille-poids +observe.content.action.lightsticksColor.create.tip=Créer une nouvelle couleur de baton lumineux +observe.content.action.lightsticksColor.delete.tip=Supprimer la couleur de baton lumineux sélectionnée +observe.content.action.lightsticksColor.detail.tip=Voir les détails de la couleur de baton lumineux sélectionnée +observe.content.action.lightsticksColor.modify.tip=Modifier la couleur de baton lumineux sélectionnée +observe.content.action.lightsticksColor.save.tip=Sauver les modifications de la couleur de baton lumineux +observe.content.action.lightsticksType.create.tip=Créer un nouveau type de baton lumineux +observe.content.action.lightsticksType.delete.tip=Supprimer le type de baton lumineux sélectionné +observe.content.action.lightsticksType.detail.tip=Voir les détails du type de baton lumineux sélectionné +observe.content.action.lightsticksType.modify.tip=Modifier le type de baton lumineux sélectionné +observe.content.action.lightsticksType.save.tip=Sauver les modifications du type de baton lumineux +observe.content.action.lineType.create.tip=Créer un nouveau type de ligne +observe.content.action.lineType.delete.tip=Supprimer le type de ligne sélectionné +observe.content.action.lineType.detail.tip=Voir les détails du type de ligne sélectionné +observe.content.action.lineType.modify.tip=Modifier le type de ligne sélectionné +observe.content.action.lineType.save.tip=Sauver les modifications du type de ligne +observe.content.action.maturityStatus.create.tip=Créer une nouvelle maturité +observe.content.action.maturityStatus.delete.tip=Supprimer le maturité sélectionnée +observe.content.action.maturityStatus.detail.tip=Voir les détails de la maturité sélectionnée +observe.content.action.maturityStatus.modify.tip=Modifier la maturité sélectionnée +observe.content.action.maturityStatus.save.tip=Sauver les modifications de la maturité +observe.content.action.mitigationType.create.tip=Créer un nouveau type de mesure d'atténuation +observe.content.action.mitigationType.delete.tip=Supprimer le type de mesure d'atténuation sélectionné +observe.content.action.mitigationType.detail.tip=Voir les détails du type de mesure d'atténuation sélectionné +observe.content.action.mitigationType.modify.tip=Modifier le type de mesure d'atténuation sélectionné +observe.content.action.mitigationType.save.tip=Sauver les modifications du type de mesure d'atténuation +observe.content.action.move.activities= +observe.content.action.move.activities.longline=Changer de marée +observe.content.action.move.activities.longline.tip=Changer la marée des activités sélectionnées +observe.content.action.move.activities.seine=Changer de route +observe.content.action.move.activities.seine.tip=Changer la route des activités sélectionnées +observe.content.action.move.activities.tip= +observe.content.action.move.routes=Changer de marée +observe.content.action.move.routes.tip=Changer la marée des routes sélectionnées +observe.content.action.move.trips=Changer de programme +observe.content.action.move.trips.tip=Changer le programme des marées sélectionnées +observe.content.action.objectFate.create.tip=Créer un nouveau devenir objet +observe.content.action.objectFate.delete.tip=Supprimer le devenir objet sélectionné +observe.content.action.objectFate.detail.tip=Voir les détails du devenir objet sélectionné +observe.content.action.objectFate.modify.tip=Modifier le devenir objet sélectionné +observe.content.action.objectFate.save.tip=Sauver les modifications du devenir objet +observe.content.action.objectOperation.create.tip=Créer une nouvelle opération objet +observe.content.action.objectOperation.delete.tip=Supprimer l'opération objet sélectionné +observe.content.action.objectOperation.detail.tip=Voir les détails de l'opération objet sélectionnée +observe.content.action.objectOperation.modify.tip=Modifier l'opération objet sélectionnée +observe.content.action.objectOperation.save.tip=Sauver les modifications de l'opération objet +observe.content.action.objectType.create.tip=Créer un nouveau type d'objet +observe.content.action.objectType.delete.tip=Supprimer le type d'objet sélectionné +observe.content.action.objectType.detail.tip=Voir les détails du type d'objet sélectionné +observe.content.action.objectType.modify.tip=Modifier le type d'objet sélectionné +observe.content.action.objectType.save.tip=Sauver les modifications du type d'objet +observe.content.action.observedSystem.create.tip=Créer un nouveau système observé +observe.content.action.observedSystem.delete.tip=Supprimer le système observé sélectionné +observe.content.action.observedSystem.detail.tip=Voir les détails du système observé sélectionné +observe.content.action.observedSystem.modify.tip=Modifier le système observé sélectionné +observe.content.action.observedSystem.save.tip=Sauver les modifications du système observé +observe.content.action.ocean.create.tip=Créer un nouvel océan +observe.content.action.ocean.delete.tip=Supprimer l'océan sélectionné +observe.content.action.ocean.detail.tip=Voir les détails sur l'océan sélectionné +observe.content.action.ocean.modify.tip=Modifier l'océan sélectionné +observe.content.action.ocean.save.tip=Sauver les modifications sur l'ocean +observe.content.action.openLink.formsUrl.tip=Accéder aux formulaires dans un navigateur web +observe.content.action.openLink.reportsUrl.tip=Accéder aux rapports dans un navigateur web +observe.content.action.organism.create.tip=Créer un nouvel organisme +observe.content.action.organism.delete.tip=Supprimer l'organisme sélectionné +observe.content.action.organism.detail.tip=Voir les détaile de l'organisme +observe.content.action.organism.modify.tip=Modifier l'organisme sélectionné +observe.content.action.organism.save.tip=Sauver les modifications de l'organisme +observe.content.action.person.create.tip=Créer un nouvelle personne +observe.content.action.person.delete.tip=Supprimer la personne sélectionnée +observe.content.action.person.detail.tip=Voir les détails de la personne sélectionnée +observe.content.action.person.modify.tip=Modifier la personne sélectionnée +observe.content.action.person.save.tip=Sauver les modifications sur la personne +observe.content.action.program.create.tip=Créer un nouveau programme +observe.content.action.program.delete.tip=Supprimer le programme sélectionné +observe.content.action.program.detail.tip=Voir les détails du programme sélectionné +observe.content.action.program.modify.tip=Modifier le programme sélectionné +observe.content.action.program.save.tip=Sauver les modifications sur le programme +observe.content.action.reasonForDiscard.create.tip=Créer une nouvelle raison de rejet +observe.content.action.reasonForDiscard.delete.tip=Supprimer la raison de rejet sélectionnée +observe.content.action.reasonForDiscard.detail.tip=voir les détail de la raison de rejet sélectionnée +observe.content.action.reasonForDiscard.modify.tip=Modifier la raison de rejet sélectionnée +observe.content.action.reasonForDiscard.save.tip=Sauver les modifications du raison de rejet +observe.content.action.reasonForNoFishing.create.tip=Créer une nouvelle raison de non coup de senne +observe.content.action.reasonForNoFishing.delete.tip=Supprimer la raison de non coup de senne sélectionné +observe.content.action.reasonForNoFishing.detail.tip=Voir les détails de la raison de non coup de senne sélectionnée +observe.content.action.reasonForNoFishing.modify.tip=Modifier la raison de non coup de senne sélectionnée +observe.content.action.reasonForNoFishing.save.tip=Sauver les modifications de la raison de non coup de senne +observe.content.action.reasonForNullSet.create.tip=Créer une nouvelle cause de coup nul +observe.content.action.reasonForNullSet.delete.tip=Supprimer la cause de coup nul sélectionnée +observe.content.action.reasonForNullSet.detail.tip=Voir les détails de la cause de coup nul sélectionnée +observe.content.action.reasonForNullSet.modify.tip=Modifier la cause de coup nul sélectionnée +observe.content.action.reasonForNullSet.save.tip=Sauver les modifications du cause de coup nul +observe.content.action.reopen=Réouvrir +observe.content.action.reopen.activity.tip=Réouvrir l'activité +observe.content.action.reopen.maree.tip=Réouvrir la marée +observe.content.action.reopen.route.tip=Réouvrir la route +observe.content.action.reopen.selected.activity=Réouvrir l'activité +observe.content.action.reopen.selected.activity.tip=Réouvrir l'activité sélectionnée +observe.content.action.reopen.selected.maree=Réouvrir la marée +observe.content.action.reopen.selected.maree.tip=Réouvrir la marée sélectionnée +observe.content.action.reopen.selected.route=Réouvrir la route +observe.content.action.reopen.selected.route.tip=Réouvrir la route sélectionnée +observe.content.action.reopen.tip=Réouvrir la donnée +observe.content.action.reset=Annuler +observe.content.action.reset.entry.tip=Réinitialiser l'entré en cours d'édition +observe.content.action.reset.ersId.tip=Réinitialiser l'id ERS +observe.content.action.reset.formsUrl.tip=Réinitialiser l'url des formulaires +observe.content.action.reset.homeId.tip=Réinitialiser +observe.content.action.reset.new.entry.tip=Annuler la création de la nouvelle entrée +observe.content.action.reset.picturesReferences.tip=Réinitialiser +observe.content.action.reset.reportsUrl.tip=Réinitialiser l'url des rapports +observe.content.action.reset.supportVesselName.tip=Réinitialiser +observe.content.action.reset.tip=Annuler les modifications +observe.content.action.reset.well.tip=Réinitialiser +observe.content.action.sensorBrand.create.tip=Créer une nouvelle marque de capteur +observe.content.action.sensorBrand.delete.tip=Supprimer la marque de capteur sélectionnée +observe.content.action.sensorBrand.detail.tip=Voir les détails de la marque de capteur sélectionnée +observe.content.action.sensorBrand.modify.tip=Modifier la marque de capteur sélectionnée +observe.content.action.sensorBrand.save.tip=Sauver les modifications de la marque de capteur +observe.content.action.sensorDataFormat.create.tip=Créer un nouveau format de données de capteur +observe.content.action.sensorDataFormat.delete.tip=Supprimer le format de données de capteur sélectionné +observe.content.action.sensorDataFormat.detail.tip=Voir les détails du format de données de capteur sélectionné +observe.content.action.sensorDataFormat.modify.tip=Modifier le format de données de capteur sélectionné +observe.content.action.sensorDataFormat.save.tip=Sauver les modifications du format de données de capteur +observe.content.action.sensorType.create.tip=Créer un nouveau type de capteur +observe.content.action.sensorType.delete.tip=Supprimer le type de capteur sélectionné +observe.content.action.sensorType.detail.tip=Voir les détails du type de capteur sélectionné +observe.content.action.sensorType.modify.tip=Modifier le type de capteur sélectionné +observe.content.action.sensorType.save.tip=Sauver les modifications du type de capteur +observe.content.action.settingShape.create.tip=Créer une nouvelle forme au filage +observe.content.action.settingShape.delete.tip=Supprimer la forme au filage sélectionnée +observe.content.action.settingShape.detail.tip=Voir les détails de la forme au filage sélectionnée +observe.content.action.settingShape.modify.tip=Modifier la forme au filage sélectionnée +observe.content.action.settingShape.save.tip=Sauver les modifications de la forme au filage +observe.content.action.sex.create.tip=Créer un nouveau sexe +observe.content.action.sex.delete.tip=Supprimer le sexe sélectionné +observe.content.action.sex.detail.tip=Voir les détails du sexe sélectionné +observe.content.action.sex.modify.tip=Modifier le sexe sélectionné +observe.content.action.sex.save.tip=Sauver les modifications du sexe +observe.content.action.sizeMeasureType.create.tip=Créer un nouveau type de mesure de taille +observe.content.action.sizeMeasureType.delete.tip=Supprimer le type de mesure de taille sélectionné +observe.content.action.sizeMeasureType.detail.tip=Voir les détails du type de mesure de taille sélectionné +observe.content.action.sizeMeasureType.modify.tip=Modifier le type de mesure de taille sélectionné +observe.content.action.sizeMeasureType.save.tip=Sauver les modifications du type de mesure de taille +observe.content.action.species.create.tip=Créer une nouvelle espèce +observe.content.action.species.delete.tip=Supprimer l'espèce sélectionnée +observe.content.action.species.detail.tip=Voir les détails de l'espèce sélectionnée +observe.content.action.species.modify.tip=Modifier l'espèce sélectionnée +observe.content.action.species.save.tip=Sauver les modifications de l'espèce +observe.content.action.speciesFate.create.tip=Créer un nouveau devenir +observe.content.action.speciesFate.delete.tip=Supprimer le devenir sélectionné +observe.content.action.speciesFate.detail.tip=Voir les détails du devenir sélectionné +observe.content.action.speciesFate.modify.tip=Modifier le devenir sélectionné +observe.content.action.speciesFate.save.tip=Sauver les modifications du devenir +observe.content.action.speciesGroupSpecies.create.tip=Créer un nouveau groupe d'espèce +observe.content.action.speciesGroupSpecies.delete.tip=Supprimer le groupe d'espèce sélectionné +observe.content.action.speciesGroupSpecies.detail.tip=Voir les détails du groupe d'espèce sélectionné +observe.content.action.speciesGroupSpecies.modify.tip=Modifier le groupe d'espèce sélectionné +observe.content.action.speciesGroupSpecies.save.tip=Sauver les modifications du groupe d'espèce +observe.content.action.speciesList.create.tip=Créer une nouvelle liste d'espèce +observe.content.action.speciesList.delete.tip=Supprimer la liste d'espèce sélectionnée +observe.content.action.speciesList.detail.tip=Voir les détails de la liste d'espèce sélectionnée +observe.content.action.speciesList.modify.tip=Modifier la liste d'espèce sélectionnée +observe.content.action.speciesStatus.create.tip=Créer un nouveau statut d'espèce +observe.content.action.speciesStatus.delete.tip=Supprimer le statut d'espèce sélectionné +observe.content.action.speciesStatus.detail.tip=Voir les détails du statut d'espèce sélectionné +observe.content.action.speciesStatus.modify.tip=Modifier le statut d'espèce sélectionné +observe.content.action.speciesStatus.save.tip=Sauver les modifications du statut d'espèce +observe.content.action.stomacFullness.create.tip=Créer un nouveau niveau de remplissage de l'estomac +observe.content.action.stomacFullness.delete.tip=Supprimer le niveau de remplissage de l'estomac sélectionné +observe.content.action.stomacFullness.detail.tip=Voir les détails du niveau de remplissage de l'estomac sélectionné +observe.content.action.stomacFullness.modify.tip=Modifier le niveau de remplissage de l'estomac sélectionné +observe.content.action.stomacFullness.save.tip=Sauver les modifications du niveau de remplissage de l'estomac +observe.content.action.surroundingActivity.create.tip=Créer un nouvelle activité environnante +observe.content.action.surroundingActivity.delete.tip=Supprimer l'activité environnante sélectionnée +observe.content.action.surroundingActivity.detail.tip=Voir les détails de l'activité environnante sélectionnée +observe.content.action.surroundingActivity.modify.tip=Modifier l'activité environnante sélectionnée +observe.content.action.surroundingActivity.save.tip=Sauver les modifications de l'activité environnante +observe.content.action.transmittingBuoyOperation.create.tip=Créer une nouvelle opération sur balise +observe.content.action.transmittingBuoyOperation.delete.tip=Supprimer l'opération sur balise sélectionné +observe.content.action.transmittingBuoyOperation.detail.tip=Voir les détails de l'opération sur balise sélectionnée +observe.content.action.transmittingBuoyOperation.modify.tip=Modifier l'opération sur balise sélectionnée +observe.content.action.transmittingBuoyOperation.save.tip=Sauver les modifications de l'opération sur balise +observe.content.action.transmittingBuoyType.create.tip=Créer un nouveau type de balise +observe.content.action.transmittingBuoyType.delete.tip=Supprimer le type de balise sélectionné +observe.content.action.transmittingBuoyType.detail.tip=Voir les détails du type de balise sélectionné +observe.content.action.transmittingBuoyType.modify.tip=Modifier le type de balise sélectionné +observe.content.action.transmittingBuoyType.save.tip=Sauver les modifications du type de balise +observe.content.action.trip=Créer une nouvelle marée +observe.content.action.trip.tip=Créer une nouvelle marée pour le programme courant +observe.content.action.tripType.create.tip=Créer un nouveau type de marée +observe.content.action.tripType.delete.tip=Supprimer le type de marée sélectionné +observe.content.action.tripType.detail.tip=Voir les détails du type de marée sélectionné +observe.content.action.tripType.modify.tip=Modifier le type de marée sélectionné +observe.content.action.tripType.save.tip=Sauver les modifications du type de marée +observe.content.action.vessel.create.tip=Créer un nouveau bateau +observe.content.action.vessel.delete.tip=Supprimer le bateau sélectionné +observe.content.action.vessel.detail.tip=Voir les détails du bateau sélectionné +observe.content.action.vessel.modify.tip=Modifier le bateau sélectionné +observe.content.action.vessel.save.tip=Sauver les modifications sur le bateau +observe.content.action.vesselActivityLongline.create.tip=Créer un nouveau type d'activité +observe.content.action.vesselActivityLongline.delete.tip=Supprimer le type d'activité sélectionné +observe.content.action.vesselActivityLongline.detail.tip=Voir les détails du type d'activité sélectionné +observe.content.action.vesselActivityLongline.modify.tip=Modifier le type d'activité sélectionné +observe.content.action.vesselActivityLongline.save.tip=Sauver les modifications du type d'activité +observe.content.action.vesselActivitySeine.create.tip=Créer une nouvelle activité vessel +observe.content.action.vesselActivitySeine.delete.tip=Supprimer l'activité vessel sélectionnée +observe.content.action.vesselActivitySeine.detail.tip=Voir les détails de l'activité vessel sélectionnée +observe.content.action.vesselActivitySeine.modify.tip=Modifier l'activité de vessel sélectionnée +observe.content.action.vesselActivitySeine.save.tip=Sauver les modifications de l'activité vessel +observe.content.action.vesselSizeCategory.create.tip=Créer une nouvelle catégorie de vessel +observe.content.action.vesselSizeCategory.delete.tip=Supprimer le catégorie de vessel sélectionnée +observe.content.action.vesselSizeCategory.detail.tip=Voir les détails de la catégorie de vessel sélectionnée +observe.content.action.vesselSizeCategory.modify.tip=Modifier le vessel sélectionné +observe.content.action.vesselSizeCategory.save.tip=Sauver les modifications de la catégorie de vessel +observe.content.action.vesselType.create.tip=Créer un nouveau type de vessel +observe.content.action.vesselType.delete.tip=Supprimer le type de vessel sélectionné +observe.content.action.vesselType.detail.tip=Voir les détails du type de vessel sélectionné +observe.content.action.vesselType.modify.tip=Modifier le type de vessel sélectionné +observe.content.action.vesselType.save.tip=Sauver les modifications du type de vessel +observe.content.action.weightCategory.create.tip=Créer une nouvelle catégorie de poids +observe.content.action.weightCategory.delete.tip=Supprimer la catégorie de poids sélectionnée +observe.content.action.weightCategory.detail.tip=Voir les détails de la catégorie de poids sélectionnée +observe.content.action.weightCategory.modify.tip=Modifier la catégorie de poids sélectionnée +observe.content.action.weightCategory.save.tip=Sauver les modifications de la catégorie de poids +observe.content.action.weightMeasureType.create.tip=Créer un nouveau type de mesure de poids +observe.content.action.weightMeasureType.delete.tip=Supprimer le type de mesure de poids sélectionné +observe.content.action.weightMeasureType.detail.tip=Voir les détails du type de mesure de poids sélectionné +observe.content.action.weightMeasureType.modify.tip=Modifier le type de mesure de poids sélectionné +observe.content.action.weightMeasureType.save.tip=Sauver les modifications du type de mesure de poids +observe.content.action.wind.create.tip=Créer un nouveau vent Beaufort +observe.content.action.wind.delete.tip=Supprimer le vent Beaufort sélectionné +observe.content.action.wind.detail.tip=Voir les détails du vent Beaufort sélectionné +observe.content.action.wind.modify.tip=Modifier le vent Beaufort sélectionné +observe.content.action.wind.save.tip=Sauver les modifications du vent Beaufort +observe.content.baitsComposition.action.create=Inserer cet appât +observe.content.baitsComposition.action.create.tip=Inserer cet appât +observe.content.baitsComposition.baitSettingStatus=État au filage +observe.content.baitsComposition.baitType=Type d'appât +observe.content.baitsComposition.individualSize=Taille (cm) +observe.content.baitsComposition.individualWeight=Poids (kg) +observe.content.baitsComposition.proportion=Proportion (%) +observe.content.baitsComposition.proportionSum=Somme des proportions d'appâts (%) +observe.content.baitsComposition.table.baitSettingStatus=Statut +observe.content.baitsComposition.table.baitSettingStatus.tip=Statut au filage +observe.content.baitsComposition.table.baitType=Type d'appât +observe.content.baitsComposition.table.baitType.tip=Type d'appât +observe.content.baitsComposition.table.individualSize=Taille (cm) +observe.content.baitsComposition.table.individualSize.tip=Taille (cm) +observe.content.baitsComposition.table.individualWeight=Poids (kg) +observe.content.baitsComposition.table.individualWeight.tip=Poids (kg) +observe.content.baitsComposition.table.proportion=Proportion (%) +observe.content.baitsComposition.table.proportion.tip=Proportion (%) +observe.content.baitsComposition.title=Composition des appâts +observe.content.basket.cant.delete.message=Le panier ne peut pas être supprimé car il est utilisé dans des données. +observe.content.basket.cant.delete.title=Impossible de supprimer le panier +observe.content.basket.invalid.nextFloatline1Length=La longueur d'orin 2 (%s) n'est pas égale à la longueur d'orin 1 du panier suivant (%s) +observe.content.branchLine.cant.delete.message=L'avançon ne peut pas être supprimé car il est utilisé dans des données. +observe.content.branchLine.cant.delete.title=Impossible de supprimer l'avançon +observe.content.branchline.baitHaulingStatus=Statut appât au virage +observe.content.branchline.baitSettingStatus=Statut appât au filage +observe.content.branchline.baitType=Type d'appât +observe.content.branchline.comment=Commentaire +observe.content.branchline.depthRecorder=Enregistreur de profondeur +observe.content.branchline.hookLost=Hameçon perdu +observe.content.branchline.hookOffset=Offset hameçon (°) +observe.content.branchline.hookSize=Taille d'hameçon +observe.content.branchline.hookType=Type d'hameçon +observe.content.branchline.message.modified=L'avançon en cours d'édition a été modifié et est valide. +observe.content.branchline.message.modified.but.invalid=L'avançon en cours d'édition a été modifié, mais n'est pas valide. +observe.content.branchline.snapWeight=Poids snap (kg) +observe.content.branchline.swivelWeight=Poids émerillon (kg) +observe.content.branchline.tab.general=Généralités +observe.content.branchline.tab.hookAndBait=Hameçon et appât +observe.content.branchline.timeSinceContact=Temps depuis déclenchement +observe.content.branchline.timer=Horloge +observe.content.branchline.timerTimeOnBoard=Horodatage de montée à bord +observe.content.branchline.title=Détail de l'avançon +observe.content.branchline.topType=Type partie supérieure +observe.content.branchline.traceCutOff=Bas de ligne coupé +observe.content.branchline.tracelineType=Type bas de ligne +observe.content.branchline.weightedSnap=Snap plombé +observe.content.branchline.weightedSwivel=Émerillon plombé +observe.content.branchlinesComposition.action.create=Inserer cet avançon +observe.content.branchlinesComposition.action.create.tip=Inserer cet avançon +observe.content.branchlinesComposition.length=Longueur (m) +observe.content.branchlinesComposition.proportion=Proportion (%) +observe.content.branchlinesComposition.proportionSum=Somme des proportions d'avançons (%) +observe.content.branchlinesComposition.table.length=Longueur (m) +observe.content.branchlinesComposition.table.length.tip=Longueur (m) +observe.content.branchlinesComposition.table.proportion=Proportion (%) +observe.content.branchlinesComposition.table.proportion.tip=Proportion (%) +observe.content.branchlinesComposition.table.topType=Type partie supérieure +observe.content.branchlinesComposition.table.topType.tip=Type partie supérieure +observe.content.branchlinesComposition.table.tracelineType=Type basse de ligne +observe.content.branchlinesComposition.table.tracelineType.tip=Type bas de ligne +observe.content.branchlinesComposition.title=Composition des avançons +observe.content.branchlinesComposition.topType=Type partie supérieure +observe.content.branchlinesComposition.tracelineType=Type bas de ligne +observe.content.broughtOnDeck.comment=Seules les espèces montées sur le pont pourront être échantillonnées +observe.content.catchLongline.acquisitionMode=Mode de saisie +observe.content.catchLongline.action.addSizeMeasure=Ajout +observe.content.catchLongline.action.addSizeMeasure.tip=Ajouter une nouvelle mesure de la taille +observe.content.catchLongline.action.addWeightMeasure=Ajout +observe.content.catchLongline.action.addWeightMeasure.tip=Ajouter une nouvelle mesure du poids +observe.content.catchLongline.action.create=Insérer cette capture +observe.content.catchLongline.action.create.tip=Insérer cette capture +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.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 +observe.content.catchLongline.availablePredator=Prédateurs disponibles +observe.content.catchLongline.basket=Panier +observe.content.catchLongline.beatDiameter=Diamètre de la morsure +observe.content.catchLongline.branchline=Avançon +observe.content.catchLongline.catchFateLongline=Devenir +observe.content.catchLongline.catchHealthness=Santé à la capture +observe.content.catchLongline.comment=Commentaire +observe.content.catchLongline.count=Nombre +observe.content.catchLongline.depredated=Victime de déprédation +observe.content.catchLongline.discardHealthness=Santé au rejet +observe.content.catchLongline.gonadeWeight=Poids des gonades (g) +observe.content.catchLongline.hookPosition=Position de l'hameçon +observe.content.catchLongline.hookWhenDiscarded=Rejeté avec hameçon +observe.content.catchLongline.locationOnLongline=Position sur la ligne +observe.content.catchLongline.maturityStatus=Maturité sexuelle +observe.content.catchLongline.photoReferences=Références photo +observe.content.catchLongline.predator=Prédateurs +observe.content.catchLongline.resetBranchline=Annuler +observe.content.catchLongline.resetBranchline.tip=Annuler les modifications sur l'avançon +observe.content.catchLongline.saveBranchline=Enregister l'avançon +observe.content.catchLongline.saveBranchline.tip=Enregister les modifications sur l'avançon +observe.content.catchLongline.section=Section +observe.content.catchLongline.selectedPredator=Prédateurs sélectionnés +observe.content.catchLongline.sex=Sexe +observe.content.catchLongline.speciesCatch=Espèce +observe.content.catchLongline.stomacFullness=État de l'estomac +observe.content.catchLongline.tab.branchline=Avançon +observe.content.catchLongline.tab.caracteristics=Caractéristiques +observe.content.catchLongline.tab.depredated=Déprédation +observe.content.catchLongline.tab.foodAndSexual=Alimentation et maturité sexuelle +observe.content.catchLongline.tab.sizeMeasures=Tailles (cm) +observe.content.catchLongline.tab.weightMeasures=Poids (kg) +observe.content.catchLongline.table.acquisitionMode=Mode +observe.content.catchLongline.table.acquisitionMode.tip=Mode de saisie +observe.content.catchLongline.table.basketHaulingId=N° panier +observe.content.catchLongline.table.basketHaulingId.tip=Numéro de virage du panier +observe.content.catchLongline.table.branchlineHaulingId=N° avançon +observe.content.catchLongline.table.branchlineHaulingId.tip=Numéro de virage de l'avançon +observe.content.catchLongline.table.catchFateLongline=Devenir +observe.content.catchLongline.table.catchFateLongline.tip=Devenir +observe.content.catchLongline.table.catchHealthness=État +observe.content.catchLongline.table.catchHealthness.tip=État à la capture +observe.content.catchLongline.table.comment=Commentaire +observe.content.catchLongline.table.comment.tip=Commentaire +observe.content.catchLongline.table.count=Nombre +observe.content.catchLongline.table.count.tip=Nombre +observe.content.catchLongline.table.depredated=Déprédation +observe.content.catchLongline.table.depredated.tip=Victime de déprédation +observe.content.catchLongline.table.discardHealthness=Santé au rejet +observe.content.catchLongline.table.discardHealthness.tip=Santé au rejet +observe.content.catchLongline.table.sectionHaulingId=N° section +observe.content.catchLongline.table.sectionHaulingId.tip=Numéro de virage de la section +observe.content.catchLongline.table.size=Mesure (cm) +observe.content.catchLongline.table.size.tip=Mesure (cm) +observe.content.catchLongline.table.sizeMeasureType=Type de mesure +observe.content.catchLongline.table.sizeMeasureType.tip=Type de mesure +observe.content.catchLongline.table.speciesCatch=Espèce +observe.content.catchLongline.table.speciesCatch.tip=Espèce +observe.content.catchLongline.table.weight=Mesure (kg) +observe.content.catchLongline.table.weight.tip=Mesure (kg) +observe.content.catchLongline.table.weightMeasureType=Type de mesure +observe.content.catchLongline.table.weightMeasureType.tip=Type de mesure +observe.content.catchLongline.title=Captures +observe.content.catchLongline.totalWeight=Poids total (kg) +observe.content.choose.sensorUsed.title.exportData=Choisir l'emplacement du fichier de données à exporter +observe.content.choose.sensorUsed.title.importData=Choisir le fichier de données à importer +observe.content.choose.tdr.title.exportData=Choisir l'emplacement du fichier de données à exporter +observe.content.choose.tdr.title.importData=Choisir le fichier de données à importer +observe.content.encounter.action.create=Insérer cette rencontre +observe.content.encounter.action.create.tip=Insérer cette rencontre +observe.content.encounter.count=Nombre +observe.content.encounter.distance=Distance (m) +observe.content.encounter.encounterType=Type +observe.content.encounter.species=Espèce +observe.content.encounter.table.count=Nombre +observe.content.encounter.table.count.tip=Nombre +observe.content.encounter.table.distance=Distance (m) +observe.content.encounter.table.distance.tip=Distance (m) +observe.content.encounter.table.encouterType=Type +observe.content.encounter.table.encouterType.tip=Type de la rencontre +observe.content.encounter.table.species=Espèce +observe.content.encounter.table.species.tip=Espèce rencontrée +observe.content.encounter.title=Rencontres +observe.content.floatingObject.message.creating=L'objet flottant est en cours de création. +observe.content.floatingObject.message.updating=L'objet flottant est en cours de modification. +observe.content.floatingObject.title=Objet flottant +observe.content.floatingObjectTransmittingBuoyOperation.title=Opération sur balises +observe.content.floatlinesComposition.action.create=Insérer cet orin +observe.content.floatlinesComposition.action.create.tip=Insérer cet orin +observe.content.floatlinesComposition.length=Longueur +observe.content.floatlinesComposition.lineType=Type +observe.content.floatlinesComposition.proportion=Proportion (%) +observe.content.floatlinesComposition.proportionSum=Somme des proportions d'orins (%) +observe.content.floatlinesComposition.table.length=Longueur (m) +observe.content.floatlinesComposition.table.length.tip=Longueur (m) +observe.content.floatlinesComposition.table.lineType=Type +observe.content.floatlinesComposition.table.lineType.tip=Type +observe.content.floatlinesComposition.table.proportion=Proportion (%) +observe.content.floatlinesComposition.table.proportion.tip=Proportion (%) +observe.content.floatlinesComposition.title=Composition des orins +observe.content.gear.availableGearCaracteristic=Caractéristiques disponibles +observe.content.gear.gearCaracteristic=Caractéristiques +observe.content.gear.gearCaracteristicType=Type de caractéristique +observe.content.gear.selectedGearCaracteristic=Caractéristiques utilisées +observe.content.gear.tab.gearCaracteristic=Caractéristiques de l'équipement +observe.content.gear.tab.general=Caractéristiques générales +observe.content.gear.unit=Unité +observe.content.gearUseFeaturesLongline.action.addMeasurement=Ajouter +observe.content.gearUseFeaturesLongline.action.addMeasurement.tip=Ajouter une nouvelle caractéristique +observe.content.gearUseFeaturesLongline.action.deleteSelectedMeasurement=Supprimer +observe.content.gearUseFeaturesLongline.action.deleteSelectedMeasurement.tip=Supprimer la caractéristique +observe.content.gearUseFeaturesLongline.comment=Commentaire +observe.content.gearUseFeaturesLongline.gear=Équipement +observe.content.gearUseFeaturesLongline.number=Nombre +observe.content.gearUseFeaturesLongline.tab.general=Définition +observe.content.gearUseFeaturesLongline.tab.measurements=Caractéristiques +observe.content.gearUseFeaturesLongline.table.comment=Commentaire +observe.content.gearUseFeaturesLongline.table.comment.tip=Commentaire +observe.content.gearUseFeaturesLongline.table.gear=Équipement +observe.content.gearUseFeaturesLongline.table.gear.tip=Équipement +observe.content.gearUseFeaturesLongline.table.gearCaracteristic=Caractéristique +observe.content.gearUseFeaturesLongline.table.gearCaracteristic.tip=Caractéristique +observe.content.gearUseFeaturesLongline.table.number=Nombre +observe.content.gearUseFeaturesLongline.table.number.tip=Nombre +observe.content.gearUseFeaturesLongline.table.usedInTrip=Utilisé +observe.content.gearUseFeaturesLongline.table.usedInTrip.tip=Utilisé dans la marée +observe.content.gearUseFeaturesLongline.table.value=Valeur +observe.content.gearUseFeaturesLongline.table.value.tip=Valeur +observe.content.gearUseFeaturesLongline.title=Équipements +observe.content.gearUseFeaturesLongline.usedInTrip=Utilisé dans la marée +observe.content.gearUseFeaturesSeine.action.addMeasurement=Ajouter +observe.content.gearUseFeaturesSeine.action.addMeasurement.tip=Ajouter une nouvelle caractéristique +observe.content.gearUseFeaturesSeine.action.deleteSelectedMeasurement=Supprimer +observe.content.gearUseFeaturesSeine.action.deleteSelectedMeasurement.tip=Supprimer la caractéristique +observe.content.gearUseFeaturesSeine.comment=Commentaire +observe.content.gearUseFeaturesSeine.gear=Équipement +observe.content.gearUseFeaturesSeine.number=Nombre +observe.content.gearUseFeaturesSeine.tab.general=Définition +observe.content.gearUseFeaturesSeine.tab.measurements=Caractéristiques +observe.content.gearUseFeaturesSeine.table.comment=Commentaire +observe.content.gearUseFeaturesSeine.table.comment.tip=Commentaire +observe.content.gearUseFeaturesSeine.table.gear=Équipement +observe.content.gearUseFeaturesSeine.table.gear.tip=Équipement +observe.content.gearUseFeaturesSeine.table.gearCaracteristic=Caractéristique +observe.content.gearUseFeaturesSeine.table.gearCaracteristic.tip=Caractéristique +observe.content.gearUseFeaturesSeine.table.number=Nombre +observe.content.gearUseFeaturesSeine.table.number.tip=Nombre +observe.content.gearUseFeaturesSeine.table.usedInTrip=Utilisé +observe.content.gearUseFeaturesSeine.table.usedInTrip.tip=Utilisé dans la marée +observe.content.gearUseFeaturesSeine.table.value=Valeur +observe.content.gearUseFeaturesSeine.table.value.tip=Valeur +observe.content.gearUseFeaturesSeine.title=Équipements +observe.content.gearUseFeaturesSeine.usedInTrip=Utilisé dans la marée +observe.content.harbour.coordinates=Nom +observe.content.harbour.locode=Locode +observe.content.harbour.name=Nom +observe.content.hooksComposition.action.create=Inserer cet hameçon +observe.content.hooksComposition.action.create.tip=Inserer cet hameçon +observe.content.hooksComposition.hookOffset=Offset +observe.content.hooksComposition.hookSize=Taille +observe.content.hooksComposition.hookType=Type +observe.content.hooksComposition.proportion=Proportion (%) +observe.content.hooksComposition.proportionSum=Somme des proportions d'hameçons (%) +observe.content.hooksComposition.table.hookOffset=Offset (°) +observe.content.hooksComposition.table.hookOffset.tip=Offset (°) +observe.content.hooksComposition.table.hookSize=Taille +observe.content.hooksComposition.table.hookSize.tip=Taille +observe.content.hooksComposition.table.hookType=Type +observe.content.hooksComposition.table.hookType.tip=Type +observe.content.hooksComposition.table.proportion=Proportion (%) +observe.content.hooksComposition.table.proportion.tip=Proportion (%) +observe.content.hooksComposition.title=Composition des hameçons +observe.content.label.coefficients.info=Les coefficients des relations sont de la forme nom\=valeur et sont séparé par des \: (exemple \: a\=1\:b\=2\:c\=3) +observe.content.label.lengthWeightFormula.info=La relation poids permet de calculer le poids à partir de la taille, elle doit contenir la variable L +observe.content.label.usage.data.title=Donnée '%1$s' (%2$d occurrences) +observe.content.label.usage.referentiel.title=Référentiel '%1$s' (%2$d occurrences) +observe.content.label.weightLengthFormula.info=La relation taille permet de calculer la taille à partir du poids, elle doit contenir la variable P +observe.content.lengthWeightParameter.tab.general=Caractéristiques générales +observe.content.lengthWeightParameter.tab.other=Autres caractéristiques +observe.content.list.HookSize=Liste des tailles d'hameçon enregistrés +observe.content.list.HookType=Liste des types d'hameçon enregistrés +observe.content.list.baitHaulingStatus=Liste des statuts de l'appât au virage enregistrés +observe.content.list.baitSettingStatus=Liste des statuts de l'appât au filage enregistrés +observe.content.list.baitType=Liste des types d'appât enregistrés +observe.content.list.catchFateLongline=Liste des devenirs capture enregistrés +observe.content.list.country=Liste des pays enregistrés +observe.content.list.detectionMode=Liste des modes de détection enregistrés +observe.content.list.encounterType=Liste des types de rencontre enregistrés +observe.content.list.fpaZone=Liste des zones FPA enregistrées +observe.content.list.gear=Liste des équipements enregistrées +observe.content.list.gearCaracteristic=Liste des caractéristiques d'équipement enregistrées +observe.content.list.gearCaracteristicType=Liste des types de caractéristique enregistrés +observe.content.list.harbour=Liste des ports enregistrés +observe.content.list.healthness=Liste des états de santé enregistrés +observe.content.list.hookPosition=Liste des positions d'hameçon enregistrées +observe.content.list.itemHorizontalPosition=Liste des localisations de l'élément sur la ligne mère enregistrées +observe.content.list.itemVerticalPosition=Liste des localisations de l'élément sur l'avançon enregistrées +observe.content.list.lengthWeightParameter=Liste des paramétrages taille-poids thons +observe.content.list.lightsticksColor=Liste des couleurs de cyalumes enregistrées +observe.content.list.lightsticksType=Liste des types de cyalumes enregistrés +observe.content.list.lineType=Liste des types de ligne enregistrés +observe.content.list.maturityStatus=Liste des maturités enregistrées +observe.content.list.mitigationType=Listes des types de mesure d'atténuation enregistrés +observe.content.list.objectFate=Liste des devenirs objet enregistrés +observe.content.list.objectOperation=Liste des opérations objet enregistrées +observe.content.list.objectType=Liste des types d'opération enregistrés +observe.content.list.observedSystem=Liste des systèmes observés enregistrés +observe.content.list.ocean=Liste des océans enregistrés +observe.content.list.operation=Liste des opérations sur balise enregistrées +observe.content.list.organism=Liste des organismes enregistrés +observe.content.list.person=Liste des personnes enregistrés +observe.content.list.program=Liste des programmes enregistrés +observe.content.list.reasonForDiscard=Liste des raisons de rejet enregistrées +observe.content.list.reasonForNoFishing=Liste des non coup de senne enregistrées +observe.content.list.reasonForNullSet=Liste des causes coup nul enregistrées +observe.content.list.sensorBrand=Liste des marques de capteur enregistrées +observe.content.list.sensorDataFormat=Liste des formats de données de capteur enregistrés +observe.content.list.sensorType=Liste des types de capteur enregistrés +observe.content.list.settingShape=Liste des formes au filage enregistrées +observe.content.list.sex=Liste des sexes enregistrés +observe.content.list.sizeMeasureType=Liste des types de mesure de taille enregistrés +observe.content.list.speciesFate=Liste des devenirs de faune enregistrés +observe.content.list.speciesFaune=[devrait s'appeler speciesNonTarget ou nonTargetSpecies] +observe.content.list.speciesGroupSpecies=Liste des groupes d'espèce de faune enregistrés +observe.content.list.speciesList=Liste des listes de favoris d'espèces enregistrées +observe.content.list.speciesStatus=Liste des statuts d'espèce enregistrés +observe.content.list.stomacFullness=Liste des niveaux de remplissage de l'estomac enregistrés +observe.content.list.surroundingActivity=Liste des activités environnantes +observe.content.list.transmittingBuoyType=Liste des types de balise enregistrées +observe.content.list.tripType=Liste des types de marée enregistrés +observe.content.list.vessel=Liste des bateaux enregistrés +observe.content.list.vesselActivityLongline=Liste des activités bateau enregistrées +observe.content.list.vesselActivitySeine=Lise des activités bateau enregistrées +observe.content.list.vesselSizeCategory=Liste des catégories de bateaux enregistrées +observe.content.list.vesselType=Liste des types de bateaux enregistrés +observe.content.list.weightCategory=Liste des catégories poids enregistrées +observe.content.list.weightMeasureType=Liste des types de mesure de poids enregistrés +observe.content.list.wind=Liste des vents Beaufort enregistrés +observe.content.longlineDetailComposition.action.deleteAllSections=Tout supprimer +observe.content.longlineDetailComposition.action.deleteAllSections.tip=Supprimer toutes les section - paniers et avançons +observe.content.longlineDetailComposition.action.deleteSelectedBasket=Supprimer +observe.content.longlineDetailComposition.action.deleteSelectedBasket.tip=Supprimer le panier sélectionné +observe.content.longlineDetailComposition.action.deleteSelectedBranchline=Supprimer +observe.content.longlineDetailComposition.action.deleteSelectedBranchline.tip=Supprimer l'avançon sélectionné +observe.content.longlineDetailComposition.action.deleteSelectedSection=Supprimer +observe.content.longlineDetailComposition.action.deleteSelectedSection.tip=Supprimer la section sélectionnée +observe.content.longlineDetailComposition.action.deleteSelectedSectionTemplate=Supprimer +observe.content.longlineDetailComposition.action.deleteSelectedSectionTemplate.tip=Supprimer la template sélectionnée +observe.content.longlineDetailComposition.action.generateAllSections=Tout générer +observe.content.longlineDetailComposition.action.generateAllSections.tip=Générer toutes les sections - paniers et avançons +observe.content.longlineDetailComposition.action.insertAfterSelectedBasket=Insérer après +observe.content.longlineDetailComposition.action.insertAfterSelectedBasket.tip=Insérer après le panier sélectionné +observe.content.longlineDetailComposition.action.insertAfterSelectedBranchline=Insérer après +observe.content.longlineDetailComposition.action.insertAfterSelectedBranchline.tip=Insérer après l'avançon sélectionné +observe.content.longlineDetailComposition.action.insertAfterSelectedSection=Insérer après +observe.content.longlineDetailComposition.action.insertAfterSelectedSection.tip=Insérer après la section sélectionnée +observe.content.longlineDetailComposition.action.insertBeforeSelectedBasket=Insérer avant +observe.content.longlineDetailComposition.action.insertBeforeSelectedBasket.tip=Insérer avant le panier sélectionné +observe.content.longlineDetailComposition.action.insertBeforeSelectedBranchline=Insérer avant +observe.content.longlineDetailComposition.action.insertBeforeSelectedBranchline.tip=Insérer avant l'avançon sélectionné +observe.content.longlineDetailComposition.action.insertBeforeSelectedSection=Insérer avant +observe.content.longlineDetailComposition.action.insertBeforeSelectedSection.tip=Insérer avant la section sélectionnée +observe.content.longlineDetailComposition.baskets=Paniers +observe.content.longlineDetailComposition.basketsTable.floatline1Length=Orin 1 (m) +observe.content.longlineDetailComposition.basketsTable.floatline1Length.tip=Longueur Orin 1 (m) +observe.content.longlineDetailComposition.basketsTable.floatline2Length=Orin 2 (m) +observe.content.longlineDetailComposition.basketsTable.floatline2Length.tip=Longueur Orin 1 (m) +observe.content.longlineDetailComposition.basketsTable.haulingIdentifier=Id Virage +observe.content.longlineDetailComposition.basketsTable.haulingIdentifier.tip=Identifiant Virage +observe.content.longlineDetailComposition.basketsTable.settingIdentifier=Id Filage +observe.content.longlineDetailComposition.basketsTable.settingIdentifier.tip=Identifiant Filage +observe.content.longlineDetailComposition.branchlines=Avançons +observe.content.longlineDetailComposition.branchlinesTable.branchlineLength=Avançon (m) +observe.content.longlineDetailComposition.branchlinesTable.branchlineLength.tip=Longueur Avançon (m) +observe.content.longlineDetailComposition.branchlinesTable.haulingIdentifier=Id Virage +observe.content.longlineDetailComposition.branchlinesTable.haulingIdentifier.tip=Identifiant Virage +observe.content.longlineDetailComposition.branchlinesTable.settingIdentifier=Id Filage +observe.content.longlineDetailComposition.branchlinesTable.settingIdentifier.tip=Identifiant Filage +observe.content.longlineDetailComposition.branchlinesTable.tracelineLength=Partie basse (m) +observe.content.longlineDetailComposition.branchlinesTable.tracelineLength.tip=Longueur basse (m) +observe.content.longlineDetailComposition.canGenerate=Autoriser la génération +observe.content.longlineDetailComposition.firstTemplate.template.notCompilant.basketCount=La template à utiliser %s n'est pas compatible avec le nombre de paniers par section (%s) +observe.content.longlineDetailComposition.message.updating=Composition détaillée de la palangre en cours de modification +observe.content.longlineDetailComposition.sectionTemplatesTable.identifier=Identifiant +observe.content.longlineDetailComposition.sectionTemplatesTable.identifier.tip=Identifiant +observe.content.longlineDetailComposition.sectionTemplatesTable.value=Template +observe.content.longlineDetailComposition.sectionTemplatesTable.value.tip=Template +observe.content.longlineDetailComposition.sections=Sections +observe.content.longlineDetailComposition.sectionsTable.haulingIdentifier=Id Virage +observe.content.longlineDetailComposition.sectionsTable.haulingIdentifier.tip=Identifiant Virage +observe.content.longlineDetailComposition.sectionsTable.settingIdentifier=Id Filage +observe.content.longlineDetailComposition.sectionsTable.settingIdentifier.tip=Identifiant Filage +observe.content.longlineDetailComposition.sectionsTable.template=Template +observe.content.longlineDetailComposition.sectionsTable.template.tip=Template +observe.content.longlineDetailComposition.tab.branchlineDetail=Détail avançon +observe.content.longlineDetailComposition.tab.composition=Composition +observe.content.longlineDetailComposition.tab.generate=Définition des modèles +observe.content.longlineDetailComposition.title=Schéma de palangre +observe.content.longlineDetailComposition.title.section.cant.use.firstTemplate=Impossible d'utiliser le premier modèle lors de la génération +observe.content.longlineGlobalComposition.availableMitigationType=Atténuations disponibles +observe.content.longlineGlobalComposition.message.updating=Composition globale de la palangre en cours de modification +observe.content.longlineGlobalComposition.mitigationType=Atténuations +observe.content.longlineGlobalComposition.selectedMitigationType=Atténuations sélectionnées +observe.content.longlineGlobalComposition.tab.baitsComposition=Appâts +observe.content.longlineGlobalComposition.tab.branchlinesComposition=Avançons +observe.content.longlineGlobalComposition.tab.floatlinesComposition=Orins +observe.content.longlineGlobalComposition.tab.hooksComposition=Hameçons +observe.content.longlineGlobalComposition.tab.mitigationType=Atténuations +observe.content.longlineGlobalComposition.title=Composition globale de la palangre +observe.content.map.action.exportPng=Exporter +observe.content.map.action.exportPng.tip=Exporter la carte au format PNG +observe.content.map.action.zoomIt=Centrer +observe.content.map.action.zoomIt.tip=Centrer la carte sur la marée +observe.content.map.east=Est +observe.content.map.export.chooseFile.ok=Exporter +observe.content.map.export.chooseFile.png=image PNG +observe.content.map.export.chooseFile.title=Exporter la carte +observe.content.map.export.success=Carte exportée (%s) +observe.content.map.legend.hauling=Virage +observe.content.map.legend.setting=Filage +observe.content.map.legend.tripBetweenTwoDays=Trajet entre deux jours +observe.content.map.legend.tripDay=Trajet d'une journée +observe.content.map.longLine.activity= +observe.content.map.longLine.activity.hauling.end= +observe.content.map.longLine.activity.hauling.start= +observe.content.map.longLine.activity.interaction= +observe.content.map.longLine.activity.setting.end= +observe.content.map.longLine.activity.setting.start= +observe.content.map.longLine.activity.station= +observe.content.map.longLine.seine.harbour= +observe.content.map.miles=milles +observe.content.map.north=Nord +observe.content.map.seine.activity= +observe.content.map.seine.activity.inHarbour= +observe.content.map.seine.activity.schoolType.free= +observe.content.map.seine.activity.schoolType.object= +observe.content.map.seine.harbour.departure= +observe.content.map.seine.harbour.landing= +observe.content.map.south=Sud +observe.content.map.waitLoading=< Veuillez patienter pendant le chargement de la carte > +observe.content.map.west=Ouest +observe.content.measurement.delete.message=Supprimer la caractéristique sélectionnée observe.content.mode.create.tip=L'objet est en cours de création observe.content.mode.read.tip=L'objet n'est pas éditable observe.content.mode.update.tip=L'objet est en cours d'édition -observe.datasynchro.actionsToPerform=Opérations à réaliser -observe.datasynchro.copyToLeftTask=Copier vers la base de gauche \: %s - %s -observe.datasynchro.copyToRightTask=Copier vers la base de droite \: %s - %s -observe.datasynchro.deleteFromLeftTask=Supprimer de la base de gauche \: %s - %s -observe.datasynchro.deleteFromRightTask=Supprimer de la base de droite \: %s - %s -observe.datasynchro.prepare.copyToLeftTask=Préparation de la recopie vers la base de gauche \: %s - %s -observe.datasynchro.prepare.copyToRightTask=Préparation de la recopie vers la base de droite \: %s - %s -observe.datasynchro.prepare.deleteFromLeftTask=Préparation de la suppression de la base de gauche \: %s - %s -observe.datasynchro.prepare.deleteFromRightTask=Préparation de la suppression de la base de droite \: %s - %s -observe.encounter.action.create=Insérer cette rencontre -observe.encounter.action.create.tip=Insérer cette rencontre -observe.encounter.count=Nombre -observe.encounter.distance=Distance (m) -observe.encounter.encounterType=Type -observe.encounter.species=Espèce -observe.encounter.table.count=Nombre -observe.encounter.table.count.tip=Nombre -observe.encounter.table.distance=Distance (m) -observe.encounter.table.distance.tip=Distance (m) -observe.encounter.table.encouterType=Type -observe.encounter.table.encouterType.tip=Type de la rencontre -observe.encounter.table.species=Espèce -observe.encounter.table.species.tip=Espèce rencontrée -observe.encounter.title=Rencontres +observe.content.nonTargetCatch.message.table.will.delete.nonTargetSample=En confirmant la sauvegarde des objets vont être supprimés\!\n\nLes espèces suivantes ne seront plus utilisables dans des échantillonages \:\n%1$s\nCela entrainera la suppression des échantillonages des ces espèces +observe.content.nonTargetCatch.table.catchWeight=Poids +observe.content.nonTargetCatch.table.catchWeight.tip=Poids estimé (en t) +observe.content.nonTargetCatch.table.comment=Com +observe.content.nonTargetCatch.table.comment.tip=Commentaire +observe.content.nonTargetCatch.table.deleteExtraMessage=\nLe fait de supprimer une capture de faune peut entrainer la suppression d'échantillonnage(s) sur l'espèce. +observe.content.nonTargetCatch.table.meanLength=Taille +observe.content.nonTargetCatch.table.meanLength.tip=Taille moyenne (en cm) +observe.content.nonTargetCatch.table.meanWeight=Poids moy +observe.content.nonTargetCatch.table.meanWeight.tip=Poids moyen (en Kg) +observe.content.nonTargetCatch.table.reasonForDiscard=Raison rejet +observe.content.nonTargetCatch.table.reasonForDiscard.tip=Raison rejet +observe.content.nonTargetCatch.table.speciesFate=Devenir +observe.content.nonTargetCatch.table.speciesFate.tip=Devenir faune +observe.content.nonTargetCatch.table.speciesFaune=Espèce de faune +observe.content.nonTargetCatch.table.speciesFaune.tip=Espèce de faune +observe.content.nonTargetCatch.table.totalCount=Nombre +observe.content.nonTargetCatch.table.totalCount.tip=Nombre estimé +observe.content.nonTargetSample.table.count=Effectif +observe.content.nonTargetSample.table.count.tip=Effectif +observe.content.nonTargetSample.table.gender=Sex +observe.content.nonTargetSample.table.gender.tip=Sex +observe.content.nonTargetSample.table.length=Longueur +observe.content.nonTargetSample.table.length.tip=Longueur +observe.content.nonTargetSample.table.meanWeight=Poids ind. +observe.content.nonTargetSample.table.meanWeight.tip=Poids individuel (en Kg) +observe.content.nonTargetSample.table.picturesReferences=Ref photo +observe.content.nonTargetSample.table.picturesReferences.tip=référence photo +observe.content.nonTargetSample.table.speciesFaune=Espèce faune +observe.content.nonTargetSample.table.speciesFaune.tip=Espèce faune +observe.content.objectObservedSpecies.table.count=Nombre +observe.content.objectObservedSpecies.table.count.tip=Nombre +observe.content.objectObservedSpecies.table.speciesFaune=Espèce de faune +observe.content.objectObservedSpecies.table.speciesFaune.tip=Espèce de faune +observe.content.objectObservedSpecies.table.speciesStatus=Statut Espèce +observe.content.objectObservedSpecies.table.speciesStatus.tip=Statut Espèce +observe.content.person.country=Nationalité +observe.content.program.tab.general=Caractértistiques générales +observe.content.program.tab.observations=Observations +observe.content.route.message.active.found=Une route est ouverte. +observe.content.route.message.active.found.for.other.trip=Une route ouverte existe dans une autre marée. +observe.content.route.message.creating=La route est en cours de création. +observe.content.route.message.no.active.found=Aucune route ouverte, vous pouvez soit en créer une nouvelle, soit en réouvrir une. +observe.content.route.message.no.active.found.for.other.trip=Aucune route ouverte sur la marée ouverte +observe.content.route.message.not.open=La route courante n'est pas ouverte, aucune modification possible. +observe.content.route.message.updating=La route est en cours de modification. +observe.content.route.title=Route +observe.content.routes.title=Routes +observe.content.schoolEstimate.table.meanWeight=Poids moyen (en Kg) +observe.content.schoolEstimate.table.meanWeight.tip=Poids moyen (en Kg) +observe.content.schoolEstimate.table.speciesThon=Espèce de thon +observe.content.schoolEstimate.table.speciesThon.tip=Espèce de thon (ne peut pas être modifié une fois l'estimation crée) +observe.content.schoolEstimate.table.weight=Poids (en t) +observe.content.schoolEstimate.table.weight.tip=Poids (en t) +observe.content.section.cant.delete.message=La section ne peut pas être supprimée car elle est utilisée dans des données. +observe.content.section.cant.delete.title=Impossible de supprimer la section +observe.content.sectionTemplate.delete.message=Confirmer la suppression de la template sélectionnée. +observe.content.sections.delete.message=Confirmer la suppression de toutes les sections. +observe.content.sensorUsed.action.create=Insérer ce capteur +observe.content.sensorUsed.action.create.tip=Insérer ce capteur +observe.content.sensorUsed.action.reset.dataLocation.tip=Réinitialiser +observe.content.sensorUsed.action.reset.sensorSerialNo.tip=Réinitialiser +observe.content.sensorUsed.data=Fichier de données +observe.content.sensorUsed.dataLocation=Hébergement +observe.content.sensorUsed.dataLocation.tip=Hébergement du fichier de données +observe.content.sensorUsed.delete.data.message=Confirmer la suppression du fichier de données +observe.content.sensorUsed.deleteData=Supprimer +observe.content.sensorUsed.deleteData.tip=Supprimer le fichier de données +observe.content.sensorUsed.exportData=Exporter +observe.content.sensorUsed.exportData.tip=Exporter le fichier de données enregistré +observe.content.sensorUsed.importData=Importer +observe.content.sensorUsed.importData.tip=Importer un fichier de données +observe.content.sensorUsed.message.data.exported=Le fichier de données a été exporté (%s). +observe.content.sensorUsed.sensorBrand=Marque +observe.content.sensorUsed.sensorDataFormat=Format de données +observe.content.sensorUsed.sensorSerialNo=Numéro de série +observe.content.sensorUsed.sensorType=Type +observe.content.sensorUsed.table.data=Fichier +observe.content.sensorUsed.table.data.tip=Fichier de données présent ? +observe.content.sensorUsed.table.dataLocation=Hébergement +observe.content.sensorUsed.table.dataLocation.tip=Hébergement du fichier de données +observe.content.sensorUsed.table.sensorBrand=Marque +observe.content.sensorUsed.table.sensorBrand.tip=Marque de capteur +observe.content.sensorUsed.table.sensorDataFormat=Format de données +observe.content.sensorUsed.table.sensorDataFormat.tip=Format de données du capteur +observe.content.sensorUsed.table.sensorSerialNo=Numéro de série +observe.content.sensorUsed.table.sensorSerialNo.tip=Numéro de stié du capteur +observe.content.sensorUsed.table.sensorType=Type +observe.content.sensorUsed.table.sensorType.tip=Type de capteur +observe.content.sensorUsed.title=Capteurs +observe.content.setLongline.action.reset.homeId.tip=Réinitialiser l'id métier +observe.content.setLongline.basketsPerSectionCount=Nombre de paniers par section +observe.content.setLongline.branchlinesPerBasketCount=Nombre d'hameçons par panier +observe.content.setLongline.haulingBreaks=Nombre de coupures +observe.content.setLongline.haulingDirectionSameAsSetting=Sens du virage identique à celui du filage +observe.content.setLongline.haulingEndCoordinates=Coordonnées fin de virage +observe.content.setLongline.haulingEndTimeStamp=Horodatage fin +observe.content.setLongline.haulingStartCoordinates=Coordonnées début de virage +observe.content.setLongline.haulingStartTimeStamp=Horodatage début +observe.content.setLongline.homeId=Id métier +observe.content.setLongline.lightsticksColor=Couleur de cyalumes +observe.content.setLongline.lightsticksPerBasketCount=Nombre de cyalumes par panier +observe.content.setLongline.lightsticksType=Type de cyalumes +observe.content.setLongline.lineType=Type de ligne +observe.content.setLongline.maxDepthTargeted=Profondeur maximum ciblée +observe.content.setLongline.message.creating=L'opération de pêche est en cours de création. +observe.content.setLongline.message.updating=L'opération de pêche est en cours de modification. +observe.content.setLongline.monitored=Instrumentée +observe.content.setLongline.number=Numéro +observe.content.setLongline.settingEndCoordinates=Coordonnées fin de filage +observe.content.setLongline.settingEndTimeStamp=Horodatage fin +observe.content.setLongline.settingShape=Forme du filage +observe.content.setLongline.settingStartCoordinates=Coordonnées début de filage +observe.content.setLongline.settingStartTimeStamp=Horodatage début +observe.content.setLongline.settingVesselSpeed=Vitesse bateau (nd) +observe.content.setLongline.shooterSpeed=Vitesse shooter (nd) +observe.content.setLongline.shooterUsed=Shooter utilisé +observe.content.setLongline.snapWeight=Poids snap (kg) +observe.content.setLongline.swivelWeight=Poids de l'émerillon (kg) +observe.content.setLongline.tab.hauling=Virage +observe.content.setLongline.tab.setting=Filage +observe.content.setLongline.tab.settingCaracteristics=Caractéristiques +observe.content.setLongline.timeBetweenHooks=Temps entre hameçons (s) +observe.content.setLongline.title=Opération de pêche +observe.content.setLongline.totalBasketsCount=Nombre total de baskets +observe.content.setLongline.totalHooksCount=Nombre total d'avançons +observe.content.setLongline.totalSectionsCount=Nombre total de sections +observe.content.setLongline.weightedSnap=Snap lesté +observe.content.setLongline.weightedSwivel=Émerillon lesté +observe.content.setSeine.currentDirection=Direction du courant (°) +observe.content.setSeine.currentMeasureDepth=Profondeur de mesure du courant (m) +observe.content.setSeine.currentSpeed=Vitesse du courant (nd) +observe.content.setSeine.endPursingTimeStamp=Date - Heure de fin coulissage +observe.content.setSeine.endSetTimeStamp=Date - Heure de fin de validité +observe.content.setSeine.maxGearDepth=Profondeur maximum (m) +observe.content.setSeine.message.creating=La calée est en cours de création. +observe.content.setSeine.message.information.schoolType= +observe.content.setSeine.message.no.nonTargetDiscarded=La calée n'a pas de rejet de faune +observe.content.setSeine.message.no.targetCatch=Pour échantilloner les thons capturés, il faut au moins une capture. +observe.content.setSeine.message.no.targetDiscarded=Pour échantilloner les thons, il faut au moins un rejet de thon monté sur le pont. +observe.content.setSeine.message.updating=La calée est en cours de modification. +observe.content.setSeine.nonTargetDiscarded=Rejet de faune +observe.content.setSeine.reasonForNullSet=Cause coup nul +observe.content.setSeine.schoolMeanDepth=Profondeur moyenne (m) +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 +observe.content.setSeine.tab.general=Caractéristiques générales +observe.content.setSeine.tab.measurements=Mesures +observe.content.setSeine.targetDiscarded=Rejet de thon +observe.content.setSeine.title=Calée +observe.content.sizeMeasure.delete.message=Confirmer la suppression de la mesure de la taille sélectionnée. +observe.content.species.availableOcean=Océans disponibles +observe.content.species.selectedOcean=Océans sélectionnés +observe.content.species.tab.general=Caractéristiques générales +observe.content.species.tab.other=Autres caractéristiques +observe.content.speciesList.availableSpecies=Espèces disponibles +observe.content.speciesList.selectedSpecies=Espèces sélectionnées +observe.content.speciesList.tab.general=Caractéristiques générales +observe.content.speciesList.tab.species=Espèces +observe.content.targetCatch.table.comment=Com +observe.content.targetCatch.table.comment.tip=Commentaire +observe.content.targetCatch.table.deleteExtraMessage=\nLe fait de supprimer une capture thon peut entrainer la suppression d'échantillonnage(s) sur l'espèce. +observe.content.targetCatch.table.speciesThon=Thon mis en cuve +observe.content.targetCatch.table.speciesThon.tip=Thon mis en cuve +observe.content.targetCatch.table.weight=Poids (en t) +observe.content.targetCatch.table.weight.tip=Poids (en t) +observe.content.targetCatch.table.weightCategory=Catégorie de poids +observe.content.targetCatch.table.weightCategory.tip=Catégorie de poids +observe.content.targetCatch.table.well=Cuve +observe.content.targetCatch.table.well.tip=Cuve +observe.content.targetDiscarded.message.table.will.delete.targetLength=En confirmant la sauvegarde des objets vont être supprimés\!\n\nLes espèces suivantes ne seront plus utilisables dans des échantillonages \:\n%1$s\nCela entrainera la suppression des échantillonnages des ces espèces +observe.content.targetDiscarded.table.broughtOnDeck=M +observe.content.targetDiscarded.table.broughtOnDeck.tip=Monté sur le pont ? +observe.content.targetDiscarded.table.comment=Comm +observe.content.targetDiscarded.table.comment.tip=Commentaire +observe.content.targetDiscarded.table.deleteExtraMessage=\nLe fait de supprimer un rejet de thon peut entrainer la suppression d'échantillonnage(s) sur l'espèce. +observe.content.targetDiscarded.table.reasonForDiscard=Raison rejet +observe.content.targetDiscarded.table.reasonForDiscard.tip=Raison rejet +observe.content.targetDiscarded.table.speciesThon=Espèce de thon +observe.content.targetDiscarded.table.speciesThon.tip=Espèce de thon +observe.content.targetDiscarded.table.weight=Poids +observe.content.targetDiscarded.table.weight.tip=Poids (en t) +observe.content.targetDiscarded.table.weightCategory=Catégorie de poids +observe.content.targetDiscarded.table.weightCategory.tip=Catégorie de poids +observe.content.targetSample.table.count=Effectif +observe.content.targetSample.table.count.tip=Effectif +observe.content.targetSample.table.length=Longueur +observe.content.targetSample.table.length.tip=Longueur (cm inf.) +observe.content.targetSample.table.meanWeight=Poids ind. +observe.content.targetSample.table.meanWeight.tip=Poids individuel (en Kg) +observe.content.targetSample.table.measureType=Type de mensuration +observe.content.targetSample.table.measureType.tip=Le type de mensuration utilisé (LF ou LD1) +observe.content.targetSample.table.speciesThon=Espèce de thon +observe.content.targetSample.table.speciesThon.tip=Espèce de thon +observe.content.targetSample.table.totalWeight=Poids tot. +observe.content.targetSample.table.totalWeight.tip=Poids total (en t) +observe.content.tdr.action.create=Insérer le capteur +observe.content.tdr.action.create.tip=Insérer ce nouveau capteur +observe.content.tdr.action.reset.dataLocation.tip=Réinitialiser l'hébergement du fichier +observe.content.tdr.action.reset.homeId.tip=Réinitialiser l'id métier +observe.content.tdr.action.reset.serialNo.tip=Réinitialiser le numéro se série +observe.content.tdr.availableSpecies=Espèces disponibles +observe.content.tdr.basket=Panier +observe.content.tdr.branchline=Avançon +observe.content.tdr.data=Données +observe.content.tdr.dataLocation=Hébergement +observe.content.tdr.dataLocation.tip=Hébergement du fichier de données +observe.content.tdr.delete.data.message=Confirmer la suppression du fichier de données +observe.content.tdr.deleteData=Supprimer +observe.content.tdr.deleteData.tip=Supprimer le fichier de données +observe.content.tdr.deployementEnd=Fin déploiement +observe.content.tdr.deployementStart=Début déploiement +observe.content.tdr.enableTimestamp=Activer l'horodatage +observe.content.tdr.enableTimestamp.tip=Activer l'horodatage pour cet enregistreur +observe.content.tdr.exportData=Exporter +observe.content.tdr.exportData.tip=Exporter les données enregistrées +observe.content.tdr.fishingEnd=Fin pêche +observe.content.tdr.fishingEndDepth=Profondeur en fin de pêche (m) +observe.content.tdr.fishingStart=Début pêche +observe.content.tdr.fishingStartDepth=Profondeur en début de pêche (m) +observe.content.tdr.floatline1Length=Longueur 1 d'orin (m) +observe.content.tdr.floatline2Length=Longueur 2 d'orin (m) +observe.content.tdr.homeId=Id métier +observe.content.tdr.importData=Importer +observe.content.tdr.importData.tip=Importer un fichier de données +observe.content.tdr.itemHorizontalPosition=Position sur la ligne +observe.content.tdr.itemVerticalPosition=Position verticale +observe.content.tdr.locationOnLongline=Localisation sur la ligne +observe.content.tdr.maxFishingDepth=Profondeur maximale de pêche (m) +observe.content.tdr.meanDeployementDepth=Profondeur moyenne de deploiement (m) +observe.content.tdr.meanFishingDepth=Profondeur moyenne de pêche (m) +observe.content.tdr.medianDeployementDepth=Profondeur médiane de deploiement (m) +observe.content.tdr.medianFishingDepth=Profondeur médiane de pêche (m) +observe.content.tdr.minFishingDepth=Profondeur minimale de pêche (m) +observe.content.tdr.section=Section +observe.content.tdr.selectedSpecies=Espèces sélectionnées +observe.content.tdr.sensorBrand=Marque +observe.content.tdr.serialNo=Numéro de série +observe.content.tdr.species=Espèces +observe.content.tdr.tab.caracteristics=Caractéristiques +observe.content.tdr.tab.keyData=Données clef +observe.content.tdr.tab.localisation=Localisation +observe.content.tdr.tab.species=Espèces associées +observe.content.tdr.tab.timestamp=Horodatage +observe.content.tdr.table.data=Fichier +observe.content.tdr.table.homeId=Id +observe.content.tdr.table.homeId.tip=Identifiant +observe.content.tdr.table.sensorBrand=Marque +observe.content.tdr.table.sensorBrand.tip=Marque du capteur +observe.content.tdr.table.serialNo=N° +observe.content.tdr.table.serialNo.tip=Numéro de série +observe.content.tdr.title=Enregistreur de profondeur +observe.content.title.HookSizes=Gestion des tailles d'hameçon +observe.content.title.HookTypes=Gestion des types d'hameçon +observe.content.title.baitHaulingStatuss=Gestion des statuts de l'appât au virage +observe.content.title.baitSettingStatuss=Gestion des statuts de l'appât au filage +observe.content.title.baitTypes=Gestion des types d'appât +observe.content.title.catchFateLonglines=Gestion des devenirs capture +observe.content.title.country=Gestion des pays +observe.content.title.detectionModes=Gestion des modes de détection +observe.content.title.encounterTypes=Gestion des types de rencontre +observe.content.title.fpaZones=Gestion des zones FPA +observe.content.title.gearCaracteristicTypes=Gestion des types de caractéristiques +observe.content.title.gearCaracteristics=Gestion des caractéristiques d'équipement +observe.content.title.gears=Gestion des équipements +observe.content.title.harbours=GEstion des ports +observe.content.title.healthnesss=Gestion des statuts de santé +observe.content.title.hookPositions=Gestion des positions d'hameçon +observe.content.title.itemHorizontalPositions=Gestion des localisations de l'élément sur la ligne mère +observe.content.title.itemVerticalPositions=Gestion des localisations de l'élément sur l'avançon +observe.content.title.lengthWeightParameters=Gestion des paramétrages taille-poids +observe.content.title.lightsticksColors=Gestion des couleurs de baton lumineux +observe.content.title.lightsticksTypes=Gestion des types de baton lumineux +observe.content.title.lineTypes=Gestion des types de ligne +observe.content.title.maturityStatuss=Gestion des maturité +observe.content.title.mitigationTypes=Gestion des types de mesure d'atténuation +observe.content.title.objectFates=Gestion des devenirs objet +observe.content.title.objectOperations=Gestion des opérations objet +observe.content.title.objectTypes=Gestion des types d'objet +observe.content.title.observedSystems=Gestion des systèmes observés +observe.content.title.oceans=Gestion des océans +observe.content.title.organisms=Gestion des organismes +observe.content.title.persons=Gestion des observateurs +observe.content.title.programs=Gestion des programmes +observe.content.title.reasonForDiscards=Gestion des raisons de rejet +observe.content.title.reasonForNoFishings=Gestion des non coup de senne +observe.content.title.reasonForNullSets=Gestion des causes coup nul +observe.content.title.sensorBrands=Gestion des marques de capteur +observe.content.title.sensorDataFormats=Gestion des formats de données de capteur +observe.content.title.sensorTypes=Gestion des types de capteur +observe.content.title.settingShapes=Gestion des formes au filage +observe.content.title.sexx=Gestion des sexes +observe.content.title.sizeMeasureTypes=Gestion des types de mesure de taille +observe.content.title.speciesFates=Gestion des devenir d'espèces +observe.content.title.speciesGroupSpeciess=Gestion des groupes d'espèces +observe.content.title.speciesLists=Gestion des listes d'espèces +observe.content.title.speciesStatuss=Gestion des statuts d'espèces +observe.content.title.speciess=Gestion des espèces +observe.content.title.stomacFullnesss=Gestion des niveaux de remplissage de l'estomac +observe.content.title.surroundingActivitys=Gestion des activités environnantes +observe.content.title.transmittingBuoyOperations=Gestion des opérations sur balise +observe.content.title.transmittingBuoyTypes=Gestion des types de balise +observe.content.title.tripTypes=Gestion des types de marée +observe.content.title.vesselActivityLonglines=Gestion des types d'activité +observe.content.title.vesselActivitySeines=Gestion des types d'activités +observe.content.title.vesselSizeCategoryx=Gestion des catégories de navires +observe.content.title.vesselTypex=Gestion des types de vessel +observe.content.title.vesselx=Gestion des bateaux +observe.content.title.weightCategory=Gestion des catégories poids +observe.content.title.weightMeasureTypes=Gestion des types de mesure de poids +observe.content.title.windSpeeds=Gestion des vents Beaufort +observe.content.tripLongline.captain=Capitaine +observe.content.tripLongline.dataEntryOperator=Opérateur de saisie +observe.content.tripLongline.endDate=Date fin +observe.content.tripLongline.homeId=Id métier +observe.content.tripLongline.message.active.found=Une marée est ouverte. +observe.content.tripLongline.message.active.found.for.other.program=Une marée ouverte existe dans un autre programme. +observe.content.tripLongline.message.creating=La marée est en cours de création. +observe.content.tripLongline.message.no.active.found=Aucune marée ouverte, vous pouvez soit en créer une nouvelle, soit en réouvrir une. +observe.content.tripLongline.message.not.open=La marée courante n'est pas ouverte, aucune modification possible. +observe.content.tripLongline.message.updating=La maréee est en cours de modification. +observe.content.tripLongline.observer=Observateur +observe.content.tripLongline.ocean=Océan +observe.content.tripLongline.startDate=Date début +observe.content.tripLongline.tab.general=Caractéristiques +observe.content.tripLongline.tab.map=Carte +observe.content.tripLongline.title=Marée +observe.content.tripLongline.totalFishingOperationsNumber=Nombre total d'opérations de pêche +observe.content.tripLongline.tripType=Type de marée +observe.content.tripLongline.vessel=Navire +observe.content.tripSeine.message.active.found=Une marée est ouverte. +observe.content.tripSeine.message.active.found.for.other.program=Une marée ouverte existe dans un autre programme. +observe.content.tripSeine.message.creating=La marée est en cours de création. +observe.content.tripSeine.message.no.active.found=Aucune marée ouverte, vous pouvez soit en créer une nouvelle, soit en réouvrir une. +observe.content.tripSeine.message.not.open=La marée courante n'est pas ouverte, aucune modification possible. +observe.content.tripSeine.message.updating=La maréee est en cours de modification. +observe.content.tripSeine.tab.general=Caractéristiques +observe.content.tripSeine.tab.map=Carte +observe.content.tripSeine.title=Marée +observe.content.vessel.tab.general=Caractéristiques générales +observe.content.vessel.tab.other=Autres caractéristiques +observe.content.weightMeasure.delete.message=Confirmer la suppression de la mesure du poids sélectionnée. observe.entity.message.updating=L'objet '%1$s' est en cours de modification. observe.error.can.not.create.directory=Création du répertoire %1$s impossible\! observe.error.no.activity.6=L'activité de type 6 n'a pas été trouvée en base. observe.error.storage.could.not.backup.unsane.local.db=Impossible d'enregistrer une base non endommagée observe.error.storage.could.not.load.local.db=Impossible d'ouvrir la base locale pour la raison suivante \: %s -observe.floatingObject.message.creating=L'objet flottant est en cours de création. -observe.floatingObject.message.updating=L'objet flottant est en cours de modification. -observe.floatingObject.title=Objet flottant -observe.floatingObjectTransmittingBuoyOperation.title=Opération sur balises -observe.floatlinesComposition.action.create=Insérer cet orin -observe.floatlinesComposition.action.create.tip=Insérer cet orin -observe.floatlinesComposition.length=Longueur -observe.floatlinesComposition.lineType=Type -observe.floatlinesComposition.proportion=Proportion (%) -observe.floatlinesComposition.proportionSum=Somme des proportions d'orins (%) -observe.floatlinesComposition.table.length=Longueur (m) -observe.floatlinesComposition.table.length.tip=Longueur (m) -observe.floatlinesComposition.table.lineType=Type -observe.floatlinesComposition.table.lineType.tip=Type -observe.floatlinesComposition.table.proportion=Proportion (%) -observe.floatlinesComposition.table.proportion.tip=Proportion (%) -observe.floatlinesComposition.title=Composition des orins -observe.gear.availableGearCaracteristic=Caractéristiques disponibles -observe.gear.gearCaracteristic=Caractéristiques -observe.gear.gearCaracteristicType=Type de caractéristique -observe.gear.selectedGearCaracteristic=Caractéristiques utilisées -observe.gear.tab.gearCaracteristic=Caractéristiques de l'équipement -observe.gear.tab.general=Caractéristiques générales -observe.gear.unit=Unité -observe.gearUseFeaturesLongline.action.addMeasurement=Ajouter -observe.gearUseFeaturesLongline.action.addMeasurement.tip=Ajouter une nouvelle caractéristique -observe.gearUseFeaturesLongline.action.deleteSelectedMeasurement=Supprimer -observe.gearUseFeaturesLongline.action.deleteSelectedMeasurement.tip=Supprimer la caractéristique -observe.gearUseFeaturesLongline.comment=Commentaire -observe.gearUseFeaturesLongline.gear=Équipement -observe.gearUseFeaturesLongline.number=Nombre -observe.gearUseFeaturesLongline.tab.general=Définition -observe.gearUseFeaturesLongline.tab.measurements=Caractéristiques -observe.gearUseFeaturesLongline.table.comment=Commentaire -observe.gearUseFeaturesLongline.table.comment.tip=Commentaire -observe.gearUseFeaturesLongline.table.gear=Équipement -observe.gearUseFeaturesLongline.table.gear.tip=Équipement -observe.gearUseFeaturesLongline.table.gearCaracteristic=Caractéristique -observe.gearUseFeaturesLongline.table.gearCaracteristic.tip=Caractéristique -observe.gearUseFeaturesLongline.table.number=Nombre -observe.gearUseFeaturesLongline.table.number.tip=Nombre -observe.gearUseFeaturesLongline.table.usedInTrip=Utilisé -observe.gearUseFeaturesLongline.table.usedInTrip.tip=Utilisé dans la marée -observe.gearUseFeaturesLongline.table.value=Valeur -observe.gearUseFeaturesLongline.table.value.tip=Valeur -observe.gearUseFeaturesLongline.title=Équipements -observe.gearUseFeaturesLongline.usedInTrip=Utilisé dans la marée -observe.gearUseFeaturesSeine.action.addMeasurement=Ajouter -observe.gearUseFeaturesSeine.action.addMeasurement.tip=Ajouter une nouvelle caractéristique -observe.gearUseFeaturesSeine.action.deleteSelectedMeasurement=Supprimer -observe.gearUseFeaturesSeine.action.deleteSelectedMeasurement.tip=Supprimer la caractéristique -observe.gearUseFeaturesSeine.comment=Commentaire -observe.gearUseFeaturesSeine.gear=Équipement -observe.gearUseFeaturesSeine.number=Nombre -observe.gearUseFeaturesSeine.tab.general=Définition -observe.gearUseFeaturesSeine.tab.measurements=Caractéristiques -observe.gearUseFeaturesSeine.table.comment=Commentaire -observe.gearUseFeaturesSeine.table.comment.tip=Commentaire -observe.gearUseFeaturesSeine.table.gear=Équipement -observe.gearUseFeaturesSeine.table.gear.tip=Équipement -observe.gearUseFeaturesSeine.table.gearCaracteristic=Caractéristique -observe.gearUseFeaturesSeine.table.gearCaracteristic.tip=Caractéristique -observe.gearUseFeaturesSeine.table.number=Nombre -observe.gearUseFeaturesSeine.table.number.tip=Nombre -observe.gearUseFeaturesSeine.table.usedInTrip=Utilisé -observe.gearUseFeaturesSeine.table.usedInTrip.tip=Utilisé dans la marée -observe.gearUseFeaturesSeine.table.value=Valeur -observe.gearUseFeaturesSeine.table.value.tip=Valeur -observe.gearUseFeaturesSeine.title=Équipements -observe.gearUseFeaturesSeine.usedInTrip=Utilisé dans la marée observe.generateHtml.error= -observe.harbour.coordinates=Nom -observe.harbour.locode=Locode -observe.harbour.name=Nom -observe.hooksComposition.action.create=Inserer cet hameçon -observe.hooksComposition.action.create.tip=Inserer cet hameçon -observe.hooksComposition.hookOffset=Offset -observe.hooksComposition.hookSize=Taille -observe.hooksComposition.hookType=Type -observe.hooksComposition.proportion=Proportion (%) -observe.hooksComposition.proportionSum=Somme des proportions d'hameçons (%) -observe.hooksComposition.table.hookOffset=Offset (°) -observe.hooksComposition.table.hookOffset.tip=Offset (°) -observe.hooksComposition.table.hookSize=Taille -observe.hooksComposition.table.hookSize.tip=Taille -observe.hooksComposition.table.hookType=Type -observe.hooksComposition.table.hookType.tip=Type -observe.hooksComposition.table.proportion=Proportion (%) -observe.hooksComposition.table.proportion.tip=Proportion (%) -observe.hooksComposition.title=Composition des hameçons observe.info.selected.validators=Il faut au moins un validateur sélectionné pour continuer. observe.info.validation.credentials=Pour valider le référentiel (resp. les données), vous devez posséder les droits en lecture-écriture correspondants. observe.init.local.db.detected=%1$s détectée. observe.init.no.initial.dump.detected=Base embarquée %1$s non détectée. observe.init.no.local.db.detected=Base locale %1$s non détectée. observe.init.storage.done=Initialisation du service de persistance terminé. -observe.label.coefficients.info=Les coefficients des relations sont de la forme nom\=valeur et sont séparé par des \: (exemple \: a\=1\:b\=2\:c\=3) -observe.label.lengthWeightFormula.info=La relation poids permet de calculer le poids à partir de la taille, elle doit contenir la variable L -observe.label.usage.data.title=Donnée '%1$s' (%2$d occurrences) -observe.label.usage.referentiel.title=Référentiel '%1$s' (%2$d occurrences) -observe.label.weightLengthFormula.info=La relation taille permet de calculer la taille à partir du poids, elle doit contenir la variable P -observe.lengthWeightParameter.tab.general=Caractéristiques générales -observe.lengthWeightParameter.tab.other=Autres caractéristiques -observe.list.HookSize= -observe.list.HookType= -observe.list.baitHaulingStatus=Liste des statuts de l'appât au virage enregistrés -observe.list.baitSettingStatus=Liste des statuts de l'appât au filage enregistrés -observe.list.baitType=Liste des types d'appât enregistrés -observe.list.catchFateLongline=Liste des devenirs capture enregistrés -observe.list.country=Liste des pays enregistrés -observe.list.detectionMode=Liste des modes de détection enregistrés -observe.list.encounterType=Liste des types de rencontre enregistrés -observe.list.fpaZone=Liste des zones FPA enregistrées -observe.list.gear=Liste des équipements enregistrées -observe.list.gearCaracteristic=Liste des caractéristiques d'équipement enregistrées -observe.list.gearCaracteristicType=Liste des types de caractéristique enregistrés -observe.list.harbour=Liste des ports enregistrés -observe.list.healthness=Liste des états de santé enregistrés -observe.list.hookPosition=Liste des positions d'hameçon enregistrées -observe.list.itemHorizontalPosition=Liste des localisations de l'élément sur la ligne mère enregistrées -observe.list.itemVerticalPosition=Liste des localisations de l'élément sur l'avançon enregistrées -observe.list.lengthWeightParameter=Liste des paramétrages taille-poids thons -observe.list.lightsticksColor=Liste des couleurs de cyalumes enregistrées -observe.list.lightsticksType=Liste des types de cyalumes enregistrés -observe.list.lineType=Liste des types de ligne enregistrés -observe.list.maturityStatus=Liste des maturités enregistrées -observe.list.mitigationType=Listes des types de mesure d'atténuation enregistrés -observe.list.objectFate=Liste des devenirs objet enregistrés -observe.list.objectOperation=Liste des opérations objet enregistrées -observe.list.objectType=Liste des types d'opération enregistrés -observe.list.observedSystem=Liste des systèmes observés enregistrés -observe.list.ocean=Liste des océans enregistrés -observe.list.operation=Liste des opérations sur balise enregistrées -observe.list.organism=Liste des organismes enregistrés -observe.list.person=Liste des personnes enregistrés -observe.list.program=Liste des programmes enregistrés -observe.list.reasonForDiscard=Liste des raisons de rejet enregistrées -observe.list.reasonForNoFishing=Liste des non coup de senne enregistrées -observe.list.reasonForNullSet=Liste des causes coup nul enregistrées -observe.list.sensorBrand=Liste des marques de capteur enregistrées -observe.list.sensorDataFormat=Liste des formats de données de capteur enregistrés -observe.list.sensorType=Liste des types de capteur enregistrés -observe.list.settingShape=Liste des formes au filage enregistrées -observe.list.sex=Liste des sexes enregistrés -observe.list.sizeMeasureType=Liste des types de mesure de taille enregistrés -observe.list.speciesFate=Liste des devenirs de faune enregistrés -observe.list.speciesFaune=[devrait s'appeler speciesNonTarget ou nonTargetSpecies] -observe.list.speciesGroupSpecies=Liste des groupes d'espèce de faune enregistrés -observe.list.speciesList=Liste des listes de favoris d'espèces enregistrées -observe.list.speciesStatus=Liste des statuts d'espèce enregistrés -observe.list.stomacFullness=Liste des niveaux de remplissage de l'estomac enregistrés -observe.list.surroundingActivity=Liste des activités environnantes -observe.list.transmittingBuoyType=Liste des types de balise enregistrées -observe.list.tripType=Liste des types de marée enregistrés -observe.list.vessel=Liste des bateaux enregistrés -observe.list.vesselActivityLongline=Liste des activités bateau enregistrées -observe.list.vesselActivitySeine=Lise des activités bateau enregistrées -observe.list.vesselSizeCategory=Liste des catégories de bateaux enregistrées -observe.list.vesselType=Liste des types de bateaux enregistrés -observe.list.weightCategory=Liste des catégories poids enregistrées -observe.list.weightMeasureType=Liste des types de mesure de poids enregistrés -observe.list.wind=Liste des vents Beaufort enregistrés -observe.longlineDetailComposition.action.deleteAllSections=Tout supprimer -observe.longlineDetailComposition.action.deleteAllSections.tip=Supprimer toutes les section - paniers et avançons -observe.longlineDetailComposition.action.deleteSelectedBasket=Supprimer -observe.longlineDetailComposition.action.deleteSelectedBasket.tip=Supprimer le panier sélectionné -observe.longlineDetailComposition.action.deleteSelectedBranchline=Supprimer -observe.longlineDetailComposition.action.deleteSelectedBranchline.tip=Supprimer l'avançon sélectionné -observe.longlineDetailComposition.action.deleteSelectedSection=Supprimer -observe.longlineDetailComposition.action.deleteSelectedSection.tip=Supprimer la section sélectionnée -observe.longlineDetailComposition.action.deleteSelectedSectionTemplate=Supprimer -observe.longlineDetailComposition.action.deleteSelectedSectionTemplate.tip=Supprimer la template sélectionnée -observe.longlineDetailComposition.action.generateAllSections=Tout générer -observe.longlineDetailComposition.action.generateAllSections.tip=Générer toutes les sections - paniers et avançons -observe.longlineDetailComposition.action.insertAfterSelectedBasket=Insérer après -observe.longlineDetailComposition.action.insertAfterSelectedBasket.tip=Insérer après le panier sélectionné -observe.longlineDetailComposition.action.insertAfterSelectedBranchline=Insérer après -observe.longlineDetailComposition.action.insertAfterSelectedBranchline.tip=Insérer après l'avançon sélectionné -observe.longlineDetailComposition.action.insertAfterSelectedSection=Insérer après -observe.longlineDetailComposition.action.insertAfterSelectedSection.tip=Insérer après la section sélectionnée -observe.longlineDetailComposition.action.insertBeforeSelectedBasket=Insérer avant -observe.longlineDetailComposition.action.insertBeforeSelectedBasket.tip=Insérer avant le panier sélectionné -observe.longlineDetailComposition.action.insertBeforeSelectedBranchline=Insérer avant -observe.longlineDetailComposition.action.insertBeforeSelectedBranchline.tip=Insérer avant l'avançon sélectionné -observe.longlineDetailComposition.action.insertBeforeSelectedSection=Insérer avant -observe.longlineDetailComposition.action.insertBeforeSelectedSection.tip=Insérer avant la section sélectionnée -observe.longlineDetailComposition.baskets=Paniers -observe.longlineDetailComposition.basketsTable.floatline1Length=Orin 1 (m) -observe.longlineDetailComposition.basketsTable.floatline1Length.tip=Longueur Orin 1 (m) -observe.longlineDetailComposition.basketsTable.floatline2Length=Orin 2 (m) -observe.longlineDetailComposition.basketsTable.floatline2Length.tip=Longueur Orin 1 (m) -observe.longlineDetailComposition.basketsTable.haulingIdentifier=Id Virage -observe.longlineDetailComposition.basketsTable.haulingIdentifier.tip=Identifiant Virage -observe.longlineDetailComposition.basketsTable.settingIdentifier=Id Filage -observe.longlineDetailComposition.basketsTable.settingIdentifier.tip=Identifiant Filage -observe.longlineDetailComposition.branchlines=Avançons -observe.longlineDetailComposition.branchlinesTable.branchlineLength=Avançon (m) -observe.longlineDetailComposition.branchlinesTable.branchlineLength.tip=Longueur Avançon (m) -observe.longlineDetailComposition.branchlinesTable.haulingIdentifier=Id Virage -observe.longlineDetailComposition.branchlinesTable.haulingIdentifier.tip=Identifiant Virage -observe.longlineDetailComposition.branchlinesTable.settingIdentifier=Id Filage -observe.longlineDetailComposition.branchlinesTable.settingIdentifier.tip=Identifiant Filage -observe.longlineDetailComposition.branchlinesTable.tracelineLength=Partie basse (m) -observe.longlineDetailComposition.branchlinesTable.tracelineLength.tip=Longueur basse (m) -observe.longlineDetailComposition.canGenerate=Autoriser la génération -observe.longlineDetailComposition.firstTemplate.template.notCompilant.basketCount=La template à utiliser %s n'est pas compatible avec le nombre de paniers par section (%s) -observe.longlineDetailComposition.message.updating=Composition détaillée de la palangre en cours de modification -observe.longlineDetailComposition.sectionTemplatesTable.identifier=Identifiant -observe.longlineDetailComposition.sectionTemplatesTable.identifier.tip=Identifiant -observe.longlineDetailComposition.sectionTemplatesTable.value=Template -observe.longlineDetailComposition.sectionTemplatesTable.value.tip=Template -observe.longlineDetailComposition.sections=Sections -observe.longlineDetailComposition.sectionsTable.haulingIdentifier=Id Virage -observe.longlineDetailComposition.sectionsTable.haulingIdentifier.tip=Identifiant Virage -observe.longlineDetailComposition.sectionsTable.settingIdentifier=Id Filage -observe.longlineDetailComposition.sectionsTable.settingIdentifier.tip=Identifiant Filage -observe.longlineDetailComposition.sectionsTable.template=Template -observe.longlineDetailComposition.sectionsTable.template.tip=Template -observe.longlineDetailComposition.tab.branchlineDetail=Détail avançon -observe.longlineDetailComposition.tab.composition=Composition -observe.longlineDetailComposition.tab.generate=Définition des modèles -observe.longlineDetailComposition.title=Schéma de palangre -observe.longlineDetailComposition.title.section.cant.use.firstTemplate=Impossible d'utiliser le premier modèle lors de la génération -observe.longlineGlobalComposition.availableMitigationType=Atténuations disponibles -observe.longlineGlobalComposition.message.updating=Composition globale de la palangre en cours de modification -observe.longlineGlobalComposition.mitigationType=Atténuations -observe.longlineGlobalComposition.selectedMitigationType=Atténuations sélectionnées -observe.longlineGlobalComposition.tab.baitsComposition=Appâts -observe.longlineGlobalComposition.tab.branchlinesComposition=Avançons -observe.longlineGlobalComposition.tab.floatlinesComposition=Orins -observe.longlineGlobalComposition.tab.hooksComposition=Hameçons -observe.longlineGlobalComposition.tab.mitigationType=Atténuations -observe.longlineGlobalComposition.title=Composition globale de la palangre -observe.map.action.exportPng=Exporter -observe.map.action.exportPng.tip=Exporter la carte au format PNG -observe.map.action.zoomIt=Centrer -observe.map.action.zoomIt.tip=Centrer la carte sur la marée -observe.map.east=Est -observe.map.export.chooseFile.ok=Exporter -observe.map.export.chooseFile.png=image PNG -observe.map.export.chooseFile.title=Exporter la carte -observe.map.export.success=Carte exportée (%s) -observe.map.legend.hauling=Virage -observe.map.legend.setting=Filage -observe.map.legend.tripBetweenTwoDays=Trajet entre deux jours -observe.map.legend.tripDay=Trajet d'une journée -observe.map.longLine.activity= -observe.map.longLine.activity.hauling.end= -observe.map.longLine.activity.hauling.start= -observe.map.longLine.activity.interaction= -observe.map.longLine.activity.setting.end= -observe.map.longLine.activity.setting.start= -observe.map.longLine.activity.station= -observe.map.longLine.seine.harbour= -observe.map.miles=milles -observe.map.north=Nord -observe.map.seine.activity= -observe.map.seine.activity.inHarbour= -observe.map.seine.activity.schoolType.free= -observe.map.seine.activity.schoolType.object= -observe.map.seine.harbour.departure= -observe.map.seine.harbour.landing= -observe.map.south=Sud -observe.map.waitLoading=< Veuillez patienter pendant le chargement de la carte > -observe.map.west=Ouest -observe.measurement.delete.message=Supprimer la caractéristique sélectionnée observe.menu.actions=Actions observe.menu.application.locale=Application observe.menu.configuration=Configuration @@ -1343,21 +1823,17 @@ observe.menu.db.locale=Référentiel observe.menu.file=Fichier observe.menu.help=Aide observe.menu.locale=Langues +observe.menu.move.activityLongline=Changer de marée +observe.menu.move.activitySeine=Changer de route +observe.menu.move.route=Changer de marée +observe.menu.move.trip=Réallocation du programme observe.menu.navigation=Navigation observe.menu.storage=Source de données observe.message.can.not.write.data=Vous n'êtes pas autorisé à écrire des données observateurs sur cette source de données. observe.message.cant.add.echantillonRejetThon=<html><body><strong>Impossible d'ajouter des échantillons de rejet thons</strong>(pas de rejet thon monté sur le pont)</body></html> observe.message.cant.add.echantillonTargetCatch=<html><body><strong>Impossible d'ajouter des échantillons thons</strong> (pas de capture thon)</body></html> observe.message.cant.add.nonTargetSample=<html><body><strong>Impossible d'ajouter des échantillons</strong>(pas de rejet faune)</body></html> -observe.message.consolidate.activity=Données calculées pour l'activité %1$s -observe.message.consolidate.noChanges=Aucune donnée nodifiée. -observe.message.consolidate.operation.done=Opération de calcul des données terminée à %1$s. -observe.message.consolidate.save.changes=Sauvegarde des modifications sur la(es) %1$s marée(s) modifiée(s). -observe.message.consolidate.trip=Données calculées pour la marée %1$s observe.message.creating.referentiel=L'objet est en cours de création. -observe.message.datasynchro.leftData.loaded=Données du panneau gauche récupérées. -observe.message.datasynchro.ready=Données récupérées. -observe.message.datasynchro.rightData.loaded=Données du panneau droit récupérées. observe.message.db.closed=%1$s a été fermé observe.message.db.loaded=%1$s chargé observe.message.db.loading=%1$s en cours de chargement @@ -1366,11 +1842,6 @@ observe.message.db.none.loaded.tip=Aucune source de données chargée... observe.message.delete=Confirmer la suppression de l'objet \:\n\n '%1$s' - '%2$s'\n observe.message.delete.directory=Suppresion du répertoire %1$s observe.message.delete.new=Confirmer la suppression de l'objet \:\n\n '%1$s'\n -observe.message.exportData.delete.remote.maree=Suppression de la marée (%1$s) du programme (%2$s) de la base distante. -observe.message.exportData.not.possible=L'opération d'export n'est pas possible (voir les messages précédents). -observe.message.exportData.operation.needFix=Veuillez sélectionner les marées à exporter. -observe.message.exportData.prepare.data=Préparation des données à exporter... -observe.message.exportData.replicate.maree=Duplication de la marée (%1$s) du programme (%2$s) vers la base distante. observe.message.goto.site=Accéder au site d'Observe (%1$s) observe.message.h2.server.login=Login observe.message.h2.server.password=Mot de passe @@ -1402,85 +1873,21 @@ observe.message.show.usage.for.desactivated=Le référentiel %1$s "%2$s" va êtr 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. observe.message.show.usages=Listes des utilisations du référentiel %1$s \: '%2$s' -observe.message.synchro.apply.done=Référentiel mise à jour le %1$td/%1$tm/%1$tY à %1$tH\:%1$tM\:%1$tS -observe.message.synchro.build.diff=Construction du différentiel de référentiel depuis %1$s -observe.message.synchro.local.modification=Des données ont été modifiées et la base locale doit être sauvée. -observe.message.synchro.no.local.modification=Aucune donnée de la base locale n'a été modifiée, sauvegarde non requise. -observe.message.synchro.operation.canceled=L'opération a été annulée -observe.message.synchro.operation.done=Opération terminée le %1$td/%1$tm/%1$tY à %1$tH\:%1$tM\:%1$tS -observe.message.synchro.operation.failed=L'opération a échouée -observe.message.synchro.operation.needFix=L'opération requière des corrections. -observe.message.synchro.ref.is.updtodate=Le référentiel de la base locale est à jour, aucune correction requise. -observe.message.synchro.referentiel.was.added=Des données (type %1$s) ont été ajoutées au référentiel distant (%2$d objet(s)) -observe.message.synchro.referentiel.was.modified=Des données (type %1$s) ont été modifiées sur le référentiel distant (%2$d objet(s)) -observe.message.synchro.referentiel.was.removed=Des données (type %1$s) ont été supprimées du réferentiel distant (%2$d objet(s)) -observe.message.synchro.referentiel.was.replaced=Des données (type %1$s) ont été remplacées dans le référentiel local (%2$d objet(s)) observe.message.table.editBean.modified=L'entrée en cours d'édition a été modifiée et est valide. observe.message.table.editBean.modified.but.invalid=L'entrée en cours d'édition a été modifiée, mais n'est pas valide. observe.message.updating.floatingObject=L'objet flottant est en cours de modification. observe.message.updating.referentiel=L'objet est en cours de mise à jour. -observe.message.validation.detected=Validateur détecté pour le type %1$s -observe.message.validation.not.save.report=Pas de rapport à sauvegarder. -observe.message.validation.nothing.to.do=Les données sont valides et ne nécessitent pas de correction. -observe.message.validation.operation.done=L'opération de validation terminé le %1$td/%1$tm/%1$tY à %1$tH\:%1$tM\:%1$ts. -observe.message.validation.operation.needFix=Vos données ne sont valides et nécessitent des corrections. -observe.message.validation.prepare.validators=Détection des validateurs -observe.message.validation.save.report=Le rapport de validation a été sauvegardé dans le fichier %1$s -observe.message.validation.use.storage=La validation sera effectuée sur %1$s observe.message.warning.will.be.delete=%1$s\n\nAttention, l'export remplacera la marée existante. observe.modeSaisieEchantillonEnum.byEffectif=Saisie par nombre observe.modeSaisieEchantillonEnum.byIndividu=Saisie par individu observe.model.version=Version du modèle de données -observe.navigationMenu.move.activityLongline=Changer de marée -observe.navigationMenu.move.activitySeine=Changer de route -observe.navigationMenu.move.route=Changer de marée -observe.navigationMenu.move.trip=Réallocation du programme observe.navigationMenu.noAction=< Aucune action définie > -observe.nonTargetCatch.message.table.will.delete.nonTargetSample=En confirmant la sauvegarde des objets vont être supprimés\!\n\nLes espèces suivantes ne seront plus utilisables dans des échantillonages \:\n%1$s\nCela entrainera la suppression des échantillonages des ces espèces -observe.nonTargetCatch.table.catchWeight=Poids -observe.nonTargetCatch.table.catchWeight.tip=Poids estimé (en t) -observe.nonTargetCatch.table.comment=Com -observe.nonTargetCatch.table.comment.tip=Commentaire -observe.nonTargetCatch.table.deleteExtraMessage=\nLe fait de supprimer une capture de faune peut entrainer la suppression d'échantillonnage(s) sur l'espèce. -observe.nonTargetCatch.table.meanLength=Taille -observe.nonTargetCatch.table.meanLength.tip=Taille moyenne (en cm) -observe.nonTargetCatch.table.meanWeight=Poids moy -observe.nonTargetCatch.table.meanWeight.tip=Poids moyen (en Kg) -observe.nonTargetCatch.table.reasonForDiscard=Raison rejet -observe.nonTargetCatch.table.reasonForDiscard.tip=Raison rejet -observe.nonTargetCatch.table.speciesFate=Devenir -observe.nonTargetCatch.table.speciesFate.tip=Devenir faune -observe.nonTargetCatch.table.speciesFaune=Espèce de faune -observe.nonTargetCatch.table.speciesFaune.tip=Espèce de faune -observe.nonTargetCatch.table.totalCount=Nombre -observe.nonTargetCatch.table.totalCount.tip=Nombre estimé -observe.nonTargetSample.table.count=Effectif -observe.nonTargetSample.table.count.tip=Effectif -observe.nonTargetSample.table.gender=Sex -observe.nonTargetSample.table.gender.tip=Sex -observe.nonTargetSample.table.length=Longueur -observe.nonTargetSample.table.length.tip=Longueur -observe.nonTargetSample.table.meanWeight=Poids ind. -observe.nonTargetSample.table.meanWeight.tip=Poids individuel (en Kg) -observe.nonTargetSample.table.picturesReferences=Ref photo -observe.nonTargetSample.table.picturesReferences.tip=référence photo -observe.nonTargetSample.table.speciesFaune=Espèce faune -observe.nonTargetSample.table.speciesFaune.tip=Espèce faune -observe.objectObservedSpecies.table.count=Nombre -observe.objectObservedSpecies.table.count.tip=Nombre -observe.objectObservedSpecies.table.speciesFaune=Espèce de faune -observe.objectObservedSpecies.table.speciesFaune.tip=Espèce de faune -observe.objectObservedSpecies.table.speciesStatus=Statut Espèce -observe.objectObservedSpecies.table.speciesStatus.tip=Statut Espèce observe.obstuna.action.create=Création d'obstuna observe.obstuna.action.create.description=Création d'une nouvelle base distante obstuna observe.obstuna.action.security=Mise à jour de la sécurité d'obstuna observe.obstuna.action.security.description=Mise à jour de la sécurité d'une base distante obstuna observe.obstuna.action.update=Mise à jour d'obstuna observe.obstuna.action.update.description=Mise à jour d'une base distante obstuna -observe.person.country=Nationalité -observe.program.tab.general=Caractértistiques générales -observe.program.tab.observations=Observations observe.programObservationEnum.value0=non observé observe.programObservationEnum.value1=observé observe.programObservationEnum.value2=valeur 2 non définie @@ -1491,15 +1898,6 @@ observe.programObservationEnum.value6=valeur 6 non définie observe.programObservationEnum.value7=valeur 7 non définie observe.programObservationEnum.value8=valeur 8 non définie observe.programObservationEnum.value9=valeur 9 non définie -observe.route.message.active.found=Une route est ouverte. -observe.route.message.active.found.for.other.trip=Une route ouverte existe dans une autre marée. -observe.route.message.creating=La route est en cours de création. -observe.route.message.no.active.found=Aucune route ouverte, vous pouvez soit en créer une nouvelle, soit en réouvrir une. -observe.route.message.no.active.found.for.other.trip=Aucune route ouverte sur la marée ouverte -observe.route.message.not.open=La route courante n'est pas ouverte, aucune modification possible. -observe.route.message.updating=La route est en cours de modification. -observe.route.title=Route -observe.routes.title=Routes observe.runner.config.loaded=Configuration d'ObServe v. %1$s chargée. observe.runner.config.migrate.file=Le fichier de configuration %1$s a été déplacée de \n%2$s\nvers\n%3$s observe.runner.context.loaded=Initialisation du contexte terminée en %1$s. @@ -1518,16 +1916,6 @@ observe.runner.quit.withno.ui=Fermeture de l'application sans ouvrir l'interface observe.runner.start=Démarrage d'ObServe %1$s %2$s observe.runner.ui.loaded=Initialisation de l'interface graphique terminée. observe.runner.user.directories.loaded=Le répertoire utilisateur a été initialisé (%1$s). -observe.schoolEstimate.table.meanWeight=Poids moyen (en Kg) -observe.schoolEstimate.table.meanWeight.tip=Poids moyen (en Kg) -observe.schoolEstimate.table.speciesThon=Espèce de thon -observe.schoolEstimate.table.speciesThon.tip=Espèce de thon (ne peut pas être modifié une fois l'estimation crée) -observe.schoolEstimate.table.weight=Poids (en t) -observe.schoolEstimate.table.weight.tip=Poids (en t) -observe.section.cant.delete.message=La section ne peut pas être supprimée car elle est utilisée dans des données. -observe.section.cant.delete.title=Impossible de supprimer la section -observe.sectionTemplate.delete.message=Confirmer la suppression de la template sélectionnée. -observe.sections.delete.message=Confirmer la suppression de toutes les sections. observe.security.referentiel=Référentiel observe.security.referentiel.tip=Rôle de lecture seule du référentiel (aucun droit sur les données) observe.security.role=Rôle @@ -1538,114 +1926,47 @@ observe.security.unused=Non utilisé observe.security.unused.tip=Ne pas utiliser ce rôle observe.security.utilisateur=Utilisateur observe.security.utilisateur.tip=Rôle ayant les droits de lecture sur le référentiel et les données -observe.sensorUsed.action.create=Insérer ce capteur -observe.sensorUsed.action.create.tip=Insérer ce capteur -observe.sensorUsed.action.reset.dataLocation.tip=Réinitialiser -observe.sensorUsed.action.reset.sensorSerialNo.tip=Réinitialiser -observe.sensorUsed.data=Fichier de données -observe.sensorUsed.dataLocation=Hébergement -observe.sensorUsed.dataLocation.tip=Hébergement du fichier de données -observe.sensorUsed.delete.data.message=Confirmer la suppression du fichier de données -observe.sensorUsed.deleteData=Supprimer -observe.sensorUsed.deleteData.tip=Supprimer le fichier de données -observe.sensorUsed.exportData=Exporter -observe.sensorUsed.exportData.tip=Exporter le fichier de données enregistré -observe.sensorUsed.importData=Importer -observe.sensorUsed.importData.tip=Importer un fichier de données -observe.sensorUsed.message.data.exported=Le fichier de données a été exporté (%s). -observe.sensorUsed.sensorBrand=Marque -observe.sensorUsed.sensorDataFormat=Format de données -observe.sensorUsed.sensorSerialNo=Numéro de série -observe.sensorUsed.sensorType=Type -observe.sensorUsed.table.data=Fichier -observe.sensorUsed.table.data.tip=Fichier de données présent ? -observe.sensorUsed.table.dataLocation=Hébergement -observe.sensorUsed.table.dataLocation.tip=Hébergement du fichier de données -observe.sensorUsed.table.sensorBrand=Marque -observe.sensorUsed.table.sensorBrand.tip=Marque de capteur -observe.sensorUsed.table.sensorDataFormat=Format de données -observe.sensorUsed.table.sensorDataFormat.tip=Format de données du capteur -observe.sensorUsed.table.sensorSerialNo=Numéro de série -observe.sensorUsed.table.sensorSerialNo.tip=Numéro de stié du capteur -observe.sensorUsed.table.sensorType=Type -observe.sensorUsed.table.sensorType.tip=Type de capteur -observe.sensorUsed.title=Capteurs -observe.setLongline.action.reset.homeId.tip=Réinitialiser l'id métier -observe.setLongline.basketsPerSectionCount=Nombre de paniers par section -observe.setLongline.branchlinesPerBasketCount=Nombre d'hameçons par panier -observe.setLongline.haulingBreaks=Nombre de coupures -observe.setLongline.haulingDirectionSameAsSetting=Sens du virage identique à celui du filage -observe.setLongline.haulingEndCoordinates=Coordonnées fin de virage -observe.setLongline.haulingEndTimeStamp=Horodatage fin -observe.setLongline.haulingStartCoordinates=Coordonnées début de virage -observe.setLongline.haulingStartTimeStamp=Horodatage début -observe.setLongline.homeId=Id métier -observe.setLongline.lightsticksColor=Couleur de cyalumes -observe.setLongline.lightsticksPerBasketCount=Nombre de cyalumes par panier -observe.setLongline.lightsticksType=Type de cyalumes -observe.setLongline.lineType=Type de ligne -observe.setLongline.maxDepthTargeted=Profondeur maximum ciblée -observe.setLongline.message.creating=L'opération de pêche est en cours de création. -observe.setLongline.message.updating=L'opération de pêche est en cours de modification. -observe.setLongline.monitored=Instrumentée -observe.setLongline.number=Numéro -observe.setLongline.settingEndCoordinates=Coordonnées fin de filage -observe.setLongline.settingEndTimeStamp=Horodatage fin -observe.setLongline.settingShape=Forme du filage -observe.setLongline.settingStartCoordinates=Coordonnées début de filage -observe.setLongline.settingStartTimeStamp=Horodatage début -observe.setLongline.settingVesselSpeed=Vitesse bateau (nd) -observe.setLongline.shooterSpeed=Vitesse shooter (nd) -observe.setLongline.shooterUsed=Shooter utilisé -observe.setLongline.snapWeight=Poids snap (kg) -observe.setLongline.swivelWeight=Poids de l'émerillon (kg) -observe.setLongline.tab.hauling=Virage -observe.setLongline.tab.setting=Filage -observe.setLongline.tab.settingCaracteristics=Caractéristiques -observe.setLongline.timeBetweenHooks=Temps entre hameçons (s) -observe.setLongline.title=Opération de pêche -observe.setLongline.totalBasketsCount=Nombre total de baskets -observe.setLongline.totalHooksCount=Nombre total d'avançons -observe.setLongline.totalSectionsCount=Nombre total de sections -observe.setLongline.weightedSnap=Snap lesté -observe.setLongline.weightedSwivel=Émerillon lesté -observe.setSeine.currentDirection=Direction du courant (°) -observe.setSeine.currentMeasureDepth=Profondeur de mesure du courant (m) -observe.setSeine.currentSpeed=Vitesse du courant (nd) -observe.setSeine.endPursingTimeStamp=Date - Heure de fin coulissage -observe.setSeine.endSetTimeStamp=Date - Heure de fin de validité -observe.setSeine.maxGearDepth=Profondeur maximum (m) -observe.setSeine.message.creating=La calée est en cours de création. -observe.setSeine.message.information.schoolType= -observe.setSeine.message.no.nonTargetDiscarded=La calée n'a pas de rejet de faune -observe.setSeine.message.no.targetCatch=Pour échantilloner les thons capturés, il faut au moins une capture. -observe.setSeine.message.no.targetDiscarded=Pour échantilloner les thons, il faut au moins un rejet de thon monté sur le pont. -observe.setSeine.message.updating=La calée est en cours de modification. -observe.setSeine.nonTargetDiscarded=Rejet de faune -observe.setSeine.reasonForNullSet=Cause coup nul -observe.setSeine.schoolMeanDepth=Profondeur moyenne (m) -observe.setSeine.schoolThickness=Épaisseur du banc (m) -observe.setSeine.schoolTopDepth=Profondeur sommet (m) -observe.setSeine.schoolType=Type de banc -observe.setSeine.schoolType.not.fill=Non renseigné -observe.setSeine.sonarUsed=Utilisation sonar pendant la calée -observe.setSeine.sonarUsedAvantSet=Utilisation du sonar -observe.setSeine.startTime=Date - Heure de début de validité -observe.setSeine.supportVesselName=Nom supply -observe.setSeine.tab.general=Caractéristiques générales -observe.setSeine.tab.measurements=Mesures -observe.setSeine.targetDiscarded=Rejet de thon -observe.setSeine.title=Calée -observe.sizeMeasure.delete.message=Confirmer la suppression de la mesure de la taille sélectionnée. -observe.species.availableOcean=Océans disponibles -observe.species.selectedOcean=Océans sélectionnés -observe.species.tab.general=Caractéristiques générales -observe.species.tab.other=Autres caractéristiques -observe.speciesList.availableSpecies=Espèces disponibles -observe.speciesList.selectedSpecies=Espèces sélectionnées -observe.speciesList.tab.general=Caractéristiques générales -observe.speciesList.tab.species=Espèces +observe.storage.action.apply=Utiliser +observe.storage.action.apply.tip=Utiliser la source de données configurée +observe.storage.action.applyAction=Changement de source de données observe.storage.action.canMigrate=Mettre à jour la base (version courante %1$s) +observe.storage.action.cancel=Annuler le changement de source de données +observe.storage.action.cancel.tip=Annuler le changement de source de données +observe.storage.activityLongline.coordinate=Coordonnées +observe.storage.activityLongline.fpaZone=Zone FPA +observe.storage.activityLongline.message.active.found=Une activité est ouverte. +observe.storage.activityLongline.message.active.found.for.other.trip=Une activité ouverte existe dans une autre marée. +observe.storage.activityLongline.message.creating=L'activité est en cours de création. +observe.storage.activityLongline.message.no.active.found=Aucune activité ouverte, vous pouvez soit en créer une nouvelle, soit en réouvrire une. +observe.storage.activityLongline.message.no.active.found.for.other.trip=Aucune activité ouverte sur la marée ouverte +observe.storage.activityLongline.message.not.open=L'opération de pêche n'est pas ouverte, aucune modification possible. +observe.storage.activityLongline.message.updating=L'activité est en cours de modification. +observe.storage.activityLongline.seaSurfaceTemperature=Température surface (°c) +observe.storage.activityLongline.timeStamp=Horodatage +observe.storage.activityLongline.title=Activité +observe.storage.activityLongline.vesselActivityLongline=Activité bateau +observe.storage.activityLonglines.title=Activités +observe.storage.activityObservedSystem.availableObservedSystem=Systèmes observés disponibles +observe.storage.activityObservedSystem.selectedObservedSystem=Systèmes observés sélectionnés +observe.storage.activitySeine.message.active.found=Une activité est ouverte. +observe.storage.activitySeine.message.active.found.for.other.route=Une activité ouverte existe dans une autre route. +observe.storage.activitySeine.message.creating=L'activité est en cours de création. +observe.storage.activitySeine.message.no.active.found=Aucune activité ouverte, vous pouvez soit en créer une nouvelle, soit en réouvrire une. +observe.storage.activitySeine.message.no.active.found.for.other.route=Aucune activité ouverte sur la route ouverte +observe.storage.activitySeine.message.not.open=L'activité n'est pas ouverte, aucune modification possible. +observe.storage.activitySeine.message.updating=L'activité est en cours de modification. +observe.storage.activitySeine.tab.general=Caractéristiques générales +observe.storage.activitySeine.tab.measurements=Mesures +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 +observe.storage.config.export.required.read.data=Vous devez posséder les droits de lecture sur les données de la base distante +observe.storage.config.export.required.read.referentiel=Vous devez posséder les droits de lecture sur le référentiel de la base distante +observe.storage.config.referentiel.mode=Mode d'import du référentiel +observe.storage.config.referentiel.storage=Configuration de la base de référence +observe.storage.config.source.storage=Configuration de la base source observe.storage.connexionStatut.failed=Connexion échouée observe.storage.connexionStatut.failed.description=La connexion a échouée pour la raison suivante \:\n %1$s observe.storage.connexionStatut.success=Connexion réussie @@ -1680,6 +2001,9 @@ observe.storage.error.rest.pasword.required=Le mot de passe est obligatoire observe.storage.error.rest.user.required=L'utilisateur est obligatoire observe.storage.error.rest.user.unknown=L'utilisateur "%s" est inconnu sur le serveur observe.storage.error.serverVersionMismatch=La version du serveur distant (%s) n'est pas compatible avec la version du modèle (%s) +observe.storage.import.data.fromBackup=Importer les données depuis une sauvegarde de base locale (*.sql.gz) +observe.storage.import.data.fromRemoteStorage=Importer les données depuis une base distante +observe.storage.import.data.fromServerStorage=Importer les données depuis un serveur distant observe.storage.importExternalDump.config=Sélection de la sauvegarde à utiliser observe.storage.importExternalDump.description=Veuillez sélectionner le fichier d'une sauvegarde (*.sql.gz). observe.storage.importExternalDumpData.config=Choisir la sauvegarde contenant les données à importer @@ -1724,6 +2048,11 @@ observe.storage.migrate.askUser.message=La base de données est en version %1$s, observe.storage.migrate.askUser.title=Mise à jour de la base en version %1$s requise observe.storage.migrate.not.possible.before.version.3.0.message=<html><body>La version %s d'ObServe nécessite une base de version au moins <strong>3.0</strong>. Votre base est en version %s<br/>Veuillez dans un premier temps utiliser ObServe 3.0 ou 3.1 pour effectuer la migration puis réouvrir la base avec cette nouvelle version d'ObServe</body></html> observe.storage.migrate.not.possible.before.version.3.0.title=Migration de base impossible en version %s +observe.storage.no.data.import=Ne pas importer de données +observe.storage.no.local.storage=Aucune base source définie +observe.storage.no.referentiel.import=Ne pas importer de référentiel +observe.storage.no.remote.storage=Aucune base de référence définie +observe.storage.no.server.storage=Aucun serveur de référence défini observe.storage.noImportData.config=< Pas de configuration > observe.storage.noImportReferentiel.config=< Pas de configuration > observe.storage.remote.db=(distante) @@ -1767,290 +2096,37 @@ observe.storage.step.selectData=Sélection données observe.storage.step.selectData.description=Selectionner les données à exporter dans la sauvegarde observe.storage.store.remote.config=Conserver le paramétrage observe.storage.store.remote.config.tip=Conserver le paramétrage de la source de données distante dans votre configuration (sauf les mots de passe pour des raisons de sécurité) +observe.storage.title.change=Changer la source de données observe.storage.useRemoteStorage.config=Configurer la base distante à utiliser observe.storage.useRemoteStorage.description=Veuillez configurer votre connexion à la base distante\nAvant de pouvoir poursuivre, vous devez valider la connexion. observe.storage.useServerStorage.config=Configurer le serveur distant à utiliser observe.storage.useServerStorage.description=Veuillez configurer votre connexion au serveur distant\nAvant de pouvoir poursuivre, vous devez valider la connexion. -observe.synchro.config.data.mode=Mode d'import des données -observe.synchro.config.data.storage=Configuration de la base de données -observe.synchro.config.export.required.read.data=Vous devez posséder les droits de lecture sur les données de la base distante -observe.synchro.config.export.required.read.referentiel=Vous devez posséder les droits de lecture sur le référentiel de la base distante -observe.synchro.config.export.required.write.data=Vous devez posséder les droits d'écritures sur les données de la base distante -observe.synchro.config.referentiel.mode=Mode d'import du référentiel -observe.synchro.config.referentiel.storage=Configuration de la base de référence -observe.synchro.config.report=Configuration des reports -observe.synchro.config.source.storage=Configuration de la base source -observe.synchro.config.validate=Configuration de la validation -observe.synchro.config.validation.report=Rapport de validation -observe.synchro.configuration=Configuration des opérations -observe.synchro.continue.with.no.save.report=Continuer sans sauver de rapport -observe.synchro.import.data.fromBackup=Importer les données depuis une sauvegarde de base locale (*.sql.gz) -observe.synchro.import.data.fromRemoteStorage=Importer les données depuis une base distante -observe.synchro.import.data.fromServerStorage=Importer les données depuis un serveur distant -observe.synchro.message.need.save.for.synchro.operation=L'opération de synchronisation du référentiel a engendrée des modifications. -observe.synchro.message.need.save.for.validation.operation=L'opération de validation des données a engendrée des modifications. -observe.synchro.message.saveLocal.skip=L'opération de sauvegarde de la base locale n'est pas requise. -observe.synchro.no.data.import=Ne pas importer de données -observe.synchro.no.local.storage=Aucune base source définie -observe.synchro.no.referentiel.import=Ne pas importer de référentiel -observe.synchro.no.remote.storage=Aucune base de référence définie -observe.synchro.no.server.storage=Aucun serveur de référence défini -observe.synchro.obsolete.entities.list=Liste des entités du référentiel obsolètes -observe.synchro.obsolete.entity.fix=Changer les références sur l'objet sélectionné -observe.synchro.operation.canceled=L'opération <%1$s> a été annulée. -observe.synchro.operation.consolidate=Calculer les données -observe.synchro.operation.consolidate.description=Calculer les données non observées -observe.synchro.operation.dataSynchronize=Synchronisation bi-directionnelle de données -observe.synchro.operation.dataSynchronize.description=Synchronisation bi-directionnelle des données utilisateurs -observe.synchro.operation.exportData=Exporter les données observateurs -observe.synchro.operation.exportData.description=Exporter les données observateurs vers la base centrale -observe.synchro.operation.failed=L'opération < %1$s > a échouée. -observe.synchro.operation.needFix=L'opération < %1$s > nécessite des corrections. -observe.synchro.operation.report=Tableaux de synthèse -observe.synchro.operation.report.description=Générer les tableaux de synthèse du rapport de fin d'embarquement -observe.synchro.operation.running=L'opération < %1$s > est en cours d'exécution... -observe.synchro.operation.saveLocal=Sauvegarde de la base locale -observe.synchro.operation.saveLocal.description=Sauvegarder les modifications effectuées vers la base locale -observe.synchro.operation.successed=L'opération < %1$s > est terminée. -observe.synchro.operation.synchronize=Synchroniser le référentiel -observe.synchro.operation.synchronize.description=Synchroniser le référentiel depuis la base centrale -observe.synchro.operation.validate=Valider les données -observe.synchro.operation.validate.description=Valider les données de la base source -observe.synchro.operations=Opérations à effectuer -observe.synchro.report.copy.options=Options de copie dans le presse-papier -observe.synchro.report.report.description=Description du rapport sélectionné -observe.synchro.report.result=Résultats du rapport -observe.synchro.report.select=Sélection du rapport -observe.synchro.report.variables=Configuration des variables -observe.synchro.safe.entity.to.choose.label=Objets disponibles -observe.synchro.save.report=Sauver le rapport -observe.synchro.step.config=Configuration -observe.synchro.step.config.description=Configuration des opérations et sources de données à utiliser. -observe.synchro.step.consolidate=Calculer les données -observe.synchro.step.consolidate.description=Calculer les données non observées -observe.synchro.step.dataSynchronize=Synchronisation bi-directionnelle de données -observe.synchro.step.dataSynchronize.description=Synchronisation bi-directionnelle des données utilisateurs -observe.synchro.step.exportData=Exporter -observe.synchro.step.exportData.description=Exporter les données observateurs vers la base centrale -observe.synchro.step.report=Tableaux de synthèse -observe.synchro.step.report.description=Aide à la génération du rapport de fin d'embarquement -observe.synchro.step.saveLocal=Sauvegarde locale -observe.synchro.step.saveLocal.description=Sauver les modifications sur votre base source -observe.synchro.step.selectData=Sélection des données -observe.synchro.step.selectData.description=Sélection des données pour effectuer les opérations -observe.synchro.step.showResume=Résumé -observe.synchro.step.showResume.description=Voir un résumé des opérations effectuées -observe.synchro.step.synchronize=Synchronisation Référentiel -observe.synchro.step.synchronize.description=Synchronizer le référentiel depuis la base centrale -observe.synchro.step.validate=Validation -observe.synchro.step.validate.description=Validation des données d'une source de données -observe.synchro.table.exportData.exist.label=E -observe.synchro.table.exportData.exist.label.tip=Marée déjà présente sur la base distante -observe.synchro.table.exportData.program.label=Programme -observe.synchro.table.exportData.program.label.tip=Libellé du programme de la maréee -observe.synchro.table.exportData.selected=... -observe.synchro.table.exportData.selected.tip=Sélectionner - Désélectionner toutes les marées à exporter -observe.synchro.table.exportData.trip.label=Marée -observe.synchro.table.exportData.trip.label.tip=Libellé de la marée -observe.synchro.validate.invalid.data.list=Liste des objets invalides -observe.synchro.validate.message.list=Liste des messages portant sur l'objet sélectionné -observe.synchro.validate.save.reportFile=Le rapport de validation sera généré ici\n%1$s -observe.targetCatch.table.comment=Com -observe.targetCatch.table.comment.tip=Commentaire -observe.targetCatch.table.deleteExtraMessage=\nLe fait de supprimer une capture thon peut entrainer la suppression d'échantillonnage(s) sur l'espèce. -observe.targetCatch.table.speciesThon=Thon mis en cuve -observe.targetCatch.table.speciesThon.tip=Thon mis en cuve -observe.targetCatch.table.weight=Poids (en t) -observe.targetCatch.table.weight.tip=Poids (en t) -observe.targetCatch.table.weightCategory=Catégorie de poids -observe.targetCatch.table.weightCategory.tip=Catégorie de poids -observe.targetCatch.table.well=Cuve -observe.targetCatch.table.well.tip=Cuve -observe.targetDiscarded.message.table.will.delete.targetLength=En confirmant la sauvegarde des objets vont être supprimés\!\n\nLes espèces suivantes ne seront plus utilisables dans des échantillonages \:\n%1$s\nCela entrainera la suppression des échantillonnages des ces espèces -observe.targetDiscarded.table.broughtOnDeck=M -observe.targetDiscarded.table.broughtOnDeck.tip=Monté sur le pont ? -observe.targetDiscarded.table.comment=Comm -observe.targetDiscarded.table.comment.tip=Commentaire -observe.targetDiscarded.table.deleteExtraMessage=\nLe fait de supprimer un rejet de thon peut entrainer la suppression d'échantillonnage(s) sur l'espèce. -observe.targetDiscarded.table.reasonForDiscard=Raison rejet -observe.targetDiscarded.table.reasonForDiscard.tip=Raison rejet -observe.targetDiscarded.table.speciesThon=Espèce de thon -observe.targetDiscarded.table.speciesThon.tip=Espèce de thon -observe.targetDiscarded.table.weight=Poids -observe.targetDiscarded.table.weight.tip=Poids (en t) -observe.targetDiscarded.table.weightCategory=Catégorie de poids -observe.targetDiscarded.table.weightCategory.tip=Catégorie de poids -observe.targetSample.table.count=Effectif -observe.targetSample.table.count.tip=Effectif -observe.targetSample.table.length=Longueur -observe.targetSample.table.length.tip=Longueur (cm inf.) -observe.targetSample.table.meanWeight=Poids ind. -observe.targetSample.table.meanWeight.tip=Poids individuel (en Kg) -observe.targetSample.table.measureType=Type de mensuration -observe.targetSample.table.measureType.tip=Le type de mensuration utilisé (LF ou LD1) -observe.targetSample.table.speciesThon=Espèce de thon -observe.targetSample.table.speciesThon.tip=Espèce de thon -observe.targetSample.table.totalWeight=Poids tot. -observe.targetSample.table.totalWeight.tip=Poids total (en t) -observe.tdr.action.create=Insérer le capteur -observe.tdr.action.create.tip=Insérer ce nouveau capteur -observe.tdr.action.reset.dataLocation.tip=Réinitialiser l'hébergement du fichier -observe.tdr.action.reset.homeId.tip=Réinitialiser l'id métier -observe.tdr.action.reset.serialNo.tip=Réinitialiser le numéro se série -observe.tdr.availableSpecies=Espèces disponibles -observe.tdr.basket=Panier -observe.tdr.branchline=Avançon -observe.tdr.data=Données -observe.tdr.dataLocation=Hébergement -observe.tdr.dataLocation.tip=Hébergement du fichier de données -observe.tdr.delete.data.message=Confirmer la suppression du fichier de données -observe.tdr.deleteData=Supprimer -observe.tdr.deleteData.tip=Supprimer le fichier de données -observe.tdr.deployementEnd=Fin déploiement -observe.tdr.deployementStart=Début déploiement -observe.tdr.enableTimestamp=Activer l'horodatage -observe.tdr.enableTimestamp.tip=Activer l'horodatage pour cet enregistreur -observe.tdr.exportData=Exporter -observe.tdr.exportData.tip=Exporter les données enregistrées -observe.tdr.fishingEnd=Fin pêche -observe.tdr.fishingEndDepth=Profondeur en fin de pêche (m) -observe.tdr.fishingStart=Début pêche -observe.tdr.fishingStartDepth=Profondeur en début de pêche (m) -observe.tdr.floatline1Length=Longueur 1 d'orin (m) -observe.tdr.floatline2Length=Longueur 2 d'orin (m) -observe.tdr.homeId=Id métier -observe.tdr.importData=Importer -observe.tdr.importData.tip=Importer un fichier de données -observe.tdr.itemHorizontalPosition=Position sur la ligne -observe.tdr.itemVerticalPosition=Position verticale -observe.tdr.locationOnLongline=Localisation sur la ligne -observe.tdr.maxFishingDepth=Profondeur maximale de pêche (m) -observe.tdr.meanDeployementDepth=Profondeur moyenne de deploiement (m) -observe.tdr.meanFishingDepth=Profondeur moyenne de pêche (m) -observe.tdr.medianDeployementDepth=Profondeur médiane de deploiement (m) -observe.tdr.medianFishingDepth=Profondeur médiane de pêche (m) -observe.tdr.minFishingDepth=Profondeur minimale de pêche (m) -observe.tdr.section=Section -observe.tdr.selectedSpecies=Espèces sélectionnées -observe.tdr.sensorBrand=Marque -observe.tdr.serialNo=Numéro de série -observe.tdr.species=Espèces -observe.tdr.tab.caracteristics=Caractéristiques -observe.tdr.tab.keyData=Données clef -observe.tdr.tab.localisation=Localisation -observe.tdr.tab.species=Espèces associées -observe.tdr.tab.timestamp=Horodatage -observe.tdr.table.data=Fichier -observe.tdr.table.homeId=Id -observe.tdr.table.homeId.tip=Identifiant -observe.tdr.table.sensorBrand=Marque -observe.tdr.table.sensorBrand.tip=Marque du capteur -observe.tdr.table.serialNo=N° -observe.tdr.table.serialNo.tip=Numéro de série -observe.tdr.title=Enregistreur de profondeur observe.title.about=A propos d'ObServe... observe.title.can.not.delete.referentiel=Impossible de supprimer un référentiel en cours d'utilisation... observe.title.can.not.export.obstuna=Impossible d'exporter des données d'obstuna... -observe.title.change.storage=Changer la source de données -observe.title.choose.db.dump=Choisir une sauvegarder de base locale +observe.title.choose.db.dump=Choisir une sauvegarde de base locale observe.title.choose.db.dump.directory=Choisir le répertoire de destination de la sauvegarde -observe.title.choose.report.directory=Choisir le répertoire de destination des rapports observe.title.choose.reportFile=Choisir le fichier de définition des reports -observe.title.choose.sensorUsed.exportData=Choisir l'emplacement du fichier de données à exporter -observe.title.choose.sensorUsed.importData=Choisir le fichier de données à importer -observe.title.choose.tdr.exportData=Choisir l'emplacement du fichier de données à exporter -observe.title.choose.tdr.importData=Choisir le fichier de données à importer observe.title.config.migrate=Déplacement du fichier de configuration observe.title.connect.existingDB=Connexion à une source de données existante observe.title.connect.localDB=Connexion à une source de données locale observe.title.connect.remoteDB=Connexion à une source de données distante observe.title.connect.serverDB=Connexion à un serveur de données distant -observe.title.consolidate=Consolider les données observateur -observe.title.consolidate.tip=Consolider les données observateur -observe.title.content.HookSizes= -observe.title.content.HookTypes= -observe.title.content.baitHaulingStatuss=Gestion des statuts de l'appât au virage -observe.title.content.baitSettingStatuss=Gestion des statuts de l'appât au filage -observe.title.content.baitTypes=Gestion des types d'appât -observe.title.content.catchFateLonglines=Gestion des devenirs capture -observe.title.content.country=Gestion des pays -observe.title.content.detectionModes=Gestion des modes de détection -observe.title.content.encounterTypes=Gestion des types de rencontre -observe.title.content.fpaZones=Gestion des zones FPA -observe.title.content.gearCaracteristicTypes=Gestion des types de caractéristiques -observe.title.content.gearCaracteristics=Gestion des caractéristiques d'équipement -observe.title.content.gears=Gestion des équipements -observe.title.content.harbours=GEstion des ports -observe.title.content.healthnesss=Gestion des statuts de santé -observe.title.content.hookPositions=Gestion des positions d'hameçon -observe.title.content.itemHorizontalPositions=Gestion des localisations de l'élément sur la ligne mère -observe.title.content.itemVerticalPositions=Gestion des localisations de l'élément sur l'avançon -observe.title.content.lengthWeightParameters=Gestion des paramétrages taille-poids -observe.title.content.lightsticksColors=Gestion des couleurs de baton lumineux -observe.title.content.lightsticksTypes=Gestion des types de baton lumineux -observe.title.content.lineTypes=Gestion des types de ligne -observe.title.content.maturityStatuss=Gestion des maturité -observe.title.content.mitigationTypes=Gestion des types de mesure d'atténuation -observe.title.content.objectFates=Gestion des devenirs objet -observe.title.content.objectOperations=Gestion des opérations objet -observe.title.content.objectTypes=Gestion des types d'objet -observe.title.content.observedSystems=Gestion des systèmes observés -observe.title.content.oceans=Gestion des océans -observe.title.content.organisms=Gestion des organismes -observe.title.content.persons=Gestion des observateurs -observe.title.content.programs=Gestion des programmes -observe.title.content.reasonForDiscards=Gestion des raisons de rejet -observe.title.content.reasonForNoFishings=Gestion des non coup de senne -observe.title.content.reasonForNullSets=Gestion des causes coup nul -observe.title.content.sensorBrands=Gestion des marques de capteur -observe.title.content.sensorDataFormats=Gestion des formats de données de capteur -observe.title.content.sensorTypes=Gestion des types de capteur -observe.title.content.settingShapes=Gestion des formes au filage -observe.title.content.sexx=Gestion des sexes -observe.title.content.sizeMeasureTypes=Gestion des types de mesure de taille -observe.title.content.speciesFates=Gestion des devenir d'espèces -observe.title.content.speciesGroupSpeciess=Gestion des groupes d'espèces -observe.title.content.speciesLists=Gestion des listes d'espèces -observe.title.content.speciesStatuss=Gestion des statuts d'espèces -observe.title.content.speciess=Gestion des espèces -observe.title.content.stomacFullnesss=Gestion des niveaux de remplissage de l'estomac -observe.title.content.surroundingActivitys=Gestion des activités environnantes -observe.title.content.transmittingBuoyOperations=Gestion des opérations sur balise -observe.title.content.transmittingBuoyTypes=Gestion des types de balise -observe.title.content.tripTypes=Gestion des types de marée -observe.title.content.vesselActivityLonglines=Gestion des types d'activité -observe.title.content.vesselActivitySeines=Gestion des types d'activités -observe.title.content.vesselSizeCategoryx=Gestion des catégories de navires -observe.title.content.vesselTypex=Gestion des types de vessel -observe.title.content.vesselx=Gestion des bateaux -observe.title.content.weightCategory=Gestion des catégories poids -observe.title.content.weightMeasureTypes=Gestion des types de mesure de poids -observe.title.content.windSpeeds=Gestion des vents Beaufort observe.title.create.local.db=Chargement d'une base locale -observe.title.dataSynchronize=Synchronisation bi-directionnelle de données -observe.title.dataSynchronize.tip=Synchronisation bi-directionnelle des données utilisateurs observe.title.delete=Confirmation de suppression observe.title.error.dialog=Une erreur est survenue\! -observe.title.exportData=Exporter les données -observe.title.exportData.tip=Exporter les données utilisateurs vers obstuna observe.title.h2.server.parameters=Paramétrage de la base locale en mode serveur observe.title.import.localDB=Imcporter une base locale depuis une sauvegarde observe.title.load.remote.db=Chargement d'une base distante observe.title.need.confirm=Une confirmation de votre part est requise... observe.title.need.confirm.to.desactivate.referentiel=Une confirmation de votre part est requise pour désactiver un référentiel... observe.title.no.local.db.found=Aucune base locale trouvée -observe.title.report=Aide à la génération de rapport -observe.title.report.tip=Aide à la génération du rapport de fin d'embarquement observe.title.save.localDB=Sauver la base locale vers une fichier observe.title.save.remoteDB=Sauver la base distante vers un fichier observe.title.show.usage=Listes des utilisations d'un référentiel... observe.title.storage.info=Information sur la source de données -observe.title.synchronize=Synchronisation du référentiel -observe.title.synchronize.tip=Opération de synchronisation du référentiel de la base locale observe.title.technical.informations=Informations techniques du référentiel %1$s observe.title.unique.key=Clefs métier du référentiel %1$s -observe.title.validate=Validation des données -observe.title.validate.tip=Valider les données d'une source de données observe.title.welcome.admin=Observe Administrateur observe.tree.activityLongline=Activités observe.tree.activityLongline.unsaved=Nouvelle activité @@ -2144,53 +2220,11 @@ observe.tree.vesselType=Type de pêcherie observe.tree.weightCategory=Catégorie de poids observe.tree.weightMeasureType=Type de mesure de poids observe.tree.wind=Vent Beaufort -observe.tripLongline.captain=Capitaine -observe.tripLongline.dataEntryOperator=Opérateur de saisie -observe.tripLongline.endDate=Date fin -observe.tripLongline.homeId=Id métier -observe.tripLongline.message.active.found=Une marée est ouverte. -observe.tripLongline.message.active.found.for.other.program=Une marée ouverte existe dans un autre programme. -observe.tripLongline.message.creating=La marée est en cours de création. -observe.tripLongline.message.no.active.found=Aucune marée ouverte, vous pouvez soit en créer une nouvelle, soit en réouvrir une. -observe.tripLongline.message.not.open=La marée courante n'est pas ouverte, aucune modification possible. -observe.tripLongline.message.updating=La maréee est en cours de modification. -observe.tripLongline.observer=Observateur -observe.tripLongline.ocean=Océan -observe.tripLongline.startDate=Date début -observe.tripLongline.tab.general=Caractéristiques -observe.tripLongline.tab.map=Carte -observe.tripLongline.title=Marée -observe.tripLongline.totalFishingOperationsNumber=Nombre total d'opérations de pêche -observe.tripLongline.tripType=Type de marée -observe.tripLongline.vessel=Navire -observe.tripSeine.message.active.found=Une marée est ouverte. -observe.tripSeine.message.active.found.for.other.program=Une marée ouverte existe dans un autre programme. -observe.tripSeine.message.creating=La marée est en cours de création. -observe.tripSeine.message.no.active.found=Aucune marée ouverte, vous pouvez soit en créer une nouvelle, soit en réouvrir une. -observe.tripSeine.message.not.open=La marée courante n'est pas ouverte, aucune modification possible. -observe.tripSeine.message.updating=La maréee est en cours de modification. -observe.tripSeine.tab.general=Caractéristiques -observe.tripSeine.tab.map=Carte -observe.tripSeine.title=Marée -observe.validation.model.type.all=Données et référentiels -observe.validation.model.type.all.description=Données et référentiels -observe.validation.model.type.data=Données observées -observe.validation.model.type.data.description=Données observées -observe.validation.model.type.referentiel=Référentiel -observe.validation.model.type.referentiel.description=Tous les référentiels -observe.validation.report.contextName=Context de validation utilisé \: %1$s -observe.validation.report.entities.with.messages=Nombre d'entités avec des messages \: %1$s -observe.validation.report.entity=Entité %1$s '%2$s' Nombre de messages %3$s (sur %4$s scope(s)). -observe.validation.report.scopes=Scopes de validation utilisés \: %1$s -observe.validation.report.title=Rapport de validation généré le %1$s -observe.vessel.tab.general=Caractéristiques générales -observe.vessel.tab.other=Autres caractéristiques observe.view.message=Messages observe.view.navigation=Navigation observe.view.server=Base locale en mode serveur observe.warning.nimbus.landf=Le look and Feel Nimbus n'a pas été trouvé, il faut au moins la version 1.6u10 de java. observe.warning.no.ui=Aucun environnement graphique détecté -observe.weightMeasure.delete.message=Confirmer la suppression de la mesure du poids sélectionnée. ui.main.body.synchro.action.copy.to.clipBoard=Copier le contenu dans le presse-papier validator.field.header= validator.field.header.tip= -- 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 feature/4309_synchro_referential in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 61a29978654c24bb0e2b846d07c5a7bf1028d247 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Aug 10 19:07:06 2016 +0200 Remove unused class --- .../main/java/fr/ird/type/CoordinateHelper.java | 55 ---------------------- 1 file changed, 55 deletions(-) diff --git a/observe-entities-migration/src/main/java/fr/ird/type/CoordinateHelper.java b/observe-entities-migration/src/main/java/fr/ird/type/CoordinateHelper.java deleted file mode 100644 index 5a519ab..0000000 --- a/observe-entities-migration/src/main/java/fr/ird/type/CoordinateHelper.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * #%L - * ObServe :: Entities - * %% - * Copyright (C) 2010 - 2011 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -package fr.ird.type; - -/** - * Helper to deal with coordinates. - * - * @author tchemit - chemit@codelutin.com - * @since 1.2 - */ -public class CoordinateHelper { - - /** - * Calcule le quadrant à partir d'une {@code longitude} et {@code latitude}. - * - * @param longitude la longitude décimale - * @param latitude la latitude décimale - * @return la valeur du quadrant ou {@code null} si l'une des deux - * coordonnées est {@code null}. - * @since 1.2 - */ - public static Integer getQuadrant(Float longitude, Float latitude) { - if (longitude == null || latitude == null) { - return null; - } - int result; - - if (latitude > 0) { - result = longitude > 0 ? 1 : 4; - } else { - result = longitude > 0 ? 2 : 3; - } - return result; - } - -} -- 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 feature/4309_synchro_referential in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 2dc78e5109671aca73f02f399a34cb142df3998d Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Aug 11 11:37:55 2016 +0200 Renommage tasks --- ... => DesactivateWithReplaceFromLeftReferentialSynchronizeTask.java} | 4 ++-- ...=> DesactivateWithReplaceFromRightReferentialSynchronizeTask.java} | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateFromLeftWithReplaceReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateWithReplaceFromLeftReferentialSynchronizeTask.java similarity index 84% rename from observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateFromLeftWithReplaceReferentialSynchronizeTask.java rename to observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateWithReplaceFromLeftReferentialSynchronizeTask.java index eddf0e9..a304f94 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateFromLeftWithReplaceReferentialSynchronizeTask.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateWithReplaceFromLeftReferentialSynchronizeTask.java @@ -11,9 +11,9 @@ import static org.nuiton.i18n.I18n.t; * @author Tony Chemit - chemit@codelutin.com * @since 5.0 */ -public class DesactivateFromLeftWithReplaceReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { +public class DesactivateWithReplaceFromLeftReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { - public DesactivateFromLeftWithReplaceReferentialSynchronizeTask(ReferentialReference<R> data) { + public DesactivateWithReplaceFromLeftReferentialSynchronizeTask(ReferentialReference<R> data) { super(data, "desactivateFromLeftWithReplace"); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateFromRightWithReplaceReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateWithReplaceFromRightReferentialSynchronizeTask.java similarity index 84% rename from observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateFromRightWithReplaceReferentialSynchronizeTask.java rename to observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateWithReplaceFromRightReferentialSynchronizeTask.java index 5bfbab8..09bfe98 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateFromRightWithReplaceReferentialSynchronizeTask.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateWithReplaceFromRightReferentialSynchronizeTask.java @@ -11,9 +11,9 @@ import static org.nuiton.i18n.I18n.t; * @author Tony Chemit - chemit@codelutin.com * @since 5.0 */ -public class DesactivateFromRightWithReplaceReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { +public class DesactivateWithReplaceFromRightReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { - public DesactivateFromRightWithReplaceReferentialSynchronizeTask(ReferentialReference<R> data) { + public DesactivateWithReplaceFromRightReferentialSynchronizeTask(ReferentialReference<R> data) { super(data, "desactivateFromRightWithReplace"); } -- 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 feature/4309_synchro_referential in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 5c875730241784fe4c609b3cdf7a3213a082f575 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Aug 11 11:38:11 2016 +0200 Invert! --- .../src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java index f2a113c..890ab8a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java @@ -214,7 +214,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { return; } - if (!ReferentialSynchroModel.SYNCHRONIZE_MODE_PROPERTY_NAME.equals(evt.getPropertyName())) { + if (ReferentialSynchroModel.SYNCHRONIZE_MODE_PROPERTY_NAME.equals(evt.getPropertyName())) { validate(); -- 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 feature/4309_synchro_referential in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 4764b165876f4a4e968e0c588def13198a17eec2 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Aug 11 11:38:38 2016 +0200 Amélioration api node --- .../tree/node/ReferenceReferentialSynchroNode.java | 5 ++ .../tree/node/ReferentialSynchroNodeSupport.java | 60 ++++++++++++---- .../ng/tree/node/RootReferentialSynchroNode.java | 80 +++++----------------- .../ng/tree/node/TypeReferentialSynchroNode.java | 73 +++++--------------- 4 files changed, 84 insertions(+), 134 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferenceReferentialSynchroNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferenceReferentialSynchroNode.java index 46b6114..ba1e41a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferenceReferentialSynchroNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferenceReferentialSynchroNode.java @@ -25,6 +25,11 @@ public class ReferenceReferentialSynchroNode extends ReferentialSynchroNodeSuppo } @Override + public TypeReferentialSynchroNode getParent() { + return (TypeReferentialSynchroNode) super.getParent(); + } + + @Override public ReferentialReference getUserObject() { return (ReferentialReference) super.getUserObject(); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferentialSynchroNodeSupport.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferentialSynchroNodeSupport.java index 635643f..487b54f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferentialSynchroNodeSupport.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferentialSynchroNodeSupport.java @@ -11,15 +11,15 @@ public abstract class ReferentialSynchroNodeSupport extends DefaultMutableTreeNo private static final long serialVersionUID = 1L; + private final boolean left; + private final ReferentialSynchroNodeType nodeType; + protected ReferentialSynchroNodeSupport(boolean left, ReferentialSynchroNodeType nodeType, Object userObject) { this.left = left; this.nodeType = nodeType; setUserObject(userObject); } - private final boolean left; - private final ReferentialSynchroNodeType nodeType; - public boolean isLeft() { return left; } @@ -32,22 +32,52 @@ public abstract class ReferentialSynchroNodeSupport extends DefaultMutableTreeNo return nodeType; } - public abstract boolean canAddToLeft(); - public abstract boolean canAddToRight(); + public boolean canRevertToLeft() { + return false; + } + + public boolean canRevertToRight() { + return false; + } + + public boolean canAddToLeft() { + return false; + } + + public boolean canAddToRight() { + return false; + } + + public boolean canUpdateToLeft() { + return false; + } + + public boolean canUpdateToRight() { + return false; + } + + public boolean canDeleteFromLeft() { + return false; + } - public abstract boolean canUpdateToLeft(); - public abstract boolean canUpdateToRight(); + public boolean canDeleteFromRight() { + return false; + } - public abstract boolean canRevertToLeft(); - public abstract boolean canRevertToRight(); + public boolean canDesactivateFromLeft() { + return false; + } - public abstract boolean canDeleteFromLeft(); - public abstract boolean canDeleteFromRight(); + public boolean canDesactivateFromRight() { + return false; + } - public abstract boolean canDesactivateFromLeft(); - public abstract boolean canDesactivateFromRight(); + public boolean canDesactivateFromLeftWithReplace() { + return false; + } - public abstract boolean canDesactivateFromLeftWithReplace(); - public abstract boolean canDesactivateFromRightWithReplace(); + public boolean canDesactivateFromRightWithReplace() { + return false; + } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/RootReferentialSynchroNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/RootReferentialSynchroNode.java index 05a0f05..6df1105 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/RootReferentialSynchroNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/RootReferentialSynchroNode.java @@ -2,6 +2,8 @@ package fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node; import fr.ird.observe.services.dto.referential.ReferentialDto; +import java.util.Enumeration; + /** * Created on 10/08/16. * @@ -14,69 +16,23 @@ public class RootReferentialSynchroNode extends ReferentialSynchroNodeSupport { super(left, ReferentialSynchroNodeType.ROOT, null); } - @Override - public boolean canRevertToLeft() { - return false; - } - - @Override - public boolean canRevertToRight() { - return false; - } - - @Override - public boolean canAddToLeft() { - return false; - } - - @Override - public boolean canAddToRight() { - return false; - } - - @Override - public boolean canUpdateToLeft() { - return false; - } - - @Override - public boolean canUpdateToRight() { - return false; - } - - @Override - public boolean canDeleteFromLeft() { - return false; - } - - @Override - public boolean canDeleteFromRight() { - return false; - } - - @Override - public boolean canDesactivateFromLeft() { - return false; - } - - @Override - public boolean canDesactivateFromRight() { - return false; - } - - @Override - public boolean canDesactivateFromLeftWithReplace() { - return false; - } - - @Override - public boolean canDesactivateFromRightWithReplace() { - return false; + public <R extends ReferentialDto> TypeReferentialSynchroNode getOrAddTypeNode(Class<R> referentialName) { + TypeReferentialSynchroNode node = getChild(referentialName); + if (node == null) { + node = new TypeReferentialSynchroNode(isLeft(), referentialName); + add(node); + } + return node; } - public <R extends ReferentialDto> TypeReferentialSynchroNode addTypeNode(Class<R> referentialName) { - TypeReferentialSynchroNode node = new TypeReferentialSynchroNode(isLeft(), referentialName); - add(node); - return node; + public <R extends ReferentialDto> TypeReferentialSynchroNode getChild(Class<R> referentialName) { + Enumeration children = children(); + while (children.hasMoreElements()) { + TypeReferentialSynchroNode o = (TypeReferentialSynchroNode) children.nextElement(); + if (referentialName.equals(o.getUserObject())) { + return o; + } + } + return null; } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/TypeReferentialSynchroNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/TypeReferentialSynchroNode.java index ebe382d..8378773 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/TypeReferentialSynchroNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/TypeReferentialSynchroNode.java @@ -3,6 +3,8 @@ package fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; +import java.util.Enumeration; + /** * Created on 09/08/16. * @@ -17,68 +19,24 @@ public class TypeReferentialSynchroNode extends ReferentialSynchroNodeSupport { } @Override - public Class<? extends ReferentialDto> getUserObject() { - return (Class) super.getUserObject(); - } - - @Override - public boolean canRevertToLeft() { - return false; + public RootReferentialSynchroNode getParent() { + return (RootReferentialSynchroNode) super.getParent(); } - @Override - public boolean canRevertToRight() { - return false; - } - - @Override - public boolean canAddToLeft() { - return false; - } - - @Override - public boolean canAddToRight() { - return false; - } - - @Override - public boolean canUpdateToLeft() { - return false; - } - - @Override - public boolean canUpdateToRight() { - return false; + public <R extends ReferentialDto> ReferenceReferentialSynchroNode getChild(String id) { + Enumeration children = children(); + while (children.hasMoreElements()) { + ReferenceReferentialSynchroNode o = (ReferenceReferentialSynchroNode) children.nextElement(); + if (id.equals(o.getUserObject().getId())) { + return o; + } + } + return null; } @Override - public boolean canDeleteFromLeft() { - return false; - } - - @Override - public boolean canDeleteFromRight() { - return false; - } - - @Override - public boolean canDesactivateFromLeft() { - return false; - } - - @Override - public boolean canDesactivateFromRight() { - return false; - } - - @Override - public boolean canDesactivateFromLeftWithReplace() { - return false; - } - - @Override - public boolean canDesactivateFromRightWithReplace() { - return false; + public Class<? extends ReferentialDto> getUserObject() { + return (Class) super.getUserObject(); } public <R extends ReferentialDto> ReferenceReferentialSynchroNode addDeleteNode(ReferentialReference<R> referentialReference) { @@ -104,4 +62,5 @@ public class TypeReferentialSynchroNode extends ReferentialSynchroNodeSupport { add(node); return node; } + } -- 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 feature/4309_synchro_referential in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 0b59077a182a8478725385eb73c893548a874c48 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Aug 11 11:39:59 2016 +0200 amélioration renderer --- .../ReferentialSynchronizeTreeCellRenderer.java | 41 +++++++--------------- 1 file changed, 13 insertions(+), 28 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeCellRenderer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeCellRenderer.java index 843511b..5955104 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeCellRenderer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeCellRenderer.java @@ -33,7 +33,6 @@ import org.apache.commons.logging.LogFactory; import org.nuiton.decorator.Decorator; import javax.swing.Icon; -import javax.swing.JComponent; import javax.swing.JTree; import javax.swing.UIManager; import javax.swing.tree.DefaultTreeCellRenderer; @@ -87,49 +86,35 @@ public class ReferentialSynchronizeTreeCellRenderer extends DefaultTreeCellRende int row, boolean hasFocus) { + if (!(value instanceof ReferentialSynchroNodeSupport)) { + return this; + } + // get the icon to set for the node ReferentialSynchroNodeSupport node = (ReferentialSynchroNodeSupport) value; - if (node == null) { - return super.getTreeCellRendererComponent( - tree, - value, - sel, - expanded, - leaf, - row, - hasFocus - ); - } - String text = null; Icon icon = null; if (node instanceof TypeReferentialSynchroNode) { TypeReferentialSynchroNode node1 = (TypeReferentialSynchroNode) node; - icon = UIManager.getIcon("icon.navigation.sub.referentiel16"); - text = t(DecoratorService.getEntityLabel(ObserveTreeHelper.TREE_NODE_PREFIX, node1.getUserObject())); + icon = UIManager.getIcon("navigation.sub.referentiel-16"); + text = "<html><body>" + t(DecoratorService.getEntityLabel(ObserveTreeHelper.TREE_NODE_PREFIX, node1.getUserObject())); + int childCount = node1.getChildCount(); + text += " <i>(" + childCount + ")</i>"; } else if (node instanceof ReferenceReferentialSynchroNode) { ReferenceReferentialSynchroNode node1 = (ReferenceReferentialSynchroNode) node; icon = node1.getType().icon(); ReferentialReference reference = node1.getUserObject(); Decorator<?> decorator = getDecoratorService().getReferentialReferenceDecorator(reference.getType()); - text = decorator.toString(node); + text = "<html><body>" + decorator.toString(reference); + text += " <i>(" + reference.getVersion() + " - " + reference.getLastUpdateDate() + ")</i>"; } - setIcon(icon); + Component comp = super.getTreeCellRendererComponent(tree, text, sel, expanded, leaf, row, hasFocus); - Component comp = super.getTreeCellRendererComponent( - tree, - text, - sel, - expanded, - leaf, - row, - hasFocus - ); - - ((JComponent) comp).setToolTipText(text); + setIcon(icon); + setToolTipText(text); return comp; } -- 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 feature/4309_synchro_referential in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit faf9de4e17496f1a0549b544f773922ef7c55914 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Aug 11 15:49:44 2016 +0200 Do not use the sunchronize mode to build referential diffs --- .../diff/ReferentialSynchronizeDiffs.java | 27 ++++++---------------- .../diff/ReferentialSynchronizeDiffsEngine.java | 5 ++-- 2 files changed, 9 insertions(+), 23 deletions(-) diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffs.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffs.java index 52bd198..ec1f0f1 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffs.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffs.java @@ -2,9 +2,7 @@ package fr.ird.observe.services.service.actions.synchro.referential.diff; import com.google.common.collect.ImmutableSet; import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.service.actions.synchro.referential.ReferentialSynchronizeMode; -import java.util.Objects; import java.util.Optional; /** @@ -14,48 +12,37 @@ import java.util.Optional; */ public class ReferentialSynchronizeDiffs { - public static Builder builder(ReferentialSynchronizeMode mode) { - return new Builder(mode); + public static Builder builder() { + return new Builder(); } public static class Builder { - private final ReferentialSynchronizeMode mode; private final ReferentialSynchronizeDiff.Builder leftBuilder; private final ReferentialSynchronizeDiff.Builder rightBuilder; - private Builder(ReferentialSynchronizeMode mode) { - Objects.nonNull(mode); - this.mode = mode; + private Builder() { leftBuilder = ReferentialSynchronizeDiff.builder(); rightBuilder = ReferentialSynchronizeDiff.builder(); } <R extends ReferentialDto> Builder addLeftAddedReferential(Class<R> referentialName, ReferentialSynchronizeDiffState referentialDto) { - if (mode.isLeftWrite()) { - leftBuilder.addAddedReferential(referentialName, referentialDto); - } + leftBuilder.addAddedReferential(referentialName, referentialDto); return this; } <R extends ReferentialDto> Builder addLeftUpdatedReferential(Class<R> referentialName, ReferentialSynchronizeDiffState referentialDto) { - if (mode.isLeftWrite()) { - leftBuilder.addUpdatedReferential(referentialName, referentialDto); - } + leftBuilder.addUpdatedReferential(referentialName, referentialDto); return this; } <R extends ReferentialDto> Builder addRightAddedReferential(Class<R> referentialName, ReferentialSynchronizeDiffState referentialDto) { - if (mode.isRightWrite()) { - rightBuilder.addAddedReferential(referentialName, referentialDto); - } + rightBuilder.addAddedReferential(referentialName, referentialDto); return this; } <R extends ReferentialDto> Builder addRightUpdatedReferential(Class<R> referentialName, ReferentialSynchronizeDiffState referentialDto) { - if (mode.isRightWrite()) { - rightBuilder.addUpdatedReferential(referentialName, referentialDto); - } + rightBuilder.addUpdatedReferential(referentialName, referentialDto); return this; } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffsEngine.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffsEngine.java index f20ffc5..40dbcfc 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffsEngine.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffsEngine.java @@ -4,7 +4,6 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; -import fr.ird.observe.services.service.actions.synchro.referential.ReferentialSynchronizeMode; import java.util.Set; import java.util.stream.Collectors; @@ -25,9 +24,9 @@ public class ReferentialSynchronizeDiffsEngine { this.rightDiffService = rightDiffService; } - public ReferentialSynchronizeDiffs build(ReferentialSynchronizeMode mode) { + public ReferentialSynchronizeDiffs build() { - ReferentialSynchronizeDiffs.Builder result = ReferentialSynchronizeDiffs.builder(mode); + ReferentialSynchronizeDiffs.Builder result = ReferentialSynchronizeDiffs.builder(); ReferentialDataSourceStates leftSourceReferentialStates = leftDiffService.getSourceReferentialStates(); ReferentialDataSourceStates rightSourceReferentialStates = rightDiffService.getSourceReferentialStates(); -- 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 feature/4309_synchro_referential in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit ae5ce608209a6674db7fd9d5e0f4685b0ee56ef3 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Aug 11 15:50:29 2016 +0200 Simplify noe api --- .../referential/ng/ReferentialSelectionModel.java | 358 --------------------- .../ReferentialSynchronizeTreeCellRenderer.java | 11 +- .../ng/tree/ReferentialSynchronizeTreeModel.java | 230 +++---------- .../ReferentialSynchronizeTreeModelsBuilder.java | 166 ++++++++++ .../node/AddedReferenceReferentialSynchroNode.java | 20 ++ .../tree/node/ReferenceReferentialSynchroNode.java | 96 ------ .../ReferenceReferentialSynchroNodeSupport.java | 53 +++ .../node/ReferenceReferentialSynchroNodeType.java | 70 ---- .../tree/node/ReferentialSynchroNodeSupport.java | 71 +--- .../ng/tree/node/ReferentialSynchroNodeType.java | 13 - .../ng/tree/node/RootReferentialSynchroNode.java | 23 +- .../ng/tree/node/TypeReferentialSynchroNode.java | 34 +- .../UpdatedReferenceReferentialSynchroNode.java | 19 ++ 13 files changed, 344 insertions(+), 820 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSelectionModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSelectionModel.java deleted file mode 100644 index 86f5698..0000000 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSelectionModel.java +++ /dev/null @@ -1,358 +0,0 @@ -/* - * #%L - * ObServe :: Business - * %% - * Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -package fr.ird.observe.ui.admin.synchronize.referential.ng; - -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; -import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.DataReference; -import fr.ird.observe.services.dto.referential.ProgramDto; -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReference; -import fr.ird.observe.services.service.actions.synchro.referential.ReferentialSynchronizeMode; -import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffService; -import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffs; -import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffsEngine; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.jdesktop.beans.AbstractSerializableBean; - -import java.beans.PropertyChangeListener; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.stream.Collectors; - -import static com.google.common.collect.Maps.newHashMap; -import static com.google.common.collect.Sets.newHashSet; - -/** - * Un modèle pour représenter la sélection de données. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 1.4 - */ -public class ReferentialSelectionModel extends AbstractSerializableBean { - - private ReferentialSynchronizeMode synchronizeMode; - - public static void populate(ReferentialSelectionModel model, ObserveSwingDataSource leftSource, ObserveSwingDataSource rightSource) { - - Preconditions.checkState(leftSource.isOpen()); - Preconditions.checkState(rightSource.isOpen()); - - ReferentialSynchronizeDiffService leftDiffSynchronizeService = leftSource.newReferentialSynchronizeDiffService(); - ReferentialSynchronizeDiffService rightDiffSynchronizeService = rightSource.newReferentialSynchronizeDiffService(); - - ReferentialSynchronizeDiffsEngine engine = new ReferentialSynchronizeDiffsEngine(leftDiffSynchronizeService, rightDiffSynchronizeService); - - ReferentialSynchronizeDiffs synchronizeDiffs = engine.build(model.getSynchronizeMode()); - - - model.setDatas(null); - - } - - protected static void populate(ReferentialReference<ProgramDto> program, - List<DataReference> trips, - Map<ReferentialReference<ProgramDto>, List<DataReference>> datas) { - - if (!trips.isEmpty()) { - - datas.put(program, trips); - if (log.isDebugEnabled()) { - log.debug("Add program " + program.getPropertyValue(ProgramDto.PROPERTY_LABEL1) + " with " + trips.size() + " trip(s)."); - } - - - } - - } - - public static final String PROPERTY_SELECTED_DATA = "selectedData"; - public static final String PROPERTY_DATAS = "datas"; - public static final String PROPERTY_SYNCHRONIZE_MODE = "syncrhronizeMode"; - - /** Logger */ - private static final Log log = LogFactory.getLog(ReferentialSelectionModel.class); - - private static final long serialVersionUID = 2L; - - protected transient Map<Class<? extends ReferentialDto>, List<ReferentialReference<? extends ReferentialDto>>> datas; - - protected transient Set<ReferentialReference> selectedData; - - /** nb marees */ - protected int nbTrips; - - public void populate() { - throw new UnsupportedOperationException(); - } - - public ReferentialSelectionModel() { - - } - - public boolean isEmpty() { - return selectedData == null || selectedData.isEmpty(); - } - - public boolean isFull() { - return selectedData != null && selectedData.size() == nbTrips; - } - - public int selectDataSize() { - return selectedData == null ? 0 : selectedData.size(); - } - - public ReferentialSynchronizeMode getSynchronizeMode() { - return synchronizeMode; - } - - public void setSynchronizeMode(ReferentialSynchronizeMode synchronizeMode) { - ReferentialSynchronizeMode oldValue = getSynchronizeMode(); - this.synchronizeMode = synchronizeMode; - firePropertyChange(PROPERTY_DATAS, oldValue, synchronizeMode); - } - - public Map<Class<? extends ReferentialDto>, List<ReferentialReference<? extends ReferentialDto>>> getDatas() { - if (datas == null) { - datas = newHashMap(); - } - return datas; - } - - public <Type extends ReferentialDto> boolean containsData(Class<Type> program, ReferentialReference<Type> trip) { - List<ReferentialReference<Type>> datas = getDatas(program); - return datas != null && datas.contains(trip); - } - - public Set<ReferentialReference> getSelectedData() { - if (selectedData == null) { - selectedData = newHashSet(); - } - return selectedData; - } - - public Map<Class<? extends ReferentialDto>, List<ReferentialReference<? extends ReferentialDto>>> getSelectedDataByProgram() { - if (datas == null || selectedData == null || selectedData.isEmpty()) { - return Collections.emptyMap(); - } - Map<Class<? extends ReferentialDto>, List<ReferentialReference<? extends ReferentialDto>>> result = new HashMap<>(); - - for (ReferentialReference referenceDto : selectedData) { - - // on recherche son program - for (Class<? extends ReferentialDto> p : datas.keySet()) { - if (datas.get(p).contains(referenceDto)) { - List<ReferentialReference<?>> referenceDtos = result.get(p); - if (referenceDtos == null) { - referenceDtos = Lists.newArrayList(); - result.put(p, referenceDtos); - } - referenceDtos.add(referenceDto); - break; - } - } - } - return result; - } - - public List<Class<? extends ReferentialDto>> getSelectedProgram() { - if (datas == null || selectedData == null || selectedData.isEmpty()) { - return Collections.emptyList(); - } - - Set<Class<? extends ReferentialDto>> result = new HashSet<>(); - - for (ReferentialReference referenceDto : selectedData) { - - // on recherche son program - for (Class<? extends ReferentialDto> p : datas.keySet()) { - if (datas.get(p).contains(referenceDto)) { - result.add(p); - break; - } - } - } - - return result.stream().collect(Collectors.toList()); - } - - - public <Type extends ReferentialDto> List<ReferentialReference<Type>> getSelectedTripsByProgram(Class<Type> program) { - if (datas == null || selectedData == null || selectedData.isEmpty()) { - return Collections.emptyList(); - } - - List<ReferentialReference<Type>> result = getDatas(program).stream() - .filter(trip -> selectedData.contains(trip)) - .collect(Collectors.toList()); - - return result; - } - - public <Type extends ReferentialDto> boolean isSelectedData(ReferentialReference<Type> referenceDto) { - - boolean result; - - List<ReferentialReference<Type>> trips = getDatas(referenceDto.getType()); - result = CollectionUtils.isNotEmpty(trips); - - if (result) { - for (ReferentialReference trip : trips) { - if (!getSelectedData().contains(trip)) { - result = false; - } - } - } - - return result; - - } - - - public void removeAll() { - getSelectedData().clear(); - firePropertyChange(PROPERTY_SELECTED_DATA, selectedData); - } - - public void setDatas(Map<Class<? extends ReferentialDto>, List<ReferentialReference<? extends ReferentialDto>>> datas) { - this.datas = datas; - - // on compte le count de marées totale - int nbTrips = 0; - if (datas != null) { - for (List<ReferentialReference<? extends ReferentialDto>> marees : datas.values()) { - nbTrips += marees.size(); - } - } - this.nbTrips = nbTrips; - - if (log.isDebugEnabled()) { - log.debug("Nb program registred : " + (datas == null ? 0 : datas.size())); - log.debug("Nb trip registred : " + this.nbTrips); - } - firePropertyChange(PROPERTY_DATAS, datas); - } - - public <Type extends ReferentialDto> void addSelectedData(ReferentialReference<Type> referenceDto) { - - if (log.isDebugEnabled()) { - log.debug("Add referential " + referenceDto.getId()); - } - getSelectedData().add((ReferentialReference) referenceDto); - - firePropertyChange(PROPERTY_SELECTED_DATA, selectedData); - } - - public void addAllSelectedData() { - if (log.isDebugEnabled()) { - log.debug("All all data."); - } - for (List<ReferentialReference<? extends ReferentialDto>> p : datas.values()) { - getSelectedData().addAll(p); - } - firePropertyChange(PROPERTY_SELECTED_DATA, selectedData); - } - - public <Type extends ReferentialDto> void removeSelectedData(ReferentialReference<Type> referenceDto) { - - - // ajout d'une marée - if (log.isDebugEnabled()) { - log.debug("Remove maree " + referenceDto); - } - getSelectedData().remove(referenceDto); - - firePropertyChange(PROPERTY_SELECTED_DATA, selectedData); - } - - public void removeAllSelectedData() { - if (selectedData != null) { - selectedData.clear(); - } - firePropertyChange(PROPERTY_SELECTED_DATA, selectedData); - } - - public void destroy() { - removeAll(); - // suppression de tous les listeners - PropertyChangeListener[] listeners = getPropertyChangeListeners(); - for (PropertyChangeListener l : listeners) { - removePropertyChangeListener(l); - } - } - - @Override - protected void finalize() throws Throwable { - super.finalize(); - destroy(); - } - - public <R extends ReferentialDto> List<ReferentialReference<R>> getDatas(Class<R> programId) { - java.util.Optional<Class<? extends ReferentialDto>> programRefOptional = getDatas().keySet().stream().filter(key -> key.equals(programId)).findFirst(); - - List<ReferentialReference<R>> result; - - if (programRefOptional.isPresent()) { - - result = (List) getDatas().get(programRefOptional.get()); - - } else { - - result = Collections.emptyList(); - - } - - return result; - } - - public <R extends ReferentialDto> void addData(Class<R> program, ReferentialReference<R> trip) { - if (!getDatas().containsKey(program)) { - getDatas().put(program, new ArrayList<>()); - } - getDatas(program).add(trip); - firePropertyChange(PROPERTY_DATAS, getDatas()); - } - - public Set<Class<? extends ReferentialDto>> getPrograms() { - return getDatas().keySet(); - } - - public <R extends ReferentialDto> void removeTrip(Class<R> program, ReferentialReference<R> trip) { - List<ReferentialReference<R>> data = getDatas(program); - data.remove(trip); - if (data.isEmpty()) { - getDatas().remove(program); - } - } - - protected void firePropertyChange(String propertyName, Object newValue) { - super.firePropertyChange(propertyName, null, newValue); - } -} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeCellRenderer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeCellRenderer.java index 5955104..5e1b845 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeCellRenderer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeCellRenderer.java @@ -24,7 +24,7 @@ package fr.ird.observe.ui.admin.synchronize.referential.ng.tree; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.decoration.DecoratorService; import fr.ird.observe.services.dto.referential.ReferentialReference; -import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.ReferenceReferentialSynchroNode; +import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.ReferenceReferentialSynchroNodeSupport; import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.ReferentialSynchroNodeSupport; import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.TypeReferentialSynchroNode; import fr.ird.observe.ui.tree.ObserveTreeHelper; @@ -34,7 +34,6 @@ import org.nuiton.decorator.Decorator; import javax.swing.Icon; import javax.swing.JTree; -import javax.swing.UIManager; import javax.swing.tree.DefaultTreeCellRenderer; import java.awt.Color; import java.awt.Component; @@ -97,14 +96,14 @@ public class ReferentialSynchronizeTreeCellRenderer extends DefaultTreeCellRende Icon icon = null; if (node instanceof TypeReferentialSynchroNode) { TypeReferentialSynchroNode node1 = (TypeReferentialSynchroNode) node; - icon = UIManager.getIcon("navigation.sub.referentiel-16"); + icon = node1.getIcon(); text = "<html><body>" + t(DecoratorService.getEntityLabel(ObserveTreeHelper.TREE_NODE_PREFIX, node1.getUserObject())); int childCount = node1.getChildCount(); text += " <i>(" + childCount + ")</i>"; - } else if (node instanceof ReferenceReferentialSynchroNode) { - ReferenceReferentialSynchroNode node1 = (ReferenceReferentialSynchroNode) node; + } else if (node instanceof ReferenceReferentialSynchroNodeSupport) { + ReferenceReferentialSynchroNodeSupport node1 = (ReferenceReferentialSynchroNodeSupport) node; - icon = node1.getType().icon(); + icon = node1.getIcon(); ReferentialReference reference = node1.getUserObject(); Decorator<?> decorator = getDecoratorService().getReferentialReferenceDecorator(reference.getType()); text = "<html><body>" + decorator.toString(reference); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModel.java index 9a2050f..8943af9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModel.java @@ -1,22 +1,9 @@ package fr.ird.observe.ui.admin.synchronize.referential.ng.tree; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableSet; -import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReference; -import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; -import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiff; -import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffService; -import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffState; -import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffs; -import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffsEngine; -import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchroModel; -import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.ReferenceReferentialSynchroNode; +import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.ReferenceReferentialSynchroNodeSupport; import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.ReferentialSynchroNodeSupport; import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.RootReferentialSynchroNode; import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.TypeReferentialSynchroNode; -import org.apache.commons.lang3.tuple.Pair; import javax.swing.event.TreeModelListener; import javax.swing.event.TreeSelectionListener; @@ -27,7 +14,6 @@ import javax.swing.tree.TreeModel; import javax.swing.tree.TreePath; import javax.swing.tree.TreeSelectionModel; import java.beans.PropertyChangeListener; -import java.util.Optional; /** * Created on 10/08/16. @@ -37,206 +23,76 @@ import java.util.Optional; public class ReferentialSynchronizeTreeModel implements TreeSelectionModel, TreeModel { private final TreeSelectionModel treeSelectionModel; - private final TreeModel treeModel; - - public static Pair<ReferentialSynchronizeTreeModel, ReferentialSynchronizeTreeModel> buildTreeModels(ReferentialSynchroModel model) { - - ObserveSwingDataSource leftSource = model.getLeftSource(); - Preconditions.checkState(leftSource.isOpen()); - ObserveSwingDataSource rightSource = model.getRightSource(); - Preconditions.checkState(rightSource.isOpen()); - - ReferentialSynchronizeDiffService leftDiffSynchronizeService = leftSource.newReferentialSynchronizeDiffService(); - ReferentialSynchronizeDiffService rightDiffSynchronizeService = rightSource.newReferentialSynchronizeDiffService(); - - ReferentialSynchronizeDiffsEngine engine = new ReferentialSynchronizeDiffsEngine(leftDiffSynchronizeService, rightDiffSynchronizeService); - - ReferentialSynchronizeDiffs synchronizeDiffs = engine.build(model.getSynchronizeMode()); - - ImmutableSet<Class<? extends ReferentialDto>> referentialNames = synchronizeDiffs.getReferentialNames(); - RootReferentialSynchroNode leftRootNode = new RootReferentialSynchroNode(true); - RootReferentialSynchroNode rightRootNode = new RootReferentialSynchroNode(false); - - switch (model.getSynchronizeMode()) { - - case FROM_LEFT_TO_RIGHT: - for (Class<? extends ReferentialDto> referentialName : referentialNames) { - buildFromLeftToRight(engine, referentialName, synchronizeDiffs, leftRootNode, rightRootNode); - } - break; - case FROM_RIGHT_TO_LEFT: - for (Class<? extends ReferentialDto> referentialName : referentialNames) { - buildFromRightToLeft(engine, referentialName, synchronizeDiffs, leftRootNode, rightRootNode); - } - break; - case BOTH: - for (Class<? extends ReferentialDto> referentialName : referentialNames) { - buildFromBoth(engine, referentialName, synchronizeDiffs, leftRootNode, rightRootNode); - } - break; - } - - return Pair.of(new ReferentialSynchronizeTreeModel(leftRootNode), new ReferentialSynchronizeTreeModel(rightRootNode)); - } - - private static <R extends ReferentialDto> void read(ReferentialSynchronizeDiffsEngine engine, - ReferentialSynchronizeDiff synchronizeDiff, - Class<R> referentialName, - RootReferentialSynchroNode rootNode) { - - Optional<ImmutableSet<ReferentialSynchronizeDiffState>> optionalAddedReferentials = synchronizeDiff.getAddedReferentials(referentialName); - Optional<ImmutableSet<ReferentialSynchronizeDiffState>> optionalUpdatedReferentials = synchronizeDiff.getUpdatedReferentials(referentialName); - - boolean withAdd = optionalAddedReferentials.isPresent(); - boolean withUpdate = optionalUpdatedReferentials.isPresent(); - - TypeReferentialSynchroNode typeNode = rootNode.addTypeNode(referentialName); - - if (withAdd) { + private final DefaultTreeModel treeModel; - // des référentiels à supprimer - ImmutableSet<ReferentialSynchronizeDiffState> diffStates = optionalAddedReferentials.get(); - ReferentialReferenceSet<R> referenceSet = engine.getRightReferentialReferenceSet(referentialName, diffStates); + private boolean canCopy; + private boolean canDelete; + private boolean canRevert; - for (ReferentialReference<R> referentialReference : referenceSet.getReferences()) { + public synchronized void updateSelectedActions() { - ReferenceReferentialSynchroNode node = typeNode.addDeleteNode(referentialReference); + canCopy = canDelete = canRevert = false; - } - } - if (withUpdate) { + for (TreePath selectionPath : getSelectionPaths()) { + ReferentialSynchroNodeSupport lastPathComponent = (ReferentialSynchroNodeSupport) selectionPath.getLastPathComponent(); - // des mises à jour ç annuler - ImmutableSet<ReferentialSynchronizeDiffState> diffStates = optionalUpdatedReferentials.get(); - ReferentialReferenceSet<R> referenceSet = engine.getRightReferentialReferenceSet(referentialName, diffStates); + if (lastPathComponent instanceof ReferenceReferentialSynchroNodeSupport) { - for (ReferentialReference<R> referentialReference : referenceSet.getReferences()) { - - ReferenceReferentialSynchroNode node = typeNode.addRevertNode(referentialReference); + ReferenceReferentialSynchroNodeSupport node = (ReferenceReferentialSynchroNodeSupport) lastPathComponent; + canCopy |= node.isCanCopy(); + canDelete |= node.isCanDelete(); + canRevert |= node.isCanRevert(); } } - } - private static <R extends ReferentialDto> void write(ReferentialSynchronizeDiffsEngine engine, - ReferentialSynchronizeDiff synchronizeDiff, - Class<R> referentialName, - RootReferentialSynchroNode rootNode) { - - Optional<ImmutableSet<ReferentialSynchronizeDiffState>> optionalAddedReferentials = synchronizeDiff.getAddedReferentials(referentialName); - Optional<ImmutableSet<ReferentialSynchronizeDiffState>> optionalUpdatedReferentials = synchronizeDiff.getUpdatedReferentials(referentialName); - - boolean withAdd = optionalAddedReferentials.isPresent(); - boolean withUpdate = optionalUpdatedReferentials.isPresent(); - - TypeReferentialSynchroNode typeNode = rootNode.addTypeNode(referentialName); - - if (withAdd) { - - // des référentiels à ajouter - ImmutableSet<ReferentialSynchronizeDiffState> diffStates = optionalAddedReferentials.get(); - ReferentialReferenceSet<R> referenceSet = engine.getRightReferentialReferenceSet(referentialName, diffStates); - - for (ReferentialReference<R> referentialReference : referenceSet.getReferences()) { - - ReferenceReferentialSynchroNode node = typeNode.addAddNode(referentialReference); - - } - } - if (withUpdate) { - - // des mises à jour - ImmutableSet<ReferentialSynchronizeDiffState> diffStates = optionalUpdatedReferentials.get(); - ReferentialReferenceSet<R> referenceSet = engine.getRightReferentialReferenceSet(referentialName, diffStates); - - for (ReferentialReference<R> referentialReference : referenceSet.getReferences()) { - - ReferenceReferentialSynchroNode node = typeNode.addUpdateNode(referentialReference); - - } - - } + public boolean isCanCopy() { + return canCopy; } - - private static <R extends ReferentialDto> void buildFromLeftToRight(ReferentialSynchronizeDiffsEngine engine, - Class<R> referentialName, - ReferentialSynchronizeDiffs synchronizeDiffs, - RootReferentialSynchroNode leftRootNode, - RootReferentialSynchroNode rightRootNode) { - - boolean inLeft = synchronizeDiffs.isLeftReferentialUsed(referentialName); - boolean inRight = synchronizeDiffs.isRightReferentialUsed(referentialName); - - if (inLeft) { - - read(engine, synchronizeDiffs.getLeftDiff(), referentialName, leftRootNode); - - } - - if (inRight) { - - write(engine, synchronizeDiffs.getRightDiff(), referentialName, rightRootNode); - - } + public boolean isCanDelete() { + return canDelete; } - private static void buildFromRightToLeft(ReferentialSynchronizeDiffsEngine engine, - Class<? extends ReferentialDto> referentialName, - ReferentialSynchronizeDiffs synchronizeDiffs, - RootReferentialSynchroNode leftRootNode, - RootReferentialSynchroNode rightRootNode) { - - boolean inLeft = synchronizeDiffs.isLeftReferentialUsed(referentialName); - boolean inRight = synchronizeDiffs.isRightReferentialUsed(referentialName); - - if (inLeft) { - - write(engine, synchronizeDiffs.getLeftDiff(), referentialName, leftRootNode); - - } - if (inRight) { - - read(engine, synchronizeDiffs.getRightDiff(), referentialName, rightRootNode); - - } + public boolean isCanRevert() { + return canRevert; } - private static void buildFromBoth(ReferentialSynchronizeDiffsEngine engine, - Class<? extends ReferentialDto> referentialName, - ReferentialSynchronizeDiffs synchronizeDiffs, - RootReferentialSynchroNode leftRootNode, - RootReferentialSynchroNode rightRootNode) { - - boolean inLeft = synchronizeDiffs.isLeftReferentialUsed(referentialName); - boolean inRight = synchronizeDiffs.isRightReferentialUsed(referentialName); + public boolean isCanSkip() { + return getSelectionCount() > 0; + } - if (inLeft) { + public ReferentialSynchronizeTreeModel(RootReferentialSynchroNode root) { + this.treeModel = new DefaultTreeModel(root); + this.treeSelectionModel = new DefaultTreeSelectionModel(); + setSelectionMode(DISCONTIGUOUS_TREE_SELECTION); + } - write(engine, synchronizeDiffs.getLeftDiff(), referentialName, leftRootNode); - read(engine, synchronizeDiffs.getLeftDiff(), referentialName, leftRootNode); + public boolean isCanWrite() { + return getRoot().isCanWrite(); + } - } - if (inRight) { + public boolean isLeft() { + return getRoot().isLeft(); + } - read(engine, synchronizeDiffs.getRightDiff(), referentialName, rightRootNode); - write(engine, synchronizeDiffs.getRightDiff(), referentialName, rightRootNode); + public void removeReferenceNode(ReferenceReferentialSynchroNodeSupport node) { + TypeReferentialSynchroNode parent = node.getParent(); + treeModel.removeNodeFromParent(node); + if (parent.isLeaf()) { + treeModel.removeNodeFromParent(parent); + } else { + treeModel.reload(parent); } } - public ReferentialSynchronizeTreeModel(ReferentialSynchroNodeSupport root) { - this.treeModel = new DefaultTreeModel(root); - this.treeSelectionModel = new DefaultTreeSelectionModel(); - setSelectionMode(DISCONTIGUOUS_TREE_SELECTION); - } - @Override - public ReferentialSynchroNodeSupport getRoot() { - return (ReferentialSynchroNodeSupport) treeModel.getRoot(); + public RootReferentialSynchroNode getRoot() { + return (RootReferentialSynchroNode) treeModel.getRoot(); } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModelsBuilder.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModelsBuilder.java new file mode 100644 index 0000000..75f4199 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModelsBuilder.java @@ -0,0 +1,166 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.tree; + +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; +import fr.ird.observe.services.service.actions.synchro.referential.ReferentialSynchronizeMode; +import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiff; +import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffState; +import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffs; +import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffsEngine; +import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.AddedReferenceReferentialSynchroNode; +import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.ReferenceReferentialSynchroNodeSupport; +import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.RootReferentialSynchroNode; +import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.TypeReferentialSynchroNode; +import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.UpdatedReferenceReferentialSynchroNode; +import org.apache.commons.lang3.tuple.Pair; + +import java.util.Objects; +import java.util.Optional; + +/** + * Created on 11/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferentialSynchronizeTreeModelsBuilder { + + private final ReferentialSynchronizeDiffsEngine engine; + private final RootReferentialSynchroNode leftRootNode; + private final RootReferentialSynchroNode rightRootNode; + + private final CreateNode leftAddNode; + private final CreateNode rightAddNode; + private final CreateNode leftUpdateNode; + private final CreateNode rightUpdateNode; + + public ReferentialSynchronizeTreeModelsBuilder(ReferentialSynchronizeMode synchronizeMode, ReferentialSynchronizeDiffsEngine engine) { + Objects.nonNull(synchronizeMode); + Objects.nonNull(engine); + this.engine = engine; + this.leftRootNode = new RootReferentialSynchroNode(true, synchronizeMode != ReferentialSynchronizeMode.FROM_LEFT_TO_RIGHT); + this.rightRootNode = new RootReferentialSynchroNode(false, synchronizeMode != ReferentialSynchronizeMode.FROM_RIGHT_TO_LEFT); + + boolean rightCanWrite = rightRootNode.isCanWrite(); + boolean leftCanWrite = leftRootNode.isCanWrite(); + + this.leftAddNode = new CreateAddNode(rightCanWrite, leftCanWrite, false); + this.rightAddNode = new CreateAddNode(leftCanWrite, rightCanWrite, false); + this.leftUpdateNode = new CreateUpdateNode(rightCanWrite, false, leftCanWrite); + this.rightUpdateNode = new CreateUpdateNode(leftCanWrite, false, rightCanWrite); + } + + public Pair<ReferentialSynchronizeTreeModel, ReferentialSynchronizeTreeModel> build() { + + ReferentialSynchronizeDiffs synchronizeDiffs = engine.build(); + + ImmutableSet<Class<? extends ReferentialDto>> referentialNames = synchronizeDiffs.getReferentialNames(); + + ReferentialSynchronizeDiff leftDiff = synchronizeDiffs.getLeftDiff(); + ReferentialSynchronizeDiff rightDiff = synchronizeDiffs.getRightDiff(); + + for (Class<? extends ReferentialDto> referentialName : referentialNames) { + + { + // Tous les référentiels ajoutés à gauche peuvent être copié à droite + Optional<ImmutableSet<ReferentialSynchronizeDiffState>> optionalDiffStates = leftDiff.getAddedReferentials(referentialName); + if (optionalDiffStates.isPresent()) { + addFromLeft(leftRootNode, optionalDiffStates.get(), referentialName, leftAddNode); + } + } + { + // Tous les référentiels mises à jour à gauche peuvent être copié à droite + Optional<ImmutableSet<ReferentialSynchronizeDiffState>> optionalDiffStates = leftDiff.getUpdatedReferentials(referentialName); + if (optionalDiffStates.isPresent()) { + addFromLeft(leftRootNode, optionalDiffStates.get(), referentialName, leftUpdateNode); + } + } + { + // Tous les référentiels ajoutés à droite peuvent être supprimé ou désactivés + Optional<ImmutableSet<ReferentialSynchronizeDiffState>> optionalDiffStates = rightDiff.getAddedReferentials(referentialName); + if (optionalDiffStates.isPresent()) { + addFromRight(rightRootNode, optionalDiffStates.get(), referentialName, rightAddNode); + } + } + { + // Tous les référentiels mises à jour à droite peuvent être remis en arrière + Optional<ImmutableSet<ReferentialSynchronizeDiffState>> optionalDiffStates = rightDiff.getUpdatedReferentials(referentialName); + if (optionalDiffStates.isPresent()) { + addFromRight(rightRootNode, optionalDiffStates.get(), referentialName, rightUpdateNode); + } + } + } + + ReferentialSynchronizeTreeModel leftTreeModel = new ReferentialSynchronizeTreeModel(leftRootNode); + ReferentialSynchronizeTreeModel rightTreeModel = new ReferentialSynchronizeTreeModel(rightRootNode); + return Pair.of(leftTreeModel, rightTreeModel); + + } + + + private <R extends ReferentialDto> void addFromLeft(RootReferentialSynchroNode rootNode, ImmutableSet<ReferentialSynchronizeDiffState> diffStates, Class<R> referentialName, CreateNode createNode) { + ReferentialReferenceSet<R> referenceSet = engine.getLeftReferentialReferenceSet(referentialName, diffStates); + ImmutableSet<ReferentialReference<R>> references = referenceSet.getReferences(); + if (!references.isEmpty()) { + TypeReferentialSynchroNode typeNode = rootNode.getOrAddTypeNode(referentialName); + for (ReferentialReference<R> reference : references) { + createNode.createNode(typeNode, reference); + } + + } + } + + private <R extends ReferentialDto> void addFromRight(RootReferentialSynchroNode rootNode, ImmutableSet<ReferentialSynchronizeDiffState> diffStates, Class<R> referentialName, CreateNode createNode) { + ReferentialReferenceSet<R> referenceSet = engine.getRightReferentialReferenceSet(referentialName, diffStates); + ImmutableSet<ReferentialReference<R>> references = referenceSet.getReferences(); + if (!references.isEmpty()) { + TypeReferentialSynchroNode typeNode = rootNode.getOrAddTypeNode(referentialName); + for (ReferentialReference<R> reference : references) { + createNode.createNode(typeNode, reference); + } + } + } + + private static abstract class CreateNode <R extends ReferentialDto>{ + + protected final boolean canCopy; + protected final boolean canDelete; + protected final boolean canRevert; + + protected CreateNode(boolean canCopy, boolean canDelete, boolean canRevert) { + this.canCopy = canCopy; + this.canDelete = canDelete; + this.canRevert = canRevert; + } + + public abstract void createNode(TypeReferentialSynchroNode typeNode, ReferentialReference<R> reference); + + } + + private static class CreateAddNode<R extends ReferentialDto> extends CreateNode<R> { + + protected CreateAddNode(boolean canCopy, boolean canDelete, boolean canRevert) { + super(canCopy, canDelete, canRevert); + } + + @Override + public void createNode(TypeReferentialSynchroNode typeNode, ReferentialReference<R> reference) { + ReferenceReferentialSynchroNodeSupport node = new AddedReferenceReferentialSynchroNode(reference, canCopy, canDelete, canRevert); + typeNode.add(node); + } + } + + private static class CreateUpdateNode<R extends ReferentialDto> extends CreateNode<R> { + + protected CreateUpdateNode(boolean canCopy, boolean canDelete, boolean canRevert) { + super(canCopy, canDelete, canRevert); + } + + @Override + public void createNode(TypeReferentialSynchroNode typeNode, ReferentialReference<R> reference) { + ReferenceReferentialSynchroNodeSupport node = new UpdatedReferenceReferentialSynchroNode(reference, canCopy, canDelete, canRevert); + typeNode.add(node); + } + } +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/AddedReferenceReferentialSynchroNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/AddedReferenceReferentialSynchroNode.java new file mode 100644 index 0000000..dee67f2 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/AddedReferenceReferentialSynchroNode.java @@ -0,0 +1,20 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 11/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class AddedReferenceReferentialSynchroNode extends ReferenceReferentialSynchroNodeSupport { + + private static final long serialVersionUID = 1L; + + public AddedReferenceReferentialSynchroNode(ReferentialReference<? extends ReferentialDto> referentialReference,boolean canCopy, boolean canDelete, boolean canRevert) { + super(referentialReference, "synchroAdd", canCopy, canDelete, canRevert); + } + + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferenceReferentialSynchroNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferenceReferentialSynchroNode.java deleted file mode 100644 index ba1e41a..0000000 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferenceReferentialSynchroNode.java +++ /dev/null @@ -1,96 +0,0 @@ -package fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node; - -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReference; - -/** - * Created on 09/08/16. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 5.0 - */ -public class ReferenceReferentialSynchroNode extends ReferentialSynchroNodeSupport { - - private static final long serialVersionUID = 1L; - - private final ReferenceReferentialSynchroNodeType type; - - public ReferenceReferentialSynchroNode(boolean left, ReferenceReferentialSynchroNodeType type, ReferentialReference<? extends ReferentialDto> referentialReference) { - super(left, ReferentialSynchroNodeType.REFERENCE, referentialReference); - this.type = type; - } - - public ReferenceReferentialSynchroNodeType getType() { - return type; - } - - @Override - public TypeReferentialSynchroNode getParent() { - return (TypeReferentialSynchroNode) super.getParent(); - } - - @Override - public ReferentialReference getUserObject() { - return (ReferentialReference) super.getUserObject(); - } - - @Override - public boolean canRevertToLeft() { - return isLeft() && type.canRevert(); - } - - @Override - public boolean canRevertToRight() { - return isRight() && type.canRevert(); - } - - @Override - public boolean canAddToLeft() { - return isLeft() && type.canAdd(); - } - - @Override - public boolean canAddToRight() { - return isRight() && type.canAdd(); - } - - @Override - public boolean canUpdateToLeft() { - return isLeft() && type.canUpdate(); - } - - @Override - public boolean canUpdateToRight() { - return isRight() && type.canUpdate(); - } - - @Override - public boolean canDeleteFromLeft() { - return isLeft() && type.canDelete(); - } - - @Override - public boolean canDeleteFromRight() { - return isRight() && type.canDelete(); - } - - @Override - public boolean canDesactivateFromLeft() { - return isLeft() && type.canDesactivate(); - } - - @Override - public boolean canDesactivateFromRight() { - return isRight() && type.canDesactivate(); - } - - @Override - public boolean canDesactivateFromLeftWithReplace() { - return isLeft() && type.canDesactivateWithReplace(); - } - - @Override - public boolean canDesactivateFromRightWithReplace() { - return isRight() && type.canDesactivateWithReplace(); - } -} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferenceReferentialSynchroNodeSupport.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferenceReferentialSynchroNodeSupport.java new file mode 100644 index 0000000..055c00d --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferenceReferentialSynchroNodeSupport.java @@ -0,0 +1,53 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.ui.UIHelper; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public abstract class ReferenceReferentialSynchroNodeSupport extends ReferentialSynchroNodeSupport { + + private static final long serialVersionUID = 1L; + + private final boolean canCopy; + private final boolean canDelete; + private final boolean canRevert; + + protected ReferenceReferentialSynchroNodeSupport(ReferentialReference<? extends ReferentialDto> referentialReference, String iconName, + boolean canCopy, + boolean canDelete, + boolean canRevert) { + super(UIHelper.createActionIcon(iconName), referentialReference); + this.canCopy = canCopy; + this.canDelete = canDelete; + this.canRevert = canRevert; + } + + public boolean isCanCopy() { + return canCopy; + } + + public boolean isCanDelete() { + return canDelete; + } + + public boolean isCanRevert() { + return canRevert; + } + + @Override + public TypeReferentialSynchroNode getParent() { + return (TypeReferentialSynchroNode) super.getParent(); + } + + @Override + public ReferentialReference getUserObject() { + return (ReferentialReference) super.getUserObject(); + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferenceReferentialSynchroNodeType.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferenceReferentialSynchroNodeType.java deleted file mode 100644 index 0605f0f..0000000 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferenceReferentialSynchroNodeType.java +++ /dev/null @@ -1,70 +0,0 @@ -package fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node; - -import fr.ird.observe.ui.UIHelper; - -import javax.swing.Icon; - -/** - * Created on 10/08/16. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public enum ReferenceReferentialSynchroNodeType { - - ADD(true, false, false, false, false, false, "synchroAdd"), - UPDATE(false, true, false, false, false, false, "synchroUpdate"), - REVERT(false, false, true, false, false, false, "synchroRevert"), - DELETE(false, false, false, true, true, true, "synchroDelete"); - - private final boolean canAdd; - private final boolean canUpdate; - private final boolean canRevert; - private final boolean canDelete; - private final boolean canDesactivate; - private final boolean canDesactivateWithReplace; - private final transient Icon icon; - - ReferenceReferentialSynchroNodeType(boolean canAdd, - boolean canUpdate, - boolean canRevert, - boolean canDelete, - boolean canDesactivate, - boolean canDesactivateWithReplace, - String actionIconName) { - this.canAdd = canAdd; - this.canUpdate = canUpdate; - this.canRevert = canRevert; - this.canDelete = canDelete; - this.canDesactivate = canDesactivate; - this.canDesactivateWithReplace = canDesactivateWithReplace; - this.icon = UIHelper.createActionIcon(actionIconName); - } - - public boolean canAdd() { - return canAdd; - } - - public boolean canUpdate() { - return canUpdate; - } - - public boolean canRevert() { - return canRevert; - } - - public boolean canDelete() { - return canDelete; - } - - public boolean canDesactivate() { - return canDesactivate; - } - - public boolean canDesactivateWithReplace() { - return canDesactivateWithReplace; - } - - public Icon icon() { - return icon; - } -} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferentialSynchroNodeSupport.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferentialSynchroNodeSupport.java index 487b54f..a206fe9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferentialSynchroNodeSupport.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferentialSynchroNodeSupport.java @@ -1,5 +1,6 @@ package fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node; +import javax.swing.Icon; import javax.swing.tree.DefaultMutableTreeNode; /** @@ -11,73 +12,27 @@ public abstract class ReferentialSynchroNodeSupport extends DefaultMutableTreeNo private static final long serialVersionUID = 1L; - private final boolean left; - private final ReferentialSynchroNodeType nodeType; + private transient Icon icon; - protected ReferentialSynchroNodeSupport(boolean left, ReferentialSynchroNodeType nodeType, Object userObject) { - this.left = left; - this.nodeType = nodeType; + protected ReferentialSynchroNodeSupport(Icon icon, Object userObject) { setUserObject(userObject); + this.icon = icon; } - public boolean isLeft() { - return left; - } - - public boolean isRight() { - return !left; - } - - public ReferentialSynchroNodeType getNodeType() { - return nodeType; - } - - public boolean canRevertToLeft() { - return false; - } - - public boolean canRevertToRight() { - return false; - } - - public boolean canAddToLeft() { - return false; - } - - public boolean canAddToRight() { - return false; + public Icon getIcon() { + return icon; } - public boolean canUpdateToLeft() { - return false; - } - - public boolean canUpdateToRight() { - return false; - } - - public boolean canDeleteFromLeft() { - return false; - } - - public boolean canDeleteFromRight() { - return false; - } - - public boolean canDesactivateFromLeft() { - return false; - } - - public boolean canDesactivateFromRight() { - return false; + public boolean isLeft() { + return getRoot().isLeaf(); } - public boolean canDesactivateFromLeftWithReplace() { - return false; + public boolean isRight() { + return !isLeft(); } - public boolean canDesactivateFromRightWithReplace() { - return false; + @Override + public ReferentialSynchroNodeSupport getParent() { + return (ReferentialSynchroNodeSupport) super.getParent(); } - } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferentialSynchroNodeType.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferentialSynchroNodeType.java deleted file mode 100644 index 29be162..0000000 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferentialSynchroNodeType.java +++ /dev/null @@ -1,13 +0,0 @@ -package fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node; - -/** - * Created on 10/08/16. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 5.0 - */ -public enum ReferentialSynchroNodeType { - ROOT, - TYPE, - REFERENCE -} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/RootReferentialSynchroNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/RootReferentialSynchroNode.java index 6df1105..3ba65dd 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/RootReferentialSynchroNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/RootReferentialSynchroNode.java @@ -8,18 +8,34 @@ import java.util.Enumeration; * Created on 10/08/16. * * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 */ public class RootReferentialSynchroNode extends ReferentialSynchroNodeSupport { + private static final long serialVersionUID = 1L; - public RootReferentialSynchroNode(boolean left) { - super(left, ReferentialSynchroNodeType.ROOT, null); + private final boolean left; + private final boolean canWrite; + + public RootReferentialSynchroNode(boolean left, boolean canWrite) { + super(null, null); + this.left = left; + this.canWrite = canWrite; + } + + @Override + public boolean isLeft() { + return left; + } + + public boolean isCanWrite() { + return canWrite; } public <R extends ReferentialDto> TypeReferentialSynchroNode getOrAddTypeNode(Class<R> referentialName) { TypeReferentialSynchroNode node = getChild(referentialName); if (node == null) { - node = new TypeReferentialSynchroNode(isLeft(), referentialName); + node = new TypeReferentialSynchroNode(referentialName); add(node); } return node; @@ -35,4 +51,5 @@ public class RootReferentialSynchroNode extends ReferentialSynchroNodeSupport { } return null; } + } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/TypeReferentialSynchroNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/TypeReferentialSynchroNode.java index 8378773..1d3ec2d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/TypeReferentialSynchroNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/TypeReferentialSynchroNode.java @@ -1,8 +1,8 @@ package fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node; import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReference; +import javax.swing.UIManager; import java.util.Enumeration; /** @@ -14,8 +14,8 @@ public class TypeReferentialSynchroNode extends ReferentialSynchroNodeSupport { private static final long serialVersionUID = 1L; - public TypeReferentialSynchroNode(boolean left, Class<? extends ReferentialDto> type) { - super(left, ReferentialSynchroNodeType.TYPE, type); + public TypeReferentialSynchroNode(Class<? extends ReferentialDto> type) { + super(UIManager.getIcon("navigation.sub.referentiel-16"), type); } @Override @@ -23,10 +23,10 @@ public class TypeReferentialSynchroNode extends ReferentialSynchroNodeSupport { return (RootReferentialSynchroNode) super.getParent(); } - public <R extends ReferentialDto> ReferenceReferentialSynchroNode getChild(String id) { + public <R extends ReferentialDto> ReferenceReferentialSynchroNodeSupport getChild(String id) { Enumeration children = children(); while (children.hasMoreElements()) { - ReferenceReferentialSynchroNode o = (ReferenceReferentialSynchroNode) children.nextElement(); + ReferenceReferentialSynchroNodeSupport o = (ReferenceReferentialSynchroNodeSupport) children.nextElement(); if (id.equals(o.getUserObject().getId())) { return o; } @@ -39,28 +39,4 @@ public class TypeReferentialSynchroNode extends ReferentialSynchroNodeSupport { return (Class) super.getUserObject(); } - public <R extends ReferentialDto> ReferenceReferentialSynchroNode addDeleteNode(ReferentialReference<R> referentialReference) { - ReferenceReferentialSynchroNode node = new ReferenceReferentialSynchroNode(isLeft(), ReferenceReferentialSynchroNodeType.DELETE, referentialReference); - add(node); - return node; - } - - public <R extends ReferentialDto> ReferenceReferentialSynchroNode addAddNode(ReferentialReference<R> referentialReference) { - ReferenceReferentialSynchroNode node = new ReferenceReferentialSynchroNode(isLeft(), ReferenceReferentialSynchroNodeType.ADD, referentialReference); - add(node); - return node; - } - - public <R extends ReferentialDto> ReferenceReferentialSynchroNode addUpdateNode(ReferentialReference<R> referentialReference) { - ReferenceReferentialSynchroNode node = new ReferenceReferentialSynchroNode(isLeft(), ReferenceReferentialSynchroNodeType.UPDATE, referentialReference); - add(node); - return node; - } - - public <R extends ReferentialDto> ReferenceReferentialSynchroNode addRevertNode(ReferentialReference<R> referentialReference) { - ReferenceReferentialSynchroNode node = new ReferenceReferentialSynchroNode(isLeft(), ReferenceReferentialSynchroNodeType.REVERT, referentialReference); - add(node); - return node; - } - } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/UpdatedReferenceReferentialSynchroNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/UpdatedReferenceReferentialSynchroNode.java new file mode 100644 index 0000000..f53816b --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/UpdatedReferenceReferentialSynchroNode.java @@ -0,0 +1,19 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 11/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class UpdatedReferenceReferentialSynchroNode extends ReferenceReferentialSynchroNodeSupport { + + private static final long serialVersionUID = 1L; + + public UpdatedReferenceReferentialSynchroNode(ReferentialReference<? extends ReferentialDto> referentialReference, boolean canCopy, boolean canDelete, boolean canRevert) { + super(referentialReference, "synchroUpdate", canCopy, canDelete, canRevert); + } + +} -- 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 feature/4309_synchro_referential in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit f5b1fc241710a563418f1aa60d96c63bb1cb99bf Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Aug 13 18:00:24 2016 +0200 La partie graphique est ok --- .../src/main/filters/observe-ui.properties | 4 +- .../fr/ird/observe/ui/admin/AdminUIHandler.java | 37 +++ .../java/fr/ird/observe/ui/admin/AdminUIModel.java | 138 ++++++++-- .../fr/ird/observe/ui/admin/config/ConfigUI.jcss | 15 +- .../observe/ui/admin/config/ConfigUIHandler.java | 19 +- .../synchronize/data/DataSynchroUIHandler.java | 9 + .../referential/legacy/SynchronizeModel.java | 27 +- .../referential/legacy/SynchronizeUIHandler.java | 2 +- .../referential/ng/ReferentialReplaceUI.jaxx | 29 ++ .../referential/ng/ReferentialReplaceUI.jcss | 9 + .../ng/ReferentialReplaceUIHandler.java | 41 +++ .../referential/ng/ReferentialSynchroModel.java | 182 +++++++++++-- .../referential/ng/ReferentialSynchroUI.jaxx | 59 ++-- .../referential/ng/ReferentialSynchroUI.jcss | 79 +++--- .../ng/ReferentialSynchroUIHandler.java | 296 +++++---------------- .../ng/ReferentialSynchronizeResources.java | 147 ++++++++++ .../ng/ReferentialSynchronizeTaskListModel.java | 47 ++++ .../referential/ng/action/ApplyAction.java | 114 ++++++++ .../ng/action/RegisterAddTaskAction.java | 40 +++ .../ng/action/RegisterCopyTaskAction.java | 40 +++ .../ng/action/RegisterDeleteTaskAction.java | 33 +++ .../ng/action/RegisterDesactivateTaskAction.java | 33 +++ .../ng/action/RegisterRevertTaskAction.java | 26 ++ .../ng/action/RegisterSkipTaskAction.java | 26 ++ .../ng/action/RegisterTasksActionSupport.java | 189 +++++++++++++ .../ng/action/RegisterUpdateTaskAction.java | 41 +++ .../ng/task/AddToReferentialSynchronizeTask.java | 19 ++ .../task/CopyToLeftReferentialSynchronizeTask.java | 25 -- .../CopyToRightReferentialSynchronizeTask.java | 25 -- .../DeleteFromLeftReferentialSynchronizeTask.java | 25 -- .../DeleteFromRightReferentialSynchronizeTask.java | 25 -- .../ng/task/DeleteReferentialSynchronizeTask.java | 19 ++ ...activateFromLeftReferentialSynchronizeTask.java | 25 -- ...ctivateFromRightReferentialSynchronizeTask.java | 25 -- .../DesactivateReferentialSynchronizeTask.java | 40 +++ ...hReplaceFromLeftReferentialSynchronizeTask.java | 25 -- ...ReplaceFromRightReferentialSynchronizeTask.java | 25 -- .../ng/task/ReferentialSynchronizeTaskSupport.java | 33 ++- ...ferentialSynchronizeTaskWithReplaceSupport.java | 34 +++ .../RevertFromLeftReferentialSynchronizeTask.java | 25 -- .../RevertFromRightReferentialSynchronizeTask.java | 25 -- .../ng/task/RevertReferentialSynchronizeTask.java | 19 ++ .../SkipFromLeftReferentialSynchronizeTask.java | 25 -- .../SkipFromRightReferentialSynchronizeTask.java | 25 -- .../ng/task/SkipReferentialSynchronizeTask.java | 19 ++ .../task/UpdateToReferentialSynchronizeTask.java | 19 ++ .../ReferentialSynchronizeTreeCellRenderer.java | 7 +- .../ng/tree/ReferentialSynchronizeTreeModel.java | 197 +++++++++++--- .../ReferentialSynchronizeTreeModelsBuilder.java | 43 ++- .../node/AddedReferenceReferentialSynchroNode.java | 4 +- .../ReferenceReferentialSynchroNodeSupport.java | 20 +- .../UpdatedReferenceReferentialSynchroNode.java | 4 +- .../fr/ird/observe/ui/storage/StorageUIModel.java | 2 +- .../observe-application-swing_en_GB.properties | 68 ++--- .../observe-application-swing_es_ES.properties | 68 ++--- .../observe-application-swing_fr_FR.properties | 83 +++--- ...g => action-desactivateWithReplaceFromLeft.png} | Bin ... => action-desactivateWithReplaceFromRight.png} | Bin .../main/resources/icons/action-synchroUpdate.png | Bin 698 -> 767 bytes 59 files changed, 1791 insertions(+), 889 deletions(-) diff --git a/observe-application-swing/src/main/filters/observe-ui.properties b/observe-application-swing/src/main/filters/observe-ui.properties index 6891800..84c9f1c 100644 --- a/observe-application-swing/src/main/filters/observe-ui.properties +++ b/observe-application-swing/src/main/filters/observe-ui.properties @@ -113,8 +113,8 @@ icon.action.db-start-server=action-db-start-server.png icon.action.db-stop-server=action-db-stop-server.png icon.action.desactivateFromLeft=action-desactivateFromLeft.png icon.action.desactivateFromRight=action-desactivateFromRight.png -icon.action.desactivateFromLeftWithReplace=action-desactivateFromLeftWithReplace.png -icon.action.desactivateFromRightWithReplace=action-desactivateFromRightWithReplace.png +icon.action.desactivateWithReplaceFromLeft=action-desactivateWithReplaceFromLeft.png +icon.action.desactivateWithReplaceFromRight=action-desactivateWithReplaceFromRight.png icon.action.skipFromLeft=action-skipFromLeft.png icon.action.skipFromRight=action-skipFromRight.png icon.action.synchroAdd=action-synchroAdd.png diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIHandler.java index 9b12cc9..811fcf7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIHandler.java @@ -36,6 +36,7 @@ import org.apache.commons.logging.LogFactory; import javax.swing.Icon; import javax.swing.JCheckBox; import javax.swing.JComponent; +import javax.swing.border.TitledBorder; import java.awt.Component; import java.util.Arrays; import java.util.Date; @@ -177,6 +178,42 @@ public class AdminUIHandler { log.trace(newStep); } AdminTabUI c = ui.getStepUI(newStep); + + AdminUIModel model = ui.getModel(); + + if (oldStep == null + && newStep == AdminStep.CONFIG + && (model.containsOperation(AdminStep.REFERENTIAL_SYNCHRONIZE) || model.containsOperation(AdminStep.DATA_SYNCHRONIZE))) { + + ConfigUI configUI = (ConfigUI) ui.getStepUI(AdminStep.CONFIG); + + model.setLocalSourceLabel(t("observe.storage.config.left.storage")); + model.setCentralSourceLabel(t("observe.storage.config.right.storage")); + + configUI.getLocalSourceConfig().setBorder(new TitledBorder(model.getLocalSourceLabel())); + configUI.getCentralSourceConfig().setBorder(new TitledBorder(model.getCentralSourceLabel())); + + } + + //FIXME-release Remettre ce code avant la release une fois la fonctionnalité bien testé +// if (oldStep == AdminStep.CONFIG) { +// +// if (newStep == AdminStep.REFERENTIAL_SYNCHRONIZE) { +// +// SwingUtilities.invokeLater(() -> c.getHandler().addAdminWorker("Chargement des référentiels.", () -> { +// model.initSynchroReferentialUI(); +// return WizardState.PENDING; +// })); +// } else if (newStep == AdminStep.DATA_SYNCHRONIZE) { +// +// SwingUtilities.invokeLater(() -> c.getHandler().addAdminWorker("Chargement des données.", () -> { +// model.initSynchroDataUI(); +// return WizardState.PENDING; +// })); +// } +// } + + if (c != null && c.getStep() == AdminStep.SAVE_LOCAL) { // on met a jour le descriptif diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java index 890ab8a..2a6065d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java @@ -39,10 +39,12 @@ import fr.ird.observe.services.service.BabModelVersionException; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; import fr.ird.observe.services.service.DatabaseDestroyNotAuthorizedException; import fr.ird.observe.services.service.DatabaseNotFoundException; +import fr.ird.observe.services.service.actions.synchro.referential.ReferentialSynchronizeMode; import fr.ird.observe.services.service.actions.validate.ValidateService; import fr.ird.observe.services.service.actions.validate.ValidateServiceUtils; import fr.ird.observe.services.service.longline.TripLonglineService; import fr.ird.observe.services.service.seine.TripSeineService; +import fr.ird.observe.ui.admin.config.ConfigUI; import fr.ird.observe.ui.admin.consolidate.ConsolidateModel; import fr.ird.observe.ui.admin.export.ExportModel; import fr.ird.observe.ui.admin.report.ReportModel; @@ -62,6 +64,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.validator.NuitonValidatorScope; +import javax.swing.border.TitledBorder; import java.beans.PropertyChangeListener; import java.io.File; import java.util.ArrayList; @@ -92,6 +95,8 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { /** Logger */ private static final Log log = LogFactory.getLog(AdminUIModel.class); + public static final String PROPERTY_LOCAL_SOURCE_LABEL = "localSourceLabel"; + public static final String PROPERTY_CENTRAL_SOURCE_LABEL = "centralSourceLabel"; /** la source de données en cours d'utilisation par l'application */ protected ObserveSwingDataSource previousSource; @@ -138,6 +143,29 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { private final PropertyChangeListener listenSaveLocalChanged; private final PropertyChangeListener listenReferentialConfigChanged; + private String localSourceLabel = t("observe.storage.config.source.storage"); + private String centralSourceLabel = t("observe.storage.config.referentiel.storage"); + + public String getLocalSourceLabel() { + return localSourceLabel; + } + + public void setLocalSourceLabel(String localSourceLabel) { + Object oldValue = getLocalSourceLabel(); + this.localSourceLabel = localSourceLabel; + firePropertyChange(PROPERTY_LOCAL_SOURCE_LABEL, oldValue, localSourceLabel); + } + + public String getCentralSourceLabel() { + return centralSourceLabel; + } + + public void setCentralSourceLabel(String centralSourceLabel) { + Object oldValue = getCentralSourceLabel(); + this.centralSourceLabel = centralSourceLabel; + firePropertyChange(PROPERTY_CENTRAL_SOURCE_LABEL, oldValue, centralSourceLabel); + } + public AdminUIModel() { super(AdminStep.class); @@ -145,7 +173,12 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { @Override public String getLabel() { - String txt = n("observe.storage.label.synchro.incoming"); + String txt; + if (containsOperation(AdminStep.REFERENTIAL_SYNCHRONIZE)) { + txt = n("observe.storage.label.synchro.leftSource"); + } else { + txt = n("observe.storage.label.synchro.incoming"); + } String params; if (getDbMode() == DbMode.USE_SERVER) { @@ -175,7 +208,11 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { public String getLabel() { String txt; String params; - txt = n("observe.storage.label.synchro.referentiel"); + if (containsOperation(AdminStep.REFERENTIAL_SYNCHRONIZE)) { + txt = n("observe.storage.label.synchro.rightSource"); + } else { + txt = n("observe.storage.label.synchro.referentiel"); + } if (getDbMode() == DbMode.CREATE_LOCAL) { params = getH2Config().getDirectory().getAbsolutePath(); } else { @@ -256,6 +293,13 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { // on repasse sur l'écran de configuration + if (containsOperation(AdminStep.REFERENTIAL_SYNCHRONIZE) || containsOperation(AdminStep.DATA_SYNCHRONIZE)) { + + setLocalSourceLabel(t("observe.storage.config.left.storage")); + setCentralSourceLabel(t("observe.storage.config.right.storage")); + + } + return; } @@ -265,40 +309,48 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { return; } - if (AdminStep.CONFIG == oldStep && AdminStep.DATA_SYNCHRONIZE == newStep) { + if (AdminStep.CONFIG == oldStep) { - // On lance le chargement de la sélection des arbres + if (AdminStep.DATA_SYNCHRONIZE == newStep) { - DataSynchroModel stepModel = getDataSynchroModel(); + setBusy(true); - ObserveSwingDataSource leftSource = getSafeLocalSource(true); - stepModel.setLeftSource(leftSource); + try { - ObserveSwingDataSource rightSource = getSafeCentralSource(true); - stepModel.setRightSource(rightSource); + //FIXME-release Supprimer ce code et remettre le code dans AdminUIHandler qui fait ça en lazy + initSynchroDataUI(); - return; + } finally { + setBusy(false); + } - } + return; - if (AdminStep.CONFIG == oldStep && AdminStep.REFERENTIAL_SYNCHRONIZE == newStep) { + } - // On lance le chargement de la sélection des arbres + if (AdminStep.REFERENTIAL_SYNCHRONIZE == newStep) { - ReferentialSynchroModel stepModel = getReferentialSynchroModel(); + setBusy(true); - ObserveSwingDataSource leftSource = getSafeLocalSource(true); - stepModel.setLeftSource(leftSource); + try { - ObserveSwingDataSource rightSource = getSafeCentralSource(true); - stepModel.setRightSource(rightSource); + //FIXME-release Supprimer ce code et remettre le code dans AdminUIHandler qui fait ça en lazy + initSynchroReferentialUI(); - stepModel.populateTreeModels(); + } finally { + + setBusy(false); + + } - return; + + return; + + } } + // on était sur l'écran de configuration // mise à jour des modèles de sélection si on arrive sur une étape @@ -414,6 +466,32 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { }; } + public void initSynchroDataUI() { + + DataSynchroModel stepModel = getDataSynchroModel(); + + ObserveSwingDataSource leftSource = getSafeLocalSource(true); + stepModel.setLeftSource(leftSource); + + ObserveSwingDataSource rightSource = getSafeCentralSource(true); + stepModel.setRightSource(rightSource); + + } + + public void initSynchroReferentialUI() { + + ReferentialSynchroModel stepModel = getReferentialSynchroModel(); + + ObserveSwingDataSource leftSource = getSafeLocalSource(true); + stepModel.setLeftSource(leftSource); + + ObserveSwingDataSource rightSource = getSafeCentralSource(true); + stepModel.setRightSource(rightSource); + + stepModel.populateTreeModels(); + + } + public DataSelectionModel getSelectionDataModel() { return selectionDataModel; } @@ -621,14 +699,32 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { if (containsOperation(AdminStep.DATA_SYNCHRONIZE)) { - //TODO ? + ConfigUI configUI = (ConfigUI) ui.getStepUI(AdminStep.CONFIG); + + configUI.getLocalSourceConfig().setBorder(new TitledBorder(getLocalSourceLabel())); + configUI.getCentralSourceConfig().setBorder(new TitledBorder(getCentralSourceLabel())); } if (containsOperation(AdminStep.REFERENTIAL_SYNCHRONIZE)) { + //FIXME Remove this after tests + getCentralSourceModel().setRemotePassword('a'); + getReferentialSynchroModel().removePropertyChangeListener(listenReferentialConfigChanged); getReferentialSynchroModel().addPropertyChangeListener(listenReferentialConfigChanged); + getReferentialSynchroModel().addPropertyChangeListener(ReferentialSynchroModel.SYNCHRONIZE_MODE_PROPERTY_NAME, evt -> { + + ReferentialSynchronizeMode newValue = (ReferentialSynchronizeMode) evt.getNewValue(); + + if (ui.getTabs().getComponentCount() > 1 && newValue != null) { + ui.getTabs().setTitleAt(1, t("observe.actions.synchro.referential.withMode", newValue.getLabel())); + } + + }); + + getReferentialSynchroModel().setSynchronizeMode(ReferentialSynchronizeMode.FROM_LEFT_TO_RIGHT); + } // on ecoute les modifications d'étapes pour remplir les modèles de sélection diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/config/ConfigUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/config/ConfigUI.jcss index 44d14bb..eb46511 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/config/ConfigUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/config/ConfigUI.jcss @@ -85,7 +85,7 @@ } #localSourceConfig { - border:{new TitledBorder(t("observe.storage.config.source.storage"))}; + border:{new TitledBorder(model.getLocalSourceLabel())}; visible:{model.isNeedIncomingDataSource()}; } @@ -97,27 +97,20 @@ #configureLocalSource { text:"observe.action.configure"; actionIcon:"config"; + mnemonic:"C"; } #localSourceStatus { icon:{(Icon) getClientProperty(localSourceModel.isValid() ? "successIcon" : "failedIcon")}; - /*icon:{(Icon) getClientProperty(localSourceModel.isValidStep() ? "successIcon" : "failedIcon")};*/ } #localSourcePolicy { text:{getHandler().updateDataSourcePolicy(localSourceModel, localSourceModel.isValid())} } -/*#localSourceInfoLabel { - actionIcon:"information"; - text:"observe.action.config.export.required.read.referentiel"; - visible:{getHandler().isOperationSelected(model.getOperations(), EXPORT_DATA)}; -}*/ - #centralSourceConfig { visible:{model.isNeedReferentielDataSource()}; - /*visible:{getHandler().isNeedReferentiel(model.getOperations())};*/ - border:{new TitledBorder(t("observe.storage.config.referentiel.storage"))}; + border:{new TitledBorder(model.getCentralSourceLabel())}; } #centralSourceLabel { @@ -128,6 +121,8 @@ #configureCentralSource { text:"observe.action.configure"; actionIcon:"config"; + mnemonic:"o"; + } #centralSourceStatus { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/config/ConfigUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/config/ConfigUIHandler.java index 2f66b60..41499aa 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/config/ConfigUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/config/ConfigUIHandler.java @@ -137,14 +137,9 @@ public class ConfigUIHandler extends AdminTabUIHandler { public void obtainIncomingConnexion() { StorageUIModel sourceModel = ui.getLocalSourceModel(); - StorageUILauncher.obtainConnexion( - ui, - ui.getParentContainer(Window.class), - sourceModel - ); + StorageUILauncher.obtainConnexion(ui, ui.getParentContainer(Window.class), sourceModel); if (log.isDebugEnabled()) { - log.debug("After modifiy source model isValid : " + - sourceModel.isValid() + " / " + sourceModel.isValidStep()); + log.debug("After modifiy source model isValid : " + sourceModel.isValid() + " / " + sourceModel.isValidStep()); } model.removeLocalSource(); model.getLocalSourceModel().validate(); @@ -152,13 +147,11 @@ public class ConfigUIHandler extends AdminTabUIHandler { } public void obtainRemoteConnexion() { + if (log.isInfoEnabled()) { + log.info("start obtain remote connexion"); + } StorageUIModel sourceModel = ui.getCentralSourceModel(); - StorageUILauncher.obtainConnexion( - ui, - ui.getParentContainer(Window.class), - sourceModel - ); - + StorageUILauncher.obtainConnexion(ui, ui.getParentContainer(Window.class), sourceModel); model.removeCentralSource(); model.getCentralSourceModel().validate(StorageStep.CONFIG); model.validate(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/DataSynchroUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/DataSynchroUIHandler.java index c44d9fb..36e1fa4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/DataSynchroUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/data/DataSynchroUIHandler.java @@ -12,9 +12,11 @@ import fr.ird.observe.services.service.actions.synchro.data.DataSynchronizeServi import fr.ird.observe.services.service.actions.synchro.data.task.DataSynchronizeCopyTask; import fr.ird.observe.services.service.actions.synchro.data.task.DataSynchronizeDeleteTask; import fr.ird.observe.ui.UIHelper; +import fr.ird.observe.ui.admin.AdminStep; import fr.ird.observe.ui.admin.AdminTabUI; import fr.ird.observe.ui.admin.AdminTabUIHandler; import fr.ird.observe.ui.admin.AdminUI; +import fr.ird.observe.ui.admin.config.ConfigUI; import fr.ird.observe.ui.admin.synchronize.data.task.CopyToLeftDataSynchronizeTask; import fr.ird.observe.ui.admin.synchronize.data.task.CopyToRightDataSynchronizeTask; import fr.ird.observe.ui.admin.synchronize.data.task.DataSynchronizeTaskSupport; @@ -101,6 +103,10 @@ public class DataSynchroUIHandler extends AdminTabUIHandler { stepModel.populateLeftSelectionModel(); updateSelectionModel(tabUI, tabUI.getLeftTreeHelper(), tabUI.getLeftTree(), dataSource, stepModel.getLeftSelectionDataModel(), tabUI.getLeftSelectionModel()); sendMessage(t("observe.actions.synchro.referential.message.data.leftData.loaded")); + + ConfigUI configUI = (ConfigUI) parentUI.getStepUI(AdminStep.CONFIG); + configUI.getLocalSourceConfig().setBorder(new TitledBorder(getModel().getLocalSourceLabel())); + }); getStepModel().addPropertyChangeListener(DataSynchroModel.RIGHT_SOURCE_PROPERTY_NAME, evt -> { @@ -113,6 +119,9 @@ public class DataSynchroUIHandler extends AdminTabUIHandler { updateSelectionModel(tabUI, tabUI.getRightTreeHelper(), tabUI.getRightTree(), dataSource, stepModel.getRightSelectionDataModel(), tabUI.getRightSelectionModel()); sendMessage(t("observe.actions.synchro.referential.message.data.rightData.loaded")); + ConfigUI configUI = (ConfigUI) parentUI.getStepUI(AdminStep.CONFIG); + configUI.getCentralSourceConfig().setBorder(new TitledBorder(getModel().getCentralSourceLabel())); + }); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/SynchronizeModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/SynchronizeModel.java index 6314771..883ba83 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/SynchronizeModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/SynchronizeModel.java @@ -41,21 +41,18 @@ import java.util.List; */ public class SynchronizeModel extends AdminActionModel { + private final JaxxDefaultListModel<ObsoleteReferentialReference> obsoleteReferences = new JaxxDefaultListModel<>(); + private final DefaultListSelectionModel obsoleteReferencesSelectionModel = new DefaultListSelectionModel(); /** data source we want to synchronize. */ protected ObserveSwingDataSource source; - /** data source which contains central referentiel. */ protected ObserveSwingDataSource centralSource; - /** Le resultat de la synchronisation des référentiels. */ private UnidirectionalReferentialSynchronizeResult referentialSynchronizeResult; private UnidirectionalReferentialSynchronizeEngine engine; private UnidirectionalReferentialSynchronizeContext referentialSynchronizeContext; private UnidirectionalReferentialSynchronizeCallbackResults referentialSynchronizeCallbackResults; - private final JaxxDefaultListModel<ObsoleteReferentialReference> obsoleteReferences = new JaxxDefaultListModel<>(); - private final DefaultListSelectionModel obsoleteReferencesSelectionModel = new DefaultListSelectionModel(); - public SynchronizeModel() { super(AdminStep.SYNCHRONIZE); } @@ -84,22 +81,22 @@ public class SynchronizeModel extends AdminActionModel { this.referentialSynchronizeResult = referentialSynchronizeResult; } - public void setEngine(UnidirectionalReferentialSynchronizeEngine engine) { - this.engine = engine; - } - public UnidirectionalReferentialSynchronizeEngine getEngine() { return engine; } - public void setReferentialSynchronizeContext(UnidirectionalReferentialSynchronizeContext referentialSynchronizeContext) { - this.referentialSynchronizeContext = referentialSynchronizeContext; + public void setEngine(UnidirectionalReferentialSynchronizeEngine engine) { + this.engine = engine; } public UnidirectionalReferentialSynchronizeContext getReferentialSynchronizeContext() { return referentialSynchronizeContext; } + public void setReferentialSynchronizeContext(UnidirectionalReferentialSynchronizeContext referentialSynchronizeContext) { + this.referentialSynchronizeContext = referentialSynchronizeContext; + } + public UnidirectionalReferentialSynchronizeCallbackResults getReferentialSynchronizeCallbackResults() { return referentialSynchronizeCallbackResults; } @@ -112,6 +109,10 @@ public class SynchronizeModel extends AdminActionModel { return obsoleteReferences; } + public void setObsoleteReferences(List<ObsoleteReferentialReference> obsoleteReferences) { + this.obsoleteReferences.setAllElements(obsoleteReferences); + } + public DefaultListSelectionModel getObsoleteReferencesSelectionModel() { return obsoleteReferencesSelectionModel; } @@ -120,8 +121,4 @@ public class SynchronizeModel extends AdminActionModel { obsoleteReferencesSelectionModel.clearSelection(); obsoleteReferences.clear(); } - - public void setObsoleteReferences(List<ObsoleteReferentialReference> obsoleteReferences) { - this.obsoleteReferences.setAllElements(obsoleteReferences); - } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/SynchronizeUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/SynchronizeUIHandler.java index ff76fb5..d09f583 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/SynchronizeUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/legacy/SynchronizeUIHandler.java @@ -22,6 +22,7 @@ package fr.ird.observe.ui.admin.synchronize.referential.legacy; import com.google.common.collect.ImmutableSet; +import fr.ird.observe.application.swing.decoration.decorators.ReferentialReferenceDecorator; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeCallbackRequest; @@ -33,7 +34,6 @@ import fr.ird.observe.services.service.actions.synchro.referential.legacy.Unidir import fr.ird.observe.ui.admin.AdminStep; import fr.ird.observe.ui.admin.AdminTabUIHandler; import fr.ird.observe.ui.admin.AdminUI; -import fr.ird.observe.application.swing.decoration.decorators.ReferentialReferenceDecorator; import jaxx.runtime.swing.CardLayout2; import jaxx.runtime.swing.editor.bean.BeanComboBox; import jaxx.runtime.swing.model.JaxxDefaultListModel; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialReplaceUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialReplaceUI.jaxx new file mode 100644 index 0000000..f371b86 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialReplaceUI.jaxx @@ -0,0 +1,29 @@ +<JPanel id="panel" genericType='E extends ReferentialDto'> + + <import> + fr.ird.observe.services.dto.referential.ReferentialDto + fr.ird.observe.services.dto.referential.ReferentialReference + + jaxx.runtime.swing.editor.bean.BeanComboBox + + </import> + + <ReferentialReference id='referenceToReplace' genericType="E" + initializer="getContextValue(ReferentialReference.class)"/> + <ReferentialReference id='replaceReference' genericType="E" javaBean="null"/> + + <ReferentialReplaceUIHandler id='handler' genericType="E" constructorParams="this"/> + + <script><![CDATA[ + +void $afterCompleteSetup() { + handler.init(); +} +]]> + </script> + + <JLabel id='message' constraints='BorderLayout.NORTH'/> + <BeanComboBox id='list' constraints='BorderLayout.CENTER' constructorParams='this' + genericType='ReferentialReference<E>'/> + +</JPanel> \ No newline at end of file diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialReplaceUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialReplaceUI.jcss new file mode 100644 index 0000000..eb77c98 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialReplaceUI.jcss @@ -0,0 +1,9 @@ +#panel{ + layout:{new BorderLayout()}; + +} + +#list { + bean: {this}; + property:replaceReference; +} \ No newline at end of file diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialReplaceUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialReplaceUIHandler.java new file mode 100644 index 0000000..661ba8f --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialReplaceUIHandler.java @@ -0,0 +1,41 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng; + +import com.google.common.collect.Lists; +import fr.ird.observe.ObserveSwingApplicationContext; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; +import jaxx.runtime.swing.editor.bean.BeanComboBox; + +import java.awt.Dimension; +import java.beans.PropertyChangeListener; + +/** + * Created on 11/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferentialReplaceUIHandler<R extends ReferentialDto> { + + private final ReferentialReplaceUI<R> ui; + protected PropertyChangeListener listenData; + + public ReferentialReplaceUIHandler(ReferentialReplaceUI<R> ui) { + this.ui = ui; + this.listenData = evt -> ui.setReplaceReference((ReferentialReference) evt.getNewValue()); + } + + public void init() { + BeanComboBox<ReferentialReference<R>> beanComboBox = ui.getList(); + //beanComboBox.removePropertyChangeListener(BeanComboBox.PROPERTY_DATA, listenData); + //beanComboBox.addPropertyChangeListener(BeanComboBox.PROPERTY_DATA, listenData); + + ReferentialReferenceSet<R> referenceSet = ui.getContextValue(ReferentialReferenceSet.class); + beanComboBox.setI18nPrefix("observe.common."); + beanComboBox.setMinimumSize(new Dimension(0, 24)); + beanComboBox.setBeanType((Class) ReferentialReference.class); + beanComboBox.init(ObserveSwingApplicationContext.get().getDecoratorService().getReferentialReferenceDecorator(referenceSet.getType()), + Lists.newArrayList(referenceSet.getReferences())); + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroModel.java index fa32d20..da64f4b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroModel.java @@ -2,15 +2,16 @@ package fr.ird.observe.ui.admin.synchronize.referential.ng; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.services.service.actions.synchro.referential.ReferentialSynchronizeMode; +import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffService; +import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffsEngine; import fr.ird.observe.ui.admin.AdminActionModel; import fr.ird.observe.ui.admin.AdminStep; -import fr.ird.observe.ui.admin.synchronize.referential.ng.task.ReferentialSynchronizeTaskSupport; import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.ReferentialSynchronizeTreeModel; +import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.ReferentialSynchronizeTreeModelsBuilder; import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import javax.swing.DefaultListModel; import java.util.Objects; /** @@ -21,37 +22,49 @@ import java.util.Objects; */ public class ReferentialSynchroModel extends AdminActionModel { - /** Logger. */ - private static final Log log = LogFactory.getLog(ReferentialSynchroModel.class); - public static final String LEFT_SOURCE_PROPERTY_NAME = "leftSource"; public static final String RIGHT_SOURCE_PROPERTY_NAME = "rightSource"; public static final String TASKS_PROPERTY_NAME = "tasks"; public static final String SYNCHRONIZE_MODE_PROPERTY_NAME = "synchronizeMode"; public static final String RIGHT_TREE_MODEL_PROPERTY_NAME = "rightTreeModel"; public static final String LEFT_TREE_MODEL_PROPERTY_NAME = "lefttTreeModel"; - - public static final String LEFT_SELECTION_MODEL_CHANGED_PROPERTY_NAME = "leftSelectionModelChanged"; - public static final String RIGHT_SELECTION_MODEL_CHANGED_PROPERTY_NAME = "rightSelectionModelChanged"; - - /** la source sur le panneau de gauche. */ - protected ObserveSwingDataSource leftSource; - - /** la source sur le panneau de droite. */ - protected ObserveSwingDataSource rightSource; - - /** le mode de synchronisation **/ + public static final String COPY_RIGHT_PROPERTY_NAME = "copyRight"; + public static final String COPY_LEFT_PROPERTY_NAME = "copyLeft"; + public static final String SKIP_RIGHT_PROPERTY_NAME = "skipRight"; + public static final String SKIP_LEFT_PROPERTY_NAME = "skipLeft"; + public static final String DELETE_RIGHT_PROPERTY_NAME = "deleteRight"; + public static final String DELETE_LEFT_PROPERTY_NAME = "deleteLeft"; + public static final String DESACTIVATE_RIGHT_PROPERTY_NAME = "desactivateRight"; + public static final String DESACTIVATE_LEFT_PROPERTY_NAME = "desactivateLeft"; + public static final String DESACTIVATE_WITH_REPLACE_RIGHT_PROPERTY_NAME = "desactivateWithReplaceRight"; + public static final String DESACTIVATE_WITH_REPLACE_LEFT_PROPERTY_NAME = "desactivateWithReplaceLeft"; + public static final String REVERT_RIGHT_PROPERTY_NAME = "revertRight"; + public static final String REVERT_LEFT_PROPERTY_NAME = "revertLeft"; + /** Logger. */ + private static final Log log = LogFactory.getLog(ReferentialSynchroModel.class); + private final ReferentialSynchronizeTaskListModel tasks; + private ObserveSwingDataSource leftSource; + private ObserveSwingDataSource rightSource; private ReferentialSynchronizeMode synchronizeMode; - private ReferentialSynchronizeTreeModel leftTreeModel; - private ReferentialSynchronizeTreeModel rightTreeModel; - - private final DefaultListModel<ReferentialSynchronizeTaskSupport> tasks; + private ReferentialSynchronizeDiffsEngine engine; + private boolean copyLeft; + private boolean revertLeft; + private boolean skipLeft; + private boolean deleteLeft; + private boolean desactivateLeft; + private boolean desactivateWithReplaceLeft; + private boolean copyRight; + private boolean revertRight; + private boolean skipRight; + private boolean deleteRight; + private boolean desactivateRight; + private boolean desactivateWithReplaceRight; public ReferentialSynchroModel() { super(AdminStep.REFERENTIAL_SYNCHRONIZE); - this.tasks = new DefaultListModel<>(); + this.tasks = new ReferentialSynchronizeTaskListModel(); } public ReferentialSynchronizeMode getSynchronizeMode() { @@ -102,22 +115,141 @@ public class ReferentialSynchroModel extends AdminActionModel { firePropertyChange(RIGHT_TREE_MODEL_PROPERTY_NAME, oldValue, rightTreeModel); } - public DefaultListModel<ReferentialSynchronizeTaskSupport> getTasks() { + public ReferentialSynchronizeTaskListModel getTasks() { return tasks; } - public void addTask(ReferentialSynchronizeTaskSupport task) { - tasks.addElement(task); + public ReferentialSynchronizeDiffsEngine getEngine() { + return engine; } public void populateTreeModels() { Objects.nonNull(leftSource); Objects.nonNull(rightSource); + Objects.nonNull(synchronizeMode); + + ReferentialSynchronizeDiffService leftDiffSynchronizeService = leftSource.newReferentialSynchronizeDiffService(); + ReferentialSynchronizeDiffService rightDiffSynchronizeService = rightSource.newReferentialSynchronizeDiffService(); - Pair<ReferentialSynchronizeTreeModel, ReferentialSynchronizeTreeModel> treePair = ReferentialSynchronizeTreeModel.buildTreeModels(this); + engine = new ReferentialSynchronizeDiffsEngine(leftDiffSynchronizeService, rightDiffSynchronizeService); + + ReferentialSynchronizeTreeModelsBuilder treeModelsBuilder = new ReferentialSynchronizeTreeModelsBuilder(getSynchronizeMode(), engine); + Pair<ReferentialSynchronizeTreeModel, ReferentialSynchronizeTreeModel> treePair = treeModelsBuilder.build(); setLeftTreeModel(treePair.getLeft()); setRightTreeModel(treePair.getRight()); + tasks.removeAllElements(); + + } + + public boolean isCopyRight() { + return copyRight; + } + + public void setCopyRight(boolean copyRight) { + this.copyRight = copyRight; + firePropertyChange(COPY_RIGHT_PROPERTY_NAME, copyRight); + } + + public boolean isCopyLeft() { + return copyLeft; + } + + public void setCopyLeft(boolean copyLeft) { + this.copyLeft = copyLeft; + firePropertyChange(COPY_LEFT_PROPERTY_NAME, copyLeft); + } + + public boolean isRevertRight() { + return revertRight; + } + + public void setRevertRight(boolean revertRight) { + this.revertRight = revertRight; + firePropertyChange(REVERT_RIGHT_PROPERTY_NAME, revertRight); + } + + public boolean isRevertLeft() { + return revertLeft; + } + + public void setRevertLeft(boolean revertLeft) { + this.revertLeft = revertLeft; + firePropertyChange(REVERT_LEFT_PROPERTY_NAME, revertLeft); + } + + public boolean isSkipLeft() { + return skipLeft; } + + public void setSkipLeft(boolean skipLeft) { + this.skipLeft = skipLeft; + firePropertyChange(SKIP_LEFT_PROPERTY_NAME, skipLeft); + } + + public boolean isSkipRight() { + return skipRight; + } + + public void setSkipRight(boolean skipRight) { + this.skipRight = skipRight; + firePropertyChange(SKIP_RIGHT_PROPERTY_NAME, skipRight); + } + + public boolean isDeleteLeft() { + return deleteLeft; + } + + public void setDeleteLeft(boolean deleteLeft) { + this.deleteLeft = deleteLeft; + firePropertyChange(DELETE_LEFT_PROPERTY_NAME, deleteLeft); + } + + public boolean isDeleteRight() { + return deleteRight; + } + + public void setDeleteRight(boolean deleteRight) { + this.deleteRight = deleteRight; + firePropertyChange(DELETE_RIGHT_PROPERTY_NAME, deleteRight); + } + + public boolean isDesactivateRight() { + return desactivateRight; + } + + public void setDesactivateRight(boolean desactivateRight) { + this.desactivateRight = desactivateRight; + firePropertyChange(DESACTIVATE_RIGHT_PROPERTY_NAME, desactivateRight); + } + + public boolean isDesactivateLeft() { + return desactivateLeft; + } + + public void setDesactivateLeft(boolean desactivateLeft) { + this.desactivateLeft = desactivateLeft; + firePropertyChange(DESACTIVATE_LEFT_PROPERTY_NAME, desactivateLeft); + } + + public boolean isDesactivateWithReplaceRight() { + return desactivateWithReplaceRight; + } + + public void setDesactivateWithReplaceRight(boolean desactivateWithReplaceRight) { + this.desactivateWithReplaceRight = desactivateWithReplaceRight; + firePropertyChange(DESACTIVATE_WITH_REPLACE_RIGHT_PROPERTY_NAME, desactivateWithReplaceRight); + } + + public boolean isDesactivateWithReplaceLeft() { + return desactivateWithReplaceLeft; + } + + public void setDesactivateWithReplaceLeft(boolean desactivateWithReplaceLeft) { + this.desactivateWithReplaceLeft = desactivateWithReplaceLeft; + firePropertyChange(DESACTIVATE_WITH_REPLACE_LEFT_PROPERTY_NAME, desactivateWithReplaceLeft); + } + + } \ No newline at end of file diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroUI.jaxx index 8429a6c..850c655 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroUI.jaxx @@ -30,14 +30,19 @@ fr.ird.observe.ui.UIHelper fr.ird.observe.ui.admin.AdminUI fr.ird.observe.ui.admin.AdminStep + fr.ird.observe.ui.admin.synchronize.referential.ng.action.ApplyAction + fr.ird.observe.ui.admin.synchronize.referential.ng.action.RegisterCopyTaskAction + fr.ird.observe.ui.admin.synchronize.referential.ng.action.RegisterDeleteTaskAction + fr.ird.observe.ui.admin.synchronize.referential.ng.action.RegisterDesactivateTaskAction + fr.ird.observe.ui.admin.synchronize.referential.ng.action.RegisterRevertTaskAction + fr.ird.observe.ui.admin.synchronize.referential.ng.action.RegisterSkipTaskAction fr.ird.observe.ui.admin.synchronize.referential.ng.tree.ReferentialSynchronizeTreeModel fr.ird.observe.ui.admin.synchronize.referential.ng.tree.ReferentialSynchronizeTreeCellRenderer fr.ird.observe.ui.tree.ObserveTreeHelper - jaxx.runtime.SwingUtil - javax.swing.ListSelectionModel - javax.swing.tree.TreeSelectionModel + + static org.nuiton.i18n.I18n.t; </import> @@ -46,7 +51,7 @@ <ReferentialSynchroUIHandler id='handler' constructorParams='this'/> - <ReferentialSynchroModel id='stepModel' initializer='getModel().getReferentialSynchroModel()'/> + <ReferentialSynchroModel id='stepModel' javaBean='getModel().getReferentialSynchroModel()'/> <ReferentialSynchronizeTreeModel id="leftTreeModel" javaBean="getStepModel().getLeftTreeModel()"/> <ReferentialSynchronizeTreeModel id="rightTreeModel" javaBean="getStepModel().getRightTreeModel()"/> @@ -76,34 +81,31 @@ public void destroy() { <JSplitPane id="contentSplitPane" constraints='BorderLayout.CENTER'> <Table id='contentNorth' fill="both" weighty="1"> <row> - <cell weightx="0.45"> - <JScrollPane id='leftTreePane' decorator='boxed'> + <cell weightx="0.5"> + <JScrollPane id='leftTreePane'> <JTree id='leftTree'/> </JScrollPane> </cell> - <cell weightx="0.1"> - <JPanel layout="{new BorderLayout()}" border='{new TitledBorder(" ")}'> - <JPanel id="middleActions" layout="{new GridLayout(0, 2)}" constraints='BorderLayout.CENTER'> - <JButton id="copyRight" onActionPerformed="getHandler().addCopyRightTasks()"/> - <JButton id="copyLeft" onActionPerformed="getHandler().addCopyLeftTasks()"/> - <JButton id="revertLeft" onActionPerformed="getHandler().addRevertLeftTasks()"/> - <JButton id="revertRight" onActionPerformed="getHandler().addRevertRightTasks()"/> - <JButton id="desactivateLeft" onActionPerformed="getHandler().addDesactivateLeftTasks()"/> - <JButton id="desactivateRight" onActionPerformed="getHandler().addDesactivateRightTasks()"/> - <JButton id="desactivateLeftWithReplace" - onActionPerformed="getHandler().addDesactivateLeftWithReplaceTasks()"/> - <JButton id="desactivateRightWithReplace" - onActionPerformed="getHandler().addDesactivateRightWithReplaceTasks()"/> - <JButton id="deleteLeft" onActionPerformed="getHandler().addDeleteLeftTasks()"/> - <JButton id="deleteRight" onActionPerformed="getHandler().addDeleteRightTasks()"/> - <JButton id="skipLeft" onActionPerformed="getHandler().addSkipLeftTasks()"/> - <JButton id="skipRight" onActionPerformed="getHandler().addSkipRightTasks()"/> - - </JPanel> + <cell> + <JPanel layout="{new BorderLayout()}" border='{new TitledBorder("")}'> + <JToolBar id="middleActions" layout="{new GridLayout(0, 2)}" constraints='BorderLayout.CENTER'> + <JButton id="copyLeft" opaque="true"/> + <JButton id="copyRight" opaque="true"/> + <JButton id="revertLeft" opaque="true"/> + <JButton id="revertRight" opaque="true"/> + <JButton id="desactivateLeft" opaque="false"/> + <JButton id="desactivateRight" opaque="false"/> + <JButton id="desactivateWithReplaceLeft" opaque="false"/> + <JButton id="desactivateWithReplaceRight" opaque="false"/> + <JButton id="deleteLeft" opaque="false"/> + <JButton id="deleteRight" opaque="false"/> + <JButton id="skipLeft" opaque="false"/> + <JButton id="skipRight" opaque="false"/> + </JToolBar> </JPanel> </cell> - <cell weightx="0.45"> - <JScrollPane id='rightTreePane' decorator='boxed'> + <cell weightx="0.5"> + <JScrollPane id='rightTreePane'> <JTree id='rightTree'/> </JScrollPane> </cell> @@ -120,8 +122,7 @@ public void destroy() { <row> <cell> <JPanel layout="{new BorderLayout()}"> - <JButton id='applyAction' constraints='BorderLayout.CENTER' - onActionPerformed='getHandler().doExecuteAction()'/> + <JButton id='applyAction' constraints='BorderLayout.CENTER'/> </JPanel> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroUI.jcss b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroUI.jcss index 377ac0c..c2aefae 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroUI.jcss +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroUI.jcss @@ -30,8 +30,7 @@ } #applyAction { - actionIcon:accept; - text:"observe.action.apply"; + action: {new ApplyAction(this)}; } #leftTree { @@ -39,10 +38,10 @@ largeModel:true; minimumSize:{UIHelper.newMinDimension()}; font-size:11; - showsRootHandles:false; + /*showsRootHandles:false;*/ toggleClickCount:100; - model:{getLeftTreeModel()}; - selectionModel:{getLeftTreeModel()}; + /*model:{getLeftTreeModel()}; + selectionModel:{getStepModel().getLeftTreeModel()};*/ cellRenderer:{new ReferentialSynchronizeTreeCellRenderer()}; } @@ -55,10 +54,10 @@ largeModel:true; minimumSize:{UIHelper.newMinDimension()}; font-size:11; - showsRootHandles:false; + /*showsRootHandles:false;*/ toggleClickCount:100; - model:{getRightTreeModel()}; - selectionModel:{getRightTreeModel()}; + /*model:{getRightTreeModel()}; + selectionModel:{getStepModel().getRightTreeModel()};*/ cellRenderer:{new ReferentialSynchronizeTreeCellRenderer()}; } @@ -67,75 +66,61 @@ } #copyLeft { - actionIcon:copyToLeft; - toolTipText:"observe.actions.synchro.referential.copyToLeft.tip"; - enabled:false; + action: {new RegisterCopyTaskAction(this, true)}; + visible:{stepModel.getSynchronizeMode().isRightWrite()}; } #copyRight { - actionIcon:copyToRight; - toolTipText:"observe.actions.synchro.referential.copyToRight.tip"; - enabled:false; + action: {new RegisterCopyTaskAction(this, false)}; + visible:{stepModel.getSynchronizeMode().isLeftWrite()}; } #revertLeft { - actionIcon:revertToLeft; - toolTipText:"observe.actions.synchro.referential.revertToLeft.tip"; - enabled:false; + action: {new RegisterRevertTaskAction(this, true)}; + visible:{stepModel.getSynchronizeMode().isLeftWrite()}; } #revertRight { - actionIcon:revertToRight; - toolTipText:"observe.actions.synchro.referential.revertToRight.tip"; - enabled:false; + action: {new RegisterRevertTaskAction(this, false)}; + visible:{stepModel.getSynchronizeMode().isRightWrite()}; } #skipLeft { - actionIcon:skipToLeft; - toolTipText:"observe.actions.synchro.referential.skipToLeft.tip"; - enabled:false; + action: {new RegisterSkipTaskAction(this, true)}; } #skipRight { - actionIcon:skipToRight; - toolTipText:"observe.actions.synchro.referential.skipToRight.tip"; - enabled:false; + action: {new RegisterSkipTaskAction(this, false)}; } #deleteLeft { - actionIcon:deleteFromLeft; - toolTipText:"observe.actions.synchro.referential.deleteFromLeft.tip"; - enabled:false; + action: {new RegisterDeleteTaskAction(this, true)}; + visible:{stepModel.getSynchronizeMode().isLeftWrite()}; } #deleteRight { - actionIcon:deleteFromRight; - toolTipText:"observe.actions.synchro.referential.deleteFromRight.tip"; - enabled:false; + action: {new RegisterDeleteTaskAction(this, false)}; + visible:{stepModel.getSynchronizeMode().isRightWrite()}; } #desactivateLeft { - actionIcon:desactivateFromLeft; - toolTipText:"observe.actions.synchro.referential.desactivateFromLeft.tip"; - enabled:false; + action: {new RegisterDesactivateTaskAction(this, true, false)}; + visible:{stepModel.getSynchronizeMode().isLeftWrite()}; } #desactivateRight { - actionIcon:desactivateFromRight; - toolTipText:"observe.actions.synchro.referential.desactivateFromRight.tip"; - enabled:false; + action: {new RegisterDesactivateTaskAction(this, false, false)}; + visible:{stepModel.getSynchronizeMode().isRightWrite()}; } -#desactivateLeftWithReplace { - actionIcon:desactivateFromLeftWithReplace; - toolTipText:"observe.actions.synchro.referential.desactivateFromLeftWithReplace.tip"; - enabled:false; +#desactivateWithReplaceLeft { + action: {new RegisterDesactivateTaskAction(this, true, true)}; + visible:{stepModel.getSynchronizeMode().isLeftWrite()}; } -#desactivateRightWithReplace { - actionIcon:desactivateFromRightWithReplace; - toolTipText:"observe.actions.synchro.referential.desactivateFromRightWithReplace.tip"; - enabled:false; +#desactivateWithReplaceRight { + action: {new RegisterDesactivateTaskAction(this, false, true)}; + visible:{stepModel.getSynchronizeMode().isRightWrite()}; } #actionsToConsumePane { @@ -146,5 +131,5 @@ #actionsToConsume { selectionMode:{ListSelectionModel.SINGLE_SELECTION}; cellRenderer:{new ReferentialSynchronizeTaskListCellRenderer()}; - model:{getStepModel().getTasks()}; + model:{stepModel.getTasks()}; } \ No newline at end of file diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroUIHandler.java index b5d652e..2d2ffd2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchroUIHandler.java @@ -1,41 +1,22 @@ package fr.ird.observe.ui.admin.synchronize.referential.ng; -import fr.ird.observe.application.swing.decoration.DecoratorService; -import fr.ird.observe.application.swing.decoration.decorators.ReferentialReferenceDecorator; -import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; -import fr.ird.observe.services.dto.referential.ProgramDto; -import fr.ird.observe.services.service.actions.synchro.referential.ng.ReferentialSynchronizeRequest; -import fr.ird.observe.services.service.actions.synchro.referential.ng.ReferentialSynchronizeService; -import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeCopyTask; -import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeDeleteTask; -import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeDesactivateTask; -import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeDesactivateWithReplaceTask; +import fr.ird.observe.services.service.actions.synchro.referential.ReferentialSynchronizeMode; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.admin.AdminStep; -import fr.ird.observe.ui.admin.AdminTabUI; import fr.ird.observe.ui.admin.AdminTabUIHandler; import fr.ird.observe.ui.admin.AdminUI; import fr.ird.observe.ui.admin.config.ConfigUI; -import fr.ird.observe.ui.admin.synchronize.referential.ng.task.CopyToLeftReferentialSynchronizeTask; -import fr.ird.observe.ui.admin.synchronize.referential.ng.task.CopyToRightReferentialSynchronizeTask; -import fr.ird.observe.ui.admin.synchronize.referential.ng.task.DeleteFromLeftReferentialSynchronizeTask; -import fr.ird.observe.ui.admin.synchronize.referential.ng.task.DeleteFromRightReferentialSynchronizeTask; -import fr.ird.observe.ui.admin.synchronize.referential.ng.task.DesactivateFromLeftReferentialSynchronizeTask; -import fr.ird.observe.ui.admin.synchronize.referential.ng.task.DesactivateFromLeftWithReplaceReferentialSynchronizeTask; -import fr.ird.observe.ui.admin.synchronize.referential.ng.task.DesactivateFromRightReferentialSynchronizeTask; -import fr.ird.observe.ui.admin.synchronize.referential.ng.task.DesactivateFromRightWithReplaceReferentialSynchronizeTask; -import fr.ird.observe.ui.admin.synchronize.referential.ng.task.ReferentialSynchronizeTaskSupport; -import fr.ird.observe.ui.admin.synchronize.referential.ng.task.SkipFromLeftReferentialSynchronizeTask; -import fr.ird.observe.ui.admin.synchronize.referential.ng.task.SkipFromRightReferentialSynchronizeTask; +import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.ReferentialSynchronizeTreeModel; import jaxx.runtime.context.JAXXInitialContext; -import jaxx.runtime.swing.wizard.ext.WizardState; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import javax.swing.DefaultListModel; +import javax.swing.JScrollPane; +import javax.swing.JTree; import javax.swing.border.TitledBorder; -import javax.swing.tree.TreeModel; +import javax.swing.event.TreeSelectionListener; +import java.awt.Color; +import java.beans.PropertyChangeListener; import static org.nuiton.i18n.I18n.t; @@ -50,8 +31,23 @@ public class ReferentialSynchroUIHandler extends AdminTabUIHandler { /** Logger */ private static final Log log = LogFactory.getLog(ReferentialSynchroUIHandler.class); + private final TreeSelectionListener treeSelectionListener; + private final PropertyChangeListener leftTreeModelChanged; + private final PropertyChangeListener rightTreeModelChanged; + public ReferentialSynchroUIHandler(ReferentialSynchroUI ui) { super(ui); + this.treeSelectionListener = evt -> updateEnabledActions(); + this.leftTreeModelChanged = evt -> initTree(ui.getLeftTree(), + ui.getLeftTreePane(), + (ReferentialSynchronizeTreeModel) evt.getNewValue(), + getModel().getLocalSourceModel().getLabel(), + t("observe.actions.synchro.referential.message.referential.leftData.loaded")); + this.rightTreeModelChanged = evt -> initTree(ui.getRightTree(), + ui.getRightTreePane(), + (ReferentialSynchronizeTreeModel) evt.getNewValue(), + getModel().getCentralSourceModel().getLabel(), + t("observe.actions.synchro.referential.message.referential.rightData.loaded")); } public ReferentialSynchroModel getStepModel() { @@ -63,11 +59,6 @@ public class ReferentialSynchroUIHandler extends AdminTabUIHandler { return (ReferentialSynchroUI) super.getUi(); } - @Override - public void updateState(AdminTabUI ui, WizardState newState) { - super.updateState(ui, newState); - } - public void initTabUI(AdminUI ui, ReferentialSynchroUI tabUI) { super.initTabUI(ui, tabUI); @@ -76,31 +67,11 @@ public class ReferentialSynchroUIHandler extends AdminTabUIHandler { log.debug(" specialized for [" + tabUI.getStep() + "] for main ui " + ui.getClass().getName() + "@" + System.identityHashCode(ui)); } - getStepModel().addPropertyChangeListener(ReferentialSynchroModel.LEFT_TREE_MODEL_PROPERTY_NAME, evt -> { - - TreeModel treeModel = (TreeModel) evt.getNewValue(); - - tabUI.getLeftTreePane().setBorder(new TitledBorder(getModel().getLocalSourceModel().getLabel())); - tabUI.getLeftTree().setModel(treeModel); - - UIHelper.initUI(tabUI.getLeftTreePane(), tabUI.getLeftTree()); - - sendMessage(t("observe.actions.synchro.referential.message.referential.leftData.loaded")); - }); - - getStepModel().addPropertyChangeListener(ReferentialSynchroModel.RIGHT_TREE_MODEL_PROPERTY_NAME, evt -> { - - TreeModel treeModel = (TreeModel) evt.getNewValue(); - - tabUI.getRightTreePane().setBorder(new TitledBorder(getModel().getCentralSourceModel().getLabel())); - tabUI.getRightTree().setModel(treeModel); - - UIHelper.initUI(tabUI.getRightTreePane(), tabUI.getRightTree()); - - sendMessage(t("observe.actions.synchro.referential.message.referential.rightData.loaded")); - - }); + getStepModel().removePropertyChangeListener(ReferentialSynchroModel.LEFT_TREE_MODEL_PROPERTY_NAME, leftTreeModelChanged); + getStepModel().addPropertyChangeListener(ReferentialSynchroModel.LEFT_TREE_MODEL_PROPERTY_NAME, leftTreeModelChanged); + getStepModel().removePropertyChangeListener(ReferentialSynchroModel.RIGHT_TREE_MODEL_PROPERTY_NAME, rightTreeModelChanged); + getStepModel().addPropertyChangeListener(ReferentialSynchroModel.RIGHT_TREE_MODEL_PROPERTY_NAME, rightTreeModelChanged); ConfigUI configUI = (ConfigUI) ui.getStepUI(AdminStep.CONFIG); JAXXInitialContext tx = new JAXXInitialContext().add(configUI).add(this); @@ -109,203 +80,78 @@ public class ReferentialSynchroUIHandler extends AdminTabUIHandler { } - public void addCopyLeftTasks() { - -// DataSelectionModel rightSelectionDataModel = getStepModel().getRightSelectionDataModel(); -// DataSelectionModel leftSelectionDataModel = getStepModel().getLeftSelectionDataModel(); -// ObserveTreeHelper rightTreeHelper = getUi().getRightTreeHelper(); -// ObserveTreeHelper leftTreeHelper = getUi().getLeftTreeHelper(); -// Map<ReferentialReference<ProgramDto>, List<DataReference>> selectedDataByProgram = rightSelectionDataModel.getSelectedDataByProgram(); -// rightSelectionDataModel.removeAllSelectedData(); - - } - - public void addCopyRightTasks() { - -// DataSelectionModel leftSelectionDataModel = getStepModel().getLeftSelectionDataModel(); -// DataSelectionModel rightSelectionDataModel = getStepModel().getRightSelectionDataModel(); -// ObserveTreeHelper leftTreeHelper = getUi().getLeftTreeHelper(); -// ObserveTreeHelper rightTreeHelper = getUi().getRightTreeHelper(); -// Map<ReferentialReference<ProgramDto>, List<DataReference>> selectedDataByProgram = leftSelectionDataModel.getSelectedDataByProgram(); -// leftSelectionDataModel.removeAllSelectedData(); - - } - - public void addRevertRightTasks() { - - } - - public void addRevertLeftTasks() { - - } - - public void addSkipRightTasks() { - - } - - public void addSkipLeftTasks() { - - } + private void updateEnabledActions() { - public void addDeleteLeftTasks() { + ReferentialSynchroModel stepModel = getStepModel(); -// DataSelectionModel selectionDataModel = getStepModel().getLeftSelectionDataModel(); -// ObserveTreeHelper treeHelper = getUi().getLeftTreeHelper(); -// Map<ReferentialReference<ProgramDto>, List<DataReference>> selectedDataByProgram = selectionDataModel.getSelectedDataByProgram(); -// selectionDataModel.removeAllSelectedData(); + updateLeftTreeEnableActions(stepModel.getLeftTreeModel()); + updateRightTreeEnableActions(stepModel.getRightTreeModel()); } - public void addDeleteRightTasks() { + private void updateLeftTreeEnableActions(ReferentialSynchronizeTreeModel treeModel) { -// DataSelectionModel selectionDataModel = getStepModel().getRightSelectionDataModel(); -// ObserveTreeHelper treeHelper = getUi().getRightTreeHelper(); -// Map<ReferentialReference<ProgramDto>, List<DataReference>> selectedDataByProgram = selectionDataModel.getSelectedDataByProgram(); -// selectionDataModel.removeAllSelectedData(); + ReferentialSynchroModel stepModel = getStepModel(); + treeModel.updateSelectedActions(); + stepModel.setCopyLeft(treeModel.isCanAdd() || treeModel.isCanUpdate()); + stepModel.setDeleteLeft(treeModel.isCanDelete()); + stepModel.setDesactivateLeft(treeModel.isCanDelete()); + stepModel.setDesactivateWithReplaceLeft(treeModel.isCanDelete()); + stepModel.setRevertLeft(treeModel.isCanRevert()); + stepModel.setSkipLeft(treeModel.isCanSkip()); } - public void addDesactivateLeftTasks() { - -// DataSelectionModel selectionDataModel = getStepModel().getLeftSelectionDataModel(); -// ObserveTreeHelper treeHelper = getUi().getLeftTreeHelper(); -// Map<ReferentialReference<ProgramDto>, List<DataReference>> selectedDataByProgram = selectionDataModel.getSelectedDataByProgram(); -// selectionDataModel.removeAllSelectedData(); + private void updateRightTreeEnableActions(ReferentialSynchronizeTreeModel treeModel) { - } - - public void addDesactivateLeftWithReplaceTasks() { + ReferentialSynchroModel stepModel = getStepModel(); -// DataSelectionModel selectionDataModel = getStepModel().getLeftSelectionDataModel(); -// ObserveTreeHelper treeHelper = getUi().getLeftTreeHelper(); -// Map<ReferentialReference<ProgramDto>, List<DataReference>> selectedDataByProgram = selectionDataModel.getSelectedDataByProgram(); -// selectionDataModel.removeAllSelectedData(); + treeModel.updateSelectedActions(); + stepModel.setCopyRight(treeModel.isCanAdd() || treeModel.isCanUpdate()); + stepModel.setDeleteRight(treeModel.isCanDelete()); + stepModel.setDesactivateRight(treeModel.isCanDelete()); + stepModel.setDesactivateWithReplaceRight(treeModel.isCanDelete()); + stepModel.setRevertRight(treeModel.isCanRevert()); + stepModel.setSkipRight(treeModel.isCanSkip()); } - public void addDesactivateRightTasks() { - -// DataSelectionModel selectionDataModel = getStepModel().getRightSelectionDataModel(); -// ObserveTreeHelper treeHelper = getUi().getRightTreeHelper(); -// Map<ReferentialReference<ProgramDto>, List<DataReference>> selectedDataByProgram = selectionDataModel.getSelectedDataByProgram(); -// selectionDataModel.removeAllSelectedData(); - - } - - public void addDesactivateRightWithReplaceTasks() { - -// DataSelectionModel selectionDataModel = getStepModel().getRightSelectionDataModel(); -// ObserveTreeHelper treeHelper = getUi().getRightTreeHelper(); -// Map<ReferentialReference<ProgramDto>, List<DataReference>> selectedDataByProgram = selectionDataModel.getSelectedDataByProgram(); -// selectionDataModel.removeAllSelectedData(); - - } - - public void doExecuteAction() { - - ObserveSwingDataSource leftSource = getStepModel().getLeftSource(); - boolean leftSourceIsH2 = leftSource.getConfiguration() instanceof ObserveDataSourceConfigurationTopiaH2; + private void initTree(JTree tree, JScrollPane treePane, ReferentialSynchronizeTreeModel treeModel, String title, String message) { - ObserveSwingDataSource rightSource = getStepModel().getRightSource(); - boolean rightSourceIsH2 = rightSource.getConfiguration() instanceof ObserveDataSourceConfigurationTopiaH2; + ReferentialSynchronizeMode newValue = getStepModel().getSynchronizeMode(); - DefaultListModel<ReferentialSynchronizeTaskSupport> tasks = getStepModel().getTasks(); - int size = tasks.size(); + Color color = + (treeModel.isLeft() && newValue.isLeftWrite() || !treeModel.isLeft() && newValue.isRightWrite()) ? + Color.BLACK : Color.RED; - DecoratorService decoratorService = getDecoratorService(); - ReferentialReferenceDecorator<ProgramDto> programDecorator = decoratorService.getReferentialReferenceDecorator(ProgramDto.class); + TitledBorder border = new TitledBorder(title); + border.setTitleColor(color); - ReferentialSynchronizeRequest.Builder leftReferentialSynchronizeRequestBuilder = ReferentialSynchronizeRequest.builder(leftSourceIsH2, rightSourceIsH2); - ReferentialSynchronizeRequest.Builder rightReferentialSynchronizeRequestBuilder = ReferentialSynchronizeRequest.builder(rightSourceIsH2, leftSourceIsH2); - for (int i = 0; i < size; i++) { + treePane.setBorder(border); + tree.setModel(treeModel); + tree.setSelectionModel(treeModel); - ReferentialSynchronizeTaskSupport<?> task = tasks.getElementAt(i); + treeModel.removeTreeSelectionListener(treeSelectionListener); + treeModel.addTreeSelectionListener(treeSelectionListener); - String typeStr = task.decorateType(); - String dataStr = task.decorateData(); + UIHelper.initUI(treePane, tree); + //UIHelper.expandTree(tree); - if (task instanceof DeleteFromLeftReferentialSynchronizeTask) { + sendMessage(message); - sendMessage(t("observe.actions.synchro.referential.prepare.deleteFromLeftTask", typeStr, dataStr)); - leftReferentialSynchronizeRequestBuilder.addDeleteTask(new ReferentialSynchronizeDeleteTask<>(task.getData())); - continue; - } + if (treeModel.isLeft()) { - if (task instanceof DeleteFromRightReferentialSynchronizeTask) { - sendMessage(t("observe.actions.synchro.referential.prepare.deleteFromRightTask", typeStr, dataStr)); - rightReferentialSynchronizeRequestBuilder.addDeleteTask(new ReferentialSynchronizeDeleteTask<>(task.getData())); - continue; - } - - if (task instanceof DesactivateFromLeftReferentialSynchronizeTask) { - - sendMessage(t("observe.actions.synchro.referential.prepare.desactivateFromLeftTask", typeStr, dataStr)); - leftReferentialSynchronizeRequestBuilder.addDesactivateTask(new ReferentialSynchronizeDesactivateTask<>(task.getData())); - continue; - } - - if (task instanceof DesactivateFromRightReferentialSynchronizeTask) { - sendMessage(t("observe.actions.synchro.referential.prepare.desactivateFromRightTask", typeStr, dataStr)); - rightReferentialSynchronizeRequestBuilder.addDesactivateTask(new ReferentialSynchronizeDesactivateTask<>(task.getData())); - continue; - } - - if (task instanceof DesactivateFromLeftWithReplaceReferentialSynchronizeTask) { - - sendMessage(t("observe.actions.synchro.referential.prepare.desactivateFromLeftWithReplaceTask", typeStr, dataStr)); - leftReferentialSynchronizeRequestBuilder.addDesactivateWithReplaceTask(new ReferentialSynchronizeDesactivateWithReplaceTask<>(task.getData())); - continue; - } - - if (task instanceof DesactivateFromRightWithReplaceReferentialSynchronizeTask) { - sendMessage(t("observe.actions.synchro.referential.prepare.desactivateFromRightWithReplaceTask", typeStr, dataStr)); - rightReferentialSynchronizeRequestBuilder.addDesactivateWithReplaceTask(new ReferentialSynchronizeDesactivateWithReplaceTask<>(task.getData())); - continue; - } - - if (task instanceof CopyToLeftReferentialSynchronizeTask) { - CopyToLeftReferentialSynchronizeTask task1 = (CopyToLeftReferentialSynchronizeTask) task; - sendMessage(t("observe.actions.synchro.referential.prepare.copyToLeftTask", typeStr, dataStr)); - leftReferentialSynchronizeRequestBuilder.addCopyTask(new ReferentialSynchronizeCopyTask<>(task.getData())); - continue; - } - - if (task instanceof CopyToRightReferentialSynchronizeTask) { - CopyToRightReferentialSynchronizeTask task1 = (CopyToRightReferentialSynchronizeTask) task; - sendMessage(t("observe.actions.synchro.referential.prepare.copyToRightTask", typeStr, dataStr)); - rightReferentialSynchronizeRequestBuilder.addCopyTask(new ReferentialSynchronizeCopyTask<>(task.getData())); - continue; - } - - if (task instanceof SkipFromLeftReferentialSynchronizeTask) { - sendMessage(t("observe.actions.synchro.data.prepare.skipFromLeftTask", typeStr, dataStr)); - continue; - } - if (task instanceof SkipFromRightReferentialSynchronizeTask) { - sendMessage(t("observe.actions.synchro.data.prepare.skipFromRightTask", typeStr, dataStr)); - } + updateLeftTreeEnableActions(treeModel); + } else { + updateRightTreeEnableActions(treeModel); } - ReferentialSynchronizeService leftReferentialSynchronizeService = leftSource.newReferentialSynchronizeService(); - ReferentialSynchronizeService rightReferentialSynchronizeService = rightSource.newReferentialSynchronizeService(); - - ReferentialSynchronizeRequest leftReferentialSynchronizeRequest = leftReferentialSynchronizeRequestBuilder.build(); - if (leftReferentialSynchronizeRequest.isNotEmpty()) { - rightReferentialSynchronizeService.prepareRequestOnOppositeDataSource(leftReferentialSynchronizeRequest); - leftReferentialSynchronizeService.prepareRequestOnDataSource(leftReferentialSynchronizeRequest); - leftReferentialSynchronizeService.executeRequest(leftReferentialSynchronizeRequest); - } - - ReferentialSynchronizeRequest rightReferentialSynchronizeRequest = rightReferentialSynchronizeRequestBuilder.build(); - if (rightReferentialSynchronizeRequest.isNotEmpty()) { - leftReferentialSynchronizeService.prepareRequestOnOppositeDataSource(rightReferentialSynchronizeRequest); - rightReferentialSynchronizeService.prepareRequestOnDataSource(rightReferentialSynchronizeRequest); - rightReferentialSynchronizeService.executeRequest(rightReferentialSynchronizeRequest); - } - - getModel().setStepState(WizardState.SUCCESSED); + ConfigUI configUI = (ConfigUI) parentUI.getStepUI(AdminStep.CONFIG); + configUI.getLocalSourceConfig().setBorder(new TitledBorder(getModel().getLocalSourceLabel())); + configUI.getCentralSourceConfig().setBorder(new TitledBorder(getModel().getCentralSourceLabel())); } + } \ No newline at end of file diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchronizeResources.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchronizeResources.java new file mode 100644 index 0000000..a1c908f --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchronizeResources.java @@ -0,0 +1,147 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng; + +import fr.ird.observe.ui.UIHelper; +import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.ReferenceReferentialSynchroNodeSupport; + +import javax.swing.Icon; +import java.util.function.Predicate; + +import static org.nuiton.i18n.I18n.n; + +/** + * Created on 12/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public enum ReferentialSynchronizeResources { + + ADD( + "copyToRight", + "copyToLeft", + n("observe.actions.synchro.referential.task.addToRight"), + n("observe.actions.synchro.referential.task.addToLeft"), + null, + null, + null, + null, + ReferenceReferentialSynchroNodeSupport::isCanAdd), + UPDATE( + "copyToRight", + "copyToLeft", + n("observe.actions.synchro.referential.task.updateToRight"), + n("observe.actions.synchro.referential.task.updateToLeft"), + null, + null, + null, + null, + ReferenceReferentialSynchroNodeSupport::isCanUpdate), + COPY( + "copyToRight", + "copyToLeft", + null, + null, + n("observe.actions.synchro.referential.action.copyToRight.tip"), + n("observe.actions.synchro.referential.action.copyToLeft.tip"), + ReferentialSynchroModel.COPY_LEFT_PROPERTY_NAME, + ReferentialSynchroModel.COPY_RIGHT_PROPERTY_NAME, + node -> false), + DELETE( + "deleteFromLeft", + "deleteFromRight", + n("observe.actions.synchro.referential.task.deleteFromLeft"), + n("observe.actions.synchro.referential.task.deleteFromRight"), + n("observe.actions.synchro.referential.action.deleteFromLeft.tip"), + n("observe.actions.synchro.referential.action.deleteFromRight.tip"), + ReferentialSynchroModel.DELETE_LEFT_PROPERTY_NAME, + ReferentialSynchroModel.DELETE_RIGHT_PROPERTY_NAME, + ReferenceReferentialSynchroNodeSupport::isCanDelete), + REVERT( + "revertFromLeft", + "revertFromRight", + n("observe.actions.synchro.referential.task.revertFromLeft"), + n("observe.actions.synchro.referential.task.revertFromRight"), + n("observe.actions.synchro.referential.action.revertFromLeft.tip"), + n("observe.actions.synchro.referential.action.revertFromRight.tip"), + ReferentialSynchroModel.REVERT_LEFT_PROPERTY_NAME, + ReferentialSynchroModel.REVERT_RIGHT_PROPERTY_NAME, + ReferenceReferentialSynchroNodeSupport::isCanRevert), + SKIP( + "skipFromLeft", + "skipFromRight", + n("observe.actions.synchro.referential.task.skipFromLeft"), + n("observe.actions.synchro.referential.task.skipFromRight"), + n("observe.actions.synchro.referential.action.skipFromLeft.tip"), + n("observe.actions.synchro.referential.action.skipFromRight.tip"), + ReferentialSynchroModel.SKIP_LEFT_PROPERTY_NAME, + ReferentialSynchroModel.SKIP_RIGHT_PROPERTY_NAME, + node -> true), + DESACTIVATE( + "desactivateFromLeft", + "desactivateFromRight", + n("observe.actions.synchro.referential.task.desactivateWithReplaceFromLeft"), + n("observe.actions.synchro.referential.task.desactivateWithReplaceFromRight"), + n("observe.actions.synchro.referential.action.desactivateFromLeft.tip"), + n("observe.actions.synchro.referential.action.desactivateFromRight.tip"), + ReferentialSynchroModel.DESACTIVATE_LEFT_PROPERTY_NAME, + ReferentialSynchroModel.DESACTIVATE_RIGHT_PROPERTY_NAME, + ReferenceReferentialSynchroNodeSupport::isCanDelete); + + private final String leftActionName; + private final String leftTaskI18nKey; + private final String rightActionName; + private final String leftActionTipI18nKey; + private final String rightTaskI18nKey; + private final String rightActionTipI18nKey; + private final String leftPropertyName; + private final String rightPropertyName; + private final Predicate<ReferenceReferentialSynchroNodeSupport> predicate; + private transient Icon actionIcon; + + ReferentialSynchronizeResources(String leftActionName, + String rightActionName, + String leftTaskI18nKey, + String rightTaskI18nKey, + String leftActionTipI18nKey, + String rightActionTipI18nKey, + String leftPropertyName, + String rightPropertyName, + Predicate<ReferenceReferentialSynchroNodeSupport> predicate) { + this.leftActionName = leftActionName; + this.rightActionName = rightActionName; + this.leftTaskI18nKey = leftTaskI18nKey; + this.rightTaskI18nKey = rightTaskI18nKey; + this.leftActionTipI18nKey = leftActionTipI18nKey; + this.rightActionTipI18nKey = rightActionTipI18nKey; + this.leftPropertyName = leftPropertyName; + this.rightPropertyName = rightPropertyName; + this.predicate = predicate; + } + + public Predicate<ReferenceReferentialSynchroNodeSupport> getPredicate() { + return predicate; + } + + public Icon getIcon(boolean left) { + if (actionIcon == null) { + actionIcon = UIHelper.getUIManagerActionIcon(left ? leftActionName : rightActionName); + } + return actionIcon; + } + + public String getTaskLabel(boolean left) { + return left ? leftTaskI18nKey : rightTaskI18nKey; + } + + public String getActionTip(boolean left) { + return left ? leftActionTipI18nKey : rightActionTipI18nKey; + } + + public String getActionName(boolean left) { + return left ? leftActionName : rightActionName; + } + + public String getPropertyName(boolean left) { + return left ? leftPropertyName : rightPropertyName; + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchronizeTaskListModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchronizeTaskListModel.java new file mode 100644 index 0000000..fa846d2 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/ReferentialSynchronizeTaskListModel.java @@ -0,0 +1,47 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng; + +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.ReferentialSynchronizeTaskSupport; + +import javax.swing.DefaultListModel; +import java.util.Collection; + +/** + * Created on 13/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class ReferentialSynchronizeTaskListModel extends DefaultListModel<ReferentialSynchronizeTaskSupport> { + + private static final long serialVersionUID = 1L; + + private boolean tasksIsAdjusting; + + + public void addTasks(Collection<ReferentialSynchronizeTaskSupport> addedTasks) { + + tasksIsAdjusting = true; + try { + int minIndex = size(); + int maxIndex = minIndex + addedTasks.size() - 1; + ensureCapacity(maxIndex); + + for (ReferentialSynchronizeTaskSupport addedTask : addedTasks) { + addElement(addedTask); + } + + super.fireIntervalAdded(this, minIndex, maxIndex); + } finally { + tasksIsAdjusting = false; + } + } + + @Override + protected void fireIntervalAdded(Object source, int index0, int index1) { + if (tasksIsAdjusting) { + return; + } + super.fireIntervalAdded(source, index0, index1); + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/ApplyAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/ApplyAction.java new file mode 100644 index 0000000..ad2ae6f --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/ApplyAction.java @@ -0,0 +1,114 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.action; + +import fr.ird.observe.db.ObserveSwingDataSource; +import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; +import fr.ird.observe.services.service.actions.synchro.referential.ng.ReferentialSynchronizeRequest; +import fr.ird.observe.services.service.actions.synchro.referential.ng.ReferentialSynchronizeService; +import fr.ird.observe.ui.UIHelper; +import fr.ird.observe.ui.actions.AbstractObserveAction; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchroModel; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchroUI; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchroUIHandler; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.AddToReferentialSynchronizeTask; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.DeleteReferentialSynchronizeTask; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.DesactivateReferentialSynchronizeTask; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.ReferentialSynchronizeTaskSupport; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.RevertReferentialSynchronizeTask; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.UpdateToReferentialSynchronizeTask; +import jaxx.runtime.swing.wizard.ext.WizardState; + +import javax.swing.DefaultListModel; +import java.awt.event.ActionEvent; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 12/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ApplyAction extends AbstractObserveAction { + + private static final long serialVersionUID = 1L; + + private final ReferentialSynchroUI ui; + + public ApplyAction(ReferentialSynchroUI ui) { + super(t("observe.action.apply"), UIHelper.getUIManagerActionIcon("apply")); + this.ui = ui; + } + + @Override + public void actionPerformed(ActionEvent e) { + ReferentialSynchroUIHandler handler = ui.getHandler(); + + ReferentialSynchroModel stepModel = ui.getStepModel(); + + ObserveSwingDataSource leftSource = stepModel.getLeftSource(); + boolean leftSourceIsH2 = leftSource.getConfiguration() instanceof ObserveDataSourceConfigurationTopiaH2; + + ObserveSwingDataSource rightSource = stepModel.getRightSource(); + boolean rightSourceIsH2 = rightSource.getConfiguration() instanceof ObserveDataSourceConfigurationTopiaH2; + + DefaultListModel<ReferentialSynchronizeTaskSupport> tasks = stepModel.getTasks(); + int size = tasks.size(); + + ReferentialSynchronizeRequest.Builder leftReferentialSynchronizeRequestBuilder = ReferentialSynchronizeRequest.builder(leftSourceIsH2, rightSourceIsH2); + ReferentialSynchronizeRequest.Builder rightReferentialSynchronizeRequestBuilder = ReferentialSynchronizeRequest.builder(rightSourceIsH2, leftSourceIsH2); + for (int i = 0; i < size; i++) { + + ReferentialSynchronizeTaskSupport<?> task = tasks.getElementAt(i); + + String taskLabel = t("observe.actions.synchro.referential.task.prepare", task.getLabel()); + if (task instanceof AddToReferentialSynchronizeTask) { + handler.sendMessage(taskLabel); + leftReferentialSynchronizeRequestBuilder.addAddTask(task.getData()); + continue; + } + + if (task instanceof DeleteReferentialSynchronizeTask) { + handler.sendMessage(taskLabel); + leftReferentialSynchronizeRequestBuilder.addDeleteTask((task.getData())); + continue; + } + + if (task instanceof DesactivateReferentialSynchronizeTask) { + handler.sendMessage(taskLabel); + leftReferentialSynchronizeRequestBuilder.addDesactivateWithReplaceTask((task.getData())); + continue; + } + + if (task instanceof RevertReferentialSynchronizeTask) { + handler.sendMessage(taskLabel); + leftReferentialSynchronizeRequestBuilder.addRevertTask((task.getData())); + continue; + } + + if (task instanceof UpdateToReferentialSynchronizeTask) { + handler.sendMessage(taskLabel); + leftReferentialSynchronizeRequestBuilder.addUpdateTask((task.getData())); + } + + } + + ReferentialSynchronizeService leftReferentialSynchronizeService = leftSource.newReferentialSynchronizeService(); + ReferentialSynchronizeService rightReferentialSynchronizeService = rightSource.newReferentialSynchronizeService(); + + ReferentialSynchronizeRequest leftReferentialSynchronizeRequest = leftReferentialSynchronizeRequestBuilder.build(); + if (leftReferentialSynchronizeRequest.isNotEmpty()) { + rightReferentialSynchronizeService.prepareRequestOnOppositeDataSource(leftReferentialSynchronizeRequest); + leftReferentialSynchronizeService.prepareRequestOnDataSource(leftReferentialSynchronizeRequest); + leftReferentialSynchronizeService.executeRequest(leftReferentialSynchronizeRequest); + } + + ReferentialSynchronizeRequest rightReferentialSynchronizeRequest = rightReferentialSynchronizeRequestBuilder.build(); + if (rightReferentialSynchronizeRequest.isNotEmpty()) { + leftReferentialSynchronizeService.prepareRequestOnOppositeDataSource(rightReferentialSynchronizeRequest); + rightReferentialSynchronizeService.prepareRequestOnDataSource(rightReferentialSynchronizeRequest); + rightReferentialSynchronizeService.executeRequest(rightReferentialSynchronizeRequest); + } + + ui.getModel().setStepState(WizardState.SUCCESSED); + + } +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/RegisterAddTaskAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/RegisterAddTaskAction.java new file mode 100644 index 0000000..3311aa1 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/RegisterAddTaskAction.java @@ -0,0 +1,40 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.action; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchroUI; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchronizeResources; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.AddToReferentialSynchronizeTask; +import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.ReferenceReferentialSynchroNodeSupport; + +import java.util.function.Predicate; + +/** + * Created on 12/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class RegisterAddTaskAction extends RegisterTasksActionSupport { + + private static final long serialVersionUID = 1L; + private transient Iterable<ReferenceReferentialSynchroNodeSupport> nodes; + + public RegisterAddTaskAction(ReferentialSynchroUI ui, boolean left) { + super(ui, ReferentialSynchronizeResources.ADD, left, false); + } + + @Override + protected <R extends ReferentialDto> AddToReferentialSynchronizeTask<R> createTask(boolean left, ReferentialReference<R> reference, ReferentialReference<R> replaceReference) { + return new AddToReferentialSynchronizeTask<>(left, reference); + } + + @Override + protected Iterable<ReferenceReferentialSynchroNodeSupport> getReferenceReferentialSynchroNodes(Predicate<ReferenceReferentialSynchroNodeSupport> predicate) { + return nodes; + } + + public void updateNodes() { + + this.nodes = super.getReferenceReferentialSynchroNodes(predicate); + } +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/RegisterCopyTaskAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/RegisterCopyTaskAction.java new file mode 100644 index 0000000..e9f6588 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/RegisterCopyTaskAction.java @@ -0,0 +1,40 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.action; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchroUI; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchronizeResources; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.AddToReferentialSynchronizeTask; + +/** + * Created on 12/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class RegisterCopyTaskAction extends RegisterTasksActionSupport { + + private static final long serialVersionUID = 1L; + + private final RegisterAddTaskAction addAction; + private final RegisterUpdateTaskAction updateAction; + + public RegisterCopyTaskAction(ReferentialSynchroUI ui, boolean left) { + super(ui, ReferentialSynchronizeResources.COPY, left, false); + addAction = new RegisterAddTaskAction(ui, left); + updateAction = new RegisterUpdateTaskAction(ui, left); + + } + + @Override + protected void createTasks() { + addAction.updateNodes(); + updateAction.updateNodes(); + addAction.createTasks(); + updateAction.createTasks(); + } + + @Override + protected <R extends ReferentialDto> AddToReferentialSynchronizeTask<R> createTask(boolean left, ReferentialReference<R> reference, ReferentialReference<R> replaceReference) { + return new AddToReferentialSynchronizeTask<>(left, reference); + } +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/RegisterDeleteTaskAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/RegisterDeleteTaskAction.java new file mode 100644 index 0000000..5fb4bb5 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/RegisterDeleteTaskAction.java @@ -0,0 +1,33 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.action; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchroUI; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchronizeResources; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.DeleteReferentialSynchronizeTask; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 12/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class RegisterDeleteTaskAction extends RegisterTasksActionSupport { + + private static final long serialVersionUID = 1L; + + public RegisterDeleteTaskAction(ReferentialSynchroUI ui, boolean left) { + super(ui, ReferentialSynchronizeResources.DELETE, left, true); + } + + @Override + protected String getReplaceTitle(ReferentialReference reference) { + return t("observe.actions.synchro.referential.replaceBeforeDelete.title", typeStr, referenceStr); + } + + @Override + protected <R extends ReferentialDto> DeleteReferentialSynchronizeTask<R> createTask(boolean left, ReferentialReference<R> reference, ReferentialReference<R> replaceReference) { + return new DeleteReferentialSynchronizeTask<>(left, reference, replaceReference); + } +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/RegisterDesactivateTaskAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/RegisterDesactivateTaskAction.java new file mode 100644 index 0000000..19b709f --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/RegisterDesactivateTaskAction.java @@ -0,0 +1,33 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.action; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchroUI; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchronizeResources; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.DesactivateReferentialSynchronizeTask; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 12/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class RegisterDesactivateTaskAction extends RegisterTasksActionSupport { + + private static final long serialVersionUID = 1L; + + public RegisterDesactivateTaskAction(ReferentialSynchroUI ui, boolean left, boolean replace) { + super(ui, ReferentialSynchronizeResources.DESACTIVATE, left, replace); + } + + @Override + protected String getReplaceTitle(ReferentialReference reference) { + return t("observe.actions.synchro.referential.replaceBeforeDesactivate.title", typeStr, referenceStr); + } + + @Override + protected <R extends ReferentialDto> DesactivateReferentialSynchronizeTask<R> createTask(boolean left, ReferentialReference<R> reference, ReferentialReference<R> replaceReference) { + return new DesactivateReferentialSynchronizeTask<>(left, reference, replaceReference); + } +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/RegisterRevertTaskAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/RegisterRevertTaskAction.java new file mode 100644 index 0000000..98d7dc2 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/RegisterRevertTaskAction.java @@ -0,0 +1,26 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.action; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchroUI; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchronizeResources; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.RevertReferentialSynchronizeTask; + +/** + * Created on 12/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class RegisterRevertTaskAction extends RegisterTasksActionSupport { + + private static final long serialVersionUID = 1L; + + public RegisterRevertTaskAction(ReferentialSynchroUI ui, boolean left) { + super(ui, ReferentialSynchronizeResources.REVERT, left, false); + } + + @Override + protected <R extends ReferentialDto> RevertReferentialSynchronizeTask<R> createTask(boolean left, ReferentialReference<R> reference, ReferentialReference<R> replaceReference) { + return new RevertReferentialSynchronizeTask<>(left, reference); + } +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/RegisterSkipTaskAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/RegisterSkipTaskAction.java new file mode 100644 index 0000000..3c33905 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/RegisterSkipTaskAction.java @@ -0,0 +1,26 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.action; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchroUI; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchronizeResources; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.SkipReferentialSynchronizeTask; + +/** + * Created on 12/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class RegisterSkipTaskAction extends RegisterTasksActionSupport { + + private static final long serialVersionUID = 1L; + + public RegisterSkipTaskAction(ReferentialSynchroUI ui, boolean left) { + super(ui, ReferentialSynchronizeResources.SKIP, left, false); + } + + @Override + protected <R extends ReferentialDto> SkipReferentialSynchronizeTask<R> createTask(boolean left, ReferentialReference<R> reference, ReferentialReference<R> replaceReference) { + return new SkipReferentialSynchronizeTask<>(left, reference); + } +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/RegisterTasksActionSupport.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/RegisterTasksActionSupport.java new file mode 100644 index 0000000..39e8e57 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/RegisterTasksActionSupport.java @@ -0,0 +1,189 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.action; + +import fr.ird.observe.application.swing.decoration.DecoratorService; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; +import fr.ird.observe.ui.UIHelper; +import fr.ird.observe.ui.actions.AbstractObserveAction; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialReplaceUI; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchroUI; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchronizeResources; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.ReferentialSynchronizeTaskSupport; +import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.ReferentialSynchronizeTreeModel; +import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.ReferenceReferentialSynchroNodeSupport; +import fr.ird.observe.ui.tree.ObserveTreeHelper; +import jaxx.runtime.context.JAXXInitialContext; +import org.apache.commons.lang3.NotImplementedException; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.i18n.I18n; + +import javax.swing.Action; +import javax.swing.JOptionPane; +import java.awt.event.ActionEvent; +import java.util.Collection; +import java.util.LinkedList; +import java.util.function.Predicate; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 12/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public abstract class RegisterTasksActionSupport extends AbstractObserveAction { + + /** Logger. */ + private static final Log log = LogFactory.getLog(RegisterTasksActionSupport.class); + + private static final long serialVersionUID = 1L; + + private final ReferentialSynchroUI ui; + private final boolean left; + private final boolean needReplace; + + protected final Predicate<ReferenceReferentialSynchroNodeSupport> predicate; + protected String typeStr; + protected String referenceStr; + + public RegisterTasksActionSupport(ReferentialSynchroUI ui, + ReferentialSynchronizeResources resource, + boolean left, + boolean needReplace) { + super(null, null); + String tip = resource.getActionTip(left); + if (tip != null) { + putValue(SHORT_DESCRIPTION, t(tip)); + } + String actionName = resource.getActionName(left); + if (actionName != null) { + putValue(Action.SMALL_ICON, UIHelper.getUIManagerActionIcon(actionName)); + } + this.ui = ui; + this.left = left; + this.needReplace = needReplace; + this.predicate = resource.getPredicate(); + String propertyName = resource.getPropertyName(left); + if (propertyName != null) { + ui.getModel().getReferentialSynchroModel().addPropertyChangeListener(propertyName, evt -> setEnabled((Boolean) evt.getNewValue())); + } + } + + protected abstract <R extends ReferentialDto> ReferentialSynchronizeTaskSupport<R> createTask(boolean left, ReferentialReference<R> reference, ReferentialReference<R> replaceReference); + + public boolean isLeft() { + return left; + } + + protected String getReplaceTitle(ReferentialReference reference) { + throw new NotImplementedException(""); + } + + @Override + public void actionPerformed(ActionEvent e) { + + ReferentialSynchronizeTreeModel treeModel = getTreeModel(); + + createTasks(); + + treeModel.clearSelection(); + + } + + protected void createTasks() { + createTasks(getTreeModel(), predicate); + } + + protected <R extends ReferentialDto> void createTasks(ReferentialSynchronizeTreeModel treeModel, Predicate<ReferenceReferentialSynchroNodeSupport> predicate) { + + Collection<ReferenceReferentialSynchroNodeSupport> removedNodes = new LinkedList<>(); + Collection<ReferentialSynchronizeTaskSupport> addedTasks = new LinkedList<>(); + + for (ReferenceReferentialSynchroNodeSupport node : getReferenceReferentialSynchroNodes(predicate)) { + + ReferentialReference<R> reference = node.getUserObject(); + ReferentialReference<R> replaceReference = null; + + if (needReplace) { + + ReferentialReferenceSet<R> references; + Class<R> type = reference.getType(); + if (left) { + references = ui.getStepModel().getEngine().getLeftEnabledReferentialReferenceSet(type); + } else { + references = ui.getStepModel().getEngine().getRightEnabledReferentialReferenceSet(type); + } + + ReferentialReplaceUI<R> replaceUI = new ReferentialReplaceUI<>(new JAXXInitialContext() + .add(reference) + .add(references) + .add(this)); + + typeStr = t(DecoratorService.getEntityLabel(ObserveTreeHelper.TREE_NODE_PREFIX, type)); + referenceStr = ui.getHandler().getDecoratorService().getReferentialReferenceDecorator(type).toString(reference); + replaceUI.getMessage().setText(t("observe.actions.synchro.referential.replaceBefore.message", typeStr, referenceStr)); + + int response = UIHelper.askUser( + null, + t(getReplaceTitle(reference), typeStr, referenceStr), + replaceUI, + JOptionPane.WARNING_MESSAGE, + new Object[]{I18n.t("observe.choice.replace"), I18n.t("observe.choice.cancel")}, + 1); + + switch (response) { + case JOptionPane.CLOSED_OPTION: + case 1: + + break; + case 0: + replaceReference = replaceUI.getReplaceReference(); + break; + } + + if (log.isInfoEnabled()) { + log.info("replaceReference: " + replaceReference); + } + + if (replaceReference == null) { + if (log.isWarnEnabled()) { + log.warn("Skip this task, no replace referential reference selected"); + } + + continue; + } + + if (log.isInfoEnabled()) { + log.info("Selected replace referential reference: " + replaceReference); + } + + } + + ReferentialSynchronizeTaskSupport task = createTask(left, reference, replaceReference); + + if (log.isInfoEnabled()) { + log.info("Add " + task.getLabel()); + } + + ui.getHandler().sendMessage(task.getLabel()); + + removedNodes.add(node); + addedTasks.add(task); + + } + + treeModel.removeReferenceNodes(removedNodes); + ui.getStepModel().getTasks().addTasks(addedTasks); + } + + protected Iterable<ReferenceReferentialSynchroNodeSupport> getReferenceReferentialSynchroNodes(Predicate<ReferenceReferentialSynchroNodeSupport> predicate) { + return getTreeModel().filterSelectedReferenceNodes(predicate); + } + + protected ReferentialSynchronizeTreeModel getTreeModel() { + return left ? ui.getStepModel().getLeftTreeModel() : ui.getStepModel().getRightTreeModel(); + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/RegisterUpdateTaskAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/RegisterUpdateTaskAction.java new file mode 100644 index 0000000..f7bd19e --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/RegisterUpdateTaskAction.java @@ -0,0 +1,41 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.action; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchroUI; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchronizeResources; +import fr.ird.observe.ui.admin.synchronize.referential.ng.task.UpdateToReferentialSynchronizeTask; +import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.ReferenceReferentialSynchroNodeSupport; + +import java.util.function.Predicate; + +/** + * Created on 12/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class RegisterUpdateTaskAction extends RegisterTasksActionSupport { + + private static final long serialVersionUID = 1L; + + private Iterable<ReferenceReferentialSynchroNodeSupport> nodes; + + public RegisterUpdateTaskAction(ReferentialSynchroUI ui, boolean left) { + super(ui, ReferentialSynchronizeResources.UPDATE, left, false); + } + + @Override + protected <R extends ReferentialDto> UpdateToReferentialSynchronizeTask<R> createTask(boolean left, ReferentialReference<R> reference, ReferentialReference<R> replaceReference) { + return new UpdateToReferentialSynchronizeTask<>(left, reference); + } + + @Override + protected Iterable<ReferenceReferentialSynchroNodeSupport> getReferenceReferentialSynchroNodes(Predicate<ReferenceReferentialSynchroNodeSupport> predicate) { + return nodes; + } + + public void updateNodes() { + this.nodes = super.getReferenceReferentialSynchroNodes(predicate); + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/AddToReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/AddToReferentialSynchronizeTask.java new file mode 100644 index 0000000..d86244e --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/AddToReferentialSynchronizeTask.java @@ -0,0 +1,19 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.task; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchronizeResources; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class AddToReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { + + public AddToReferentialSynchronizeTask(boolean left, ReferentialReference<R> data) { + super(ReferentialSynchronizeResources.ADD, left, data); + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/CopyToLeftReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/CopyToLeftReferentialSynchronizeTask.java deleted file mode 100644 index 1b0c340..0000000 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/CopyToLeftReferentialSynchronizeTask.java +++ /dev/null @@ -1,25 +0,0 @@ -package fr.ird.observe.ui.admin.synchronize.referential.ng.task; - -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReference; - -import static org.nuiton.i18n.I18n.t; - -/** - * Created on 09/08/16. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 5.0 - */ -public class CopyToLeftReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { - - public CopyToLeftReferentialSynchronizeTask(ReferentialReference<R> data) { - super(data, "copyToLeft"); - } - - @Override - public String getLabel() { - return t("observe.actions.synchro.referential.copyToLeftTask", decorateType(), decorateData()); - } - -} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/CopyToRightReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/CopyToRightReferentialSynchronizeTask.java deleted file mode 100644 index 9e6f33b..0000000 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/CopyToRightReferentialSynchronizeTask.java +++ /dev/null @@ -1,25 +0,0 @@ -package fr.ird.observe.ui.admin.synchronize.referential.ng.task; - -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReference; - -import static org.nuiton.i18n.I18n.t; - -/** - * Created on 09/08/16. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 5.0 - */ -public class CopyToRightReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { - - public CopyToRightReferentialSynchronizeTask(ReferentialReference<R> data) { - super(data, "copyToRight"); - } - - @Override - public String getLabel() { - return t("observe.actions.synchro.referential.copyToRightTask", decorateType(), decorateData()); - } - -} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DeleteFromLeftReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DeleteFromLeftReferentialSynchronizeTask.java deleted file mode 100644 index 15779b5..0000000 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DeleteFromLeftReferentialSynchronizeTask.java +++ /dev/null @@ -1,25 +0,0 @@ -package fr.ird.observe.ui.admin.synchronize.referential.ng.task; - -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReference; - -import static org.nuiton.i18n.I18n.t; - -/** - * Created on 09/08/16. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 5.0 - */ -public class DeleteFromLeftReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { - - public DeleteFromLeftReferentialSynchronizeTask(ReferentialReference<R> data) { - super(data, "deleteFromLeft"); - } - - @Override - public String getLabel() { - return t("observe.actions.synchro.referential.deleteFromLeftTask", decorateType(), decorateData()); - } - -} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DeleteFromRightReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DeleteFromRightReferentialSynchronizeTask.java deleted file mode 100644 index bc8806b..0000000 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DeleteFromRightReferentialSynchronizeTask.java +++ /dev/null @@ -1,25 +0,0 @@ -package fr.ird.observe.ui.admin.synchronize.referential.ng.task; - -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReference; - -import static org.nuiton.i18n.I18n.t; - -/** - * Created on 09/08/16. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 5.0 - */ -public class DeleteFromRightReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { - - public DeleteFromRightReferentialSynchronizeTask(ReferentialReference<R> data) { - super(data, "deleteFromRight"); - } - - @Override - public String getLabel() { - return t("observe.actions.synchro.referential.deleteFromRightTask", decorateType(), decorateData()); - } - -} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DeleteReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DeleteReferentialSynchronizeTask.java new file mode 100644 index 0000000..71dd314 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DeleteReferentialSynchronizeTask.java @@ -0,0 +1,19 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.task; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchronizeResources; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class DeleteReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskWithReplaceSupport<R> { + + public DeleteReferentialSynchronizeTask(boolean left, ReferentialReference<R> data, ReferentialReference<R> replaceData) { + super(ReferentialSynchronizeResources.DELETE, left, data, replaceData); + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateFromLeftReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateFromLeftReferentialSynchronizeTask.java deleted file mode 100644 index eb4325e..0000000 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateFromLeftReferentialSynchronizeTask.java +++ /dev/null @@ -1,25 +0,0 @@ -package fr.ird.observe.ui.admin.synchronize.referential.ng.task; - -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReference; - -import static org.nuiton.i18n.I18n.t; - -/** - * Created on 09/08/16. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 5.0 - */ -public class DesactivateFromLeftReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { - - public DesactivateFromLeftReferentialSynchronizeTask(ReferentialReference<R> data) { - super(data, "desactivateFromLeft"); - } - - @Override - public String getLabel() { - return t("observe.actions.synchro.referential.desactivateFromLeftTask", decorateType(), decorateData()); - } - -} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateFromRightReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateFromRightReferentialSynchronizeTask.java deleted file mode 100644 index ef8a85a..0000000 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateFromRightReferentialSynchronizeTask.java +++ /dev/null @@ -1,25 +0,0 @@ -package fr.ird.observe.ui.admin.synchronize.referential.ng.task; - -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReference; - -import static org.nuiton.i18n.I18n.t; - -/** - * Created on 09/08/16. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 5.0 - */ -public class DesactivateFromRightReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { - - public DesactivateFromRightReferentialSynchronizeTask(ReferentialReference<R> data) { - super(data, "desactivateFromRight"); - } - - @Override - public String getLabel() { - return t("observe.actions.synchro.referential.desactivateFromRightTask", decorateType(), decorateData()); - } - -} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateReferentialSynchronizeTask.java new file mode 100644 index 0000000..3ce1210 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateReferentialSynchronizeTask.java @@ -0,0 +1,40 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.task; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchronizeResources; + +import static org.nuiton.i18n.I18n.n; +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class DesactivateReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskWithReplaceSupport<R> { + + private final String withoutReplaceI18nKey; + + public DesactivateReferentialSynchronizeTask(boolean left, ReferentialReference<R> data, ReferentialReference<R> replaceData) { + super(ReferentialSynchronizeResources.DESACTIVATE, left, data, replaceData); + + withoutReplaceI18nKey = left + ? n("observe.actions.synchro.referential.task.desactivateFromLeft") + : n("observe.actions.synchro.referential.task.desactivateFromRight"); + } + + @Override + public String getLabel() { + if (replaceDataStr == null) { + + // sans remplacement + return t(withoutReplaceI18nKey, typeStr, dataStr); + + } else { + + return super.getLabel(); + } + } +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateWithReplaceFromLeftReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateWithReplaceFromLeftReferentialSynchronizeTask.java deleted file mode 100644 index a304f94..0000000 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateWithReplaceFromLeftReferentialSynchronizeTask.java +++ /dev/null @@ -1,25 +0,0 @@ -package fr.ird.observe.ui.admin.synchronize.referential.ng.task; - -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReference; - -import static org.nuiton.i18n.I18n.t; - -/** - * Created on 09/08/16. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 5.0 - */ -public class DesactivateWithReplaceFromLeftReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { - - public DesactivateWithReplaceFromLeftReferentialSynchronizeTask(ReferentialReference<R> data) { - super(data, "desactivateFromLeftWithReplace"); - } - - @Override - public String getLabel() { - return t("observe.actions.synchro.referential.desactivateFromLeftWithReplaceTask", decorateType(), decorateData()); - } - -} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateWithReplaceFromRightReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateWithReplaceFromRightReferentialSynchronizeTask.java deleted file mode 100644 index 09bfe98..0000000 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/DesactivateWithReplaceFromRightReferentialSynchronizeTask.java +++ /dev/null @@ -1,25 +0,0 @@ -package fr.ird.observe.ui.admin.synchronize.referential.ng.task; - -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReference; - -import static org.nuiton.i18n.I18n.t; - -/** - * Created on 09/08/16. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 5.0 - */ -public class DesactivateWithReplaceFromRightReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { - - public DesactivateWithReplaceFromRightReferentialSynchronizeTask(ReferentialReference<R> data) { - super(data, "desactivateFromRightWithReplace"); - } - - @Override - public String getLabel() { - return t("observe.actions.synchro.referential.desactivateFromRightWithReplaceTask", decorateType(), decorateData()); - } - -} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/ReferentialSynchronizeTaskSupport.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/ReferentialSynchronizeTaskSupport.java index 7ca9c2f..b6d46b6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/ReferentialSynchronizeTaskSupport.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/ReferentialSynchronizeTaskSupport.java @@ -4,7 +4,7 @@ import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.decoration.DecoratorService; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; -import jaxx.runtime.SwingUtil; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchronizeResources; import javax.swing.Icon; @@ -18,15 +18,31 @@ import static org.nuiton.i18n.I18n.t; */ public abstract class ReferentialSynchronizeTaskSupport<R extends ReferentialDto> { + protected final String dataStr; + protected final String typeStr; + protected final String i18nKey; private final ReferentialReference<R> data; private final Icon icon; + private final boolean left; - protected ReferentialSynchronizeTaskSupport(ReferentialReference<R> data, String iconName) { + protected ReferentialSynchronizeTaskSupport(ReferentialSynchronizeResources resource, + boolean left, + ReferentialReference<R> data) { + this.left = left; this.data = data; - this.icon = SwingUtil.createActionIcon(iconName); + this.icon = resource.getIcon(left); + this.i18nKey = resource.getTaskLabel(left); + this.dataStr = ObserveSwingApplicationContext.get().getDecoratorService().getReferentialReferenceDecorator(data.getType()).toString(data); + this.typeStr = t(DecoratorService.getEntityLabel(data.getType())); } - public abstract String getLabel(); + public boolean isLeft() { + return left; + } + + public String getLabel() { + return t(i18nKey, typeStr, dataStr); + } public ReferentialReference<R> getData() { return data; @@ -36,13 +52,4 @@ public abstract class ReferentialSynchronizeTaskSupport<R extends ReferentialDto return icon; } - public String decorateData() { - DecoratorService decoratorService = ObserveSwingApplicationContext.get().getDecoratorService(); - return decoratorService.getReferentialReferenceDecorator(data.getType()).toString(data); - } - - public String decorateType() { - DecoratorService decoratorService = ObserveSwingApplicationContext.get().getDecoratorService(); - return t(decoratorService.getEntityLabel(data.getType())); - } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/ReferentialSynchronizeTaskWithReplaceSupport.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/ReferentialSynchronizeTaskWithReplaceSupport.java new file mode 100644 index 0000000..08419f9 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/ReferentialSynchronizeTaskWithReplaceSupport.java @@ -0,0 +1,34 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.task; + +import fr.ird.observe.ObserveSwingApplicationContext; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchronizeResources; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 11/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public abstract class ReferentialSynchronizeTaskWithReplaceSupport<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { + + protected final String replaceDataStr; + private final ReferentialReference<R> replaceData; + + protected ReferentialSynchronizeTaskWithReplaceSupport(ReferentialSynchronizeResources resource, boolean left, ReferentialReference<R> data, ReferentialReference<R> replaceData) { + super(resource, left, data); + this.replaceData = replaceData; + this.replaceDataStr = replaceData == null ? null : ObserveSwingApplicationContext.get().getDecoratorService().getReferentialReferenceDecorator(replaceData.getType()).toString(replaceData); + } + + public ReferentialReference<R> getReplaceData() { + return replaceData; + } + + @Override + public String getLabel() { + return t(i18nKey, typeStr, dataStr, replaceDataStr); + } +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/RevertFromLeftReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/RevertFromLeftReferentialSynchronizeTask.java deleted file mode 100644 index 86290f0..0000000 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/RevertFromLeftReferentialSynchronizeTask.java +++ /dev/null @@ -1,25 +0,0 @@ -package fr.ird.observe.ui.admin.synchronize.referential.ng.task; - -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReference; - -import static org.nuiton.i18n.I18n.t; - -/** - * Created on 09/08/16. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 5.0 - */ -public class RevertFromLeftReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { - - public RevertFromLeftReferentialSynchronizeTask(ReferentialReference<R> data) { - super(data, "revertFromLeft"); - } - - @Override - public String getLabel() { - return t("observe.actions.synchro.referential.revertFromRightLeft", decorateType(), decorateData()); - } - -} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/RevertFromRightReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/RevertFromRightReferentialSynchronizeTask.java deleted file mode 100644 index be1568a..0000000 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/RevertFromRightReferentialSynchronizeTask.java +++ /dev/null @@ -1,25 +0,0 @@ -package fr.ird.observe.ui.admin.synchronize.referential.ng.task; - -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReference; - -import static org.nuiton.i18n.I18n.t; - -/** - * Created on 09/08/16. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 5.0 - */ -public class RevertFromRightReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { - - public RevertFromRightReferentialSynchronizeTask(ReferentialReference<R> data) { - super(data, "revertFromRight"); - } - - @Override - public String getLabel() { - return t("observe.actions.synchro.referential.revertFromRightTask", decorateType(), decorateData()); - } - -} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/RevertReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/RevertReferentialSynchronizeTask.java new file mode 100644 index 0000000..0398e29 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/RevertReferentialSynchronizeTask.java @@ -0,0 +1,19 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.task; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchronizeResources; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class RevertReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { + + public RevertReferentialSynchronizeTask(boolean left, ReferentialReference<R> data) { + super(ReferentialSynchronizeResources.REVERT, left, data); + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/SkipFromLeftReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/SkipFromLeftReferentialSynchronizeTask.java deleted file mode 100644 index 8cfb74d..0000000 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/SkipFromLeftReferentialSynchronizeTask.java +++ /dev/null @@ -1,25 +0,0 @@ -package fr.ird.observe.ui.admin.synchronize.referential.ng.task; - -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReference; - -import static org.nuiton.i18n.I18n.t; - -/** - * Created on 09/08/16. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 5.0 - */ -public class SkipFromLeftReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { - - public SkipFromLeftReferentialSynchronizeTask(ReferentialReference<R> data) { - super(data, "skipFromLeft"); - } - - @Override - public String getLabel() { - return t("observe.actions.synchro.referential.skipFromLeftTask", decorateType(), decorateData()); - } - -} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/SkipFromRightReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/SkipFromRightReferentialSynchronizeTask.java deleted file mode 100644 index 24f5772..0000000 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/SkipFromRightReferentialSynchronizeTask.java +++ /dev/null @@ -1,25 +0,0 @@ -package fr.ird.observe.ui.admin.synchronize.referential.ng.task; - -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReference; - -import static org.nuiton.i18n.I18n.t; - -/** - * Created on 09/08/16. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 5.0 - */ -public class SkipFromRightReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { - - public SkipFromRightReferentialSynchronizeTask(ReferentialReference<R> data) { - super(data, "skipFromRight"); - } - - @Override - public String getLabel() { - return t("observe.actions.synchro.referential.skipFromRightTask", decorateType(), decorateData()); - } - -} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/SkipReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/SkipReferentialSynchronizeTask.java new file mode 100644 index 0000000..1c2e157 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/SkipReferentialSynchronizeTask.java @@ -0,0 +1,19 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.task; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchronizeResources; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class SkipReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { + + public SkipReferentialSynchronizeTask(boolean left, ReferentialReference<R> data) { + super(ReferentialSynchronizeResources.SKIP, left, data); + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/UpdateToReferentialSynchronizeTask.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/UpdateToReferentialSynchronizeTask.java new file mode 100644 index 0000000..13b4c5c --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/task/UpdateToReferentialSynchronizeTask.java @@ -0,0 +1,19 @@ +package fr.ird.observe.ui.admin.synchronize.referential.ng.task; + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.ui.admin.synchronize.referential.ng.ReferentialSynchronizeResources; + +/** + * Created on 09/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class UpdateToReferentialSynchronizeTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { + + public UpdateToReferentialSynchronizeTask(boolean left, ReferentialReference<R> data) { + super(ReferentialSynchronizeResources.UPDATE, left, data); + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeCellRenderer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeCellRenderer.java index 5e1b845..7d97370 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeCellRenderer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeCellRenderer.java @@ -53,6 +53,8 @@ public class ReferentialSynchronizeTreeCellRenderer extends DefaultTreeCellRende private static final long serialVersionUID = 1L; + protected transient DecoratorService decoratorService; + public ReferentialSynchronizeTreeCellRenderer() { setBackgroundNonSelectionColor(null); @@ -63,13 +65,8 @@ public class ReferentialSynchronizeTreeCellRenderer extends DefaultTreeCellRende setTextSelectionColor(Color.BLUE); } - /** service de décoration */ - protected transient DecoratorService decoratorService; - public DecoratorService getDecoratorService() { if (decoratorService == null) { - - // on récupère le service commun decoratorService = ObserveSwingApplicationContext.get().getDecoratorService(); } return decoratorService; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModel.java index 8943af9..68107f9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModel.java @@ -1,9 +1,12 @@ package fr.ird.observe.ui.admin.synchronize.referential.ng.tree; +import com.google.common.collect.ImmutableSet; import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.ReferenceReferentialSynchroNodeSupport; import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.ReferentialSynchroNodeSupport; import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.RootReferentialSynchroNode; import fr.ird.observe.ui.admin.synchronize.referential.ng.tree.node.TypeReferentialSynchroNode; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import javax.swing.event.TreeModelListener; import javax.swing.event.TreeSelectionListener; @@ -14,24 +17,41 @@ import javax.swing.tree.TreeModel; import javax.swing.tree.TreePath; import javax.swing.tree.TreeSelectionModel; import java.beans.PropertyChangeListener; +import java.io.Serializable; +import java.util.Collection; +import java.util.Enumeration; +import java.util.LinkedList; +import java.util.function.Predicate; /** * Created on 10/08/16. * * @author Tony Chemit - chemit@codelutin.com */ -public class ReferentialSynchronizeTreeModel implements TreeSelectionModel, TreeModel { +public class ReferentialSynchronizeTreeModel implements TreeSelectionModel, TreeModel, Serializable { - private final TreeSelectionModel treeSelectionModel; + private static final long serialVersionUID = 1L; + + /** Logger. */ + private static final Log log = LogFactory.getLog(ReferentialSynchronizeTreeModel.class); + + private final DefaultTreeSelectionModel treeSelectionModel; private final DefaultTreeModel treeModel; - private boolean canCopy; + private boolean canAdd; + private boolean canUpdate; private boolean canDelete; private boolean canRevert; + public ReferentialSynchronizeTreeModel(RootReferentialSynchroNode root) { + this.treeModel = new DefaultTreeModel(root); + this.treeSelectionModel = new DefaultTreeSelectionModel(); + setSelectionMode(DISCONTIGUOUS_TREE_SELECTION); + } + public synchronized void updateSelectedActions() { - canCopy = canDelete = canRevert = false; + canAdd = canUpdate = canDelete = canRevert = false; for (TreePath selectionPath : getSelectionPaths()) { ReferentialSynchroNodeSupport lastPathComponent = (ReferentialSynchroNodeSupport) selectionPath.getLastPathComponent(); @@ -39,7 +59,8 @@ public class ReferentialSynchronizeTreeModel implements TreeSelectionModel, Tree if (lastPathComponent instanceof ReferenceReferentialSynchroNodeSupport) { ReferenceReferentialSynchroNodeSupport node = (ReferenceReferentialSynchroNodeSupport) lastPathComponent; - canCopy |= node.isCanCopy(); + canAdd |= node.isCanAdd(); + canUpdate |= node.isCanUpdate(); canDelete |= node.isCanDelete(); canRevert |= node.isCanRevert(); @@ -49,8 +70,28 @@ public class ReferentialSynchronizeTreeModel implements TreeSelectionModel, Tree } - public boolean isCanCopy() { - return canCopy; + public Iterable<ReferenceReferentialSynchroNodeSupport> filterSelectedReferenceNodes(Predicate<ReferenceReferentialSynchroNodeSupport> predicate) { + + ImmutableSet.Builder<ReferenceReferentialSynchroNodeSupport> builder = ImmutableSet.builder(); + + for (TreePath selectionPath : getSelectionPaths()) { + ReferentialSynchroNodeSupport lastPathComponent = (ReferentialSynchroNodeSupport) selectionPath.getLastPathComponent(); + if (lastPathComponent instanceof ReferenceReferentialSynchroNodeSupport) { + ReferenceReferentialSynchroNodeSupport node = (ReferenceReferentialSynchroNodeSupport) lastPathComponent; + if (predicate.test(node)) { + builder.add(node); + } + } + } + return builder.build(); + } + + public boolean isCanAdd() { + return canAdd; + } + + public boolean isCanUpdate() { + return canUpdate; } public boolean isCanDelete() { @@ -65,16 +106,6 @@ public class ReferentialSynchronizeTreeModel implements TreeSelectionModel, Tree return getSelectionCount() > 0; } - public ReferentialSynchronizeTreeModel(RootReferentialSynchroNode root) { - this.treeModel = new DefaultTreeModel(root); - this.treeSelectionModel = new DefaultTreeSelectionModel(); - setSelectionMode(DISCONTIGUOUS_TREE_SELECTION); - } - - public boolean isCanWrite() { - return getRoot().isCanWrite(); - } - public boolean isLeft() { return getRoot().isLeft(); } @@ -131,43 +162,72 @@ public class ReferentialSynchronizeTreeModel implements TreeSelectionModel, Tree } @Override - public void setSelectionMode(int mode) { - treeSelectionModel.setSelectionMode(mode); - } - - @Override public int getSelectionMode() { return treeSelectionModel.getSelectionMode(); } @Override - public void setSelectionPath(TreePath path) { - treeSelectionModel.setSelectionPath(path); - } - - @Override - public void setSelectionPaths(TreePath[] paths) { - treeSelectionModel.setSelectionPaths(paths); + public void setSelectionMode(int mode) { + treeSelectionModel.setSelectionMode(mode); } @Override public void addSelectionPath(TreePath path) { - treeSelectionModel.addSelectionPath(path); + addSelectionPaths(path); } @Override - public void addSelectionPaths(TreePath[] paths) { - treeSelectionModel.addSelectionPaths(paths); + public void removeSelectionPath(TreePath path) { + removeSelectionPaths(path); } @Override - public void removeSelectionPath(TreePath path) { - treeSelectionModel.removeSelectionPath(path); + public void addSelectionPaths(TreePath... paths) { + + valueIsAdjusting = true; + + try { + Collection<TreePath> collectedPaths = new LinkedList<>(); + + collectPaths(collectedPaths, paths); + + if (log.isInfoEnabled()) { + log.info("path(s) to add: " + collectedPaths.size()); + } + treeSelectionModel.addSelectionPaths(collectedPaths.toArray(new TreePath[collectedPaths.size()])); + } finally { + + valueIsAdjusting = false; + + } } + private boolean valueIsAdjusting; + @Override - public void removeSelectionPaths(TreePath[] paths) { - treeSelectionModel.removeSelectionPaths(paths); + public void removeSelectionPaths(TreePath... paths) { + + if (valueIsAdjusting) { + return; + } + + valueIsAdjusting = true; + + try { + Collection<TreePath> collectedPaths = new LinkedList<>(); + + collectPaths(collectedPaths, paths); + + if (log.isInfoEnabled()) { + log.info("path(s) to remove: " + collectedPaths.size()); + } + treeSelectionModel.removeSelectionPaths(collectedPaths.toArray(new TreePath[collectedPaths.size()])); + } finally { + + valueIsAdjusting = false; + + } + } @Override @@ -176,11 +236,27 @@ public class ReferentialSynchronizeTreeModel implements TreeSelectionModel, Tree } @Override + public void setSelectionPath(TreePath path) { + + if (isPathSelected(path)) { + removeSelectionPaths(path); + } else { + addSelectionPaths(path); + } + + } + + @Override public TreePath[] getSelectionPaths() { return treeSelectionModel.getSelectionPaths(); } @Override + public void setSelectionPaths(TreePath[] paths) { + treeSelectionModel.setSelectionPaths(paths); + } + + @Override public int getSelectionCount() { return treeSelectionModel.getSelectionCount(); } @@ -201,13 +277,13 @@ public class ReferentialSynchronizeTreeModel implements TreeSelectionModel, Tree } @Override - public void setRowMapper(RowMapper newMapper) { - treeSelectionModel.setRowMapper(newMapper); + public RowMapper getRowMapper() { + return treeSelectionModel.getRowMapper(); } @Override - public RowMapper getRowMapper() { - return treeSelectionModel.getRowMapper(); + public void setRowMapper(RowMapper newMapper) { + treeSelectionModel.setRowMapper(newMapper); } @Override @@ -264,4 +340,45 @@ public class ReferentialSynchronizeTreeModel implements TreeSelectionModel, Tree public void removeTreeSelectionListener(TreeSelectionListener x) { treeSelectionModel.removeTreeSelectionListener(x); } + + private void collectPaths(Collection<TreePath> collectedPaths, TreePath... paths) { + for (TreePath path : paths) { + + collectedPaths.add(path); + + Object node = path.getLastPathComponent(); + + if (node instanceof TypeReferentialSynchroNode) { + TypeReferentialSynchroNode node1 = (TypeReferentialSynchroNode) node; + + Enumeration children = node1.children(); + while (children.hasMoreElements()) { + ReferenceReferentialSynchroNodeSupport childNode = (ReferenceReferentialSynchroNodeSupport) children.nextElement(); + collectedPaths.add(path.pathByAddingChild(childNode)); + } + + } + + } + + } + + public void removeReferenceNodes(Collection<ReferenceReferentialSynchroNodeSupport> removedNodes) { + + valueIsAdjusting = true; + + try { + for (ReferenceReferentialSynchroNodeSupport removedNode : removedNodes) { + TypeReferentialSynchroNode typeNode = removedNode.getParent(); + if (typeNode.getChildCount() == 1) { + treeModel.removeNodeFromParent(typeNode); + } else { + treeModel.removeNodeFromParent(removedNode); + } + } + } finally { + valueIsAdjusting = false; + } + + } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModelsBuilder.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModelsBuilder.java index 75f4199..3af7e05 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModelsBuilder.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModelsBuilder.java @@ -30,25 +30,12 @@ public class ReferentialSynchronizeTreeModelsBuilder { private final RootReferentialSynchroNode leftRootNode; private final RootReferentialSynchroNode rightRootNode; - private final CreateNode leftAddNode; - private final CreateNode rightAddNode; - private final CreateNode leftUpdateNode; - private final CreateNode rightUpdateNode; - public ReferentialSynchronizeTreeModelsBuilder(ReferentialSynchronizeMode synchronizeMode, ReferentialSynchronizeDiffsEngine engine) { Objects.nonNull(synchronizeMode); Objects.nonNull(engine); this.engine = engine; - this.leftRootNode = new RootReferentialSynchroNode(true, synchronizeMode != ReferentialSynchronizeMode.FROM_LEFT_TO_RIGHT); - this.rightRootNode = new RootReferentialSynchroNode(false, synchronizeMode != ReferentialSynchronizeMode.FROM_RIGHT_TO_LEFT); - - boolean rightCanWrite = rightRootNode.isCanWrite(); - boolean leftCanWrite = leftRootNode.isCanWrite(); - - this.leftAddNode = new CreateAddNode(rightCanWrite, leftCanWrite, false); - this.rightAddNode = new CreateAddNode(leftCanWrite, rightCanWrite, false); - this.leftUpdateNode = new CreateUpdateNode(rightCanWrite, false, leftCanWrite); - this.rightUpdateNode = new CreateUpdateNode(leftCanWrite, false, rightCanWrite); + this.leftRootNode = new RootReferentialSynchroNode(true, synchronizeMode.isLeftWrite()); + this.rightRootNode = new RootReferentialSynchroNode(false, synchronizeMode.isRightWrite()); } public Pair<ReferentialSynchronizeTreeModel, ReferentialSynchronizeTreeModel> build() { @@ -60,6 +47,14 @@ public class ReferentialSynchronizeTreeModelsBuilder { ReferentialSynchronizeDiff leftDiff = synchronizeDiffs.getLeftDiff(); ReferentialSynchronizeDiff rightDiff = synchronizeDiffs.getRightDiff(); + boolean rightCanWrite = rightRootNode.isCanWrite(); + boolean leftCanWrite = leftRootNode.isCanWrite(); + + CreateNode leftAddNode = new CreateAddNode(rightCanWrite, leftCanWrite, false); + CreateNode rightAddNode = new CreateAddNode(leftCanWrite, rightCanWrite, false); + CreateNode leftUpdateNode = new CreateUpdateNode(rightCanWrite, false, leftCanWrite); + CreateNode rightUpdateNode = new CreateUpdateNode(leftCanWrite, false, rightCanWrite); + for (Class<? extends ReferentialDto> referentialName : referentialNames) { { @@ -90,6 +85,7 @@ public class ReferentialSynchronizeTreeModelsBuilder { addFromRight(rightRootNode, optionalDiffStates.get(), referentialName, rightUpdateNode); } } + } ReferentialSynchronizeTreeModel leftTreeModel = new ReferentialSynchronizeTreeModel(leftRootNode); @@ -98,7 +94,6 @@ public class ReferentialSynchronizeTreeModelsBuilder { } - private <R extends ReferentialDto> void addFromLeft(RootReferentialSynchroNode rootNode, ImmutableSet<ReferentialSynchronizeDiffState> diffStates, Class<R> referentialName, CreateNode createNode) { ReferentialReferenceSet<R> referenceSet = engine.getLeftReferentialReferenceSet(referentialName, diffStates); ImmutableSet<ReferentialReference<R>> references = referenceSet.getReferences(); @@ -122,7 +117,7 @@ public class ReferentialSynchronizeTreeModelsBuilder { } } - private static abstract class CreateNode <R extends ReferentialDto>{ + private static abstract class CreateNode { protected final boolean canCopy; protected final boolean canDelete; @@ -134,32 +129,32 @@ public class ReferentialSynchronizeTreeModelsBuilder { this.canRevert = canRevert; } - public abstract void createNode(TypeReferentialSynchroNode typeNode, ReferentialReference<R> reference); + public abstract void createNode(TypeReferentialSynchroNode typeNode, ReferentialReference<?> reference); } - private static class CreateAddNode<R extends ReferentialDto> extends CreateNode<R> { + private static class CreateAddNode extends CreateNode { protected CreateAddNode(boolean canCopy, boolean canDelete, boolean canRevert) { super(canCopy, canDelete, canRevert); } @Override - public void createNode(TypeReferentialSynchroNode typeNode, ReferentialReference<R> reference) { - ReferenceReferentialSynchroNodeSupport node = new AddedReferenceReferentialSynchroNode(reference, canCopy, canDelete, canRevert); + public void createNode(TypeReferentialSynchroNode typeNode, ReferentialReference<?> reference) { + ReferenceReferentialSynchroNodeSupport node = new AddedReferenceReferentialSynchroNode(reference, canCopy, false, canDelete, canRevert); typeNode.add(node); } } - private static class CreateUpdateNode<R extends ReferentialDto> extends CreateNode<R> { + private static class CreateUpdateNode extends CreateNode { protected CreateUpdateNode(boolean canCopy, boolean canDelete, boolean canRevert) { super(canCopy, canDelete, canRevert); } @Override - public void createNode(TypeReferentialSynchroNode typeNode, ReferentialReference<R> reference) { - ReferenceReferentialSynchroNodeSupport node = new UpdatedReferenceReferentialSynchroNode(reference, canCopy, canDelete, canRevert); + public void createNode(TypeReferentialSynchroNode typeNode, ReferentialReference<?> reference) { + ReferenceReferentialSynchroNodeSupport node = new UpdatedReferenceReferentialSynchroNode(reference, false, canCopy, canDelete, canRevert); typeNode.add(node); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/AddedReferenceReferentialSynchroNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/AddedReferenceReferentialSynchroNode.java index dee67f2..dcb31f5 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/AddedReferenceReferentialSynchroNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/AddedReferenceReferentialSynchroNode.java @@ -12,8 +12,8 @@ public class AddedReferenceReferentialSynchroNode extends ReferenceReferentialSy private static final long serialVersionUID = 1L; - public AddedReferenceReferentialSynchroNode(ReferentialReference<? extends ReferentialDto> referentialReference,boolean canCopy, boolean canDelete, boolean canRevert) { - super(referentialReference, "synchroAdd", canCopy, canDelete, canRevert); + public AddedReferenceReferentialSynchroNode(ReferentialReference<? extends ReferentialDto> referentialReference, boolean canAdd, boolean canUpdate, boolean canDelete, boolean canRevert) { + super(referentialReference, "synchroAdd", canAdd, canUpdate, canDelete, canRevert); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferenceReferentialSynchroNodeSupport.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferenceReferentialSynchroNodeSupport.java index 055c00d..0ebb9d2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferenceReferentialSynchroNodeSupport.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/ReferenceReferentialSynchroNodeSupport.java @@ -14,22 +14,30 @@ public abstract class ReferenceReferentialSynchroNodeSupport extends Referential private static final long serialVersionUID = 1L; - private final boolean canCopy; + private final boolean canAdd; + private final boolean canUpdate; private final boolean canDelete; private final boolean canRevert; - protected ReferenceReferentialSynchroNodeSupport(ReferentialReference<? extends ReferentialDto> referentialReference, String iconName, - boolean canCopy, + protected ReferenceReferentialSynchroNodeSupport(ReferentialReference<? extends ReferentialDto> referentialReference, + String iconName, + boolean canAdd, + boolean canUpdate, boolean canDelete, boolean canRevert) { super(UIHelper.createActionIcon(iconName), referentialReference); - this.canCopy = canCopy; + this.canAdd = canAdd; + this.canUpdate = canUpdate; this.canDelete = canDelete; this.canRevert = canRevert; } - public boolean isCanCopy() { - return canCopy; + public boolean isCanAdd() { + return canAdd; + } + + public boolean isCanUpdate() { + return canUpdate; } public boolean isCanDelete() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/UpdatedReferenceReferentialSynchroNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/UpdatedReferenceReferentialSynchroNode.java index f53816b..5d4560e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/UpdatedReferenceReferentialSynchroNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/tree/node/UpdatedReferenceReferentialSynchroNode.java @@ -12,8 +12,8 @@ public class UpdatedReferenceReferentialSynchroNode extends ReferenceReferential private static final long serialVersionUID = 1L; - public UpdatedReferenceReferentialSynchroNode(ReferentialReference<? extends ReferentialDto> referentialReference, boolean canCopy, boolean canDelete, boolean canRevert) { - super(referentialReference, "synchroUpdate", canCopy, canDelete, canRevert); + public UpdatedReferenceReferentialSynchroNode(ReferentialReference<? extends ReferentialDto> referentialReference, boolean canAdd, boolean canUpdate, boolean canDelete, boolean canRevert) { + super(referentialReference, "synchroUpdate", canAdd, canUpdate, canDelete, canRevert); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java index 27b83ba..a28ee48 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java @@ -1450,7 +1450,7 @@ public class StorageUIModel extends WizardModel<StorageStep> { firePgConfigChanged(REMOTE_LOGIN_ROPERTY_NAME, null, remoteLogin); } - public void setRemotePassword(char[] remotePassword) { + public void setRemotePassword(char... remotePassword) { // char[] oldValue = getRemotePassword(); if (isEditRemoteConfig()) { diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties index 3e58b10..25ffa5b 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties @@ -223,8 +223,6 @@ observe.actions.synchro.data.prepare.copyToLeftTask= observe.actions.synchro.data.prepare.copyToRightTask= observe.actions.synchro.data.prepare.deleteFromLeftTask= observe.actions.synchro.data.prepare.deleteFromRightTask= -observe.actions.synchro.data.prepare.skipFromLeftTask= -observe.actions.synchro.data.prepare.skipFromRightTask= observe.actions.synchro.data.step= observe.actions.synchro.data.step.description= observe.actions.synchro.data.title= @@ -232,23 +230,17 @@ observe.actions.synchro.data.title.tip= observe.actions.synchro.launch.operation=Launch operation < %1$S > observe.actions.synchro.prepare.operation=Prepare operation < %1$s > observe.actions.synchro.referential= +observe.actions.synchro.referential.action.copyToLeft.tip= +observe.actions.synchro.referential.action.copyToRight.tip= +observe.actions.synchro.referential.action.deleteFromLeft.tip= +observe.actions.synchro.referential.action.deleteFromRight.tip= +observe.actions.synchro.referential.action.desactivateFromLeft.tip= +observe.actions.synchro.referential.action.desactivateFromRight.tip= +observe.actions.synchro.referential.action.revertFromLeft.tip= +observe.actions.synchro.referential.action.revertFromRight.tip= +observe.actions.synchro.referential.action.skipFromLeft.tip= +observe.actions.synchro.referential.action.skipFromRight.tip= observe.actions.synchro.referential.config.mode= -observe.actions.synchro.referential.copyToLeft.tip= -observe.actions.synchro.referential.copyToLeftTask= -observe.actions.synchro.referential.copyToRight.tip= -observe.actions.synchro.referential.copyToRightTask= -observe.actions.synchro.referential.deleteFromLeft.tip= -observe.actions.synchro.referential.deleteFromLeftTask= -observe.actions.synchro.referential.deleteFromRight.tip= -observe.actions.synchro.referential.deleteFromRightTask= -observe.actions.synchro.referential.desactivateFromLeft.tip= -observe.actions.synchro.referential.desactivateFromLeftTask= -observe.actions.synchro.referential.desactivateFromLeftWithReplace.tip= -observe.actions.synchro.referential.desactivateFromLeftWithReplaceTask= -observe.actions.synchro.referential.desactivateFromRight.tip= -observe.actions.synchro.referential.desactivateFromRightTask= -observe.actions.synchro.referential.desactivateFromRightWithReplace.tip= -observe.actions.synchro.referential.desactivateFromRightWithReplaceTask= observe.actions.synchro.referential.description= observe.actions.synchro.referential.launch.operation= observe.actions.synchro.referential.legacy=Synchronize @@ -274,27 +266,30 @@ observe.actions.synchro.referential.message.saveLocal.skip= observe.actions.synchro.referential.message.synchro.local.modification= observe.actions.synchro.referential.obsolete.entities.list= observe.actions.synchro.referential.obsolete.entity.fix= -observe.actions.synchro.referential.prepare.copyToLeftTask= -observe.actions.synchro.referential.prepare.copyToRightTask= -observe.actions.synchro.referential.prepare.deleteFromLeftTask= -observe.actions.synchro.referential.prepare.deleteFromRightTask= -observe.actions.synchro.referential.prepare.desactivateFromLeftTask= -observe.actions.synchro.referential.prepare.desactivateFromLeftWithReplaceTask= -observe.actions.synchro.referential.prepare.desactivateFromRightTask= -observe.actions.synchro.referential.prepare.desactivateFromRightWithReplaceTask= -observe.actions.synchro.referential.revertFromRightLeft= -observe.actions.synchro.referential.revertFromRightTask= -observe.actions.synchro.referential.revertToLeft.tip= -observe.actions.synchro.referential.revertToRight.tip= +observe.actions.synchro.referential.replaceBefore.message= +observe.actions.synchro.referential.replaceBeforeDelete.title= +observe.actions.synchro.referential.replaceBeforeDesactivate.title= observe.actions.synchro.referential.safe.entity.to.choose.label= -observe.actions.synchro.referential.skipFromLeftTask= -observe.actions.synchro.referential.skipFromRightTask= -observe.actions.synchro.referential.skipToLeft.tip= -observe.actions.synchro.referential.skipToRight.tip= observe.actions.synchro.referential.step= observe.actions.synchro.referential.step.description= +observe.actions.synchro.referential.task.addToLeft= +observe.actions.synchro.referential.task.addToRight= +observe.actions.synchro.referential.task.deleteFromLeft= +observe.actions.synchro.referential.task.deleteFromRight= +observe.actions.synchro.referential.task.desactivateFromLeft= +observe.actions.synchro.referential.task.desactivateFromRight= +observe.actions.synchro.referential.task.desactivateWithReplaceFromLeft= +observe.actions.synchro.referential.task.desactivateWithReplaceFromRight= +observe.actions.synchro.referential.task.prepare= +observe.actions.synchro.referential.task.revertFromLeft= +observe.actions.synchro.referential.task.revertFromRight= +observe.actions.synchro.referential.task.skipFromLeft= +observe.actions.synchro.referential.task.skipFromRight= +observe.actions.synchro.referential.task.updateToLeft= +observe.actions.synchro.referential.task.updateToRight= observe.actions.synchro.referential.title= observe.actions.synchro.referential.title.tip= +observe.actions.synchro.referential.withMode= observe.actions.synchro.report.reset.tip=Reset selected report. observe.actions.validate= observe.actions.validate.choose.report.directory=Choose reports directory @@ -357,6 +352,7 @@ observe.choice.doNotSave=Do not save observe.choice.doNothing=Do nothing observe.choice.not.create.fin.veille.activity.and.continue= observe.choice.quit=Quit +observe.choice.replace= observe.choice.save=Save observe.choice.useRemoteStorage=Use a remote storage observe.codeMesureEnum.ld1=LD1 @@ -1964,8 +1960,10 @@ observe.storage.config.data.mode= observe.storage.config.data.storage= observe.storage.config.export.required.read.data= observe.storage.config.export.required.read.referentiel= +observe.storage.config.left.storage= observe.storage.config.referentiel.mode= observe.storage.config.referentiel.storage= +observe.storage.config.right.storage= observe.storage.config.source.storage= observe.storage.connexionStatut.failed= observe.storage.connexionStatut.failed.description= @@ -2034,7 +2032,9 @@ observe.storage.label.remote= observe.storage.label.server= observe.storage.label.synchro= observe.storage.label.synchro.incoming= +observe.storage.label.synchro.leftSource= observe.storage.label.synchro.referentiel= +observe.storage.label.synchro.rightSource= observe.storage.locale.db= observe.storage.message.closed= observe.storage.message.closing= diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties index e4cf149..5ef06cb 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties @@ -223,8 +223,6 @@ observe.actions.synchro.data.prepare.copyToLeftTask= observe.actions.synchro.data.prepare.copyToRightTask= observe.actions.synchro.data.prepare.deleteFromLeftTask= observe.actions.synchro.data.prepare.deleteFromRightTask= -observe.actions.synchro.data.prepare.skipFromLeftTask= -observe.actions.synchro.data.prepare.skipFromRightTask= observe.actions.synchro.data.step= observe.actions.synchro.data.step.description= observe.actions.synchro.data.title= @@ -232,23 +230,17 @@ observe.actions.synchro.data.title.tip= observe.actions.synchro.launch.operation=Comenzar la operación < %1$s > observe.actions.synchro.prepare.operation=Prepara la operación <%1$s> observe.actions.synchro.referential= +observe.actions.synchro.referential.action.copyToLeft.tip= +observe.actions.synchro.referential.action.copyToRight.tip= +observe.actions.synchro.referential.action.deleteFromLeft.tip= +observe.actions.synchro.referential.action.deleteFromRight.tip= +observe.actions.synchro.referential.action.desactivateFromLeft.tip= +observe.actions.synchro.referential.action.desactivateFromRight.tip= +observe.actions.synchro.referential.action.revertFromLeft.tip= +observe.actions.synchro.referential.action.revertFromRight.tip= +observe.actions.synchro.referential.action.skipFromLeft.tip= +observe.actions.synchro.referential.action.skipFromRight.tip= observe.actions.synchro.referential.config.mode= -observe.actions.synchro.referential.copyToLeft.tip= -observe.actions.synchro.referential.copyToLeftTask= -observe.actions.synchro.referential.copyToRight.tip= -observe.actions.synchro.referential.copyToRightTask= -observe.actions.synchro.referential.deleteFromLeft.tip= -observe.actions.synchro.referential.deleteFromLeftTask= -observe.actions.synchro.referential.deleteFromRight.tip= -observe.actions.synchro.referential.deleteFromRightTask= -observe.actions.synchro.referential.desactivateFromLeft.tip= -observe.actions.synchro.referential.desactivateFromLeftTask= -observe.actions.synchro.referential.desactivateFromLeftWithReplace.tip= -observe.actions.synchro.referential.desactivateFromLeftWithReplaceTask= -observe.actions.synchro.referential.desactivateFromRight.tip= -observe.actions.synchro.referential.desactivateFromRightTask= -observe.actions.synchro.referential.desactivateFromRightWithReplace.tip= -observe.actions.synchro.referential.desactivateFromRightWithReplaceTask= observe.actions.synchro.referential.description= observe.actions.synchro.referential.launch.operation= observe.actions.synchro.referential.legacy= @@ -274,27 +266,30 @@ observe.actions.synchro.referential.message.saveLocal.skip=No es necesario reali observe.actions.synchro.referential.message.synchro.local.modification= observe.actions.synchro.referential.obsolete.entities.list= observe.actions.synchro.referential.obsolete.entity.fix=Cambiar las referencias del objeto seleccionado -observe.actions.synchro.referential.prepare.copyToLeftTask= -observe.actions.synchro.referential.prepare.copyToRightTask= -observe.actions.synchro.referential.prepare.deleteFromLeftTask= -observe.actions.synchro.referential.prepare.deleteFromRightTask= -observe.actions.synchro.referential.prepare.desactivateFromLeftTask= -observe.actions.synchro.referential.prepare.desactivateFromLeftWithReplaceTask= -observe.actions.synchro.referential.prepare.desactivateFromRightTask= -observe.actions.synchro.referential.prepare.desactivateFromRightWithReplaceTask= -observe.actions.synchro.referential.revertFromRightLeft= -observe.actions.synchro.referential.revertFromRightTask= -observe.actions.synchro.referential.revertToLeft.tip= -observe.actions.synchro.referential.revertToRight.tip= +observe.actions.synchro.referential.replaceBefore.message= +observe.actions.synchro.referential.replaceBeforeDelete.title= +observe.actions.synchro.referential.replaceBeforeDesactivate.title= observe.actions.synchro.referential.safe.entity.to.choose.label= -observe.actions.synchro.referential.skipFromLeftTask= -observe.actions.synchro.referential.skipFromRightTask= -observe.actions.synchro.referential.skipToLeft.tip= -observe.actions.synchro.referential.skipToRight.tip= observe.actions.synchro.referential.step= observe.actions.synchro.referential.step.description= +observe.actions.synchro.referential.task.addToLeft= +observe.actions.synchro.referential.task.addToRight= +observe.actions.synchro.referential.task.deleteFromLeft= +observe.actions.synchro.referential.task.deleteFromRight= +observe.actions.synchro.referential.task.desactivateFromLeft= +observe.actions.synchro.referential.task.desactivateFromRight= +observe.actions.synchro.referential.task.desactivateWithReplaceFromLeft= +observe.actions.synchro.referential.task.desactivateWithReplaceFromRight= +observe.actions.synchro.referential.task.prepare= +observe.actions.synchro.referential.task.revertFromLeft= +observe.actions.synchro.referential.task.revertFromRight= +observe.actions.synchro.referential.task.skipFromLeft= +observe.actions.synchro.referential.task.skipFromRight= +observe.actions.synchro.referential.task.updateToLeft= +observe.actions.synchro.referential.task.updateToRight= observe.actions.synchro.referential.title= observe.actions.synchro.referential.title.tip= +observe.actions.synchro.referential.withMode= observe.actions.synchro.report.reset.tip=Deseleccionar el informe actual observe.actions.validate= observe.actions.validate.choose.report.directory=Elegir el directorio de los informes @@ -357,6 +352,7 @@ observe.choice.doNotSave=No grabar observe.choice.doNothing=No hacer nada observe.choice.not.create.fin.veille.activity.and.continue=No crear la actividad de fin de guardia y continuar observe.choice.quit=Cerrar +observe.choice.replace= observe.choice.save=Grabar observe.choice.useRemoteStorage=Usar la base de datos remota observe.codeMesureEnum.ld1=LD1 @@ -1964,8 +1960,10 @@ observe.storage.config.data.mode= observe.storage.config.data.storage= observe.storage.config.export.required.read.data= observe.storage.config.export.required.read.referentiel= +observe.storage.config.left.storage= observe.storage.config.referentiel.mode=Modo de importación del referencial observe.storage.config.referentiel.storage=Configuración de la base de referencia +observe.storage.config.right.storage= observe.storage.config.source.storage=Configuración de la base origen observe.storage.connexionStatut.failed= observe.storage.connexionStatut.failed.description= @@ -2034,7 +2032,9 @@ observe.storage.label.remote=Base remota observe.storage.label.server= observe.storage.label.synchro=Base de sincronización observe.storage.label.synchro.incoming=Base origen <%1$s> +observe.storage.label.synchro.leftSource= observe.storage.label.synchro.referentiel=Base central <%1$s> +observe.storage.label.synchro.rightSource= observe.storage.locale.db=(local) observe.storage.message.closed= observe.storage.message.closing= diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties index 7ac0633..9b0aa31 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties @@ -223,33 +223,25 @@ observe.actions.synchro.data.prepare.copyToLeftTask=Préparation de la recopie v observe.actions.synchro.data.prepare.copyToRightTask=Préparation de la recopie vers la base de droite \: %s - %s observe.actions.synchro.data.prepare.deleteFromLeftTask=Préparation de la suppression de la base de gauche \: %s - %s observe.actions.synchro.data.prepare.deleteFromRightTask=Préparation de la suppression de la base de droite \: %s - %s -observe.actions.synchro.data.prepare.skipFromLeftTask=Préparation de la non prise en compte de la base de gauche \: %s - %s -observe.actions.synchro.data.prepare.skipFromRightTask=Préparation de la non prise en compte de la base de droite \: %s - %s observe.actions.synchro.data.step=Synchronisation bi-directionnelle de données observe.actions.synchro.data.step.description=Synchronisation bi-directionnelle des données utilisateurs observe.actions.synchro.data.title=Synchronisation bi-directionnelle de données observe.actions.synchro.data.title.tip=Synchronisation bi-directionnelle des données utilisateurs observe.actions.synchro.launch.operation=Démarrer l'opération < %1$s > observe.actions.synchro.prepare.operation=Préparer l'opération <%1$s> -observe.actions.synchro.referential=Synchronisation bi-directionnelle de référentiel -observe.actions.synchro.referential.config.mode=Mode synchronisation -observe.actions.synchro.referential.copyToLeft.tip=Copier le référentiel sélectionné vers la base de gauche -observe.actions.synchro.referential.copyToLeftTask=Copier vers la base de gauche \: %s - %s -observe.actions.synchro.referential.copyToRight.tip=Copier le référentiel sélectionné vers la base de droite -observe.actions.synchro.referential.copyToRightTask=Copier vers la base de droite \: %s - %s -observe.actions.synchro.referential.deleteFromLeft.tip=Supprimer le reférentiel sélectionnée de la base de gauche -observe.actions.synchro.referential.deleteFromLeftTask=Supprimer de la base de gauche \: %s - %s -observe.actions.synchro.referential.deleteFromRight.tip=Supprimer le référentiel sélectionnée de la base de droite -observe.actions.synchro.referential.deleteFromRightTask=Supprimer de la base de droite \: %s - %s -observe.actions.synchro.referential.desactivateFromLeft.tip=Désactiver (sans remplacement) le référentiel sélectionné de la base de gauche -observe.actions.synchro.referential.desactivateFromLeftTask=Désactiver de la base de gauche (sans remplacement) \: %s - %s -observe.actions.synchro.referential.desactivateFromLeftWithReplace.tip=Désactiver (avec remplacement) le référentiel sélectionné de la base de gauche -observe.actions.synchro.referential.desactivateFromLeftWithReplaceTask=Désactiver de la base de gauche (avec remplacement) \: %s - %s -observe.actions.synchro.referential.desactivateFromRight.tip=Désactiver (sans remplacement) le référentiel sélectionné de la base de droite -observe.actions.synchro.referential.desactivateFromRightTask=Désactiver de la base de droite (sans remplacement) \: %s - %s -observe.actions.synchro.referential.desactivateFromRightWithReplace.tip=Désactiver (avec remplacement) le référentiel sélectionné de la base de droite -observe.actions.synchro.referential.desactivateFromRightWithReplaceTask=Désactiver de la base de droite (avec remplacement) \: %s - %s -observe.actions.synchro.referential.description=Synchronisation bi-directionnelle de référentiel +observe.actions.synchro.referential=Synchronisation avancée du référentiel +observe.actions.synchro.referential.action.copyToLeft.tip=Copier le référentiel sélectionné vers la base de gauche +observe.actions.synchro.referential.action.copyToRight.tip=Copier le référentiel sélectionné vers la base de droite +observe.actions.synchro.referential.action.deleteFromLeft.tip=Supprimer le reférentiel sélectionnée de la base de gauche +observe.actions.synchro.referential.action.deleteFromRight.tip=Supprimer le référentiel sélectionnée de la base de droite +observe.actions.synchro.referential.action.desactivateFromLeft.tip=Désactiver (sans remplacement) le référentiel sélectionné dans la base de gauche +observe.actions.synchro.referential.action.desactivateFromRight.tip=Désactiver (sans remplacement) le référentiel sélectionné dans la base de droite +observe.actions.synchro.referential.action.revertFromLeft.tip=Revenir en arrière du référentiel sélectionné à gauche +observe.actions.synchro.referential.action.revertFromRight.tip=Revenir en arrière du référentiel sélectionné à droite +observe.actions.synchro.referential.action.skipFromLeft.tip=Ne rien faire sur le référentiel sélectionné à gauche +observe.actions.synchro.referential.action.skipFromRight.tip=Ne rien faire sur le référentiel sélectionné à droite +observe.actions.synchro.referential.config.mode=Mode de synchronisation +observe.actions.synchro.referential.description=Synchronisation avancée du référentiel observe.actions.synchro.referential.launch.operation=Démarrer l'opération < %1$s > observe.actions.synchro.referential.legacy=Synchronisation du référentiel observe.actions.synchro.referential.legacy.description=Synchroniser le référentiel depuis la base centrale @@ -274,27 +266,30 @@ observe.actions.synchro.referential.message.saveLocal.skip=L'opération de sauve observe.actions.synchro.referential.message.synchro.local.modification=Des données ont été modifiées et la base locale doit être sauvée. observe.actions.synchro.referential.obsolete.entities.list=Liste des entités du référentiel obsolètes observe.actions.synchro.referential.obsolete.entity.fix=Changer les références sur l'objet sélectionné -observe.actions.synchro.referential.prepare.copyToLeftTask=Préparation de la recopie vers la base de gauche \: %s - %s -observe.actions.synchro.referential.prepare.copyToRightTask=Préparation de la recopie vers la base de droite \: %s - %s -observe.actions.synchro.referential.prepare.deleteFromLeftTask=Préparation de la suppression de la base de gauche \: %s - %s -observe.actions.synchro.referential.prepare.deleteFromRightTask=Préparation de la suppression de la base de droite \: %s - %s -observe.actions.synchro.referential.prepare.desactivateFromLeftTask=Préparation de la désactivation de la base de gauche (sans remplacement) \: %s - %s -observe.actions.synchro.referential.prepare.desactivateFromLeftWithReplaceTask=Préparation de la désactivation de la base de gauche (avec remplacement) \: %s - %s -observe.actions.synchro.referential.prepare.desactivateFromRightTask=Préparation de la désactivation de la base de droite (sans remplacement) \: %s - %s -observe.actions.synchro.referential.prepare.desactivateFromRightWithReplaceTask=Préparation de la désactivation de la base de droite (avec remplacement) \: %s - %s -observe.actions.synchro.referential.revertFromRightLeft=Préparation du retour en arrière de la base de gauche \: %s - %s -observe.actions.synchro.referential.revertFromRightTask=Préparation du retour en arrière de la base de droite \: %s - %s -observe.actions.synchro.referential.revertToLeft.tip=Revenir en arrière du référentiel sélectionné à gauche -observe.actions.synchro.referential.revertToRight.tip=Revenir en arrière du référentiel sélectionné à gauche +observe.actions.synchro.referential.replaceBefore.message=<html><body>Choisir un référentiel de remplacement de <i>%s</i> \: <b>%s</b>.<br/><br/> +observe.actions.synchro.referential.replaceBeforeDelete.title=Remplacement avant suppression - %s - %s +observe.actions.synchro.referential.replaceBeforeDesactivate.title=Remplacement avant désactivation - %s - %s observe.actions.synchro.referential.safe.entity.to.choose.label=Objets disponibles -observe.actions.synchro.referential.skipFromLeftTask=Ne pas tenir compte depuis la base de gauche \: %s - %s -observe.actions.synchro.referential.skipFromRightTask=Ne pas tenir compte depuis la base de droite \: %s - %s -observe.actions.synchro.referential.skipToLeft.tip=Ne rien faire sur le référentiel sélectionné à gauche -observe.actions.synchro.referential.skipToRight.tip=Ne rien faire sur le référentiel sélectionné à droite -observe.actions.synchro.referential.step=Synchronisation bi-directionnelle de référentiel +observe.actions.synchro.referential.step=Synchronisation avancée du référentiel observe.actions.synchro.referential.step.description=Synchronisation bi-directionnelle de référentiel -observe.actions.synchro.referential.title=Synchronisation bi-directionnelle de référentiel -observe.actions.synchro.referential.title.tip=Synchronisation bi-directionnelle de référentiel +observe.actions.synchro.referential.task.addToLeft=<html><body>Ajouter dans la base de gauche \: <i>%s</i> - «<b>%s</b>» +observe.actions.synchro.referential.task.addToRight=<html><body>Ajouter dans la base de droite \: <i>%s</i> - «<b>%s</b>» +observe.actions.synchro.referential.task.deleteFromLeft=<html><body>Supprimer dans la base de gauche \: <i>%s</i> - «<b>%s</b>» +observe.actions.synchro.referential.task.deleteFromRight=<html><body>Supprimer dans la base de droite \: <i>%s</i> - «<b>%s</b>» à remplacer par «<b>%s</b>» +observe.actions.synchro.referential.task.desactivateFromLeft=<html><body>Désactiver (sans remplacement) dans la base de gauche \: <i>%s</i> - «<b>%s</b>» +observe.actions.synchro.referential.task.desactivateFromRight=<html><body>Désactiver (sans remplacement) dans la base dans droite \: <i>%s</i> - «<b>%s</b>» +observe.actions.synchro.referential.task.desactivateWithReplaceFromLeft=<html><body>Désactiver dans la base de gauche \: <i>%s</i> - «<b>%s</b>» à remplacer par «<b>%s</b>» +observe.actions.synchro.referential.task.desactivateWithReplaceFromRight=<html><body>Désactiver dans la base de droite \: <i>%s</i> - «<b>%s</b>» à remplacer par «<b>%s</b>» +observe.actions.synchro.referential.task.prepare=Enregistement de l'action %s +observe.actions.synchro.referential.task.revertFromLeft=<html><body>Revenir en arrière dans la base de gauche \: <i>%s</i> - «<b>%s</b>» +observe.actions.synchro.referential.task.revertFromRight=<html><body>Revenir en arrière dans la base de droite \: <i>%s</i> - «<b>%s</b>» +observe.actions.synchro.referential.task.skipFromLeft=<html><body>Ne rien faire dans la base de gauche \: <i>%s</i> - «<b>%s</b>» +observe.actions.synchro.referential.task.skipFromRight=<html><body>Ne rien faire dans la base de droite \: <i>%s</i> - «<b>%s</b>» +observe.actions.synchro.referential.task.updateToLeft=<html><body>Mettre à jour dans la base de gauche \: <i>%s</i> - «<b>%s</b>» +observe.actions.synchro.referential.task.updateToRight=<html><body>Mettre à jour dans la base de droite \: <i>%s</i> - «<b>%s</b>» +observe.actions.synchro.referential.title=Synchronisation avancée du référentiel +observe.actions.synchro.referential.title.tip=Synchronisation avancée du référentiel +observe.actions.synchro.referential.withMode=Synchronisation du référentiel (%s) observe.actions.synchro.report.reset.tip=Déselectionner le report courant. observe.actions.validate=Valider les données observe.actions.validate.choose.report.directory=Choisir le répertoire des rapports @@ -357,6 +352,7 @@ observe.choice.doNotSave=Ne pas enregistrer observe.choice.doNothing=Ne rien faire observe.choice.not.create.fin.veille.activity.and.continue=Ne pas créer l'activité de fin de veille et continuer observe.choice.quit=Fermer +observe.choice.replace=Remplacer observe.choice.save=Enregistrer observe.choice.useRemoteStorage=Utiliser une base distante observe.codeMesureEnum.ld1=LD1 @@ -1964,8 +1960,10 @@ observe.storage.config.data.mode=Mode d'import des données observe.storage.config.data.storage=Configuration de la base de données observe.storage.config.export.required.read.data=Vous devez posséder les droits de lecture sur les données de la base distante observe.storage.config.export.required.read.referentiel=Vous devez posséder les droits de lecture sur le référentiel de la base distante +observe.storage.config.left.storage=Configuration de la base de gauche observe.storage.config.referentiel.mode=Mode d'import du référentiel observe.storage.config.referentiel.storage=Configuration de la base de référence +observe.storage.config.right.storage=Configuration de la base de droite observe.storage.config.source.storage=Configuration de la base source observe.storage.connexionStatut.failed=Connexion échouée observe.storage.connexionStatut.failed.description=La connexion a échouée pour la raison suivante \:\n %1$s @@ -2034,7 +2032,12 @@ observe.storage.label.remote=Base distante observe.storage.label.server=Serveur Distant observe.storage.label.synchro=Base de synchronisation observe.storage.label.synchro.incoming=Base source <%1$s> +observe.storage.label.synchro.incoming.name=base source +observe.storage.label.synchro.leftSource=Base de gauche <%1$s> +observe.storage.label.synchro.leftSource.name=base de gauche observe.storage.label.synchro.referentiel=Base centrale <%1$s> +observe.storage.label.synchro.rightSource=Base de droite <%1$s> +observe.storage.label.synchro.rightSource.name=base de droite observe.storage.locale.db=(locale) observe.storage.message.closed=La connexion [%1$s] est fermé observe.storage.message.closing=Fermeture de la connexion [%1$s] diff --git a/observe-application-swing/src/main/resources/icons/action-desactivateFromRightWithReplace.png b/observe-application-swing/src/main/resources/icons/action-desactivateWithReplaceFromLeft.png similarity index 100% rename from observe-application-swing/src/main/resources/icons/action-desactivateFromRightWithReplace.png rename to observe-application-swing/src/main/resources/icons/action-desactivateWithReplaceFromLeft.png diff --git a/observe-application-swing/src/main/resources/icons/action-desactivateFromLeftWithReplace.png b/observe-application-swing/src/main/resources/icons/action-desactivateWithReplaceFromRight.png similarity index 100% rename from observe-application-swing/src/main/resources/icons/action-desactivateFromLeftWithReplace.png rename to observe-application-swing/src/main/resources/icons/action-desactivateWithReplaceFromRight.png diff --git a/observe-application-swing/src/main/resources/icons/action-synchroUpdate.png b/observe-application-swing/src/main/resources/icons/action-synchroUpdate.png index 61a8556..e501b66 100644 Binary files a/observe-application-swing/src/main/resources/icons/action-synchroUpdate.png and b/observe-application-swing/src/main/resources/icons/action-synchroUpdate.png 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 feature/4309_synchro_referential in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 3687c3dd551c45f5cb7f46da0f45a51ee7f987ce Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Aug 13 18:00:46 2016 +0200 change log level --- .../application/swing/decoration/decorators/ObserveDecorator.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/observe-application-swing-decoration/src/main/java/fr/ird/observe/application/swing/decoration/decorators/ObserveDecorator.java b/observe-application-swing-decoration/src/main/java/fr/ird/observe/application/swing/decoration/decorators/ObserveDecorator.java index 487b012..339ed32 100644 --- a/observe-application-swing-decoration/src/main/java/fr/ird/observe/application/swing/decoration/decorators/ObserveDecorator.java +++ b/observe-application-swing-decoration/src/main/java/fr/ird/observe/application/swing/decoration/decorators/ObserveDecorator.java @@ -124,15 +124,15 @@ public class ObserveDecorator<E> extends MultiJXPathDecorator<E> implements Clon } protected Comparable<?> getDefaultUndefinedValue(String token) { - if (log.isWarnEnabled()) { - log.warn("No defined value for token [" + token + "]"); + if (log.isDebugEnabled()) { + log.debug("No defined value for token [" + token + "]"); } return t("observe.common.none"); } protected Comparable<?> getDefaultNullValue(String token) { - if (log.isWarnEnabled()) { - log.warn("Null value for token [" + token + "]"); + if (log.isDebugEnabled()) { + log.debug("Null value for token [" + token + "]"); } return t("observe.common.none"); } -- 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 feature/4309_synchro_referential in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 89a4ea3db9529222769f30f087e45cbed16a2b53 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Aug 13 18:07:32 2016 +0200 alignement du service pour les taches sql à generer --- .../referential/ng/action/ApplyAction.java | 10 ++- .../ng/ReferentialSynchronizeRequest.java | 92 +++++++++++++--------- ...ask.java => ReferentialSynchronizeAddTask.java} | 4 +- .../ng/task/ReferentialSynchronizeDeleteTask.java | 11 ++- .../ReferentialSynchronizeDesactivateTask.java | 11 ++- ....java => ReferentialSynchronizeRevertTask.java} | 4 +- .../ng/task/ReferentialSynchronizeTaskSupport.java | 8 +- ....java => ReferentialSynchronizeUpdateTask.java} | 4 +- .../ReferentialSynchronizeDiffServiceTopia.java | 44 +++++++++-- .../ng/ReferentialSynchronizeServiceTopia.java | 43 +++++++--- 10 files changed, 159 insertions(+), 72 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/ApplyAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/ApplyAction.java index ad2ae6f..76e83c2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/ApplyAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/synchronize/referential/ng/action/ApplyAction.java @@ -67,26 +67,28 @@ public class ApplyAction extends AbstractObserveAction { } if (task instanceof DeleteReferentialSynchronizeTask) { + DeleteReferentialSynchronizeTask task1 = (DeleteReferentialSynchronizeTask) task; handler.sendMessage(taskLabel); - leftReferentialSynchronizeRequestBuilder.addDeleteTask((task.getData())); + leftReferentialSynchronizeRequestBuilder.addDeleteTask(task1.getData(), task1.getReplaceData()); continue; } if (task instanceof DesactivateReferentialSynchronizeTask) { + DesactivateReferentialSynchronizeTask task1 = (DesactivateReferentialSynchronizeTask) task; handler.sendMessage(taskLabel); - leftReferentialSynchronizeRequestBuilder.addDesactivateWithReplaceTask((task.getData())); + leftReferentialSynchronizeRequestBuilder.addDesactivateTask(task1.getData(), task1.getReplaceData()); continue; } if (task instanceof RevertReferentialSynchronizeTask) { handler.sendMessage(taskLabel); - leftReferentialSynchronizeRequestBuilder.addRevertTask((task.getData())); + leftReferentialSynchronizeRequestBuilder.addRevertTask(task.getData()); continue; } if (task instanceof UpdateToReferentialSynchronizeTask) { handler.sendMessage(taskLabel); - leftReferentialSynchronizeRequestBuilder.addUpdateTask((task.getData())); + leftReferentialSynchronizeRequestBuilder.addUpdateTask(task.getData()); } } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/ReferentialSynchronizeRequest.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/ReferentialSynchronizeRequest.java index 7cc78be..3ddcb8a 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/ReferentialSynchronizeRequest.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/ReferentialSynchronizeRequest.java @@ -1,10 +1,13 @@ package fr.ird.observe.services.service.actions.synchro.referential.ng; import com.google.common.collect.ImmutableSet; -import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeCopyTask; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeAddTask; import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeDeleteTask; import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeDesactivateTask; -import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeDesactivateWithReplaceTask; +import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeRevertTask; +import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeUpdateTask; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -32,9 +35,17 @@ public class ReferentialSynchronizeRequest { */ private final boolean oppositeH2; /** - * Copy tasks. + * Add tasks. */ - private final ImmutableSet<ReferentialSynchronizeCopyTask> copyTasks; + private final ImmutableSet<ReferentialSynchronizeAddTask> addTasks; + /** + * Update tasks. + */ + private final ImmutableSet<ReferentialSynchronizeUpdateTask> updateTasks; + /** + * Revert tasks. + */ + private final ImmutableSet<ReferentialSynchronizeRevertTask> revertTasks; /** * Delete tasks. */ @@ -43,19 +54,16 @@ public class ReferentialSynchronizeRequest { * Desactivate tasks. */ private final ImmutableSet<ReferentialSynchronizeDesactivateTask> desactivateTasks; - /** - * Desactivate with replace tasks. - */ - private final ImmutableSet<ReferentialSynchronizeDesactivateWithReplaceTask> desactivateWithReplaceTasks; public static class Builder { private final boolean h2; private final boolean oppositeH2; - private final ImmutableSet.Builder<ReferentialSynchronizeCopyTask> copyTasksBuilder = ImmutableSet.builder(); + private final ImmutableSet.Builder<ReferentialSynchronizeAddTask> addTasksBuilder = ImmutableSet.builder(); + private final ImmutableSet.Builder<ReferentialSynchronizeUpdateTask> updateTasksBuilder = ImmutableSet.builder(); + private final ImmutableSet.Builder<ReferentialSynchronizeRevertTask> revertTasksBuilder = ImmutableSet.builder(); private final ImmutableSet.Builder<ReferentialSynchronizeDeleteTask> deleteTasksBuilder = ImmutableSet.builder(); private final ImmutableSet.Builder<ReferentialSynchronizeDesactivateTask> desactivateTasksBuilder = ImmutableSet.builder(); - private final ImmutableSet.Builder<ReferentialSynchronizeDesactivateWithReplaceTask> desactivateWithReplaceTasksBuilder = ImmutableSet.builder(); public Builder(boolean h2, boolean oppositeH2) { this.h2 = h2; @@ -63,48 +71,63 @@ public class ReferentialSynchronizeRequest { } public ReferentialSynchronizeRequest build() { - return new ReferentialSynchronizeRequest(h2, oppositeH2, copyTasksBuilder.build(), deleteTasksBuilder.build(), desactivateTasksBuilder.build(), desactivateWithReplaceTasksBuilder.build()); + return new ReferentialSynchronizeRequest(h2, oppositeH2, addTasksBuilder.build(), updateTasksBuilder.build(), revertTasksBuilder.build(), deleteTasksBuilder.build(), desactivateTasksBuilder.build()); } - public Builder addDeleteTask(ReferentialSynchronizeDeleteTask<?> task) { + public <R extends ReferentialDto> Builder addDeleteTask(ReferentialReference<R> reference, ReferentialReference<R> replaceReference) { if (log.isInfoEnabled()) { - log.info("Add delete task for data: " + task.getReferentialType().getName() + " / " + task.getReferentialId()); + log.info("Add delete task for data: " + reference.getType().getName() + " / " + reference.getId()); } - deleteTasksBuilder.add(task); + deleteTasksBuilder.add(new ReferentialSynchronizeDeleteTask<>(reference, replaceReference)); return this; } - public Builder addDesactivateTask(ReferentialSynchronizeDesactivateTask<?> task) { + public <R extends ReferentialDto> Builder addDesactivateTask(ReferentialReference<R> reference, ReferentialReference<R> replaceReference) { if (log.isInfoEnabled()) { - log.info("Add desactivate (without replacement) task for data: " + task.getReferentialType().getName() + " / " + task.getReferentialId()); + log.info("Add desactivate (without replacement) task for data: " + reference.getType().getName() + " / " + reference.getId()); } - desactivateTasksBuilder.add(task); + desactivateTasksBuilder.add(new ReferentialSynchronizeDesactivateTask<>(reference, replaceReference)); return this; } - public Builder addDesactivateWithReplaceTask(ReferentialSynchronizeDesactivateWithReplaceTask<?> task) { + public <R extends ReferentialDto> Builder addAddTask(ReferentialReference<R> reference) { + if (log.isInfoEnabled()) { + log.info("Add add task for trip: " + reference.getType().getName() + " / " + reference.getId()); + } + addTasksBuilder.add(new ReferentialSynchronizeAddTask<>(reference)); + return this; + } + public <R extends ReferentialDto> Builder addUpdateTask(ReferentialReference<R> reference) { if (log.isInfoEnabled()) { - log.info("Add desactivate (with replacement) task for data: " + task.getReferentialType().getName() + " / " + task.getReferentialId()); + log.info("Add update task for trip: " + reference.getType().getName() + " / " + reference.getId()); } - desactivateWithReplaceTasksBuilder.add(task); + updateTasksBuilder.add(new ReferentialSynchronizeUpdateTask<>(reference)); return this; } - public Builder addCopyTask(ReferentialSynchronizeCopyTask<?> task) { + public <R extends ReferentialDto> Builder addRevertTask(ReferentialReference<R> reference) { if (log.isInfoEnabled()) { - log.info("Add copy task for trip: " + task.getReferentialType().getName() + " / " + task.getReferentialId()); + log.info("Add revert task for trip: " + reference.getType().getName() + " / " + reference.getId()); } - copyTasksBuilder.add(task); + revertTasksBuilder.add(new ReferentialSynchronizeRevertTask<>(reference)); return this; } } - public ImmutableSet<ReferentialSynchronizeCopyTask> getCopyTasks() { - return copyTasks; + public ImmutableSet<ReferentialSynchronizeAddTask> getAddTasks() { + return addTasks; + } + + public ImmutableSet<ReferentialSynchronizeUpdateTask> getUpdateTasks() { + return updateTasks; + } + + public ImmutableSet<ReferentialSynchronizeRevertTask> getRevertTasks() { + return revertTasks; } public ImmutableSet<ReferentialSynchronizeDeleteTask> getDeleteTasks() { @@ -115,12 +138,8 @@ public class ReferentialSynchronizeRequest { return desactivateTasks; } - public ImmutableSet<ReferentialSynchronizeDesactivateWithReplaceTask> getDesactivateWithReplaceTasks() { - return desactivateWithReplaceTasks; - } - public boolean isNotEmpty() { - return !(copyTasks.isEmpty() && deleteTasks.isEmpty() && desactivateTasks.isEmpty() && desactivateWithReplaceTasks.isEmpty()); + return !(addTasks.isEmpty() && updateTasks.isEmpty() && revertTasks.isEmpty() && deleteTasks.isEmpty() && desactivateTasks.isEmpty()); } public boolean isOppositeH2() { @@ -132,15 +151,16 @@ public class ReferentialSynchronizeRequest { } private ReferentialSynchronizeRequest(boolean h2, boolean oppositeH2, - ImmutableSet<ReferentialSynchronizeCopyTask> copyTasks, - ImmutableSet<ReferentialSynchronizeDeleteTask> deleteTasks, - ImmutableSet<ReferentialSynchronizeDesactivateTask> desactivateTasks, - ImmutableSet<ReferentialSynchronizeDesactivateWithReplaceTask> desactivateWithReplaceTasks) { + ImmutableSet<ReferentialSynchronizeAddTask> addTasks, + ImmutableSet<ReferentialSynchronizeUpdateTask> updateTasks, + ImmutableSet<ReferentialSynchronizeRevertTask> revertTasks, ImmutableSet<ReferentialSynchronizeDeleteTask> deleteTasks, + ImmutableSet<ReferentialSynchronizeDesactivateTask> desactivateTasks) { this.h2 = h2; this.oppositeH2 = oppositeH2; - this.copyTasks = copyTasks; + this.addTasks = addTasks; + this.updateTasks = updateTasks; + this.revertTasks = revertTasks; this.deleteTasks = deleteTasks; this.desactivateTasks = desactivateTasks; - this.desactivateWithReplaceTasks = desactivateWithReplaceTasks; } } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeCopyTask.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeAddTask.java similarity index 62% copy from observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeCopyTask.java copy to observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeAddTask.java index 82b91ee..030877b 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeCopyTask.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeAddTask.java @@ -9,9 +9,9 @@ import fr.ird.observe.services.dto.referential.ReferentialReference; * @author Tony Chemit - chemit@codelutin.com * @since 5.0 */ -public class ReferentialSynchronizeCopyTask<Type extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<Type> { +public class ReferentialSynchronizeAddTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { - public ReferentialSynchronizeCopyTask(ReferentialReference<Type> reference) { + public ReferentialSynchronizeAddTask(ReferentialReference<R> reference) { super(reference); } } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDeleteTask.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDeleteTask.java index b6c0baa..4d1d5a2 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDeleteTask.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDeleteTask.java @@ -9,9 +9,16 @@ import fr.ird.observe.services.dto.referential.ReferentialReference; * @author Tony Chemit - chemit@codelutin.com * @since 5.0 */ -public class ReferentialSynchronizeDeleteTask<Type extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<Type> { +public class ReferentialSynchronizeDeleteTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { - public ReferentialSynchronizeDeleteTask(ReferentialReference<Type> reference) { + private final ReferentialReference<R> replaceReference; + + public ReferentialSynchronizeDeleteTask(ReferentialReference<R> reference, ReferentialReference<R> replaceReference) { super(reference); + this.replaceReference = replaceReference; + } + + public ReferentialReference<R> getReplaceReference() { + return replaceReference; } } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDesactivateTask.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDesactivateTask.java index f55853f..4c44ad1 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDesactivateTask.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDesactivateTask.java @@ -9,9 +9,16 @@ import fr.ird.observe.services.dto.referential.ReferentialReference; * @author Tony Chemit - chemit@codelutin.com * @since 5.0 */ -public class ReferentialSynchronizeDesactivateTask<Type extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<Type> { +public class ReferentialSynchronizeDesactivateTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { - public ReferentialSynchronizeDesactivateTask(ReferentialReference<Type> reference) { + private final ReferentialReference<R> replaceReference; + + public ReferentialSynchronizeDesactivateTask(ReferentialReference<R> reference, ReferentialReference<R> replaceReference) { super(reference); + this.replaceReference = replaceReference; + } + + public ReferentialReference<R> getReplaceReference() { + return replaceReference; } } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDesactivateWithReplaceTask.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeRevertTask.java similarity index 58% rename from observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDesactivateWithReplaceTask.java rename to observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeRevertTask.java index 8a9a7f6..7510e5e 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeDesactivateWithReplaceTask.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeRevertTask.java @@ -9,9 +9,9 @@ import fr.ird.observe.services.dto.referential.ReferentialReference; * @author Tony Chemit - chemit@codelutin.com * @since 5.0 */ -public class ReferentialSynchronizeDesactivateWithReplaceTask<Type extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<Type> { +public class ReferentialSynchronizeRevertTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { - public ReferentialSynchronizeDesactivateWithReplaceTask(ReferentialReference<Type> reference) { + public ReferentialSynchronizeRevertTask(ReferentialReference<R> reference) { super(reference); } } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeTaskSupport.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeTaskSupport.java index 9771238..a9f3e8d 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeTaskSupport.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeTaskSupport.java @@ -9,18 +9,18 @@ import fr.ird.observe.services.dto.referential.ReferentialReference; * @author Tony Chemit - chemit@codelutin.com * @since 5.0 */ -public abstract class ReferentialSynchronizeTaskSupport<Type extends ReferentialDto> { +public abstract class ReferentialSynchronizeTaskSupport<R extends ReferentialDto> { - private final Class<Type> referentialType; + private final Class<R> referentialType; private final String referentialId; private byte[] dataContent; - protected ReferentialSynchronizeTaskSupport(ReferentialReference<Type> reference) { + protected ReferentialSynchronizeTaskSupport(ReferentialReference<R> reference) { this.referentialType = reference.getType(); this.referentialId = reference.getId(); } - public Class<Type> getReferentialType() { + public Class<R> getReferentialType() { return referentialType; } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeCopyTask.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeUpdateTask.java similarity index 62% rename from observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeCopyTask.java rename to observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeUpdateTask.java index 82b91ee..67397ca 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeCopyTask.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/task/ReferentialSynchronizeUpdateTask.java @@ -9,9 +9,9 @@ import fr.ird.observe.services.dto.referential.ReferentialReference; * @author Tony Chemit - chemit@codelutin.com * @since 5.0 */ -public class ReferentialSynchronizeCopyTask<Type extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<Type> { +public class ReferentialSynchronizeUpdateTask<R extends ReferentialDto> extends ReferentialSynchronizeTaskSupport<R> { - public ReferentialSynchronizeCopyTask(ReferentialReference<Type> reference) { + public ReferentialSynchronizeUpdateTask(ReferentialReference<R> reference) { super(reference); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffServiceTopia.java index 4a24685..ea0d1bc 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffServiceTopia.java @@ -13,6 +13,7 @@ import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.TopiaDao; +import org.nuiton.util.TimeLog; import java.util.List; @@ -27,6 +28,8 @@ public class ReferentialSynchronizeDiffServiceTopia extends ObserveServiceTopia /** Logger. */ private static final Log log = LogFactory.getLog(ReferentialSynchronizeDiffServiceTopia.class); + private static final TimeLog timeLog = new TimeLog(ReferentialSynchronizeDiffServiceTopia.class); + @Override public <R extends ReferentialDto> ReferentialReferenceSet<R> getEnabledReferentialReferenceSet(Class<R> referentialName) { @@ -34,10 +37,9 @@ public class ReferentialSynchronizeDiffServiceTopia extends ObserveServiceTopia log.trace("getEnabledReferentialReferenceSet(" + referentialName + ")"); } - ObserveEntityEnum entityEnum = ObserveEntityEnum.valueOf(referentialName); - Class<? extends ObserveReferentialEntity> entityType = (Class) entityEnum.getContract(); - Class<R> dtoType = BinderEngine.get().getReferentialDtoType(entityType); - ReferentialReferenceSet<R> result = getEnabledReferenceSet0(entityType, dtoType); + Class<? extends ObserveReferentialEntity> entityType = BinderEngine.get().getReferentialEntityType(referentialName); + ObserveEntityEnum entityEnum = ObserveEntityEnum.valueOf(entityType); + ReferentialReferenceSet<R> result = getEnabledReferenceSet0(entityType, referentialName); return result; } @@ -71,28 +73,52 @@ public class ReferentialSynchronizeDiffServiceTopia extends ObserveServiceTopia return referentialStates; } - private <E extends ObserveReferentialEntity, R extends ReferentialDto> ReferentialReferenceSet<R> getReferenceSet0(Class<E> entityType, Class<R> dtoType, ImmutableSet<String> ids) { + private <E extends ObserveReferentialEntity, R extends ReferentialDto> ReferentialReferenceSet<R> getReferenceSet0(Class<E> entityType, Class<R> referentialName, ImmutableSet<String> ids) { + + long startTime = TimeLog.getTime(); + + if (log.isDebugEnabled()) { + log.debug("Loading referential references for " + referentialName.getName()); + } ObserveTopiaPersistenceContext persistenceContext = getTopiaPersistenceContext(); TopiaDao<E> dao = persistenceContext.getDao(entityType); List<E> entities = dao.forTopiaIdIn(ids).findAll(); - ReferentialReferenceSet<R> result = toReferentialReferenceSet(dtoType, entities, null); + ReferentialReferenceSet<R> result = toReferentialReferenceSet(referentialName, entities, null); + + timeLog.log(startTime, "getReferenceSet0", referentialName.getName()); + return result; } - private <E extends ObserveReferentialEntity, R extends ReferentialDto> ReferentialReferenceSet<R> getEnabledReferenceSet0(Class<E> entityType, Class<R> dtoType) { + private <E extends ObserveReferentialEntity, R extends ReferentialDto> ReferentialReferenceSet<R> getEnabledReferenceSet0(Class<E> entityType, Class<R> referentialName) { + + long startTime = TimeLog.getTime(); + + if (log.isDebugEnabled()) { + log.debug("Loading enabled referential references for " + referentialName.getName()); + } ObserveTopiaPersistenceContext persistenceContext = getTopiaPersistenceContext(); TopiaDao<E> dao = persistenceContext.getDao(entityType); List<E> entities = dao.forEquals(ObserveReferentialEntity.PROPERTY_STATUS, ReferenceStatusPersist.enabled).findAll(); - ReferentialReferenceSet<R> result = toReferentialReferenceSet(dtoType, entities, null); + ReferentialReferenceSet<R> result = toReferentialReferenceSet(referentialName, entities, null); + + timeLog.log(startTime, "getEnabledReferenceSet0", referentialName.getName()); + return result; } private <E extends ObserveReferentialEntity, R extends ReferentialDto> void getLocalSourceReferentialVersions0(Class<R> referentialName, Class<E> entityType, ReferentialDataSourceStates localReferentialStates) { + long startTime = TimeLog.getTime(); + + if (log.isDebugEnabled()) { + log.debug("Loading referential states for " + referentialName.getName()); + } + ReferentialDataSourceState<R> referentialDataSourceState = new ReferentialDataSourceState<>(referentialName); TopiaDao<E> dao = getTopiaPersistenceContext().getDao(entityType); for (E e : dao) { @@ -103,6 +129,8 @@ public class ReferentialSynchronizeDiffServiceTopia extends ObserveServiceTopia } localReferentialStates.addReferentialVersion(referentialName, referentialDataSourceState); + timeLog.log(startTime, "getLocalSourceReferentialVersions0", referentialName.getName()); + } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/ReferentialSynchronizeServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/ReferentialSynchronizeServiceTopia.java index 4feb069..f736624 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/ReferentialSynchronizeServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/ng/ReferentialSynchronizeServiceTopia.java @@ -7,10 +7,10 @@ import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.service.AddSqlScriptProducerRequest; import fr.ird.observe.services.service.DeleteSqlScriptProducerRequest; import fr.ird.observe.services.service.SqlScriptProducerService; -import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeCopyTask; +import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeAddTask; import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeDeleteTask; import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeDesactivateTask; -import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeDesactivateWithReplaceTask; +import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeUpdateTask; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -36,10 +36,32 @@ public class ReferentialSynchronizeServiceTopia extends ObserveServiceTopia impl @Override public void prepareRequestOnOppositeDataSource(ReferentialSynchronizeRequest request) { - for (ReferentialSynchronizeCopyTask copyTask : request.getCopyTasks()) { + for (ReferentialSynchronizeAddTask copyTask : request.getAddTasks()) { if (log.isInfoEnabled()) { - log.info("Obtain data sql copy content: " + copyTask.getReferentialType().getName() + " / " + copyTask.getReferentialId()); + log.info("Obtain add data sql copy content: " + copyTask.getReferentialType().getName() + " / " + copyTask.getReferentialId()); + } + + // get the data content + + AddSqlScriptProducerRequest sqlRequest; + if (request.isOppositeH2()) { + sqlRequest = AddSqlScriptProducerRequest.forH2(); + } else { + sqlRequest = AddSqlScriptProducerRequest.forPostgres(); + } + sqlRequest.dataIdsToAdd(ImmutableSet.of(copyTask.getReferentialId())); + byte[] sqlScript = sqlScriptProducerService.produceAddSqlScript(sqlRequest); + + // store it in task + copyTask.setDataContent(sqlScript); + + } + + for (ReferentialSynchronizeUpdateTask copyTask : request.getUpdateTasks()) { + + if (log.isInfoEnabled()) { + log.info("Obtain update data sql copy content: " + copyTask.getReferentialType().getName() + " / " + copyTask.getReferentialId()); } // get the data content @@ -104,32 +126,33 @@ public class ReferentialSynchronizeServiceTopia extends ObserveServiceTopia impl } - for (ReferentialSynchronizeCopyTask task : request.getCopyTasks()) { + for (ReferentialSynchronizeAddTask task : request.getAddTasks()) { if (log.isInfoEnabled()) { - log.info("Copy data: " + task.getReferentialType().getName() + " / " + task.getReferentialId()); + log.info("Add data: " + task.getReferentialType().getName() + " / " + task.getReferentialId()); } serviceContext.getTopiaApplicationContext().executeSqlStatements(task.getDataContent()); } - for (ReferentialSynchronizeDesactivateTask task : request.getDesactivateTasks()) { + for (ReferentialSynchronizeUpdateTask task : request.getUpdateTasks()) { if (log.isInfoEnabled()) { - log.info("Desactivate data (without replacement) : " + task.getReferentialType().getName() + " / " + task.getReferentialId()); + log.info("Update data: " + task.getReferentialType().getName() + " / " + task.getReferentialId()); } serviceContext.getTopiaApplicationContext().executeSqlStatements(task.getDataContent()); } - for (ReferentialSynchronizeDesactivateWithReplaceTask task : request.getDesactivateWithReplaceTasks()) { + for (ReferentialSynchronizeDesactivateTask task : request.getDesactivateTasks()) { if (log.isInfoEnabled()) { - log.info("Desactivate data (with replacement) : " + task.getReferentialType().getName() + " / " + task.getReferentialId()); + log.info("Desactivate data (without replacement) : " + task.getReferentialType().getName() + " / " + task.getReferentialId()); } serviceContext.getTopiaApplicationContext().executeSqlStatements(task.getDataContent()); } + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm