branch feature/8180 updated (943c4a4 -> c88cba4)
This is an automated email from the git hooks/post-receive script. New change to branch feature/8180 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git from 943c4a4 Use too elementary cell adds 7cc43a1 Add cr réunion adds abb0eb3 Ajout d'un script pour faciliter les mises à jour (See #8175) adds fbd0194 Mise à jour de la documentation des mise à jour (See #8175) adds 3089b78 Mise à jour de la documentation d'installation (pré-requis tomcat 8) adds 6cb3384 Mise en place du script de mise à jour au démarrage de l'application (See #8175) adds 23c79a3 Merge branch 'feature/8175' into develop adds 98dfab4 Complete documentation for libreoffice (refs #8008) adds 07c92ed Fix copy update script adds 58fb101 Get the last model version from 8180 feature adds 831ccc5 Modify topia version adds de0e522 [jgitflow-maven-plugin]updating poms for 4.0-SNAPSHOT development adds b3a6311 [jgitflow-maven-plugin]updating develop poms to master versions to avoid merge conflicts adds 2979db7 [jgitflow-maven-plugin]updating poms for 4.0-alpha-2 branch with snapshot versions adds 320d3d0 Fix license headers adds 297e5af [jgitflow-maven-plugin]updating poms for branch'release/4.0-alpha-2' with non-snapshot versions adds 09f06f6 [jgitflow-maven-plugin]merging 'release/4.0-alpha-2' into 'master' adds 9534a3d [jgitflow-maven-plugin]merging 'master' into 'develop' adds aa9a6ec [jgitflow-maven-plugin]Updating develop poms back to pre merge state adds a46492a Fix type no usefull refs #8353 adds 00bc763 Fix column name refs #8353 adds 4de4f43 Add forget callback for migration refs #8353 adds fcc059d [jgitflow-maven-plugin]updating develop poms to master versions to avoid merge conflicts adds 907cfc4 [jgitflow-maven-plugin]updating poms for 4.0-alpha-3 branch with snapshot versions adds 468e955 [jgitflow-maven-plugin]updating poms for branch'release/4.0-alpha-3' with non-snapshot versions adds 5ef97c9 [jgitflow-maven-plugin]merging 'release/4.0-alpha-3' into 'master' adds 53fec10 [jgitflow-maven-plugin]merging 'master' into 'develop' adds 4d494c8 [jgitflow-maven-plugin]Updating develop poms back to pre merge state adds 94a143d Update model image in site adds b9fb829 Rename legend in qgis adds 2ef6a93 Initalisation du referenciel adds 292e560 Test adds 46bfa10 Supression lock adds eabb0dd Fix error on Elementary cell when position is set at end adds ec1a8ab test2 adds 2a18b01 Merge branch 'develop' of https://gitlab.nuiton.org/codelutin/echobase into develop adds 569de80 From scmwebeditor -- e adds 01403aa From scmwebeditor -- dfg adds 38abb5d Improve the perfomance on search duplicate cell (ref #8165) adds c8c858c Improve the perfomance on search duplicate cell (ref #8165) adds efcf1a2 Improve the perfomance on search duplicate cell (ref #8165) adds 807db9a [jgitflow-maven-plugin]updating develop poms to master versions to avoid merge conflicts adds 22fb71d [jgitflow-maven-plugin]updating poms for 4.0-alpha-4 branch with snapshot versions adds 2a08cea Fix license header adds 8ccd467 [jgitflow-maven-plugin]updating poms for branch'release/4.0-alpha-4' with non-snapshot versions adds b5e9529 [jgitflow-maven-plugin]merging 'release/4.0-alpha-4' into 'master' adds 9ae86d8 [jgitflow-maven-plugin]merging 'master' into 'develop' adds 38dcf19 [jgitflow-maven-plugin]Updating develop poms back to pre merge state adds 5d3377b Add forgotten columns (refs #8370) adds 260dd19 Add forgotten columns (refs #8370) adds 73d35e8 [jgitflow-maven-plugin]updating develop poms to master versions to avoid merge conflicts adds 3eb5830 [jgitflow-maven-plugin]updating poms for 4.0-alpha-5 branch with snapshot versions adds 1180b01 [jgitflow-maven-plugin]updating poms for branch'release/4.0-alpha-5' with non-snapshot versions adds d15d38e [jgitflow-maven-plugin]merging 'release/4.0-alpha-5' into 'master' adds 33941c3 [jgitflow-maven-plugin]merging 'master' into 'develop' adds 1c9d999 [jgitflow-maven-plugin]Updating develop poms back to pre merge state adds eb5d1aa Handle duplication on elementary cell (refs #2246) adds 4f6c5de [jgitflow-maven-plugin]updating develop poms to master versions to avoid merge conflicts adds b7df710 [jgitflow-maven-plugin]updating poms for 4.0-alpha-6 branch with snapshot versions adds 50565e6 [jgitflow-maven-plugin]updating poms for branch'release/4.0-alpha-6' with non-snapshot versions adds 311cdf9 [jgitflow-maven-plugin]merging 'release/4.0-alpha-6' into 'master' adds db707d7 [jgitflow-maven-plugin]merging 'master' into 'develop' adds acde695 [jgitflow-maven-plugin]Updating develop poms back to pre merge state new 06a112d Add new import mode for mooring new fcb76c3 Change style new 2e685cb Plug action but they are not implemented new cf4e900 Plug action but they are not implemented new c45b350 Add form to import accoustics data for mooring new 99e85b4 Force input action for the validation new 05a6223 Implements accoustic data import for mooring new 7d474b1 Add translation new 05c4c41 Create mooring import service new 240051e Add remove strategies for mooring (not tested) new 26bbe2e Fix UI after modification on remove strategies for mooring new bfe6e95 Create IT for mooring importation new 1b4499d Finish mooring import forms new c47f954 Fix description in modification logs new e6c7d05 Begin create table in dashboard for mooring new 2071c67 Fix error on Elementary cell when position is set at end new 6f27c0e Fix tooltip, delete quote in string new 8a4f1cc Add support to display a mooring new 3f49ca8 Add support to display a mooring new d33669f Toggle visibility between voyages and morings new a7c6529 Toggle visibility between voyages and morings new 4c7ad65 Add translate new a1cb8d2 Add moring support in remove import new be9b0fc Add test on remove mooring import new ac4d5cc Add test on remove mooring acoustic import new d1c2fe1 Force migration new cad618b Force migration new b6c4248 Add test on remove mooring acoustic import new 0bc16f1 Add migration for database for the mooring new 5ae4575 Fix test due to mooring acoustic import test new 7f5fdb4 Fix test due to mooring acoustic import test new 2459a0e Improve the perfomance on search duplicate cell (ref #8165) new de9a623 Move migration to 3.907 version new 1ab5806 Move migration to 3.907 version new 54ce56d Update documentation for the mooring import new 60bca11 Refactoring avoid copy/paste on acoustic import for voyage and mooring new f255142 Fix delete import for mooring new 249211a Fix delete import for mooring new 6761c1d Refactoring on result import to make place for mooring new 27d7303 Refactoring on echotype import to make place for mooring new d25c1eb Add DataAcousticProvider in the model to avoid cast new d0a307c Create basic import AncillaryInstrumentation for Mooring new c5a4572 Add forgotten columns (refs #8370) new e8830cb Handle duplication on elementary cell (refs #2246) new b6ba2a9 Handle duplication on elementary cell (refs #2246) new 6ec47de Handle duplication on elementary cell (refs #2246) new 224bd1b Create ancillary intrumentation import for the voyage new 9c65eef Handle remove ancillary instrumentation import new a475079 Migrate database and add ancillary instrumentation new 2061223 Complete documentation on Ancillary instrumentation import new 871f148 Add echotype on mooring new 90397fc Add echotype on mooring new 251f4f7 Create service for echotype import for mooring new 791d802 Create service for esdu results import for mooring new 8d19a2d Create remove strategy for esdu results import for mooring new 9edc202 Migrate database to introduce echotype for the mooring new 38ee8f6 Complete documentation on mooring import new 3c8ff7a Clear hibernate trasaction to increase performance during flush (refs #8165) new 9425305 Add ancillary intrumentation in UI new 98ec303 Add results import for mooring in UI new 78ee58f Modify esdu cell name new a574030 Use too elementary cell new c88cba4 Merge branch 'feature/8180' of gitlab.nuiton.org:codelutin/echobase into feature/8180 The 63 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 c88cba42bfd2bd1ed7f1182b0e94dae1276a1840 Merge: a574030 943c4a4 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Wed Jul 6 10:47:44 2016 +0200 Merge branch 'feature/8180' of gitlab.nuiton.org:codelutin/echobase into feature/8180 commit a57403057f756127c4b306c2d3e5d5ad47872d4d Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Wed Jul 6 09:58:03 2016 +0200 Use too elementary cell commit 78ee58f2517e2875e9a9a1bf0190072b7992df48 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Tue Jul 5 18:18:00 2016 +0200 Modify esdu cell name commit 98ec3032076abb7d50c9a17b1c44abfd81d54cc1 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Tue Jul 5 18:06:49 2016 +0200 Add results import for mooring in UI commit 94253052abfb658a6e2e64e3d0d0e11846b2109e Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Tue Jul 5 16:03:40 2016 +0200 Add ancillary intrumentation in UI commit 3c8ff7a5035834d005df80f143357ba5459a836c Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Tue Jul 5 14:52:10 2016 +0200 Clear hibernate trasaction to increase performance during flush (refs #8165) commit 38ee8f61ddde174357637692d1ca47ebe11bef71 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jul 4 17:33:23 2016 +0200 Complete documentation on mooring import commit 9edc2020e89f572ecf0bebd706bd198c0b1b4fac Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jul 4 17:14:17 2016 +0200 Migrate database to introduce echotype for the mooring commit 8d19a2d42e5954f01bd87e01e8f1a0ad3d2e63ac Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jul 4 17:11:36 2016 +0200 Create remove strategy for esdu results import for mooring commit 791d80244d3bfd977bb791c8e24908064a5a78a2 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jul 4 16:55:07 2016 +0200 Create service for esdu results import for mooring commit 251f4f75b01218e6ef2bddf34ce06db6d3dee33c Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jul 4 15:19:17 2016 +0200 Create service for echotype import for mooring commit 90397fc792ad8442d33036f534f6675ba737bf07 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jul 4 14:04:47 2016 +0200 Add echotype on mooring commit 871f1481bfd3119fd2a99ca79f6189bab4320c80 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jul 4 14:03:59 2016 +0200 Add echotype on mooring commit 2061223c69b217d314121e880bcabcbece4268a2 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jul 4 12:00:48 2016 +0200 Complete documentation on Ancillary instrumentation import commit a4750799ad06123cd4ce8e5de9b4a6fd3cdcf7af Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jul 4 11:47:06 2016 +0200 Migrate database and add ancillary instrumentation commit 9c65eefedcd87e49b586a860cad04617d424e55f Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jul 4 11:23:24 2016 +0200 Handle remove ancillary instrumentation import commit 224bd1bf2a0cbc25977e2212eac4ea7523353a37 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Fri Jul 1 11:21:52 2016 +0200 Create ancillary intrumentation import for the voyage commit 6ec47debd752b4d10d82520fc64b5473346d5bd9 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Thu Jun 30 17:52:05 2016 +0200 Handle duplication on elementary cell (refs #2246) commit b6ba2a92f48c91a37f47571914ec24fef20a6db2 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Thu Jun 30 17:18:19 2016 +0200 Handle duplication on elementary cell (refs #2246) commit e8830cb1a132c5f8404ce8855cf318a252450d3c Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Thu Jun 30 17:16:40 2016 +0200 Handle duplication on elementary cell (refs #2246) commit c5a4572a2196e00ba6723db90b66015b282772b4 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Wed Jun 29 19:00:08 2016 +0200 Add forgotten columns (refs #8370) commit d0a307cc5d176ab10698a6ca8c4009f35fe5648a Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Wed Jun 29 15:32:43 2016 +0200 Create basic import AncillaryInstrumentation for Mooring commit d25c1eb6de81b738a38da8a4d11bd933303f924d Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Wed Jun 29 11:38:41 2016 +0200 Add DataAcousticProvider in the model to avoid cast commit 27d730389ebabbc409c90bc7ca6550da896c4098 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Wed Jun 29 10:35:11 2016 +0200 Refactoring on echotype import to make place for mooring commit 6761c1d0e8ad9633b0ae0f0d12d82f17d41526ac Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Wed Jun 29 09:17:44 2016 +0200 Refactoring on result import to make place for mooring commit 249211a45d75e26d893eba25d933ee301fc5bac3 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Tue Jun 28 16:55:04 2016 +0200 Fix delete import for mooring commit f2551429fc42c45c89c63e07f0815361b35bfafb Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Tue Jun 28 16:48:31 2016 +0200 Fix delete import for mooring commit 60bca11cdb1b4f758ff7191b624b54ec3e9fd237 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Tue Jun 28 16:26:03 2016 +0200 Refactoring avoid copy/paste on acoustic import for voyage and mooring commit 54ce56dc312ddf9ee58278a084c66f45b72c9712 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jun 27 17:37:47 2016 +0200 Update documentation for the mooring import commit 1ab58067ab13badc352d33da005f8a249e6427ac Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jun 27 17:12:09 2016 +0200 Move migration to 3.907 version commit de9a623de252cf8a0fc1fd3fd4797510a59d482f Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jun 27 16:32:51 2016 +0200 Move migration to 3.907 version commit 2459a0e80bd0f5fbf3d9ee68db304ca800b2a8bf Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jun 27 16:22:50 2016 +0200 Improve the perfomance on search duplicate cell (ref #8165) commit 7f5fdb4ae28947464ae40ea6a837f53fee98aadf Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jun 27 16:19:29 2016 +0200 Fix test due to mooring acoustic import test commit 5ae4575713b7d9ca8a23d9de7eb4bf11e07c6628 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jun 27 11:27:08 2016 +0200 Fix test due to mooring acoustic import test commit 0bc16f1a63df48eba17eaa5bcc5df1c5256f4724 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jun 27 11:20:29 2016 +0200 Add migration for database for the mooring commit b6c42489f2dd77e09287a46a52e2c9cd0063e930 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jun 27 10:46:21 2016 +0200 Add test on remove mooring acoustic import commit cad618b84113b58fc81df5d59e9b4808eb0d6be7 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jun 27 10:31:30 2016 +0200 Force migration commit d1c2fe10b8e29199bc6fcabd58882bd518f1142b Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jun 27 10:29:57 2016 +0200 Force migration commit ac4d5cc98ff1429688ff380cb3354b649f56fe78 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jun 27 10:27:58 2016 +0200 Add test on remove mooring acoustic import commit be9b0fc02d223cc7ac32f4e82951dade168f22bc Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Fri Jun 24 18:21:30 2016 +0200 Add test on remove mooring import commit a1cb8d26e38281645f701c8faf3587f0525fb710 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Fri Jun 24 11:19:43 2016 +0200 Add moring support in remove import commit 4c7ad65a708aa504862cbcf4741dbc333da252e0 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Thu Jun 23 17:23:01 2016 +0200 Add translate commit a7c65293d891c0053c42a023d65b5640a6f681cf Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Thu Jun 23 16:58:28 2016 +0200 Toggle visibility between voyages and morings commit d33669f3925f15e9cf0f68d3ba4bf8f933476d87 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Thu Jun 23 16:31:15 2016 +0200 Toggle visibility between voyages and morings commit 3f49ca8f43a7f01576d953d855ef24e945567a42 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Thu Jun 23 14:27:47 2016 +0200 Add support to display a mooring commit 8a4f1cca7c35f284b902a8c648005e1ab76af223 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Thu Jun 23 12:08:32 2016 +0200 Add support to display a mooring commit 6f27c0e3eac2f1d7487bbf08bd6a2106efc6957c Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Thu Jun 23 10:53:02 2016 +0200 Fix tooltip, delete quote in string commit 2071c678fdd954fd52be0d71c72dda764a3fd36c Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Thu Jun 23 10:19:05 2016 +0200 Fix error on Elementary cell when position is set at end commit e6c7d05dabb42c95f620e7099f210b9cdadf46e1 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Wed Jun 22 17:11:46 2016 +0200 Begin create table in dashboard for mooring commit c47f954b25d48a91f6df8c45dfdc9b91904366b0 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Wed Jun 22 14:00:38 2016 +0200 Fix description in modification logs commit 1b4499df211e78d5c4f0f5b721233138bdcdf4c7 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Wed Jun 22 11:12:19 2016 +0200 Finish mooring import forms commit bfe6e956569d5537c32ee3d61da37e6c7c5b99a4 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Wed Jun 22 10:32:53 2016 +0200 Create IT for mooring importation commit 26bbe2e1c2d99993a008eb6714b58e42f559c93d Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Tue Jun 21 17:51:58 2016 +0200 Fix UI after modification on remove strategies for mooring commit 240051e1a14b032e911ff001a3827abc1ef53458 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Tue Jun 21 17:19:40 2016 +0200 Add remove strategies for mooring (not tested) commit 05c4c41df776158addb3dd493529e00f0d37e26c Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Fri Jun 17 16:33:48 2016 +0200 Create mooring import service commit 7d474b13cde499f5fd52c0c7c6f07ac00918a842 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Thu Jun 16 16:45:36 2016 +0200 Add translation commit 05a6223f113658a73a57e73636f934f96086ef8c Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Tue Jun 14 16:45:12 2016 +0200 Implements accoustic data import for mooring commit 99e85b4c5c0c3010c3955780ef0f9718cdd0dae1 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Tue Jun 14 10:54:14 2016 +0200 Force input action for the validation commit c45b35009f82823808ca3a4a1bf4a8c73c5bec96 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jun 13 17:32:45 2016 +0200 Add form to import accoustics data for mooring commit cf4e9005129b8f3de2f8c941737f683fb45e6f6c Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jun 13 16:02:44 2016 +0200 Plug action but they are not implemented commit 2e685cbf6014e18e8f5e3ab68f6169c104980afe Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jun 13 13:48:49 2016 +0200 Plug action but they are not implemented commit fcb76c3eff4cd93577534a75de4a301321fd20a0 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jun 13 12:12:47 2016 +0200 Change style commit 06a112d3acc7085f8aca966067da42d4bc315b79 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jun 13 12:00:56 2016 +0200 Add new import mode for mooring Summary of changes: .../src/main/data/export-AgeCategory.csv | 5 + echobase-domain/src/main/data/export-Category.csv | 8 + echobase-domain/src/main/data/export-CellType.csv | 8 + .../src/main/data/export-DataMetadata.csv | 169 ++++++++++++++ echobase-domain/src/main/data/export-DataType.csv | 29 +++ .../src/main/data/export-DepthStratum.csv | 21 ++ echobase-domain/src/main/data/export-Gear.csv | 188 +++++++++++++++ .../src/main/data/export-GearMetadata.csv | 8 + .../src/main/data/export-SampleDataType.csv | 137 +++++++++++ .../src/main/data/export-SampleType.csv | 6 + .../src/main/data/export-SizeCategory.csv | 8 + echobase-domain/src/main/data/export-Species.csv | 256 +++++++++++++++++++++ echobase-domain/src/main/data/export-Strata.csv | 2 + .../src/main/data/export-TSParameters.csv | 134 +++++++++++ echobase-domain/src/main/data/export-Vessel.csv | 14 ++ .../src/main/data/export-VesselType.csv | 8 + .../echobase/config/EchoBaseConfiguration.java | 14 ++ .../config/EchoBaseConfigurationOption.java | 46 ++-- ...WorkingDbMigrationCallBackForVersion3_902.java} | 10 +- .../WorkingDbMigrationCallBackForVersion3_905.java | 21 ++ .../WorkingDbMigrationCallBackForVersion3_908.java | 21 ++ .../i18n/echobase-domain_en_GB.properties | 3 + .../i18n/echobase-domain_fr_FR.properties | 3 + .../migration/workingDb/3.906-add-indexes.sql | 1 + .../workingDb/h2/3.905-0-update-model.sql | 3 + .../workingDb/h2/3.905-2-migrate-voyage-ports.sql | 3 + .../migration/workingDb/pg/3.900-0-fix-types.sql | 4 +- .../pg/3.901-1-upgrade-importFile-table.sql | 2 +- .../workingDb/pg/3.905-0-update-model.sql | 3 + .../workingDb/pg/3.905-2-migrate-voyage-ports.sql | 3 + .../actions/MooringCommonsMooringImportAction.java | 1 + .../MooringAcousticsImportConfiguration.java | 1 - .../GearCharacteristicValuesImportModel.java | 21 ++ .../GearCharacteristicValuesImportRow.java | 21 ++ .../strategy/CatchesRemoveDataStrategy.java | 1 - .../strategy/OperationRemoveDataStrategy.java | 2 - .../strategy/ResultEsduRemoveDataStrategy.java | 2 - .../strategy/ResultMapFishRemoveDataStrategy.java | 1 - .../strategy/ResultMapOtherRemoveDataStrategy.java | 1 - .../strategy/ResultRegionRemoveDataStrategy.java | 1 - .../gis/templates/EchoBaseQGisTemplate.qgs | 2 +- echobase-ui/pom.xml | 1 + .../echobase/ui/EchoBaseApplicationContext.java | 22 ++ .../dbeditor/ImportGearCharacteristics.java | 21 ++ .../src/main/resources/embedded/update-echobase.sh | 54 +++++ pom.xml | 3 +- src/doc/reunions/reunion_2016-06-16.md | 97 ++++++++ src/site/en/rst/configure.rst.vm | 28 +-- src/site/en/rst/exportData.rst | 3 + src/site/en/rst/install.rst.vm | 5 + src/site/en/rst/update.rst.vm | 35 +-- src/site/resources/model/dataCommon.png | Bin 35480 -> 34469 bytes src/site/resources/model/dataMooring.png | Bin 11778 -> 14136 bytes src/site/rst/exportData.rst | 3 + src/site/rst/install.rst.vm | 20 +- src/site/rst/update.rst.vm | 29 ++- 56 files changed, 1415 insertions(+), 98 deletions(-) create mode 100644 echobase-domain/src/main/data/export-AgeCategory.csv create mode 100644 echobase-domain/src/main/data/export-Category.csv create mode 100644 echobase-domain/src/main/data/export-CellType.csv create mode 100644 echobase-domain/src/main/data/export-DataMetadata.csv create mode 100644 echobase-domain/src/main/data/export-DataType.csv create mode 100644 echobase-domain/src/main/data/export-DepthStratum.csv create mode 100644 echobase-domain/src/main/data/export-Gear.csv create mode 100644 echobase-domain/src/main/data/export-GearMetadata.csv create mode 100644 echobase-domain/src/main/data/export-SampleDataType.csv create mode 100644 echobase-domain/src/main/data/export-SampleType.csv create mode 100644 echobase-domain/src/main/data/export-SizeCategory.csv create mode 100644 echobase-domain/src/main/data/export-Species.csv create mode 100644 echobase-domain/src/main/data/export-Strata.csv create mode 100644 echobase-domain/src/main/data/export-TSParameters.csv create mode 100644 echobase-domain/src/main/data/export-Vessel.csv create mode 100644 echobase-domain/src/main/data/export-VesselType.csv copy echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/{WorkingDbMigrationCallBackForVersion3_903.java => WorkingDbMigrationCallBackForVersion3_902.java} (84%) create mode 100644 echobase-domain/src/main/resources/migration/workingDb/3.906-add-indexes.sql create mode 100755 echobase-ui/src/main/resources/embedded/update-echobase.sh create mode 100644 src/doc/reunions/reunion_2016-06-16.md -- 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/8180 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 06a112d3acc7085f8aca966067da42d4bc315b79 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jun 13 12:00:56 2016 +0200 Add new import mode for mooring --- .../{ImportMode.java => ImportMooringMode.java} | 20 ++++------- .../{ImportMode.java => ImportVoyageMode.java} | 6 ++-- .../ui/actions/importData/SelectImportType.java | 40 ++++++++++++++++------ .../main/resources/config/struts-importData.xml | 2 +- .../resources/i18n/echobase-ui_en_GB.properties | 3 ++ .../resources/i18n/echobase-ui_fr_FR.properties | 3 ++ .../WEB-INF/jsp/importData/selectImportType.jsp | 34 +++++++++++++----- 7 files changed, 72 insertions(+), 36 deletions(-) diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ImportMode.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ImportMooringMode.java similarity index 71% copy from echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ImportMode.java copy to echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ImportMooringMode.java index 2b7c76f..7b6d496 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ImportMode.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ImportMooringMode.java @@ -26,21 +26,15 @@ import fr.ifremer.echobase.entities.ImportType; import static org.nuiton.i18n.I18n.n; /** - * To define the mode of import data (says files to be imported). + * To define the mode of import data for mooring (says files to be imported). * - * @author Tony Chemit - chemit@codelutin.com - * @since 0.2 + * @author Julien Ruchaud - ruchaud@codelutin.com + * @since 0.3 */ -public enum ImportMode implements I18nAble { +public enum ImportMooringMode implements I18nAble { - /** Import Voyage / Transit / Transect. */ - Common(n("echobase.common.importType.common")), - - /** Import operations common data. */ - Operation(ImportType.OPERATION.getI18nKey()), - - /** Import catches data (unsorted, total, but no individual ones). */ - Catches(ImportType.CATCHES.getI18nKey()), + /** Import Mooring. */ + Mooring(n("echobase.common.importType.mooring")), /** Import accoustic data (Cells ESDU and Elementary). */ Acoustic(ImportType.ACOUSTIC.getI18nKey()), @@ -50,7 +44,7 @@ public enum ImportMode implements I18nAble { private final String i18nKey; - ImportMode(String i18nKey) { + ImportMooringMode(String i18nKey) { this.i18nKey = i18nKey; } diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ImportMode.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ImportVoyageMode.java similarity index 90% rename from echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ImportMode.java rename to echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ImportVoyageMode.java index 2b7c76f..6812c5a 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ImportMode.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ImportVoyageMode.java @@ -26,12 +26,12 @@ import fr.ifremer.echobase.entities.ImportType; import static org.nuiton.i18n.I18n.n; /** - * To define the mode of import data (says files to be imported). + * To define the mode of import data for voyage (says files to be imported). * * @author Tony Chemit - chemit@codelutin.com * @since 0.2 */ -public enum ImportMode implements I18nAble { +public enum ImportVoyageMode implements I18nAble { /** Import Voyage / Transit / Transect. */ Common(n("echobase.common.importType.common")), @@ -50,7 +50,7 @@ public enum ImportMode implements I18nAble { private final String i18nKey; - ImportMode(String i18nKey) { + ImportVoyageMode(String i18nKey) { this.i18nKey = i18nKey; } diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/SelectImportType.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/SelectImportType.java index 49b81fe..4e94e0e 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/SelectImportType.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/SelectImportType.java @@ -36,29 +36,47 @@ public class SelectImportType extends EchoBaseActionSupport { private static final long serialVersionUID = 1L; - protected ImportMode mode; + protected ImportVoyageMode voyageMode; + protected ImportMooringMode mooringMode; - public void setMode(ImportMode mode) { - this.mode = mode; + public ImportVoyageMode getVoyageMode() { + return voyageMode; } - public ImportMode getMode() { - return mode; + public void setVoyageMode(ImportVoyageMode voyageMode) { + this.voyageMode = voyageMode; + } + + public ImportMooringMode getMooringMode() { + return mooringMode; + } + + public void setMooringMode(ImportMooringMode mooringMode) { + this.mooringMode = mooringMode; } /** Universe of possible import modes. */ - protected Map<String, String> modes; + protected Map<String, String> voyageModes; + protected Map<String, String> mooringModes; - public Map<String, String> getModes() { - return modes; + public Map<String, String> getVoyageModes() { + return voyageModes; + } + + public Map<String, String> getMooringModes() { + return mooringModes; } @Override public String input() throws Exception { - modes = decoratorService.decorateEnums(ImportMode.values()); + voyageModes = decoratorService.decorateEnums(ImportVoyageMode.values()); + mooringModes = decoratorService.decorateEnums(ImportMooringMode.values()); - if (mode == null) { - mode = ImportMode.Common; + if (voyageMode == null) { + voyageMode = ImportVoyageMode.Common; + } + if (mooringMode == null) { + mooringMode = ImportMooringMode.Mooring; } return INPUT; } diff --git a/echobase-ui/src/main/resources/config/struts-importData.xml b/echobase-ui/src/main/resources/config/struts-importData.xml index 67c1dc5..8527adb 100644 --- a/echobase-ui/src/main/resources/config/struts-importData.xml +++ b/echobase-ui/src/main/resources/config/struts-importData.xml @@ -34,7 +34,7 @@ <result name="input">/WEB-INF/jsp/importData/selectImportType.jsp</result> <result type="redirectAction"> <param name="namespace">/importData</param> - <param name="actionName">configure${mode}</param> + <param name="actionName">configure${voyageMode}</param> <param name="method">input</param> </result> </action> diff --git a/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties b/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties index 85968b5..7746c55 100644 --- a/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties +++ b/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties @@ -106,6 +106,7 @@ echobase.common.importType=Import type echobase.common.importType.acoustic= echobase.common.importType.catches= echobase.common.importType.common=Voyage / Transit / Transect data import +echobase.common.importType.mooring=Mooring import echobase.common.importType.operation= echobase.common.importType.results=Results import echobase.common.importUser=Import user @@ -343,6 +344,8 @@ echobase.legend.exportCoser.resume=Resume of Coser export echobase.legend.exportDb.configuration.files=Export configuration echobase.legend.exportDb.resume=Resume of database export echobase.legend.importData.configuration.selectImportType=Type of import selection +echobase.legend.importData.configuration.selectImportTypeMooring=Type of import selection for mooring +echobase.legend.importData.configuration.selectImportTypeVoyage=Type of import selection for voyage echobase.legend.importData.configure=Import configuration echobase.legend.importData.createMission=Mission caracteristics echobase.legend.importData.result.resume=Results of data import diff --git a/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties b/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties index ee9d915..6613d2c 100644 --- a/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties +++ b/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties @@ -106,6 +106,7 @@ echobase.common.importType=Type d'import echobase.common.importType.acoustic= echobase.common.importType.catches= echobase.common.importType.common=Import des données de Voyage / Transit / Transect +echobase.common.importType.mooring=Import des bouées echobase.common.importType.operation= echobase.common.importType.results=Import des résultats echobase.common.importUser=Utilisateur @@ -346,6 +347,8 @@ echobase.legend.exportCoser.resume=Résumé de l'export Coser echobase.legend.exportDb.configuration.files=Configuration de l'export echobase.legend.exportDb.resume=Résumé de l'export de base echobase.legend.importData.configuration.selectImportType=Sélection du type d'import +echobase.legend.importData.configuration.selectImportTypeMooring=Sélection du type d'import pour les bouées +echobase.legend.importData.configuration.selectImportTypeVoyage=Sélection du type d'import pour les voyages echobase.legend.importData.configure=Configurer l'import echobase.legend.importData.createMission=Caractéristiques de la mission echobase.legend.importData.result.resume=Résultats de l'import de données diff --git a/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/selectImportType.jsp b/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/selectImportType.jsp index d3c5371..cbb64ee 100644 --- a/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/selectImportType.jsp +++ b/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/selectImportType.jsp @@ -34,26 +34,44 @@ jQuery(document).ready(function () { - $('[name="mode"]').change(function (event) { + $('[name="voyageMode"]').change(function (event) { updateMode(this.value); }); - updateMode($('[name="mode"][checked="checked"]').val()); + updateMode($('[name="voyageMode"][checked="checked"]').val()); + + $('[name="mooringMode"]').change(function (event) { + updateMode(this.value); + }); + updateMode($('[name="mooringMode"][checked="checked"]').val()); }); </script> <s:form namespace="/importData" method="GET"> - <s:submit action="createMission" key='echobase.action.createNewMission' - method="input"/> + <s:submit action="createMission" key='echobase.action.createNewMission' + method="input"/> <fieldset> <legend> - <s:text name="echobase.legend.importData.configuration.selectImportType"/> + <s:text name="echobase.legend.importData.configuration.selectImportTypeVoyage"/> </legend> - <s:radio key='mode' list="modes" cssClass="cleanBoth" + <s:radio key='voyageMode' list="voyageModes" cssClass="cleanBoth" label='%{getText("echobase.common.importDataMode")}' requiredLabel="true" template="myradiomap"/> + + <s:submit action="selectImportType" key='echobase.action.configureImport' + align="right"/> + </fieldset> + + <fieldset> + <legend> + <s:text name="echobase.legend.importData.configuration.selectImportTypeMooring"/> + </legend> + <s:radio key='mooringMode' list="mooringModes" cssClass="cleanBoth" + label='%{getText("echobase.common.importDataMode")}' + requiredLabel="true" template="myradiomap"/> + + <s:submit action="selectImportType" key='echobase.action.configureImport' + align="right"/> </fieldset> - <s:submit action="selectImportType" key='echobase.action.configureImport' - align="right"/> </s:form> -- 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/8180 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit fcb76c3eff4cd93577534a75de4a301321fd20a0 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jun 13 12:12:47 2016 +0200 Change style --- echobase-ui/src/main/webapp/css/screen.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/echobase-ui/src/main/webapp/css/screen.css b/echobase-ui/src/main/webapp/css/screen.css index 86d54d9..c322bc7 100644 --- a/echobase-ui/src/main/webapp/css/screen.css +++ b/echobase-ui/src/main/webapp/css/screen.css @@ -248,7 +248,7 @@ div.errorMessage { -moz-text-decoration-color: -moz-use-text-color; -moz-text-decoration-line: none; -moz-text-decoration-style: solid; -} *// +} */ #footer ul li a:hover { text-decoration:underline; } @@ -297,14 +297,14 @@ ul.toolbar li { float:left; } -ul#mode_ul { +ul#voyageMode_ul, ul#mooringMode_ul { margin-bottom: 5px; margin-left: 5px; margin-right: 5px; margin-top: 5px; padding-left: 5px; } -ul#mode_ul li { +ul#voyageMode_ul li, ul#mooringMode_ul li { list-style-image: none; list-style-position: outside; list-style-type: 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/8180 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 2e685cbf6014e18e8f5e3ab68f6169c104980afe Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jun 13 13:48:49 2016 +0200 Plug action but they are not implemented --- .../ui/actions/importData/ImportMooringMode.java | 4 +-- .../main/resources/config/struts-importData.xml | 2 +- .../resources/i18n/echobase-ui_en_GB.properties | 1 + .../resources/i18n/echobase-ui_fr_FR.properties | 1 + .../WEB-INF/jsp/importData/selectImportType.jsp | 40 +++++++--------------- 5 files changed, 18 insertions(+), 30 deletions(-) diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ImportMooringMode.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ImportMooringMode.java index 7b6d496..3bbf379 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ImportMooringMode.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ImportMooringMode.java @@ -37,10 +37,10 @@ public enum ImportMooringMode implements I18nAble { Mooring(n("echobase.common.importType.mooring")), /** Import accoustic data (Cells ESDU and Elementary). */ - Acoustic(ImportType.ACOUSTIC.getI18nKey()), + MooringAcoustic(ImportType.ACOUSTIC.getI18nKey()), /** Import results. */ - Results(n("echobase.common.importType.results")); + MooringResults(n("echobase.common.importType.results")); private final String i18nKey; diff --git a/echobase-ui/src/main/resources/config/struts-importData.xml b/echobase-ui/src/main/resources/config/struts-importData.xml index 8527adb..ea02e23 100644 --- a/echobase-ui/src/main/resources/config/struts-importData.xml +++ b/echobase-ui/src/main/resources/config/struts-importData.xml @@ -34,7 +34,7 @@ <result name="input">/WEB-INF/jsp/importData/selectImportType.jsp</result> <result type="redirectAction"> <param name="namespace">/importData</param> - <param name="actionName">configure${voyageMode}</param> + <param name="actionName">configure${voyageMode}${mooringMode}</param> <param name="method">input</param> </result> </action> diff --git a/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties b/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties index 7746c55..7c1cf2e 100644 --- a/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties +++ b/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties @@ -9,6 +9,7 @@ echobase.action.create=Create echobase.action.createEmbeddedApplication=Create a portable database echobase.action.createMission=Create mission echobase.action.createNewMission=Create a new mission +echobase.action.createNewMooring=Create a new mooring echobase.action.createPostgresDb=Create database echobase.action.createSqlQuery=Save echobase.action.createWorkingDbConfiguration=Save diff --git a/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties b/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties index 6613d2c..4842e20 100644 --- a/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties +++ b/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties @@ -9,6 +9,7 @@ echobase.action.create=Créer echobase.action.createEmbeddedApplication=Créer l'application echobase.action.createMission=Créer la mission echobase.action.createNewMission=Créer une nouvelle mission +echobase.action.createNewMooring=Créer une nouvelle bouée echobase.action.createPostgresDb=Créer la base echobase.action.createSqlQuery=Enregistrer echobase.action.createWorkingDbConfiguration=Enregistrer diff --git a/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/selectImportType.jsp b/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/selectImportType.jsp index cbb64ee..98b924c 100644 --- a/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/selectImportType.jsp +++ b/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/selectImportType.jsp @@ -23,33 +23,11 @@ <title><s:text name="echobase.title.importData.selectImportType"/></title> -<script type="text/javascript"> - - function updateMode(newValue) { - // change the action target - $('#selectImportType_configure').attr( - 'name', - 'action:configure' + newValue + '-input'); - } - - jQuery(document).ready(function () { - - $('[name="voyageMode"]').change(function (event) { - updateMode(this.value); - }); - updateMode($('[name="voyageMode"][checked="checked"]').val()); - - $('[name="mooringMode"]').change(function (event) { - updateMode(this.value); - }); - updateMode($('[name="mooringMode"][checked="checked"]').val()); - }); -</script> - <s:form namespace="/importData" method="GET"> - <s:submit action="createMission" key='echobase.action.createNewMission' - method="input"/> + <s:submit action="createMission" key='echobase.action.createNewMission' + method="input"/> + <fieldset> <legend> <s:text name="echobase.legend.importData.configuration.selectImportTypeVoyage"/> @@ -61,8 +39,12 @@ <s:submit action="selectImportType" key='echobase.action.configureImport' align="right"/> </fieldset> - - <fieldset> + +</s:form> + +<s:form namespace="/importData" method="GET"> + + <fieldset> <legend> <s:text name="echobase.legend.importData.configuration.selectImportTypeMooring"/> </legend> @@ -70,8 +52,12 @@ label='%{getText("echobase.common.importDataMode")}' requiredLabel="true" template="myradiomap"/> + <s:submit action="createMooring" key='echobase.action.createNewMooring' + method="input" align="right"/> + <s:submit action="selectImportType" key='echobase.action.configureImport' align="right"/> </fieldset> </s:form> + -- 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/8180 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit cf4e9005129b8f3de2f8c941737f683fb45e6f6c Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jun 13 16:02:44 2016 +0200 Plug action but they are not implemented --- .../echobase/entities/data/MooringImpl.java | 18 ++++ .../services/service/UserDbPersistenceService.java | 13 +++ .../MooringCodeAlreadyExistException.java | 31 ++++++ .../service/importdata/MooringService.java | 61 +++++++++++ .../ui/actions/importData/CreateMooring.java | 117 +++++++++++++++++++++ .../ui/actions/importData/ImportMooringMode.java | 3 - .../ui/actions/importData/SelectImportType.java | 2 +- .../main/resources/config/struts-importData.xml | 12 +++ .../resources/i18n/echobase-ui_en_GB.properties | 20 ++++ .../resources/i18n/echobase-ui_fr_FR.properties | 20 ++++ .../WEB-INF/jsp/importData/createMooring.jsp | 103 ++++++++++++++++++ 11 files changed, 396 insertions(+), 4 deletions(-) diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/MooringImpl.java b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/MooringImpl.java new file mode 100644 index 0000000..6adea21 --- /dev/null +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/MooringImpl.java @@ -0,0 +1,18 @@ +package fr.ifremer.echobase.entities.data; + +/** + * Default implementation of {@link Mooring}. + * + * @author Julien Ruchaud - ruchaud@codelutin.com + * @since 0.5 + */ +public class MooringImpl extends MooringAbstract { + + private static final long serialVersionUID = 4049916052281439032L; + + public MooringImpl() { + this.zunits = "m"; + this.projection = "WGS84"; + } + +} //MooringImpl diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java index ac72bf8..e4ab0ff 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java @@ -50,6 +50,7 @@ import fr.ifremer.echobase.entities.data.Echotype; import fr.ifremer.echobase.entities.data.GearMetadataValue; import fr.ifremer.echobase.entities.data.LengthAgeKey; import fr.ifremer.echobase.entities.data.LengthWeightKey; +import fr.ifremer.echobase.entities.data.Mooring; import fr.ifremer.echobase.entities.data.Operation; import fr.ifremer.echobase.entities.data.OperationMetadataValue; import fr.ifremer.echobase.entities.data.Result; @@ -707,6 +708,18 @@ public class UserDbPersistenceService extends EchoBaseServiceSupport { } //------------------------------------------------------------------------// + //--- Mooring ------------------------------------------------------------// + //------------------------------------------------------------------------// + + public boolean isMooringExistByCode(String code) { + return persistenceContext.getMooringDao().forCodeEquals(code).exists(); + } + + public Mooring createMooring(Mooring mooring) { + return persistenceContext.getMooringDao().create(mooring); + } + + //------------------------------------------------------------------------// //--- Mission ------------------------------------------------------------// //------------------------------------------------------------------------// diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/MooringCodeAlreadyExistException.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/MooringCodeAlreadyExistException.java new file mode 100644 index 0000000..226a206 --- /dev/null +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/MooringCodeAlreadyExistException.java @@ -0,0 +1,31 @@ +/* + * #%L + * EchoBase :: Services + * %% + * Copyright (C) 2011 - 2012 Ifremer, Codelutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * #L% + */ +package fr.ifremer.echobase.services.service.importdata; + +/** + * Execption throws when create mooring with same code. + * + * @author Julien Ruchaud - ruchaud@codelutin.com + * @since 0.5 + */ +public class MooringCodeAlreadyExistException extends Exception { + private static final long serialVersionUID = 1L; +} diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/MooringService.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/MooringService.java new file mode 100644 index 0000000..7e600e7 --- /dev/null +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/MooringService.java @@ -0,0 +1,61 @@ +/* + * #%L + * EchoBase :: Services + * %% + * Copyright (C) 2011 - 2012 Ifremer, Codelutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * #L% + */ +package fr.ifremer.echobase.services.service.importdata; + +import com.google.common.base.Preconditions; +import fr.ifremer.echobase.EchoBaseTechnicalException; +import fr.ifremer.echobase.entities.data.Mooring; +import fr.ifremer.echobase.services.EchoBaseServiceSupport; +import fr.ifremer.echobase.services.service.UserDbPersistenceService; +import org.nuiton.topia.persistence.TopiaException; + +import javax.inject.Inject; + +/** + * Service to create mooring. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 0.5 + */ +public class MooringService extends EchoBaseServiceSupport { + + @Inject + protected UserDbPersistenceService persistenceService; + + public Mooring createMooring(Mooring mooring) throws MooringCodeAlreadyExistException { + + Preconditions.checkNotNull(mooring); + + try { + // check mission name is unique + boolean exists = persistenceService.isMissionExistByName(mooring.getCode()); + + if (exists) { + throw new MooringCodeAlreadyExistException(); + } + Mooring result = persistenceService.createMooring(mooring); + persistenceService.commit(); + return result; + } catch (TopiaException eee) { + throw new EchoBaseTechnicalException(eee); + } + } +} diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/CreateMooring.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/CreateMooring.java new file mode 100644 index 0000000..c4419dc --- /dev/null +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/CreateMooring.java @@ -0,0 +1,117 @@ +/* + * #%L + * EchoBase :: UI + * %% + * Copyright (C) 2011 - 2012 Ifremer, Codelutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * #L% + */ +package fr.ifremer.echobase.ui.actions.importData; + +import com.google.common.base.Preconditions; +import fr.ifremer.echobase.entities.data.Mooring; +import fr.ifremer.echobase.entities.data.MooringImpl; +import fr.ifremer.echobase.entities.references.Mission; +import fr.ifremer.echobase.services.service.UserDbPersistenceService; +import fr.ifremer.echobase.services.service.importdata.MooringCodeAlreadyExistException; +import fr.ifremer.echobase.services.service.importdata.MooringService; +import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport; +import java.util.Map; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import javax.inject.Inject; + +/** + * To create a new mooring + * + * @author Julien Ruchaud - ruchaud@codelutin.com + * @since 0.5 + */ +public class CreateMooring extends EchoBaseActionSupport { + + private static final long serialVersionUID = 1L; + + /** Logger. */ + private static final Log log = LogFactory.getLog(CreateMooring.class); + + /** Mooring to create. */ + protected Mooring mooring; + + protected String missionId; + + public Mooring getMooring() { + if (mooring == null) { + mooring = new MooringImpl(); + } + return mooring; + } + + /** Universe of existing missions. */ + protected Map<String, String> missions; + + public Map<String, String> getMissions() { + return missions; + } + + public void setMissionId(String missionId) { + this.missionId = missionId; + } + + public String getMissionId() { + return missionId; + } + + @Override + public final String input() throws Exception { + missions = userDbPersistenceService.loadSortAndDecorate(Mission.class); + return INPUT; + } + + @Override + public String execute() throws Exception { + + Preconditions.checkNotNull(mooring); + + String result = INPUT; + + try { + Mission mission = userDbPersistenceService.getMission(this.missionId); + mooring.setMission(mission); + Mooring mooringSaved = mooringService.createMooring(mooring); + + if (log.isInfoEnabled()) { + log.info("Created mooring : " + mooringSaved.getTopiaId()); + } + addFlashMessage( + t("echobase.information.mooring.created", mooringSaved.getCode())); + result = SUCCESS; + } catch (MooringCodeAlreadyExistException e) { + addFieldError("mooring.code", + t("echobase.error.mooring.code.already.exist")); + } + return result; + } + + //------------------------------------------------------------------------// + //-- Injected objects // + //------------------------------------------------------------------------// + + @Inject + protected transient MooringService mooringService; + + @Inject + protected transient UserDbPersistenceService userDbPersistenceService; +} diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ImportMooringMode.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ImportMooringMode.java index 3bbf379..dbd772e 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ImportMooringMode.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ImportMooringMode.java @@ -33,9 +33,6 @@ import static org.nuiton.i18n.I18n.n; */ public enum ImportMooringMode implements I18nAble { - /** Import Mooring. */ - Mooring(n("echobase.common.importType.mooring")), - /** Import accoustic data (Cells ESDU and Elementary). */ MooringAcoustic(ImportType.ACOUSTIC.getI18nKey()), diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/SelectImportType.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/SelectImportType.java index 4e94e0e..f88d748 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/SelectImportType.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/SelectImportType.java @@ -76,7 +76,7 @@ public class SelectImportType extends EchoBaseActionSupport { voyageMode = ImportVoyageMode.Common; } if (mooringMode == null) { - mooringMode = ImportMooringMode.Mooring; + mooringMode = ImportMooringMode.MooringAcoustic; } return INPUT; } diff --git a/echobase-ui/src/main/resources/config/struts-importData.xml b/echobase-ui/src/main/resources/config/struts-importData.xml index ea02e23..2effe4c 100644 --- a/echobase-ui/src/main/resources/config/struts-importData.xml +++ b/echobase-ui/src/main/resources/config/struts-importData.xml @@ -103,6 +103,18 @@ </result> </action> + <!-- CreateOrUpdate a new mooring --> + <action name="createMooring" + class="fr.ifremer.echobase.ui.actions.importData.CreateMooring"> + <interceptor-ref name="prepareParamsStackLogguedWithDb"/> + <result name="input">/WEB-INF/jsp/importData/createMooring.jsp</result> + <result type="redirectAction"> + <param name="namespace">/importData</param> + <param name="actionName">selectImportType</param> + <param name="method">input</param> + </result> + </action> + </package> </struts> diff --git a/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties b/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties index 7c1cf2e..7bb8f4a 100644 --- a/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties +++ b/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties @@ -8,6 +8,7 @@ echobase.action.connectToWorkingDb=Connect echobase.action.create=Create echobase.action.createEmbeddedApplication=Create a portable database echobase.action.createMission=Create mission +echobase.action.createMooring=Create mooring echobase.action.createNewMission=Create a new mission echobase.action.createNewMooring=Create a new mooring echobase.action.createPostgresDb=Create database @@ -67,7 +68,9 @@ echobase.common.cellPositionReference=Reference position for cell of echo-integr echobase.common.cellRegionAssociationFile= echobase.common.cellRegionResultFile= echobase.common.cellRegionsFile= +echobase.common.code=Code echobase.common.comment=Comment +echobase.common.comments=Comments echobase.common.communityIndicator=Community indicators echobase.common.confirmDelete=Confirm to delete selected data echobase.common.dataCentre=Data center @@ -75,9 +78,13 @@ echobase.common.dataCentreEmail=Data center email echobase.common.dataProcessing=DataProcessing echobase.common.dataProcessingNotes=Data processing notes echobase.common.datum=Datum +echobase.common.deploymentDate=Deployment date +echobase.common.depth=Depth echobase.common.description=Description echobase.common.digitThreshold=Digitization threshold echobase.common.distributionStatement=Distribution statement +echobase.common.downLimit=Down limit +echobase.common.eastLimit=East limit echobase.common.echotypeFile= echobase.common.email=E-mail echobase.common.entityId=ID @@ -132,8 +139,10 @@ echobase.common.modificationText=Last modification echobase.common.modificationUser=User echobase.common.moviesFile= echobase.common.name=Name +echobase.common.northLimit=North limit echobase.common.operationFile= echobase.common.operationMetadataFile= +echobase.common.operator=Operator echobase.common.organisationLevelAcknowledgements=organisationLevelAcknowledgements echobase.common.organisationReferences=Organisation contact echobase.common.password=Password @@ -146,14 +155,18 @@ echobase.common.principalInvestigatorEmail=Researcher e-mail echobase.common.processingDescription=Data processing description echobase.common.processingTemplate=Data processing template echobase.common.project=Project +echobase.common.projection=Projection echobase.common.publishable=Make the project publishable via Coser echobase.common.resultLabel=Results label +echobase.common.retrievalDate=Retrieval date echobase.common.selectall=Select All echobase.common.selectnone=Unselect All +echobase.common.siteName=Site name echobase.common.soundSpeedCalculationsER60=Sound speed calculations method (ER60 instrument) echobase.common.soundSpeedCalculationsME70=Sound speed calculation method (ME70 instrument) echobase.common.sounderConstant=Sounder constant (if relevant) echobase.common.source=Source +echobase.common.southLimit=South limit echobase.common.spatialAware=Is database spatial aware ? echobase.common.spatialStructureFound=Is database spatialized ? echobase.common.startEndDate=Start - End date @@ -167,13 +180,17 @@ echobase.common.transectGeospatialVerticalPositive=GeospatialVerticalPositive (t echobase.common.transectLicence=Data license (transect) echobase.common.transitFile= echobase.common.transitRelatedActivity=Transit related activities +echobase.common.units=Units +echobase.common.upLimit= echobase.common.user=User echobase.common.userName=User name echobase.common.vessel=Vessel echobase.common.voyage=Cruise echobase.common.voyageDescription=Description echobase.common.voyageFile= +echobase.common.westLimit=West limit echobase.common.zone=Zone (Coser) +echobase.common.zunits=Units up/down limit echobase.confirm.delete.query=Delete query echobase.confirm.delete.selected.importData=Delete selected imports echobase.confirm.delete.workingDbConfiguration=Delete working database configuration @@ -308,6 +325,7 @@ echobase.info.workingDbconfiguration.deleted=Working database configuration '%s' echobase.info.workingDbconfiguration.disconnected=Disconnected from working database '%s' echobase.info.workingDbconfiguration.spatialStructureAdded=Spatial layout added to working database. echobase.information.mission.created=Mission %s created +echobase.information.mooring.created=Mooring %s created echobase.information.one.file.required=Please provide at least one import file echobase.label.admin.user.create=User creation in process echobase.label.admin.user.delete=Deleting user @@ -349,6 +367,7 @@ echobase.legend.importData.configuration.selectImportTypeMooring=Type of import echobase.legend.importData.configuration.selectImportTypeVoyage=Type of import selection for voyage echobase.legend.importData.configure=Import configuration echobase.legend.importData.createMission=Mission caracteristics +echobase.legend.importData.createMooring=Mooring caracteristics echobase.legend.importData.result.resume=Results of data import echobase.legend.importDb.configuration=Configure import echobase.legend.importDb.resume=Results of database import @@ -406,6 +425,7 @@ echobase.title.confirm.deleteWorkingDbConfiguration=Delete a configuration echobase.title.connectToDbInformations=Database connection information echobase.title.createEmbeddedApplication=Create a portable database echobase.title.createMission=Create a mission +echobase.title.createMooring=Create a mooring echobase.title.dashboard=Dashboard echobase.title.dbEditor=Modify data echobase.title.dbEditor.read=Data display diff --git a/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties b/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties index 4842e20..d70d945 100644 --- a/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties +++ b/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties @@ -8,6 +8,7 @@ echobase.action.connectToWorkingDb=Se connecter echobase.action.create=Créer echobase.action.createEmbeddedApplication=Créer l'application echobase.action.createMission=Créer la mission +echobase.action.createMooring=Créer la bouée echobase.action.createNewMission=Créer une nouvelle mission echobase.action.createNewMooring=Créer une nouvelle bouée echobase.action.createPostgresDb=Créer la base @@ -67,7 +68,9 @@ echobase.common.cellPositionReference=Référentiel géographique des cellules d echobase.common.cellRegionAssociationFile= echobase.common.cellRegionResultFile= echobase.common.cellRegionsFile= +echobase.common.code=Code echobase.common.comment=Commentaire +echobase.common.comments=Commentaires echobase.common.communityIndicator=indicateurs de communauté echobase.common.confirmDelete=Confirmer la suppression de la donnée echobase.common.dataCentre=Centre de données @@ -75,9 +78,13 @@ echobase.common.dataCentreEmail=Courriel du centre de données echobase.common.dataProcessing=DataProcessing echobase.common.dataProcessingNotes=Notes sur le pré-traitement des données echobase.common.datum=Référenciel +echobase.common.deploymentDate=Date de déploiement +echobase.common.depth=Profondeur echobase.common.description=Description echobase.common.digitThreshold=Seuil de numérisation echobase.common.distributionStatement=Conditions de diffusion des données +echobase.common.downLimit=Limite basse +echobase.common.eastLimit=Limite Est echobase.common.echotypeFile= echobase.common.email=Courriel echobase.common.entityId=Identifiant de l'entité @@ -132,8 +139,10 @@ echobase.common.modificationText=Modification echobase.common.modificationUser=Utilisateur echobase.common.moviesFile= echobase.common.name=Nom +echobase.common.northLimit=Limite Nord echobase.common.operationFile= echobase.common.operationMetadataFile= +echobase.common.operator=Opérateur echobase.common.organisationLevelAcknowledgements=organisationLevelAcknowledgements echobase.common.organisationReferences=Références de l'organisation echobase.common.password=Mot de passe @@ -146,14 +155,18 @@ echobase.common.principalInvestigatorEmail=Courriel du chercheur echobase.common.processingDescription=Description de la méthode de pré-traitement des données echobase.common.processingTemplate=Intitulé de la méthode de pré-traitement des données echobase.common.project=Projet +echobase.common.projection=Projection echobase.common.publishable=Rendre le projet publiable via Coser echobase.common.resultLabel=Intitulé des résultats +echobase.common.retrievalDate=Date de récupération echobase.common.selectall=Tout sélectionner echobase.common.selectnone=Tout désélectionner +echobase.common.siteName=Nom du site echobase.common.soundSpeedCalculationsER60=Méthode de calcul de la célérité du son (ER60) echobase.common.soundSpeedCalculationsME70=Méthode de calcul de la célérité du son (ME70) echobase.common.sounderConstant=Constante sondeur (si besoin) echobase.common.source=Source +echobase.common.southLimit=Limite Sud echobase.common.spatialAware=Base spatialisée ? echobase.common.spatialStructureFound=Base spatialisée ? echobase.common.startEndDate=Date de début - fin @@ -167,13 +180,17 @@ echobase.common.transectGeospatialVerticalPositive=Direction de l'axe vertical d echobase.common.transectLicence=Licence pour la diffusion des données (transect) echobase.common.transitFile= echobase.common.transitRelatedActivity=Travaux réalisés pendant le transit +echobase.common.units=Unité +echobase.common.upLimit=Limite haute echobase.common.user=Utilisateur echobase.common.userName=Nom de l'utilisateur echobase.common.vessel=Navire echobase.common.voyage=Campagne echobase.common.voyageDescription=Description echobase.common.voyageFile= +echobase.common.westLimit=Limite Ouest echobase.common.zone=Zone (Coser) +echobase.common.zunits=Unité limite haute/basse echobase.confirm.delete.query=Confirmer la suppression de la requête echobase.confirm.delete.selected.importData=Confirmer la suppression des imports sélectionnés echobase.confirm.delete.workingDbConfiguration=Confirmer la suppression de la configuration suivante @@ -311,6 +328,7 @@ echobase.info.workingDbconfiguration.deleted=Configuration à la base de travail echobase.info.workingDbconfiguration.disconnected=Déconnexion de la base de travail '%s' echobase.info.workingDbconfiguration.spatialStructureAdded=La base a été spatialisée (ajout des tables echobase_cell_spatial et echobase_operation_spatial) echobase.information.mission.created=La mission %s a été créée +echobase.information.mooring.created=La bouée %s a été créée echobase.information.one.file.required=Veuillez fournir au moins un fichiers à importer echobase.label.admin.user.create=Création d'un utilisateur echobase.label.admin.user.delete=Suppression d'un utilisateur @@ -352,6 +370,7 @@ echobase.legend.importData.configuration.selectImportTypeMooring=Sélection du t echobase.legend.importData.configuration.selectImportTypeVoyage=Sélection du type d'import pour les voyages echobase.legend.importData.configure=Configurer l'import echobase.legend.importData.createMission=Caractéristiques de la mission +echobase.legend.importData.createMooring=Caractéristiques de la bouée echobase.legend.importData.result.resume=Résultats de l'import de données echobase.legend.importDb.configuration=Configuration de l'import echobase.legend.importDb.resume=Résumé de l'import de base de données @@ -409,6 +428,7 @@ echobase.title.confirm.deleteWorkingDbConfiguration=Supprimer la configuration echobase.title.connectToDbInformations=Informations de connexion à la base de données echobase.title.createEmbeddedApplication=Création de l'application embarquée echobase.title.createMission=Créer une mission +echobase.title.createMooring=Créer une bouée echobase.title.dashboard=Tableau de bord echobase.title.dbEditor=Modification des données echobase.title.dbEditor.read=Visualisation des données diff --git a/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/createMooring.jsp b/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/createMooring.jsp new file mode 100644 index 0000000..ac48a7f --- /dev/null +++ b/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/createMooring.jsp @@ -0,0 +1,103 @@ +<%-- + #%L + EchoBase :: UI + %% + Copyright (C) 2011 Ifremer, Codelutin + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + #L% + --%> +<%@page contentType="text/html" pageEncoding="UTF-8" %> +<%@ taglib prefix="s" uri="/struts-tags" %> +<%@ taglib prefix="sj" uri="/struts-jquery-tags" %> + +<title><s:text name="echobase.title.createMooring"/></title> + +<s:form namespace="/importData" method="POST"> + + <fieldset> + <legend> + <s:text name="echobase.legend.importData.createMooring"/> + </legend> + + <s:select key="missionId" requiredLabel="true" + label='%{getText("echobase.common.mission")}' + list="missions" headerKey="" headerValue=""/> + + <s:textfield key="mooring.code" size="40" requiredLabel="true" + label='%{getText("echobase.common.code")}'/> + + <s:textfield key="mooring.description" size="40" + label='%{getText("echobase.common.description")}'/> + + <s:textfield key="mooring.depth" + label='%{getText("echobase.common.depth")}'/> + + <s:textfield key="mooring.northLimit" + label='%{getText("echobase.common.northLimit")}'/> + + <s:textfield key="mooring.eastLimit" + label='%{getText("echobase.common.eastLimit")}'/> + + <s:textfield key="mooring.southLimit" + label='%{getText("echobase.common.southLimit")}'/> + + <s:textfield key="mooring.westLimit" + label='%{getText("echobase.common.westLimit")}'/> + + <s:textfield key="mooring.upLimit" + label='%{getText("echobase.common.upLimit")}'/> + + <s:textfield key="mooring.downLimit" + label='%{getText("echobase.common.downLimit")}'/> + + <s:textfield key="mooring.units" + label='%{getText("echobase.common.units")}'/> + + <s:textfield key="mooring.zunits" + label='%{getText("echobase.common.zunits")}'/> + + <s:textfield key="mooring.projection" + label='%{getText("echobase.common.projection")}'/> + + <sj:datepicker label='%{getText("echobase.common.deploymentDate")}' + key="mooring.deploymentDate" + value="%{mooring.deploymentDate}" + displayFormat="dd/mm/yy" timepicker="true" + timepickerShowSecond="true" + timepickerFormat="hh:mm:ss"/> + + <sj:datepicker label='%{getText("echobase.common.retrievalDate")}' + key="mooring.retrievalDate" + value="%{mooring.retrievalDate}" + displayFormat="dd/mm/yy" timepicker="true" + timepickerShowSecond="true" + timepickerFormat="hh:mm:ss"/> + + <s:textfield key="mooring.siteName" + label='%{getText("echobase.common.siteName")}'/> + + <s:textfield key="mooring.operator" + label='%{getText("echobase.common.operator")}'/> + + <s:textfield key="mooring.comments" size="40" + label='%{getText("echobase.common.comments")}'/> + + </fieldset> + + <br/> + + <s:submit action="createMooring" key='echobase.action.createMooring'/> + +</s:form> -- 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/8180 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit c45b35009f82823808ca3a4a1bf4a8c73c5bec96 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jun 13 17:32:45 2016 +0200 Add form to import accoustics data for mooring --- .../MooringAcousticsImportConfiguration.java | 228 +++++++++++++++++++++ .../importData/AbstractConfigureImport.java | 4 +- .../importData/ConfigureAcousticImport.java | 1 - ...rt.java => ConfigureMooringAcousticImport.java} | 33 ++- .../ConfigureMooringAcousticImport-validation.xml | 126 ++++++++++++ .../CreateMooring-createMooring-validation.xml | 41 ++++ .../resources/i18n/echobase-ui_en_GB.properties | 5 +- .../resources/i18n/echobase-ui_fr_FR.properties | 3 + .../importData/configureMooringAcousticImport.jsp | 120 +++++++++++ 9 files changed, 540 insertions(+), 21 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/configurations/MooringAcousticsImportConfiguration.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/configurations/MooringAcousticsImportConfiguration.java new file mode 100644 index 0000000..6033166 --- /dev/null +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/configurations/MooringAcousticsImportConfiguration.java @@ -0,0 +1,228 @@ +/* + * #%L + * EchoBase :: Services + * %% + * Copyright (C) 2011 - 2012 Ifremer, Codelutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * #L% + */ +package fr.ifremer.echobase.services.service.importdata.configurations; + +import fr.ifremer.echobase.entities.ImportType; +import fr.ifremer.echobase.io.InputFile; +import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; +import fr.ifremer.echobase.services.service.importdata.CellPositionReference; + +import java.util.Locale; + +import static org.nuiton.i18n.I18n.l; + +/** + * Configuration of a "accoustic datas" import for mooring. + * + * @author Julien Ruchaud - ruchaud@codelutin.com + * @since 0.5 + */ +public class MooringAcousticsImportConfiguration extends ImportDataConfigurationSupport { + + private static final long serialVersionUID = 1L; + /** Movies file to import. */ + protected final InputFile moviesFile; + /** Selected mooring id to find where to import datas. */ + protected String mooringId; + /** Flag to always add new dataAcquisition when a new instrument is found in movies file. */ + protected boolean addDataAcquisition = true; + /** Manual transceiverAcquisitionAbsorptionDescription. */ + protected String transceiverAcquisitionAbsorptionDescription = "(i) Equation: Francois and garrison 1982,(ii) CTD, (iii) nominal value for entire data set"; + /** Manual acquisitionSoftwareVersion (ER60 instrument). */ + protected String acquisitionSoftwareVersionER60; + /** Manual acquisitionSoftwareVersion (ME70 instrument). */ + protected String acquisitionSoftwareVersionME70; + /** Manual loggedDataFormat. */ + protected String loggedDataFormat = ".hac and .raw formats"; + /** Manual loggedDataDatatype. */ + protected String loggedDataDatatype = "‘raw’ digitisation samples"; + /** Manual pingDutyCycle. */ + protected String pingDutyCycle = "Ifremer's standard ping duty cycle"; + /** Manual soundSpeedCalculations (ER60 instrument). */ + protected String soundSpeedCalculationsER60 = "(i) Equation: Mackenzie (1980), (ii) CTD, (iii) nominal value for entire data set"; + /** Manual soundSpeedCalculations (ME70 instrument). */ + protected String soundSpeedCalculationsME70 = "(i) Equation: Mackenzie (1980), (ii) Hull-mounted thermosalinometer, (iii) surface absorption value recomputed every 30s and applied to the entire data set"; + /** Manual sounderConstant. */ + protected String sounderConstant = EchoBaseCsvUtil.NA; + /** Manual processingTemplate. */ + protected String processingTemplate; + /** Manual processingDescription. */ + protected String processingDescription; + /** Manual digitThreshold. */ + protected float digitThreshold = -100f; + /** Manual acousticDensityUnit. */ + protected String acousticDensityUnit = "sA"; + /** Manual notes. */ + protected String notes; + /** Cell position reference for esdu cell datas. */ + protected CellPositionReference cellPositionReference; + + + public MooringAcousticsImportConfiguration(Locale locale) { + moviesFile = InputFile.newFile(l(locale, "echobase.common.moviesFile")); + importType = ImportType.ACOUSTIC; + } + + public String getMooringId() { + return mooringId; + } + + public void setMooringId(String mooringId) { + this.mooringId = mooringId; + } + + public boolean isAddDataAcquisition() { + return addDataAcquisition; + } + + public void setAddDataAcquisition(boolean addDataAcquisition) { + this.addDataAcquisition = addDataAcquisition; + } + + public String getTransceiverAcquisitionAbsorptionDescription() { + return transceiverAcquisitionAbsorptionDescription; + } + + public void setTransceiverAcquisitionAbsorptionDescription(String transceiverAcquisitionAbsorptionDescription) { + this.transceiverAcquisitionAbsorptionDescription = transceiverAcquisitionAbsorptionDescription; + } + + public String getAcquisitionSoftwareVersionER60() { + return acquisitionSoftwareVersionER60; + } + + public void setAcquisitionSoftwareVersionER60(String acquisitionSoftwareVersionER60) { + this.acquisitionSoftwareVersionER60 = acquisitionSoftwareVersionER60; + } + + public String getAcquisitionSoftwareVersionME70() { + return acquisitionSoftwareVersionME70; + } + + public void setAcquisitionSoftwareVersionME70(String acquisitionSoftwareVersionME70) { + this.acquisitionSoftwareVersionME70 = acquisitionSoftwareVersionME70; + } + + public String getLoggedDataFormat() { + return loggedDataFormat; + } + + public void setLoggedDataFormat(String loggedDataFormat) { + this.loggedDataFormat = loggedDataFormat; + } + + public String getLoggedDataDatatype() { + return loggedDataDatatype; + } + + public void setLoggedDataDatatype(String loggedDataDatatype) { + this.loggedDataDatatype = loggedDataDatatype; + } + + public String getPingDutyCycle() { + return pingDutyCycle; + } + + public void setPingDutyCycle(String pingDutyCycle) { + this.pingDutyCycle = pingDutyCycle; + } + + public String getSoundSpeedCalculationsER60() { + return soundSpeedCalculationsER60; + } + + public void setSoundSpeedCalculationsER60(String soundSpeedCalculationsER60) { + this.soundSpeedCalculationsER60 = soundSpeedCalculationsER60; + } + + public String getSoundSpeedCalculationsME70() { + return soundSpeedCalculationsME70; + } + + public void setSoundSpeedCalculationsME70(String soundSpeedCalculationsME70) { + this.soundSpeedCalculationsME70 = soundSpeedCalculationsME70; + } + + public String getSounderConstant() { + return sounderConstant; + } + + public void setSounderConstant(String sounderConstant) { + this.sounderConstant = sounderConstant; + } + + public float getDigitThreshold() { + return digitThreshold; + } + + public void setDigitThreshold(float digitThreshold) { + this.digitThreshold = digitThreshold; + } + + public String getAcousticDensityUnit() { + return acousticDensityUnit; + } + + public void setAcousticDensityUnit(String acousticDensityUnit) { + this.acousticDensityUnit = acousticDensityUnit; + } + + public String getNotes() { + return notes; + } + + public void setNotes(String notes) { + this.notes = notes; + } + + public InputFile getMoviesFile() { + return moviesFile; + } + + public String getProcessingTemplate() { + return processingTemplate; + } + + public void setProcessingTemplate(String processingTemplate) { + this.processingTemplate = processingTemplate; + } + + public String getProcessingDescription() { + return processingDescription; + } + + public void setProcessingDescription(String processingDescription) { + this.processingDescription = processingDescription; + } + + public CellPositionReference getCellPositionReference() { + return cellPositionReference; + } + + public void setCellPositionReference(CellPositionReference cellPositionReference) { + this.cellPositionReference = cellPositionReference; + } + + @Override + public InputFile[] getInputFiles() { + return new InputFile[]{moviesFile}; + } +} diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractConfigureImport.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractConfigureImport.java index 49d1218..d1567ed 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractConfigureImport.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractConfigureImport.java @@ -22,7 +22,7 @@ package fr.ifremer.echobase.ui.actions.importData; import fr.ifremer.echobase.io.EchoBaseIOUtil; import fr.ifremer.echobase.io.InputFile; -import fr.ifremer.echobase.services.service.importdata.configurations.VoyageImportDataConfigurationSupport; +import fr.ifremer.echobase.services.service.importdata.configurations.ImportDataConfigurationSupport; import fr.ifremer.echobase.ui.actions.AbstractConfigureAction; import org.apache.commons.io.FileUtils; import org.apache.commons.logging.Log; @@ -38,7 +38,7 @@ import java.io.IOException; * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public abstract class AbstractConfigureImport<M extends VoyageImportDataConfigurationSupport> extends AbstractConfigureAction<M> { +public abstract class AbstractConfigureImport<M extends ImportDataConfigurationSupport> extends AbstractConfigureAction<M> { private static final long serialVersionUID = 1L; diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureAcousticImport.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureAcousticImport.java index 71c1d61..48efac2 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureAcousticImport.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureAcousticImport.java @@ -57,7 +57,6 @@ public class ConfigureAcousticImport extends AbstractConfigureImport<VoyageAcous cellPositionReferences = decoratorService.decorateEnums(CellPositionReference.values()); if (model.getCellPositionReference() == null) { - model.setCellPositionReference(CellPositionReference.START); } } diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureAcousticImport.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureMooringAcousticImport.java similarity index 68% copy from echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureAcousticImport.java copy to echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureMooringAcousticImport.java index 71c1d61..163875f 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureAcousticImport.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureMooringAcousticImport.java @@ -20,50 +20,49 @@ */ package fr.ifremer.echobase.ui.actions.importData; -import fr.ifremer.echobase.entities.data.Voyage; -import fr.ifremer.echobase.services.service.importdata.configurations.VoyageAcousticsImportConfiguration; +import fr.ifremer.echobase.entities.data.Mooring; import fr.ifremer.echobase.services.service.importdata.CellPositionReference; +import fr.ifremer.echobase.services.service.importdata.configurations.MooringAcousticsImportConfiguration; import java.io.File; import java.util.Map; /** - * Configure a accoustic data import. + * Configure a accoustic data import for mooring. * - * @author Tony Chemit - chemit@codelutin.com - * @since 0.3 + * @author Julien Ruchaud - ruchaud@codelutin.com + * @since 0.5 */ -public class ConfigureAcousticImport extends AbstractConfigureImport<VoyageAcousticsImportConfiguration> { +public class ConfigureMooringAcousticImport extends AbstractConfigureImport<MooringAcousticsImportConfiguration> { private static final long serialVersionUID = 1L; - /** Universe of existing voyages. */ - protected Map<String, String> voyages; + /** Universe of existing moorings. */ + protected Map<String, String> moorings; protected Map<String, String> cellPositionReferences; - public ConfigureAcousticImport() { - super(VoyageAcousticsImportConfiguration.class); + public ConfigureMooringAcousticImport() { + super(MooringAcousticsImportConfiguration.class); } @Override - protected VoyageAcousticsImportConfiguration createModel() { - return new VoyageAcousticsImportConfiguration(getLocale()); + protected MooringAcousticsImportConfiguration createModel() { + return new MooringAcousticsImportConfiguration(getLocale()); } @Override - protected void prepareInputAction(VoyageAcousticsImportConfiguration model) { - voyages = userDbPersistenceService.loadSortAndDecorate(Voyage.class); + protected void prepareInputAction(MooringAcousticsImportConfiguration model) { + moorings = userDbPersistenceService.loadSortAndDecorate(Mooring.class); cellPositionReferences = decoratorService.decorateEnums(CellPositionReference.values()); if (model.getCellPositionReference() == null) { - model.setCellPositionReference(CellPositionReference.START); } } - public Map<String, String> getVoyages() { - return voyages; + public Map<String, String> getMoorings() { + return moorings; } public Map<String, String> getCellPositionReferences() { diff --git a/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureMooringAcousticImport-validation.xml b/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureMooringAcousticImport-validation.xml new file mode 100644 index 0000000..7f74b8a --- /dev/null +++ b/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureMooringAcousticImport-validation.xml @@ -0,0 +1,126 @@ +<!-- + #%L + EchoBase :: UI + %% + Copyright (C) 2011 Ifremer, Codelutin + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + #L% + --> +<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN" + "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> +<validators> + + <field name="model.mooringId"> + <field-validator type="nrequiredstring"> + <message key="echobase.error.import.mooring.required"/> + </field-validator> + </field> + + <field name="model.cellPositionReference"> + <field-validator type="nrequired"> + <message key="echobase.error.import.cellPositionReference.required"/> + </field-validator> + </field> + + <field name="model.transceiverAcquisitionAbsorptionDescription"> + <field-validator type="nrequiredstring"> + <message + key="echobase.error.import.transceiverAcquisitionAbsorptionDescription.required"/> + </field-validator> + </field> + + <field name="model.acquisitionSoftwareVersionER60"> + <field-validator type="nrequiredstring"> + <message + key="echobase.error.import.acquisitionSoftwareVersionER60.required"/> + </field-validator> + </field> + + <field name="model.acquisitionSoftwareVersionME70"> + <field-validator type="nrequiredstring"> + <message + key="echobase.error.import.acquisitionSoftwareVersionME70.required"/> + </field-validator> + </field> + + <field name="model.loggedDataFormat"> + <field-validator type="nrequiredstring"> + <message key="echobase.error.import.loggedDataFormat.required"/> + </field-validator> + </field> + + <field name="model.loggedDataDatatype"> + <field-validator type="nrequiredstring"> + <message key="echobase.error.import.loggedDataDatatype.required"/> + </field-validator> + </field> + + <field name="model.pingDutyCycle"> + <field-validator type="nrequiredstring"> + <message key="echobase.error.import.pingDutyCycle.required"/> + </field-validator> + </field> + + <field name="model.soundSpeedCalculationsER60"> + <field-validator type="nrequiredstring"> + <message key="echobase.error.import.soundSpeedCalculationsER60.required"/> + </field-validator> + </field> + + <field name="model.soundSpeedCalculationsME70"> + <field-validator type="nrequiredstring"> + <message key="echobase.error.import.soundSpeedCalculationsME70.required"/> + </field-validator> + </field> + + <field name="model.sounderConstant"> + <field-validator type="nrequiredstring"> + <message key="echobase.error.import.sounderConstant.required"/> + </field-validator> + </field> + + <field name="model.processingTemplate"> + <field-validator type="nrequiredstring"> + <message + key="echobase.error.import.processingTemplate.required"/> + </field-validator> + </field> + + <field name="model.processingDescription"> + <field-validator type="nrequiredstring"> + <message + key="echobase.error.import.processingDescription.required"/> + </field-validator> + </field> + + <field name="model.acousticDensityUnit"> + <field-validator type="nrequiredstring"> + <message + key="echobase.error.import.acousticDensityUnit.required"/> + </field-validator> + </field> + + <field name="model.notes"> + <field-validator type="nrequiredstring"> + <message key="echobase.error.import.notes.required"/> + </field-validator> + </field> + + <field name="moviesFile"> + <field-validator type="nfieldexpression"> + <param name="expression">model.moviesFile.file!=null</param> + <message key="echobase.error.import.moviesFile.required"/> + </field-validator> + </field> + +</validators> diff --git a/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/CreateMooring-createMooring-validation.xml b/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/CreateMooring-createMooring-validation.xml new file mode 100644 index 0000000..87c9300 --- /dev/null +++ b/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/CreateMooring-createMooring-validation.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + #%L + EchoBase :: UI + %% + Copyright (C) 2011 - 2012 Ifremer, Codelutin + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + #L% + --> + + +<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN" + "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> + +<validators> + + <field name="mooring.code"> + <field-validator type="requiredstring"> + <message key="echobase.error.import.mooringCode.required"/> + </field-validator> + </field> + + <field name="missionId"> + <field-validator type="nrequiredstring"> + <message key="echobase.error.import.missionAbstract.required"/> + </field-validator> + </field> + +</validators> diff --git a/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties b/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties index 7bb8f4a..2a581d3 100644 --- a/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties +++ b/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties @@ -137,6 +137,7 @@ echobase.common.missionAbstract=Mission abstract echobase.common.modificationDate=Last modified date echobase.common.modificationText=Last modification echobase.common.modificationUser=User +echobase.common.mooring=Mooring echobase.common.moviesFile= echobase.common.name=Name echobase.common.northLimit=North limit @@ -181,7 +182,7 @@ echobase.common.transectLicence=Data license (transect) echobase.common.transitFile= echobase.common.transitRelatedActivity=Transit related activities echobase.common.units=Units -echobase.common.upLimit= +echobase.common.upLimit=Up limit echobase.common.user=User echobase.common.userName=User name echobase.common.vessel=Vessel @@ -224,6 +225,8 @@ echobase.error.import.mapsFile.required=La sélection d'un fichier Carte est obl echobase.error.import.mission.required=La sélection d'une mission est obligatoire echobase.error.import.missionAbstract.required=Le résumé de la mission est obligatoire echobase.error.import.missionName.required=Le nom de la mission est obligatoire +echobase.error.import.mooring.required= +echobase.error.import.mooringCode.required= echobase.error.import.moviesFile.required=La sélection d'un fichier Movies est obligatoire echobase.error.import.notes.required=Note des DataProcessing non renseigné echobase.error.import.oneImportFile.required=La sélection d'un fichier d'import est obligatoire diff --git a/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties b/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties index d70d945..576a37c 100644 --- a/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties +++ b/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties @@ -137,6 +137,7 @@ echobase.common.missionAbstract=Résumé de la mission echobase.common.modificationDate=Date de modification echobase.common.modificationText=Modification echobase.common.modificationUser=Utilisateur +echobase.common.mooring=Bouée echobase.common.moviesFile= echobase.common.name=Nom echobase.common.northLimit=Limite Nord @@ -225,6 +226,8 @@ echobase.error.import.mapsFile.required=La sélection d'un fichier Carte est obl echobase.error.import.mission.required=La sélection d'une mission est obligatoire echobase.error.import.missionAbstract.required=Le résumé de la mission est obligatoire echobase.error.import.missionName.required=Le nom de la mission est obligatoire +echobase.error.import.mooring.required= +echobase.error.import.mooringCode.required= echobase.error.import.moviesFile.required=La sélection d'un fichier Movies est obligatoire echobase.error.import.notes.required=Note des DataProcessing non renseigné echobase.error.import.oneImportFile.required=La sélection d'un fichier d'import est obligatoire diff --git a/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureMooringAcousticImport.jsp b/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureMooringAcousticImport.jsp new file mode 100644 index 0000000..cd7322c --- /dev/null +++ b/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureMooringAcousticImport.jsp @@ -0,0 +1,120 @@ +<%-- + #%L + EchoBase :: UI + %% + Copyright (C) 2011 Ifremer, Codelutin + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + #L% + --%> +<%@page contentType="text/html" pageEncoding="UTF-8" %> +<%@ taglib prefix="s" uri="/struts-tags" %> +<%@ taglib prefix="sj" uri="/struts-jquery-tags" %> +<title> + Configuration <s:text name="echobase.common.importType.acoustic"/> +</title> + +<script type="text/javascript" + src="<s:url value='/js/gridHelper.js' />"></script> + +<script type="text/javascript"> + + jQuery(document).ready(function () { + $.addCheckFileSize(<s:property value="uploadFileMaxLength"/>); + }); +</script> + +<s:form namespace="/importData" method="POST" enctype="multipart/form-data"> + + <fieldset> + <legend> + <s:text name="echobase.legend.importData.configure"/> + </legend> + + <div class="cleanBoth help"> + <s:a href="%{getDocumentation('importData.html', null)}" target="doc"> + <s:text name="echobase.action.show.import.documentation"/> + </s:a> + </div> + <br/> + + <s:select key="model.mooringId" requiredLabel="true" + label='%{getText("echobase.common.mooring")}' + list="moorings" headerKey="" headerValue=""/> + + <s:select key="model.cellPositionReference" requiredLabel="true" + label='%{getText("echobase.common.cellPositionReference")}' + list="cellPositionReferences" headerKey="" headerValue=""/> + + <s:checkbox key="model.addDataAcquisition" + label='%{getText("echobase.common.addDataAcquisition")}'/> + + <s:textfield key="model.transceiverAcquisitionAbsorptionDescription" + size="80" requiredLabel="true" + label='%{getText("echobase.common.transceiverAcquisitionAbsorptionDescription")}'/> + + <s:textfield key="model.acquisitionSoftwareVersionER60" size="80" + requiredLabel="true" + label='%{getText("echobase.common.acquisitionSoftwareVersionER60")}'/> + + <s:textfield key="model.acquisitionSoftwareVersionME70" size="80" + requiredLabel="true" + label='%{getText("echobase.common.acquisitionSoftwareVersionME70")}'/> + + <s:textfield key="model.loggedDataFormat" size="80" requiredLabel="true" + label='%{getText("echobase.common.loggedDataFormat")}'/> + + <s:textfield key="model.loggedDataDatatype" size="80" requiredLabel="true" + label='%{getText("echobase.common.loggedDataDatatype")}'/> + + <s:textfield key="model.pingDutyCycle" size="80" requiredLabel="true" + label='%{getText("echobase.common.pingDutyCycle")}'/> + + <s:textfield key="model.soundSpeedCalculationsER60" size="80" + requiredLabel="true" + label='%{getText("echobase.common.soundSpeedCalculationsER60")}'/> + + <s:textfield key="model.soundSpeedCalculationsME70" size="80" + requiredLabel="true" + label='%{getText("echobase.common.soundSpeedCalculationsME70")}'/> + + <s:textfield key="model.sounderConstant" size="80" requiredLabel="true" + label='%{getText("echobase.common.sounderConstant")}'/> + + <s:textfield key="model.processingTemplate" size="80" requiredLabel="true" + label='%{getText("echobase.common.processingTemplate")}'/> + + <s:textfield key="model.processingDescription" size="80" requiredLabel="true" + label='%{getText("echobase.common.processingDescription")}'/> + + <s:textfield key="model.digitThreshold" size="80" requiredLabel="true" + label='%{getText("echobase.common.digitThreshold")}'/> + + <s:textfield key="model.acousticDensityUnit" size="80" requiredLabel="true" + label='%{getText("echobase.common.acousticDensityUnit")}'/> + + <s:textfield key="model.notes" size="80" requiredLabel="true" + label='%{getText("echobase.common.dataProcessingNotes")}'/> + + <s:file key="moviesFile" requiredLabel="true" + label='%{getText("echobase.common.moviesFile")}'/> + + <s:textarea key="model.importNotes" cols="80" rows="5" + label='%{getText("echobase.common.importNotes")}'/> + </fieldset> + <br/> + <s:submit action="configureMooringAcoustic-execute" key='echobase.action.import'/> + +</s:form> + -- 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/8180 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 99e85b4c5c0c3010c3955780ef0f9718cdd0dae1 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Tue Jun 14 10:54:14 2016 +0200 Force input action for the validation --- .../java/fr/ifremer/echobase/ui/actions/importData/CreateMooring.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/CreateMooring.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/CreateMooring.java index c4419dc..e83b3d6 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/CreateMooring.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/CreateMooring.java @@ -21,6 +21,7 @@ package fr.ifremer.echobase.ui.actions.importData; import com.google.common.base.Preconditions; +import com.opensymphony.xwork2.interceptor.annotations.InputConfig; import fr.ifremer.echobase.entities.data.Mooring; import fr.ifremer.echobase.entities.data.MooringImpl; import fr.ifremer.echobase.entities.references.Mission; @@ -80,6 +81,7 @@ public class CreateMooring extends EchoBaseActionSupport { return INPUT; } + @InputConfig(methodName = "input") @Override public String execute() throws Exception { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm